diff --git a/DEPS b/DEPS index 0828a32..dfd0b61 100644 --- a/DEPS +++ b/DEPS
@@ -40,11 +40,11 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling Skia # and whatever else without interference from each other. - 'skia_revision': '005a970eb9d70e729cdebf0f79551577b112aa7b', + 'skia_revision': '6b65b98996ebc0a511aa46042607a291e6836bed', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling V8 # and whatever else without interference from each other. - 'v8_revision': '9bdb339df3c76f1635054806e81693630b375b45', + 'v8_revision': 'd4cbe5ee89a184263c5cb373c8380eb6126f56aa', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling swarming_client # and whatever else without interference from each other. @@ -64,7 +64,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling PDFium # and whatever else without interference from each other. - 'pdfium_revision': '2e1a32bc49f2b7b871cf0d04f25ec45b337f06fb', + 'pdfium_revision': '2b44441b1b01a809b6f14d44d64db9a52808cba9', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling openmax_dl # and whatever else without interference from each other. @@ -96,7 +96,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling catapult # and whatever else without interference from each other. - 'catapult_revision': '5d065952a0d8060166cecc73093775bf518966f7', + 'catapult_revision': '6539cc70d9e1b8b9c67a3b7ff6a1a0da7a5a961d', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling libFuzzer # and whatever else without interference from each other.
diff --git a/android_webview/browser/aw_safe_browsing_blocking_page.cc b/android_webview/browser/aw_safe_browsing_blocking_page.cc index 64ef66d6..c45f6bd5 100644 --- a/android_webview/browser/aw_safe_browsing_blocking_page.cc +++ b/android_webview/browser/aw_safe_browsing_blocking_page.cc
@@ -59,8 +59,8 @@ threat_details_in_progress_ = aw_browser_context->GetSafeBrowsingTriggerManager() ->StartCollectingThreatDetails( - safe_browsing::SafeBrowsingTriggerType::SECURITY_INTERSTITIAL, - web_contents, unsafe_resources[0], + safe_browsing::TriggerType::SECURITY_INTERSTITIAL, web_contents, + unsafe_resources[0], aw_browser_context->GetAwURLRequestContext(), /*history_service*/ nullptr, sb_error_ui()->get_error_display_options()); @@ -121,12 +121,11 @@ // to send the report. AwBrowserContext* aw_browser_context = AwBrowserContext::FromWebContents(web_contents()); - bool report_sent = - aw_browser_context->GetSafeBrowsingTriggerManager() - ->FinishCollectingThreatDetails( - safe_browsing::SafeBrowsingTriggerType::SECURITY_INTERSTITIAL, - web_contents(), delay, did_proceed, num_visits, - sb_error_ui()->get_error_display_options()); + bool report_sent = aw_browser_context->GetSafeBrowsingTriggerManager() + ->FinishCollectingThreatDetails( + safe_browsing::TriggerType::SECURITY_INTERSTITIAL, + web_contents(), delay, did_proceed, num_visits, + sb_error_ui()->get_error_display_options()); if (report_sent) { controller()->metrics_helper()->RecordUserInteraction(
diff --git a/android_webview/java/src/org/chromium/android_webview/AwContents.java b/android_webview/java/src/org/chromium/android_webview/AwContents.java index 4cf7eba4..0c52eabd 100644 --- a/android_webview/java/src/org/chromium/android_webview/AwContents.java +++ b/android_webview/java/src/org/chromium/android_webview/AwContents.java
@@ -2355,7 +2355,7 @@ } } - public void autofill(final SparseArray<String> values) { + public void autofill(final SparseArray<Object> values) { if (mAutofillProvider != null) { mAutofillProvider.autofill(values); }
diff --git a/ash/accelerators/accelerator_controller_unittest.cc b/ash/accelerators/accelerator_controller_unittest.cc index 84034f9..6519ab0 100644 --- a/ash/accelerators/accelerator_controller_unittest.cc +++ b/ash/accelerators/accelerator_controller_unittest.cc
@@ -1302,6 +1302,8 @@ {true, ui::VKEY_ESCAPE, ui::EF_COMMAND_DOWN, SHOW_TASK_MANAGER}, {true, ui::VKEY_K, ui::EF_SHIFT_DOWN | ui::EF_COMMAND_DOWN, SHOW_IME_MENU_BUBBLE}, + {true, ui::VKEY_H, ui::EF_COMMAND_DOWN | ui::EF_CONTROL_DOWN, + TOGGLE_HIGH_CONTRAST}, }; // The NEXT_IME accelerator requires multiple IMEs to be available. @@ -1313,7 +1315,11 @@ EXPECT_TRUE(ProcessInController(CreateAccelerator(data))); // Expect no notifications from the new accelerators. - EXPECT_TRUE(IsMessageCenterEmpty()); + if (data.action != TOGGLE_HIGH_CONTRAST) { + // The toggle high contrast accelerator displays a notification specific + // to the high contrast mode. + EXPECT_TRUE(IsMessageCenterEmpty()); + } // If the action is LOCK_SCREEN, we must reset the state by unlocking the // screen before we proceed testing the rest of accelerators.
diff --git a/ash/accelerators/accelerator_table.cc b/ash/accelerators/accelerator_table.cc index a4cc748..e3fc4d98 100644 --- a/ash/accelerators/accelerator_table.cc +++ b/ash/accelerators/accelerator_table.cc
@@ -69,7 +69,7 @@ TOUCH_HUD_CLEAR}, {true, ui::VKEY_P, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, TOUCH_HUD_PROJECTION_TOGGLE}, - {true, ui::VKEY_H, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN, + {true, ui::VKEY_H, ui::EF_COMMAND_DOWN | ui::EF_CONTROL_DOWN, TOGGLE_HIGH_CONTRAST}, {true, ui::VKEY_Z, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN, TOGGLE_SPOKEN_FEEDBACK}, @@ -203,7 +203,11 @@ // Deprecated in M59. {true, ui::VKEY_K, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN, - SHOW_IME_MENU_BUBBLE}}; + SHOW_IME_MENU_BUBBLE}, + + // Deprecated in M61. + {true, ui::VKEY_H, ui::EF_COMMAND_DOWN | ui::EF_SHIFT_DOWN, + TOGGLE_HIGH_CONTRAST}}; const size_t kDeprecatedAcceleratorsLength = arraysize(kDeprecatedAccelerators); @@ -219,7 +223,14 @@ IDS_SHORTCUT_TASK_MANAGER_NEW, true}, {SHOW_IME_MENU_BUBBLE, "Ash.Accelerators.Deprecated.ShowImeMenuBubble", IDS_DEPRECATED_SHOW_IME_BUBBLE_MSG, IDS_SHORTCUT_IME_BUBBLE_OLD, - IDS_SHORTCUT_IME_BUBBLE_NEW, true}}; + IDS_SHORTCUT_IME_BUBBLE_NEW, true}, + { + TOGGLE_HIGH_CONTRAST, "Ash.Accelerators.Deprecated.ToggleHighContrast", + IDS_DEPRECATED_TOGGLE_HIGH_CONTRAST_MSG, + IDS_SHORTCUT_TOGGLE_HIGH_CONTRAST_OLD, + IDS_SHORTCUT_TOGGLE_HIGH_CONTRAST_NEW, + false // Old accelerator was disabled immediately upon deprecation. + }}; const size_t kDeprecatedAcceleratorsDataLength = arraysize(kDeprecatedAcceleratorsData);
diff --git a/ash/ash_strings.grd b/ash/ash_strings.grd index 55586074..c56f701 100644 --- a/ash/ash_strings.grd +++ b/ash/ash_strings.grd
@@ -1034,6 +1034,12 @@ <message name="IDS_SHORTCUT_IME_BUBBLE_NEW" desc="the new shortcut to show the input options menu bubble in the shelf."> Search+Shift+K </message> + <message name="IDS_SHORTCUT_TOGGLE_HIGH_CONTRAST_OLD" desc="the old deprecated shortcut to toggle the high contrast display mode."> + Search+Shift+H + </message> + <message name="IDS_SHORTCUT_TOGGLE_HIGH_CONTRAST_NEW" desc="the new shortcut to toggle the high contrast display mode."> + Ctrl+Search+H + </message> <message name="IDS_DEPRECATED_LOCK_SCREEN_MSG" desc="Notification message to tell users about the deprecation of Ctrl+Shift+L shortcut to lock the screen."> The shortcut to lock the screen has changed. Please use <ph name="NEW_SHORTCUT">$1<ex>Search+L</ex></ph> instead of <ph name="OLD_SHORTCUT">$2<ex>Ctrl+Shift+L</ex></ph>. @@ -1046,11 +1052,14 @@ desc="Notification message to tell users about the deprecation of Alt+Shift+K shortcut to show the input options menu bubble in the shelf."> The shortcut to show the input options menu bubble in the shelf has changed. Please use <ph name="NEW_SHORTCUT">$1<ex>Search+Shift+K</ex></ph> instead of <ph name="OLD_SHORTCUT">$2<ex>Alt+Shift+K</ex></ph>. </message> + <message name="IDS_DEPRECATED_TOGGLE_HIGH_CONTRAST_MSG" desc="Notification message to tell users about the deprecation of Search+Shift+H shortcut to toggle the high contrast display mode."> + The shortcut to toggle High Contrast Mode has changed. Please use <ph name="NEW_SHORTCUT">$1<ex>Ctrl+Search+H</ex></ph> instead of <ph name="OLD_SHORTCUT">$2<ex>Search+Shift+H</ex></ph>. + </message> <!-- Notification that an accelerator was pressed, so the user knows how to toggle it back --> <message name="IDS_HIGH_CONTRAST_ACCEL_MSG" desc="Notification message to tell users that they just pressed the Search+Shift+H shortcut to toggle High Contrast Mode, and that pressing it again will toggle it off."> - High Contrast Mode enabled. Press Search+Shift+H again to toggle it off. + High Contrast Mode enabled. Press Ctrl+Search+H again to toggle it off. </message> <!-- Tray scale strings -->
diff --git a/ash/autoclick/mus/autoclick_application.cc b/ash/autoclick/mus/autoclick_application.cc index 78040882..b9e52e4 100644 --- a/ash/autoclick/mus/autoclick_application.cc +++ b/ash/autoclick/mus/autoclick_application.cc
@@ -90,13 +90,9 @@ AutoclickApplication::~AutoclickApplication() {} void AutoclickApplication::OnStart() { - aura_init_ = views::AuraInit::Create( + aura_init_ = base::MakeUnique<views::AuraInit>( context()->connector(), context()->identity(), "views_mus_resources.pak", std::string(), nullptr, views::AuraInit::Mode::AURA_MUS); - if (!aura_init_) { - context()->QuitNow(); - return; - } autoclick_controller_common_.reset(new AutoclickControllerCommon( base::TimeDelta::FromMilliseconds(kDefaultAutoclickDelayMs), this)); }
diff --git a/ash/mus/window_manager_application.cc b/ash/mus/window_manager_application.cc index 2f2d2ed..274c231e 100644 --- a/ash/mus/window_manager_application.cc +++ b/ash/mus/window_manager_application.cc
@@ -129,14 +129,10 @@ mojo_interface_factory::RegisterInterfaces( ®istry_, base::ThreadTaskRunnerHandle::Get()); - aura_init_ = views::AuraInit::Create( + aura_init_ = base::MakeUnique<views::AuraInit>( context()->connector(), context()->identity(), "ash_mus_resources.pak", "ash_mus_resources_200.pak", nullptr, views::AuraInit::Mode::AURA_MUS_WINDOW_MANAGER); - if (!aura_init_) { - context()->QuitNow(); - return; - } window_manager_ = base::MakeUnique<WindowManager>( context()->connector(), ash_config_, show_primary_host_on_connect_);
diff --git a/ash/touch_hud/mus/touch_hud_application.cc b/ash/touch_hud/mus/touch_hud_application.cc index 7bdd417..59f138ad 100644 --- a/ash/touch_hud/mus/touch_hud_application.cc +++ b/ash/touch_hud/mus/touch_hud_application.cc
@@ -69,11 +69,9 @@ TouchHudApplication::~TouchHudApplication() {} void TouchHudApplication::OnStart() { - aura_init_ = views::AuraInit::Create( + aura_init_ = base::MakeUnique<views::AuraInit>( context()->connector(), context()->identity(), "views_mus_resources.pak", std::string(), nullptr, views::AuraInit::Mode::AURA_MUS); - if (!aura_init_) - context()->QuitNow(); } void TouchHudApplication::OnBindInterface(
diff --git a/base/atomic_ref_count.h b/base/atomic_ref_count.h index cc56f5d..3ffa017 100644 --- a/base/atomic_ref_count.h +++ b/base/atomic_ref_count.h
@@ -62,42 +62,6 @@ std::atomic_int ref_count_; }; -// TODO(jbroman): Inline these functions once the above changes stick. - -// Increment a reference count by "increment", which must exceed 0. -inline void AtomicRefCountIncN(volatile AtomicRefCount* ptr, int increment) { - const_cast<AtomicRefCount*>(ptr)->Increment(increment); -} - -// Increment a reference count by 1. -inline void AtomicRefCountInc(volatile AtomicRefCount *ptr) { - const_cast<AtomicRefCount*>(ptr)->Increment(); -} - -// Decrement a reference count by 1 and return whether the result is non-zero. -// Insert barriers to ensure that state written before the reference count -// became zero will be visible to a thread that has just made the count zero. -inline bool AtomicRefCountDec(volatile AtomicRefCount *ptr) { - return const_cast<AtomicRefCount*>(ptr)->Decrement(); -} - -// Return whether the reference count is one. If the reference count is used -// in the conventional way, a refrerence count of 1 implies that the current -// thread owns the reference and no other thread shares it. This call performs -// the test for a reference count of one, and performs the memory barrier -// needed for the owning thread to act on the object, knowing that it has -// exclusive access to the object. -inline bool AtomicRefCountIsOne(volatile AtomicRefCount *ptr) { - return const_cast<AtomicRefCount*>(ptr)->IsOne(); -} - -// Return whether the reference count is zero. With conventional object -// referencing counting, the object will be destroyed, so the reference count -// should never be zero. Hence this is generally used for a debug check. -inline bool AtomicRefCountIsZero(volatile AtomicRefCount *ptr) { - return const_cast<AtomicRefCount*>(ptr)->IsZero(); -} - } // namespace base #endif // BASE_ATOMIC_REF_COUNT_H_
diff --git a/base/barrier_closure.cc b/base/barrier_closure.cc index d7c4f1f..4426bb9 100644 --- a/base/barrier_closure.cc +++ b/base/barrier_closure.cc
@@ -29,8 +29,8 @@ done_closure_(std::move(done_closure)) {} void BarrierInfo::Run() { - DCHECK(!AtomicRefCountIsZero(&num_callbacks_left_)); - if (!AtomicRefCountDec(&num_callbacks_left_)) + DCHECK(!num_callbacks_left_.IsZero()); + if (!num_callbacks_left_.Decrement()) std::move(done_closure_).Run(); }
diff --git a/base/memory/ref_counted.cc b/base/memory/ref_counted.cc index e1558f4..efc082c 100644 --- a/base/memory/ref_counted.cc +++ b/base/memory/ref_counted.cc
@@ -10,7 +10,7 @@ namespace { #if DCHECK_IS_ON() -AtomicRefCount g_cross_thread_ref_count_access_allow_count(0); +std::atomic_int g_cross_thread_ref_count_access_allow_count(0); #endif } // namespace @@ -18,7 +18,7 @@ namespace subtle { bool RefCountedThreadSafeBase::HasOneRef() const { - return AtomicRefCountIsOne(&ref_count_); + return ref_count_.IsOne(); } RefCountedThreadSafeBase::~RefCountedThreadSafeBase() { @@ -40,7 +40,7 @@ #if DCHECK_IS_ON() bool RefCountedBase::CalledOnValidSequence() const { return sequence_checker_.CalledOnValidSequence() || - !AtomicRefCountIsZero(&g_cross_thread_ref_count_access_allow_count); + g_cross_thread_ref_count_access_allow_count.load() != 0; } #endif @@ -48,11 +48,11 @@ #if DCHECK_IS_ON() ScopedAllowCrossThreadRefCountAccess::ScopedAllowCrossThreadRefCountAccess() { - AtomicRefCountInc(&g_cross_thread_ref_count_access_allow_count); + ++g_cross_thread_ref_count_access_allow_count; } ScopedAllowCrossThreadRefCountAccess::~ScopedAllowCrossThreadRefCountAccess() { - AtomicRefCountDec(&g_cross_thread_ref_count_access_allow_count); + --g_cross_thread_ref_count_access_allow_count; } #endif
diff --git a/base/memory/ref_counted.h b/base/memory/ref_counted.h index ae9b6f01..db9684f 100644 --- a/base/memory/ref_counted.h +++ b/base/memory/ref_counted.h
@@ -174,15 +174,15 @@ << " The first reference to such a object has to be made by AdoptRef or" << " MakeRefCounted."; #endif - AtomicRefCountInc(&ref_count_); + ref_count_.Increment(); } ALWAYS_INLINE bool ReleaseImpl() const { #if DCHECK_IS_ON() DCHECK(!in_dtor_); - DCHECK(!AtomicRefCountIsZero(&ref_count_)); + DCHECK(!ref_count_.IsZero()); #endif - if (!AtomicRefCountDec(&ref_count_)) { + if (!ref_count_.Decrement()) { #if DCHECK_IS_ON() in_dtor_ = true; #endif
diff --git a/base/message_loop/message_pump_fuchsia.cc b/base/message_loop/message_pump_fuchsia.cc index fc47815..61a9f9c 100644 --- a/base/message_loop/message_pump_fuchsia.cc +++ b/base/message_loop/message_pump_fuchsia.cc
@@ -32,7 +32,7 @@ } MessagePumpFuchsia::MessagePumpFuchsia() : keep_running_(true) { - CHECK(mx_port_create(MX_PORT_OPT_V2, &port_) == MX_OK); + CHECK(mx_port_create(0, &port_) == MX_OK); } MessagePumpFuchsia::~MessagePumpFuchsia() {
diff --git a/base/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc b/base/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc index f620683..00ac74c0 100644 --- a/base/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc +++ b/base/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc
@@ -23,8 +23,8 @@ #if defined(OS_WIN) #include <windows.h> -#include <objbase.h> +#include "base/win/com_init_util.h" #include "base/win/current_module.h" #endif // defined(OS_WIN) @@ -448,14 +448,8 @@ single_thread_task_runner_manager_->CreateCOMSTATaskRunnerWithTraits( "A", {TaskShutdownBehavior::BLOCK_SHUTDOWN}, GetParam()); - com_task_runner->PostTask( - FROM_HERE, BindOnce([]() { - HRESULT hr = CoInitializeEx(nullptr, COINIT_MULTITHREADED); - if (SUCCEEDED(hr)) { - ADD_FAILURE() << "COM STA was not initialized on this thread"; - CoUninitialize(); - } - })); + com_task_runner->PostTask(FROM_HERE, BindOnce(&win::AssertComApartmentType, + win::ComApartmentType::STA)); task_tracker_.Shutdown(); }
diff --git a/base/task_scheduler/task_scheduler_impl_unittest.cc b/base/task_scheduler/task_scheduler_impl_unittest.cc index 9866422..b9b8d13 100644 --- a/base/task_scheduler/task_scheduler_impl_unittest.cc +++ b/base/task_scheduler/task_scheduler_impl_unittest.cc
@@ -40,7 +40,7 @@ #endif // defined(OS_POSIX) #if defined(OS_WIN) -#include <objbase.h> +#include "base/win/com_init_util.h" #endif // defined(OS_WIN) namespace base { @@ -439,18 +439,12 @@ WaitableEvent task_ran(WaitableEvent::ResetPolicy::MANUAL, WaitableEvent::InitialState::NOT_SIGNALED); com_sta_task_runner->PostTask( - FROM_HERE, - Bind( - [](scoped_refptr<TaskRunner> single_thread_task_runner, - WaitableEvent* task_ran) { - HRESULT hr = CoInitializeEx(nullptr, COINIT_MULTITHREADED); - if (SUCCEEDED(hr)) { - ADD_FAILURE() << "COM STA was not initialized on this thread"; - CoUninitialize(); - } - task_ran->Signal(); - }, - com_sta_task_runner, Unretained(&task_ran))); + FROM_HERE, Bind( + [](WaitableEvent* task_ran) { + win::AssertComApartmentType(win::ComApartmentType::STA); + task_ran->Signal(); + }, + Unretained(&task_ran))); task_ran.Wait(); } #endif // defined(OS_WIN)
diff --git a/base/test/scoped_async_task_scheduler.cc b/base/test/scoped_async_task_scheduler.cc index f556d9be..3093599 100644 --- a/base/test/scoped_async_task_scheduler.cc +++ b/base/test/scoped_async_task_scheduler.cc
@@ -14,9 +14,15 @@ ScopedAsyncTaskScheduler::ScopedAsyncTaskScheduler() { DCHECK(!TaskScheduler::GetInstance()); - // Instantiate a TaskScheduler with 1 thread in each of its 4 pools. Threads + // Instantiate a TaskScheduler with 2 threads in each of its 4 pools. Threads // stay alive even when they don't have work. - constexpr int kMaxThreads = 1; + // Each pool uses two threads to prevent deadlocks in unit tests that have a + // sequence that uses WithBaseSyncPrimitives() to wait on the result of + // another sequence. This isn't perfect (doesn't solve wait chains) but solves + // the basic use case for now. + // TODO(fdoray/jeffreyhe): Make the TaskScheduler dynamically replace blocked + // threads and get rid of this limitation. http://crbug.com/738104 + constexpr int kMaxThreads = 2; const TimeDelta kSuggestedReclaimTime = TimeDelta::Max(); const SchedulerWorkerPoolParams worker_pool_params( SchedulerWorkerPoolParams::StandbyThreadPolicy::ONE, kMaxThreads,
diff --git a/base/test/scoped_task_environment.cc b/base/test/scoped_task_environment.cc index 6729460..8028e9eb 100644 --- a/base/test/scoped_task_environment.cc +++ b/base/test/scoped_task_environment.cc
@@ -92,9 +92,15 @@ task_tracker_(new TestTaskTracker()) { CHECK(!TaskScheduler::GetInstance()); - // Instantiate a TaskScheduler with 1 thread in each of its 4 pools. Threads + // Instantiate a TaskScheduler with 2 threads in each of its 4 pools. Threads // stay alive even when they don't have work. - constexpr int kMaxThreads = 1; + // Each pool uses two threads to prevent deadlocks in unit tests that have a + // sequence that uses WithBaseSyncPrimitives() to wait on the result of + // another sequence. This isn't perfect (doesn't solve wait chains) but solves + // the basic use case for now. + // TODO(fdoray/jeffreyhe): Make the TaskScheduler dynamically replace blocked + // threads and get rid of this limitation. http://crbug.com/738104 + constexpr int kMaxThreads = 2; const TimeDelta kSuggestedReclaimTime = TimeDelta::Max(); const SchedulerWorkerPoolParams worker_pool_params( SchedulerWorkerPoolParams::StandbyThreadPolicy::ONE, kMaxThreads,
diff --git a/base/win/iunknown_impl.cc b/base/win/iunknown_impl.cc index 9baa0f3..2a88439 100644 --- a/base/win/iunknown_impl.cc +++ b/base/win/iunknown_impl.cc
@@ -15,12 +15,12 @@ } ULONG STDMETHODCALLTYPE IUnknownImpl::AddRef() { - base::AtomicRefCountInc(&ref_count_); + ref_count_.Increment(); return 1; } ULONG STDMETHODCALLTYPE IUnknownImpl::Release() { - if (!base::AtomicRefCountDec(&ref_count_)) { + if (!ref_count_.Decrement()) { delete this; return 0; }
diff --git a/build/android/pylib/instrumentation/instrumentation_test_instance.py b/build/android/pylib/instrumentation/instrumentation_test_instance.py index 0b3fbccc..d6077404 100644 --- a/build/android/pylib/instrumentation/instrumentation_test_instance.py +++ b/build/android/pylib/instrumentation/instrumentation_test_instance.py
@@ -507,6 +507,9 @@ self._edit_shared_prefs = [] self._initializeEditPrefsAttributes(args) + self._replace_system_package = None + self._initializeReplaceSystemPackageAttributes(args) + self._external_shard_index = args.test_launcher_shard_index self._total_external_shards = args.test_launcher_total_shards @@ -690,6 +693,12 @@ self._edit_shared_prefs = shared_preference_utils.ExtractSettingsFromJson( args.shared_prefs_file) + def _initializeReplaceSystemPackageAttributes(self, args): + if (not hasattr(args, 'replace_system_package') + or not args.replace_system_package): + return + self._replace_system_package = args.replace_system_package + @property def additional_apks(self): return self._additional_apks @@ -747,6 +756,10 @@ return self._render_results_dir @property + def replace_system_package(self): + return self._replace_system_package + + @property def screenshot_dir(self): return self._screenshot_dir
diff --git a/build/android/pylib/local/device/local_device_instrumentation_test_run.py b/build/android/pylib/local/device/local_device_instrumentation_test_run.py index 7e92909..9122d3ae 100644 --- a/build/android/pylib/local/device/local_device_instrumentation_test_run.py +++ b/build/android/pylib/local/device/local_device_instrumentation_test_run.py
@@ -7,12 +7,14 @@ import os import posixpath import re +import sys import tempfile import time from devil.android import device_errors from devil.android import device_temp_file from devil.android import flag_changer +from devil.android.tools import system_app from devil.utils import reraiser_thread from pylib import valgrind_tools from pylib.android import logdog_logcat_monitor @@ -112,6 +114,7 @@ super(LocalDeviceInstrumentationTestRun, self).__init__(env, test_instance) self._flag_changers = {} self._ui_capture_dir = dict() + self._replace_package_contextmanager = None #override def TestPackage(self): @@ -125,6 +128,19 @@ def individual_device_set_up(dev, host_device_tuples): steps = [] + if self._test_instance.replace_system_package: + # We need the context manager to be applied before modifying any shared + # preference files in case the replacement APK needs to be set up, and + # it needs to be applied while the test is running. Thus, it needs to + # be applied early during setup, but must still be applied during + # _RunTest, which isn't possible using 'with' without applying the + # context manager up in test_runner. Instead, we manually invoke + # its __enter__ and __exit__ methods in setup and teardown + self._replace_package_contextmanager = system_app.ReplaceSystemApp( + dev, self._test_instance.replace_system_package.package, + self._test_instance.replace_system_package.replacement_apk) + steps.append(self._replace_package_contextmanager.__enter__) + def install_helper(apk, permissions): @trace_event.traced("apk_path") def install_helper_internal(apk_path=apk.path): @@ -260,6 +276,9 @@ if self._test_instance.ui_screenshot_dir: pull_ui_screen_captures(dev) + if self._replace_package_contextmanager: + self._replace_package_contextmanager.__exit__(*sys.exc_info()) + @trace_event.traced def pull_ui_screen_captures(dev): file_names = dev.ListDirectory(self._ui_capture_dir[dev])
diff --git a/build/android/pylib/results/presentation/test_results_presentation.py b/build/android/pylib/results/presentation/test_results_presentation.py index 6187fe2..cb51590 100755 --- a/build/android/pylib/results/presentation/test_results_presentation.py +++ b/build/android/pylib/results/presentation/test_results_presentation.py
@@ -110,15 +110,14 @@ def logs_cell(result, test_name, suite_name): """Formats result logs data for processing in jinja template.""" link_list = [] - for name, href in result.get('links', {}).iteritems(): + result_link_dict = result.get('links', {}) + result_link_dict['flakiness'] = flakiness_dashbord_link( + test_name, suite_name) + for name, href in sorted(result_link_dict.items()): link_list.append(link( data=name, href=href, target=LinkTarget.NEW_TAB)) - link_list.append(link( - data='flakiness', - href=flakiness_dashbord_link(test_name, suite_name), - target=LinkTarget.NEW_TAB)) if link_list: return links_cell(link_list) else:
diff --git a/build/android/test_runner.py b/build/android/test_runner.py index 835888b0..3e32f81b 100755 --- a/build/android/test_runner.py +++ b/build/android/test_runner.py
@@ -387,6 +387,24 @@ '--render-results-directory', dest='render_results_dir', help='Directory to pull render test result images off of the device to.') + def package_replacement(arg): + split_arg = arg.split(',') + if len(split_arg) != 2: + raise argparse.ArgumentError( + 'Expected two comma-separated strings for --replace-system-package, ' + 'received %d' % len(split_arg)) + PackageReplacement = collections.namedtuple('PackageReplacement', + ['package', 'replacement_apk']) + return PackageReplacement(package=split_arg[0], + replacement_apk=os.path.realpath(split_arg[1])) + parser.add_argument( + '--replace-system-package', + type=package_replacement, default=None, + help='Specifies a system package to replace with a given APK for the ' + 'duration of the test. Given as a comma-separated pair of strings, ' + 'the first element being the package and the second the path to the ' + 'replacement APK. Only supports replacing one package. Example: ' + '--replace-system-package com.example.app,path/to/some.apk') parser.add_argument( '--runtime-deps-path', dest='runtime_deps_path', type=os.path.realpath, @@ -930,6 +948,14 @@ else: parser.error('unrecognized arguments: %s' % ' '.join(unknown_args)) + # --replace-system-package has the potential to cause issues if + # --enable-concurrent-adb is set, so disallow that combination + if (hasattr(args, 'replace_system_package') and + hasattr(args, 'enable_concurrent_adb') and args.replace_system_package and + args.enable_concurrent_adb): + parser.error('--replace-system-package and --enable-concurrent-adb cannot ' + 'be used together') + try: return RunTestsCommand(args) except base_error.BaseError as e:
diff --git a/build/android/test_runner.pydeps b/build/android/test_runner.pydeps index 14d58e8..fddebbd3f 100644 --- a/build/android/test_runner.pydeps +++ b/build/android/test_runner.pydeps
@@ -57,6 +57,8 @@ ../../third_party/catapult/devil/devil/android/tools/__init__.py ../../third_party/catapult/devil/devil/android/tools/device_recovery.py ../../third_party/catapult/devil/devil/android/tools/device_status.py +../../third_party/catapult/devil/devil/android/tools/script_common.py +../../third_party/catapult/devil/devil/android/tools/system_app.py ../../third_party/catapult/devil/devil/android/valgrind_tools/__init__.py ../../third_party/catapult/devil/devil/android/valgrind_tools/base_tool.py ../../third_party/catapult/devil/devil/base_error.py
diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni index 0b0ce452..7ae86ac 100644 --- a/build/config/android/rules.gni +++ b/build/config/android/rules.gni
@@ -376,6 +376,7 @@ outputs = [ invoker.output, ] + depfile = "$target_gen_dir/$target_name.d" args = [ # This is a list of .sources files. @@ -383,6 +384,8 @@ "--output", rebase_path(invoker.output, root_build_dir), "--no_register_java=$_rebase_exception_java_files", + "--depfile", + rebase_path(depfile, root_build_dir), ] } }
diff --git a/build/config/ios/rules.gni b/build/config/ios/rules.gni index d520f5ae..2716bf62 100644 --- a/build/config/ios/rules.gni +++ b/build/config/ios/rules.gni
@@ -130,12 +130,17 @@ # string, extension of the bundle, used to generate bundle name. # # bundle_binary_target -# string, label of the target generating the bundle main binary. +# (optional) string, label of the target generating the bundle main +# binary. This target and bundle_binary_path are mutually exclusive. # # bundle_binary_output # (optional) string, base name of the binary generated by the # bundle_binary_target target, defaults to the target name. # +# bundle_binary_path +# (optional) string, path to the bundle main binary. This target and +# bundle_binary_target are mutually exclusive. +# # output_name: # (optional) string, name of the generated application, if omitted, # defaults to the target_name. @@ -162,8 +167,10 @@ "product_type must be defined for $target_name") assert(defined(invoker.bundle_extension), "bundle_extension must be defined for $target_name") - assert(defined(invoker.bundle_binary_target), - "bundle_binary_target must be defined for $target_name") + assert( + defined(invoker.bundle_binary_target) != + defined(invoker.bundle_binary_path), + "Only one of bundle_binary_target or bundle_binary_path may be specified in " + target_name) _target_name = target_name _output_name = target_name @@ -171,16 +178,19 @@ _output_name = invoker.output_name } - _bundle_binary_target = invoker.bundle_binary_target - _bundle_binary_output = get_label_info(_bundle_binary_target, "name") - if (defined(invoker.bundle_binary_output)) { - _bundle_binary_output = invoker.bundle_binary_output + if (defined(invoker.bundle_binary_path)) { + _bundle_binary_path = invoker.bundle_binary_path + } else { + _bundle_binary_target = invoker.bundle_binary_target + _bundle_binary_output = get_label_info(_bundle_binary_target, "name") + if (defined(invoker.bundle_binary_output)) { + _bundle_binary_output = invoker.bundle_binary_output + } + _bundle_binary_path = + get_label_info(_bundle_binary_target, "target_out_dir") + + "/$_bundle_binary_output" } - _bundle_binary_path = - get_label_info(_bundle_binary_target, "target_out_dir") + - "/$_bundle_binary_output" - _bundle_extension = invoker.bundle_extension _bundle_root_dir = "$root_out_dir/$_output_name$_bundle_extension" @@ -225,7 +235,10 @@ if (!defined(public_deps)) { public_deps = [] } - public_deps += [ _bundle_binary_target ] + + if (defined(invoker.bundle_binary_target)) { + public_deps += [ invoker.bundle_binary_target ] + } if (defined(invoker.bundle_deps)) { if (!defined(deps)) { @@ -1352,10 +1365,6 @@ # string, name of the target that depends on the generated bundle, this # value is used to restrict visibilities. # -# host_output: -# (optional) string, name of the application generated by host_target, if -# omitted, defaults to the host_target. -# # output_name # (optional) string, name of the generated application, if omitted, # defaults to the target_name. @@ -1435,17 +1444,13 @@ } else { _info_plist_target = _target_name + "_info_plist" _info_plist_bundle = _target_name + "_info_plist_bundle" - _host_output = invoker.host_target - if (defined(invoker.host_output)) { - _host_output = invoker.host_output - } ios_info_plist(_info_plist_target) { testonly = true visibility = [ ":$_info_plist_bundle" ] info_plist = "//build/config/ios/Module-Info.plist" - executable_name = _host_output + executable_name = _target_name if (ios_automatically_manage_certs) { # Use the same bundle identifier for EarlGrey tests as for unit tests @@ -1621,36 +1626,41 @@ configs = default_executable_configs } -# Template to build a XCUITest that consists of two parts: the test runner -# application bundle and the xctest dynamic library. +# Template to build a xcuitest test runner bundle. +# +# Xcode requires a test runner application with a copy of the XCTest dynamic +# library bundle in it for the XCUITest to run. The test runner bundle is created +# by copying the system bundle XCTRunner.app from Xcode SDK with the plist file +# being properly tweaked, and a xctest and it needs to be code signed in order +# to run on devices. # # Arguments # -# deps: -# list of labels to depends on, these values are used to create the -# xctest dynamic library. +# xctest_bundle +# string, name of the dependent xctest bundle target. # -# This template defines two targets, one named "${target_name}" is the xctest -# dynamic library, and the other named "${target_name}_runner" is the test -# runner application bundle. +# output_name +# (optional) string, name of the generated application, if omitted, +# defaults to the target_name. # -template("ios_xcuitest_test") { - assert(false, - "ios_xcuitest_test is incomplete and should not be used, see " + - "crbug.com/709289 for tracking") +template("ios_xcuitest_test_runner_bundle") { + assert(defined(invoker.xctest_bundle), + "xctest_bundle must be defined for $target_name") - _xcuitest_target = target_name - _xcuitest_runner_target = _xcuitest_target + "_runner" + _target_name = target_name + _output_name = target_name + if (defined(invoker.output_name)) { + _output_name = invoker.output_name + } + _xctrunner_path = "$ios_sdk_platform_path/Developer/Library/Xcode/Agents/XCTRunner.app" - _xcuitest_runner_info_plist_merge_plist = - _xcuitest_runner_target + "_info_plist_merge_plist" - _xcuitest_runner_info_plist_target = _xcuitest_runner_target + "_info_plist" - _xcuitest_runner_info_plist_bundle = - _xcuitest_runner_target + "_info_plist_bundle" + _info_plist_merge_plist = _target_name + "_info_plist_merge_plist" + _info_plist_target = _target_name + "_info_plist" + _info_plist_bundle = _target_name + "_info_plist_bundle" - action(_xcuitest_runner_info_plist_merge_plist) { + action(_info_plist_merge_plist) { testonly = true script = "//build/config/mac/plist_util.py" @@ -1663,7 +1673,7 @@ "//ios/chrome/app/resources/XCTRunnerAddition+Info.plist", ] - _output_name = "$target_gen_dir/${_xcuitest_runner_target}_merged.plist" + _output_name = "$target_gen_dir/${_target_name}_merged.plist" outputs = [ _output_name, ] @@ -1674,19 +1684,117 @@ ] + rebase_path(sources, root_build_dir) } - ios_info_plist(_xcuitest_runner_info_plist_target) { + ios_info_plist(_info_plist_target) { testonly = true - visibility = [ ":$_xcuitest_runner_info_plist_bundle" ] + visibility = [ ":$_info_plist_bundle" ] - executable_name = _xcuitest_target - info_plist_target = ":$_xcuitest_runner_info_plist_merge_plist" + executable_name = _target_name + info_plist_target = ":$_info_plist_merge_plist" + if (ios_automatically_manage_certs) { # Use the same bundle identifier for XCUITest tests as for unit tests # when managing certificates as the number of free certs is limited. extra_substitutions = - [ "PRODUCT_NAME=${ios_generic_test_bundle_id_suffix}" ] + [ "EXECUTABLE_NAME=gtest.${ios_generic_test_bundle_id_suffix}" ] } } + + bundle_data(_info_plist_bundle) { + testonly = true + visibility = [ ":$_target_name" ] + + public_deps = [ + ":$_info_plist_target", + ] + + sources = get_target_outputs(":$_info_plist_target") + outputs = [ + "{{bundle_root_dir}}/Info.plist", + ] + } + + _pkginfo_bundle = _target_name + "_pkginfo_bundle" + bundle_data(_pkginfo_bundle) { + testonly = true + visibility = [ ":$_target_name" ] + + sources = [ + "$_xctrunner_path/PkgInfo", + ] + + outputs = [ + "{{bundle_root_dir}}/PkgInfo", + ] + } + + _xctest_bundle = invoker.xctest_bundle + create_signed_bundle(_target_name) { + testonly = true + + bundle_binary_path = "$_xctrunner_path/XCTRunner" + bundle_extension = ".app" + product_type = "com.apple.product-type.application" + + output_name = _output_name + + # Xcode needs the following frameworks installed in the application + # (and signed) for the XCUITest to run, so install them using + # extra_system_frameworks. + extra_system_frameworks = [ "$ios_sdk_platform_path/Developer/Library/Frameworks/XCTest.framework" ] + + bundle_deps = [ + ":$_info_plist_bundle", + ":$_pkginfo_bundle", + ":$_xctest_bundle", + ] + } +} + +# Template to build a XCUITest that consists of two parts: the test runner +# application bundle and the xctest dynamic library. +# +# Arguments +# +# deps: +# list of labels to depends on, these values are used to create the +# xctest dynamic library. +# +# This template defines two targets, one named "${target_name}_module" is the +# xctest dynamic library, and the other named "${target_name}_runner" is the +# test runner application bundle. +# +template("ios_xcuitest_test") { + assert(false, + "ios_xcuitest_test is incomplete and should not be used, see " + + "crbug.com/709289 for tracking") + assert(defined(invoker.deps), "deps must be defined for $target_name") + + _xcuitest_target = target_name + _xcuitest_runner_target = _xcuitest_target + "_runner" + _xcuitest_module_target = _xcuitest_target + "_module" + + group(_xcuitest_target) { + testonly = true + + deps = [ + ":$_xcuitest_runner_target", + ] + } + + _xcuitest_module_output = _xcuitest_target + ios_xctest_bundle(_xcuitest_module_target) { + product_type = "com.apple.product-type.bundle.ui-testing" + host_target = _xcuitest_runner_target + output_name = _xcuitest_module_output + + deps = invoker.deps + } + + _xcuitest_runner_output = _xcuitest_target + "-Runner" + ios_xcuitest_test_runner_bundle(_xcuitest_runner_target) { + output_name = _xcuitest_runner_output + xctest_bundle = _xcuitest_module_target + "_bundle" + } } set_defaults("ios_xcuitest_test") {
diff --git a/build/toolchain/mac/compile_xcassets.py b/build/toolchain/mac/compile_xcassets.py index 1a6e0c6..2c1a472 100644 --- a/build/toolchain/mac/compile_xcassets.py +++ b/build/toolchain/mac/compile_xcassets.py
@@ -4,11 +4,87 @@ import argparse import os +import re import subprocess import sys +"""Wrapper around actool to compile assets catalog. -def CompileXCAssets( +The script compile_xcassets.py is a wrapper around actool to compile +assets catalog to Assets.car that turns warning into errors. It also +fixes some quirks of actool to make it work from ninja (mostly that +actool seems to require absolute path but gn generates command-line +with relative paths). + +The wrapper filter out any message that is not a section header and +not a warning or error message, and fails if filtered output is not +empty. This should to treat all warnings as error until actool has +an option to fail with non-zero error code when there are warnings. +""" + +# Pattern matching a section header in the output of actool. +SECTION_HEADER = re.compile('^/\\* ([a-z.]*) \\*/$') + +# Pattern matching an interesting message in the output of actool. +MESSAGE_PATTERN = re.compile('^([^:]*\.xcassets):.* (error|warning): .*$') + +# Name of the section containing informational messages that can be ignored. +NOTICE_SECTION = 'com.apple.actool.compilation-results' + + +def FilterCompilerOutput(compiler_output, relative_paths): + """Filers actool compilation output. + + The compiler output is composed of multiple sections for each different + level of output (error, warning, notices, ...). Each section starts with + the section name on a single line, followed by all the messages from the + section. + + The function filter any lines that are not in com.apple.actool.errors or + com.apple.actool.document.warnings sections. For each messages, in those + sections, they are also filtered if they do not follow MESSAGE_PATTERN + pattern. + + See crbug.com/730054 and crbug.com/739163 for some example messages that + pollute the output of actool and cause flaky builds. + + Args: + compiler_output: string containing the output generated by the + compiler (contains both stdout and stderr) + relative_paths: mapping from absolute to relative paths used to + convert paths in the warning and error messages (unknown paths + will be left unaltered) + + Returns: + The filtered output of the compiler. If the compilation was a + success, then the output will be empty, otherwise it will use + relative path and omit any irrelevant output. + """ + + filtered_output = [] + current_section = None + for line in compiler_output.splitlines(): + match = SECTION_HEADER.search(line) + if match is not None: + current_section = match.group(1) + if current_section != NOTICE_SECTION: + filtered_output.append(line + '\n') + continue + match = MESSAGE_PATTERN.search(line) + if match is not None: + if current_section == NOTICE_SECTION: + continue + + absolute_path = match.group(1) + relative_path = relative_paths.get(absolute_path, absolute_path) + if absolute_path != relative_path: + line = line[:match.span(1)[0]] + relative_path + line[match.span(1)[1]:] + filtered_output.append(line + '\n') + + return ''.join(filtered_output) + + +def CompileAssetCatalog( output, platform, product_type, min_deployment_target, inputs): """Compile the .xcassets bundles to an asset catalog using actool. @@ -34,10 +110,20 @@ else: command.extend(['--target-device', 'iphone', '--target-device', 'ipad']) + relative_paths = {} + # actool crashes if paths are relative, so convert input and output paths - # to absolute paths. + # to absolute paths, and record the relative paths to fix them back when + # filtering the output. + absolute_output = os.path.abspath(output) + relative_paths[output] = absolute_output + relative_paths[os.path.dirname(output)] = os.path.dirname(absolute_output) command.extend(['--compile', os.path.dirname(os.path.abspath(output))]) - command.extend(map(os.path.abspath, inputs)) + + for relative_path in inputs: + absolute_path = os.path.abspath(relative_path) + relative_paths[absolute_path] = relative_path + command.append(absolute_path) # Run actool and redirect stdout and stderr to the same pipe (as actool # is confused about what should go to stderr/stdout). @@ -45,31 +131,10 @@ command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) stdout, _ = process.communicate() - if process.returncode: - sys.stderr.write(stdout) - sys.exit(process.returncode) + # Filter the output to remove all garbarge and to fix the paths. + stdout = FilterCompilerOutput(stdout, relative_paths) - # In case of success, the output looks like the following: - # /* com.apple.actool.compilation-results */ - # /Full/Path/To/Bundle.app/Assets.car - # - # Ignore any lines in the output matching those (last line is an empty line) - # and consider that the build failed if the output contains any other lines. - for line in stdout.splitlines(): - if not line: - continue - if line == '/* com.apple.actool.compilation-results */': - continue - if line == os.path.abspath(output): - continue - # crbug.com/730054 Xcode 9's beta introduced a CoreUI(DEBUG) message and - # IBMessageChannelErrorDomain message that can be ignored. - if line.startswith('CoreUI(DEBUG)'): - continue - if 'Error Domain=IBMessageChannelErrorDomain Code=4' in line: - continue - if 'Attempting to remove the stale service in order to add' in line: - continue + if process.returncode or stdout: sys.stderr.write(stdout) sys.exit(1) @@ -101,7 +166,7 @@ 'to the containing bundle: %s\n' % (args.output,)) sys.exit(1) - CompileXCAssets( + CompileAssetCatalog( args.output, args.platform, args.product_type,
diff --git a/build/toolchain/mac/compile_xcassets_unittests.py b/build/toolchain/mac/compile_xcassets_unittests.py new file mode 100644 index 0000000..530d0c9 --- /dev/null +++ b/build/toolchain/mac/compile_xcassets_unittests.py
@@ -0,0 +1,69 @@ +# Copyright 2017 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import unittest +import compile_xcassets + + +class TestFilterCompilerOutput(unittest.TestCase): + + relative_paths = { + '/Users/janedoe/chromium/src/Chromium.xcassets': + '../../Chromium.xcassets', + '/Users/janedoe/chromium/src/out/Default/Chromium.app/Assets.car': + 'Chromium.app/Assets.car', + } + + def testNoError(self): + self.assertEquals( + '', + compile_xcassets.FilterCompilerOutput( + '/* com.apple.actool.compilation-results */\n' + '/Users/janedoe/chromium/src/out/Default/Chromium.app/Assets.car\n', + self.relative_paths)) + + def testNoErrorRandomMessages(self): + self.assertEquals( + '', + compile_xcassets.FilterCompilerOutput( + '2017-07-04 04:59:19.460 ibtoold[23487:41214] CoreSimulator is att' + 'empting to unload a stale CoreSimulatorService job. Existing' + ' job (com.apple.CoreSimulator.CoreSimulatorService.179.1.E8tt' + 'yeDeVgWK) is from an older version and is being removed to pr' + 'event problems.\n' + '/* com.apple.actool.compilation-results */\n' + '/Users/janedoe/chromium/src/out/Default/Chromium.app/Assets.car\n', + self.relative_paths)) + + def testWarning(self): + self.assertEquals( + '/* com.apple.actool.document.warnings */\n' + '../../Chromium.xcassets:./image1.imageset/[universal][][][1x][][][][' + '][][]: warning: The file "image1.png" for the image set "image1"' + ' does not exist.\n', + compile_xcassets.FilterCompilerOutput( + '/* com.apple.actool.document.warnings */\n' + '/Users/janedoe/chromium/src/Chromium.xcassets:./image1.imageset/[' + 'universal][][][1x][][][][][][]: warning: The file "image1.png' + '" for the image set "image1" does not exist.\n' + '/* com.apple.actool.compilation-results */\n' + '/Users/janedoe/chromium/src/out/Default/Chromium.app/Assets.car\n', + self.relative_paths)) + + def testError(self): + self.assertEquals( + '/* com.apple.actool.errors */\n' + '../../Chromium.xcassets: error: The output directory "/Users/janedoe/' + 'chromium/src/out/Default/Chromium.app" does not exist.\n', + compile_xcassets.FilterCompilerOutput( + '/* com.apple.actool.errors */\n' + '/Users/janedoe/chromium/src/Chromium.xcassets: error: The output ' + 'directory "/Users/janedoe/chromium/src/out/Default/Chromium.a' + 'pp" does not exist.\n' + '/* com.apple.actool.compilation-results */\n', + self.relative_paths)) + + +if __name__ == '__main__': + unittest.main()
diff --git a/build/vs_toolchain.py b/build/vs_toolchain.py index e131a0d..6a3c2c1 100755 --- a/build/vs_toolchain.py +++ b/build/vs_toolchain.py
@@ -346,8 +346,8 @@ # Update 3 final with 10.0.15063.468 SDK and no vctip.exe. return ['f53e4598951162bad6330f7a167486c7ae5db1e5'] if env_version == '2017': - # VS 2017 Update 3 Preview 2 with 10.0.15063.0 SDK and patched event.h. - return ['425bd64734a387734dfcf445b285a7c5073e4262'] + # VS 2017 Update 3 Preview 3 with 10.0.15063.468 SDK. + return ['15d1e1d9da02f10de7b95137b314236068025fa8'] raise Exception('Unsupported VS version %s' % env_version)
diff --git a/cc/layers/render_surface_impl.cc b/cc/layers/render_surface_impl.cc index f124602..1f03887 100644 --- a/cc/layers/render_surface_impl.cc +++ b/cc/layers/render_surface_impl.cc
@@ -403,6 +403,9 @@ // mask layers. DCHECK(BlendMode() != SkBlendMode::kDstIn) << "kDstIn blend mode with mask layer is unsupported."; + TRACE_EVENT1("cc", "RenderSurfaceImpl::AppendQuads", + "mask_layer_gpu_memory_usage", + mask_layer->GPUMemoryUsageInBytes()); if (mask_layer->mask_type() == Layer::LayerMaskType::MULTI_TEXTURE_MASK) { TileMaskLayer(render_pass, shared_quad_state, visible_layer_rect); return;
diff --git a/cc/surfaces/compositor_frame_sink_support.cc b/cc/surfaces/compositor_frame_sink_support.cc index 907a0e8..f27b67f 100644 --- a/cc/surfaces/compositor_frame_sink_support.cc +++ b/cc/surfaces/compositor_frame_sink_support.cc
@@ -346,8 +346,9 @@ Surface* CompositorFrameSinkSupport::CreateSurface( const SurfaceInfo& surface_info) { seen_first_frame_activation_ = false; - return surface_manager_->CreateSurface(weak_factory_.GetWeakPtr(), - surface_info, needs_sync_tokens_); + return surface_manager_->CreateSurface( + weak_factory_.GetWeakPtr(), surface_info, + surface_manager_->GetPrimaryBeginFrameSource(), needs_sync_tokens_); } void CompositorFrameSinkSupport::RequestCopyOfSurface(
diff --git a/cc/surfaces/surface.cc b/cc/surfaces/surface.cc index 29c1be3..99e479d 100644 --- a/cc/surfaces/surface.cc +++ b/cc/surfaces/surface.cc
@@ -27,12 +27,13 @@ Surface::Surface(const SurfaceInfo& surface_info, SurfaceManager* surface_manager, base::WeakPtr<SurfaceClient> surface_client, + BeginFrameSource* begin_frame_source, bool needs_sync_tokens) : surface_info_(surface_info), previous_frame_surface_id_(surface_info.id()), surface_manager_(surface_manager), surface_client_(std::move(surface_client)), - deadline_(surface_manager_->GetPrimaryBeginFrameSource()), + deadline_(begin_frame_source), frame_index_(kFrameIndexStart), needs_sync_tokens_(needs_sync_tokens) { deadline_.AddObserver(this);
diff --git a/cc/surfaces/surface.h b/cc/surfaces/surface.h index f6532b60..8b9be1b9 100644 --- a/cc/surfaces/surface.h +++ b/cc/surfaces/surface.h
@@ -45,6 +45,7 @@ Surface(const SurfaceInfo& surface_info, SurfaceManager* surface_manager, base::WeakPtr<SurfaceClient> surface_client, + BeginFrameSource* begin_frame_source, bool needs_sync_tokens); ~Surface();
diff --git a/cc/surfaces/surface_dependency_deadline.cc b/cc/surfaces/surface_dependency_deadline.cc index 41d7316..cd2aa1d 100644 --- a/cc/surfaces/surface_dependency_deadline.cc +++ b/cc/surfaces/surface_dependency_deadline.cc
@@ -4,8 +4,6 @@ #include "cc/surfaces/surface_dependency_deadline.h" -#include "cc/surfaces/surface_dependency_tracker.h" - namespace cc { SurfaceDependencyDeadline::SurfaceDependencyDeadline(
diff --git a/cc/surfaces/surface_dependency_tracker.h b/cc/surfaces/surface_dependency_tracker.h index 0b31814d..ffa95d2 100644 --- a/cc/surfaces/surface_dependency_tracker.h +++ b/cc/surfaces/surface_dependency_tracker.h
@@ -73,10 +73,6 @@ // CompositorFrames with missing dependencies. base::flat_set<SurfaceId> surfaces_with_missing_dependencies_; - // The set of SurfaceIds to which corresponding CompositorFrames have not - // arrived by the time their deadline fired. - base::flat_set<SurfaceId> late_surfaces_by_id_; - DISALLOW_COPY_AND_ASSIGN(SurfaceDependencyTracker); };
diff --git a/cc/surfaces/surface_manager.cc b/cc/surfaces/surface_manager.cc index 3268cf0a..3e6815e 100644 --- a/cc/surfaces/surface_manager.cc +++ b/cc/surfaces/surface_manager.cc
@@ -31,6 +31,7 @@ SurfaceManager::SurfaceManager(LifetimeType lifetime_type) : lifetime_type_(lifetime_type), + dependency_tracker_(this), root_surface_id_(FrameSinkId(0u, 0u), LocalSurfaceId(1u, base::UnguessableToken::Create())), weak_factory_(this) { @@ -61,21 +62,16 @@ } #endif -void SurfaceManager::SetDependencyTracker( - SurfaceDependencyTracker* dependency_tracker) { - dependency_tracker_ = dependency_tracker; -} - void SurfaceManager::RequestSurfaceResolution( Surface* surface, SurfaceDependencyDeadline* deadline) { - if (dependency_tracker_) - dependency_tracker_->RequestSurfaceResolution(surface, deadline); + dependency_tracker_.RequestSurfaceResolution(surface, deadline); } Surface* SurfaceManager::CreateSurface( base::WeakPtr<SurfaceClient> surface_client, const SurfaceInfo& surface_info, + BeginFrameSource* begin_frame_source, bool needs_sync_tokens) { DCHECK(thread_checker_.CalledOnValidThread()); DCHECK(surface_info.is_valid()); @@ -85,8 +81,9 @@ // return. auto it = surface_map_.find(surface_info.id()); if (it == surface_map_.end()) { - surface_map_[surface_info.id()] = base::MakeUnique<Surface>( - surface_info, this, surface_client, needs_sync_tokens); + surface_map_[surface_info.id()] = + base::MakeUnique<Surface>(surface_info, this, surface_client, + begin_frame_source, needs_sync_tokens); return surface_map_[surface_info.id()].get(); } @@ -479,25 +476,21 @@ } void SurfaceManager::SurfaceActivated(Surface* surface) { - if (dependency_tracker_) - dependency_tracker_->OnSurfaceActivated(surface); + dependency_tracker_.OnSurfaceActivated(surface); } void SurfaceManager::SurfaceDependenciesChanged( Surface* surface, const base::flat_set<SurfaceId>& added_dependencies, const base::flat_set<SurfaceId>& removed_dependencies) { - if (dependency_tracker_) { - dependency_tracker_->OnSurfaceDependenciesChanged( - surface, added_dependencies, removed_dependencies); - } + dependency_tracker_.OnSurfaceDependenciesChanged(surface, added_dependencies, + removed_dependencies); } void SurfaceManager::SurfaceDiscarded(Surface* surface) { for (auto& observer : observer_list_) observer.OnSurfaceDiscarded(surface->surface_id()); - if (dependency_tracker_) - dependency_tracker_->OnSurfaceDiscarded(surface); + dependency_tracker_.OnSurfaceDiscarded(surface); } void SurfaceManager::SurfaceDamageExpected(const SurfaceId& surface_id,
diff --git a/cc/surfaces/surface_manager.h b/cc/surfaces/surface_manager.h index adc228f..a3257e2b 100644 --- a/cc/surfaces/surface_manager.h +++ b/cc/surfaces/surface_manager.h
@@ -62,9 +62,6 @@ std::string SurfaceReferencesToString(); #endif - void SetDependencyTracker(SurfaceDependencyTracker* dependency_tracker); - SurfaceDependencyTracker* dependency_tracker() { return dependency_tracker_; } - void RequestSurfaceResolution(Surface* surface, SurfaceDependencyDeadline* deadline); @@ -73,6 +70,7 @@ // dependencies are satisfied, and it is not reachable from the root surface. Surface* CreateSurface(base::WeakPtr<SurfaceClient> surface_client, const SurfaceInfo& surface_info, + BeginFrameSource* begin_frame_source, bool needs_sync_tokens); // Destroy the Surface once a set of sequence numbers has been satisfied. @@ -283,6 +281,10 @@ FrameSinkManager framesink_manager_; + // SurfaceDependencyTracker needs to be destroyed after Surfaces are destroyed + // because they will call back into the dependency tracker. + SurfaceDependencyTracker dependency_tracker_; + base::flat_map<SurfaceId, std::unique_ptr<Surface>> surface_map_; base::ObserverList<SurfaceObserver> observer_list_; base::ThreadChecker thread_checker_; @@ -329,8 +331,6 @@ std::unordered_map<FrameSinkId, std::vector<LocalSurfaceId>, FrameSinkIdHash> temporary_reference_ranges_; - SurfaceDependencyTracker* dependency_tracker_ = nullptr; - base::WeakPtrFactory<SurfaceManager> weak_factory_; DISALLOW_COPY_AND_ASSIGN(SurfaceManager);
diff --git a/cc/surfaces/surface_synchronization_unittest.cc b/cc/surfaces/surface_synchronization_unittest.cc index 78f87e8..02c35f3 100644 --- a/cc/surfaces/surface_synchronization_unittest.cc +++ b/cc/surfaces/surface_synchronization_unittest.cc
@@ -112,10 +112,6 @@ return surface_manager().HasTemporaryReference(surface_id); } - SurfaceDependencyTracker& dependency_tracker() { - return *surface_manager_.dependency_tracker(); - } - FakeExternalBeginFrameSource* begin_frame_source() { return begin_frame_source_.get(); } @@ -138,10 +134,7 @@ begin_frame_source_ = base::MakeUnique<FakeExternalBeginFrameSource>(0.f, false); begin_frame_source_->SetClient(&begin_frame_source_client_); - dependency_tracker_ = - base::MakeUnique<SurfaceDependencyTracker>(&surface_manager_); now_src_ = base::MakeUnique<base::SimpleTestTickClock>(); - surface_manager_.SetDependencyTracker(dependency_tracker_.get()); surface_manager_.AddObserver(&surface_observer_); supports_.push_back(CompositorFrameSinkSupport::Create( &support_client_, &surface_manager_, kDisplayFrameSink, kIsRoot, @@ -166,13 +159,8 @@ void TearDown() override { surface_manager_.RemoveObserver(&surface_observer_); - surface_manager_.SetDependencyTracker(nullptr); surface_manager_.UnregisterBeginFrameSource(begin_frame_source_.get()); - dependency_tracker_.reset(); - - // SurfaceDependencyTracker depends on this BeginFrameSource and so it must - // be destroyed AFTER the dependency tracker is destroyed. begin_frame_source_->SetClient(nullptr); begin_frame_source_.reset(); @@ -194,7 +182,6 @@ FakeExternalBeginFrameSourceClient begin_frame_source_client_; std::unique_ptr<FakeExternalBeginFrameSource> begin_frame_source_; std::unique_ptr<base::SimpleTestTickClock> now_src_; - std::unique_ptr<SurfaceDependencyTracker> dependency_tracker_; std::vector<std::unique_ptr<CompositorFrameSinkSupport>> supports_; DISALLOW_COPY_AND_ASSIGN(SurfaceSynchronizationTest);
diff --git a/cc/surfaces/surface_unittest.cc b/cc/surfaces/surface_unittest.cc index 5f8fe8e..297a1670 100644 --- a/cc/surfaces/surface_unittest.cc +++ b/cc/surfaces/surface_unittest.cc
@@ -7,7 +7,6 @@ #include "cc/output/copy_output_result.h" #include "cc/surfaces/compositor_frame_sink_support.h" #include "cc/surfaces/local_surface_id_allocator.h" -#include "cc/surfaces/surface_dependency_tracker.h" #include "cc/surfaces/surface_manager.h" #include "cc/test/begin_frame_args_test.h" #include "cc/test/compositor_frame_helpers.h"
diff --git a/cc/trees/draw_property_utils.cc b/cc/trees/draw_property_utils.cc index d9de4290f..3e8bca8 100644 --- a/cc/trees/draw_property_utils.cc +++ b/cc/trees/draw_property_utils.cc
@@ -1008,6 +1008,7 @@ property_trees->transform_tree); mask_layer->draw_properties().visible_layer_rect = gfx::Rect(mask_layer->bounds()); + mask_layer->draw_properties().opacity = 1; } void ComputeSurfaceDrawProperties(PropertyTrees* property_trees,
diff --git a/cc/trees/layer_tree_host_unittest.cc b/cc/trees/layer_tree_host_unittest.cc index 4cce2ce0..f69d8fc 100644 --- a/cc/trees/layer_tree_host_unittest.cc +++ b/cc/trees/layer_tree_host_unittest.cc
@@ -7343,6 +7343,93 @@ SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeTestMaskWithNonExactTextureSize); +class LayerTreeTestSolidColorMaskLayer : public LayerTreeTest { + protected: + void SetupTree() override { + // Root + // | + // +-- Content Layer + // +--Mask + scoped_refptr<Layer> root = Layer::Create(); + scoped_refptr<FakePictureLayer> content_layer = + FakePictureLayer::Create(&client_); + root->AddChild(content_layer); + gfx::Size content_size(100, 100); + std::unique_ptr<RecordingSource> recording_source = + FakeRecordingSource::CreateFilledRecordingSource(content_size); + PaintFlags paint; + static_cast<FakeRecordingSource*>(recording_source.get()) + ->add_draw_rect_with_flags(gfx::Rect(content_size), paint); + + client_.set_fill_with_nonsolid_color(true); + static_cast<FakeRecordingSource*>(recording_source.get())->Rerecord(); + scoped_refptr<FakePictureLayer> mask_layer = + FakePictureLayer::CreateWithRecordingSource( + &client_, std::move(recording_source)); + content_layer->SetMaskLayer(mask_layer.get()); + gfx::Size root_size(100, 100); + root->SetBounds(root_size); + content_layer->SetBounds(content_size); + + mask_layer->SetBounds(content_size); + mask_layer->SetLayerMaskType(Layer::LayerMaskType::MULTI_TEXTURE_MASK); + + layer_tree_host()->SetRootLayer(root); + LayerTreeTest::SetupTree(); + client_.set_bounds(root->bounds()); + } + + void BeginTest() override { PostSetNeedsCommitToMainThread(); } + + DrawResult PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, + LayerTreeHostImpl::FrameData* frame_data, + DrawResult draw_result) override { + EXPECT_EQ(2u, frame_data->render_passes.size()); + RenderPass* root_pass = frame_data->render_passes.back().get(); + EXPECT_EQ(2u, root_pass->quad_list.size()); + + // There's a solid color quad under everything. + EXPECT_EQ(DrawQuad::SOLID_COLOR, root_pass->quad_list.back()->material); + + // Mask layer tiles should not be skipped even if the mask layer is solid + // color. + EXPECT_EQ(DrawQuad::RENDER_PASS, root_pass->quad_list.front()->material); + const RenderPassDrawQuad* render_pass_quad = + RenderPassDrawQuad::MaterialCast(root_pass->quad_list.front()); + EXPECT_EQ(gfx::Rect(0, 0, 100, 100).ToString(), + render_pass_quad->rect.ToString()); + EXPECT_EQ(gfx::RectF().ToString(), + + render_pass_quad->mask_uv_rect.ToString()); + EndTest(); + return draw_result; + } + + void AfterTest() override {} + + FakeContentLayerClient client_; +}; + +class LayerTreeTestSingleTextureSolidColorMaskLayer + : public LayerTreeTestSolidColorMaskLayer { + public: + void InitializeSettings(LayerTreeSettings* settings) override { + settings->enable_mask_tiling = false; + } +}; + +SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeTestSingleTextureSolidColorMaskLayer); + +class LayerTreeTestMultiTextureSolidColorMaskLayer + : public LayerTreeTestSolidColorMaskLayer { + public: + void InitializeSettings(LayerTreeSettings* settings) override { + settings->enable_mask_tiling = true; + } +}; + +SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeTestMultiTextureSolidColorMaskLayer); + class LayerTreeTestPageScaleFlags : public LayerTreeTest { protected: void SetupTree() override {
diff --git a/cc/trees/layer_tree_settings.h b/cc/trees/layer_tree_settings.h index 363fcdd1..7010581 100644 --- a/cc/trees/layer_tree_settings.h +++ b/cc/trees/layer_tree_settings.h
@@ -94,7 +94,7 @@ // TODO(sunxd): remove this flag when filter demoting and aa of mask layers // are implemented. - bool enable_mask_tiling = false; + bool enable_mask_tiling = true; // If set to true, the compositor may selectively defer image decodes to the // Image Decode Service and raster tiles without images until the decode is
diff --git a/chrome/BUILD.gn b/chrome/BUILD.gn index ccd3744..7cd13b9 100644 --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn
@@ -1767,7 +1767,6 @@ deps += [ "//device/gamepad", "//device/sensors", - "//ui/events/devices", ] } }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java index 30113479..939a3d62 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/IntentHandler.java
@@ -161,6 +161,11 @@ public static final String EXTRA_DATA_HASH_CODE = "org.chromium.chrome.browser.data_hash"; /** + * A boolean to indicate whether incognito mode is currently selected. + */ + public static final String EXTRA_INCOGNITO_MODE = "org.chromium.chrome.browser.incognito_mode"; + + /** * Fake ComponentName used in constructing TRUSTED_APPLICATION_CODE_EXTRA. */ private static ComponentName sFakeComponentName;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ServiceTabLauncher.java b/chrome/android/java/src/org/chromium/chrome/browser/ServiceTabLauncher.java index efb09f15..4e34d936 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ServiceTabLauncher.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ServiceTabLauncher.java
@@ -22,7 +22,6 @@ import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType; import org.chromium.chrome.browser.tabmodel.document.AsyncTabCreationParams; import org.chromium.chrome.browser.tabmodel.document.TabDelegate; -import org.chromium.chrome.browser.webapps.ChromeWebApkHost; import org.chromium.chrome.browser.webapps.WebappDataStorage; import org.chromium.chrome.browser.webapps.WebappRegistry; import org.chromium.content_public.browser.LoadUrlParams; @@ -80,18 +79,16 @@ final TabDelegate tabDelegate = new TabDelegate(incognito); // 1. Launch WebAPK if one matches the target URL. - if (ChromeWebApkHost.isEnabled()) { - String webApkPackageName = - WebApkValidator.queryWebApkPackage(ContextUtils.getApplicationContext(), url); - if (webApkPackageName != null) { - Intent intent = WebApkNavigationClient.createLaunchWebApkIntent( - webApkPackageName, url, true /* forceNavigation */); - if (intent != null) { - intent.putExtra(ShortcutHelper.EXTRA_SOURCE, ShortcutSource.NOTIFICATION); - ContextUtils.getApplicationContext().startActivity(intent); - return; - } + String webApkPackageName = + WebApkValidator.queryWebApkPackage(ContextUtils.getApplicationContext(), url); + if (webApkPackageName != null) { + Intent intent = WebApkNavigationClient.createLaunchWebApkIntent( + webApkPackageName, url, true /* forceNavigation */); + if (intent != null) { + intent.putExtra(ShortcutHelper.EXTRA_SOURCE, ShortcutSource.NOTIFICATION); + ContextUtils.getApplicationContext().startActivity(intent); } + return; } // 2. Launch WebappActivity if one matches the target URL and was opened recently. @@ -103,10 +100,7 @@ // - We did not find a WebappDataStorage corresponding to this URL. // OR // - The WebappDataStorage hasn't been opened recently enough. - // OR - // - The WebappDataStorage corresponds to a WebAPK (and WebAPKs are disabled). - if (storage == null || !storage.wasUsedRecently() - || storage.getWebApkPackageName() != null) { + if (storage == null || !storage.wasUsedRecently()) { LoadUrlParams loadUrlParams = new LoadUrlParams(url, PageTransition.LINK); loadUrlParams.setPostData(postData); loadUrlParams.setVerbatimHeaders(extraHeaders);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ShortcutHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/ShortcutHelper.java index 6c4e6ce..1dfd97b 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/ShortcutHelper.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/ShortcutHelper.java
@@ -37,7 +37,6 @@ import org.chromium.base.annotations.CalledByNative; import org.chromium.blink_public.platform.WebDisplayMode; import org.chromium.chrome.R; -import org.chromium.chrome.browser.webapps.ChromeWebApkHost; import org.chromium.chrome.browser.webapps.WebApkInfo; import org.chromium.chrome.browser.webapps.WebappActivity; import org.chromium.chrome.browser.webapps.WebappAuthenticator; @@ -531,7 +530,6 @@ */ @CalledByNative private static String queryWebApkPackage(String url) { - if (!ChromeWebApkHost.isEnabled()) return null; return WebApkValidator.queryWebApkPackage(ContextUtils.getApplicationContext(), url); }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/autofill/PhoneNumberUtil.java b/chrome/android/java/src/org/chromium/chrome/browser/autofill/PhoneNumberUtil.java index 2f5623a..336cbb3 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/autofill/PhoneNumberUtil.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/autofill/PhoneNumberUtil.java
@@ -89,7 +89,7 @@ } /** - * Checks whether the given phone number matches a valid pattern according to + * Checks whether the given phone number is a possible number according to * region code. * The region code is from the given phone number if it starts with '+', * otherwise the region code is deduced from the given country code or from @@ -98,13 +98,13 @@ * @param phoneNumber The given phone number. * @param countryCode The given country code. * - * @return True if the given number is valid, otherwise return false. + * @return True if the given number is a possible number, otherwise return false. */ - public static boolean isValidNumber(String phoneNumber, @Nullable String countryCode) { - return nativeIsValidNumber(phoneNumber, countryCode); + public static boolean isPossibleNumber(String phoneNumber, @Nullable String countryCode) { + return nativeIsPossibleNumber(phoneNumber, countryCode); } private static native String nativeFormatForDisplay(String phoneNumber, String countryCode); private static native String nativeFormatForResponse(String phoneNumber); - private static native boolean nativeIsValidNumber(String phoneNumber, String countryCode); + private static native boolean nativeIsPossibleNumber(String phoneNumber, String countryCode); } \ No newline at end of file
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java index e045e211..72cff49 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandler.java
@@ -28,7 +28,6 @@ import org.chromium.chrome.browser.tab.TabRedirectHandler; import org.chromium.chrome.browser.util.IntentUtils; import org.chromium.chrome.browser.util.UrlUtilities; -import org.chromium.chrome.browser.webapps.ChromeWebApkHost; import org.chromium.content_public.common.ContentUrlConstants; import org.chromium.ui.base.PageTransition; @@ -515,27 +514,24 @@ IntentWithGesturesHandler.getInstance().onNewIntentWithGesture(intent); } - if (ChromeWebApkHost.isEnabled()) { - // If the only specialized intent handler is a WebAPK, set the intent's package to - // launch the WebAPK without showing the intent picker. - String targetWebApkPackageName = mDelegate.findWebApkPackageName(resolvingInfos); + // If the only specialized intent handler is a WebAPK, set the intent's package to + // launch the WebAPK without showing the intent picker. + String targetWebApkPackageName = mDelegate.findWebApkPackageName(resolvingInfos); - // We can't rely on this falling through to startActivityIfNeeded and behaving - // correctly for WebAPKs. This is because the target of the intent is the WebApk's - // main activity but that's just a bouncer which will redirect to WebApkActivity in - // chrome. To avoid bouncing indefinitely, don't override the navigation if we are - // currently showing the WebApk |params.webApkPackageName()| that we will redirect - // to. - if (targetWebApkPackageName != null - && targetWebApkPackageName.equals(params.webApkPackageName())) { - if (DEBUG) Log.i(TAG, "NO_OVERRIDE: Navigation in WebApk"); - return OverrideUrlLoadingResult.NO_OVERRIDE; - } + // We can't rely on this falling through to startActivityIfNeeded and behaving + // correctly for WebAPKs. This is because the target of the intent is the WebApk's main + // activity but that's just a bouncer which will redirect to WebApkActivity in chrome. + // To avoid bouncing indefinitely, don't override the navigation if we are currently + // showing the WebApk |params.webApkPackageName()| that we will redirect to. + if (targetWebApkPackageName != null + && targetWebApkPackageName.equals(params.webApkPackageName())) { + if (DEBUG) Log.i(TAG, "NO_OVERRIDE: Navigation in WebApk"); + return OverrideUrlLoadingResult.NO_OVERRIDE; + } - if (targetWebApkPackageName != null - && mDelegate.countSpecializedHandlers(resolvingInfos) == 1) { - intent.setPackage(targetWebApkPackageName); - } + if (targetWebApkPackageName != null + && mDelegate.countSpecializedHandlers(resolvingInfos) == 1) { + intent.setPackage(targetWebApkPackageName); } if (mDelegate.startActivityIfNeeded(intent, shouldProxyForInstantApps)) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/BrowsingHistoryBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/history/BrowsingHistoryBridge.java index c4c5a07..ddb01462 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/history/BrowsingHistoryBridge.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/history/BrowsingHistoryBridge.java
@@ -5,7 +5,6 @@ package org.chromium.chrome.browser.history; import org.chromium.base.annotations.CalledByNative; -import org.chromium.chrome.browser.profiles.Profile; import java.util.ArrayList; import java.util.List; @@ -17,8 +16,8 @@ private boolean mRemovingItems; private boolean mHasPendingRemoveRequest; - public BrowsingHistoryBridge() { - mNativeHistoryBridge = nativeInit(Profile.getLastUsedProfile()); + public BrowsingHistoryBridge(boolean isIncognito) { + mNativeHistoryBridge = nativeInit(isIncognito); } @Override @@ -95,7 +94,7 @@ } } - private native long nativeInit(Profile profile); + private native long nativeInit(boolean isIncognito); private native void nativeDestroy(long nativeBrowsingHistoryBridge); private native void nativeQueryHistory(long nativeBrowsingHistoryBridge, List<HistoryItem> historyItems, String query, long queryEndTime);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryActivity.java index d17af8d..869f7048 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryActivity.java
@@ -7,7 +7,9 @@ import android.os.Bundle; import org.chromium.base.VisibleForTesting; +import org.chromium.chrome.browser.IntentHandler; import org.chromium.chrome.browser.SnackbarActivity; +import org.chromium.chrome.browser.util.IntentUtils; /** * Activity for displaying the browsing history manager. @@ -19,7 +21,9 @@ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - mHistoryManager = new HistoryManager(this, true, getSnackbarManager()); + boolean isIncognito = IntentUtils.safeGetBooleanExtra( + getIntent(), IntentHandler.EXTRA_INCOGNITO_MODE, false); + mHistoryManager = new HistoryManager(this, true, getSnackbarManager(), isIncognito); setContentView(mHistoryManager.getView()); }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryAdapter.java index df14938..c64d1db 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryAdapter.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryAdapter.java
@@ -388,7 +388,8 @@ */ boolean hasPrivacyDisclaimers() { boolean isSignedIn = ChromeSigninController.get().isSignedIn(); - return isSignedIn || mHasSyncedData || mHasOtherFormsOfBrowsingData; + return !mHistoryManager.isIncognito() + && (isSignedIn || mHasSyncedData || mHasOtherFormsOfBrowsingData); } /**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java index c771c128..2bcf8394 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManager.java
@@ -61,6 +61,7 @@ private static HistoryProvider sProviderForTests; private final Activity mActivity; + private final boolean mIsIncognito; private final boolean mIsSeparateActivity; private final SelectableListLayout<HistoryItem> mSelectableListLayout; private final HistoryAdapter mHistoryAdapter; @@ -73,27 +74,29 @@ private boolean mIsSearching; private boolean mShouldShowInfoHeader; - /** * Creates a new HistoryManager. * @param activity The Activity associated with the HistoryManager. * @param isSeparateActivity Whether the history UI will be shown in a separate activity than * the main Chrome activity. * @param snackbarManager The {@link SnackbarManager} used to display snackbars. + * @param isIncognito Whether the incognito tab model is currently selected. */ @SuppressWarnings("unchecked") // mSelectableListLayout - public HistoryManager( - Activity activity, boolean isSeparateActivity, SnackbarManager snackbarManager) { + public HistoryManager(Activity activity, boolean isSeparateActivity, + SnackbarManager snackbarManager, boolean isIncognito) { mShouldShowInfoHeader = ContextUtils.getAppSharedPreferences().getBoolean(PREF_SHOW_HISTORY_INFO, true); mActivity = activity; mIsSeparateActivity = isSeparateActivity; mSnackbarManager = snackbarManager; + mIsIncognito = isIncognito; mSelectionDelegate = new SelectionDelegate<>(); mSelectionDelegate.addObserver(this); mHistoryAdapter = new HistoryAdapter(mSelectionDelegate, this, - sProviderForTests != null ? sProviderForTests : new BrowsingHistoryBridge()); + sProviderForTests != null ? sProviderForTests + : new BrowsingHistoryBridge(isIncognito)); // 1. Create SelectableListLayout. mSelectableListLayout = @@ -272,6 +275,13 @@ getOpenUrlIntent(url, isIncognito, createNewTab)); } + /** + * @return Whether the HistoryManager is displaying history for the incognito profile. + */ + public boolean isIncognito() { + return mIsIncognito; + } + @VisibleForTesting Intent getOpenUrlIntent(String url, Boolean isIncognito, boolean createNewTab) { // Construct basic intent.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManagerUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManagerUtils.java index 46f7f4f..f944f5a 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManagerUtils.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryManagerUtils.java
@@ -39,6 +39,8 @@ Intent intent = new Intent(); intent.setClass(appContext, HistoryActivity.class); intent.putExtra(IntentHandler.EXTRA_PARENT_COMPONENT, activity.getComponentName()); + intent.putExtra(IntentHandler.EXTRA_INCOGNITO_MODE, + activity.getTabModelSelector().isIncognitoSelected()); activity.startActivity(intent); } }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java index 9742794a..2fe225b 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryPage.java
@@ -7,6 +7,7 @@ import android.app.Activity; import android.view.View; +import org.chromium.base.ApiCompatibilityUtils; import org.chromium.chrome.R; import org.chromium.chrome.browser.BasicNativePage; import org.chromium.chrome.browser.NativePageHost; @@ -19,6 +20,7 @@ public class HistoryPage extends BasicNativePage { private HistoryManager mHistoryManager; private String mTitle; + private int mThemeColor; /** * Create a new instance of the history page. @@ -28,12 +30,16 @@ */ public HistoryPage(Activity activity, NativePageHost host) { super(activity, host); + + mThemeColor = !host.isIncognito() ? super.getThemeColor() + : ApiCompatibilityUtils.getColor(activity.getResources(), + R.color.incognito_primary_color); } @Override protected void initialize(Activity activity, final NativePageHost host) { - mHistoryManager = new HistoryManager( - activity, false, ((SnackbarManageable) activity).getSnackbarManager()); + mHistoryManager = new HistoryManager(activity, false, + ((SnackbarManageable) activity).getSnackbarManager(), host.isIncognito()); mTitle = activity.getString(R.string.menu_history); } @@ -58,4 +64,9 @@ mHistoryManager = null; super.destroy(); } + + @Override + public int getThemeColor() { + return mThemeColor; + } }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistorySheetContent.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistorySheetContent.java index 6f2d465a..e96940c 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistorySheetContent.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistorySheetContent.java
@@ -27,7 +27,8 @@ * @param snackbarManager The {@link SnackbarManager} used to display snackbars. */ public HistorySheetContent(final ChromeActivity activity, SnackbarManager snackbarManager) { - mHistoryManager = new HistoryManager(activity, false, snackbarManager); + mHistoryManager = new HistoryManager(activity, false, snackbarManager, + activity.getTabModelSelector().isIncognitoSelected()); mContentView = mHistoryManager.getView(); mToolbarView = mHistoryManager.detachToolbarView(); mToolbarView.addObserver(new SelectableListToolbar.SelectableListToolbarObserver() {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateCompactInfoBar.java b/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateCompactInfoBar.java index c0e7637..7eceb301 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateCompactInfoBar.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateCompactInfoBar.java
@@ -182,6 +182,17 @@ (LinearLayout) LayoutInflater.from(getContext()) .inflate(R.layout.infobar_translate_compact_content, parent, false); + // When parent tab is being switched out (view detached), dismiss all menus and snackbars. + content.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() { + @Override + public void onViewAttachedToWindow(View view) {} + + @Override + public void onViewDetachedFromWindow(View view) { + dismissMenusAndSnackbars(); + } + }); + mTabLayout = (TranslateTabLayout) content.findViewById(R.id.translate_infobar_tabs); mTabLayout.addTabs(mOptions.sourceLanguageName(), mOptions.targetLanguageName()); @@ -440,14 +451,19 @@ if (mLanguageMenuHelper != null) mLanguageMenuHelper.dismiss(); } - @Override - protected void onStartedHiding() { + // Dismiss all overflow menus and snackbars that belong to this infobar and remain open. + private void dismissMenusAndSnackbars() { dismissMenus(); if (getSnackbarManager() != null && mSnackbarController != null) { getSnackbarManager().dismissSnackbars(mSnackbarController); } } + @Override + protected void onStartedHiding() { + dismissMenusAndSnackbars(); + } + /** * Returns true if overflow menu is showing. This is only used for automation testing. */
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java index 6feb385e..8ce75fd8 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/init/ProcessInitializationHandler.java
@@ -69,7 +69,6 @@ import org.chromium.chrome.browser.services.GoogleServicesManager; import org.chromium.chrome.browser.share.ShareHelper; import org.chromium.chrome.browser.sync.SyncController; -import org.chromium.chrome.browser.webapps.ChromeWebApkHost; import org.chromium.chrome.browser.webapps.WebApkVersionManager; import org.chromium.chrome.browser.webapps.WebappRegistry; import org.chromium.components.background_task_scheduler.BackgroundTaskSchedulerFactory; @@ -455,9 +454,7 @@ // Initialize whether or not precaching is enabled. PrecacheLauncher.updatePrecachingEnabled(context); - if (ChromeWebApkHost.isEnabled()) { - WebApkVersionManager.updateWebApksIfNeeded(); - } + WebApkVersionManager.updateWebApksIfNeeded(); removeSnapshotDatabase(context);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java index c0aa956df..681dc1f 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationPlatformBridge.java
@@ -40,7 +40,6 @@ import org.chromium.chrome.browser.preferences.website.SingleCategoryPreferences; import org.chromium.chrome.browser.preferences.website.SingleWebsitePreferences; import org.chromium.chrome.browser.preferences.website.SiteSettingsCategory; -import org.chromium.chrome.browser.webapps.ChromeWebApkHost; import org.chromium.components.url_formatter.UrlFormatter; import org.chromium.webapk.lib.client.WebApkValidator; @@ -155,8 +154,6 @@ */ @CalledByNative private String queryWebApkPackage(String url) { - if (!ChromeWebApkHost.isEnabled()) return ""; - String webApkPackage = WebApkValidator.queryWebApkPackage(ContextUtils.getApplicationContext(), url); return webApkPackage == null ? "" : webApkPackage; @@ -191,13 +188,10 @@ Log.i(TAG, "Dispatching notification event to native: " + notificationId); if (NotificationConstants.ACTION_CLICK_NOTIFICATION.equals(intent.getAction())) { - String webApkPackage = ""; - if (ChromeWebApkHost.isEnabled()) { - webApkPackage = intent.getStringExtra( + String webApkPackage = intent.getStringExtra( NotificationConstants.EXTRA_NOTIFICATION_INFO_WEBAPK_PACKAGE); - if (webApkPackage == null) { - webApkPackage = ""; - } + if (webApkPackage == null) { + webApkPackage = ""; } int actionIndex = intent.getIntExtra( NotificationConstants.EXTRA_NOTIFICATION_INFO_ACTION_INDEX, -1);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/AddressEditor.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/AddressEditor.java index 2e0681b..70da6ed2 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/payments/AddressEditor.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/AddressEditor.java
@@ -429,7 +429,12 @@ @Override public boolean isValid(@Nullable CharSequence value) { - return value != null && PhoneNumberUtil.isValidNumber(value.toString(), mCountryCode); + // TODO(gogerald): Warn users when the phone number is a possible number but may be + // invalid, crbug.com/736387. + // Note that isPossibleNumber is used since the metadata in libphonenumber has to be + // updated frequently (daily) to do more strict validation. + return value != null + && PhoneNumberUtil.isPossibleNumber(value.toString(), mCountryCode); } @Override
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/ChromeWebApkHost.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/ChromeWebApkHost.java index 3cb43b09..77270c0 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/ChromeWebApkHost.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/ChromeWebApkHost.java
@@ -27,23 +27,17 @@ /** Whether installing WebAPks from Google Play is possible. */ private static Integer sGooglePlayInstallState; - private static Boolean sEnabledForTesting; + private static Boolean sInstallsEnabledForTesting; public static void init() { WebApkValidator.init( ChromeWebApkHostSignature.EXPECTED_SIGNATURE, ChromeWebApkHostSignature.PUBLIC_KEY); } - public static void initForTesting(boolean enabled) { - sEnabledForTesting = enabled; - sGooglePlayInstallState = enabled ? GooglePlayInstallState.SUPPORTED - : GooglePlayInstallState.NO_PLAY_SERVICES; - } - - public static boolean isEnabled() { - if (sEnabledForTesting != null) return sEnabledForTesting; - - return isEnabledInPrefs(); + public static void initForTesting(boolean installsEnabled) { + sInstallsEnabledForTesting = installsEnabled; + sGooglePlayInstallState = installsEnabled ? GooglePlayInstallState.SUPPORTED + : GooglePlayInstallState.NO_PLAY_SERVICES; } /** Computes the GooglePlayInstallState. */ @@ -66,7 +60,10 @@ /** Returns whether installing WebAPKs is possible. */ @CalledByNative private static boolean canInstallWebApk() { - return isEnabled() && getGooglePlayInstallState() == GooglePlayInstallState.SUPPORTED; + if (sInstallsEnabledForTesting != null) return sInstallsEnabledForTesting; + + return isEnabledInPrefs() + && getGooglePlayInstallState() == GooglePlayInstallState.SUPPORTED; } @CalledByNative @@ -79,8 +76,7 @@ /* Returns whether launching renderer in WebAPK process is enabled by Chrome. */ public static boolean canLaunchRendererInWebApkProcess() { - return isEnabled() && LibraryLoader.isInitialized() - && nativeCanLaunchRendererInWebApkProcess(); + return LibraryLoader.isInitialized() && nativeCanLaunchRendererInWebApkProcess(); } /**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappLauncherActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappLauncherActivity.java index 7089239b..d9a8642 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappLauncherActivity.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebappLauncherActivity.java
@@ -242,8 +242,6 @@ * @return true iff all validation criteria are met. */ private boolean isValidWebApk(Intent intent) { - if (!ChromeWebApkHost.isEnabled()) return false; - String webApkPackage = IntentUtils.safeGetStringExtra(intent, WebApkConstants.EXTRA_WEBAPK_PACKAGE_NAME); if (TextUtils.isEmpty(webApkPackage)) return false;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/widget/NumberRollView.java b/chrome/android/java/src/org/chromium/chrome/browser/widget/NumberRollView.java index b5e4140..4079f771 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/widget/NumberRollView.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/widget/NumberRollView.java
@@ -26,7 +26,7 @@ private TextView mDownNumber; private float mNumber; private Animator mLastRollAnimator; - private int mContentDescriptionStringId; + private int mStringId; /** * A Property wrapper around the <code>number</code> functionality handled by the @@ -83,11 +83,11 @@ } /** - * @param pluralStringId The id of the string to use for the content description. The string - * must be a plural that has one placeholder for a quantity. + * @param stringId The id of the string to use for the description. The string must be a plural + * that has one placeholder for a quantity. */ - public void setContentDescriptionString(int pluralStringId) { - mContentDescriptionStringId = pluralStringId; + public void setString(int stringId) { + mStringId = stringId; } /** @@ -106,22 +106,23 @@ int upNumber = downNumber + 1; NumberFormat numberFormatter = NumberFormat.getIntegerInstance(); - String newString = numberFormatter.format(upNumber); + String newString; + if (mStringId != 0) { + newString = getResources().getQuantityString(mStringId, upNumber, upNumber); + } else { + newString = numberFormatter.format(upNumber); + } if (!newString.equals(mUpNumber.getText().toString())) { mUpNumber.setText(newString); - if (mContentDescriptionStringId != 0) { - mUpNumber.setContentDescription(getResources().getQuantityString( - mContentDescriptionStringId, upNumber, upNumber)); - } } - newString = numberFormatter.format(downNumber); + if (mStringId != 0) { + newString = getResources().getQuantityString(mStringId, downNumber, downNumber); + } else { + newString = numberFormatter.format(downNumber); + } if (!newString.equals(mDownNumber.getText().toString())) { mDownNumber.setText(newString); - if (mContentDescriptionStringId != 0) { - mDownNumber.setContentDescription(getResources().getQuantityString( - mContentDescriptionStringId, downNumber, downNumber)); - } } float offset = number % 1.0f;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/widget/bottomsheet/BottomSheet.java b/chrome/android/java/src/org/chromium/chrome/browser/widget/bottomsheet/BottomSheet.java index 042d3ec8..3dd7ed9 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/widget/bottomsheet/BottomSheet.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/widget/bottomsheet/BottomSheet.java
@@ -1095,7 +1095,7 @@ private void setSheetOffsetFromBottom(float offset) { if (MathUtils.areFloatsEqual(offset, getSheetOffsetFromBottom())) return; - if (offset > getMinOffset()) { + if (offset > getMinOffset() && !MathUtils.areFloatsEqual(offset, getMinOffset())) { onSheetOpened(); } else { onSheetClosed();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/widget/selection/SelectableListToolbar.java b/chrome/android/java/src/org/chromium/chrome/browser/widget/selection/SelectableListToolbar.java index a0ea625..df0b288 100644 --- a/chrome/android/java/src/org/chromium/chrome/browser/widget/selection/SelectableListToolbar.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/widget/selection/SelectableListToolbar.java
@@ -261,7 +261,7 @@ LayoutInflater.from(getContext()).inflate(R.layout.number_roll_view, this); mNumberRollView = (NumberRollView) findViewById(R.id.selection_mode_number); - mNumberRollView.setContentDescriptionString(R.plurals.accessibility_selected_items); + mNumberRollView.setString(R.plurals.accessibility_selected_items); mOriginalContentInsetStart = getContentInsetStart(); mOriginalContentInsetEnd = getContentInsetEnd();
diff --git a/chrome/android/java/strings/android_chrome_strings.grd b/chrome/android/java/strings/android_chrome_strings.grd index 70e4e9ca..4f73732 100644 --- a/chrome/android/java/strings/android_chrome_strings.grd +++ b/chrome/android/java/strings/android_chrome_strings.grd
@@ -2688,8 +2688,8 @@ </message> <message name="IDS_ACCESSIBILITY_SELECTED_ITEMS" desc="Content description for a number indicating how many items are selected. [ICU Syntax]"> {NUM_SELECTED, plural, - =1 {1 item selected} - other {# items selected}} + =1 {1 selected} + other {# selected}} </message> <message name="IDS_ACCESSIBILITY_SHARE_SELECTED_ITEMS" desc="Content description for the button to share selected items. [ICU Syntax]"> {NUM_SELECTED, plural,
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/PersonalDataManagerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/PersonalDataManagerTest.java index 137cc72..0f73273 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/PersonalDataManagerTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/autofill/PersonalDataManagerTest.java
@@ -14,6 +14,7 @@ import org.junit.runner.RunWith; import org.chromium.base.test.BaseJUnit4ClassRunner; +import org.chromium.base.test.util.DisabledTest; import org.chromium.base.test.util.Feature; import org.chromium.base.test.util.RetryOnFailure; import org.chromium.chrome.browser.autofill.PersonalDataManager.AutofillProfile; @@ -120,9 +121,12 @@ } @Test + /* @SmallTest @Feature({"Autofill"}) @RetryOnFailure + */ + @DisabledTest(message = "crbug.com/739575") public void testAddAndDeleteProfile() throws InterruptedException, ExecutionException, TimeoutException { String profileOneGUID = mHelper.setProfile(createTestProfile()); @@ -257,8 +261,11 @@ } @Test + /* @SmallTest @Feature({"Autofill"}) + */ + @DisabledTest(message = "crbug.com/739575") public void testLabels() throws InterruptedException, ExecutionException, TimeoutException { AutofillProfile profile1 = new AutofillProfile( "" /* guid */, "https://www.example.com" /* origin */, @@ -310,8 +317,11 @@ } @Test + /* @SmallTest @Feature({"Autofill"}) + */ + @DisabledTest(message = "crbug.com/739575") public void testProfilesFrecency() throws InterruptedException, ExecutionException, TimeoutException { // Create 3 profiles. @@ -437,9 +447,12 @@ } @Test + /* @SmallTest @Feature({"Autofill"}) @RetryOnFailure + */ + @DisabledTest(message = "crbug.com/739575") public void testCreditCardUseStatsSettingAndGetting() throws InterruptedException, ExecutionException, TimeoutException { String guid = mHelper.setCreditCard( @@ -487,9 +500,12 @@ } @Test + /* @SmallTest @Feature({"Autofill"}) @RetryOnFailure + */ + @DisabledTest(message = "crbug.com/739575") public void testRecordAndLogCreditCardUse() throws InterruptedException, ExecutionException, TimeoutException { String guid = mHelper.setCreditCard(
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java index b449631..92d4c3b 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivityTest.java
@@ -2933,7 +2933,7 @@ ThreadUtils.runOnUiThreadBlocking(new Runnable() { @Override public void run() { - BrowsingHistoryBridge historyService = new BrowsingHistoryBridge(); + BrowsingHistoryBridge historyService = new BrowsingHistoryBridge(false); historyService.setObserver(historyObserver); String historyQueryFilter = ""; int historyQueryTimeout = 0;
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandlerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandlerTest.java index 49114fc..b6e6a37 100644 --- a/chrome/android/javatests/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandlerTest.java +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/externalnav/ExternalNavigationHandlerTest.java
@@ -35,7 +35,6 @@ import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.TabRedirectHandler; import org.chromium.chrome.browser.test.ChromeBrowserTestRule; -import org.chromium.chrome.browser.webapps.ChromeWebApkHost; import org.chromium.ui.base.PageTransition; import org.chromium.webapk.lib.common.WebApkConstants; @@ -126,7 +125,6 @@ @Before public void setUp() { mDelegate.mQueryIntentOverride = null; - ChromeWebApkHost.initForTesting(false); // disabled by default RecordHistogram.setDisabledForTests(true); } @@ -1196,25 +1194,12 @@ } /** - * Test that tapping a link which falls solely into the scope of a WebAPK does not bypass the - * intent picker if WebAPKs are not enabled. - */ - @Test - @SmallTest - public void testLaunchWebApk_WebApkNotEnabled() { - checkUrl(WEBAPK_SCOPE) - .expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT, - START_OTHER_ACTIVITY); - } - - /** * Test that tapping a link which falls solely in the scope of a WebAPK launches a WebAPK * without showing the intent picker if WebAPKs are enabled. */ @Test @SmallTest public void testLaunchWebApk_BypassIntentPicker() { - ChromeWebApkHost.initForTesting(true); checkUrl(WEBAPK_SCOPE) .expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT, START_WEBAPK); } @@ -1226,7 +1211,6 @@ @Test @SmallTest public void testLaunchWebApk_ShowIntentPickerMultipleIntentHandlers() { - ChromeWebApkHost.initForTesting(true); checkUrl(WEBAPK_WITH_NATIVE_APP_SCOPE) .expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT, START_OTHER_ACTIVITY); @@ -1239,7 +1223,6 @@ @Test @SmallTest public void testLaunchWebApk_BypassIntentPickerFromAnotherWebApk() { - ChromeWebApkHost.initForTesting(true); checkUrl(WEBAPK_SCOPE) .withReferrer(WEBAPK_WITH_NATIVE_APP_SCOPE) .withWebApkPackageName(WEBAPK_WITH_NATIVE_APP_PACKAGE_NAME) @@ -1254,7 +1237,6 @@ @Test @SmallTest public void testLaunchWebApk_ShowIntentPickerInvalidWebApk() { - ChromeWebApkHost.initForTesting(true); checkUrl(COUNTERFEIT_WEBAPK_SCOPE) .expecting(OverrideUrlLoadingResult.OVERRIDE_WITH_EXTERNAL_INTENT, START_OTHER_ACTIVITY); @@ -1267,7 +1249,6 @@ @Test @SmallTest public void testLaunchWebApk_StayInSameWebApk() { - ChromeWebApkHost.initForTesting(true); checkUrl(WEBAPK_SCOPE + "/new.html") .withWebApkPackageName(WEBAPK_PACKAGE_NAME) .expecting(OverrideUrlLoadingResult.NO_OVERRIDE, IGNORE);
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/webapps/WebApkUpdateManagerTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/webapps/WebApkUpdateManagerTest.java index b3717f5..1fe094e2 100644 --- a/chrome/android/junit/src/org/chromium/chrome/browser/webapps/WebApkUpdateManagerTest.java +++ b/chrome/android/junit/src/org/chromium/chrome/browser/webapps/WebApkUpdateManagerTest.java
@@ -336,7 +336,6 @@ public void setUp() { ContextUtils.initApplicationContextForTests(RuntimeEnvironment.application); CommandLine.init(null); - ChromeWebApkHost.initForTesting(true); registerWebApk(WEBAPK_PACKAGE_NAME, defaultManifestData(), CURRENT_SHELL_APK_VERSION); mClock = new MockClock();
diff --git a/chrome/app/chrome_main.cc b/chrome/app/chrome_main.cc index 52b2f96..ac8075b 100644 --- a/chrome/app/chrome_main.cc +++ b/chrome/app/chrome_main.cc
@@ -122,7 +122,8 @@ if (command_line->GetSwitchValueASCII(switches::kProcessType) == switches::kProfiling) return profiling::ProfilingMain(*command_line); - profiling::InitMemlogSenderIfNecessary(*command_line); + if (command_line->HasSwitch(switches::kProcessType)) + profiling::InitMemlogSenderIfNecessary(*command_line); #endif // ENABLE_OOP_HEAP_PROFILING #if defined(OS_CHROMEOS) && BUILDFLAG(ENABLE_PACKAGE_MASH_SERVICES)
diff --git a/chrome/browser/after_startup_task_utils_unittest.cc b/chrome/browser/after_startup_task_utils_unittest.cc index 53308cc..ff0a88a5 100644 --- a/chrome/browser/after_startup_task_utils_unittest.cc +++ b/chrome/browser/after_startup_task_utils_unittest.cc
@@ -10,25 +10,19 @@ #include "base/bind.h" #include "base/bind_helpers.h" #include "base/memory/ref_counted.h" -#include "base/message_loop/message_loop.h" #include "base/run_loop.h" #include "base/task_runner_util.h" -#include "base/threading/thread.h" -#include "base/threading/thread_task_runner_handle.h" +#include "base/task_scheduler/post_task.h" #include "content/public/browser/browser_thread.h" #include "content/public/test/test_browser_thread_bundle.h" #include "testing/gtest/include/gtest/gtest.h" -using base::RunLoop; -using content::BrowserThread; -using content::TestBrowserThreadBundle; - namespace { class WrappedTaskRunner : public base::TaskRunner { public: - explicit WrappedTaskRunner(const scoped_refptr<TaskRunner>& real_runner) - : real_task_runner_(real_runner) {} + explicit WrappedTaskRunner(scoped_refptr<TaskRunner> real_runner) + : real_task_runner_(std::move(real_runner)) {} bool PostDelayedTask(const tracked_objects::Location& from_here, base::OnceClosure task, @@ -73,21 +67,21 @@ class AfterStartupTaskTest : public testing::Test { public: - AfterStartupTaskTest() - : browser_thread_bundle_(TestBrowserThreadBundle::REAL_DB_THREAD) { - ui_thread_ = new WrappedTaskRunner( - BrowserThread::GetTaskRunnerForThread(BrowserThread::UI)); - db_thread_ = new WrappedTaskRunner( - BrowserThread::GetTaskRunnerForThread(BrowserThread::DB)); + AfterStartupTaskTest() { + ui_thread_ = base::MakeRefCounted<WrappedTaskRunner>( + content::BrowserThread::GetTaskRunnerForThread( + content::BrowserThread::UI)); + background_sequence_ = base::MakeRefCounted<WrappedTaskRunner>( + base::CreateSequencedTaskRunnerWithTraits(base::TaskTraits())); AfterStartupTaskUtils::UnsafeResetForTesting(); } - // Hop to the db thread and call IsBrowserStartupComplete. - bool GetIsBrowserStartupCompleteFromDBThread() { - RunLoop run_loop; + // Hop to the background sequence and call IsBrowserStartupComplete. + bool GetIsBrowserStartupCompleteFromBackgroundSequence() { + base::RunLoop run_loop; bool is_complete; base::PostTaskAndReplyWithResult( - db_thread_->real_runner(), FROM_HERE, + background_sequence_->real_runner(), FROM_HERE, base::Bind(&AfterStartupTaskUtils::IsBrowserStartupComplete), base::Bind(&AfterStartupTaskTest::GotIsOnBrowserStartupComplete, &run_loop, &is_complete)); @@ -95,58 +89,58 @@ return is_complete; } - // Hop to the db thread and call PostAfterStartupTask. - void PostAfterStartupTaskFromDBThread( + // Hop to the background sequence and call PostAfterStartupTask. + void PostAfterStartupTaskFromBackgroundSequence( const tracked_objects::Location& from_here, - const scoped_refptr<base::TaskRunner>& task_runner, + scoped_refptr<base::TaskRunner> task_runner, base::OnceClosure task) { - RunLoop run_loop; - db_thread_->real_runner()->PostTaskAndReply( + base::RunLoop run_loop; + background_sequence_->real_runner()->PostTaskAndReply( FROM_HERE, - base::BindOnce(&AfterStartupTaskUtils::PostTask, from_here, task_runner, - std::move(task)), - base::BindOnce(&RunLoop::Quit, base::Unretained(&run_loop))); + base::BindOnce(&AfterStartupTaskUtils::PostTask, from_here, + std::move(task_runner), std::move(task)), + base::BindOnce(&base::RunLoop::Quit, base::Unretained(&run_loop))); run_loop.Run(); } - // Make sure all tasks posted to the DB thread get run. - void FlushDBThread() { - RunLoop run_loop; - db_thread_->real_runner()->PostTaskAndReply( + // Make sure all tasks posted to the background sequence get run. + void FlushBackgroundSequence() { + base::RunLoop run_loop; + background_sequence_->real_runner()->PostTaskAndReply( FROM_HERE, base::BindOnce(&base::DoNothing), - base::BindOnce(&RunLoop::Quit, base::Unretained(&run_loop))); + base::BindOnce(&base::RunLoop::Quit, base::Unretained(&run_loop))); run_loop.Run(); } - static void VerifyExpectedThread(BrowserThread::ID id) { - EXPECT_TRUE(BrowserThread::CurrentlyOn(id)); + static void VerifyExpectedSequence(base::TaskRunner* task_runner) { + EXPECT_TRUE(task_runner->RunsTasksInCurrentSequence()); } protected: scoped_refptr<WrappedTaskRunner> ui_thread_; - scoped_refptr<WrappedTaskRunner> db_thread_; + scoped_refptr<WrappedTaskRunner> background_sequence_; private: - static void GotIsOnBrowserStartupComplete(RunLoop* loop, + static void GotIsOnBrowserStartupComplete(base::RunLoop* loop, bool* out, bool is_complete) { *out = is_complete; loop->Quit(); } - TestBrowserThreadBundle browser_thread_bundle_; + content::TestBrowserThreadBundle browser_thread_bundle_; }; TEST_F(AfterStartupTaskTest, IsStartupComplete) { - // Check IsBrowserStartupComplete on a background thread first to - // verify that it does not allocate the underlying flag on that thread. - // That allocation thread correctness part of this test relies on + // Check IsBrowserStartupComplete on a background sequence first to + // verify that it does not allocate the underlying flag on that sequence. + // That allocation sequence correctness part of this test relies on // the DCHECK in CancellationFlag::Set(). - EXPECT_FALSE(GetIsBrowserStartupCompleteFromDBThread()); + EXPECT_FALSE(GetIsBrowserStartupCompleteFromBackgroundSequence()); EXPECT_FALSE(AfterStartupTaskUtils::IsBrowserStartupComplete()); AfterStartupTaskUtils::SetBrowserStartupIsCompleteForTesting(); EXPECT_TRUE(AfterStartupTaskUtils::IsBrowserStartupComplete()); - EXPECT_TRUE(GetIsBrowserStartupCompleteFromDBThread()); + EXPECT_TRUE(GetIsBrowserStartupCompleteFromBackgroundSequence()); } TEST_F(AfterStartupTaskTest, PostTask) { @@ -154,77 +148,79 @@ EXPECT_FALSE(AfterStartupTaskUtils::IsBrowserStartupComplete()); AfterStartupTaskUtils::PostTask( FROM_HERE, ui_thread_, - base::BindOnce(&AfterStartupTaskTest::VerifyExpectedThread, - BrowserThread::UI)); + base::BindOnce(&AfterStartupTaskTest::VerifyExpectedSequence, + base::RetainedRef(ui_thread_))); AfterStartupTaskUtils::PostTask( - FROM_HERE, db_thread_, - base::BindOnce(&AfterStartupTaskTest::VerifyExpectedThread, - BrowserThread::DB)); - PostAfterStartupTaskFromDBThread( + FROM_HERE, background_sequence_, + base::BindOnce(&AfterStartupTaskTest::VerifyExpectedSequence, + base::RetainedRef(background_sequence_))); + PostAfterStartupTaskFromBackgroundSequence( FROM_HERE, ui_thread_, - base::BindOnce(&AfterStartupTaskTest::VerifyExpectedThread, - BrowserThread::UI)); - PostAfterStartupTaskFromDBThread( - FROM_HERE, db_thread_, - base::BindOnce(&AfterStartupTaskTest::VerifyExpectedThread, - BrowserThread::DB)); - RunLoop().RunUntilIdle(); - EXPECT_EQ(0, db_thread_->total_task_count() + ui_thread_->total_task_count()); + base::BindOnce(&AfterStartupTaskTest::VerifyExpectedSequence, + base::RetainedRef(ui_thread_))); + PostAfterStartupTaskFromBackgroundSequence( + FROM_HERE, background_sequence_, + base::BindOnce(&AfterStartupTaskTest::VerifyExpectedSequence, + base::RetainedRef(background_sequence_))); + base::RunLoop().RunUntilIdle(); + EXPECT_EQ(0, background_sequence_->total_task_count() + + ui_thread_->total_task_count()); // Queued tasks should be posted upon setting the flag. AfterStartupTaskUtils::SetBrowserStartupIsCompleteForTesting(); - EXPECT_EQ(2, db_thread_->posted_task_count()); + EXPECT_EQ(2, background_sequence_->posted_task_count()); EXPECT_EQ(2, ui_thread_->posted_task_count()); - FlushDBThread(); - RunLoop().RunUntilIdle(); - EXPECT_EQ(2, db_thread_->ran_task_count()); + FlushBackgroundSequence(); + base::RunLoop().RunUntilIdle(); + EXPECT_EQ(2, background_sequence_->ran_task_count()); EXPECT_EQ(2, ui_thread_->ran_task_count()); - db_thread_->reset_task_counts(); + background_sequence_->reset_task_counts(); ui_thread_->reset_task_counts(); - EXPECT_EQ(0, db_thread_->total_task_count() + ui_thread_->total_task_count()); + EXPECT_EQ(0, background_sequence_->total_task_count() + + ui_thread_->total_task_count()); // Tasks posted after startup should get posted immediately. AfterStartupTaskUtils::PostTask(FROM_HERE, ui_thread_, base::BindOnce(&base::DoNothing)); - AfterStartupTaskUtils::PostTask(FROM_HERE, db_thread_, + AfterStartupTaskUtils::PostTask(FROM_HERE, background_sequence_, base::BindOnce(&base::DoNothing)); - EXPECT_EQ(1, db_thread_->posted_task_count()); + EXPECT_EQ(1, background_sequence_->posted_task_count()); EXPECT_EQ(1, ui_thread_->posted_task_count()); - PostAfterStartupTaskFromDBThread(FROM_HERE, ui_thread_, - base::BindOnce(&base::DoNothing)); - PostAfterStartupTaskFromDBThread(FROM_HERE, db_thread_, - base::BindOnce(&base::DoNothing)); - EXPECT_EQ(2, db_thread_->posted_task_count()); + PostAfterStartupTaskFromBackgroundSequence(FROM_HERE, ui_thread_, + base::BindOnce(&base::DoNothing)); + PostAfterStartupTaskFromBackgroundSequence(FROM_HERE, background_sequence_, + base::BindOnce(&base::DoNothing)); + EXPECT_EQ(2, background_sequence_->posted_task_count()); EXPECT_EQ(2, ui_thread_->posted_task_count()); - FlushDBThread(); - RunLoop().RunUntilIdle(); - EXPECT_EQ(2, db_thread_->ran_task_count()); + FlushBackgroundSequence(); + base::RunLoop().RunUntilIdle(); + EXPECT_EQ(2, background_sequence_->ran_task_count()); EXPECT_EQ(2, ui_thread_->ran_task_count()); } -// Verify that posting to an AfterStartupTaskUtils::Runner bound to |db_thread_| -// results in the same behavior as posting via -// AfterStartupTaskUtils::PostTask(..., db_thread_, ...). +// Verify that posting to an AfterStartupTaskUtils::Runner bound to +// |background_sequence_| results in the same behavior as posting via +// AfterStartupTaskUtils::PostTask(..., background_sequence_, ...). TEST_F(AfterStartupTaskTest, AfterStartupTaskUtilsRunner) { scoped_refptr<base::TaskRunner> after_startup_runner = - make_scoped_refptr(new AfterStartupTaskUtils::Runner(db_thread_)); + base::MakeRefCounted<AfterStartupTaskUtils::Runner>(background_sequence_); EXPECT_FALSE(AfterStartupTaskUtils::IsBrowserStartupComplete()); after_startup_runner->PostTask( - FROM_HERE, base::BindOnce(&AfterStartupTaskTest::VerifyExpectedThread, - BrowserThread::DB)); + FROM_HERE, base::BindOnce(&AfterStartupTaskTest::VerifyExpectedSequence, + base::RetainedRef(background_sequence_))); - RunLoop().RunUntilIdle(); + base::RunLoop().RunUntilIdle(); EXPECT_FALSE(AfterStartupTaskUtils::IsBrowserStartupComplete()); - EXPECT_EQ(0, db_thread_->total_task_count()); + EXPECT_EQ(0, background_sequence_->total_task_count()); AfterStartupTaskUtils::SetBrowserStartupIsCompleteForTesting(); - EXPECT_EQ(1, db_thread_->posted_task_count()); + EXPECT_EQ(1, background_sequence_->posted_task_count()); - FlushDBThread(); - RunLoop().RunUntilIdle(); - EXPECT_EQ(1, db_thread_->ran_task_count()); + FlushBackgroundSequence(); + base::RunLoop().RunUntilIdle(); + EXPECT_EQ(1, background_sequence_->ran_task_count()); EXPECT_EQ(0, ui_thread_->total_task_count()); }
diff --git a/chrome/browser/android/banners/app_banner_infobar_delegate_android.cc b/chrome/browser/android/banners/app_banner_infobar_delegate_android.cc index 796faab0..797b9b7 100644 --- a/chrome/browser/android/banners/app_banner_infobar_delegate_android.cc +++ b/chrome/browser/android/banners/app_banner_infobar_delegate_android.cc
@@ -44,7 +44,6 @@ std::unique_ptr<ShortcutInfo> shortcut_info, const SkBitmap& primary_icon, const SkBitmap& badge_icon, - int event_request_id, bool is_webapk, webapk::InstallSource webapk_install_source) { DCHECK(shortcut_info); @@ -55,7 +54,7 @@ auto infobar_delegate = base::WrapUnique(new banners::AppBannerInfoBarDelegateAndroid( weak_manager, std::move(shortcut_info), primary_icon, badge_icon, - event_request_id, is_webapk, webapk_install_source)); + is_webapk, webapk_install_source)); auto* raw_delegate = infobar_delegate.get(); auto infobar = base::MakeUnique<AppBannerInfoBarAndroid>( std::move(infobar_delegate), url, is_webapk); @@ -84,11 +83,9 @@ const base::android::ScopedJavaGlobalRef<jobject>& native_app_data, const SkBitmap& icon, const std::string& native_app_package, - const std::string& referrer, - int event_request_id) { + const std::string& referrer) { auto infobar_delegate = base::WrapUnique(new AppBannerInfoBarDelegateAndroid( - app_title, native_app_data, icon, native_app_package, referrer, - event_request_id)); + app_title, native_app_data, icon, native_app_package, referrer)); return InfoBarService::FromWebContents(web_contents) ->AddInfoBar(base::MakeUnique<AppBannerInfoBarAndroid>( std::move(infobar_delegate), native_app_data)); @@ -205,7 +202,6 @@ std::unique_ptr<ShortcutInfo> shortcut_info, const SkBitmap& primary_icon, const SkBitmap& badge_icon, - int event_request_id, bool is_webapk, webapk::InstallSource webapk_install_source) : weak_manager_(weak_manager), @@ -213,7 +209,6 @@ shortcut_info_(std::move(shortcut_info)), primary_icon_(primary_icon), badge_icon_(badge_icon), - event_request_id_(event_request_id), has_user_interaction_(false), is_webapk_(is_webapk), install_state_(INSTALL_NOT_STARTED), @@ -227,14 +222,12 @@ const base::android::ScopedJavaGlobalRef<jobject>& native_app_data, const SkBitmap& icon, const std::string& native_app_package, - const std::string& referrer, - int event_request_id) + const std::string& referrer) : app_title_(app_title), native_app_data_(native_app_data), primary_icon_(icon), native_app_package_(native_app_package), referrer_(referrer), - event_request_id_(event_request_id), has_user_interaction_(false), weak_ptr_factory_(this) { DCHECK(!native_app_data_.is_null()); @@ -342,7 +335,7 @@ return; if (TriggeredFromBanner()) - weak_manager_->SendBannerAccepted(event_request_id_); + weak_manager_->SendBannerAccepted(); // Send the appinstalled event. Note that this is fired *before* the // installation actually takes place (which can be a significant amount of @@ -410,7 +403,7 @@ InfoBarService::WebContentsFromInfoBar(infobar()); if (weak_manager_ && TriggeredFromBanner()) - weak_manager_->SendBannerDismissed(event_request_id_); + weak_manager_->SendBannerDismissed(); if (native_app_data_.is_null()) { if (is_webapk_)
diff --git a/chrome/browser/android/banners/app_banner_infobar_delegate_android.h b/chrome/browser/android/banners/app_banner_infobar_delegate_android.h index ecba8527..581ae22 100644 --- a/chrome/browser/android/banners/app_banner_infobar_delegate_android.h +++ b/chrome/browser/android/banners/app_banner_infobar_delegate_android.h
@@ -42,7 +42,6 @@ std::unique_ptr<ShortcutInfo> info, const SkBitmap& primary_icon, const SkBitmap& badge_icon, - int event_request_id, bool is_webapk, webapk::InstallSource webapk_install_source); @@ -54,8 +53,7 @@ const base::android::ScopedJavaGlobalRef<jobject>& native_app_data, const SkBitmap& icon, const std::string& native_app_package, - const std::string& referrer, - int event_request_id); + const std::string& referrer); ~AppBannerInfoBarDelegateAndroid() override; @@ -96,7 +94,6 @@ std::unique_ptr<ShortcutInfo> info, const SkBitmap& primary_icon, const SkBitmap& badge_icon, - int event_request_id, bool is_webapk, webapk::InstallSource webapk_install_source); @@ -106,8 +103,7 @@ const base::android::ScopedJavaGlobalRef<jobject>& native_app_data, const SkBitmap& icon, const std::string& native_app_package, - const std::string& referrer, - int event_request_id); + const std::string& referrer); void CreateJavaDelegate(); bool AcceptNativeApp(content::WebContents* web_contents); @@ -158,7 +154,6 @@ std::string native_app_package_; std::string referrer_; - int event_request_id_; bool has_user_interaction_; bool is_webapk_;
diff --git a/chrome/browser/android/banners/app_banner_manager_android.cc b/chrome/browser/android/banners/app_banner_manager_android.cc index f50e444..967a2758 100644 --- a/chrome/browser/android/banners/app_banner_manager_android.cc +++ b/chrome/browser/android/banners/app_banner_manager_android.cc
@@ -249,7 +249,7 @@ contents, GetWeakPtr(), CreateShortcutInfo(manifest_url_, manifest_, primary_icon_url_, badge_icon_url_, can_install_webapk_), - primary_icon_, badge_icon_, event_request_id(), can_install_webapk_, + primary_icon_, badge_icon_, can_install_webapk_, webapk::INSTALL_SOURCE_BANNER)) { RecordDidShowBanner("AppBanner.WebApp.Shown"); TrackDisplayEvent(DISPLAY_EVENT_WEB_APP_BANNER_CREATED); @@ -260,7 +260,7 @@ } else { if (AppBannerInfoBarDelegateAndroid::Create( contents, native_app_title_, native_app_data_, primary_icon_, - native_app_package_, referrer_, event_request_id())) { + native_app_package_, referrer_)) { RecordDidShowBanner("AppBanner.NativeApp.Shown"); TrackDisplayEvent(DISPLAY_EVENT_NATIVE_APP_BANNER_CREATED); ReportStatus(contents, SHOWING_NATIVE_APP_BANNER);
diff --git a/chrome/browser/android/history/browsing_history_bridge.cc b/chrome/browser/android/history/browsing_history_bridge.cc index b747ae6e..185d51e1f 100644 --- a/chrome/browser/android/history/browsing_history_bridge.cc +++ b/chrome/browser/android/history/browsing_history_bridge.cc
@@ -14,18 +14,20 @@ #include "base/macros.h" #include "base/strings/utf_string_conversions.h" #include "base/time/time.h" -#include "chrome/browser/profiles/profile_android.h" +#include "chrome/browser/profiles/profile_manager.h" #include "components/url_formatter/url_formatter.h" #include "jni/BrowsingHistoryBridge_jni.h" const int kMaxQueryCount = 150; -BrowsingHistoryBridge::BrowsingHistoryBridge( - JNIEnv* env, - const JavaParamRef<jobject>& obj, - jobject j_profile) { - Profile* profile = ProfileAndroid::FromProfileAndroid(j_profile); - browsing_history_service_.reset(new BrowsingHistoryService(profile, this)); +BrowsingHistoryBridge::BrowsingHistoryBridge(JNIEnv* env, + const JavaParamRef<jobject>& obj, + bool is_incognito) { + Profile* profile = ProfileManager::GetLastUsedProfile(); + browsing_history_service_.reset(new BrowsingHistoryService( + is_incognito ? profile->GetOffTheRecordProfile() + : profile->GetOriginalProfile(), + this)); j_history_service_obj_.Reset(env, obj); } @@ -149,8 +151,8 @@ static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& obj, - const JavaParamRef<jobject>& j_profile) { + jboolean is_incognito) { BrowsingHistoryBridge* bridge = - new BrowsingHistoryBridge(env, obj, j_profile); + new BrowsingHistoryBridge(env, obj, is_incognito); return reinterpret_cast<intptr_t>(bridge); }
diff --git a/chrome/browser/android/history/browsing_history_bridge.h b/chrome/browser/android/history/browsing_history_bridge.h index 3669ade..8cde10b 100644 --- a/chrome/browser/android/history/browsing_history_bridge.h +++ b/chrome/browser/android/history/browsing_history_bridge.h
@@ -24,7 +24,7 @@ public: explicit BrowsingHistoryBridge(JNIEnv* env, const JavaParamRef<jobject>& obj, - jobject j_profile); + bool is_incognito); void Destroy(JNIEnv*, const JavaParamRef<jobject>&); void QueryHistory(JNIEnv* env,
diff --git a/chrome/browser/android/offline_pages/prerendering_offliner.cc b/chrome/browser/android/offline_pages/prerendering_offliner.cc index 7466d604..8296d72 100644 --- a/chrome/browser/android/offline_pages/prerendering_offliner.cc +++ b/chrome/browser/android/offline_pages/prerendering_offliner.cc
@@ -95,6 +95,7 @@ save_page_params.client_id = request.client_id(); save_page_params.proposed_offline_id = request.request_id(); save_page_params.is_background = true; + save_page_params.request_origin = request.request_origin(); // Pass in the original URL if it is different from the last committed URL // when redirects occur. if (!request.original_url().is_empty())
diff --git a/chrome/browser/android/offline_pages/prerendering_offliner_unittest.cc b/chrome/browser/android/offline_pages/prerendering_offliner_unittest.cc index 0c91e7e..35e32f0 100644 --- a/chrome/browser/android/offline_pages/prerendering_offliner_unittest.cc +++ b/chrome/browser/android/offline_pages/prerendering_offliner_unittest.cc
@@ -35,6 +35,7 @@ const GURL kFileUrl("file://sailfish.png"); const ClientId kClientId("AsyncLoading", "88"); const bool kUserRequested = true; +const char kRequestOrigin[] = "abc.xyz"; // Mock Loader for testing the Offliner calls. class MockPrerenderingLoader : public PrerenderingLoader { @@ -141,6 +142,7 @@ const SavePageCallback& callback) override { mock_saving_ = true; save_page_callback_ = callback; + save_page_params_ = save_page_params; } void CompleteSavingAsArchiveCreationFailed() { @@ -169,8 +171,11 @@ bool mock_saving() const { return mock_saving_; } + SavePageParams save_page_params() { return save_page_params_; } + private: bool mock_saving_; + SavePageParams save_page_params_; SavePageCallback save_page_callback_; DISALLOW_COPY_AND_ASSIGN(MockOfflinePageModel); @@ -341,6 +346,18 @@ EXPECT_TRUE(loader()->IsIdle()); } +TEST_F(PrerenderingOfflinerTest, PropagatesRequestOrigin) { + base::Time creation_time = base::Time::Now(); + SavePageRequest request(kRequestId, kHttpUrl, kClientId, creation_time, + kUserRequested); + request.set_request_origin(kRequestOrigin); + EXPECT_TRUE(offliner()->LoadAndSave(request, completion_callback(), + progress_callback())); + loader()->CompleteLoadingAsLoaded(); + PumpLoop(); + EXPECT_EQ(kRequestOrigin, model()->save_page_params().request_origin); +} + TEST_F(PrerenderingOfflinerTest, CancelWhenLoaded) { base::Time creation_time = base::Time::Now(); SavePageRequest request(
diff --git a/chrome/browser/android/vr_shell/textures/url_bar_texture_unittest.cc b/chrome/browser/android/vr_shell/textures/url_bar_texture_unittest.cc index bd68de9..f9701a40 100644 --- a/chrome/browser/android/vr_shell/textures/url_bar_texture_unittest.cc +++ b/chrome/browser/android/vr_shell/textures/url_bar_texture_unittest.cc
@@ -47,7 +47,7 @@ unsupported_mode_ = UiUnsupportedMode::kCount; ToolbarState state(gurl, SecurityLevel::DANGEROUS, &toolbar::kHttpsInvalidIcon, - base::UTF8ToUTF16("Not secure"), true); + base::UTF8ToUTF16("Not secure"), true, false); ASSERT_TRUE(state.should_display_url); SetToolbarState(state); gfx::Size texture_size = GetPreferredTextureSize(kUrlWidthPixels);
diff --git a/chrome/browser/android/vr_shell/toolbar_helper.cc b/chrome/browser/android/vr_shell/toolbar_helper.cc index 3e1bbd7..b776a57 100644 --- a/chrome/browser/android/vr_shell/toolbar_helper.cc +++ b/chrome/browser/android/vr_shell/toolbar_helper.cc
@@ -30,7 +30,7 @@ ToolbarState state( toolbar_model_->GetURL(), toolbar_model_->GetSecurityLevel(true), &toolbar_model_->GetVectorIcon(), toolbar_model_->GetSecureVerboseText(), - toolbar_model_->ShouldDisplayURL()); + toolbar_model_->ShouldDisplayURL(), toolbar_model_->IsOfflinePage()); if (current_state_ == state) return;
diff --git a/chrome/browser/android/vr_shell/toolbar_state.cc b/chrome/browser/android/vr_shell/toolbar_state.cc index d752f7f2..2d684527 100644 --- a/chrome/browser/android/vr_shell/toolbar_state.cc +++ b/chrome/browser/android/vr_shell/toolbar_state.cc
@@ -10,24 +10,30 @@ : gurl(GURL()), security_level(security_state::SecurityLevel::NONE), vector_icon(nullptr), - should_display_url(true) {} + should_display_url(true), + offline_page(false) {} ToolbarState::ToolbarState(const GURL& url, security_state::SecurityLevel level, const gfx::VectorIcon* icon, base::string16 verbose_text, - bool display_url) + bool display_url, + bool offline) : gurl(url), security_level(level), vector_icon(icon), secure_verbose_text(verbose_text), - should_display_url(display_url) {} + should_display_url(display_url), + offline_page(offline) {} + +ToolbarState::ToolbarState(const ToolbarState& other) = default; bool ToolbarState::operator==(const ToolbarState& other) const { return (gurl == other.gurl && security_level == other.security_level && vector_icon == other.vector_icon && should_display_url == other.should_display_url && - secure_verbose_text == other.secure_verbose_text); + secure_verbose_text == other.secure_verbose_text && + offline_page == other.offline_page); } bool ToolbarState::operator!=(const ToolbarState& other) const {
diff --git a/chrome/browser/android/vr_shell/toolbar_state.h b/chrome/browser/android/vr_shell/toolbar_state.h index a39de5f6..0a1eb78 100644 --- a/chrome/browser/android/vr_shell/toolbar_state.h +++ b/chrome/browser/android/vr_shell/toolbar_state.h
@@ -22,7 +22,9 @@ security_state::SecurityLevel level, const gfx::VectorIcon* icon, base::string16 verbose_text, - bool display_url); + bool display_url, + bool offline); + ToolbarState(const ToolbarState& other); bool operator==(const ToolbarState& other) const; bool operator!=(const ToolbarState& other) const; @@ -32,6 +34,7 @@ const gfx::VectorIcon* vector_icon; base::string16 secure_verbose_text; bool should_display_url; + bool offline_page; }; } // namespace vr_shell
diff --git a/chrome/browser/android/webapps/add_to_homescreen_manager.cc b/chrome/browser/android/webapps/add_to_homescreen_manager.cc index 5a80899..44c823e9 100644 --- a/chrome/browser/android/webapps/add_to_homescreen_manager.cc +++ b/chrome/browser/android/webapps/add_to_homescreen_manager.cc
@@ -180,6 +180,5 @@ banners::AppBannerInfoBarDelegateAndroid::Create( web_contents, app_banner_manager->GetWeakPtr(), base::MakeUnique<ShortcutInfo>(info), primary_icon, badge_icon, - -1 /* event_request_id */, true /* is_webapk */, - webapk::INSTALL_SOURCE_MENU); + true /* is_webapk */, webapk::INSTALL_SOURCE_MENU); }
diff --git a/chrome/browser/autofill/android/phone_number_util_android.cc b/chrome/browser/autofill/android/phone_number_util_android.cc index ae89358..29d4f0e 100644 --- a/chrome/browser/autofill/android/phone_number_util_android.cc +++ b/chrome/browser/autofill/android/phone_number_util_android.cc
@@ -51,10 +51,10 @@ format); } -// Checks whether the given number |jphone_number| is valid by using -// i18n::phonenumbers::PhoneNumberUtil::IsValidNumber. -bool IsValidNumberImpl(const std::string& phone_number, - const std::string& country_code) { +// Checks whether the given number |jphone_number| is a possible number by using +// i18n::phonenumbers::PhoneNumberUtil::IsPossibleNumber. +bool IsPossibleNumberImpl(const std::string& phone_number, + const std::string& country_code) { PhoneNumber parsed_number; PhoneNumberUtil* phone_number_util = PhoneNumberUtil::GetInstance(); if (phone_number_util->Parse(phone_number, country_code, &parsed_number) != @@ -62,7 +62,7 @@ return false; } - return phone_number_util->IsValidNumber(parsed_number); + return phone_number_util->IsPossibleNumber(parsed_number); } } // namespace @@ -101,19 +101,20 @@ PhoneNumberUtil::PhoneNumberFormat::E164)); } -// Checks whether the given number |jphone_number| is valid for a given country -// |jcountry_code| by using i18n::phonenumbers::PhoneNumberUtil::IsValidNumber. -jboolean IsValidNumber(JNIEnv* env, - const base::android::JavaParamRef<jclass>& jcaller, - const JavaParamRef<jstring>& jphone_number, - const JavaParamRef<jstring>& jcountry_code) { +// Checks whether the given number |jphone_number| is a possible number for a +// given country |jcountry_code| by using +// i18n::phonenumbers::PhoneNumberUtil::IsPossibleNumber. +jboolean IsPossibleNumber(JNIEnv* env, + const base::android::JavaParamRef<jclass>& jcaller, + const JavaParamRef<jstring>& jphone_number, + const JavaParamRef<jstring>& jcountry_code) { const std::string phone_number = ConvertJavaStringToUTF8(env, jphone_number); const std::string country_code = jcountry_code.is_null() ? autofill::AutofillCountry::CountryCodeForLocale( g_browser_process->GetApplicationLocale()) : ConvertJavaStringToUTF8(env, jcountry_code); - return IsValidNumberImpl(phone_number, country_code); + return IsPossibleNumberImpl(phone_number, country_code); } } // namespace autofill
diff --git a/chrome/browser/banners/app_banner_infobar_delegate_desktop.cc b/chrome/browser/banners/app_banner_infobar_delegate_desktop.cc index 60435211..1a86016 100644 --- a/chrome/browser/banners/app_banner_infobar_delegate_desktop.cc +++ b/chrome/browser/banners/app_banner_infobar_delegate_desktop.cc
@@ -26,28 +26,24 @@ content::WebContents* web_contents, base::WeakPtr<AppBannerManager> weak_manager, extensions::BookmarkAppHelper* bookmark_app_helper, - const content::Manifest& manifest, - int event_request_id) { + const content::Manifest& manifest) { InfoBarService* infobar_service = InfoBarService::FromWebContents(web_contents); return infobar_service->AddInfoBar(infobar_service->CreateConfirmInfoBar( std::unique_ptr<ConfirmInfoBarDelegate>( new AppBannerInfoBarDelegateDesktop(weak_manager, bookmark_app_helper, - manifest, event_request_id)))); + manifest)))); } AppBannerInfoBarDelegateDesktop::AppBannerInfoBarDelegateDesktop( base::WeakPtr<AppBannerManager> weak_manager, extensions::BookmarkAppHelper* bookmark_app_helper, - const content::Manifest& manifest, - int event_request_id) + const content::Manifest& manifest) : ConfirmInfoBarDelegate(), weak_manager_(weak_manager), bookmark_app_helper_(bookmark_app_helper), manifest_(manifest), - event_request_id_(event_request_id), - has_user_interaction_(false) { -} + has_user_interaction_(false) {} AppBannerInfoBarDelegateDesktop::~AppBannerInfoBarDelegateDesktop() { if (!has_user_interaction_) @@ -76,7 +72,7 @@ InfoBarService::WebContentsFromInfoBar(infobar()); if (web_contents) { if (weak_manager_) - weak_manager_->SendBannerDismissed(event_request_id_); + weak_manager_->SendBannerDismissed(); AppBannerSettingsHelper::RecordBannerDismissEvent( web_contents, manifest_.start_url.spec(), AppBannerSettingsHelper::WEB);
diff --git a/chrome/browser/banners/app_banner_infobar_delegate_desktop.h b/chrome/browser/banners/app_banner_infobar_delegate_desktop.h index 8fa1764..640d606 100644 --- a/chrome/browser/banners/app_banner_infobar_delegate_desktop.h +++ b/chrome/browser/banners/app_banner_infobar_delegate_desktop.h
@@ -34,15 +34,13 @@ content::WebContents* web_contents, base::WeakPtr<AppBannerManager> weak_manager, extensions::BookmarkAppHelper* bookmark_app_helper, - const content::Manifest& manifest, - int event_request_id); + const content::Manifest& manifest); private: AppBannerInfoBarDelegateDesktop( base::WeakPtr<AppBannerManager> weak_manager, extensions::BookmarkAppHelper* bookmark_app_helper, - const content::Manifest& manifest, - int event_request_id); + const content::Manifest& manifest); ~AppBannerInfoBarDelegateDesktop() override; // ConfirmInfoBarDelegate: @@ -58,7 +56,6 @@ base::WeakPtr<AppBannerManager> weak_manager_; extensions::BookmarkAppHelper* bookmark_app_helper_; content::Manifest manifest_; - int event_request_id_; bool has_user_interaction_; DISALLOW_COPY_AND_ASSIGN(AppBannerInfoBarDelegateDesktop);
diff --git a/chrome/browser/banners/app_banner_manager.cc b/chrome/browser/banners/app_banner_manager.cc index ee166f2..b9675ac71 100644 --- a/chrome/browser/banners/app_banner_manager.cc +++ b/chrome/browser/banners/app_banner_manager.cc
@@ -30,7 +30,6 @@ namespace { -int gCurrentRequestID = -1; int gTimeDeltaInDaysForTesting = 0; InstallableParams ParamsToGetManifest() { @@ -65,7 +64,7 @@ // if it's been triggered from devtools. if (is_active_or_pending()) { DCHECK(is_debug_mode); - weak_factory_.InvalidateWeakPtrs(); + ResetBindings(); } UpdateState(State::ACTIVE); @@ -115,20 +114,14 @@ installation_service->OnInstall(); } -void AppBannerManager::SendBannerAccepted(int request_id) { - if (request_id != gCurrentRequestID) - return; - - DCHECK(event_.is_bound()); - event_->BannerAccepted(GetBannerType()); +void AppBannerManager::SendBannerAccepted() { + if (event_.is_bound()) + event_->BannerAccepted(GetBannerType()); } -void AppBannerManager::SendBannerDismissed(int request_id) { - if (request_id != gCurrentRequestID) - return; - - DCHECK(event_.is_bound()); - event_->BannerDismissed(); +void AppBannerManager::SendBannerDismissed() { + if (event_.is_bound()) + event_->BannerDismissed(); } base::WeakPtr<AppBannerManager> AppBannerManager::GetWeakPtr() { @@ -141,7 +134,6 @@ Profile::FromBrowserContext(web_contents->GetBrowserContext()))), state_(State::INACTIVE), manager_(InstallableManager::FromWebContents(web_contents)), - event_request_id_(-1), binding_(this), has_sufficient_engagement_(false), load_finished_(false), @@ -340,11 +332,7 @@ // explicitly not logged. DCHECK(!need_to_log_status_ || is_active()); - weak_factory_.InvalidateWeakPtrs(); - binding_.Close(); - controller_.reset(); - event_.reset(); - + ResetBindings(); UpdateState(State::COMPLETE); need_to_log_status_ = false; has_sufficient_engagement_ = false; @@ -352,9 +340,7 @@ void AppBannerManager::SendBannerPromptRequest() { RecordCouldShowBanner(); - TrackBeforeInstallEvent(BEFORE_INSTALL_EVENT_CREATED); - event_request_id_ = ++gCurrentRequestID; web_contents()->GetMainFrame()->GetRemoteInterfaces()->GetInterface( mojo::MakeRequest(&controller_)); @@ -470,6 +456,13 @@ } } +void AppBannerManager::ResetBindings() { + weak_factory_.InvalidateWeakPtrs(); + binding_.Close(); + controller_.reset(); + event_.reset(); +} + void AppBannerManager::RecordCouldShowBanner() { content::WebContents* contents = web_contents(); DCHECK(contents);
diff --git a/chrome/browser/banners/app_banner_manager.h b/chrome/browser/banners/app_banner_manager.h index fa59da5..d2745644 100644 --- a/chrome/browser/banners/app_banner_manager.h +++ b/chrome/browser/banners/app_banner_manager.h
@@ -68,13 +68,11 @@ // resolved, but is required by the install event spec. void OnInstall(); - // Sends a message to the renderer that the user accepted the banner. Does - // nothing if |request_id| does not match the current request. - void SendBannerAccepted(int request_id); + // Sends a message to the renderer that the user accepted the banner. + void SendBannerAccepted(); - // Sends a message to the renderer that the user dismissed the banner. Does - // nothing if |request_id| does not match the current request. - void SendBannerDismissed(int request_id); + // Sends a message to the renderer that the user dismissed the banner. + void SendBannerDismissed(); // Returns a WeakPtr to this object. Exposed so subclasses/infobars may // may bind callbacks without needing their own WeakPtrFactory. @@ -217,7 +215,6 @@ // Subclass accessors for private fields which should not be changed outside // this class. InstallableManager* manager() const { return manager_; } - int event_request_id() const { return event_request_id_; } bool is_active() const { return state_ == State::ACTIVE; } bool is_active_or_pending() const { switch (state_) { @@ -266,6 +263,9 @@ private: friend class AppBannerManagerTest; + // Voids all outstanding weak pointers and service pointers. + void ResetBindings(); + // Record that the banner could be shown at this point, if the triggering // heuristic allowed. void RecordCouldShowBanner(); @@ -288,10 +288,6 @@ // Fetches the data required to display a banner for the current page. InstallableManager* manager_; - // A monotonically increasing id to verify the response to the - // beforeinstallprompt event from the renderer. - int event_request_id_; - // We do not want to trigger a banner when the manager is attached to // a WebContents that is playing video. Banners triggering on a site in the // background will appear when the tab is reactivated.
diff --git a/chrome/browser/banners/app_banner_manager_desktop.cc b/chrome/browser/banners/app_banner_manager_desktop.cc index 43eb04d..e141e10 100644 --- a/chrome/browser/banners/app_banner_manager_desktop.cc +++ b/chrome/browser/banners/app_banner_manager_desktop.cc
@@ -42,7 +42,7 @@ if (extension == nullptr) { Stop(); } else { - SendBannerAccepted(event_request_id()); + SendBannerAccepted(); AppBannerSettingsHelper::RecordBannerInstallEvent( contents, GetAppIdentifier(), AppBannerSettingsHelper::WEB); @@ -73,8 +73,7 @@ // the InfoBarService to show the banner. On desktop, an InfoBar class // is not required, and the delegate calls the InfoBarService. infobars::InfoBar* infobar = AppBannerInfoBarDelegateDesktop::Create( - contents, GetWeakPtr(), bookmark_app_helper_.get(), manifest_, - event_request_id()); + contents, GetWeakPtr(), bookmark_app_helper_.get(), manifest_); if (infobar) { RecordDidShowBanner("AppBanner.WebApp.Shown"); TrackDisplayEvent(DISPLAY_EVENT_WEB_APP_BANNER_CREATED);
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc index 818d057..12ba413e 100644 --- a/chrome/browser/browser_process_impl.cc +++ b/chrome/browser/browser_process_impl.cc
@@ -442,9 +442,9 @@ void RundownTaskCounter::Post(base::SequencedTaskRunner* task_runner) { // As the count starts off at one, it should never get to zero unless // TimedWait has been called. - DCHECK(!base::AtomicRefCountIsZero(&count_)); + DCHECK(!count_.IsZero()); - base::AtomicRefCountInc(&count_); + count_.Increment(); // The task must be non-nestable to guarantee that it runs after all tasks // currently scheduled on |task_runner| have completed. @@ -453,7 +453,7 @@ } void RundownTaskCounter::Decrement() { - if (!base::AtomicRefCountDec(&count_)) + if (!count_.Decrement()) waitable_event_.Signal(); } @@ -1300,15 +1300,15 @@ ResourceDispatcherHost::Get()->SetAllowCrossOriginAuthPrompt(value); } -void BrowserProcessImpl::ApplyMetricsReportingPolicy() { #if !defined(OS_ANDROID) +void BrowserProcessImpl::ApplyMetricsReportingPolicy() { GoogleUpdateSettings::CollectStatsConsentTaskRunner()->PostTask( FROM_HERE, base::BindOnce( base::IgnoreResult(&GoogleUpdateSettings::SetCollectStatsConsent), ChromeMetricsServiceAccessor::IsMetricsAndCrashReportingEnabled())); -#endif } +#endif void BrowserProcessImpl::CacheDefaultWebClientState() { #if defined(OS_CHROMEOS)
diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_process_impl.h index 33ead42..890e5e9 100644 --- a/chrome/browser/browser_process_impl.h +++ b/chrome/browser/browser_process_impl.h
@@ -187,7 +187,9 @@ void ApplyAllowCrossOriginAuthPromptPolicy(); void ApplyDefaultBrowserPolicy(); +#if !defined(OS_ANDROID) void ApplyMetricsReportingPolicy(); +#endif void CacheDefaultWebClientState();
diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc index 294ab87..7932191 100644 --- a/chrome/browser/chrome_browser_main.cc +++ b/chrome/browser/chrome_browser_main.cc
@@ -675,7 +675,7 @@ const base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); - if (command_line->HasSwitch(switches::kEnableBenchmarking) || + if (command_line->HasSwitch(variations::switches::kEnableBenchmarking) || command_line->HasSwitch(cc::switches::kEnableGpuBenchmarking)) { base::FieldTrial::EnableBenchmarking(); } @@ -719,10 +719,12 @@ // Force the variation ids selected in chrome://flags and/or specified using // the command-line flag. bool result = http_header_provider->ForceVariationIds( - command_line->GetSwitchValueASCII(switches::kForceVariationIds), + command_line->GetSwitchValueASCII( + variations::switches::kForceVariationIds), &variation_ids); CHECK(result) << "Invalid list of variation ids specified (either in --" - << switches::kForceVariationIds << " or in chrome://flags)"; + << variations::switches::kForceVariationIds + << " or in chrome://flags)"; feature_list->InitializeFromCommandLine( command_line->GetSwitchValueASCII(switches::kEnableFeatures),
diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc index 1466eac..537f13d 100644 --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc
@@ -161,6 +161,7 @@ #include "components/ukm/ukm_interface.h" #include "components/url_formatter/url_fixer.h" #include "components/variations/variations_associated_data.h" +#include "components/variations/variations_switches.h" #include "components/version_info/version_info.h" #include "content/public/browser/browser_child_process_host.h" #include "content/public/browser/browser_main_parts.h" @@ -1804,7 +1805,7 @@ switches::kDisableBundledPpapiFlash, switches::kDisableCastStreamingHWEncoding, switches::kDisableJavaScriptHarmonyShipping, - switches::kEnableBenchmarking, + variations::switches::kEnableBenchmarking, switches::kEnableDistillabilityService, switches::kEnableNaCl, #if !defined(DISABLE_NACL) @@ -1872,7 +1873,7 @@ // The command line switch kEnableBenchmarking needs to be specified along // with the kEnableStatsTable switch to ensure that the stats table global // is initialized correctly. - if (command_line->HasSwitch(switches::kEnableBenchmarking)) + if (command_line->HasSwitch(variations::switches::kEnableBenchmarking)) DCHECK(command_line->HasSwitch(switches::kEnableStatsTable)); StackSamplingConfiguration::Get()->AppendCommandLineSwitchForChildProcess(
diff --git a/chrome/browser/chromeos/BUILD.gn b/chrome/browser/chromeos/BUILD.gn index 6c297c51..0c32d8d 100644 --- a/chrome/browser/chromeos/BUILD.gn +++ b/chrome/browser/chromeos/BUILD.gn
@@ -1775,6 +1775,7 @@ "input_method/input_method_manager_impl_unittest.cc", "input_method/input_method_persistence_unittest.cc", "locale_change_guard_unittest.cc", + "lock_screen_apps/app_manager_impl_unittest.cc", "lock_screen_apps/state_controller_unittest.cc", "login/auth/cryptohome_authenticator_unittest.cc", "login/easy_unlock/easy_unlock_challenge_wrapper_unittest.cc",
diff --git a/chrome/browser/chromeos/arc/arc_service_launcher.cc b/chrome/browser/chromeos/arc/arc_service_launcher.cc index eea3de5a..57a92c4 100644 --- a/chrome/browser/chromeos/arc/arc_service_launcher.cc +++ b/chrome/browser/chromeos/arc/arc_service_launcher.cc
@@ -9,7 +9,6 @@ #include "base/bind.h" #include "base/logging.h" #include "base/memory/ptr_util.h" -#include "base/threading/sequenced_worker_pool.h" #include "chrome/browser/chromeos/app_mode/arc/arc_kiosk_app_service.h" #include "chrome/browser/chromeos/arc/accessibility/arc_accessibility_helper_bridge.h" #include "chrome/browser/chromeos/arc/arc_play_store_enabled_preference_handler.h" @@ -56,7 +55,6 @@ #include "components/arc/volume_mounter/arc_volume_mounter_bridge.h" #include "components/prefs/pref_member.h" #include "components/user_manager/user_manager.h" -#include "content/public/browser/browser_thread.h" #include "ui/arc/notification/arc_notification_manager.h" namespace arc { @@ -85,8 +83,7 @@ void ArcServiceLauncher::Initialize() { // Create ARC service manager. - arc_service_manager_ = base::MakeUnique<ArcServiceManager>( - content::BrowserThread::GetBlockingPool()); + arc_service_manager_ = base::MakeUnique<ArcServiceManager>(); ArcBridgeService* arc_bridge_service = arc_service_manager_->arc_bridge_service(); @@ -94,8 +91,7 @@ // Creates ArcSessionManager at first. arc_session_manager_ = base::MakeUnique<ArcSessionManager>(base::MakeUnique<ArcSessionRunner>( - base::Bind(ArcSession::Create, arc_bridge_service, - arc_service_manager_->blocking_task_runner()))); + base::Bind(ArcSession::Create, arc_bridge_service))); // List in lexicographical order. arc_service_manager_->AddService( @@ -110,8 +106,8 @@ base::MakeUnique<ArcBootErrorNotification>(arc_bridge_service)); arc_service_manager_->AddService( base::MakeUnique<ArcClipboardBridge>(arc_bridge_service)); - arc_service_manager_->AddService(base::MakeUnique<ArcCrashCollectorBridge>( - arc_bridge_service, arc_service_manager_->blocking_task_runner())); + arc_service_manager_->AddService( + base::MakeUnique<ArcCrashCollectorBridge>(arc_bridge_service)); arc_service_manager_->AddService( base::MakeUnique<ArcDownloadsWatcherService>(arc_bridge_service)); arc_service_manager_->AddService(
diff --git a/chrome/browser/chromeos/arc/arc_session_manager_unittest.cc b/chrome/browser/chromeos/arc/arc_session_manager_unittest.cc index ba57160..a9f7953 100644 --- a/chrome/browser/chromeos/arc/arc_session_manager_unittest.cc +++ b/chrome/browser/chromeos/arc/arc_session_manager_unittest.cc
@@ -142,7 +142,7 @@ profile_ = profile_builder.Build(); StartPreferenceSyncing(); - arc_service_manager_ = base::MakeUnique<ArcServiceManager>(nullptr); + arc_service_manager_ = base::MakeUnique<ArcServiceManager>(); arc_session_manager_ = base::MakeUnique<ArcSessionManager>( base::MakeUnique<ArcSessionRunner>(base::Bind(FakeArcSession::Create)));
diff --git a/chrome/browser/chromeos/arc/fileapi/arc_content_file_system_async_file_util_unittest.cc b/chrome/browser/chromeos/arc/fileapi/arc_content_file_system_async_file_util_unittest.cc index 7342524..9b95c908 100644 --- a/chrome/browser/chromeos/arc/fileapi/arc_content_file_system_async_file_util_unittest.cc +++ b/chrome/browser/chromeos/arc/fileapi/arc_content_file_system_async_file_util_unittest.cc
@@ -42,7 +42,7 @@ fake_file_system_.AddFile( File(kArcUrl, kData, kMimeType, File::Seekable::NO)); - arc_service_manager_ = base::MakeUnique<ArcServiceManager>(nullptr); + arc_service_manager_ = base::MakeUnique<ArcServiceManager>(); arc_service_manager_->AddService( ArcFileSystemOperationRunner::CreateForTesting( arc_service_manager_->arc_bridge_service()));
diff --git a/chrome/browser/chromeos/arc/fileapi/arc_content_file_system_file_stream_reader_unittest.cc b/chrome/browser/chromeos/arc/fileapi/arc_content_file_system_file_stream_reader_unittest.cc index 52d1c70..9fd8cb5 100644 --- a/chrome/browser/chromeos/arc/fileapi/arc_content_file_system_file_stream_reader_unittest.cc +++ b/chrome/browser/chromeos/arc/fileapi/arc_content_file_system_file_stream_reader_unittest.cc
@@ -69,7 +69,7 @@ fake_file_system_.AddFile( File(kArcUrlPipe, kData, kMimeType, File::Seekable::NO)); - arc_service_manager_ = base::MakeUnique<ArcServiceManager>(nullptr); + arc_service_manager_ = base::MakeUnique<ArcServiceManager>(); arc_service_manager_->AddService( ArcFileSystemOperationRunner::CreateForTesting( arc_service_manager_->arc_bridge_service()));
diff --git a/chrome/browser/chromeos/arc/fileapi/arc_documents_provider_root_unittest.cc b/chrome/browser/chromeos/arc/fileapi/arc_documents_provider_root_unittest.cc index 3ee78a9f..e9653d19 100644 --- a/chrome/browser/chromeos/arc/fileapi/arc_documents_provider_root_unittest.cc +++ b/chrome/browser/chromeos/arc/fileapi/arc_documents_provider_root_unittest.cc
@@ -116,7 +116,7 @@ fake_file_system_.AddDocument(ToDocument(spec)); } - arc_service_manager_ = base::MakeUnique<ArcServiceManager>(nullptr); + arc_service_manager_ = base::MakeUnique<ArcServiceManager>(); arc_service_manager_->AddService( ArcFileSystemOperationRunner::CreateForTesting( arc_service_manager_->arc_bridge_service()));
diff --git a/chrome/browser/chromeos/arc/fileapi/arc_file_system_operation_runner_unittest.cc b/chrome/browser/chromeos/arc/fileapi/arc_file_system_operation_runner_unittest.cc index d334a08e..c6aa025 100644 --- a/chrome/browser/chromeos/arc/fileapi/arc_file_system_operation_runner_unittest.cc +++ b/chrome/browser/chromeos/arc/fileapi/arc_file_system_operation_runner_unittest.cc
@@ -35,7 +35,7 @@ ~ArcFileSystemOperationRunnerTest() override = default; void SetUp() override { - arc_service_manager_ = base::MakeUnique<ArcServiceManager>(nullptr); + arc_service_manager_ = base::MakeUnique<ArcServiceManager>(); arc_service_manager_->arc_bridge_service()->file_system()->SetInstance( &file_system_instance_); arc_service_manager_->AddService(
diff --git a/chrome/browser/chromeos/arc/notification/arc_provision_notification_service_unittest.cc b/chrome/browser/chromeos/arc/notification/arc_provision_notification_service_unittest.cc index 2fff576..b5bbea1 100644 --- a/chrome/browser/chromeos/arc/notification/arc_provision_notification_service_unittest.cc +++ b/chrome/browser/chromeos/arc/notification/arc_provision_notification_service_unittest.cc
@@ -69,7 +69,7 @@ profile_builder.SetPath(temp_dir_.GetPath().AppendASCII("TestArcProfile")); profile_ = profile_builder.Build(); - arc_service_manager_ = base::MakeUnique<ArcServiceManager>(nullptr); + arc_service_manager_ = base::MakeUnique<ArcServiceManager>(); arc_session_manager_ = base::MakeUnique<ArcSessionManager>( base::MakeUnique<ArcSessionRunner>(base::Bind(FakeArcSession::Create))); std::unique_ptr<MockArcProvisionNotificationServiceDelegate>
diff --git a/chrome/browser/chromeos/lock_screen_apps/app_manager_impl.cc b/chrome/browser/chromeos/lock_screen_apps/app_manager_impl.cc index f7be4dc..6f2a7c98 100644 --- a/chrome/browser/chromeos/lock_screen_apps/app_manager_impl.cc +++ b/chrome/browser/chromeos/lock_screen_apps/app_manager_impl.cc
@@ -4,16 +4,122 @@ #include "chrome/browser/chromeos/lock_screen_apps/app_manager_impl.h" +#include <memory> +#include <utility> + +#include "apps/launcher.h" +#include "base/bind.h" +#include "base/bind_helpers.h" +#include "base/files/file_path.h" +#include "base/files/file_util.h" +#include "base/files/scoped_temp_dir.h" +#include "base/memory/ptr_util.h" +#include "base/memory/ref_counted.h" +#include "base/sequenced_task_runner.h" +#include "base/strings/string16.h" +#include "base/threading/thread_task_runner_handle.h" +#include "chrome/browser/chromeos/note_taking_helper.h" #include "chrome/browser/chromeos/profiles/profile_helper.h" +#include "chrome/browser/extensions/extension_assets_manager.h" +#include "chrome/browser/extensions/extension_service.h" +#include "chrome/common/pref_names.h" +#include "extensions/browser/extension_registry.h" +#include "extensions/browser/extension_system.h" +#include "extensions/browser/install_flag.h" +#include "extensions/common/api/app_runtime.h" +#include "extensions/common/extension.h" +#include "extensions/common/extension_set.h" +#include "extensions/common/file_util.h" +#include "extensions/common/manifest.h" namespace lock_screen_apps { -AppManagerImpl::AppManagerImpl() = default; +namespace { + +using ExtensionCallback = base::Callback<void( + const scoped_refptr<const extensions::Extension>& extension)>; + +void InvokeCallbackOnTaskRunner( + const ExtensionCallback& callback, + const scoped_refptr<base::SequencedTaskRunner>& task_runner, + const scoped_refptr<const extensions::Extension>& extension) { + task_runner->PostTask(FROM_HERE, base::Bind(callback, extension)); +} + +// Loads extension with the provided |extension_id|, |location|, and +// |creation_flags| from the |version_dir| directory - directory to which the +// extension has been installed. +// |temp_copy| - scoped dir that contains the path from which extension +// resources have been installed. Not used in this method, but passed around +// to keep the directory in scope while the app is being installed. +// |callback| - callback to which the loaded app should be passed. +void LoadInstalledExtension(const std::string& extension_id, + extensions::Manifest::Location install_source, + int creation_flags, + std::unique_ptr<base::ScopedTempDir> temp_copy, + const ExtensionCallback& callback, + const base::FilePath& version_dir) { + if (version_dir.empty()) { + callback.Run(nullptr); + return; + } + + std::string error; + scoped_refptr<const extensions::Extension> extension = + extensions::file_util::LoadExtension( + version_dir, extension_id, install_source, creation_flags, &error); + callback.Run(extension); +} + +// Installs |extension| as a copy of an extension unpacked at |original_path| +// into |target_install_dir|. +// |profile| is the profile to which the extension is being installed. +// |callback| - called with the app loaded from the final installation path. +void InstallExtensionCopy( + const scoped_refptr<const extensions::Extension>& extension, + const base::FilePath& original_path, + const base::FilePath& target_install_dir, + Profile* profile, + const ExtensionCallback& callback) { + base::FilePath target_dir = target_install_dir.Append(extension->id()); + base::FilePath install_temp_dir = + extensions::file_util::GetInstallTempDir(target_dir); + auto extension_temp_dir = base::MakeUnique<base::ScopedTempDir>(); + if (install_temp_dir.empty() || + !extension_temp_dir->CreateUniqueTempDirUnderPath(install_temp_dir)) { + callback.Run(nullptr); + return; + } + + // Copy the original extension path to a temp path to prevent + // ExtensionAssetsManager from deleting it (as InstallExtension renames the + // source path to a new location under the target install directory). + base::FilePath temp_copy = + extension_temp_dir->GetPath().Append(original_path.BaseName()); + if (!base::CopyDirectory(original_path, temp_copy, true /* recursive */)) { + callback.Run(nullptr); + return; + } + + // Note: |extension_temp_dir| is passed around to ensure it stays in scope + // until the app installation is done. + extensions::ExtensionAssetsManager::GetInstance()->InstallExtension( + extension.get(), temp_copy, target_install_dir, profile, + base::Bind(&LoadInstalledExtension, extension->id(), + extension->location(), extension->creation_flags(), + base::Passed(std::move(extension_temp_dir)), callback)); +} + +} // namespace + +AppManagerImpl::AppManagerImpl() + : extensions_observer_(this), weak_ptr_factory_(this) {} AppManagerImpl::~AppManagerImpl() = default; void AppManagerImpl::Initialize(Profile* primary_profile, Profile* lock_screen_profile) { + DCHECK_EQ(State::kNotInitialized, state_); DCHECK(primary_profile); DCHECK(lock_screen_profile); DCHECK_NE(primary_profile, lock_screen_profile); @@ -30,24 +136,243 @@ primary_profile_ = primary_profile; lock_screen_profile_ = lock_screen_profile; + state_ = State::kInactive; + + pref_change_registrar_.Init(primary_profile->GetPrefs()); + pref_change_registrar_.Add( + prefs::kNoteTakingAppId, + base::Bind(&AppManagerImpl::OnNoteTakingExtensionChanged, + base::Unretained(this))); + pref_change_registrar_.Add( + prefs::kNoteTakingAppEnabledOnLockScreen, + base::Bind(&AppManagerImpl::OnNoteTakingExtensionChanged, + base::Unretained(this))); } void AppManagerImpl::Start(const base::Closure& note_taking_changed_callback) { + DCHECK_NE(State::kNotInitialized, state_); + note_taking_changed_callback_ = note_taking_changed_callback; + extensions_observer_.Add( + extensions::ExtensionRegistry::Get(primary_profile_)); + + if (state_ == State::kActive) + return; + + lock_screen_app_id_.clear(); + std::string app_id = FindLockScreenNoteTakingApp(); + if (app_id.empty()) { + state_ = State::kAppUnavailable; + return; + } + + state_ = AddAppToLockScreenProfile(app_id); + if (state_ == State::kActive || state_ == State::kActivating) + lock_screen_app_id_ = app_id; } -void AppManagerImpl::Stop() {} +void AppManagerImpl::Stop() { + DCHECK_NE(State::kNotInitialized, state_); + + note_taking_changed_callback_.Reset(); + extensions_observer_.RemoveAll(); + + if (state_ == State::kInactive) + return; + + RemoveAppFromLockScreenProfile(lock_screen_app_id_); + lock_screen_app_id_.clear(); + state_ = State::kInactive; +} bool AppManagerImpl::IsNoteTakingAppAvailable() const { - return false; + return state_ == State::kActive && !lock_screen_app_id_.empty(); } std::string AppManagerImpl::GetNoteTakingAppId() const { - return std::string(); + if (!IsNoteTakingAppAvailable()) + return std::string(); + return lock_screen_app_id_; } bool AppManagerImpl::LaunchNoteTaking() { - return false; + if (!IsNoteTakingAppAvailable()) + return false; + + const extensions::ExtensionRegistry* extension_registry = + extensions::ExtensionRegistry::Get(lock_screen_profile_); + const extensions::Extension* app = extension_registry->GetExtensionById( + lock_screen_app_id_, extensions::ExtensionRegistry::ENABLED); + if (!app) + return false; + + auto action_data = + base::MakeUnique<extensions::api::app_runtime::ActionData>(); + action_data->action_type = + extensions::api::app_runtime::ActionType::ACTION_TYPE_NEW_NOTE; + action_data->is_lock_screen_action = base::MakeUnique<bool>(true); + + apps::LaunchPlatformAppWithAction(lock_screen_profile_, app, + std::move(action_data), base::FilePath()); + return true; +} + +void AppManagerImpl::OnExtensionLoaded(content::BrowserContext* browser_context, + const extensions::Extension* extension) { + if (extension->id() == + primary_profile_->GetPrefs()->GetString(prefs::kNoteTakingAppId)) { + OnNoteTakingExtensionChanged(); + } +} + +void AppManagerImpl::OnExtensionUnloaded( + content::BrowserContext* browser_context, + const extensions::Extension* extension, + extensions::UnloadedExtensionReason reason) { + if (extension->id() == lock_screen_app_id_) + OnNoteTakingExtensionChanged(); +} + +void AppManagerImpl::OnNoteTakingExtensionChanged() { + if (state_ == State::kInactive) + return; + + std::string app_id = FindLockScreenNoteTakingApp(); + if (app_id == lock_screen_app_id_) + return; + + RemoveAppFromLockScreenProfile(lock_screen_app_id_); + lock_screen_app_id_.clear(); + + state_ = AddAppToLockScreenProfile(app_id); + if (state_ == State::kActive || state_ == State::kActivating) + lock_screen_app_id_ = app_id; + + if (!note_taking_changed_callback_.is_null()) + note_taking_changed_callback_.Run(); +} + +std::string AppManagerImpl::FindLockScreenNoteTakingApp() const { + // Note that lock screen does not currently support Android apps, so + // it's enough to only check the state of the preferred Chrome app. + std::unique_ptr<chromeos::NoteTakingAppInfo> note_taking_app = + chromeos::NoteTakingHelper::Get()->GetPreferredChromeAppInfo( + primary_profile_); + + if (!note_taking_app || + note_taking_app->lock_screen_support != + chromeos::NoteTakingLockScreenSupport::kSelected) { + return std::string(); + } + + return note_taking_app->app_id; +} + +AppManagerImpl::State AppManagerImpl::AddAppToLockScreenProfile( + const std::string& app_id) { + extensions::ExtensionRegistry* primary_registry = + extensions::ExtensionRegistry::Get(primary_profile_); + const extensions::Extension* app = + primary_registry->enabled_extensions().GetByID(app_id); + if (!app) + return State::kAppUnavailable; + + bool is_unpacked = extensions::Manifest::IsUnpackedLocation(app->location()); + + // Unpacked apps in lock screen profile will be loaded from their original + // file path, so their path will be the same as the primary profile app's. + // For the rest, the app will be copied to a location in the lock screen + // profile's extension install directory (using |InstallExtensionCopy|) - the + // exact final path is not known at this point, and will be set as part of + // |InstallExtensionCopy|. + base::FilePath lock_profile_app_path = + is_unpacked ? app->path() : base::FilePath(); + + std::string error; + scoped_refptr<extensions::Extension> lock_profile_app = + extensions::Extension::Create(lock_profile_app_path, app->location(), + *app->manifest()->value()->CreateDeepCopy(), + app->creation_flags(), app->id(), &error); + + // While extension creation can fail in general, in this case the lock screen + // profile extension creation arguments come from an app already installed in + // a user profile. If the extension parameters were invalid, the app would not + // exist in a user profile, and thus |app| would be nullptr, which is not the + // case at this point. + DCHECK(lock_profile_app); + + install_count_++; + + if (is_unpacked) { + InstallAndEnableLockScreenAppInLockScreenProfile(lock_profile_app.get()); + return State::kActive; + } + + ExtensionService* lock_screen_service = + extensions::ExtensionSystem::Get(lock_screen_profile_) + ->extension_service(); + + lock_screen_service->GetFileTaskRunner()->PostTask( + FROM_HERE, + base::Bind( + &InstallExtensionCopy, lock_profile_app, app->path(), + lock_screen_service->install_directory(), lock_screen_profile_, + base::Bind(&InvokeCallbackOnTaskRunner, + base::Bind(&AppManagerImpl::CompleteLockScreenAppInstall, + weak_ptr_factory_.GetWeakPtr(), install_count_), + base::ThreadTaskRunnerHandle::Get()))); + return State::kActivating; +} + +void AppManagerImpl::CompleteLockScreenAppInstall( + int install_id, + const scoped_refptr<const extensions::Extension>& app) { + // Bail out if the app manager is no longer waiting for this app's + // installation - the copied resources will be cleaned up when the (ephemeral) + // lock screen profile is destroyed. + if (install_id != install_count_ || state_ != State::kActivating) + return; + + if (app) { + DCHECK_EQ(lock_screen_app_id_, app->id()); + InstallAndEnableLockScreenAppInLockScreenProfile(app.get()); + state_ = State::kActive; + } else { + state_ = State::kAppUnavailable; + } + + if (!note_taking_changed_callback_.is_null()) + note_taking_changed_callback_.Run(); +} + +void AppManagerImpl::InstallAndEnableLockScreenAppInLockScreenProfile( + const extensions::Extension* app) { + ExtensionService* lock_screen_service = + extensions::ExtensionSystem::Get(lock_screen_profile_) + ->extension_service(); + + lock_screen_service->OnExtensionInstalled( + app, syncer::StringOrdinal(), extensions::kInstallFlagInstallImmediately); + lock_screen_service->EnableExtension(app->id()); +} + +void AppManagerImpl::RemoveAppFromLockScreenProfile(const std::string& app_id) { + if (app_id.empty()) + return; + + extensions::ExtensionRegistry* lock_screen_registry = + extensions::ExtensionRegistry::Get(lock_screen_profile_); + if (!lock_screen_registry->GetExtensionById( + app_id, extensions::ExtensionRegistry::EVERYTHING)) { + return; + } + + base::string16 error; + extensions::ExtensionSystem::Get(lock_screen_profile_) + ->extension_service() + ->UninstallExtension(app_id, + extensions::UNINSTALL_REASON_INTERNAL_MANAGEMENT, + base::Bind(&base::DoNothing), &error); } } // namespace lock_screen_apps
diff --git a/chrome/browser/chromeos/lock_screen_apps/app_manager_impl.h b/chrome/browser/chromeos/lock_screen_apps/app_manager_impl.h index d1cd759..c47e485 100644 --- a/chrome/browser/chromeos/lock_screen_apps/app_manager_impl.h +++ b/chrome/browser/chromeos/lock_screen_apps/app_manager_impl.h
@@ -5,16 +5,28 @@ #ifndef CHROME_BROWSER_CHROMEOS_LOCK_SCREEN_APPS_APP_MANAGER_IMPL_H_ #define CHROME_BROWSER_CHROMEOS_LOCK_SCREEN_APPS_APP_MANAGER_IMPL_H_ +#include <string> + #include "base/callback.h" #include "base/macros.h" +#include "base/memory/weak_ptr.h" +#include "base/scoped_observer.h" #include "chrome/browser/chromeos/lock_screen_apps/app_manager.h" +#include "components/prefs/pref_change_registrar.h" +#include "extensions/browser/extension_registry_observer.h" class Profile; +namespace extensions { +class Extension; +class ExtensionRegistry; +} // namespace extensions + namespace lock_screen_apps { // The default implementation of lock_screen_apps::AppManager. -class AppManagerImpl : public AppManager { +class AppManagerImpl : public AppManager, + public extensions::ExtensionRegistryObserver { public: AppManagerImpl(); ~AppManagerImpl() override; @@ -28,12 +40,80 @@ bool IsNoteTakingAppAvailable() const override; std::string GetNoteTakingAppId() const override; + // extensions::ExtensionRegistryObserver implementation: + void OnExtensionLoaded(content::BrowserContext* browser_context, + const extensions::Extension* extension) override; + void OnExtensionUnloaded(content::BrowserContext* browser_context, + const extensions::Extension* extension, + extensions::UnloadedExtensionReason reason) override; + private: + enum class State { + // The manager has not yet been initialized. + kNotInitialized, + // The manager is initialized, but not started. The note taking app is + // considered unset at this point, and cannot be launched. + kInactive, + // The manager is started. Lock screen note taking app, if set, is loaded + // and ready to be launched. + kActive, + // The manager is started, but app is still being installed into the lock + // screen apps profile. + kActivating, + // The manager is started, and there is no available lock screen enabled + // app. + kAppUnavailable, + }; + + // Called on UI thread when the lock screen app profile is initialized with + // lock screen app assets. It completes the app installation to the lock + // screen app profile. + // |app| - the installing app. Cann be nullptr in case the app assets + // installation failed. + void CompleteLockScreenAppInstall( + int install_id, + const scoped_refptr<const extensions::Extension>& app); + + // Installs app to the lock screen profile's extension service and enables + // the app. + void InstallAndEnableLockScreenAppInLockScreenProfile( + const extensions::Extension* app); + + // Called when note taking related prefs change. + void OnNoteTakingExtensionChanged(); + + // Gets the currently enabled lock screen note taking app, is one is selected. + // If no such app exists, returns an empty string. + std::string FindLockScreenNoteTakingApp() const; + + // Starts installing the lock screen note taking app to the lock screen + // profile. + // Returns the state to which the app manager should move as a result of this + // method. + State AddAppToLockScreenProfile(const std::string& app_id); + + // Uninstalls lock screen note taking app from the lock screen profile. + void RemoveAppFromLockScreenProfile(const std::string& app_id); + Profile* primary_profile_ = nullptr; Profile* lock_screen_profile_ = nullptr; + State state_ = State::kNotInitialized; + std::string lock_screen_app_id_; + + PrefChangeRegistrar pref_change_registrar_; + ScopedObserver<extensions::ExtensionRegistry, + extensions::ExtensionRegistryObserver> + extensions_observer_; + base::Closure note_taking_changed_callback_; + // Counts app installs. Passed to app install callback as install request + // identifier to determine whether the completed install is stale. + int install_count_ = 0; + + base::WeakPtrFactory<AppManagerImpl> weak_ptr_factory_; + DISALLOW_COPY_AND_ASSIGN(AppManagerImpl); };
diff --git a/chrome/browser/chromeos/lock_screen_apps/app_manager_impl_unittest.cc b/chrome/browser/chromeos/lock_screen_apps/app_manager_impl_unittest.cc new file mode 100644 index 0000000..e5d86ede9 --- /dev/null +++ b/chrome/browser/chromeos/lock_screen_apps/app_manager_impl_unittest.cc
@@ -0,0 +1,966 @@ +// 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/chromeos/lock_screen_apps/app_manager_impl.h" + +#include <memory> +#include <string> +#include <utility> +#include <vector> + +#include "base/files/file_path.h" +#include "base/files/file_util.h" +#include "base/json/json_file_value_serializer.h" +#include "base/memory/ptr_util.h" +#include "base/test/scoped_command_line.h" +#include "base/values.h" +#include "chrome/browser/chromeos/arc/arc_session_manager.h" +#include "chrome/browser/chromeos/login/users/scoped_test_user_manager.h" +#include "chrome/browser/chromeos/note_taking_helper.h" +#include "chrome/browser/chromeos/settings/cros_settings.h" +#include "chrome/browser/chromeos/settings/device_settings_service.h" +#include "chrome/browser/extensions/extension_service.h" +#include "chrome/browser/extensions/test_extension_system.h" +#include "chrome/common/chrome_constants.h" +#include "chrome/common/pref_names.h" +#include "chrome/test/base/testing_browser_process.h" +#include "chrome/test/base/testing_profile.h" +#include "chrome/test/base/testing_profile_manager.h" +#include "components/arc/arc_service_manager.h" +#include "components/arc/arc_session.h" +#include "content/public/test/test_browser_thread_bundle.h" +#include "extensions/browser/event_router.h" +#include "extensions/browser/event_router_factory.h" +#include "extensions/browser/extension_prefs.h" +#include "extensions/browser/extension_registry.h" +#include "extensions/common/api/app_runtime.h" +#include "extensions/common/extension.h" +#include "extensions/common/extension_builder.h" +#include "extensions/common/value_builder.h" +#include "testing/gtest/include/gtest/gtest.h" + +using extensions::DictionaryBuilder; +using extensions::ListBuilder; + +namespace lock_screen_apps { + +namespace { + +std::unique_ptr<arc::ArcSession> ArcSessionFactory() { + ADD_FAILURE() << "Attempt to create arc session."; + return nullptr; +} + +class TestEventRouter : public extensions::EventRouter { + public: + explicit TestEventRouter(content::BrowserContext* context) + : extensions::EventRouter(context, + extensions::ExtensionPrefs::Get(context)), + context_(context) {} + ~TestEventRouter() override = default; + + bool ExtensionHasEventListener(const std::string& extension_id, + const std::string& event_name) const override { + return event_name == extensions::api::app_runtime::OnLaunched::kEventName; + } + + void BroadcastEvent(std::unique_ptr<extensions::Event> event) override {} + + void DispatchEventToExtension( + const std::string& extension_id, + std::unique_ptr<extensions::Event> event) override { + if (event->event_name != + extensions::api::app_runtime::OnLaunched::kEventName) { + return; + } + ASSERT_TRUE(event->event_args); + const base::Value* arg_value = nullptr; + ASSERT_TRUE(event->event_args->Get(0, &arg_value)); + ASSERT_TRUE(arg_value); + if (event->restrict_to_browser_context) + EXPECT_EQ(context_, event->restrict_to_browser_context); + + std::unique_ptr<extensions::api::app_runtime::LaunchData> launch_data = + extensions::api::app_runtime::LaunchData::FromValue(*arg_value); + ASSERT_TRUE(launch_data); + ASSERT_TRUE(launch_data->action_data); + EXPECT_EQ(extensions::api::app_runtime::ACTION_TYPE_NEW_NOTE, + launch_data->action_data->action_type); + ASSERT_TRUE(launch_data->action_data->is_lock_screen_action); + EXPECT_TRUE(*launch_data->action_data->is_lock_screen_action); + + launched_apps_.push_back(extension_id); + } + + const std::vector<std::string>& launched_apps() const { + return launched_apps_; + } + + void ClearLaunchedApps() { launched_apps_.clear(); } + + private: + std::vector<std::string> launched_apps_; + content::BrowserContext* context_; + + DISALLOW_COPY_AND_ASSIGN(TestEventRouter); +}; + +std::unique_ptr<KeyedService> TestEventRouterFactoryFunction( + content::BrowserContext* profile) { + return base::MakeUnique<TestEventRouter>(profile); +} + +enum class TestAppLocation { kUnpacked, kInternal }; + +class LockScreenAppManagerImplTest + : public testing::TestWithParam<TestAppLocation> { + public: + LockScreenAppManagerImplTest() + : profile_manager_(TestingBrowserProcess::GetGlobal()) {} + + ~LockScreenAppManagerImplTest() override = default; + + void SetUp() override { + // Initialize command line so chromeos::NoteTakingHelper thinks note taking + // on lock screen is enabled. + command_line_ = base::MakeUnique<base::test::ScopedCommandLine>(); + command_line_->GetProcessCommandLine()->InitFromArgv( + {"", "--enable-lock-screen-apps", "--force-enable-stylus-tools"}); + + ASSERT_TRUE(profile_manager_.SetUp()); + + profile_ = profile_manager_.CreateTestingProfile("primary_profile"); + + lock_screen_profile_ = + profile_manager_.CreateTestingProfile(chrome::kInitialProfile); + + InitExtensionSystem(profile()); + InitExtensionSystem(lock_screen_profile()->GetOriginalProfile()); + + // Initialize arc session manager - NoteTakingHelper expects it to be set. + arc_session_manager_ = base::MakeUnique<arc::ArcSessionManager>( + base::MakeUnique<arc::ArcSessionRunner>( + base::Bind(&ArcSessionFactory))); + + chromeos::NoteTakingHelper::Initialize(); + + ResetAppManager(); + } + + void TearDown() override { + extensions::ExtensionSystem::Get(profile())->Shutdown(); + extensions::ExtensionSystem::Get(lock_screen_profile())->Shutdown(); + chromeos::NoteTakingHelper::Shutdown(); + } + + void InitExtensionSystem(Profile* profile) { + extensions::TestExtensionSystem* extension_system = + static_cast<extensions::TestExtensionSystem*>( + extensions::ExtensionSystem::Get(profile)); + extension_system->CreateExtensionService( + base::CommandLine::ForCurrentProcess(), + profile->GetPath().Append("Extensions") /* install_directory */, + false /* autoupdate_enabled */); + } + + base::FilePath GetTestAppSourcePath(TestAppLocation location, + Profile* profile, + const std::string& id, + const std::string& version) { + switch (location) { + case TestAppLocation::kUnpacked: + return profile->GetPath().Append("Downloads").Append("app"); + case TestAppLocation::kInternal: + return extensions::ExtensionSystem::Get(profile) + ->extension_service() + ->install_directory() + .Append(id) + .Append(version); + } + return base::FilePath(); + } + + base::FilePath GetLockScreenAppPath(const std::string& id, + const std::string& version) { + return GetLockScreenAppPathWithOriginalProfile(profile(), id, version); + } + + base::FilePath GetLockScreenAppPathWithOriginalProfile( + Profile* original_profile, + const std::string& id, + const std::string& version) { + return GetLockScreenAppPathWithOriginalLocation( + GetParam(), original_profile, id, version); + } + + base::FilePath GetLockScreenAppPathWithOriginalLocation( + TestAppLocation location, + Profile* original_profile, + const std::string& id, + const std::string& version) { + switch (location) { + case TestAppLocation::kUnpacked: + return original_profile->GetPath().Append("Downloads").Append("app"); + case TestAppLocation::kInternal: + return extensions::ExtensionSystem::Get(lock_screen_profile()) + ->extension_service() + ->install_directory() + .Append(id) + .Append(version + "_0"); + } + return base::FilePath(); + } + + extensions::Manifest::Location GetAppLocation(TestAppLocation location) { + switch (location) { + case TestAppLocation::kUnpacked: + return extensions::Manifest::UNPACKED; + case TestAppLocation::kInternal: + return extensions::Manifest::INTERNAL; + } + + return extensions::Manifest::UNPACKED; + } + + scoped_refptr<const extensions::Extension> CreateTestApp( + const std::string& id, + const std::string& version, + bool supports_lock_screen) { + return CreateTestAppInProfile(profile(), id, version, supports_lock_screen); + } + + scoped_refptr<const extensions::Extension> CreateTestAppInProfile( + Profile* profile, + const std::string& id, + const std::string& version, + bool supports_lock_screen) { + return CreateTestAppWithLocation(GetParam(), profile, id, version, + supports_lock_screen); + } + + scoped_refptr<const extensions::Extension> CreateTestAppWithLocation( + TestAppLocation location, + Profile* profile, + const std::string& id, + const std::string& version, + bool supports_lock_screen) { + std::unique_ptr<base::DictionaryValue> background = + DictionaryBuilder() + .Set("scripts", ListBuilder().Append("background.js").Build()) + .Build(); + std::unique_ptr<base::ListValue> action_handlers = + ListBuilder() + .Append( + DictionaryBuilder() + .Set("action", "new_note") + .SetBoolean("enabled_on_lock_screen", supports_lock_screen) + .Build()) + .Build(); + + DictionaryBuilder manifest_builder; + manifest_builder.Set("name", "Note taking app") + .Set("version", version) + .Set("manifest_version", 2) + .Set("app", DictionaryBuilder() + .Set("background", std::move(background)) + .Build()) + .Set("permissions", ListBuilder().Append("lockScreen").Build()) + .Set("action_handlers", std::move(action_handlers)); + + base::FilePath extension_path = + GetTestAppSourcePath(location, profile, id, version); + + scoped_refptr<const extensions::Extension> extension = + extensions::ExtensionBuilder() + .SetManifest(manifest_builder.Build()) + .SetID(id) + .SetPath(extension_path) + .SetLocation(GetAppLocation(location)) + .Build(); + + // Create the app path with required files - app manager *will* attempt to + // load the app from the disk, so extension directory has to be present for + // the load to succeed. + base::File::Error error; + if (!base::CreateDirectoryAndGetError(extension_path, &error)) { + ADD_FAILURE() << "Failed to create path " << extension_path.value() << " " + << error; + return nullptr; + } + + JSONFileValueSerializer manifest_writer( + extension_path.Append("manifest.json")); + if (!manifest_writer.Serialize(*extension->manifest()->value())) { + ADD_FAILURE() << "Failed to create manifest file"; + return nullptr; + } + + if (base::WriteFile(extension_path.Append("background.js"), "{}", 2) != 2) { + ADD_FAILURE() << "Failed to write background script file"; + return nullptr; + } + + return extension; + } + + TestingProfile* CreateSecondaryProfile() { + TestingProfile* profile = + profile_manager_.CreateTestingProfile("secondary_profile"); + InitExtensionSystem(profile); + return profile; + } + + scoped_refptr<const extensions::Extension> AddTestAppWithLockScreenSupport( + Profile* profile, + const std::string& app_id, + const std::string& version, + bool enable_on_lock_screen) { + scoped_refptr<const extensions::Extension> app = CreateTestAppInProfile( + profile, app_id, version, true /* supports_lock_screen*/); + extensions::ExtensionSystem::Get(profile) + ->extension_service() + ->AddExtension(app.get()); + + chromeos::NoteTakingHelper::Get()->SetPreferredApp(profile, app_id); + profile->GetPrefs()->SetBoolean(prefs::kNoteTakingAppEnabledOnLockScreen, + enable_on_lock_screen); + return app; + } + + void InitializeAndStartAppManager(Profile* profile) { + app_manager()->Initialize(profile, lock_screen_profile()); + app_manager()->Start( + base::Bind(&LockScreenAppManagerImplTest::OnNoteTakingChanged, + base::Unretained(this))); + } + + TestingProfile* profile() { return profile_; } + TestingProfile* lock_screen_profile() { return lock_screen_profile_; } + + AppManager* app_manager() { return app_manager_.get(); } + + void ResetAppManager() { app_manager_ = base::MakeUnique<AppManagerImpl>(); } + + int note_taking_changed_count() const { return note_taking_changed_count_; } + + void ResetNoteTakingChangedCount() { note_taking_changed_count_ = 0; } + + // Waits for a round trip between file task runner used by the profile's + // extension service and the main thread - used to ensure that all pending + // file runner task finish, + void RunExtensionServiceTaskRunner(Profile* profile) { + base::RunLoop run_loop; + extensions::ExtensionSystem::Get(profile) + ->extension_service() + ->GetFileTaskRunner() + ->PostTaskAndReply(FROM_HERE, base::Bind(&base::DoNothing), + run_loop.QuitClosure()); + run_loop.Run(); + } + + bool IsInstallAsync() { return GetParam() != TestAppLocation::kUnpacked; } + + int NoteTakingChangedCountOnStart() { return IsInstallAsync() ? 1 : 0; } + + private: + void OnNoteTakingChanged() { ++note_taking_changed_count_; } + + std::unique_ptr<base::test::ScopedCommandLine> command_line_; + content::TestBrowserThreadBundle threads_; + + chromeos::ScopedTestDeviceSettingsService test_device_settings_service_; + chromeos::ScopedTestCrosSettings test_cros_settings_; + chromeos::ScopedTestUserManager user_manager_; + + TestingProfileManager profile_manager_; + TestingProfile* profile_ = nullptr; + TestingProfile* lock_screen_profile_ = nullptr; + + std::unique_ptr<arc::ArcServiceManager> arc_service_manager_; + std::unique_ptr<arc::ArcSessionManager> arc_session_manager_; + + std::unique_ptr<AppManager> app_manager_; + + int note_taking_changed_count_ = 0; + + DISALLOW_COPY_AND_ASSIGN(LockScreenAppManagerImplTest); +}; + +} // namespace + +INSTANTIATE_TEST_CASE_P(Unpacked, + LockScreenAppManagerImplTest, + ::testing::Values(TestAppLocation::kUnpacked)); +INSTANTIATE_TEST_CASE_P(Internal, + LockScreenAppManagerImplTest, + ::testing::Values(TestAppLocation::kInternal)); + +TEST_P(LockScreenAppManagerImplTest, StartAddsAppToTarget) { + scoped_refptr<const extensions::Extension> note_taking_app = + AddTestAppWithLockScreenSupport( + profile(), chromeos::NoteTakingHelper::kProdKeepExtensionId, "1.0", + true /* enable_on_lock_screen */); + + InitializeAndStartAppManager(profile()); + + EXPECT_EQ(0, note_taking_changed_count()); + EXPECT_EQ(!IsInstallAsync(), app_manager()->IsNoteTakingAppAvailable()); + + RunExtensionServiceTaskRunner(lock_screen_profile()); + + EXPECT_EQ(NoteTakingChangedCountOnStart(), note_taking_changed_count()); + ResetNoteTakingChangedCount(); + + EXPECT_TRUE(app_manager()->IsNoteTakingAppAvailable()); + EXPECT_EQ(chromeos::NoteTakingHelper::kProdKeepExtensionId, + app_manager()->GetNoteTakingAppId()); + + EXPECT_TRUE(base::PathExists(note_taking_app->path())); + + const extensions::Extension* lock_app = + extensions::ExtensionRegistry::Get(lock_screen_profile()) + ->GetExtensionById(chromeos::NoteTakingHelper::kProdKeepExtensionId, + extensions::ExtensionRegistry::ENABLED); + ASSERT_TRUE(lock_app); + + EXPECT_TRUE(base::PathExists(lock_app->path())); + EXPECT_EQ(GetLockScreenAppPath(note_taking_app->id(), + note_taking_app->VersionString()), + lock_app->path()); + + app_manager()->Stop(); + + EXPECT_EQ(0, note_taking_changed_count()); + EXPECT_FALSE(app_manager()->IsNoteTakingAppAvailable()); + EXPECT_TRUE(app_manager()->GetNoteTakingAppId().empty()); + + lock_app = + extensions::ExtensionRegistry::Get(lock_screen_profile()) + ->GetExtensionById(chromeos::NoteTakingHelper::kProdKeepExtensionId, + extensions::ExtensionRegistry::EVERYTHING); + EXPECT_FALSE(lock_app); + + RunExtensionServiceTaskRunner(lock_screen_profile()); + RunExtensionServiceTaskRunner(profile()); + + EXPECT_TRUE(base::PathExists(note_taking_app->path())); +} + +TEST_P(LockScreenAppManagerImplTest, StartWhenLockScreenNotesNotEnabled) { + scoped_refptr<const extensions::Extension> note_taking_app = + AddTestAppWithLockScreenSupport( + profile(), chromeos::NoteTakingHelper::kProdKeepExtensionId, "1.0", + false /* enable_on_lock_screen */); + + InitializeAndStartAppManager(profile()); + RunExtensionServiceTaskRunner(lock_screen_profile()); + + EXPECT_EQ(0, note_taking_changed_count()); + EXPECT_FALSE(app_manager()->IsNoteTakingAppAvailable()); + EXPECT_TRUE(app_manager()->GetNoteTakingAppId().empty()); + + const extensions::Extension* lock_app = + extensions::ExtensionRegistry::Get(lock_screen_profile()) + ->GetExtensionById(chromeos::NoteTakingHelper::kProdKeepExtensionId, + extensions::ExtensionRegistry::ENABLED); + EXPECT_FALSE(lock_app); + + app_manager()->Stop(); + EXPECT_EQ(0, note_taking_changed_count()); + EXPECT_FALSE(app_manager()->IsNoteTakingAppAvailable()); + EXPECT_TRUE(app_manager()->GetNoteTakingAppId().empty()); + + lock_app = + extensions::ExtensionRegistry::Get(lock_screen_profile()) + ->GetExtensionById(chromeos::NoteTakingHelper::kProdKeepExtensionId, + extensions::ExtensionRegistry::EVERYTHING); + EXPECT_FALSE(lock_app); + + RunExtensionServiceTaskRunner(lock_screen_profile()); + RunExtensionServiceTaskRunner(profile()); + + EXPECT_TRUE(base::PathExists(note_taking_app->path())); +} + +TEST_P(LockScreenAppManagerImplTest, LockScreenNoteTakingDisabledWhileStarted) { + scoped_refptr<const extensions::Extension> note_taking_app = + AddTestAppWithLockScreenSupport( + profile(), chromeos::NoteTakingHelper::kProdKeepExtensionId, "1.0", + true /* enable_on_lock_screen */); + + InitializeAndStartAppManager(profile()); + + EXPECT_EQ(0, note_taking_changed_count()); + EXPECT_EQ(!IsInstallAsync(), app_manager()->IsNoteTakingAppAvailable()); + + RunExtensionServiceTaskRunner(lock_screen_profile()); + + EXPECT_EQ(NoteTakingChangedCountOnStart(), note_taking_changed_count()); + ResetNoteTakingChangedCount(); + + EXPECT_TRUE(app_manager()->IsNoteTakingAppAvailable()); + EXPECT_EQ(chromeos::NoteTakingHelper::kProdKeepExtensionId, + app_manager()->GetNoteTakingAppId()); + + const extensions::Extension* lock_app = + extensions::ExtensionRegistry::Get(lock_screen_profile()) + ->GetExtensionById(chromeos::NoteTakingHelper::kProdKeepExtensionId, + extensions::ExtensionRegistry::ENABLED); + ASSERT_TRUE(lock_app); + + EXPECT_TRUE(base::PathExists(lock_app->path())); + EXPECT_EQ(GetLockScreenAppPath(note_taking_app->id(), + note_taking_app->VersionString()), + lock_app->path()); + EXPECT_TRUE(base::PathExists(note_taking_app->path())); + + profile()->GetPrefs()->SetBoolean(prefs::kNoteTakingAppEnabledOnLockScreen, + false); + + EXPECT_EQ(1, note_taking_changed_count()); + ResetNoteTakingChangedCount(); + + EXPECT_FALSE(app_manager()->IsNoteTakingAppAvailable()); + EXPECT_TRUE(app_manager()->GetNoteTakingAppId().empty()); + lock_app = + extensions::ExtensionRegistry::Get(lock_screen_profile()) + ->GetExtensionById(chromeos::NoteTakingHelper::kProdKeepExtensionId, + extensions::ExtensionRegistry::EVERYTHING); + EXPECT_FALSE(lock_app); + + app_manager()->Stop(); + + EXPECT_EQ(0, note_taking_changed_count()); + EXPECT_FALSE(app_manager()->IsNoteTakingAppAvailable()); + EXPECT_TRUE(app_manager()->GetNoteTakingAppId().empty()); + + RunExtensionServiceTaskRunner(lock_screen_profile()); + RunExtensionServiceTaskRunner(profile()); + + EXPECT_TRUE(base::PathExists(note_taking_app->path())); +} + +TEST_P(LockScreenAppManagerImplTest, LockScreenNoteTakingEnabledWhileStarted) { + scoped_refptr<const extensions::Extension> note_taking_app = + AddTestAppWithLockScreenSupport( + profile(), chromeos::NoteTakingHelper::kProdKeepExtensionId, "1.0", + false /* enable_on_lock_screen */); + + InitializeAndStartAppManager(profile()); + RunExtensionServiceTaskRunner(lock_screen_profile()); + + EXPECT_EQ(0, note_taking_changed_count()); + EXPECT_FALSE(app_manager()->IsNoteTakingAppAvailable()); + EXPECT_TRUE(app_manager()->GetNoteTakingAppId().empty()); + + const extensions::Extension* lock_app = + extensions::ExtensionRegistry::Get(lock_screen_profile()) + ->GetExtensionById(chromeos::NoteTakingHelper::kProdKeepExtensionId, + extensions::ExtensionRegistry::EVERYTHING); + EXPECT_FALSE(lock_app); + + profile()->GetPrefs()->SetBoolean(prefs::kNoteTakingAppEnabledOnLockScreen, + true); + + EXPECT_EQ(1, note_taking_changed_count()); + ResetNoteTakingChangedCount(); + EXPECT_EQ(!IsInstallAsync(), app_manager()->IsNoteTakingAppAvailable()); + + RunExtensionServiceTaskRunner(lock_screen_profile()); + + EXPECT_EQ(NoteTakingChangedCountOnStart(), note_taking_changed_count()); + ResetNoteTakingChangedCount(); + + EXPECT_TRUE(app_manager()->IsNoteTakingAppAvailable()); + EXPECT_EQ(chromeos::NoteTakingHelper::kProdKeepExtensionId, + app_manager()->GetNoteTakingAppId()); + + lock_app = + extensions::ExtensionRegistry::Get(lock_screen_profile()) + ->GetExtensionById(chromeos::NoteTakingHelper::kProdKeepExtensionId, + extensions::ExtensionRegistry::ENABLED); + ASSERT_TRUE(lock_app); + + EXPECT_TRUE(base::PathExists(lock_app->path())); + EXPECT_EQ(GetLockScreenAppPath(note_taking_app->id(), + note_taking_app->VersionString()), + lock_app->path()); + EXPECT_TRUE(base::PathExists(note_taking_app->path())); + + app_manager()->Stop(); + + EXPECT_EQ(0, note_taking_changed_count()); + EXPECT_FALSE(app_manager()->IsNoteTakingAppAvailable()); + EXPECT_TRUE(app_manager()->GetNoteTakingAppId().empty()); + + RunExtensionServiceTaskRunner(lock_screen_profile()); + RunExtensionServiceTaskRunner(profile()); + + EXPECT_TRUE(base::PathExists(note_taking_app->path())); +} + +TEST_P(LockScreenAppManagerImplTest, LockScreenNoteTakingChangedWhileStarted) { + scoped_refptr<const extensions::Extension> dev_note_taking_app = + AddTestAppWithLockScreenSupport( + profile(), chromeos::NoteTakingHelper::kDevKeepExtensionId, "1.0", + false /* enable_on_lock_screen */); + + scoped_refptr<const extensions::Extension> prod_note_taking_app = + AddTestAppWithLockScreenSupport( + profile(), chromeos::NoteTakingHelper::kProdKeepExtensionId, "1.0", + true /* enable_on_lock_screen */); + + InitializeAndStartAppManager(profile()); + + EXPECT_EQ(0, note_taking_changed_count()); + EXPECT_EQ(!IsInstallAsync(), app_manager()->IsNoteTakingAppAvailable()); + + RunExtensionServiceTaskRunner(lock_screen_profile()); + + EXPECT_EQ(NoteTakingChangedCountOnStart(), note_taking_changed_count()); + ResetNoteTakingChangedCount(); + + EXPECT_TRUE(app_manager()->IsNoteTakingAppAvailable()); + EXPECT_EQ(chromeos::NoteTakingHelper::kProdKeepExtensionId, + app_manager()->GetNoteTakingAppId()); + + const extensions::Extension* lock_app = + extensions::ExtensionRegistry::Get(lock_screen_profile()) + ->GetExtensionById(chromeos::NoteTakingHelper::kProdKeepExtensionId, + extensions::ExtensionRegistry::ENABLED); + ASSERT_TRUE(lock_app); + + EXPECT_TRUE(base::PathExists(lock_app->path())); + EXPECT_EQ(GetLockScreenAppPath(prod_note_taking_app->id(), + prod_note_taking_app->VersionString()), + lock_app->path()); + EXPECT_TRUE(base::PathExists(prod_note_taking_app->path())); + + chromeos::NoteTakingHelper::Get()->SetPreferredApp( + profile(), chromeos::NoteTakingHelper::kDevKeepExtensionId); + + EXPECT_EQ(1, note_taking_changed_count()); + ResetNoteTakingChangedCount(); + EXPECT_EQ(!IsInstallAsync(), app_manager()->IsNoteTakingAppAvailable()); + + RunExtensionServiceTaskRunner(lock_screen_profile()); + + EXPECT_EQ(NoteTakingChangedCountOnStart(), note_taking_changed_count()); + ResetNoteTakingChangedCount(); + + EXPECT_TRUE(app_manager()->IsNoteTakingAppAvailable()); + EXPECT_EQ(chromeos::NoteTakingHelper::kDevKeepExtensionId, + app_manager()->GetNoteTakingAppId()); + + // Verify prod app was unloaded from signin profile. + lock_app = + extensions::ExtensionRegistry::Get(lock_screen_profile()) + ->GetExtensionById(chromeos::NoteTakingHelper::kProdKeepExtensionId, + extensions::ExtensionRegistry::EVERYTHING); + EXPECT_FALSE(lock_app); + + lock_app = + extensions::ExtensionRegistry::Get(lock_screen_profile()) + ->GetExtensionById(chromeos::NoteTakingHelper::kDevKeepExtensionId, + extensions::ExtensionRegistry::ENABLED); + + ASSERT_TRUE(lock_app); + + EXPECT_TRUE(base::PathExists(lock_app->path())); + EXPECT_EQ(GetLockScreenAppPath(dev_note_taking_app->id(), + dev_note_taking_app->VersionString()), + lock_app->path()); + + app_manager()->Stop(); + EXPECT_EQ(0, note_taking_changed_count()); + EXPECT_FALSE(app_manager()->IsNoteTakingAppAvailable()); + EXPECT_TRUE(app_manager()->GetNoteTakingAppId().empty()); + + RunExtensionServiceTaskRunner(lock_screen_profile()); + RunExtensionServiceTaskRunner(profile()); + + EXPECT_TRUE(base::PathExists(dev_note_taking_app->path())); + EXPECT_TRUE(base::PathExists(prod_note_taking_app->path())); +} + +TEST_P(LockScreenAppManagerImplTest, LockScreenNoteTakingReloadedWhileStarted) { + scoped_refptr<const extensions::Extension> note_taking_app = + AddTestAppWithLockScreenSupport( + profile(), chromeos::NoteTakingHelper::kProdKeepExtensionId, "1.0", + true /* enable_on_lock_screen */); + + InitializeAndStartAppManager(profile()); + RunExtensionServiceTaskRunner(lock_screen_profile()); + + EXPECT_EQ(NoteTakingChangedCountOnStart(), note_taking_changed_count()); + ResetNoteTakingChangedCount(); + + EXPECT_TRUE(app_manager()->IsNoteTakingAppAvailable()); + EXPECT_EQ(chromeos::NoteTakingHelper::kProdKeepExtensionId, + app_manager()->GetNoteTakingAppId()); + + const extensions::Extension* lock_app = + extensions::ExtensionRegistry::Get(lock_screen_profile()) + ->GetExtensionById(chromeos::NoteTakingHelper::kProdKeepExtensionId, + extensions::ExtensionRegistry::ENABLED); + ASSERT_TRUE(lock_app); + EXPECT_EQ("1.0", lock_app->VersionString()); + + EXPECT_TRUE(base::PathExists(lock_app->path())); + EXPECT_EQ(GetLockScreenAppPath(note_taking_app->id(), + note_taking_app->VersionString()), + lock_app->path()); + EXPECT_TRUE(base::PathExists(note_taking_app->path())); + + extensions::ExtensionSystem::Get(profile()) + ->extension_service() + ->UnloadExtension(chromeos::NoteTakingHelper::kProdKeepExtensionId, + extensions::UnloadedExtensionReason::UPDATE); + + EXPECT_EQ(1, note_taking_changed_count()); + ResetNoteTakingChangedCount(); + + EXPECT_FALSE(app_manager()->IsNoteTakingAppAvailable()); + EXPECT_TRUE(app_manager()->GetNoteTakingAppId().empty()); + + // Verify prod app was unloaded from signin profile. + lock_app = + extensions::ExtensionRegistry::Get(lock_screen_profile()) + ->GetExtensionById(chromeos::NoteTakingHelper::kProdKeepExtensionId, + extensions::ExtensionRegistry::EVERYTHING); + EXPECT_FALSE(lock_app); + + // Add the app again. + note_taking_app = CreateTestApp( + chromeos::NoteTakingHelper::kProdKeepExtensionId, "1.1", true); + extensions::ExtensionSystem::Get(profile()) + ->extension_service() + ->AddExtension(note_taking_app.get()); + + EXPECT_EQ(1, note_taking_changed_count()); + ResetNoteTakingChangedCount(); + EXPECT_EQ(!IsInstallAsync(), app_manager()->IsNoteTakingAppAvailable()); + + RunExtensionServiceTaskRunner(lock_screen_profile()); + + EXPECT_EQ(NoteTakingChangedCountOnStart(), note_taking_changed_count()); + ResetNoteTakingChangedCount(); + EXPECT_TRUE(app_manager()->IsNoteTakingAppAvailable()); + EXPECT_EQ(chromeos::NoteTakingHelper::kProdKeepExtensionId, + app_manager()->GetNoteTakingAppId()); + + lock_app = + extensions::ExtensionRegistry::Get(lock_screen_profile()) + ->GetExtensionById(chromeos::NoteTakingHelper::kProdKeepExtensionId, + extensions::ExtensionRegistry::ENABLED); + + ASSERT_TRUE(lock_app); + EXPECT_EQ("1.1", lock_app->VersionString()); + + EXPECT_TRUE(base::PathExists(lock_app->path())); + EXPECT_EQ(GetLockScreenAppPath(note_taking_app->id(), + note_taking_app->VersionString()), + lock_app->path()); + + app_manager()->Stop(); + EXPECT_EQ(0, note_taking_changed_count()); + EXPECT_FALSE(app_manager()->IsNoteTakingAppAvailable()); + EXPECT_TRUE(app_manager()->GetNoteTakingAppId().empty()); + + RunExtensionServiceTaskRunner(lock_screen_profile()); + RunExtensionServiceTaskRunner(profile()); + + EXPECT_TRUE(base::PathExists(note_taking_app->path())); +} + +TEST_P(LockScreenAppManagerImplTest, + NoteTakingAppChangeToUnpackedWhileActivating) { + scoped_refptr<const extensions::Extension> initial_note_taking_app = + AddTestAppWithLockScreenSupport( + profile(), chromeos::NoteTakingHelper::kProdKeepExtensionId, "1.1", + true /* enable_on_lock_screen */); + + scoped_refptr<const extensions::Extension> final_note_taking_app = + CreateTestAppWithLocation(TestAppLocation::kUnpacked, profile(), + chromeos::NoteTakingHelper::kDevKeepExtensionId, + "1.1", true /* enable_on_lock_screen */); + extensions::ExtensionSystem::Get(profile()) + ->extension_service() + ->AddExtension(final_note_taking_app.get()); + + InitializeAndStartAppManager(profile()); + + EXPECT_EQ(0, note_taking_changed_count()); + EXPECT_EQ(!IsInstallAsync(), app_manager()->IsNoteTakingAppAvailable()); + + chromeos::NoteTakingHelper::Get()->SetPreferredApp( + profile(), chromeos::NoteTakingHelper::kDevKeepExtensionId); + + EXPECT_TRUE(app_manager()->IsNoteTakingAppAvailable()); + EXPECT_EQ(chromeos::NoteTakingHelper::kDevKeepExtensionId, + app_manager()->GetNoteTakingAppId()); + EXPECT_EQ(1, note_taking_changed_count()); + ResetNoteTakingChangedCount(); + + RunExtensionServiceTaskRunner(lock_screen_profile()); + + EXPECT_EQ(0, note_taking_changed_count()); + + EXPECT_TRUE(app_manager()->IsNoteTakingAppAvailable()); + EXPECT_EQ(chromeos::NoteTakingHelper::kDevKeepExtensionId, + app_manager()->GetNoteTakingAppId()); + + const extensions::Extension* lock_app = + extensions::ExtensionRegistry::Get(lock_screen_profile()) + ->GetExtensionById(chromeos::NoteTakingHelper::kDevKeepExtensionId, + extensions::ExtensionRegistry::ENABLED); + ASSERT_TRUE(lock_app); + EXPECT_EQ("1.1", lock_app->VersionString()); + + EXPECT_TRUE(base::PathExists(lock_app->path())); + EXPECT_EQ( + GetLockScreenAppPathWithOriginalLocation( + TestAppLocation::kUnpacked, profile(), final_note_taking_app->id(), + final_note_taking_app->VersionString()), + lock_app->path()); + + app_manager()->Stop(); + + RunExtensionServiceTaskRunner(lock_screen_profile()); + RunExtensionServiceTaskRunner(profile()); + + EXPECT_TRUE(base::PathExists(initial_note_taking_app->path())); + EXPECT_TRUE(base::PathExists(final_note_taking_app->path())); +} + +TEST_P(LockScreenAppManagerImplTest, + NoteTakingAppChangeToInternalWhileActivating) { + scoped_refptr<const extensions::Extension> initial_note_taking_app = + AddTestAppWithLockScreenSupport( + profile(), chromeos::NoteTakingHelper::kProdKeepExtensionId, "1.1", + true /* enable_on_lock_screen */); + + scoped_refptr<const extensions::Extension> final_note_taking_app = + CreateTestAppWithLocation(TestAppLocation::kInternal, profile(), + chromeos::NoteTakingHelper::kDevKeepExtensionId, + "1.1", true /* enable_on_lock_screen */); + extensions::ExtensionSystem::Get(profile()) + ->extension_service() + ->AddExtension(final_note_taking_app.get()); + + InitializeAndStartAppManager(profile()); + + EXPECT_EQ(0, note_taking_changed_count()); + EXPECT_EQ(!IsInstallAsync(), app_manager()->IsNoteTakingAppAvailable()); + + chromeos::NoteTakingHelper::Get()->SetPreferredApp( + profile(), chromeos::NoteTakingHelper::kDevKeepExtensionId); + + EXPECT_FALSE(app_manager()->IsNoteTakingAppAvailable()); + EXPECT_EQ(1, note_taking_changed_count()); + ResetNoteTakingChangedCount(); + + RunExtensionServiceTaskRunner(lock_screen_profile()); + + EXPECT_EQ(1, note_taking_changed_count()); + ResetNoteTakingChangedCount(); + + EXPECT_TRUE(app_manager()->IsNoteTakingAppAvailable()); + EXPECT_EQ(chromeos::NoteTakingHelper::kDevKeepExtensionId, + app_manager()->GetNoteTakingAppId()); + + const extensions::Extension* lock_app = + extensions::ExtensionRegistry::Get(lock_screen_profile()) + ->GetExtensionById(chromeos::NoteTakingHelper::kDevKeepExtensionId, + extensions::ExtensionRegistry::ENABLED); + ASSERT_TRUE(lock_app); + EXPECT_EQ("1.1", lock_app->VersionString()); + + EXPECT_TRUE(base::PathExists(lock_app->path())); + EXPECT_EQ( + GetLockScreenAppPathWithOriginalLocation( + TestAppLocation::kInternal, profile(), final_note_taking_app->id(), + final_note_taking_app->VersionString()), + lock_app->path()); + + app_manager()->Stop(); + + RunExtensionServiceTaskRunner(lock_screen_profile()); + RunExtensionServiceTaskRunner(profile()); + + EXPECT_TRUE(base::PathExists(initial_note_taking_app->path())); + EXPECT_TRUE(base::PathExists(final_note_taking_app->path())); +} + +TEST_P(LockScreenAppManagerImplTest, ShutdownWhenStarted) { + scoped_refptr<const extensions::Extension> note_taking_app = + AddTestAppWithLockScreenSupport( + profile(), chromeos::NoteTakingHelper::kProdKeepExtensionId, "1.1", + true /* enable_on_lock_screen */); + + InitializeAndStartAppManager(profile()); + RunExtensionServiceTaskRunner(lock_screen_profile()); + + const extensions::Extension* lock_app = + extensions::ExtensionRegistry::Get(lock_screen_profile()) + ->GetExtensionById(chromeos::NoteTakingHelper::kProdKeepExtensionId, + extensions::ExtensionRegistry::ENABLED); + EXPECT_TRUE(lock_app); +} + +TEST_P(LockScreenAppManagerImplTest, LaunchAppWhenEnabled) { + TestEventRouter* event_router = static_cast<TestEventRouter*>( + extensions::EventRouterFactory::GetInstance()->SetTestingFactoryAndUse( + lock_screen_profile()->GetOriginalProfile(), + &TestEventRouterFactoryFunction)); + ASSERT_TRUE(event_router); + + scoped_refptr<const extensions::Extension> note_taking_app = + AddTestAppWithLockScreenSupport( + profile(), chromeos::NoteTakingHelper::kProdKeepExtensionId, "1.0", + true /* enable_on_lock_screen */); + + InitializeAndStartAppManager(profile()); + RunExtensionServiceTaskRunner(lock_screen_profile()); + + ASSERT_EQ(chromeos::NoteTakingHelper::kProdKeepExtensionId, + app_manager()->GetNoteTakingAppId()); + + EXPECT_TRUE(app_manager()->LaunchNoteTaking()); + + ASSERT_EQ(1u, event_router->launched_apps().size()); + EXPECT_EQ(chromeos::NoteTakingHelper::kProdKeepExtensionId, + event_router->launched_apps()[0]); + event_router->ClearLaunchedApps(); + + app_manager()->Stop(); + + EXPECT_FALSE(app_manager()->LaunchNoteTaking()); + EXPECT_TRUE(event_router->launched_apps().empty()); +} + +TEST_P(LockScreenAppManagerImplTest, LaunchAppWhenNoLockScreenApp) { + TestEventRouter* event_router = static_cast<TestEventRouter*>( + extensions::EventRouterFactory::GetInstance()->SetTestingFactoryAndUse( + lock_screen_profile()->GetOriginalProfile(), + &TestEventRouterFactoryFunction)); + ASSERT_TRUE(event_router); + + scoped_refptr<const extensions::Extension> note_taking_app = + AddTestAppWithLockScreenSupport( + profile(), chromeos::NoteTakingHelper::kProdKeepExtensionId, "1.0", + false /* enable_on_lock_screen */); + + InitializeAndStartAppManager(profile()); + RunExtensionServiceTaskRunner(lock_screen_profile()); + + EXPECT_FALSE(app_manager()->LaunchNoteTaking()); + EXPECT_TRUE(event_router->launched_apps().empty()); + + app_manager()->Stop(); + EXPECT_FALSE(app_manager()->LaunchNoteTaking()); + EXPECT_TRUE(event_router->launched_apps().empty()); +} + +} // namespace lock_screen_apps
diff --git a/chrome/browser/chromeos/login/signin/merge_session_throttling_utils.cc b/chrome/browser/chromeos/login/signin/merge_session_throttling_utils.cc index dbf95db..178b004 100644 --- a/chrome/browser/chromeos/login/signin/merge_session_throttling_utils.cc +++ b/chrome/browser/chromeos/login/signin/merge_session_throttling_utils.cc
@@ -71,7 +71,7 @@ } bool AreAllSessionMergedAlready() { - return !base::AtomicRefCountIsZero(&g_all_profiles_restored_); + return !g_all_profiles_restored_.IsZero(); } void BlockProfile(Profile* profile) { @@ -85,7 +85,7 @@ // Since a new profile just got blocked, we can not assume that // all sessions are merged anymore. if (AreAllSessionMergedAlready()) { - base::AtomicRefCountDec(&g_all_profiles_restored_); + g_all_profiles_restored_.Decrement(); DVLOG(1) << "Marking all sessions unmerged!"; } } @@ -100,7 +100,7 @@ // Check if there is any other profile to block on. if (ProfileSet::Get()->size() == 0) { - base::AtomicRefCountInc(&g_all_profiles_restored_); + g_all_profiles_restored_.Increment(); DVLOG(1) << "All profiles merged " << g_all_profiles_restored_.SubtleRefCountForDebug(); } @@ -116,7 +116,7 @@ // This is not a regular user session, let's remove the throttle // permanently. if (!AreAllSessionMergedAlready()) - base::AtomicRefCountInc(&g_all_profiles_restored_); + g_all_profiles_restored_.Increment(); return false; }
diff --git a/chrome/browser/extensions/api/developer_private/extension_info_generator.cc b/chrome/browser/extensions/api/developer_private/extension_info_generator.cc index b7ccaf6..3fd73208 100644 --- a/chrome/browser/extensions/api/developer_private/extension_info_generator.cc +++ b/chrome/browser/extensions/api/developer_private/extension_info_generator.cc
@@ -397,7 +397,10 @@ error_console_->IsReportingEnabledForExtension(extension.id()); // File access. - info->file_access.is_enabled = extension.wants_file_access(); + ManagementPolicy* management_policy = extension_system_->management_policy(); + info->file_access.is_enabled = + extension.wants_file_access() && + management_policy->UserMayModifySettings(&extension, nullptr); info->file_access.is_active = util::AllowFileAccess(extension.id(), browser_context_); @@ -481,7 +484,6 @@ } } - ManagementPolicy* management_policy = extension_system_->management_policy(); info->must_remain_installed = management_policy->MustRemainInstalled(&extension, nullptr);
diff --git a/chrome/browser/extensions/api/developer_private/extension_info_generator_unittest.cc b/chrome/browser/extensions/api/developer_private/extension_info_generator_unittest.cc index c7ac6c8b..e8989ac 100644 --- a/chrome/browser/extensions/api/developer_private/extension_info_generator_unittest.cc +++ b/chrome/browser/extensions/api/developer_private/extension_info_generator_unittest.cc
@@ -121,7 +121,8 @@ const scoped_refptr<const Extension> CreateExtension( const std::string& name, - std::unique_ptr<base::ListValue> permissions) { + std::unique_ptr<base::ListValue> permissions, + Manifest::Location location) { const std::string kId = crx_file::id_util::GenerateId(name); scoped_refptr<const Extension> extension = ExtensionBuilder() @@ -132,7 +133,7 @@ .Set("version", "1.0.0") .Set("permissions", std::move(permissions)) .Build()) - .SetLocation(Manifest::INTERNAL) + .SetLocation(location) .SetID(kId) .Build(); @@ -383,9 +384,10 @@ true)); // Two extensions - one with all urls, one without. scoped_refptr<const Extension> all_urls_extension = CreateExtension( - "all_urls", ListBuilder().Append(kAllHostsPermission).Build()); + "all_urls", ListBuilder().Append(kAllHostsPermission).Build(), + Manifest::INTERNAL); scoped_refptr<const Extension> no_urls_extension = - CreateExtension("no urls", ListBuilder().Build()); + CreateExtension("no urls", ListBuilder().Build(), Manifest::INTERNAL); std::unique_ptr<developer::ExtensionInfo> info = GenerateExtensionInfo(all_urls_extension->id()); @@ -431,7 +433,8 @@ // Load another extension with all urls (so permissions get re-init'd). all_urls_extension = CreateExtension( - "all_urls_II", ListBuilder().Append(kAllHostsPermission).Build()); + "all_urls_II", ListBuilder().Append(kAllHostsPermission).Build(), + Manifest::INTERNAL); // Even though the extension has all_urls permission, the checkbox shouldn't // show up without the switch. @@ -440,12 +443,30 @@ EXPECT_TRUE(info->run_on_all_urls.is_active); } +// Test that file:// access checkbox does not show up when the user can't +// modify an extension's settings. https://crbug.com/173640. +TEST_F(ExtensionInfoGeneratorUnitTest, ExtensionInfoLockedAllUrls) { + // Force installed extensions aren't user modifyable. + scoped_refptr<const Extension> locked_extension = + CreateExtension("locked", ListBuilder().Append("file://*/*").Build(), + Manifest::EXTERNAL_POLICY_DOWNLOAD); + + std::unique_ptr<developer::ExtensionInfo> info = + GenerateExtensionInfo(locked_extension->id()); + + // Extension wants file:// access but the checkbox will not appear + // in chrome://extensions. + EXPECT_TRUE(locked_extension->wants_file_access()); + EXPECT_FALSE(info->file_access.is_enabled); + EXPECT_FALSE(info->file_access.is_active); +} + // Tests that blacklisted extensions are returned by the ExtensionInfoGenerator. TEST_F(ExtensionInfoGeneratorUnitTest, Blacklisted) { - const scoped_refptr<const Extension> extension1 = - CreateExtension("test1", base::WrapUnique(new base::ListValue())); - const scoped_refptr<const Extension> extension2 = - CreateExtension("test2", base::WrapUnique(new base::ListValue())); + const scoped_refptr<const Extension> extension1 = CreateExtension( + "test1", base::WrapUnique(new base::ListValue()), Manifest::INTERNAL); + const scoped_refptr<const Extension> extension2 = CreateExtension( + "test2", base::WrapUnique(new base::ListValue()), Manifest::INTERNAL); std::string id1 = extension1->id(); std::string id2 = extension2->id();
diff --git a/chrome/browser/image_decoder.cc b/chrome/browser/image_decoder.cc index b5706ce..632e86e 100644 --- a/chrome/browser/image_decoder.cc +++ b/chrome/browser/image_decoder.cc
@@ -49,10 +49,10 @@ } void RunDecodeCallbackOnTaskRunner( - const data_decoder::mojom::ImageDecoder::DecodeImageCallback& callback, + data_decoder::mojom::ImageDecoder::DecodeImageCallback callback, scoped_refptr<base::SequencedTaskRunner> task_runner, const SkBitmap& image) { - task_runner->PostTask(FROM_HERE, base::BindOnce(callback, image)); + task_runner->PostTask(FROM_HERE, base::BindOnce(std::move(callback), image)); } void DecodeImage( @@ -60,7 +60,7 @@ data_decoder::mojom::ImageCodec codec, bool shrink_to_fit, const gfx::Size& desired_image_frame_size, - const data_decoder::mojom::ImageDecoder::DecodeImageCallback& callback, + data_decoder::mojom::ImageDecoder::DecodeImageCallback callback, scoped_refptr<base::SequencedTaskRunner> callback_task_runner) { DCHECK_CURRENTLY_ON(content::BrowserThread::IO); @@ -69,10 +69,11 @@ service_manager::Connector::Create(&connector_request); BindToBrowserConnector(std::move(connector_request)); - data_decoder::DecodeImage(connector.get(), image_data, codec, shrink_to_fit, - kMaxImageSizeInBytes, desired_image_frame_size, - base::Bind(&RunDecodeCallbackOnTaskRunner, callback, - callback_task_runner)); + data_decoder::DecodeImage( + connector.get(), image_data, codec, shrink_to_fit, kMaxImageSizeInBytes, + desired_image_frame_size, + base::BindOnce(&RunDecodeCallbackOnTaskRunner, std::move(callback), + std::move(callback_task_runner))); } } // namespace
diff --git a/chrome/browser/media/router/offscreen_presentation_manager.cc b/chrome/browser/media/router/offscreen_presentation_manager.cc index 00b2835..02283715 100644 --- a/chrome/browser/media/router/offscreen_presentation_manager.cc +++ b/chrome/browser/media/router/offscreen_presentation_manager.cc
@@ -21,32 +21,30 @@ OffscreenPresentationManager::OffscreenPresentation* OffscreenPresentationManager::GetOrCreateOffscreenPresentation( - const std::string& presentation_id, - const GURL& presentation_url) { - auto it = offscreen_presentations_.find(presentation_id); + const content::PresentationInfo& presentation_info) { + auto it = offscreen_presentations_.find(presentation_info.presentation_id); if (it == offscreen_presentations_.end()) { it = offscreen_presentations_ - .insert(std::make_pair(presentation_id, - base::MakeUnique<OffscreenPresentation>( - presentation_id, presentation_url))) + .insert(std::make_pair( + presentation_info.presentation_id, + base::MakeUnique<OffscreenPresentation>(presentation_info))) .first; } return it->second.get(); } void OffscreenPresentationManager::RegisterOffscreenPresentationController( - const std::string& presentation_id, - const GURL& presentation_url, + const content::PresentationInfo& presentation_info, const RenderFrameHostId& render_frame_host_id, content::PresentationConnectionPtr controller_connection_ptr, content::PresentationConnectionRequest receiver_connection_request, const MediaRoute& route) { - DVLOG(2) << __FUNCTION__ << " [presentation_id]: " << presentation_id + DVLOG(2) << __func__ + << " [presentation_id]: " << presentation_info.presentation_id << ", [render_frame_host_id]: " << render_frame_host_id.second; DCHECK(thread_checker_.CalledOnValidThread()); - auto* presentation = - GetOrCreateOffscreenPresentation(presentation_id, presentation_url); + auto* presentation = GetOrCreateOffscreenPresentation(presentation_info); presentation->RegisterController( render_frame_host_id, std::move(controller_connection_ptr), std::move(receiver_connection_request), route); @@ -55,7 +53,7 @@ void OffscreenPresentationManager::UnregisterOffscreenPresentationController( const std::string& presentation_id, const RenderFrameHostId& render_frame_host_id) { - DVLOG(2) << __FUNCTION__ << " [presentation_id]: " << presentation_id + DVLOG(2) << __func__ << " [presentation_id]: " << presentation_id << ", [render_frame_host_id]: " << render_frame_host_id.second; DCHECK(thread_checker_.CalledOnValidThread()); @@ -73,19 +71,18 @@ } void OffscreenPresentationManager::OnOffscreenPresentationReceiverCreated( - const std::string& presentation_id, - const GURL& presentation_url, + const content::PresentationInfo& presentation_info, const content::ReceiverConnectionAvailableCallback& receiver_callback) { - DVLOG(2) << __FUNCTION__ << " [presentation_id]: " << presentation_id; + DVLOG(2) << __func__ + << " [presentation_id]: " << presentation_info.presentation_id; DCHECK(thread_checker_.CalledOnValidThread()); - auto* presentation = - GetOrCreateOffscreenPresentation(presentation_id, presentation_url); + auto* presentation = GetOrCreateOffscreenPresentation(presentation_info); presentation->RegisterReceiver(receiver_callback); } void OffscreenPresentationManager::OnOffscreenPresentationReceiverTerminated( const std::string& presentation_id) { - DVLOG(2) << __FUNCTION__ << " [presentation_id]: " << presentation_id; + DVLOG(2) << __func__ << " [presentation_id]: " << presentation_id; DCHECK(thread_checker_.CalledOnValidThread()); offscreen_presentations_.erase(presentation_id); @@ -107,9 +104,8 @@ // OffscreenPresentation implementation. OffscreenPresentationManager::OffscreenPresentation::OffscreenPresentation( - const std::string& presentation_id, - const GURL& presentation_url) - : presentation_id_(presentation_id), presentation_url_(presentation_url) {} + const content::PresentationInfo& presentation_info) + : presentation_info_(presentation_info) {} OffscreenPresentationManager::OffscreenPresentation::~OffscreenPresentation() {} @@ -119,10 +115,9 @@ content::PresentationConnectionRequest receiver_connection_request, const MediaRoute& route) { if (!receiver_callback_.is_null()) { - receiver_callback_.Run( - content::PresentationInfo(presentation_url_, presentation_id_), - std::move(controller_connection_ptr), - std::move(receiver_connection_request)); + receiver_callback_.Run(presentation_info_, + std::move(controller_connection_ptr), + std::move(receiver_connection_request)); } else { pending_controllers_.insert(std::make_pair( render_frame_host_id, base::MakeUnique<ControllerConnection>( @@ -144,7 +139,7 @@ for (auto& controller : pending_controllers_) { receiver_callback.Run( - content::PresentationInfo(presentation_url_, presentation_id_), + presentation_info_, std::move(controller.second->controller_connection_ptr), std::move(controller.second->receiver_connection_request)); }
diff --git a/chrome/browser/media/router/offscreen_presentation_manager.h b/chrome/browser/media/router/offscreen_presentation_manager.h index 9871a58..bde4342 100644 --- a/chrome/browser/media/router/offscreen_presentation_manager.h +++ b/chrome/browser/media/router/offscreen_presentation_manager.h
@@ -18,7 +18,9 @@ #include "components/keyed_service/core/keyed_service.h" #include "content/public/browser/presentation_service_delegate.h" -class GURL; +namespace content { +struct PresentationInfo; +} namespace media_router { // Manages all offscreen presentations started in the associated Profile and @@ -36,7 +38,7 @@ // OffscreenPresentationManager* manager = // OffscreenPresentationManagerFactory::GetOrCreateForBrowserContext( // web_contents_->GetBrowserContext()); -// manager->OnOffscreenPresentationReceiverCreated(presentation_id, +// manager->OnOffscreenPresentationReceiverCreated(presentation_info, // base::Bind(&PresentationServiceImpl::OnReceiverConnectionAvailable)); // // Controlling frame establishes connection with the receiver side, resulting @@ -46,8 +48,9 @@ // PresentationServiceImpl::OnReceiverConnectionAvailable. // // manager->RegisterOffscreenPresentationController( -// presentation_id, controller_frame_id, controller_connection_ptr, -// receiver_connection_request); +// presentation_info, +// std::move(controller_connection_ptr, +// std::move(receiver_connection_request)); // // Invoked on receiver's PresentationServiceImpl when controller connection is // established. @@ -77,8 +80,9 @@ // |message|: Text message to be sent. // PresentationConnctionPtr::SendString( // const blink::WebString& message) { -// target_connection_->OnConnectionMessageReceived( -// std::move(connection_message)); +// target_connection_->OnMessage( +// content::PresentationConnectionMessage(message.Utf8()), +// base::Bind(&OnMessageReceived)); // } // // A controller or receiver leaves the offscreen presentation (e.g., due to @@ -109,8 +113,7 @@ // this class. Ownership is transferred to presentation receiver via // |receiver_callback| passed below. virtual void RegisterOffscreenPresentationController( - const std::string& presentation_id, - const GURL& presentation_url, + const content::PresentationInfo& presentation_info, const RenderFrameHostId& render_frame_id, content::PresentationConnectionPtr controller_connection_ptr, content::PresentationConnectionRequest receiver_connection_request, @@ -125,11 +128,9 @@ const std::string& presentation_id, const RenderFrameHostId& render_frame_id); - // Registers |receiver_callback| to presentation with |presentation_id| and - // |presentation_url|. + // Registers |receiver_callback| to presentation with |presentation_info|. virtual void OnOffscreenPresentationReceiverCreated( - const std::string& presentation_id, - const GURL& presentation_url, + const content::PresentationInfo& presentation_info, const content::ReceiverConnectionAvailableCallback& receiver_callback); // Unregisters ReceiverConnectionAvailableCallback associated with @@ -153,8 +154,8 @@ // receiver. class OffscreenPresentation { public: - OffscreenPresentation(const std::string& presentation_id, - const GURL& presentation_url); + explicit OffscreenPresentation( + const content::PresentationInfo& presentation_info); ~OffscreenPresentation(); // Register controller with |render_frame_id|. If |receiver_callback_| has @@ -188,8 +189,7 @@ // controllers. bool IsValid() const; - const std::string presentation_id_; - const GURL presentation_url_; + const content::PresentationInfo presentation_info_; base::Optional<MediaRoute> route_; // Callback to invoke whenever a receiver connection is available. @@ -234,11 +234,9 @@ using OffscreenPresentationMap = std::map<std::string, std::unique_ptr<OffscreenPresentation>>; - // Creates an offscreen presentation with |presentation_id| and - // |presentation_url|. + // Creates an offscreen presentation with |presentation_info|. OffscreenPresentation* GetOrCreateOffscreenPresentation( - const std::string& presentation_id, - const GURL& presentation_url); + const content::PresentationInfo& presentation_info); // Maps from presentation ID to OffscreenPresentation. OffscreenPresentationMap offscreen_presentations_;
diff --git a/chrome/browser/media/router/offscreen_presentation_manager_unittest.cc b/chrome/browser/media/router/offscreen_presentation_manager_unittest.cc index 3111997..892a39e 100644 --- a/chrome/browser/media/router/offscreen_presentation_manager_unittest.cc +++ b/chrome/browser/media/router/offscreen_presentation_manager_unittest.cc
@@ -40,7 +40,7 @@ public: OffscreenPresentationManagerTest() : render_frame_host_id_(1, 1), - presentation_url_(kPresentationUrl), + presentation_info_(GURL(kPresentationUrl), kPresentationId), route_("route_1", MediaSource("source_1"), "sink_1", @@ -65,25 +65,29 @@ void RegisterController(const std::string& presentation_id, content::PresentationConnectionPtr controller) { - content::PresentationConnectionRequest receiver_conn_request; - manager()->RegisterOffscreenPresentationController( - presentation_id, presentation_url_, render_frame_host_id_, - std::move(controller), std::move(receiver_conn_request), route_); + RegisterController( + content::PresentationInfo(GURL(kPresentationUrl), presentation_id), + render_frame_host_id_, std::move(controller)); } void RegisterController(const RenderFrameHostId& render_frame_id, content::PresentationConnectionPtr controller) { - content::PresentationConnectionRequest receiver_conn_request; - manager()->RegisterOffscreenPresentationController( - kPresentationId, presentation_url_, render_frame_id, - std::move(controller), std::move(receiver_conn_request), route_); + RegisterController(presentation_info_, render_frame_id, + std::move(controller)); } void RegisterController(content::PresentationConnectionPtr controller) { + RegisterController(presentation_info_, render_frame_host_id_, + std::move(controller)); + } + + void RegisterController(const content::PresentationInfo& presentation_info, + const RenderFrameHostId& render_frame_id, + content::PresentationConnectionPtr controller) { content::PresentationConnectionRequest receiver_conn_request; manager()->RegisterOffscreenPresentationController( - kPresentationId, presentation_url_, render_frame_host_id_, - std::move(controller), std::move(receiver_conn_request), route_); + presentation_info, render_frame_id, std::move(controller), + std::move(receiver_conn_request), route_); } void RegisterReceiver( @@ -95,7 +99,7 @@ const std::string& presentation_id, MockReceiverConnectionAvailableCallback& receiver_callback) { manager()->OnOffscreenPresentationReceiverCreated( - presentation_id, presentation_url_, + content::PresentationInfo(GURL(kPresentationUrl), presentation_id), base::Bind(&MockReceiverConnectionAvailableCallback:: OnReceiverConnectionAvailable, base::Unretained(&receiver_callback))); @@ -117,7 +121,7 @@ private: const RenderFrameHostId render_frame_host_id_; - GURL presentation_url_; + const content::PresentationInfo presentation_info_; OffscreenPresentationManager manager_; MediaRoute route_; };
diff --git a/chrome/browser/media/router/presentation_service_delegate_impl.cc b/chrome/browser/media/router/presentation_service_delegate_impl.cc index 1f9262c..5520260 100644 --- a/chrome/browser/media/router/presentation_service_delegate_impl.cc +++ b/chrome/browser/media/router/presentation_service_delegate_impl.cc
@@ -289,8 +289,8 @@ OffscreenPresentationManagerFactory::GetOrCreateForWebContents( web_contents_); offscreen_presentation_manager->RegisterOffscreenPresentationController( - presentation_info.presentation_id, presentation_info.presentation_url, - render_frame_host_id_, std::move(controller_connection_ptr), + presentation_info, render_frame_host_id_, + std::move(controller_connection_ptr), std::move(receiver_connection_request), pid_route_it->second); } else { DVLOG(2)
diff --git a/chrome/browser/media/router/presentation_service_delegate_impl_unittest.cc b/chrome/browser/media/router/presentation_service_delegate_impl_unittest.cc index 8730723..c18a5cec 100644 --- a/chrome/browser/media/router/presentation_service_delegate_impl_unittest.cc +++ b/chrome/browser/media/router/presentation_service_delegate_impl_unittest.cc
@@ -43,6 +43,12 @@ "https://google.com/cast#__castAppId__=233637DE"; const char kFrameUrl[] = "http://anotherframeurl.fakeurl.com/"; +// Matches content::PresentationInfo. +MATCHER_P(InfoEquals, expected, "") { + return expected.presentation_url == arg.presentation_url && + expected.presentation_id == arg.presentation_id; +} + } // namespace namespace media_router { @@ -74,27 +80,24 @@ class MockOffscreenPresentationManager : public OffscreenPresentationManager { public: void RegisterOffscreenPresentationController( - const std::string& presentation_id, - const GURL& presentation_url, + const content::PresentationInfo& presentation_info, const RenderFrameHostId& render_frame_id, content::PresentationConnectionPtr controller, content::PresentationConnectionRequest, const MediaRoute& route) override { - RegisterOffscreenPresentationController(presentation_id, presentation_url, - render_frame_id, route); + RegisterOffscreenPresentationController(presentation_info, render_frame_id, + route); } - MOCK_METHOD4(RegisterOffscreenPresentationController, - void(const std::string& presentation_id, - const GURL& presentation_url, + MOCK_METHOD3(RegisterOffscreenPresentationController, + void(const content::PresentationInfo& presentation_info, const RenderFrameHostId& render_frame_id, const MediaRoute& route)); MOCK_METHOD2(UnregisterOffscreenPresentationController, void(const std::string& presentation_id, const RenderFrameHostId& render_frame_id)); - MOCK_METHOD3(OnOffscreenPresentationReceiverCreated, - void(const std::string& presentation_id, - const GURL& presentation_url, + MOCK_METHOD2(OnOffscreenPresentationReceiverCreated, + void(const content::PresentationInfo& presentation_info, const content::ReceiverConnectionAvailableCallback& receiver_callback)); MOCK_METHOD1(OnOffscreenPresentationReceiverTerminated, @@ -614,7 +617,7 @@ auto& mock_offscreen_manager = GetMockOffscreenPresentationManager(); EXPECT_CALL(mock_offscreen_manager, RegisterOffscreenPresentationController( - presentation_id, presentation_url, + InfoEquals(presentation_info), RenderFrameHostId(render_process_id, render_frame_id), Equals(media_route)));
diff --git a/chrome/browser/media/router/receiver_presentation_service_delegate_impl.cc b/chrome/browser/media/router/receiver_presentation_service_delegate_impl.cc index cbaf4b4..71985066 100644 --- a/chrome/browser/media/router/receiver_presentation_service_delegate_impl.cc +++ b/chrome/browser/media/router/receiver_presentation_service_delegate_impl.cc
@@ -69,7 +69,8 @@ const content::ReceiverConnectionAvailableCallback& receiver_available_callback) { offscreen_presentation_manager_->OnOffscreenPresentationReceiverCreated( - presentation_id_, web_contents_->GetLastCommittedURL(), + content::PresentationInfo(web_contents_->GetLastCommittedURL(), + presentation_id_), receiver_available_callback); }
diff --git a/chrome/browser/metrics/chrome_metrics_service_client.cc b/chrome/browser/metrics/chrome_metrics_service_client.cc index 721b052..5224097 100644 --- a/chrome/browser/metrics/chrome_metrics_service_client.cc +++ b/chrome/browser/metrics/chrome_metrics_service_client.cc
@@ -27,8 +27,8 @@ #include "base/rand_util.h" #include "base/strings/string16.h" #include "base/task_scheduler/post_task.h" +#include "base/task_scheduler/task_traits.h" #include "base/threading/platform_thread.h" -#include "base/threading/sequenced_worker_pool.h" #include "base/threading/thread_task_runner_handle.h" #include "build/build_config.h" #include "chrome/browser/browser_process.h" @@ -179,7 +179,6 @@ const base::FilePath& dir, base::StringPiece metrics_name, metrics::FileMetricsProvider::SourceAssociation association, - scoped_refptr<base::TaskRunner> task_runner, metrics::FileMetricsProvider* file_metrics_provider) { base::FilePath metrics_file; base::GlobalHistogramAllocator::ConstructFilePaths( @@ -194,25 +193,20 @@ } else { // When metrics reporting is not enabled, any existing file should be // deleted in order to preserve user privacy. - task_runner->PostTask(FROM_HERE, - base::BindOnce(base::IgnoreResult(&base::DeleteFile), - metrics_file, /*recursive=*/false)); + base::PostTaskWithTraits( + FROM_HERE, + {base::MayBlock(), base::TaskPriority::BACKGROUND, + base::TaskShutdownBehavior::CONTINUE_ON_SHUTDOWN}, + base::BindOnce(base::IgnoreResult(&base::DeleteFile), metrics_file, + /*recursive=*/false)); } } std::unique_ptr<metrics::FileMetricsProvider> CreateFileMetricsProvider( bool metrics_reporting_enabled) { - // Fetch a worker-pool for performing I/O tasks that are not allowed on - // the main UI thread. - scoped_refptr<base::TaskRunner> task_runner = - content::BrowserThread::GetBlockingPool() - ->GetTaskRunnerWithShutdownBehavior( - base::SequencedWorkerPool::CONTINUE_ON_SHUTDOWN); - // Create an object to monitor files of metrics and include them in reports. std::unique_ptr<metrics::FileMetricsProvider> file_metrics_provider( - new metrics::FileMetricsProvider(task_runner, - g_browser_process->local_state())); + new metrics::FileMetricsProvider(g_browser_process->local_state())); base::FilePath user_data_dir; if (base::PathService::Get(chrome::DIR_USER_DATA, &user_data_dir)) { @@ -224,7 +218,7 @@ kCrashpadHistogramAllocatorName, metrics::FileMetricsProvider:: ASSOCIATE_INTERNAL_PROFILE_OR_PREVIOUS_RUN, - task_runner, file_metrics_provider.get()); + file_metrics_provider.get()); base::FilePath browser_metrics_upload_dir = user_data_dir.AppendASCII( ChromeMetricsServiceClient::kBrowserMetricsName);
diff --git a/chrome/browser/net/errorpage_browsertest.cc b/chrome/browser/net/errorpage_browsertest.cc index 2c0174e..cbddad7 100644 --- a/chrome/browser/net/errorpage_browsertest.cc +++ b/chrome/browser/net/errorpage_browsertest.cc
@@ -58,6 +58,8 @@ #include "net/http/failing_http_transaction_factory.h" #include "net/http/http_cache.h" #include "net/test/embedded_test_server/embedded_test_server.h" +#include "net/test/embedded_test_server/http_request.h" +#include "net/test/embedded_test_server/http_response.h" #include "net/test/url_request/url_request_failed_job.h" #include "net/test/url_request/url_request_mock_http_job.h" #include "net/url_request/url_request_context.h" @@ -323,6 +325,18 @@ root_http.AppendASCII("title3.html"))); } +// When it sees a request for |path|, returns a 500 response with a body that +// will be sniffed as binary/octet-stream. +std::unique_ptr<net::test_server::HttpResponse> Return500WithBinaryBody( + const std::string& path, + const net::test_server::HttpRequest& request) { + if (path != request.relative_url) + return nullptr; + return std::unique_ptr<net::test_server::HttpResponse>( + new net::test_server::RawHttpResponse("HTTP/1.1 500 Server Sad :(", + "\x01")); +} + class ErrorPageTest : public InProcessBrowserTest { public: enum HistoryNavigationDirection { @@ -1557,4 +1571,20 @@ EXPECT_TRUE(IsDisplayingText(browser(), kHttp09Response)); } +// Checks that when an HTTP error page is sniffed as a download, an error page +// is displayed. This tests the particular case in which the response body +// is small enough that the entire response must be read before its MIME type +// can be determined. +IN_PROC_BROWSER_TEST_F(ErrorPageTest, SniffSmallHttpErrorResponseAsDownload) { + const char kErrorPath[] = "/foo"; + embedded_test_server()->RegisterRequestHandler( + base::Bind(&Return500WithBinaryBody, kErrorPath)); + ASSERT_TRUE(embedded_test_server()->Start()); + + ui_test_utils::NavigateToURL(browser(), + embedded_test_server()->GetURL(kErrorPath)); + + ExpectDisplayingLocalErrorPage(browser(), net::ERR_INVALID_RESPONSE); +} + } // namespace
diff --git a/chrome/browser/offline_pages/background_loader_offliner.cc b/chrome/browser/offline_pages/background_loader_offliner.cc index a4960c1d..475fa024 100644 --- a/chrome/browser/offline_pages/background_loader_offliner.cc +++ b/chrome/browser/offline_pages/background_loader_offliner.cc
@@ -454,6 +454,7 @@ params.proposed_offline_id = request.request_id(); params.is_background = true; params.use_page_problem_detectors = true; + params.request_origin = request.request_origin(); // Pass in the original URL if it's different from last committed // when redirects occur.
diff --git a/chrome/browser/offline_pages/background_loader_offliner_unittest.cc b/chrome/browser/offline_pages/background_loader_offliner_unittest.cc index 52af0056..3bc1e71 100644 --- a/chrome/browser/offline_pages/background_loader_offliner_unittest.cc +++ b/chrome/browser/offline_pages/background_loader_offliner_unittest.cc
@@ -42,6 +42,7 @@ const GURL kFileUrl("file://salmon.png"); const ClientId kClientId("async_loading", "88"); const bool kUserRequested = true; +const char kRequestOrigin[] = "abc.xyz"; class TestLoadTerminationListener : public LoadTerminationListener { public: @@ -67,6 +68,7 @@ const SavePageCallback& callback) override { mock_saving_ = true; save_page_callback_ = callback; + save_page_params_ = save_page_params; } void CompleteSavingAsArchiveCreationFailed() { @@ -101,11 +103,13 @@ bool mock_saving() const { return mock_saving_; } bool mock_deleting() const { return mock_deleting_; } + SavePageParams& save_page_params() { return save_page_params_; } private: bool mock_saving_; bool mock_deleting_; SavePageCallback save_page_callback_; + SavePageParams save_page_params_; DISALLOW_COPY_AND_ASSIGN(MockOfflinePageModel); }; @@ -348,10 +352,13 @@ base::Time creation_time = base::Time::Now(); SavePageRequest request(kRequestId, kHttpUrl, kClientId, creation_time, kUserRequested); + request.set_request_origin(kRequestOrigin); EXPECT_TRUE(offliner()->LoadAndSave(request, completion_callback(), progress_callback())); CompleteLoading(); PumpLoop(); + // Verify that request origin is propagated. + EXPECT_EQ(kRequestOrigin, model()->save_page_params().request_origin); EXPECT_FALSE(completion_callback_called()); EXPECT_TRUE(SaveInProgress()); EXPECT_EQ(Offliner::RequestStatus::UNKNOWN, request_status());
diff --git a/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.cc b/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.cc index e83ed8ce..87eb3d8 100644 --- a/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.cc +++ b/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.cc
@@ -6,11 +6,13 @@ #include <memory> #include <string> +#include <utility> #include "base/macros.h" #include "base/memory/ptr_util.h" #include "chrome/browser/page_load_metrics/page_load_metrics_embedder_interface.h" #include "chrome/browser/page_load_metrics/page_load_metrics_util.h" +#include "chrome/test/base/testing_browser_process.h" #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_data.h" #include "content/public/browser/navigation_entry.h" #include "content/public/browser/web_contents.h" @@ -52,12 +54,13 @@ } // namespace PageLoadMetricsObserverTestHarness::PageLoadMetricsObserverTestHarness() - : ChromeRenderViewHostTestHarness() {} + : ChromeRenderViewHostTestHarness(), ukm_tester_(&test_ukm_recorder_) {} PageLoadMetricsObserverTestHarness::~PageLoadMetricsObserverTestHarness() {} void PageLoadMetricsObserverTestHarness::SetUp() { ChromeRenderViewHostTestHarness::SetUp(); + TestingBrowserProcess::GetGlobal()->SetUkmRecorder(&test_ukm_recorder_); SetContents(CreateTestWebContents()); NavigateAndCommit(GURL("http://www.google.com")); observer_ = MetricsWebContentsObserver::CreateForWebContents(
diff --git a/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.h b/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.h index d6ac103..3702e0c 100644 --- a/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.h +++ b/chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.h
@@ -9,10 +9,12 @@ #include "base/test/histogram_tester.h" #include "chrome/browser/page_load_metrics/metrics_web_contents_observer.h" #include "chrome/browser/page_load_metrics/page_load_tracker.h" +#include "chrome/browser/page_load_metrics/test/ukm_tester.h" #include "chrome/common/page_load_metrics/test/page_load_metrics_test_util.h" #include "chrome/common/page_load_metrics/test/weak_mock_timer.h" #include "chrome/common/url_constants.h" #include "chrome/test/base/chrome_render_view_host_test_harness.h" +#include "components/ukm/test_ukm_recorder.h" #include "content/public/browser/global_request_id.h" #include "content/public/test/web_contents_tester.h" #include "third_party/WebKit/public/platform/WebInputEvent.h" @@ -86,8 +88,14 @@ // Gets the PageLoadExtraInfo for the committed_load_ in observer_. const PageLoadExtraInfo GetPageLoadExtraInfoForCommittedLoad(); + const page_load_metrics::test::UkmTester& ukm_tester() const { + return ukm_tester_; + } + private: base::HistogramTester histogram_tester_; + ukm::TestUkmRecorder test_ukm_recorder_; + page_load_metrics::test::UkmTester ukm_tester_; MetricsWebContentsObserver* observer_; DISALLOW_COPY_AND_ASSIGN(PageLoadMetricsObserverTestHarness);
diff --git a/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer_unittest.cc b/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer_unittest.cc index d71a3de..f81a7aa 100644 --- a/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer_unittest.cc +++ b/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer_unittest.cc
@@ -9,8 +9,6 @@ #include "base/optional.h" #include "base/time/time.h" #include "chrome/browser/page_load_metrics/observers/page_load_metrics_observer_test_harness.h" -#include "chrome/test/base/testing_browser_process.h" -#include "components/ukm/test_ukm_recorder.h" #include "components/ukm/ukm_source.h" #include "net/nqe/effective_connection_type.h" #include "net/nqe/network_quality_provider.h" @@ -57,89 +55,19 @@ EXPECT_CALL(mock_network_quality_provider_, GetTransportRTT()) .Times(AnyNumber()) .WillRepeatedly(Return(base::Optional<base::TimeDelta>())); - - TestingBrowserProcess::GetGlobal()->SetUkmRecorder(&test_ukm_recorder_); } - size_t ukm_source_count() { return test_ukm_recorder_.sources_count(); } - - size_t ukm_entry_count() { return test_ukm_recorder_.entries_count(); } - MockNetworkQualityProvider& mock_network_quality_provider() { return mock_network_quality_provider_; } - const ukm::UkmSource* GetUkmSourceForUrl(const char* url) { - return test_ukm_recorder_.GetSourceForUrl(url); - } - - const ukm::mojom::UkmEntry* GetUkmEntry(size_t entry_index) { - return test_ukm_recorder_.GetEntry(entry_index); - } - - std::vector<const ukm::mojom::UkmEntry*> GetUkmEntriesForSourceID( - ukm::SourceId source_id) { - std::vector<const ukm::mojom::UkmEntry*> entries; - for (size_t i = 0; i < ukm_entry_count(); ++i) { - const ukm::mojom::UkmEntry* entry = GetUkmEntry(i); - if (entry->source_id == source_id) - entries.push_back(entry); - } - return entries; - } - - // Provides a single merged ukm::mojom::UkmEntry proto that contains all - // metrics from the given |entries|. |entries| must be non-empty, and all - // |entries| must have the same |source_id| and |event_hash|. - ukm::mojom::UkmEntryPtr GetMergedEntry( - const std::vector<const ukm::mojom::UkmEntry*>& entries) { - EXPECT_FALSE(entries.empty()); - ukm::mojom::UkmEntryPtr merged_entry = ukm::mojom::UkmEntry::New(); - for (const auto* entry : entries) { - if (merged_entry->event_hash) { - EXPECT_EQ(merged_entry->source_id, entry->source_id); - EXPECT_EQ(merged_entry->event_hash, entry->event_hash); - } else { - merged_entry->event_hash = entry->event_hash; - merged_entry->source_id = entry->source_id; - } - for (const auto& metric : entry->metrics) { - merged_entry->metrics.emplace_back(metric->Clone()); - } - } - return merged_entry; - } - - ukm::mojom::UkmEntryPtr GetMergedEntryForSourceID(ukm::SourceId source_id) { - ukm::mojom::UkmEntryPtr entry = - GetMergedEntry(GetUkmEntriesForSourceID(source_id)); - EXPECT_EQ(source_id, entry->source_id); - EXPECT_NE(0UL, entry->event_hash); - return entry; - } - - static bool HasMetric(const char* name, - const ukm::mojom::UkmEntry* entry) WARN_UNUSED_RESULT { - return ukm::TestUkmRecorder::FindMetric(entry, name) != nullptr; - } - - static void ExpectMetric(const char* name, - int64_t expected_value, - const ukm::mojom::UkmEntry* entry) { - const ukm::mojom::UkmMetric* metric = - ukm::TestUkmRecorder::FindMetric(entry, name); - EXPECT_NE(nullptr, metric) << "Failed to find metric: " << name; - EXPECT_EQ(expected_value, metric->value); - } - private: MockNetworkQualityProvider mock_network_quality_provider_; - ukm::TestUkmRecorder test_ukm_recorder_; }; TEST_F(UkmPageLoadMetricsObserverTest, NoMetrics) { - EXPECT_EQ(0ul, ukm_source_count()); - EXPECT_EQ(0ul, ukm_entry_count()); + EXPECT_EQ(0ul, ukm_tester().sources_count()); + EXPECT_EQ(0ul, ukm_tester().entries_count()); } TEST_F(UkmPageLoadMetricsObserverTest, Basic) { @@ -166,25 +94,28 @@ // Simulate closing the tab. DeleteContents(); - EXPECT_EQ(1ul, ukm_source_count()); - const ukm::UkmSource* source = GetUkmSourceForUrl(kTestUrl1); + EXPECT_EQ(1ul, ukm_tester().sources_count()); + const ukm::UkmSource* source = ukm_tester().GetSourceForUrl(kTestUrl1); EXPECT_EQ(GURL(kTestUrl1), source->url()); - EXPECT_GE(ukm_entry_count(), 1ul); - ukm::mojom::UkmEntryPtr entry = GetMergedEntryForSourceID(source->id()); - EXPECT_EQ(entry->source_id, source->id()); - EXPECT_EQ(entry->event_hash, - base::HashMetricName(internal::kUkmPageLoadEventName)); - EXPECT_FALSE(entry->metrics.empty()); - ExpectMetric(internal::kUkmPageTransition, ui::PAGE_TRANSITION_LINK, - entry.get()); - ExpectMetric(internal::kUkmParseStartName, 100, entry.get()); - ExpectMetric(internal::kUkmDomContentLoadedName, 200, entry.get()); - ExpectMetric(internal::kUkmFirstPaintName, 250, entry.get()); - ExpectMetric(internal::kUkmFirstContentfulPaintName, 300, entry.get()); - ExpectMetric(internal::kUkmLoadEventName, 500, entry.get()); - EXPECT_FALSE(HasMetric(internal::kUkmFirstMeaningfulPaintName, entry.get())); - EXPECT_TRUE(HasMetric(internal::kUkmForegroundDurationName, entry.get())); + EXPECT_GE(ukm_tester().entries_count(), 1ul); + ukm_tester().ExpectMetric(*source, internal::kUkmPageLoadEventName, + internal::kUkmPageTransition, + ui::PAGE_TRANSITION_LINK); + ukm_tester().ExpectMetric(*source, internal::kUkmPageLoadEventName, + internal::kUkmParseStartName, 100); + ukm_tester().ExpectMetric(*source, internal::kUkmPageLoadEventName, + internal::kUkmDomContentLoadedName, 200); + ukm_tester().ExpectMetric(*source, internal::kUkmPageLoadEventName, + internal::kUkmFirstPaintName, 250); + ukm_tester().ExpectMetric(*source, internal::kUkmPageLoadEventName, + internal::kUkmFirstContentfulPaintName, 300); + ukm_tester().ExpectMetric(*source, internal::kUkmPageLoadEventName, + internal::kUkmLoadEventName, 500); + EXPECT_FALSE(ukm_tester().HasMetric(*source, internal::kUkmPageLoadEventName, + internal::kUkmFirstMeaningfulPaintName)); + EXPECT_TRUE(ukm_tester().HasMetric(*source, internal::kUkmPageLoadEventName, + internal::kUkmForegroundDurationName)); } TEST_F(UkmPageLoadMetricsObserverTest, FailedProvisionalLoad) { @@ -201,28 +132,30 @@ // Simulate closing the tab. DeleteContents(); - EXPECT_EQ(1ul, ukm_source_count()); - const ukm::UkmSource* source = GetUkmSourceForUrl(kTestUrl1); + EXPECT_EQ(1ul, ukm_tester().sources_count()); + const ukm::UkmSource* source = ukm_tester().GetSourceForUrl(kTestUrl1); EXPECT_EQ(GURL(kTestUrl1), source->url()); - EXPECT_GE(ukm_entry_count(), 1ul); - ukm::mojom::UkmEntryPtr entry = GetMergedEntryForSourceID(source->id()); - EXPECT_EQ(entry->source_id, source->id()); - EXPECT_EQ(entry->event_hash, - base::HashMetricName(internal::kUkmPageLoadEventName)); + EXPECT_GE(ukm_tester().entries_count(), 1ul); // Make sure that only the following metrics are logged. In particular, no // paint/document/etc timing metrics should be logged for failed provisional // loads. - EXPECT_EQ(5ul, entry->metrics.size()); - ExpectMetric(internal::kUkmPageTransition, ui::PAGE_TRANSITION_LINK, - entry.get()); - ExpectMetric(internal::kUkmEffectiveConnectionType, - net::EFFECTIVE_CONNECTION_TYPE_2G, entry.get()); - ExpectMetric(internal::kUkmNetErrorCode, - static_cast<int64_t>(net::ERR_TIMED_OUT) * -1, entry.get()); - EXPECT_TRUE(HasMetric(internal::kUkmForegroundDurationName, entry.get())); - EXPECT_TRUE(HasMetric(internal::kUkmFailedProvisionaLoadName, entry.get())); + EXPECT_EQ(5, ukm_tester().CountMetricsForEventName( + *source, internal::kUkmPageLoadEventName)); + ukm_tester().ExpectMetric(*source, internal::kUkmPageLoadEventName, + internal::kUkmPageTransition, + ui::PAGE_TRANSITION_LINK); + ukm_tester().ExpectMetric(*source, internal::kUkmPageLoadEventName, + internal::kUkmEffectiveConnectionType, + net::EFFECTIVE_CONNECTION_TYPE_2G); + ukm_tester().ExpectMetric(*source, internal::kUkmPageLoadEventName, + internal::kUkmNetErrorCode, + static_cast<int64_t>(net::ERR_TIMED_OUT) * -1); + EXPECT_TRUE(ukm_tester().HasMetric(*source, internal::kUkmPageLoadEventName, + internal::kUkmForegroundDurationName)); + EXPECT_TRUE(ukm_tester().HasMetric(*source, internal::kUkmPageLoadEventName, + internal::kUkmFailedProvisionaLoadName)); } TEST_F(UkmPageLoadMetricsObserverTest, FirstMeaningfulPaint) { @@ -239,18 +172,15 @@ // Simulate closing the tab. DeleteContents(); - EXPECT_EQ(1ul, ukm_source_count()); - const ukm::UkmSource* source = GetUkmSourceForUrl(kTestUrl1); + EXPECT_EQ(1ul, ukm_tester().sources_count()); + const ukm::UkmSource* source = ukm_tester().GetSourceForUrl(kTestUrl1); EXPECT_EQ(GURL(kTestUrl1), source->url()); - EXPECT_GE(ukm_entry_count(), 1ul); - ukm::mojom::UkmEntryPtr entry = GetMergedEntryForSourceID(source->id()); - EXPECT_EQ(entry->source_id, source->id()); - EXPECT_EQ(entry->event_hash, - base::HashMetricName(internal::kUkmPageLoadEventName)); - EXPECT_FALSE(entry->metrics.empty()); - ExpectMetric(internal::kUkmFirstMeaningfulPaintName, 600, entry.get()); - EXPECT_TRUE(HasMetric(internal::kUkmForegroundDurationName, entry.get())); + EXPECT_GE(ukm_tester().entries_count(), 1ul); + ukm_tester().ExpectMetric(*source, internal::kUkmPageLoadEventName, + internal::kUkmFirstMeaningfulPaintName, 600); + EXPECT_TRUE(ukm_tester().HasMetric(*source, internal::kUkmPageLoadEventName, + internal::kUkmForegroundDurationName)); } TEST_F(UkmPageLoadMetricsObserverTest, MultiplePageLoads) { @@ -276,34 +206,30 @@ // Simulate closing the tab. DeleteContents(); - EXPECT_EQ(2ul, ukm_source_count()); - const ukm::UkmSource* source1 = GetUkmSourceForUrl(kTestUrl1); - const ukm::UkmSource* source2 = GetUkmSourceForUrl(kTestUrl2); + EXPECT_EQ(2ul, ukm_tester().sources_count()); + const ukm::UkmSource* source1 = ukm_tester().GetSourceForUrl(kTestUrl1); + const ukm::UkmSource* source2 = ukm_tester().GetSourceForUrl(kTestUrl2); EXPECT_EQ(GURL(kTestUrl1), source1->url()); EXPECT_EQ(GURL(kTestUrl2), source2->url()); EXPECT_NE(source1->id(), source2->id()); - EXPECT_GE(ukm_entry_count(), 2ul); - ukm::mojom::UkmEntryPtr entry1 = GetMergedEntryForSourceID(source1->id()); - ukm::mojom::UkmEntryPtr entry2 = GetMergedEntryForSourceID(source2->id()); - EXPECT_NE(entry1->source_id, entry2->source_id); + EXPECT_GE(ukm_tester().entries_count(), 2ul); - EXPECT_EQ(entry1->source_id, source1->id()); - EXPECT_EQ(entry1->event_hash, - base::HashMetricName(internal::kUkmPageLoadEventName)); - EXPECT_FALSE(entry1->metrics.empty()); - ExpectMetric(internal::kUkmFirstContentfulPaintName, 200, entry1.get()); - EXPECT_FALSE(HasMetric(internal::kUkmFirstMeaningfulPaintName, entry2.get())); - EXPECT_TRUE(HasMetric(internal::kUkmForegroundDurationName, entry1.get())); + ukm_tester().ExpectMetric(*source1, internal::kUkmPageLoadEventName, + internal::kUkmFirstContentfulPaintName, 200); + EXPECT_FALSE(ukm_tester().HasMetric(*source2, internal::kUkmPageLoadEventName, + internal::kUkmFirstMeaningfulPaintName)); + EXPECT_TRUE(ukm_tester().HasMetric(*source1, internal::kUkmPageLoadEventName, + internal::kUkmForegroundDurationName)); - EXPECT_EQ(entry2->source_id, source2->id()); - EXPECT_EQ(entry2->event_hash, - base::HashMetricName(internal::kUkmPageLoadEventName)); - EXPECT_FALSE(entry2->metrics.empty()); - EXPECT_FALSE(HasMetric(internal::kUkmParseStartName, entry2.get())); - EXPECT_FALSE(HasMetric(internal::kUkmFirstContentfulPaintName, entry2.get())); - EXPECT_FALSE(HasMetric(internal::kUkmFirstMeaningfulPaintName, entry2.get())); - EXPECT_TRUE(HasMetric(internal::kUkmForegroundDurationName, entry2.get())); + EXPECT_FALSE(ukm_tester().HasMetric(*source2, internal::kUkmPageLoadEventName, + internal::kUkmParseStartName)); + EXPECT_FALSE(ukm_tester().HasMetric(*source2, internal::kUkmPageLoadEventName, + internal::kUkmFirstContentfulPaintName)); + EXPECT_FALSE(ukm_tester().HasMetric(*source2, internal::kUkmPageLoadEventName, + internal::kUkmFirstMeaningfulPaintName)); + EXPECT_TRUE(ukm_tester().HasMetric(*source2, internal::kUkmPageLoadEventName, + internal::kUkmForegroundDurationName)); } TEST_F(UkmPageLoadMetricsObserverTest, NetworkQualityEstimates) { @@ -319,20 +245,18 @@ // Simulate closing the tab. DeleteContents(); - EXPECT_EQ(1ul, ukm_source_count()); - const ukm::UkmSource* source = GetUkmSourceForUrl(kTestUrl1); + EXPECT_EQ(1ul, ukm_tester().sources_count()); + const ukm::UkmSource* source = ukm_tester().GetSourceForUrl(kTestUrl1); EXPECT_EQ(GURL(kTestUrl1), source->url()); - EXPECT_GE(ukm_entry_count(), 1ul); - ukm::mojom::UkmEntryPtr entry = GetMergedEntryForSourceID(source->id()); - EXPECT_EQ(entry->source_id, source->id()); - EXPECT_EQ(entry->event_hash, - base::HashMetricName(internal::kUkmPageLoadEventName)); - EXPECT_FALSE(entry->metrics.empty()); - ExpectMetric(internal::kUkmEffectiveConnectionType, - net::EFFECTIVE_CONNECTION_TYPE_3G, entry.get()); - ExpectMetric(internal::kUkmHttpRttEstimate, 100, entry.get()); - ExpectMetric(internal::kUkmTransportRttEstimate, 200, entry.get()); + EXPECT_GE(ukm_tester().entries_count(), 1ul); + ukm_tester().ExpectMetric(*source, internal::kUkmPageLoadEventName, + internal::kUkmEffectiveConnectionType, + net::EFFECTIVE_CONNECTION_TYPE_3G); + ukm_tester().ExpectMetric(*source, internal::kUkmPageLoadEventName, + internal::kUkmHttpRttEstimate, 100); + ukm_tester().ExpectMetric(*source, internal::kUkmPageLoadEventName, + internal::kUkmTransportRttEstimate, 200); } TEST_F(UkmPageLoadMetricsObserverTest, PageTransitionReload) { @@ -343,16 +267,12 @@ // Simulate closing the tab. DeleteContents(); - EXPECT_EQ(1ul, ukm_source_count()); - const ukm::UkmSource* source = GetUkmSourceForUrl(kTestUrl1); + EXPECT_EQ(1ul, ukm_tester().sources_count()); + const ukm::UkmSource* source = ukm_tester().GetSourceForUrl(kTestUrl1); EXPECT_EQ(GURL(kTestUrl1), source->url()); - EXPECT_GE(ukm_entry_count(), 1ul); - ukm::mojom::UkmEntryPtr entry = GetMergedEntryForSourceID(source->id()); - EXPECT_EQ(entry->source_id, source->id()); - EXPECT_EQ(entry->event_hash, - base::HashMetricName(internal::kUkmPageLoadEventName)); - EXPECT_FALSE(entry->metrics.empty()); - ExpectMetric(internal::kUkmPageTransition, ui::PAGE_TRANSITION_RELOAD, - entry.get()); + EXPECT_GE(ukm_tester().entries_count(), 1ul); + ukm_tester().ExpectMetric(*source, internal::kUkmPageLoadEventName, + internal::kUkmPageTransition, + ui::PAGE_TRANSITION_RELOAD); }
diff --git a/chrome/browser/page_load_metrics/test/ukm_tester.cc b/chrome/browser/page_load_metrics/test/ukm_tester.cc new file mode 100644 index 0000000..b4cd630 --- /dev/null +++ b/chrome/browser/page_load_metrics/test/ukm_tester.cc
@@ -0,0 +1,199 @@ +// 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/page_load_metrics/test/ukm_tester.h" + +#include <algorithm> +#include <iterator> + +#include "base/metrics/metrics_hashes.h" +#include "components/ukm/ukm_source.h" +#include "testing/gtest/include/gtest/gtest.h" + +namespace { + +// Provides a single merged ukm::mojom::UkmEntry proto that contains all metrics +// from the given |entries|. |entries| must be non-empty, and all |entries| must +// have the same |source_id| and |event_hash|. +ukm::mojom::UkmEntryPtr GetMergedEntry( + const std::vector<const ukm::mojom::UkmEntry*>& entries) { + EXPECT_FALSE(entries.empty()); + ukm::mojom::UkmEntryPtr merged_entry = ukm::mojom::UkmEntry::New(); + for (const auto* entry : entries) { + if (merged_entry->event_hash) { + EXPECT_EQ(merged_entry->source_id, entry->source_id); + EXPECT_EQ(merged_entry->event_hash, entry->event_hash); + } else { + merged_entry->event_hash = entry->event_hash; + merged_entry->source_id = entry->source_id; + } + for (const auto& metric : entry->metrics) { + merged_entry->metrics.emplace_back(metric->Clone()); + } + } + return merged_entry; +} + +std::vector<int64_t> GetValuesForMetric(const ukm::mojom::UkmEntry* entry, + const char* metric_name) { + std::vector<int64_t> values; + const uint64_t metric_hash = base::HashMetricName(metric_name); + for (const auto& metric : entry->metrics) { + if (metric->metric_hash == metric_hash) + values.push_back(metric->value); + } + return values; +} + +} // namespace + +namespace page_load_metrics { +namespace test { + +UkmTester::UkmTester(ukm::TestUkmRecorder* test_ukm_recorder) + : test_ukm_recorder_(test_ukm_recorder) {} + +const ukm::UkmSource* UkmTester::GetSourceForUrl(const char* url) const { + std::vector<const ukm::UkmSource*> matching_sources = GetSourcesForUrl(url); + EXPECT_LE(1ul, matching_sources.size()); + return matching_sources.empty() ? nullptr : matching_sources.back(); +} + +std::vector<const ukm::UkmSource*> UkmTester::GetSourcesForUrl( + const char* url) const { + std::vector<const ukm::UkmSource*> matching_sources; + for (const auto& candidate : test_ukm_recorder_->GetSources()) { + if (candidate.second->url() == url) + matching_sources.push_back(candidate.second.get()); + } + return matching_sources; +} + +std::vector<const ukm::mojom::UkmEntry*> UkmTester::GetEntriesForSourceID( + ukm::SourceId source_id, + const char* event_name) const { + const uint64_t event_hash = base::HashMetricName(event_name); + std::vector<const ukm::mojom::UkmEntry*> entries; + for (size_t i = 0; i < entries_count(); ++i) { + const ukm::mojom::UkmEntry* entry = test_ukm_recorder_->GetEntry(i); + if (entry->source_id == source_id && entry->event_hash == event_hash) { + entries.push_back(entry); + } + } + return entries; +} + +ukm::mojom::UkmEntryPtr UkmTester::GetMergedEntryForSourceID( + ukm::SourceId source_id, + const char* event_name) const { + ukm::mojom::UkmEntryPtr entry = + GetMergedEntry(GetEntriesForSourceID(source_id, event_name)); + EXPECT_EQ(source_id, entry->source_id); + EXPECT_EQ(base::HashMetricName(event_name), entry->event_hash); + return entry; +} + +bool UkmTester::HasEntry(const ukm::UkmSource& source, + const char* event_name) const { + return CountEntries(source, event_name) > 0; +} + +int UkmTester::CountEntries(const ukm::UkmSource& source, + const char* event_name) const { + return GetEntriesForSourceID(source.id(), event_name).size(); +} + +void UkmTester::ExpectEntry(const ukm::UkmSource& source, + const char* event_name, + const std::vector<std::pair<const char*, int64_t>>& + expected_metrics) const { + // Produce a sorted view of the expected metrics, since order is not + // significant. + std::vector<std::pair<uint64_t, int64_t>> sorted_expected_metrics; + std::transform(expected_metrics.begin(), expected_metrics.end(), + std::back_inserter(sorted_expected_metrics), + [](const std::pair<const char*, int64_t>& metric) { + return std::make_pair(base::HashMetricName(metric.first), + metric.second); + }); + std::sort(sorted_expected_metrics.begin(), sorted_expected_metrics.end()); + + std::vector<const ukm::mojom::UkmEntry*> candidate_entries = + GetEntriesForSourceID(source.id(), event_name); + + // Produce a view of each matching entry's metrics that can be compared with + // sorted_expected_metrics. + std::vector<std::vector<std::pair<uint64_t, int64_t>>> candidate_metrics; + std::transform(candidate_entries.begin(), candidate_entries.end(), + std::back_inserter(candidate_metrics), + [](const ukm::mojom::UkmEntry* candidate_entry) { + std::vector<std::pair<uint64_t, int64_t>> metrics; + std::transform(candidate_entry->metrics.begin(), + candidate_entry->metrics.end(), + std::back_inserter(metrics), + [](const ukm::mojom::UkmMetricPtr& metric) { + return std::make_pair(metric->metric_hash, + metric->value); + }); + std::sort(metrics.begin(), metrics.end()); + return metrics; + }); + + if (std::find(candidate_metrics.begin(), candidate_metrics.end(), + sorted_expected_metrics) == candidate_metrics.end()) { + FAIL() << "Failed to find metrics for event: " << event_name; + } +} + +int UkmTester::CountMetricsForEventName(const ukm::UkmSource& source, + const char* event_name) const { + ukm::mojom::UkmEntryPtr entry = + GetMergedEntryForSourceID(source.id(), event_name); + return entry.get() ? entry->metrics.size() : 0; +} + +bool UkmTester::HasMetric(const ukm::UkmSource& source, + const char* event_name, + const char* metric_name) const { + return CountMetrics(source, event_name, metric_name) > 0; +} + +int UkmTester::CountMetrics(const ukm::UkmSource& source, + const char* event_name, + const char* metric_name) const { + ukm::mojom::UkmEntryPtr entry = + GetMergedEntryForSourceID(source.id(), event_name); + return GetValuesForMetric(entry.get(), metric_name).size(); +} + +void UkmTester::ExpectMetric(const ukm::UkmSource& source, + const char* event_name, + const char* metric_name, + int64_t expected_value) const { + ExpectMetrics(source, event_name, metric_name, {expected_value}); +} + +void UkmTester::ExpectMetrics( + const ukm::UkmSource& source, + const char* event_name, + const char* metric_name, + const std::vector<int64_t>& expected_values) const { + ukm::mojom::UkmEntryPtr entry = + GetMergedEntryForSourceID(source.id(), event_name); + + // Make sure both vectors are sorted before comparing, since order is not + // significant. + std::vector<int64_t> sorted_expected_values(expected_values); + std::sort(sorted_expected_values.begin(), sorted_expected_values.end()); + + std::vector<int64_t> actual_values = + GetValuesForMetric(entry.get(), metric_name); + std::sort(actual_values.begin(), actual_values.end()); + + EXPECT_EQ(actual_values, sorted_expected_values) + << "Failed to find expected_values for metric: " << metric_name; +} + +} // namespace test +} // namespace page_load_metrics
diff --git a/chrome/browser/page_load_metrics/test/ukm_tester.h b/chrome/browser/page_load_metrics/test/ukm_tester.h new file mode 100644 index 0000000..c115cbc --- /dev/null +++ b/chrome/browser/page_load_metrics/test/ukm_tester.h
@@ -0,0 +1,113 @@ +// 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_PAGE_LOAD_METRICS_TEST_UKM_TESTER_H_ +#define CHROME_BROWSER_PAGE_LOAD_METRICS_TEST_UKM_TESTER_H_ + +#include <utility> +#include <vector> + +#include "base/compiler_specific.h" +#include "base/macros.h" +#include "components/ukm/test_ukm_recorder.h" +#include "services/metrics/public/cpp/ukm_recorder.h" +#include "services/metrics/public/interfaces/ukm_interface.mojom.h" + +namespace ukm { +class UkmSource; +} // namespace ukm + +namespace page_load_metrics { +namespace test { + +// UkmTester provides utilities for testing the logging of UKM sources, events, +// and metrics. +class UkmTester { + public: + explicit UkmTester(ukm::TestUkmRecorder* test_ukm_recorder); + + // Number of UKM sources recorded. + size_t sources_count() const { return test_ukm_recorder_->sources_count(); } + + // Number of UKM entries recorded. + size_t entries_count() const { return test_ukm_recorder_->entries_count(); } + + const ukm::UkmSource* GetSourceForUrl(const char* url) const; + + std::vector<const ukm::UkmSource*> GetSourcesForUrl(const char* url) const; + + // Returns whether the given UKM |source| has an entry with the given + // |event_name|. + bool HasEntry(const ukm::UkmSource& source, + const char* event_name) const WARN_UNUSED_RESULT; + + // Returns the number of metrics recorded for the given UKM |source| and + // |event_name|. + int CountMetricsForEventName(const ukm::UkmSource& source, + const char* event_name) const; + + // Returns whether a metric with the given |metric_name| was recorded for the + // given UKM |source| and |event_name|. + bool HasMetric(const ukm::UkmSource& source, + const char* event_name, + const char* metric_name) const WARN_UNUSED_RESULT; + + // Returns the number of metrics recorded with the given |metric_name|, for + // the given UKM |source| and |event_name|. + int CountMetrics(const ukm::UkmSource& source, + const char* event_name, + const char* metric_name) const WARN_UNUSED_RESULT; + + // Expects that a single metric was recorded with the given |expected_value|, + // for the given |source| and |event_name|. This is shorthand for calling + // ExpectMetrics with a single value in the expected values vector. + void ExpectMetric(const ukm::UkmSource& source, + const char* event_name, + const char* metric_name, + int64_t expected_value) const; + + // Expects that metrics were recorded with the given |expected_values|, for + // the given |source| and |event_name|. The order of |expected_values| is not + // significant. + void ExpectMetrics(const ukm::UkmSource& source, + const char* event_name, + const char* metric_name, + const std::vector<int64_t>& expected_values) const; + + // UKM entries that may be recorded multiple times for a single source may + // need to verify that an expected number of UKM entries were logged. The + // utility methods below can be used to verify expected entries. UKM entries + // that aren't recorded multiple times per source should prefer using + // HasMetric/CountMetrics/ExpectMetric(s) above. + + // Returns the number of entries recorded with the given |event_name|, for the + // given UKM |source|. + int CountEntries(const ukm::UkmSource& source, const char* event_name) const; + + // Expects that an entry with the given |expected_metrics| was recorded, for + // the given |source| and |event_name|. The order of |expected_metrics| is not + // significant. |expected_metrics| contains (metric name,metric value) pairs. + void ExpectEntry(const ukm::UkmSource& source, + const char* event_name, + const std::vector<std::pair<const char*, int64_t>>& + expected_metrics) const; + + private: + ukm::mojom::UkmEntryPtr GetMergedEntryForSourceID( + ukm::SourceId source_id, + const char* event_name) const; + + std::vector<const ukm::mojom::UkmEntry*> GetEntriesForSourceID( + ukm::SourceId source_id, + const char* event_name) const; + + const ukm::TestUkmRecorder* test_ukm_recorder_; + + DISALLOW_COPY_AND_ASSIGN(UkmTester); +}; + +} // namespace test +} // namespace page_load_metrics + +#endif // CHROME_BROWSER_PAGE_LOAD_METRICS_TEST_UKM_TESTER_H_
diff --git a/chrome/browser/profiling_host/profiling_process_host.cc b/chrome/browser/profiling_host/profiling_process_host.cc index fd64531..44626e8a 100644 --- a/chrome/browser/profiling_host/profiling_process_host.cc +++ b/chrome/browser/profiling_host/profiling_process_host.cc
@@ -8,17 +8,35 @@ #include "base/path_service.h" #include "base/process/launch.h" #include "base/strings/string_number_conversions.h" -#include "base/strings/utf_string_conversions.h" #include "chrome/common/chrome_switches.h" #include "chrome/common/profiling/memlog_sender.h" #include "content/public/common/content_switches.h" +#if defined(OS_LINUX) +#include <fcntl.h> +#include <stddef.h> +#include <stdint.h> +#include <sys/socket.h> +#include <sys/types.h> +#include <unistd.h> + +#include "base/files/scoped_file.h" +#include "base/process/process_metrics.h" +#include "base/third_party/valgrind/valgrind.h" +#endif + namespace profiling { namespace { ProfilingProcessHost* pph_singleton = nullptr; +#if defined(OS_LINUX) +bool IsRunningOnValgrind() { + return RUNNING_ON_VALGRIND; +} +#endif + base::CommandLine MakeProfilingCommandLine(const std::string& pipe_id) { // Program name. base::FilePath child_path; @@ -28,7 +46,7 @@ // When running under Valgrind, forking /proc/self/exe ends up forking the // Valgrind executable, which then crashes. However, it's almost safe to // assume that the updates won't happen while testing with Valgrind tools. - if (!RunningOnValgrind()) + if (!IsRunningOnValgrind()) child_path = base::FilePath(base::kProcSelfExe); #endif if (child_path.empty()) @@ -78,15 +96,46 @@ child_cmd_line->AppendSwitchASCII(switches::kMemlogPipe, pph->pipe_id_); } +#if defined(OS_WIN) void ProfilingProcessHost::Launch() { base::Process process = base::Process::Current(); - pipe_id_ = base::IntToString(static_cast<int>(process.Pid())); + base::LaunchOptions options; + pipe_id_ = base::IntToString(static_cast<int>(process.Pid())); base::CommandLine profiling_cmd = MakeProfilingCommandLine(pipe_id_); - base::LaunchOptions options; process_ = base::LaunchProcess(profiling_cmd, options); StartMemlogSender(pipe_id_); } +#elif defined(OS_POSIX) + +void ProfilingProcessHost::Launch() { + // Create the socketpair. + // TODO(ajwong): Should this use base/posix/unix_domain_socket_linux.h? + int fds[2]; + PCHECK(socketpair(AF_UNIX, SOCK_STREAM, 0, fds) == 0); + PCHECK(fcntl(fds[0], F_SETFL, O_NONBLOCK) == 0); + PCHECK(fcntl(fds[1], F_SETFL, O_NONBLOCK) == 0); + + // Store one end for our message sender to use. + pipe_id_ = base::IntToString(fds[0]); + base::ScopedFD child_end(fds[1]); + + // This is a new process forked from us. No need to remap. + base::FileHandleMappingVector fd_map; + fd_map.emplace_back(std::pair<int, int>(child_end.get(), child_end.get())); + + base::LaunchOptions options; + options.fds_to_remap = &fd_map; + options.kill_on_parent_death = true; + + base::CommandLine profiling_cmd = + MakeProfilingCommandLine(base::IntToString(child_end.get())); + process_ = base::LaunchProcess(profiling_cmd, options); + StartMemlogSender(pipe_id_); +} +#else +#error Unsupported OS. +#endif } // namespace profiling
diff --git a/chrome/browser/resources/chromeos/chromevox/cvox2/background/editing.js b/chrome/browser/resources/chromeos/chromevox/cvox2/background/editing.js index 199e4065..99cbad3 100644 --- a/chrome/browser/resources/chromeos/chromevox/cvox2/background/editing.js +++ b/chrome/browser/resources/chromeos/chromevox/cvox2/background/editing.js
@@ -43,12 +43,6 @@ this.node_ = node; }; -/** - * Flag set to indicate whether ChromeVox uses experimental rich text support. - * @type {boolean} - */ -editing.useRichText = true; - editing.TextEditHandler.prototype = { /** @return {!AutomationNode} */ get node() { @@ -76,7 +70,7 @@ editing.TextEditHandler.call(this, node); chrome.automation.getDesktop(function(desktop) { - var useRichText = editing.useRichText && node.state.richlyEditable; + var useRichText = node.state[StateType.RICHLY_EDITABLE]; /** @private {!AutomationEditableText} */ this.editableText_ = useRichText ? new AutomationRichEditableText(node) : @@ -253,10 +247,18 @@ // extended from anchor or focus. The default behavior is to compute lines // via focus. var baseLineOnStart = prevFocusLine.isSameLineAndSelection(focusLine); + var isSameSelection = + baseLineOnStart && prevAnchorLine.isSameLineAndSelection(anchorLine); - var cur = new editing.EditableLine( - root.anchorObject, root.anchorOffset, root.focusObject, - root.focusOffset, baseLineOnStart); + var cur; + if (isSameSelection && this.line_) { + // Nothing changed, return. + return; + } else { + cur = new editing.EditableLine( + root.anchorObject, root.anchorOffset, root.focusObject, + root.focusOffset, baseLineOnStart); + } var prev = this.line_; this.line_ = cur; @@ -317,8 +319,64 @@ .go(); } else if (!cur.hasCollapsedSelection()) { // This is a selection. - cvox.ChromeVox.tts.speak(cur.selectedText, cvox.QueueMode.CATEGORY_FLUSH); - cvox.ChromeVox.tts.speak(Msgs.getMsg('selected'), cvox.QueueMode.QUEUE); + + // Speech requires many more states than braille. + // TODO(dtseng): base/extent and anchor/focus are mismatched in AX. Swap + // once this works. + var curBase = baseLineOnStart ? focusLine : anchorLine; + var curExtent = baseLineOnStart ? anchorLine : focusLine; + var text = ''; + var suffixMsg = ''; + if (curBase.isBeforeLine(curExtent)) { + // Forward selection. + if (prev.isBeforeLine(curBase)) { + // Wrapped across the baseline. Read out the new selection. + suffixMsg = 'selected'; + text = this.getTextSelection_( + curBase.startContainer_, curBase.localStartOffset, + curExtent.endContainer_, curExtent.localEndOffset); + } else { + if (prev.isBeforeLine(curExtent)) { + // Grew. + suffixMsg = 'selected'; + text = this.getTextSelection_( + prev.endContainer_, prev.localEndOffset, + curExtent.endContainer_, curExtent.localEndOffset); + } else { + // Shrank. + suffixMsg = 'unselected'; + text = this.getTextSelection_( + curExtent.endContainer_, curExtent.localEndOffset, + prev.endContainer_, prev.localEndOffset); + } + } + } else { + // Backward selection. + if (curBase.isBeforeLine(prev)) { + // Wrapped across the baseline. Read out the new selection. + suffixMsg = 'selected'; + text = this.getTextSelection_( + curExtent.startContainer_, curExtent.localStartOffset, + curBase.endContainer_, curBase.localEndOffset); + } else { + if (curExtent.isBeforeLine(prev)) { + // Grew. + suffixMsg = 'selected'; + text = this.getTextSelection_( + curExtent.startContainer_, curExtent.localStartOffset, + prev.startContainer_, prev.localStartOffset); + } else { + // Shrank. + suffixMsg = 'unselected'; + text = this.getTextSelection_( + prev.startContainer_, prev.localStartOffset, + curExtent.startContainer_, curExtent.localStartOffset); + } + } + } + + cvox.ChromeVox.tts.speak(text, cvox.QueueMode.CATEGORY_FLUSH); + cvox.ChromeVox.tts.speak(Msgs.getMsg(suffixMsg), cvox.QueueMode.QUEUE); this.brailleCurrentRichLine_(); } else { // Describe the current line. This accounts for previous/current @@ -337,6 +395,40 @@ }, /** + * @param {AutomationNode|undefined} startNode + * @param {number} startOffset + * @param {AutomationNode|undefined} endNode + * @param {number} endOffset + * @return {string} + */ + getTextSelection_: function(startNode, startOffset, endNode, endOffset) { + if (!startNode || !endNode) + return ''; + + if (startNode == endNode) { + return startNode.name ? startNode.name.substring(startOffset, endOffset) : + ''; + } + + var text = ''; + if (startNode.name) + text = startNode.name.substring(startOffset); + + for (var node = startNode; + (node = AutomationUtil.findNextNode( + node, Dir.FORWARD, AutomationPredicate.leafOrStaticText)) && + node != endNode;) { + // Padding needs to get added to break up speech utterances. + if (node.name) + text += ' ' + node.name; + } + + if (endNode.name) + text += ' ' + endNode.name.substring(0, endOffset); + return text; + }, + + /** * @param {number} markerType * @param {boolean=} opt_end * @private @@ -543,6 +635,8 @@ this.end_ = this.end_.deepEquivalent || this.end_; /** @private {number} */ this.localContainerStartOffset_ = startIndex; + /** @private {number} */ + this.localContainerEndOffset_ = endIndex; // Computed members. /** @private {Spannable} */ @@ -583,10 +677,16 @@ if (lineBase.node == lineExtend.node) this.value_.setSpan(lineExtend, 0, nameLen); + this.startContainer_ = this.start_.node; + if (this.startContainer_.role == RoleType.INLINE_TEXT_BOX) + this.startContainer_ = this.startContainer_.parent; + this.endContainer_ = this.end_.node; + if (this.endContainer_.role == RoleType.INLINE_TEXT_BOX) + this.endContainer_ = this.endContainer_.parent; + // Initialize defaults. this.lineStart_ = lineBase.node; this.lineEnd_ = this.lineStart_; - this.startContainer_ = this.lineStart_.parent; this.lineStartContainer_ = this.lineStart_.parent; this.lineEndContainer_ = this.lineStart_.parent; @@ -739,7 +839,7 @@ * @return {number} */ get localStartOffset() { - return this.startOffset - this.containerStartOffset; + return this.localContainerStartOffset_; }, /** @@ -748,7 +848,7 @@ * @return {number} */ get localEndOffset() { - return this.endOffset - this.containerStartOffset; + return this.localContainerEndOffset_; }, /** @@ -815,6 +915,19 @@ return this.isSameLine(otherLine) && this.startOffset == otherLine.startOffset && this.endOffset == otherLine.endOffset; + }, + + /** + * Returns whether this line comes before |otherLine| in document order. + * @return {boolean} + */ + isBeforeLine: function(otherLine) { + if (this.isSameLine(otherLine) || !this.lineStartContainer_ || + !otherLine.lineStartContainer_) + return false; + return AutomationUtil.getDirection( + this.lineStartContainer_, otherLine.lineStartContainer_) == + Dir.FORWARD; } };
diff --git a/chrome/browser/resources/chromeos/chromevox/cvox2/background/editing_test.extjs b/chrome/browser/resources/chromeos/chromevox/cvox2/background/editing_test.extjs index f589443a..2bd71da 100644 --- a/chrome/browser/resources/chromeos/chromevox/cvox2/background/editing_test.extjs +++ b/chrome/browser/resources/chromeos/chromevox/cvox2/background/editing_test.extjs
@@ -31,35 +31,6 @@ return mockFeedback; }, - assertLineData: function(doc, data) { - editing.useRichText = false; - this.runWithLoadedTree(doc, function(root) { - var input = root.find({role: RoleType.TEXT_FIELD}); - input.addEventListener('focus', this.newCallback(function() { - var textHandler = ChromeVoxState.desktopAutomationHandler - .textEditHandler_.editableText_; - - var offset = 0; - for (var i = 0; i < data.length; i++) { - var line = data[i]; - var actualStart = textHandler.getLineStart(i); - var actualEnd = textHandler.getLineEnd(i); - assertEquals(line.start, actualStart, - 'Unexpected start: ' + actualStart); - assertEquals(line.end, actualEnd, - 'Unexpected end: ' + actualEnd); - assertEquals(line.text, textHandler.getLine(i)); - var offset = textHandler.getLineStart(i); - for (var j = 0; j < line.text.length; j++, offset++) { - assertEquals(i, textHandler.getLineIndex(offset), - 'Unexpected Line: ' + line.text + ' at index: ' + offset); - } - } - }), true); - input.focus(); - }); - }, - }; var doc = function() {/*! @@ -161,58 +132,6 @@ }); }); -TEST_F('EditingTest', 'OneLineBreak', function() { - this.assertLineData(function() {/*! - <div role="textbox" contenteditable>this is a<br>test</div> - */}, - [ - {start: 0, end: 9, text: 'this is a'}, - {start: 10, end: 14, text: 'test'} - ]); -}); - -TEST_F('EditingTest', 'TwoLineBreaks', function() { - this.assertLineData(function() {/*! - <div role="textbox" contenteditable>this is a<br><br> - test</div> - */}, - [ - {start: 0, end: 9, text: 'this is a'}, - {start: 10, end: 10, text: ''}, - {start: 11, end: 15, text: 'test'}, - ]); -}); - -TEST_F('EditingTest', 'InitialBreaks', function() { - this.assertLineData(function() {/*! - <div role="textbox" contenteditable><br><br><br> - this is a</div> - */}, - [ - {start: 0, end: 0, text: ''}, - {start: 1, end: 1, text: ''}, - {start: 2, end: 2, text: ''}, - {start: 3, end: 12, text: 'this is a'}, - ]); -}); - -TEST_F('EditingTest', 'SingleCharacterLine', function() { - this.assertLineData(function() {/*! - <div role="textbox" contenteditable> - <div>this</div><br> - <div><br> - I<br> - can test</div></div> - */}, - [ - {start: 0, end: 4, text: 'this'}, - {start: 5, end: 5, text: ''}, - {start: 6, end: 6, text: ''}, - {start: 7, end: 8, text: 'I'}, - {start: 9, end: 17, text: 'can test'}, - ]); -}); - TEST_F('EditingTest', 'RichTextMoveByLine', function() { var mockFeedback = this.createMockFeedback(); this.runWithLoadedTree(function() {/*! @@ -540,6 +459,117 @@ }); }); +TEST_F('EditingTest', 'RichTextSelectByLine', function() { + var mockFeedback = this.createMockFeedback(); + this.runWithLoadedTree(function() {/*! + <p id="go" contenteditable> + first line<br> + second line<br> + third line<br> + </p> + <script> + var commands = [ + ['extend', 'forward', 'character'], + ['extend', 'forward', 'character'], + + ['extend', 'forward', 'line'], + ['extend', 'forward', 'line'], + + ['extend', 'backward', 'line'], + ['extend', 'backward', 'line'], + + ['extend', 'forward', 'documentBoundary'], + + ['move', 'forward', 'character'], + ['move', 'backward', 'character'], + ['move', 'backward', 'character'], + + ['extend', 'backward', 'line'], + ['extend', 'backward', 'line'], + + ['extend', 'forward', 'line'], + ]; + document.getElementById('go').addEventListener('click', function() { + var sel = getSelection(); + sel.modify.apply(sel, commands.shift()); + }, true); + </script> + */}, function(root) { + var input = root.find({role: RoleType.PARAGRAPH}); + var move = input.doDefault.bind(input); + + this.listenOnce(input, 'focus', function() { + + // By character. + mockFeedback.call(move) + .expectSpeech('f', 'selected') + .expectBraille('first line\n', {startIndex: 0, endIndex: 1}) + .call(move) + .expectSpeech('i', 'added to selection') + .expectBraille('first line\n', {startIndex: 0, endIndex: 2}) + + // Forward selection. + + // Growing. + + // By line (notice the partial selections from the first and second + // lines). + .call(move) + .expectSpeech('rst line \n se', 'selected') + .expectBraille('second line\n', {startIndex: 0, endIndex: 2}) + + .call(move) + .expectSpeech('cond line \n th', 'selected') + .expectBraille('third line\n', {startIndex: 0, endIndex: 2}) + + // Shrinking. + .call(move) + .expectSpeech('cond line \n th', 'unselected') + .expectBraille('second line\n', {startIndex: 0, endIndex: 2}) + + .call(move) + .expectSpeech('fi', 'selected') + .expectBraille('first line\n', {startIndex: 0, endIndex: 2}) + + // Document boundary. + .call(move) + .expectSpeech('rst line \n second line \n third line \n \n', + 'selected') + .expectBraille('third line\n', {startIndex: 0, endIndex: 10}) + + // The script repositions the caret to the 'n' of the third line. + .call(move) + .expectSpeech('third line') + .expectBraille('third line\n', {startIndex: 10, endIndex: 10}) + .call(move) + .expectSpeech('e') + .expectBraille('third line\n', {startIndex: 9, endIndex: 9}) + .call(move) + .expectSpeech('n') + .expectBraille('third line\n', {startIndex: 8, endIndex: 8}) + + // Backward selection. + + // Growing. + .call(move) + .expectSpeech(' line \n third li', 'selected') + .expectBraille('second line\n', {startIndex: 6, endIndex: 12}) + + .call(move) + .expectSpeech('e \n second', 'selected') + .expectBraille('first line\n', {startIndex: 9, endIndex: 11}) + + // Shrinking. + .call(move) + .expectSpeech('e \n second', 'unselected') + .expectBraille('second line\n', {startIndex: 6, endIndex: 12}) + + .replay(); + }); + input.focus(); + }); +}); + TEST_F('EditingTest', 'EditableLineOneStaticText', function() { this.runWithLoadedTree(function() {/*! <p contenteditable style="word-spacing:100000px">this is a test</p> @@ -573,8 +603,8 @@ assertEquals(0, e.startOffset); assertEquals(0, e.endOffset); - assertEquals(0, e.localStartOffset); - assertEquals(0, e.localEndOffset); + assertEquals(5, e.localStartOffset); + assertEquals(5, e.localEndOffset); assertEquals(0, e.containerStartOffset); assertEquals(2, e.containerEndOffset); @@ -584,8 +614,8 @@ assertEquals(2, e.startOffset); assertEquals(2, e.endOffset); - assertEquals(2, e.localStartOffset); - assertEquals(2, e.localEndOffset); + assertEquals(7, e.localStartOffset); + assertEquals(7, e.localEndOffset); assertEquals(0, e.containerStartOffset); assertEquals(2, e.containerEndOffset);
diff --git a/chrome/browser/resources/chromeos/keyboard_overlay_data.js b/chrome/browser/resources/chromeos/keyboard_overlay_data.js index 45c95e5f..a3b425c4c 100644 --- a/chrome/browser/resources/chromeos/keyboard_overlay_data.js +++ b/chrome/browser/resources/chromeos/keyboard_overlay_data.js
@@ -4223,7 +4223,7 @@ 'g<>CTRL': 'keyboardOverlayFindTextAgain', 'g<>CTRL<>SHIFT': 'keyboardOverlayFindPreviousText', 'h<>CTRL': 'keyboardOverlayHistory', - 'h<>SEARCH<>SHIFT': 'keyboardOverlayToggleHighContrastMode', + 'h<>CTRL<>SEARCH': 'keyboardOverlayToggleHighContrastMode', 'i<>ALT<>CTRL': 'keyboardOverlayTouchHudModeChange', 'i<>ALT<>SHIFT': 'keyboardOverlayReportIssue', 'i<>CTRL<>SHIFT': 'keyboardOverlayDeveloperTools',
diff --git a/chrome/browser/resources/chromeos/login/screen_gaia_signin.js b/chrome/browser/resources/chromeos/login/screen_gaia_signin.js index 08a83644..15751b1 100644 --- a/chrome/browser/resources/chromeos/login/screen_gaia_signin.js +++ b/chrome/browser/resources/chromeos/login/screen_gaia_signin.js
@@ -228,6 +228,8 @@ 'dialogShown', frameFilter(that.onDialogShown_)); frame.addEventListener( 'dialogHidden', frameFilter(that.onDialogHidden_)); + frame.addEventListener( + 'menuItemClicked', frameFilter(that.onMenuItemClicked_)); }); this.gaiaAuthHost_.addEventListener( @@ -660,8 +662,12 @@ params.isNewGaiaFlow = true; params.doSamlRedirect = (this.screenMode_ == ScreenMode.SAML_INTERSTITIAL); + params.menuGuestMode = data.guestSignin; + params.menuKeyboardOptions = false; + params.menuEnterpriseEnrollment = true; this.gaiaAuthParams_ = params; + switch (this.screenMode_) { case ScreenMode.DEFAULT: this.loadGaiaAuthHost_(false /* doSamlRedirect */); @@ -810,6 +816,19 @@ }, /** + * Invoked when user activates menu item. + * @private + */ + onMenuItemClicked_: function(e) { + if (e.detail == 'gm') { + Oobe.disableSigninUI(); + chrome.send('launchIncognito'); + } else if (e.detail == 'ee') { + cr.ui.Oobe.handleAccelerator(ACCELERATOR_ENROLLMENT); + } + }, + + /** * Invoked when the auth host emits 'backButton' event. * @private */
diff --git a/chrome/browser/resources/gaia_auth_host/authenticator.js b/chrome/browser/resources/gaia_auth_host/authenticator.js index 2e293831..d07de8e 100644 --- a/chrome/browser/resources/gaia_auth_host/authenticator.js +++ b/chrome/browser/resources/gaia_auth_host/authenticator.js
@@ -10,6 +10,8 @@ * authentication events should pass a listener object of type * cr.login.GaiaAuthHost.Listener as defined in this file. After initialization, * call {@code load} to start the authentication flow. + * + * See go/cros-auth-design for details on Google API. */ cr.define('cr.login', function() { @@ -77,16 +79,19 @@ // not called before dispatching |authCopleted|. // Default is |true|. 'flow', // One of 'default', 'enterprise', or 'theftprotection'. - 'enterpriseDomain', // Domain in which hosting device is (or should be) - // enrolled. - 'emailDomain', // Value used to prefill domain for email. - 'chromeType', // Type of Chrome OS device, e.g. "chromebox". - 'clientVersion', // Version of the Chrome build. - 'platformVersion', // Version of the OS build. - 'releaseChannel', // Installation channel. - 'endpointGen', // Current endpoint generation. - 'gapsCookie', // GAPS cookie - 'chromeOSApiVersion', // GAIA Chrome OS API version + 'enterpriseDomain', // Domain in which hosting device is (or should be) + // enrolled. + 'emailDomain', // Value used to prefill domain for email. + 'chromeType', // Type of Chrome OS device, e.g. "chromebox". + 'clientVersion', // Version of the Chrome build. + 'platformVersion', // Version of the OS build. + 'releaseChannel', // Installation channel. + 'endpointGen', // Current endpoint generation. + 'gapsCookie', // GAPS cookie + 'chromeOSApiVersion', // GAIA Chrome OS API version + 'menuGuestMode', // Enables "Guest mode" menu item + 'menuKeyboardOptions', // Enables "Keyboard options" menu item + 'menuEnterpriseEnrollment', // Enables "Enterprise enrollment" menu item. // The email fields allow for the following possibilities: // @@ -316,6 +321,17 @@ url = appendParam(url, 'release_channel', data.releaseChannel); if (data.endpointGen) url = appendParam(url, 'endpoint_gen', data.endpointGen); + if (data.chromeOSApiVersion == 2) { + var mi = ''; + if (data.menuGuestMode) + mi += 'gm,'; + if (data.menuKeyboardOptions) + mi += 'ko,'; + if (data.menuEnterpriseEnrollment) + mi += 'ee,'; + if (mi.length) + url = appendParam(url, 'mi', mi); + } } else { url = appendParam(url, 'continue', this.continueUrl_); url = appendParam(url, 'service', data.service || SERVICE_ID); @@ -589,6 +605,9 @@ this.dispatchEvent(new CustomEvent('backButton', {detail: msg.show})); } else if (msg.method == 'showView') { this.dispatchEvent(new Event('showView')); + } else if (msg.method == 'menuItemClicked') { + this.dispatchEvent( + new CustomEvent('menuItemClicked', {detail: msg.item})); } else if (msg.method == 'identifierEntered') { this.dispatchEvent(new CustomEvent( 'identifierEntered',
diff --git a/chrome/browser/resources/settings/about_page/about_page.html b/chrome/browser/resources/settings/about_page/about_page.html index 05b00cf..7e39329b 100644 --- a/chrome/browser/resources/settings/about_page/about_page.html +++ b/chrome/browser/resources/settings/about_page/about_page.html
@@ -35,10 +35,6 @@ --about-page-image-space: 10px; } - .copyable { - user-select: text; - } - .info-section { margin-bottom: 12px; } @@ -107,8 +103,7 @@ src="[[getIconSrc_(obsoleteSystemInfo_, currentUpdateStatusEvent_)]]"> </iron-icon> <div class="start padded"> - <div id="updateStatusMessage" class="copyable" - hidden="[[!showUpdateStatus_]]" + <div id="updateStatusMessage" hidden="[[!showUpdateStatus_]]" <if expr="not chromeos"> inner-h-t-m-l="[[getUpdateStatusMessage_( currentUpdateStatusEvent_)]]"> @@ -125,7 +120,7 @@ $i18n{learnMore} </a> </span> - <div class="secondary copyable">$i18n{aboutBrowserVersion}</div> + <div class="secondary">$i18n{aboutBrowserVersion}</div> </div> <div class="separator" hidden="[[!showButtonContainer_]]"></div> <span id="buttonContainer" hidden="[[!showButtonContainer_]]"> @@ -204,7 +199,7 @@ </settings-section> <settings-section> - <div class="settings-box padded block copyable"> + <div class="settings-box padded block"> <div class="info-section"> <div class="secondary">$i18n{aboutProductTitle}</div> <div class="secondary">$i18n{aboutProductCopyright}</div>
diff --git a/chrome/browser/resources/settings/about_page/detailed_build_info.html b/chrome/browser/resources/settings/about_page/detailed_build_info.html index 0801f99..a1ae314 100644 --- a/chrome/browser/resources/settings/about_page/detailed_build_info.html +++ b/chrome/browser/resources/settings/about_page/detailed_build_info.html
@@ -13,10 +13,6 @@ <dom-module id="settings-detailed-build-info"> <template> <style include="settings-shared"> - .secondary { - -webkit-user-select: text; - } - cr-policy-indicator { -webkit-margin-start: var(--cr-controlled-by-spacing); }
diff --git a/chrome/browser/resources/settings/android_apps_page/android_apps_page.js b/chrome/browser/resources/settings/android_apps_page/android_apps_page.js index 6260887..b7e1491c 100644 --- a/chrome/browser/resources/settings/android_apps_page/android_apps_page.js +++ b/chrome/browser/resources/settings/android_apps_page/android_apps_page.js
@@ -37,7 +37,7 @@ }, /** - * @param {Event} event + * @param {!Event} event * @private */ onEnableTap_: function(event) {
diff --git a/chrome/browser/resources/settings/android_apps_page/android_apps_subpage.js b/chrome/browser/resources/settings/android_apps_page/android_apps_subpage.js index ea9e855..a0699ea 100644 --- a/chrome/browser/resources/settings/android_apps_page/android_apps_subpage.js +++ b/chrome/browser/resources/settings/android_apps_page/android_apps_subpage.js
@@ -60,7 +60,7 @@ /** * Shows a confirmation dialog when disabling android apps. - * @param {Event} event + * @param {!Event} event * @private */ onRemoveTap_: function(event) {
diff --git a/chrome/browser/resources/settings/android_apps_page/android_settings_element.js b/chrome/browser/resources/settings/android_apps_page/android_settings_element.js index bdac9c5..b8132c1 100644 --- a/chrome/browser/resources/settings/android_apps_page/android_settings_element.js +++ b/chrome/browser/resources/settings/android_apps_page/android_settings_element.js
@@ -19,7 +19,7 @@ }, /** - * @param {Event} event + * @param {!Event} event * @private */ onManageAndroidAppsKeydown_: function(event) {
diff --git a/chrome/browser/resources/settings/bluetooth_page/bluetooth_page.js b/chrome/browser/resources/settings/bluetooth_page/bluetooth_page.js index 3a52fbd..104106c 100644 --- a/chrome/browser/resources/settings/bluetooth_page/bluetooth_page.js +++ b/chrome/browser/resources/settings/bluetooth_page/bluetooth_page.js
@@ -177,7 +177,7 @@ }, /** - * @param {Event} e + * @param {!Event} e * @private */ stopTap_: function(e) { @@ -185,7 +185,7 @@ }, /** - * @param {Event} e + * @param {!Event} e * @private */ onSubpageArrowTap_: function(e) {
diff --git a/chrome/browser/resources/settings/chrome_cleanup_page/chrome_cleanup_page.html b/chrome/browser/resources/settings/chrome_cleanup_page/chrome_cleanup_page.html index 3457c8a..d8bee09 100644 --- a/chrome/browser/resources/settings/chrome_cleanup_page/chrome_cleanup_page.html +++ b/chrome/browser/resources/settings/chrome_cleanup_page/chrome_cleanup_page.html
@@ -15,7 +15,6 @@ <template> <style include="settings-shared"> #files-to-remove-list { - -webkit-user-select: text; word-break: break-all; }
diff --git a/chrome/browser/resources/settings/device_page/display_overscan_dialog.js b/chrome/browser/resources/settings/device_page/display_overscan_dialog.js index e9f245c..891a7146 100644 --- a/chrome/browser/resources/settings/device_page/display_overscan_dialog.js +++ b/chrome/browser/resources/settings/device_page/display_overscan_dialog.js
@@ -76,7 +76,7 @@ }, /** - * @param {Event} event + * @param {!Event} event * @private */ handleKeyEvent_: function(event) {
diff --git a/chrome/browser/resources/settings/device_page/drag_behavior.js b/chrome/browser/resources/settings/device_page/drag_behavior.js index c08cf0c..2c55544 100644 --- a/chrome/browser/resources/settings/device_page/drag_behavior.js +++ b/chrome/browser/resources/settings/device_page/drag_behavior.js
@@ -121,7 +121,7 @@ }, /** - * @param {Event} e The mouse down event. + * @param {!Event} e The mouse down event. * @return {boolean} * @private */ @@ -134,7 +134,7 @@ }, /** - * @param {Event} e The mouse move event. + * @param {!Event} e The mouse move event. * @return {boolean} * @private */ @@ -144,7 +144,7 @@ }, /** - * @param {Event} e The touch start event. + * @param {!Event} e The touch start event. * @return {boolean} * @private */ @@ -160,7 +160,7 @@ }, /** - * @param {Event} e The touch move event. + * @param {!Event} e The touch move event. * @return {boolean} * @private */ @@ -197,7 +197,7 @@ }, /** - * @param {Event} e + * @param {!Event} e * @return {boolean} * @private */ @@ -211,7 +211,7 @@ }, /** - * @param {Event} e The event which triggers this drag. + * @param {!Event} e The event which triggers this drag. * @param {DragPosition} eventLocation The location of the event. * @return {boolean} * @private
diff --git a/chrome/browser/resources/settings/internet_page/internet_detail_page.js b/chrome/browser/resources/settings/internet_page/internet_detail_page.js index a56d342..6acf65d 100644 --- a/chrome/browser/resources/settings/internet_page/internet_detail_page.js +++ b/chrome/browser/resources/settings/internet_page/internet_detail_page.js
@@ -630,7 +630,7 @@ }, /** - * @param {Event} event + * @param {!Event} event * @private */ toggleAdvancedExpanded_: function(event) { @@ -640,7 +640,7 @@ }, /** - * @param {Event} event + * @param {!Event} event * @private */ toggleNetworkExpanded_: function(event) { @@ -650,7 +650,7 @@ }, /** - * @param {Event} event + * @param {!Event} event * @private */ toggleProxyExpanded_: function(event) {
diff --git a/chrome/browser/resources/settings/internet_page/internet_known_networks_page.js b/chrome/browser/resources/settings/internet_page/internet_known_networks_page.js index cc333ac..791bf11 100644 --- a/chrome/browser/resources/settings/internet_page/internet_known_networks_page.js +++ b/chrome/browser/resources/settings/internet_page/internet_known_networks_page.js
@@ -193,7 +193,7 @@ /** * Fires a 'show-details' event with an item containing a |networkStateList_| * entry in the event model. - * @param {Event} event + * @param {!Event} event * @private */ fireShowDetails_: function(event) {
diff --git a/chrome/browser/resources/settings/internet_page/internet_page.js b/chrome/browser/resources/settings/internet_page/internet_page.js index 7a96a04..c4a809e 100644 --- a/chrome/browser/resources/settings/internet_page/internet_page.js +++ b/chrome/browser/resources/settings/internet_page/internet_page.js
@@ -305,7 +305,7 @@ /** * Event triggered when the 'Add connections' div is tapped. - * @param {Event} event + * @param {!Event} event * @private */ onExpandAddConnectionsTap_: function(event) {
diff --git a/chrome/browser/resources/settings/internet_page/network_apnlist.js b/chrome/browser/resources/settings/internet_page/network_apnlist.js index 2ecd5f3..b81f6cec 100644 --- a/chrome/browser/resources/settings/internet_page/network_apnlist.js +++ b/chrome/browser/resources/settings/internet_page/network_apnlist.js
@@ -206,7 +206,7 @@ /** * Event triggered when the Other APN 'Save' button is tapped. - * @param {Event} event + * @param {!Event} event * @private */ onSaveOtherTap_: function(event) {
diff --git a/chrome/browser/resources/settings/internet_page/network_property_list.js b/chrome/browser/resources/settings/internet_page/network_property_list.js index b50a756..006feca4 100644 --- a/chrome/browser/resources/settings/internet_page/network_property_list.js +++ b/chrome/browser/resources/settings/internet_page/network_property_list.js
@@ -58,7 +58,7 @@ * Event triggered when an input field changes. Fires a 'property-change' * event with the field (property) name set to the target id, and the value * set to the target input value. - * @param {Event} event The input change event. + * @param {!Event} event The input change event. * @private */ onValueChange_: function(event) {
diff --git a/chrome/browser/resources/settings/internet_page/network_proxy.js b/chrome/browser/resources/settings/internet_page/network_proxy.js index c38e5ca..0812388 100644 --- a/chrome/browser/resources/settings/internet_page/network_proxy.js +++ b/chrome/browser/resources/settings/internet_page/network_proxy.js
@@ -319,7 +319,7 @@ /** * Event triggered when a proxy exclusion is added. - * @param {Event} event The add proxy exclusion event. + * @param {!Event} event The add proxy exclusion event. * @private */ onAddProxyExclusionTap_: function(event) { @@ -334,7 +334,7 @@ /** * Event triggered when the proxy exclusion list changes. - * @param {Event} event The remove proxy exclusions change event. + * @param {!Event} event The remove proxy exclusions change event. * @private */ onProxyExclusionsChange_: function(event) { @@ -462,7 +462,7 @@ /** * Handles the change event for the shared proxy checkbox. Shows a * confirmation dialog. - * @param {Event} event + * @param {!Event} event * @private */ onAllowSharedProxiesChange_: function(event) {
diff --git a/chrome/browser/resources/settings/internet_page/network_siminfo.js b/chrome/browser/resources/settings/internet_page/network_siminfo.js index 0dcb4a9..06a1c3c3 100644 --- a/chrome/browser/resources/settings/internet_page/network_siminfo.js +++ b/chrome/browser/resources/settings/internet_page/network_siminfo.js
@@ -117,7 +117,7 @@ /** * Opens the pin dialog when the sim lock enabled state changes. - * @param {Event} event + * @param {!Event} event * @private */ onSimLockEnabledChange_: function(event) { @@ -131,7 +131,7 @@ /** * Sends the PIN value from the Enter PIN dialog. - * @param {Event} event + * @param {!Event} event * @private */ sendEnterPin_: function(event) { @@ -174,7 +174,7 @@ /** * Sends the old and new PIN values from the Change PIN dialog. - * @param {Event} event + * @param {!Event} event * @private */ sendChangePin_: function(event) { @@ -213,7 +213,7 @@ /** * Sends the PIN value from the Unlock PIN dialog. - * @param {Event} event + * @param {!Event} event * @private */ sendUnlockPin_: function(event) { @@ -244,7 +244,7 @@ /** * Sends the PUK value and new PIN value from the Unblock PUK dialog. - * @param {Event} event + * @param {!Event} event * @private */ sendUnlockPuk_: function(event) {
diff --git a/chrome/browser/resources/settings/passwords_and_forms_page/password_list_item.html b/chrome/browser/resources/settings/passwords_and_forms_page/password_list_item.html index 2b5dbd4..5301e5b 100644 --- a/chrome/browser/resources/settings/passwords_and_forms_page/password_list_item.html +++ b/chrome/browser/resources/settings/passwords_and_forms_page/password_list_item.html
@@ -22,15 +22,13 @@ <div class="list-item" focus-row-container> <div class="website-column no-min-width" title="[[item.loginPair.urls.link]]"> - <a id="originUrl" target="_blank" class="selectable no-min-width" + <a id="originUrl" target="_blank" class="no-min-width" href="[[item.loginPair.urls.link]]" focus-row-control focus-type="originUrl"> - <span class="text-elide"> - [[item.loginPair.urls.shown]] - </span> + <span class="text-elide">[[item.loginPair.urls.shown]]</span> </a> </div> - <div class="username-column selectable text-elide" + <div class="username-column text-elide" id="username">[[item.loginPair.username]]</div> <div class="password-column"> <template is="dom-if" if="[[!item.federationText]]"> @@ -41,9 +39,7 @@ </input> </template> <template is="dom-if" if="[[item.federationText]]"> - <span class="password-field selectable text-elide"> - [[item.federationText]] - </span> + <span class="password-field text-elide">[[item.federationText]]</span> </template> <button is="paper-icon-button-light" id="passwordMenu" class="icon-more-vert" on-tap="onPasswordMenuTap_"
diff --git a/chrome/browser/resources/settings/passwords_and_forms_page/passwords_section.html b/chrome/browser/resources/settings/passwords_and_forms_page/passwords_section.html index df0d3e5..cd9e9052 100644 --- a/chrome/browser/resources/settings/passwords_and_forms_page/passwords_section.html +++ b/chrome/browser/resources/settings/passwords_and_forms_page/passwords_section.html
@@ -99,8 +99,9 @@ filter="[[passwordExceptionFilter_(filter)]]"> <div class="list-item"> <div class="start"> - <a id="exception" href="[[item.urls.link]]" target="_blank" - class="selectable">[[item.urls.shown]]</a> + <a id="exception" href="[[item.urls.link]]" target="_blank"> + [[item.urls.shown]] + </a> </div> <button is="paper-icon-button-light" id="removeExceptionButton" class="icon-clear" on-tap="onRemoveExceptionButtonTap_"
diff --git a/chrome/browser/resources/settings/passwords_and_forms_page/passwords_shared_css.html b/chrome/browser/resources/settings/passwords_and_forms_page/passwords_shared_css.html index 1430a4af..0933fe0 100644 --- a/chrome/browser/resources/settings/passwords_and_forms_page/passwords_shared_css.html +++ b/chrome/browser/resources/settings/passwords_and_forms_page/passwords_shared_css.html
@@ -34,10 +34,6 @@ height: 20px; width: 0; } - - .selectable { - -webkit-user-select: text; - } </style> </template> </dom-module>
diff --git a/chrome/browser/resources/settings/people_page/sync_page.js b/chrome/browser/resources/settings/people_page/sync_page.js index 35c3b47..779ff49 100644 --- a/chrome/browser/resources/settings/people_page/sync_page.js +++ b/chrome/browser/resources/settings/people_page/sync_page.js
@@ -293,7 +293,7 @@ /** * Sends the newly created custom sync passphrase to the browser. * @private - * @param {Event} e + * @param {!Event} e */ onSaveNewPassphraseTap_: function(e) { assert(this.creatingNewPassphrase_); @@ -320,7 +320,7 @@ /** * Sends the user-entered existing password to re-enable sync. * @private - * @param {Event} e + * @param {!Event} e */ onSubmitExistingPassphraseTap_: function(e) { if (e.type == 'keypress' && e.key != 'Enter')
diff --git a/chrome/browser/resources/settings/printing_page/cups_add_printer_dialog.html b/chrome/browser/resources/settings/printing_page/cups_add_printer_dialog.html index b030d51..2c12065 100644 --- a/chrome/browser/resources/settings/printing_page/cups_add_printer_dialog.html +++ b/chrome/browser/resources/settings/printing_page/cups_add_printer_dialog.html
@@ -298,7 +298,7 @@ <div class="label">$i18n{printerManufacturer}</div> <div class="secondary"> <drop-down-search-box items="[[manufacturerList]]" - selected-item="{{newPrinter.printerManufacturer}}"> + selected-item="{{newPrinter.ppdManufacturer}}"> </drop-down-search-box> </div> </div> @@ -308,7 +308,7 @@ <div class="label">$i18n{printerModel}</div> <div class="secondary"> <drop-down-search-box items="[[modelList]]" - selected-item="{{newPrinter.printerModel}}"> + selected-item="{{newPrinter.ppdModel}}"> </drop-down-search-box> </div> </div> @@ -335,8 +335,8 @@ $i18n{cancelButtonText} </paper-button> <paper-button class="action-button" id="addPrinterButton" - disabled="[[!canAddPrinter_(newPrinter.printerManufacturer, - newPrinter.printerModel, + disabled="[[!canAddPrinter_(newPrinter.ppdManufacturer, + newPrinter.ppdModel, newPrinter.printerPPDPath)]]" on-tap="switchToConfiguringDialog_"> $i18n{addPrinterButtonText}
diff --git a/chrome/browser/resources/settings/printing_page/cups_add_printer_dialog.js b/chrome/browser/resources/settings/printing_page/cups_add_printer_dialog.js index 0fee051c..2cccb4b 100644 --- a/chrome/browser/resources/settings/printing_page/cups_add_printer_dialog.js +++ b/chrome/browser/resources/settings/printing_page/cups_add_printer_dialog.js
@@ -39,6 +39,8 @@ */ function getEmptyPrinter_() { return { + ppdManufacturer: '', + ppdModel: '', printerAddress: '', printerAutoconf: false, printerDescription: '', @@ -138,8 +140,8 @@ // If we're switching to the manufacturer/model dialog, clear the existing // data we have about the PPD (if any), as we're dropping that in favor of // user selections. - this.selectedPrinter.printerManufacturer = ''; - this.selectedPrinter.printerModel = ''; + this.selectedPrinter.ppdManufacturer = ''; + this.selectedPrinter.ppdModel = ''; this.selectedPrinter.printerPPDPath = ''; this.$$('add-printer-dialog').close(); this.fire('open-manufacturer-model-dialog'); @@ -218,7 +220,7 @@ }, observers: [ - 'selectedManufacturerChanged_(newPrinter.printerManufacturer)', + 'selectedManufacturerChanged_(newPrinter.ppdManufacturer)', ], /** @override */ @@ -235,7 +237,7 @@ */ selectedManufacturerChanged_: function(manufacturer) { // Reset model if manufacturer is changed. - this.set('newPrinter.printerModel', ''); + this.set('newPrinter.ppdModel', ''); if (manufacturer) { settings.CupsPrintersBrowserProxyImpl.getInstance() .getCupsPrinterModelsList(manufacturer) @@ -298,14 +300,14 @@ }, /** - * @param {string} printerManufacturer - * @param {string} printerModel + * @param {string} ppdManufacturer + * @param {string} ppdModel * @param {string} printerPPDPath * @return {boolean} Whether we have enough information to set up the printer * @private */ - canAddPrinter_: function(printerManufacturer, printerModel, printerPPDPath) { - return !!((printerManufacturer && printerModel) || printerPPDPath); + canAddPrinter_: function(ppdManufacturer, ppdModel, printerPPDPath) { + return !!((ppdManufacturer && ppdModel) || printerPPDPath); }, });
diff --git a/chrome/browser/resources/settings/printing_page/cups_add_printer_dialog_util.js b/chrome/browser/resources/settings/printing_page/cups_add_printer_dialog_util.js index ecf3558..fcfa23d4 100644 --- a/chrome/browser/resources/settings/printing_page/cups_add_printer_dialog_util.js +++ b/chrome/browser/resources/settings/printing_page/cups_add_printer_dialog_util.js
@@ -55,7 +55,7 @@ }, /** - * @param {Event} event + * @param {!Event} event * @private */ onTap_: function(event) {
diff --git a/chrome/browser/resources/settings/printing_page/cups_printer_details_page.js b/chrome/browser/resources/settings/printing_page/cups_printer_details_page.js index 5739857..d1ff0a0 100644 --- a/chrome/browser/resources/settings/printing_page/cups_printer_details_page.js +++ b/chrome/browser/resources/settings/printing_page/cups_printer_details_page.js
@@ -40,7 +40,7 @@ }, /** - * @param {Event} event + * @param {!Event} event * @private */ toggleAdvancedExpanded_: function(event) {
diff --git a/chrome/browser/resources/settings/printing_page/cups_printers_browser_proxy.js b/chrome/browser/resources/settings/printing_page/cups_printers_browser_proxy.js index 2a5eb45..a877d88 100644 --- a/chrome/browser/resources/settings/printing_page/cups_printers_browser_proxy.js +++ b/chrome/browser/resources/settings/printing_page/cups_printers_browser_proxy.js
@@ -9,6 +9,8 @@ /** * @typedef {{ + * ppdManufacturer: string, + * ppdModel: string, * printerAddress: string, * printerAutoconf: boolean, * printerDescription: string,
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.js b/chrome/browser/resources/settings/privacy_page/privacy_page.js index 8f00696..4c6061ec 100644 --- a/chrome/browser/resources/settings/privacy_page/privacy_page.js +++ b/chrome/browser/resources/settings/privacy_page/privacy_page.js
@@ -145,7 +145,7 @@ }, /** - * @param {Event} event + * @param {!Event} event * @private */ onDoNotTrackDomChange_: function(event) { @@ -156,7 +156,7 @@ /** * Handles the change event for the do-not-track toggle. Shows a * confirmation dialog when enabling the setting. - * @param {Event} event + * @param {!Event} event * @private */ onDoNotTrackChange_: function(event) { @@ -289,7 +289,7 @@ }, /** - * @param {Event} e + * @param {!Event} e * @private */ onRestartTap_: function(e) {
diff --git a/chrome/browser/resources/settings/search_page/search_page.js b/chrome/browser/resources/settings/search_page/search_page.js index 54c52a0..3ac0946 100644 --- a/chrome/browser/resources/settings/search_page/search_page.js +++ b/chrome/browser/resources/settings/search_page/search_page.js
@@ -97,7 +97,7 @@ }, /** - * @param {Event} event + * @param {!Event} event * @private */ onHotwordSearchEnableChange_: function(event) { @@ -167,7 +167,7 @@ }, /** - * @param {Event} event + * @param {!Event} event * @private */ doNothing_: function(event) {
diff --git a/chrome/browser/resources/settings/settings_ui/settings_ui.js b/chrome/browser/resources/settings/settings_ui/settings_ui.js index 4ac2c36..9439e21 100644 --- a/chrome/browser/resources/settings/settings_ui/settings_ui.js +++ b/chrome/browser/resources/settings/settings_ui/settings_ui.js
@@ -234,7 +234,7 @@ }, /** - * @param {Event} event + * @param {!Event} event * @private */ onIronActivate_: function(event) {
diff --git a/chrome/browser/resources/settings/site_settings/add_site_dialog.js b/chrome/browser/resources/settings/site_settings/add_site_dialog.js index 91ceb61..c61483a 100644 --- a/chrome/browser/resources/settings/site_settings/add_site_dialog.js +++ b/chrome/browser/resources/settings/site_settings/add_site_dialog.js
@@ -21,7 +21,7 @@ /** * Whether this is about an Allow, Block, SessionOnly, or other. - * @type {settings.PermissionValues} + * @type {settings.ContentSetting} */ contentSetting: String, @@ -47,7 +47,7 @@ this.$.incognito.checked = false; this.showIncognitoSessionOnly_ = hasIncognito && !loadTimeData.getBoolean('isGuest') && - this.contentSetting != settings.PermissionValues.SESSION_ONLY; + this.contentSetting != settings.ContentSetting.SESSION_ONLY; }.bind(this)); this.browserProxy.updateIncognitoStatus(); this.$.dialog.showModal();
diff --git a/chrome/browser/resources/settings/site_settings/all_sites.html b/chrome/browser/resources/settings/site_settings/all_sites.html index d7e4ec61..47fa36b 100644 --- a/chrome/browser/resources/settings/site_settings/all_sites.html +++ b/chrome/browser/resources/settings/site_settings/all_sites.html
@@ -11,10 +11,6 @@ :host { display: block; } - - .selectable { - -webkit-user-select: text; - } </style> <div class="list-frame" hidden$="[[sites.length]]"> <div class="list-item secondary">$i18n{noSitesAdded}</div> @@ -27,7 +23,7 @@ <div class="favicon-image" style$="[[computeSiteIcon(item.origin)]]"> </div> - <div class="middle no-min-width selectable text-elide" + <div class="middle no-min-width text-elide" id="displayName"> [[item.displayName]] </div>
diff --git a/chrome/browser/resources/settings/site_settings/category_default_setting.js b/chrome/browser/resources/settings/site_settings/category_default_setting.js index a150324..aa82e8d 100644 --- a/chrome/browser/resources/settings/site_settings/category_default_setting.js +++ b/chrome/browser/resources/settings/site_settings/category_default_setting.js
@@ -96,8 +96,8 @@ // "Allowed" vs "Blocked". this.browserProxy.setDefaultValueForContentType( this.category, - this.categoryEnabled ? settings.PermissionValues.ALLOW : - settings.PermissionValues.BLOCK); + this.categoryEnabled ? settings.ContentSetting.ALLOW : + settings.ContentSetting.BLOCK); break; case settings.ContentSettingsTypes.AUTOMATIC_DOWNLOADS: case settings.ContentSettingsTypes.CAMERA: @@ -109,27 +109,27 @@ // "Ask" vs "Blocked". this.browserProxy.setDefaultValueForContentType( this.category, - this.categoryEnabled ? settings.PermissionValues.ASK : - settings.PermissionValues.BLOCK); + this.categoryEnabled ? settings.ContentSetting.ASK : + settings.ContentSetting.BLOCK); break; case settings.ContentSettingsTypes.COOKIES: // This category is tri-state: "Allow", "Block", "Keep data until // browser quits". - var value = settings.PermissionValues.BLOCK; + var value = settings.ContentSetting.BLOCK; if (this.categoryEnabled) { value = this.subControlParams_.value ? - settings.PermissionValues.SESSION_ONLY : - settings.PermissionValues.ALLOW; + settings.ContentSetting.SESSION_ONLY : + settings.ContentSetting.ALLOW; } this.browserProxy.setDefaultValueForContentType(this.category, value); break; case settings.ContentSettingsTypes.PLUGINS: // This category is tri-state: "Allow", "Block", "Ask before running". - var value = settings.PermissionValues.BLOCK; + var value = settings.ContentSetting.BLOCK; if (this.categoryEnabled) { value = this.subControlParams_.value ? - settings.PermissionValues.IMPORTANT_CONTENT : - settings.PermissionValues.ALLOW; + settings.ContentSetting.IMPORTANT_CONTENT : + settings.ContentSetting.ALLOW; } this.browserProxy.setDefaultValueForContentType(this.category, value); break; @@ -174,11 +174,11 @@ if (this.category == settings.ContentSettingsTypes.PLUGINS || this.category == settings.ContentSettingsTypes.COOKIES) { if (this.category == settings.ContentSettingsTypes.PLUGINS && - update.setting == settings.PermissionValues.IMPORTANT_CONTENT) { + update.setting == settings.ContentSetting.IMPORTANT_CONTENT) { subPrefValue = true; } else if ( this.category == settings.ContentSettingsTypes.COOKIES && - update.setting == settings.PermissionValues.SESSION_ONLY) { + update.setting == settings.ContentSetting.SESSION_ONLY) { subPrefValue = true; } } @@ -200,14 +200,14 @@ // Flash only shows ALLOW or BLOCK descriptions on the toggle. var setting = defaultValue.setting; if (this.category == settings.ContentSettingsTypes.PLUGINS && - setting == settings.PermissionValues.IMPORTANT_CONTENT) { - setting = settings.PermissionValues.ALLOW; + setting == settings.ContentSetting.IMPORTANT_CONTENT) { + setting = settings.ContentSetting.ALLOW; } else if ( this.category == settings.ContentSettingsTypes.COOKIES && - setting == settings.PermissionValues.SESSION_ONLY) { - setting = settings.PermissionValues.ALLOW; + setting == settings.ContentSetting.SESSION_ONLY) { + setting = settings.ContentSetting.ALLOW; } - var categoryEnabled = setting != settings.PermissionValues.BLOCK; + var categoryEnabled = setting != settings.ContentSetting.BLOCK; this.optionLabel_ = categoryEnabled ? this.toggleOnLabel : this.toggleOffLabel; }.bind(this));
diff --git a/chrome/browser/resources/settings/site_settings/category_setting_exceptions.html b/chrome/browser/resources/settings/site_settings/category_setting_exceptions.html index e5ac51d..ab0925d 100644 --- a/chrome/browser/resources/settings/site_settings/category_setting_exceptions.html +++ b/chrome/browser/resources/settings/site_settings/category_setting_exceptions.html
@@ -17,19 +17,19 @@ </style> <site-list category="[[category]]" - category-subtype="[[PermissionValues.BLOCK]]" + category-subtype="[[ContentSetting.BLOCK]]" category-header="$i18n{siteSettingsBlock}" read-only-list="[[readOnlyList]]"> </site-list> <site-list category="[[category]]" - category-subtype="[[PermissionValues.SESSION_ONLY]]" + category-subtype="[[ContentSetting.SESSION_ONLY]]" category-header="$i18n{siteSettingsSessionOnly}" read-only-list="[[readOnlyList]]"> </site-list> <site-list category="[[category]]" - category-subtype="[[PermissionValues.ALLOW]]" + category-subtype="[[ContentSetting.ALLOW]]" category-header="$i18n{siteSettingsAllow}" read-only-list="[[readOnlyList]]"> </site-list>
diff --git a/chrome/browser/resources/settings/site_settings/category_setting_exceptions.js b/chrome/browser/resources/settings/site_settings/category_setting_exceptions.js index 0e457fe..0d4a210 100644 --- a/chrome/browser/resources/settings/site_settings/category_setting_exceptions.js +++ b/chrome/browser/resources/settings/site_settings/category_setting_exceptions.js
@@ -24,6 +24,6 @@ /** @override */ ready: function() { - this.PermissionValues = settings.PermissionValues; + this.ContentSetting = settings.ContentSetting; }, });
diff --git a/chrome/browser/resources/settings/site_settings/constants.js b/chrome/browser/resources/settings/site_settings/constants.js index 46b5ba7..a494fcb 100644 --- a/chrome/browser/resources/settings/site_settings/constants.js +++ b/chrome/browser/resources/settings/site_settings/constants.js
@@ -36,13 +36,12 @@ }; /** - * Contains the possible string values for a given contentSettingsType. + * Contains the possible string values for a given ContentSettingsTypes. + * This should be kept in sync with the |ContentSetting| enum in + * components/content_settings/core/common/content_settings.h * @enum {string} - * - * TODO(dschuyler): This should be rename as ContentSetting to maintain - * nomenclature with C++. */ -settings.PermissionValues = { +settings.ContentSetting = { DEFAULT: 'default', ALLOW: 'allow', BLOCK: 'block',
diff --git a/chrome/browser/resources/settings/site_settings/site_data_details_subpage.html b/chrome/browser/resources/settings/site_settings/site_data_details_subpage.html index 8d66ad5..2006306 100644 --- a/chrome/browser/resources/settings/site_settings/site_data_details_subpage.html +++ b/chrome/browser/resources/settings/site_settings/site_data_details_subpage.html
@@ -17,7 +17,6 @@ .secondary, .start { - -webkit-user-select: text; max-width: 100%; word-wrap: break-word; }
diff --git a/chrome/browser/resources/settings/site_settings/site_details_permission.html b/chrome/browser/resources/settings/site_settings/site_details_permission.html index 42a62ef..2d90097 100644 --- a/chrome/browser/resources/settings/site_settings/site_details_permission.html +++ b/chrome/browser/resources/settings/site_settings/site_details_permission.html
@@ -23,13 +23,13 @@ <select id="permission" class="md-select" aria-labelledby="permissionHeader" on-change="onPermissionSelectionChange_"> - <option id="allow" value$="[[PermissionValues.ALLOW]]"> + <option id="allow" value$="[[ContentSetting.ALLOW]]"> $i18n{siteSettingsActionAllow} </option> - <option id="block" value$="[[PermissionValues.BLOCK]]"> + <option id="block" value$="[[ContentSetting.BLOCK]]"> $i18n{siteSettingsActionBlock} </option> - <option id="sessionOnly" value$="[[PermissionValues.SESSION_ONLY]]" + <option id="sessionOnly" value$="[[ContentSetting.SESSION_ONLY]]" hidden$="[[!isCookiesCategory_(category)]]"> $i18n{siteSettingsActionSessionOnly} </option>
diff --git a/chrome/browser/resources/settings/site_settings/site_list.html b/chrome/browser/resources/settings/site_settings/site_list.html index acc8a13..41e9abf 100644 --- a/chrome/browser/resources/settings/site_settings/site_list.html +++ b/chrome/browser/resources/settings/site_settings/site_list.html
@@ -20,11 +20,7 @@ <dom-module id="site-list"> <template> - <style include="settings-shared iron-flex"> - .selectable { - -webkit-user-select: text; - } - </style> + <style include="settings-shared iron-flex"></style> <div id="category"> <div class="settings-box first"> <h2 class="start">[[categoryHeader]]</h2> @@ -71,10 +67,10 @@ style$="[[computeSiteIcon(item.origin)]]"> </div> <div class="middle no-min-width"> - <div class="selectable text-elide">[[item.displayName]]</div> + <div class="text-elide">[[item.displayName]]</div> <!-- This div must not contain extra whitespace. --> - <div class="selectable secondary text-elide" + <div class="secondary text-elide" id="siteDescription">[[computeSiteDescription_(item)]]</div> </div> <template is="dom-if" if="[[enableSiteSettings_]]">
diff --git a/chrome/browser/resources/settings/site_settings/site_list.js b/chrome/browser/resources/settings/site_settings/site_list.js index 8fe62c5..0cd04db 100644 --- a/chrome/browser/resources/settings/site_settings/site_list.js +++ b/chrome/browser/resources/settings/site_settings/site_list.js
@@ -137,7 +137,7 @@ onIncognitoStatusChanged_: function() { // The SESSION_ONLY list won't have any incognito exceptions. (Minor // optimization, not required). - if (this.categorySubtype == settings.PermissionValues.SESSION_ONLY) + if (this.categorySubtype == settings.ContentSetting.SESSION_ONLY) return; // A change notification is not sent for each site. So we repopulate the @@ -161,7 +161,7 @@ this.populateList_(); // The Session permissions are only for cookies. - if (this.categorySubtype == settings.PermissionValues.SESSION_ONLY) { + if (this.categorySubtype == settings.ContentSetting.SESSION_ONLY) { this.$.category.hidden = this.category != settings.ContentSettingsTypes.COOKIES; } @@ -244,7 +244,7 @@ for (var i = 0; i < data.length; ++i) { var exceptionList = data[i]; for (var k = 0; k < exceptionList.length; ++k) { - if (exceptionList[k].setting == settings.PermissionValues.DEFAULT || + if (exceptionList[k].setting == settings.ContentSetting.DEFAULT || exceptionList[k].setting != this.categorySubtype) { continue; } @@ -283,11 +283,11 @@ */ setUpActionMenu_: function() { this.showAllowAction_ = - this.categorySubtype != settings.PermissionValues.ALLOW; + this.categorySubtype != settings.ContentSetting.ALLOW; this.showBlockAction_ = - this.categorySubtype != settings.PermissionValues.BLOCK; + this.categorySubtype != settings.ContentSetting.BLOCK; this.showSessionOnlyAction_ = - this.categorySubtype != settings.PermissionValues.SESSION_ONLY && + this.categorySubtype != settings.ContentSetting.SESSION_ONLY && this.category == settings.ContentSettingsTypes.COOKIES; }, @@ -330,32 +330,32 @@ }, /** - * @param {string} permissionValue + * @param {!settings.ContentSetting} contentSetting * @private */ - setPermissionForActionMenuSite_: function(permissionValue) { + setContentSettingForActionMenuSite_: function(contentSetting) { assert(this.actionMenuSite_); this.browserProxy.setCategoryPermissionForOrigin( this.actionMenuSite_.origin, this.actionMenuSite_.embeddingOrigin, - this.category, permissionValue, this.actionMenuSite_.incognito); + this.category, contentSetting, this.actionMenuSite_.incognito); }, /** @private */ onAllowTap_: function() { - this.setPermissionForActionMenuSite_(settings.PermissionValues.ALLOW); + this.setContentSettingForActionMenuSite_(settings.ContentSetting.ALLOW); this.closeActionMenu_(); }, /** @private */ onBlockTap_: function() { - this.setPermissionForActionMenuSite_(settings.PermissionValues.BLOCK); + this.setContentSettingForActionMenuSite_(settings.ContentSetting.BLOCK); this.closeActionMenu_(); }, /** @private */ onSessionOnlyTap_: function() { - this.setPermissionForActionMenuSite_( - settings.PermissionValues.SESSION_ONLY); + this.setContentSettingForActionMenuSite_( + settings.ContentSetting.SESSION_ONLY); this.closeActionMenu_(); },
diff --git a/chrome/browser/resources/settings/site_settings/site_settings_behavior.js b/chrome/browser/resources/settings/site_settings/site_settings_behavior.js index de28654..81100e3 100644 --- a/chrome/browser/resources/settings/site_settings/site_settings_behavior.js +++ b/chrome/browser/resources/settings/site_settings/site_settings_behavior.js
@@ -47,7 +47,7 @@ /** @override */ ready: function() { - this.PermissionValues = settings.PermissionValues; + this.ContentSetting = settings.ContentSetting; }, /** @@ -112,7 +112,7 @@ * @private */ computeIsSettingEnabled: function(setting) { - return setting != settings.PermissionValues.BLOCK; + return setting != settings.ContentSetting.BLOCK; }, /**
diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_page.js b/chrome/browser/resources/settings/site_settings_page/site_settings_page.js index ce8e6fd..a8cbdab 100644 --- a/chrome/browser/resources/settings/site_settings_page/site_settings_page.js +++ b/chrome/browser/resources/settings/site_settings_page/site_settings_page.js
@@ -124,16 +124,16 @@ }, /** - * @param {string} setting Value from settings.PermissionValues. + * @param {string} setting Value from settings.ContentSetting. * @param {string} enabled Non-block label ('feature X not allowed'). * @param {string} disabled Block label (likely just, 'Blocked'). * @param {?string} other Tristate value (maybe, 'session only'). * @private */ defaultSettingLabel_: function(setting, enabled, disabled, other) { - if (setting == settings.PermissionValues.BLOCK) + if (setting == settings.ContentSetting.BLOCK) return disabled; - if (setting == settings.PermissionValues.ALLOW) + if (setting == settings.ContentSetting.ALLOW) return enabled; if (other) return other; @@ -162,8 +162,8 @@ var category = settings.ContentSettingsTypes.PROTOCOL_HANDLERS; this.set( 'default_.' + Polymer.CaseMap.dashToCamelCase(category), - enabled ? settings.PermissionValues.ALLOW : - settings.PermissionValues.BLOCK); + enabled ? settings.ContentSetting.ALLOW : + settings.ContentSetting.BLOCK); }, /**
diff --git a/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc b/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc index baf6c2b..8f8bdd1 100644 --- a/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc +++ b/chrome/browser/safe_browsing/safe_browsing_blocking_page.cc
@@ -135,7 +135,7 @@ g_browser_process->safe_browsing_service() ->trigger_manager() ->StartCollectingThreatDetails( - SafeBrowsingTriggerType::SECURITY_INTERSTITIAL, web_contents, + TriggerType::SECURITY_INTERSTITIAL, web_contents, unsafe_resources[0], profile->GetRequestContext(), HistoryServiceFactory::GetForProfile( profile, ServiceAccessType::EXPLICIT_ACCESS), @@ -199,8 +199,8 @@ bool report_sent = g_browser_process->safe_browsing_service() ->trigger_manager() ->FinishCollectingThreatDetails( - SafeBrowsingTriggerType::SECURITY_INTERSTITIAL, - web_contents(), delay, did_proceed, num_visits, + TriggerType::SECURITY_INTERSTITIAL, web_contents(), + delay, did_proceed, num_visits, sb_error_ui()->get_error_display_options()); if (report_sent) {
diff --git a/chrome/browser/ui/app_list/arc/arc_app_test.cc b/chrome/browser/ui/app_list/arc/arc_app_test.cc index 95d105a..69e3bc9 100644 --- a/chrome/browser/ui/app_list/arc/arc_app_test.cc +++ b/chrome/browser/ui/app_list/arc/arc_app_test.cc
@@ -82,7 +82,7 @@ ArcAppListPrefsFactory::GetInstance()->RecreateServiceInstanceForTesting( profile_); } - arc_service_manager_ = base::MakeUnique<arc::ArcServiceManager>(nullptr); + arc_service_manager_ = base::MakeUnique<arc::ArcServiceManager>(); arc_session_manager_ = base::MakeUnique<arc::ArcSessionManager>( base::MakeUnique<arc::ArcSessionRunner>( base::Bind(arc::FakeArcSession::Create)));
diff --git a/chrome/browser/ui/passwords/manage_passwords_test.cc b/chrome/browser/ui/passwords/manage_passwords_test.cc index 6e3ff50b..c79743a 100644 --- a/chrome/browser/ui/passwords/manage_passwords_test.cc +++ b/chrome/browser/ui/passwords/manage_passwords_test.cc
@@ -71,6 +71,7 @@ new password_manager::PasswordFormManager( nullptr, &client_, driver_.AsWeakPtr(), *test_form(), base::WrapUnique(new password_manager::StubFormSaver), &fetcher_)); + test_form_manager->Init(nullptr); fetcher_.SetNonFederated(std::vector<const autofill::PasswordForm*>(), 0u); GetController()->OnPasswordSubmitted(std::move(test_form_manager)); } @@ -80,6 +81,7 @@ new password_manager::PasswordFormManager( nullptr, &client_, driver_.AsWeakPtr(), *test_form(), base::WrapUnique(new password_manager::StubFormSaver), &fetcher_)); + test_form_manager->Init(nullptr); fetcher_.SetNonFederated(std::vector<const autofill::PasswordForm*>(), 0u); GetController()->OnAutomaticPasswordSave(std::move(test_form_manager)); }
diff --git a/chrome/browser/ui/toolbar/chrome_toolbar_model_delegate.cc b/chrome/browser/ui/toolbar/chrome_toolbar_model_delegate.cc index 643a331..0f749b4 100644 --- a/chrome/browser/ui/toolbar/chrome_toolbar_model_delegate.cc +++ b/chrome/browser/ui/toolbar/chrome_toolbar_model_delegate.cc
@@ -5,6 +5,7 @@ #include "chrome/browser/ui/toolbar/chrome_toolbar_model_delegate.h" #include "base/logging.h" +#include "build/build_config.h" #include "chrome/browser/autocomplete/chrome_autocomplete_scheme_classifier.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/search/search.h" @@ -22,7 +23,9 @@ #include "content/public/common/url_constants.h" #include "extensions/common/constants.h" -#if !defined(OS_ANDROID) +#if defined(OS_ANDROID) +#include "chrome/browser/android/offline_pages/offline_page_utils.h" +#else #include "components/omnibox/browser/vector_icons.h" // nogncheck #include "components/toolbar/vector_icons.h" // nogncheck #endif @@ -126,6 +129,17 @@ return nullptr; } +bool ChromeToolbarModelDelegate::IsOfflinePage() const { +#if defined(OS_ANDROID) + content::WebContents* web_contents = GetActiveWebContents(); + return web_contents && + offline_pages::OfflinePageUtils::GetOfflinePageFromWebContents( + web_contents); +#else + return false; +#endif +} + content::NavigationController* ChromeToolbarModelDelegate::GetNavigationController() const { // This |current_tab| can be null during the initialization of the toolbar
diff --git a/chrome/browser/ui/toolbar/chrome_toolbar_model_delegate.h b/chrome/browser/ui/toolbar/chrome_toolbar_model_delegate.h index 4c60822..47e80de 100644 --- a/chrome/browser/ui/toolbar/chrome_toolbar_model_delegate.h +++ b/chrome/browser/ui/toolbar/chrome_toolbar_model_delegate.h
@@ -37,6 +37,7 @@ scoped_refptr<net::X509Certificate> GetCertificate() const override; bool FailsMalwareCheck() const override; const gfx::VectorIcon* GetVectorIconOverride() const override; + bool IsOfflinePage() const override; // Returns the navigation controller used to retrieve the navigation entry // from which the states are retrieved. If this returns null, default values
diff --git a/chrome/browser/ui/views/content_setting_bubble_contents.cc b/chrome/browser/ui/views/content_setting_bubble_contents.cc index aa0cc15d..35c030e 100644 --- a/chrome/browser/ui/views/content_setting_bubble_contents.cc +++ b/chrome/browser/ui/views/content_setting_bubble_contents.cc
@@ -317,14 +317,6 @@ views::RadioButton* radio = new views::RadioButton(*i, 0); radio->SetEnabled(bubble_content.radio_group_enabled); radio->set_listener(this); - if (provider->IsHarmonyMode()) { - std::unique_ptr<views::LabelButtonBorder> border = - radio->CreateDefaultBorder(); - gfx::Insets insets = border->GetInsets(); - border->set_insets( - gfx::Insets(insets.top(), 0, insets.bottom(), insets.right())); - radio->SetBorder(std::move(border)); - } radio_group_.push_back(radio); layout->StartRow(0, indented_kSingleColumnSetId); layout->AddView(radio);
diff --git a/chrome/browser/ui/views/harmony/harmony_layout_provider.cc b/chrome/browser/ui/views/harmony/harmony_layout_provider.cc index 5dfe5751..29d289b 100644 --- a/chrome/browser/ui/views/harmony/harmony_layout_provider.cc +++ b/chrome/browser/ui/views/harmony/harmony_layout_provider.cc
@@ -10,6 +10,12 @@ case views::INSETS_BUBBLE_CONTENTS: case views::INSETS_DIALOG_CONTENTS: return gfx::Insets(kHarmonyLayoutUnit, kHarmonyLayoutUnit); + case views::INSETS_CHECKBOX_RADIO_BUTTON: { + gfx::Insets insets = ChromeLayoutProvider::GetInsetsMetric(metric); + // Material Design requires that checkboxes and radio buttons are aligned + // flush to the left edge. + return gfx::Insets(insets.top(), 0, insets.bottom(), insets.right()); + } case views::INSETS_VECTOR_IMAGE_BUTTON: return gfx::Insets(kHarmonyLayoutUnit / 4); default:
diff --git a/chrome/browser/ui/views/payments/shipping_address_editor_view_controller.cc b/chrome/browser/ui/views/payments/shipping_address_editor_view_controller.cc index c8623b9..5efd3d29 100644 --- a/chrome/browser/ui/views/payments/shipping_address_editor_view_controller.cc +++ b/chrome/browser/ui/views/payments/shipping_address_editor_view_controller.cc
@@ -123,10 +123,16 @@ std::move(on_added_).Run(profile); on_edited_.Reset(); } else { - // Copy the temporary object's data to the object to be edited. Prefer this - // method to copying |profile| into |profile_to_edit_|, because the latter - // object needs to retain other properties (use count, use date, guid, + autofill::ServerFieldTypeSet all_fields; + profile_to_edit_->GetSupportedTypes(&all_fields); + // Clear all the address data in |profile_to_edit_|, in anticipation of + // adding only the fields present in the editor. Prefer this method to + // copying |profile| into |profile_to_edit_|, because the latter object + // needs to retain other properties (use count, use date, guid, // etc.). + for (autofill::ServerFieldType type : all_fields) + profile_to_edit_->SetRawInfo(type, base::string16()); + bool success = SaveFieldsToProfile(profile_to_edit_, /*ignore_errors=*/false); DCHECK(success);
diff --git a/chrome/browser/ui/views/payments/shipping_address_editor_view_controller_browsertest.cc b/chrome/browser/ui/views/payments/shipping_address_editor_view_controller_browsertest.cc index dbd2a84..678ab22 100644 --- a/chrome/browser/ui/views/payments/shipping_address_editor_view_controller_browsertest.cc +++ b/chrome/browser/ui/views/payments/shipping_address_editor_view_controller_browsertest.cc
@@ -6,6 +6,7 @@ #include "base/memory/ptr_util.h" #include "base/strings/utf_string_conversions.h" +#include "base/time/time.h" #include "chrome/browser/ui/views/payments/editor_view_controller.h" #include "chrome/browser/ui/views/payments/payment_request_browsertest_base.h" #include "chrome/browser/ui/views/payments/payment_request_dialog_view_ids.h" @@ -38,7 +39,10 @@ const char kAnyState[] = "any state"; const char kAnyStateCode[] = "AS"; const char kCountryWithoutStates[] = "Albania"; -const char kCountryWithoutStatesPhoneNumber[] = "42223446"; +const char kCountryWithoutStatesCode[] = "AL"; +const char kCountryWithoutStatesPhoneNumber[] = "+35542223446"; + +const base::Time kJanuary2017 = base::Time::FromDoubleT(1484505871); } // namespace @@ -166,6 +170,24 @@ return country_model->countries()[selected_country_row]->country_code(); } + void SelectCountryInCombobox(const base::string16& country_name) { + ResetEventObserver(DialogEvent::EDITOR_VIEW_UPDATED); + views::Combobox* country_combobox = static_cast<views::Combobox*>( + dialog_view()->GetViewByID(EditorViewController::GetInputFieldViewId( + autofill::ADDRESS_HOME_COUNTRY))); + ASSERT_NE(nullptr, country_combobox); + autofill::CountryComboboxModel* country_model = + static_cast<autofill::CountryComboboxModel*>(country_combobox->model()); + int i = 0; + for (; i < country_model->GetItemCount(); i++) { + if (country_model->GetItemAt(i) == country_name) + break; + } + country_combobox->SetSelectedRow(i); + country_combobox->OnBlur(); + WaitForObservedEvent(); + } + PersonalDataLoadedObserverMock personal_data_observer_; autofill::TestRegionDataLoader test_region_data_loader_; @@ -652,6 +674,66 @@ EXPECT_TRUE(IsEditorTextfieldInvalid(autofill::PHONE_HOME_WHOLE_NUMBER)); } +// Tests that updating the country to one with no states clears the state value. +IN_PROC_BROWSER_TEST_F(PaymentRequestShippingAddressEditorTest, + UpdateToCountryWithoutState) { + // Create a profile in the US. + autofill::AutofillProfile california = autofill::test::GetFullProfile(); + california.set_use_count(50U); + california.set_use_date(kJanuary2017); + AddAutofillProfile(california); // California, USA. + + InvokePaymentRequestUI(); + SetRegionDataLoader(&test_region_data_loader_); + test_region_data_loader_.set_synchronous_callback(true); + std::vector<std::pair<std::string, std::string>> regions; + regions.push_back(std::make_pair("AK", "Alaska")); + regions.push_back(std::make_pair("CA", "California")); + test_region_data_loader_.SetRegionData(regions); + OpenShippingAddressSectionScreen(); + + // Opening the address editor by clicking the edit button. + views::View* list_view = dialog_view()->GetViewByID( + static_cast<int>(DialogViewID::SHIPPING_ADDRESS_SHEET_LIST_VIEW)); + EXPECT_TRUE(list_view); + EXPECT_EQ(1, list_view->child_count()); + views::View* edit_button = list_view->child_at(0)->GetViewByID( + static_cast<int>(DialogViewID::EDIT_ITEM_BUTTON)); + ResetEventObserver(DialogEvent::SHIPPING_ADDRESS_EDITOR_OPENED); + ClickOnDialogViewAndWait(edit_button); + + SelectCountryInCombobox(base::ASCIIToUTF16(kCountryWithoutStates)); + + // The phone number must be replaced by one that is valid for + // |kCountryWithoutStates|. + SetEditorTextfieldValue(base::ASCIIToUTF16(kCountryWithoutStatesPhoneNumber), + autofill::PHONE_HOME_WHOLE_NUMBER); + + ResetEventObserver(DialogEvent::BACK_TO_PAYMENT_SHEET_NAVIGATION); + + // Verifying the data is in the DB. + autofill::PersonalDataManager* personal_data_manager = GetDataManager(); + personal_data_manager->AddObserver(&personal_data_observer_); + + // Wait until the web database has been updated and the notification sent. + base::RunLoop data_loop; + EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged()) + .WillOnce(QuitMessageLoop(&data_loop)); + ClickOnDialogViewAndWait(DialogViewID::SAVE_ADDRESS_BUTTON); + data_loop.Run(); + + ASSERT_EQ(1UL, personal_data_manager->GetProfiles().size()); + autofill::AutofillProfile* profile = personal_data_manager->GetProfiles()[0]; + DCHECK(profile); + EXPECT_EQ(base::ASCIIToUTF16(kCountryWithoutStatesCode), + profile->GetRawInfo(autofill::ADDRESS_HOME_COUNTRY)); + // State/Region is no longer set. + EXPECT_EQ(base::ASCIIToUTF16(""), + profile->GetRawInfo(autofill::ADDRESS_HOME_STATE)); + EXPECT_EQ(50U, profile->use_count()); + EXPECT_EQ(kJanuary2017, profile->use_date()); +} + // Tests that there is no error label for an international phone from another // country. IN_PROC_BROWSER_TEST_F( @@ -755,9 +837,6 @@ base::ASCIIToUTF16("INVALIDSTATE"), kLocale); AddAutofillProfile(profile); - LOG(ERROR) << profile.GetInfo( - autofill::AutofillType(autofill::ADDRESS_HOME_COUNTRY), kLocale); - InvokePaymentRequestUI(); SetRegionDataLoader(&test_region_data_loader_); test_region_data_loader_.set_synchronous_callback(false);
diff --git a/chrome/browser/ui/webui/settings/chromeos/cups_printers_handler.cc b/chrome/browser/ui/webui/settings/chromeos/cups_printers_handler.cc index 49a7f9a..dcfc342 100644 --- a/chrome/browser/ui/webui/settings/chromeos/cups_printers_handler.cc +++ b/chrome/browser/ui/webui/settings/chromeos/cups_printers_handler.cc
@@ -328,7 +328,6 @@ std::string printer_model; std::string printer_address; std::string printer_protocol; - std::string printer_ppd_path; CHECK(printer_dict->GetString("printerId", &printer_id)); CHECK(printer_dict->GetString("printerName", &printer_name)); CHECK(printer_dict->GetString("printerDescription", &printer_description)); @@ -345,7 +344,14 @@ printer_uri += "/" + printer_queue; } - // printerPPDPath might be null for an auto-discovered printer. + // Read PPD selection if it was used. + std::string ppd_manufacturer; + std::string ppd_model; + printer_dict->GetString("ppdManufacturer", &ppd_manufacturer); + printer_dict->GetString("ppdModel", &ppd_model); + + // Read user provided PPD if it was used. + std::string printer_ppd_path; printer_dict->GetString("printerPPDPath", &printer_ppd_path); std::unique_ptr<Printer> printer = base::MakeUnique<Printer>(printer_id); @@ -370,15 +376,29 @@ return; } printer->mutable_ppd_reference()->user_supplied_ppd_url = tmp.spec(); - } else if (!printer_manufacturer.empty() && !printer_model.empty()) { + } else if (!ppd_manufacturer.empty() && !ppd_model.empty()) { RecordPpdSource(kScs); // Using the manufacturer and model, get a ppd reference. - if (!ppd_provider_->GetPpdReference(printer_manufacturer, printer_model, + if (!ppd_provider_->GetPpdReference(ppd_manufacturer, ppd_model, printer->mutable_ppd_reference())) { LOG(ERROR) << "Failed to get ppd reference"; OnAddPrinterError(); return; } + + if (printer->make_and_model().empty()) { + // In lieu of more accurate information, populate the make and model + // fields with the PPD information. + printer->set_manufacturer(ppd_manufacturer); + printer->set_model(ppd_model); + // PPD Model names are actually make and model. + printer->set_make_and_model(ppd_model); + } + } else { + // TODO(crbug.com/738514): Support PPD guessing for non-autoconf printers. + // i.e. !autoconf && !manufacturer.empty() && !model.empty() + NOTREACHED() + << "A configuration option must have been selected to add a printer"; } // Copy the printer for the configurer. Ownership needs to be transfered to
diff --git a/chrome/browser/win/jumplist.cc b/chrome/browser/win/jumplist.cc index 9ab614b..ce24bb4 100644 --- a/chrome/browser/win/jumplist.cc +++ b/chrome/browser/win/jumplist.cc
@@ -751,9 +751,6 @@ } // TODO(chengx): Remove the UMA histogram after fixing http://crbug.com/40407. - UMA_HISTOGRAM_COUNTS_100("WinJumplist.CreateIconFilesCount", icons_created); - - // TODO(chengx): Remove the UMA histogram after fixing http://crbug.com/40407. SCOPED_UMA_HISTOGRAM_TIMER("WinJumplist.UpdateJumpListDuration"); base::ElapsedTimer add_custom_category_timer; @@ -865,9 +862,6 @@ URLIconCache* icon_next) { DCHECK(icon_next); - // TODO(chengx): Remove the UMA histogram after fixing http://crbug.com/40407. - SCOPED_UMA_HISTOGRAM_TIMER("WinJumplist.CreateIconFilesDuration"); - int icons_created = 0; // Reuse icons for urls that already present in the current JumpList.
diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc index 149f3e00d..e47a10f 100644 --- a/chrome/common/chrome_switches.cc +++ b/chrome/common/chrome_switches.cc
@@ -296,9 +296,6 @@ // Inform users that their browser is being controlled by an automated test. const char kEnableAutomation[] = "enable-automation"; -// Enables the benchmarking extensions. -const char kEnableBenchmarking[] = "enable-benchmarking"; - // Enables the multi-level undo system for bookmarks. const char kEnableBookmarkUndo[] = "enable-bookmark-undo"; @@ -470,11 +467,6 @@ // Forces Chrome to use localNTP instead of server (GWS) NTP. const char kForceLocalNtp[] = "force-local-ntp"; -// Forces additional Chrome Variation Ids that will be sent in X-Client-Data -// header, specified as a 64-bit encoded list of numeric experiment ids. Ids -// prefixed with the character "t" will be treated as Trigger Variation Ids. -const char kForceVariationIds[] = "force-variation-ids"; - // Specifies which page will be displayed in newly-opened tabs. We need this // for testing purposes so that the UI tests don't depend on what comes up for // http://google.com.
diff --git a/chrome/common/chrome_switches.h b/chrome/common/chrome_switches.h index bdc29d2..fd32c06 100644 --- a/chrome/common/chrome_switches.h +++ b/chrome/common/chrome_switches.h
@@ -99,7 +99,6 @@ extern const char kEasyUnlockAppPath[]; extern const char kEnableAudioDebugRecordingsFromExtension[]; extern const char kEnableAutomation[]; -extern const char kEnableBenchmarking[]; extern const char kEnableBookmarkUndo[]; extern const char kEnableClearBrowsingDataCounters[]; extern const char kEnableCloudPrintProxy[]; @@ -146,7 +145,6 @@ extern const char kForceEnableMetricsReporting[]; extern const char kForceFirstRun[]; extern const char kForceLocalNtp[]; -extern const char kForceVariationIds[]; extern const char kHomePage[]; extern const char kHostRules[]; extern const char kIgnoreCertificateErrorsSPKIList[];
diff --git a/chrome/common/profiling/memlog_sender.cc b/chrome/common/profiling/memlog_sender.cc index 29d066f..49af001dd7 100644 --- a/chrome/common/profiling/memlog_sender.cc +++ b/chrome/common/profiling/memlog_sender.cc
@@ -5,7 +5,6 @@ #include "chrome/common/profiling/memlog_sender.h" #include "base/command_line.h" -#include "base/strings/utf_string_conversions.h" #include "chrome/common/chrome_switches.h" #include "chrome/common/profiling/memlog_allocator_shim.h" #include "chrome/common/profiling/memlog_sender_pipe.h" @@ -20,7 +19,7 @@ } void StartMemlogSender(const std::string& pipe_id) { - static MemlogSenderPipe pipe(base::UTF8ToUTF16(pipe_id)); + static MemlogSenderPipe pipe(pipe_id); pipe.Connect(); StreamHeader header;
diff --git a/chrome/common/profiling/memlog_sender_pipe_posix.cc b/chrome/common/profiling/memlog_sender_pipe_posix.cc index 23cd27761..e7d6fe9 100644 --- a/chrome/common/profiling/memlog_sender_pipe_posix.cc +++ b/chrome/common/profiling/memlog_sender_pipe_posix.cc
@@ -7,25 +7,31 @@ #include <unistd.h> #include "base/logging.h" -#include "base/posix/eintr_wrapper.h" +#include "base/posix/unix_domain_socket_linux.h" +#include "base/strings/string_number_conversions.h" #include "chrome/common/profiling/memlog_stream.h" namespace profiling { -MemlogSenderPipe::MemlogSenderPipe(const std::string& pipe_id) - : pipe_id_(pipe_id), fd_(-1) {} +MemlogSenderPipe::MemlogSenderPipe(const std::string& pipe_id) { + int fd; + CHECK(base::StringToInt(pipe_id, &fd)); + fd_.reset(fd); + + static std::vector<int> dummy_instance; + dummy_for_send_ = &dummy_instance; +} MemlogSenderPipe::~MemlogSenderPipe() { - if (fd_ != -1) - IGNORE_EINTR(::close(fd_)); } bool MemlogSenderPipe::Connect() { - return false; + // In posix-land, the pipe is just handed to us already connected. + return true; } bool MemlogSenderPipe::Send(const void* data, size_t sz) { - return false; + return base::UnixDomainSocket::SendMsg(fd_.get(), data, sz, *dummy_for_send_); } } // namespace profiling
diff --git a/chrome/common/profiling/memlog_sender_pipe_posix.h b/chrome/common/profiling/memlog_sender_pipe_posix.h index 41aef2f..4133816 100644 --- a/chrome/common/profiling/memlog_sender_pipe_posix.h +++ b/chrome/common/profiling/memlog_sender_pipe_posix.h
@@ -6,7 +6,9 @@ #define CHROME_COMMON_PROFILING_MEMLOG_SENDER_PIPE_POSIX_H_ #include <string> +#include <vector> +#include "base/files/scoped_file.h" #include "base/macros.h" namespace profiling { @@ -21,9 +23,11 @@ bool Send(const void* data, size_t sz); private: - std::string pipe_id_; + base::ScopedFD fd_; - int fd_; + // Make base::UnixDomainSocket::SendMsg happy. + // TODO(ajwong): This is not really threadsafe. Fix. + std::vector<int>* dummy_for_send_ = nullptr; DISALLOW_COPY_AND_ASSIGN(MemlogSenderPipe); };
diff --git a/chrome/common/profiling/memlog_sender_pipe_win.cc b/chrome/common/profiling/memlog_sender_pipe_win.cc index 746ccfd..6ab47c7f 100644 --- a/chrome/common/profiling/memlog_sender_pipe_win.cc +++ b/chrome/common/profiling/memlog_sender_pipe_win.cc
@@ -5,12 +5,13 @@ #include "chrome/common/profiling/memlog_sender_pipe_win.h" #include "base/logging.h" +#include "base/strings/utf_string_conversions.h" #include "chrome/common/profiling/memlog_stream.h" namespace profiling { -MemlogSenderPipe::MemlogSenderPipe(const base::string16& pipe_id) - : pipe_id_(pipe_id), handle_(INVALID_HANDLE_VALUE) {} +MemlogSenderPipe::MemlogSenderPipe(const base::string& pipe_id) + : pipe_id_(base::UTF8ToUTF16(pipe_id)), handle_(INVALID_HANDLE_VALUE) {} MemlogSenderPipe::~MemlogSenderPipe() { if (handle_ != INVALID_HANDLE_VALUE)
diff --git a/chrome/common/profiling/memlog_sender_pipe_win.h b/chrome/common/profiling/memlog_sender_pipe_win.h index 9abeb17..6b349c4 100644 --- a/chrome/common/profiling/memlog_sender_pipe_win.h +++ b/chrome/common/profiling/memlog_sender_pipe_win.h
@@ -14,7 +14,7 @@ class MemlogSenderPipe { public: - explicit MemlogSenderPipe(const base::string16& pipe_id); + explicit MemlogSenderPipe(const base::string& pipe_id); ~MemlogSenderPipe(); bool Connect();
diff --git a/chrome/profiling/memlog_receiver_pipe_posix.cc b/chrome/profiling/memlog_receiver_pipe_posix.cc index dbce9ca..38e7d60 100644 --- a/chrome/profiling/memlog_receiver_pipe_posix.cc +++ b/chrome/profiling/memlog_receiver_pipe_posix.cc
@@ -7,44 +7,61 @@ #include "base/bind.h" #include "base/logging.h" #include "base/posix/eintr_wrapper.h" -#include "base/strings/utf_string_conversions.h" +#include "base/posix/unix_domain_socket_linux.h" #include "base/threading/thread.h" #include "chrome/profiling/memlog_stream_receiver.h" namespace profiling { -MemlogReceiverPipe::CompletionThunk::CompletionThunk(int fd, Callback cb) - : controller_(FROM_HERE), fd_(fd), callback_(cb) { - base::MessageLoopForIO::current()->WatchFileDescriptor( - fd_, true, base::MessageLoopForIO::WATCH_READ, &controller_, this); -} +namespace { -MemlogReceiverPipe::CompletionThunk::~CompletionThunk() { - if (fd_ != -1) - IGNORE_EINTR(::close(fd_)); -} +// Use a large buffer for our pipe. We don't want the sender to block +// if at all possible since it will slow the app down quite a bit. +// +// TODO(ajwong): Figure out how to size this. Currently the number is cribbed +// from the right size for windows named pipes. +const int kReadBufferSize = 1024 * 64; -void MemlogReceiverPipe::CompletionThunk::OnFileCanReadWithoutBlocking(int fd) { - callback_.Run(fd); -} +} // namespace -void MemlogReceiverPipe::CompletionThunk::OnFileCanWriteWithoutBlocking( - int fd) { - NOTREACHED(); -} - -MemlogReceiverPipe::MemlogReceiverPipe(std::unique_ptr<CompletionThunk> thunk) { +MemlogReceiverPipe::MemlogReceiverPipe(base::ScopedFD fd) + : fd_(std::move(fd)), read_buffer_(new char[kReadBufferSize]) { + static std::vector<base::ScopedFD> dummy_instance; + dummy_for_receive_ = &dummy_instance; } MemlogReceiverPipe::~MemlogReceiverPipe() {} -void MemlogReceiverPipe::StartReadingOnIOThread() { - // TODO(ajwong): Implement with something useful. +void MemlogReceiverPipe::ReadUntilBlocking() { + ssize_t bytes_read = 0; + do { + bytes_read = base::UnixDomainSocket::RecvMsg( + fd_.get(), read_buffer_.get(), kReadBufferSize, dummy_for_receive_); + if (bytes_read > 0) { + receiver_task_runner_->PostTask( + FROM_HERE, + base::BindOnce(&MemlogStreamReceiver::OnStreamData, receiver_, + std::move(read_buffer_), bytes_read)); + read_buffer_.reset(new char[kReadBufferSize]); + return; + } else if (bytes_read == 0) { + // Other end closed the pipe. + if (receiver_) { + receiver_task_runner_->PostTask( + FROM_HERE, + base::BindOnce(&MemlogStreamReceiver::OnStreamComplete, receiver_)); + } + return; + } else { + if (errno != EAGAIN && errno != EWOULDBLOCK) { + PLOG(ERROR) << "Problem reading socket."; + } + } + } while (bytes_read > 0); } int MemlogReceiverPipe::GetRemoteProcessID() { - // TODO(ajwong): Implement with something useful. - return 0; + return 1; // TODO(ajwong): Record the originating process ID somehow. } void MemlogReceiverPipe::SetReceiver(
diff --git a/chrome/profiling/memlog_receiver_pipe_posix.h b/chrome/profiling/memlog_receiver_pipe_posix.h index a5abb43..b9a2209a 100644 --- a/chrome/profiling/memlog_receiver_pipe_posix.h +++ b/chrome/profiling/memlog_receiver_pipe_posix.h
@@ -7,6 +7,7 @@ #include <string> +#include "base/files/scoped_file.h" #include "base/macros.h" #include "base/memory/ref_counted.h" #include "base/message_loop/message_loop.h" @@ -23,28 +24,9 @@ class MemlogReceiverPipe : public base::RefCountedThreadSafe<MemlogReceiverPipe> { public: - class CompletionThunk : public base::MessageLoopForIO::Watcher { - public: - using Callback = base::RepeatingCallback<void(int)>; + explicit MemlogReceiverPipe(base::ScopedFD fd); - CompletionThunk(int fd, Callback cb); - ~CompletionThunk() override; - - void set_callback(Callback cb) { callback_ = cb; } - - void OnFileCanReadWithoutBlocking(int fd) override; - void OnFileCanWriteWithoutBlocking(int fd) override; - - private: - base::MessageLoopForIO::FileDescriptorWatcher controller_; - - int fd_; - Callback callback_; - }; - - explicit MemlogReceiverPipe(std::unique_ptr<CompletionThunk> thunk); - - void StartReadingOnIOThread(); + void ReadUntilBlocking(); int GetRemoteProcessID(); void SetReceiver(scoped_refptr<base::TaskRunner> task_runner, @@ -54,11 +36,15 @@ friend class base::RefCountedThreadSafe<MemlogReceiverPipe>; ~MemlogReceiverPipe(); - std::unique_ptr<CompletionThunk> thunk_; + base::ScopedFD fd_; + std::unique_ptr<char[]> read_buffer_; scoped_refptr<base::TaskRunner> receiver_task_runner_; scoped_refptr<MemlogStreamReceiver> receiver_; + // Make base::UnixDomainSocket::RecvMsg happy. + std::vector<base::ScopedFD>* dummy_for_receive_; + DISALLOW_COPY_AND_ASSIGN(MemlogReceiverPipe); };
diff --git a/chrome/profiling/memlog_receiver_pipe_server_posix.cc b/chrome/profiling/memlog_receiver_pipe_server_posix.cc index 86540d1..e94e37a 100644 --- a/chrome/profiling/memlog_receiver_pipe_server_posix.cc +++ b/chrome/profiling/memlog_receiver_pipe_server_posix.cc
@@ -7,21 +7,62 @@ #include "base/bind.h" #include "base/memory/ptr_util.h" #include "base/message_loop/message_loop.h" -#include "base/strings/utf_string_conversions.h" +#include "base/strings/string_number_conversions.h" #include "chrome/common/profiling/memlog_stream.h" namespace profiling { MemlogReceiverPipeServer::MemlogReceiverPipeServer( base::TaskRunner* io_runner, - const std::string& pipe_id, + const std::string& first_pipe_id, NewConnectionCallback on_new_conn) - : io_runner_(io_runner), - pipe_id_(pipe_id), - on_new_connection_(on_new_conn) {} + : io_runner_(io_runner), on_new_connection_(on_new_conn) { + int fd; + CHECK(base::StringToInt(first_pipe_id, &fd)); + first_pipe_.reset(fd); +} MemlogReceiverPipeServer::~MemlogReceiverPipeServer() {} -void MemlogReceiverPipeServer::Start() {} +void MemlogReceiverPipeServer::Start() { + // Create Mojo Message Pipe here. + io_runner_->PostTask(FROM_HERE, + base::Bind(&MemlogReceiverPipeServer::StartOnIO, this)); + // TODO(ajwong): Add mojo service here. +} + +void MemlogReceiverPipeServer::StartOnIO() { + scoped_refptr<MemlogReceiverPipe> pipe( + pipe_poller_.CreatePipe(std::move(first_pipe_))); + on_new_connection_.Run(pipe); + pipe->ReadUntilBlocking(); +} + +MemlogReceiverPipeServer::PipePoller::PipePoller() : controller_(FROM_HERE) {} + +MemlogReceiverPipeServer::PipePoller::~PipePoller() {} + +scoped_refptr<MemlogReceiverPipe> +MemlogReceiverPipeServer::PipePoller::CreatePipe(base::ScopedFD fd) { + int raw_fd = fd.get(); + scoped_refptr<MemlogReceiverPipe> pipe(new MemlogReceiverPipe(std::move(fd))); + pipes_[raw_fd] = pipe; + base::MessageLoopForIO::current()->WatchFileDescriptor( + raw_fd, true, base::MessageLoopForIO::WATCH_READ, &controller_, this); + return pipe; +} + +void MemlogReceiverPipeServer::PipePoller::OnFileCanReadWithoutBlocking( + int fd) { + const auto& it = pipes_.find(fd); + if (it != pipes_.end()) { + it->second->ReadUntilBlocking(); + } +} + +void MemlogReceiverPipeServer::PipePoller::OnFileCanWriteWithoutBlocking( + int fd) { + NOTIMPLEMENTED(); +} } // namespace profiling
diff --git a/chrome/profiling/memlog_receiver_pipe_server_posix.h b/chrome/profiling/memlog_receiver_pipe_server_posix.h index 8cc511a..2c7a316 100644 --- a/chrome/profiling/memlog_receiver_pipe_server_posix.h +++ b/chrome/profiling/memlog_receiver_pipe_server_posix.h
@@ -8,6 +8,8 @@ #include <memory> #include "base/callback_forward.h" +#include "base/containers/flat_map.h" +#include "base/files/scoped_file.h" #include "base/macros.h" #include "base/memory/ref_counted.h" #include "base/message_loop/message_pump_libevent.h" @@ -46,9 +48,28 @@ friend class base::RefCountedThreadSafe<MemlogReceiverPipeServer>; ~MemlogReceiverPipeServer(); + void StartOnIO(); + + class PipePoller : public base::MessageLoopForIO::Watcher { + public: + PipePoller(); + ~PipePoller() override; + + scoped_refptr<MemlogReceiverPipe> CreatePipe(base::ScopedFD fd); + + void OnFileCanReadWithoutBlocking(int fd) override; + void OnFileCanWriteWithoutBlocking(int fd) override; + + private: + base::MessageLoopForIO::FileDescriptorWatcher controller_; + + base::flat_map<int, scoped_refptr<MemlogReceiverPipe>> pipes_; + }; + scoped_refptr<base::TaskRunner> io_runner_; - std::string pipe_id_; + base::ScopedFD first_pipe_; NewConnectionCallback on_new_connection_; + PipePoller pipe_poller_; DISALLOW_COPY_AND_ASSIGN(MemlogReceiverPipeServer); };
diff --git a/chrome/profiling/memlog_receiver_pipe_server_win.cc b/chrome/profiling/memlog_receiver_pipe_server_win.cc index cf426f4..780b873 100644 --- a/chrome/profiling/memlog_receiver_pipe_server_win.cc +++ b/chrome/profiling/memlog_receiver_pipe_server_win.cc
@@ -76,6 +76,7 @@ new MemlogReceiverPipe(std::move(current_))); ScheduleNewConnection(false); + // TODO(ajwong): Why should there be a null-check here? if (!on_new_connection_.is_null()) on_new_connection_.Run(pipe); pipe->StartReadingOnIOThread();
diff --git a/chrome/profiling/memlog_stream_parser.h b/chrome/profiling/memlog_stream_parser.h index dd462d9..1418d0b 100644 --- a/chrome/profiling/memlog_stream_parser.h +++ b/chrome/profiling/memlog_stream_parser.h
@@ -38,7 +38,7 @@ READ_NO_DATA // Not enough data, try again when we get more }; - ~MemlogStreamParser(); + ~MemlogStreamParser() override; // Returns true if the given number of bytes are available now. bool AreBytesAvailable(size_t count) const;
diff --git a/chrome/profiling/memlog_stream_receiver.h b/chrome/profiling/memlog_stream_receiver.h index 8a0c9b1..75c32aa 100644 --- a/chrome/profiling/memlog_stream_receiver.h +++ b/chrome/profiling/memlog_stream_receiver.h
@@ -27,7 +27,7 @@ protected: friend class base::RefCountedThreadSafe<MemlogStreamReceiver>; - ~MemlogStreamReceiver() {} + virtual ~MemlogStreamReceiver() {} }; } // namespace profiling
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc index 98c32a2..c6f47b0a 100644 --- a/chrome/renderer/chrome_content_renderer_client.cc +++ b/chrome/renderer/chrome_content_renderer_client.cc
@@ -86,6 +86,7 @@ #include "components/subresource_filter/content/renderer/subresource_filter_agent.h" #include "components/subresource_filter/content/renderer/unverified_ruleset_dealer.h" #include "components/task_scheduler_util/renderer/initialization.h" +#include "components/variations/variations_switches.h" #include "components/version_info/version_info.h" #include "components/visitedlink/renderer/visitedlink_slave.h" #include "components/web_cache/renderer/web_cache_impl.h" @@ -444,7 +445,7 @@ thread->RegisterExtension(extensions_v8::LoadTimesExtension::Get()); base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); - if (command_line->HasSwitch(switches::kEnableBenchmarking)) + if (command_line->HasSwitch(variations::switches::kEnableBenchmarking)) thread->RegisterExtension(extensions_v8::BenchmarkingExtension::Get()); if (command_line->HasSwitch(switches::kEnableNetBenchmarking)) thread->RegisterExtension(extensions_v8::NetBenchmarkingExtension::Get());
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn index 136edb3..dec3005 100644 --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn
@@ -3201,6 +3201,8 @@ "../browser/page_load_metrics/observers/tab_restore_page_load_metrics_observer_unittest.cc", "../browser/page_load_metrics/observers/ukm_page_load_metrics_observer_unittest.cc", "../browser/page_load_metrics/page_load_metrics_util_unittest.cc", + "../browser/page_load_metrics/test/ukm_tester.cc", + "../browser/page_load_metrics/test/ukm_tester.h", "../browser/page_load_metrics/user_input_tracker_unittest.cc", "../browser/password_manager/chrome_password_manager_client_unittest.cc", "../browser/password_manager/password_manager_internals_service_unittest.cc",
diff --git a/chrome/test/data/webui/settings/category_default_setting_tests.js b/chrome/test/data/webui/settings/category_default_setting_tests.js index 6c2007f..081221f 100644 --- a/chrome/test/data/webui/settings/category_default_setting_tests.js +++ b/chrome/test/data/webui/settings/category_default_setting_tests.js
@@ -110,8 +110,8 @@ .then(function(args) { assertEquals(settings.ContentSettingsTypes.GEOLOCATION, args[0]); assertEquals( - enabled ? settings.PermissionValues.BLOCK : - settings.PermissionValues.ASK, + enabled ? settings.ContentSetting.BLOCK : + settings.ContentSetting.ASK, args[1]); assertNotEquals(enabled, testElement.categoryEnabled); }); @@ -152,7 +152,7 @@ Polymer.dom.flush(); assertEquals(category, args[0]); - assertEquals(settings.PermissionValues.BLOCK, args[1]); + assertEquals(settings.ContentSetting.BLOCK, args[1]); assertFalse(testElement.categoryEnabled); assertTrue(secondaryToggle.disabled); assertTrue(secondaryToggle.checked); @@ -180,7 +180,7 @@ Polymer.dom.flush(); assertEquals(category, args[0]); - assertEquals(settings.PermissionValues.ALLOW, args[1]); + assertEquals(settings.ContentSetting.ALLOW, args[1]); assertTrue(testElement.categoryEnabled); assertFalse(secondaryToggle.disabled); assertFalse(secondaryToggle.checked); @@ -194,7 +194,7 @@ Polymer.dom.flush(); assertEquals(category, args[0]); - assertEquals(settings.PermissionValues.BLOCK, args[1]); + assertEquals(settings.ContentSetting.BLOCK, args[1]); assertFalse(testElement.categoryEnabled); assertTrue(secondaryToggle.disabled); assertFalse(secondaryToggle.checked); @@ -208,7 +208,7 @@ Polymer.dom.flush(); assertEquals(category, args[0]); - assertEquals(settings.PermissionValues.ALLOW, args[1]); + assertEquals(settings.ContentSetting.ALLOW, args[1]); assertTrue(testElement.categoryEnabled); assertFalse(secondaryToggle.disabled); assertFalse(secondaryToggle.checked); @@ -232,12 +232,12 @@ test('test special tri-state Flash category', function() { return testTristateCategory( prefsFlashDetect, settings.ContentSettingsTypes.PLUGINS, - settings.PermissionValues.IMPORTANT_CONTENT, '#subOptionToggle'); + settings.ContentSetting.IMPORTANT_CONTENT, '#subOptionToggle'); }); test('test special tri-state Cookies category', function() { return testTristateCategory( prefsCookesSessionOnly, settings.ContentSettingsTypes.COOKIES, - settings.PermissionValues.SESSION_ONLY, '#subOptionToggle'); + settings.ContentSetting.SESSION_ONLY, '#subOptionToggle'); }); });
diff --git a/chrome/test/data/webui/settings/settings_passwords_section_browsertest.js b/chrome/test/data/webui/settings/settings_passwords_section_browsertest.js index 6cd0403..21de179 100644 --- a/chrome/test/data/webui/settings/settings_passwords_section_browsertest.js +++ b/chrome/test/data/webui/settings/settings_passwords_section_browsertest.js
@@ -64,8 +64,9 @@ node.$$('#originUrl').textContent.trim()); assertEquals(passwordInfo.loginPair.urls.link, node.$$('#originUrl').href); - assertEquals(passwordInfo.loginPair.username, - node.$$('#username').textContent); + assertEquals( + passwordInfo.loginPair.username, + node.$$('#username').textContent.trim()); assertEquals(passwordInfo.numCharactersInPassword, node.$$('#password').value.length); } @@ -84,8 +85,9 @@ for (var index = 0; index < exceptionList.length; ++index) { var node = nodes[index]; var exception = exceptionList[index]; - assertEquals(exception.urls.shown, - node.querySelector('#exception').textContent); + assertEquals( + exception.urls.shown, + node.querySelector('#exception').textContent.trim()); assertEquals(exception.urls.link, node.querySelector('#exception').href); } }
diff --git a/chrome/test/data/webui/settings/site_details_permission_tests.js b/chrome/test/data/webui/settings/site_details_permission_tests.js index 51bd52e7..f8d73ef 100644 --- a/chrome/test/data/webui/settings/site_details_permission_tests.js +++ b/chrome/test/data/webui/settings/site_details_permission_tests.js
@@ -66,11 +66,11 @@ return false; }; - function validatePermissionFlipWorks(origin, expectedPermissionValue) { + function validatePermissionFlipWorks(origin, expectedContentSetting) { browserProxy.resetResolver('setCategoryPermissionForOrigin'); // Simulate permission change initiated by the user. - testElement.$.permission.value = expectedPermissionValue; + testElement.$.permission.value = expectedContentSetting; testElement.$.permission.dispatchEvent(new CustomEvent('change')); return browserProxy.whenCalled('setCategoryPermissionForOrigin') @@ -78,7 +78,7 @@ assertEquals(origin, args[0]); assertEquals('', args[1]); assertEquals(testElement.category, args[2]); - assertEquals(expectedPermissionValue, args[3]); + assertEquals(expectedContentSetting, args[3]); }); }; @@ -100,14 +100,14 @@ 'Widget should be labelled correctly'); // Flip the permission and validate that prefs stay in sync. - return validatePermissionFlipWorks(origin, settings.PermissionValues.ALLOW) + return validatePermissionFlipWorks(origin, settings.ContentSetting.ALLOW) .then(function() { return validatePermissionFlipWorks( - origin, settings.PermissionValues.BLOCK); + origin, settings.ContentSetting.BLOCK); }) .then(function() { return validatePermissionFlipWorks( - origin, settings.PermissionValues.ALLOW); + origin, settings.ContentSetting.ALLOW); }); }); @@ -130,14 +130,14 @@ // Flip the permission and validate that prefs stay in sync. return validatePermissionFlipWorks( - origin, settings.PermissionValues.SESSION_ONLY) + origin, settings.ContentSetting.SESSION_ONLY) .then(function() { return validatePermissionFlipWorks( - origin, settings.PermissionValues.ALLOW); + origin, settings.ContentSetting.ALLOW); }) .then(function() { return validatePermissionFlipWorks( - origin, settings.PermissionValues.BLOCK); + origin, settings.ContentSetting.BLOCK); }); }); });
diff --git a/chrome/test/data/webui/settings/site_list_tests.js b/chrome/test/data/webui/settings/site_list_tests.js index a7c5336..9b340576 100644 --- a/chrome/test/data/webui/settings/site_list_tests.js +++ b/chrome/test/data/webui/settings/site_list_tests.js
@@ -420,7 +420,7 @@ /** * Configures the test element for a particular category. * @param {settings.ContentSettingsTypes} category The category to set up. - * @param {settings.PermissionValues} subtype Type of list to use. + * @param {settings.ContentSetting} subtype Type of list to use. * @param {Array<dictionary>} prefs The prefs to use. */ function setUpCategory(category, subtype, prefs) { @@ -438,7 +438,7 @@ test('read-only attribute', function() { setUpCategory( settings.ContentSettingsTypes.GEOLOCATION, - settings.PermissionValues.ALLOW, prefsVarious); + settings.ContentSetting.ALLOW, prefsVarious); return browserProxy.whenCalled('getExceptionList') .then(function(contentType) { // Flush to be sure list container is populated. @@ -458,7 +458,7 @@ test('getExceptionList API used', function() { setUpCategory( settings.ContentSettingsTypes.GEOLOCATION, - settings.PermissionValues.ALLOW, prefsEmpty); + settings.ContentSetting.ALLOW, prefsEmpty); return browserProxy.whenCalled('getExceptionList') .then(function(contentType) { assertEquals(settings.ContentSettingsTypes.GEOLOCATION, contentType); @@ -468,7 +468,7 @@ test('Empty list', function() { setUpCategory( settings.ContentSettingsTypes.GEOLOCATION, - settings.PermissionValues.ALLOW, prefsEmpty); + settings.ContentSetting.ALLOW, prefsEmpty); return browserProxy.whenCalled('getExceptionList') .then(function(contentType) { assertEquals(settings.ContentSettingsTypes.GEOLOCATION, contentType); @@ -476,7 +476,7 @@ assertEquals(0, testElement.sites.length); assertEquals( - settings.PermissionValues.ALLOW, testElement.categorySubtype); + settings.ContentSetting.ALLOW, testElement.categorySubtype); assertFalse(testElement.$.category.hidden); }); @@ -485,7 +485,7 @@ test('initial ALLOW state is correct', function() { setUpCategory( settings.ContentSettingsTypes.GEOLOCATION, - settings.PermissionValues.ALLOW, prefsGeolocation); + settings.ContentSetting.ALLOW, prefsGeolocation); return browserProxy.whenCalled('getExceptionList') .then(function(contentType) { assertEquals(settings.ContentSettingsTypes.GEOLOCATION, contentType); @@ -498,7 +498,7 @@ prefsGeolocation.exceptions.geolocation[1].origin, testElement.sites[1].origin); assertEquals( - settings.PermissionValues.ALLOW, testElement.categorySubtype); + settings.ContentSetting.ALLOW, testElement.categorySubtype); Polymer.dom.flush(); // Populates action menu. openActionMenu(0); assertMenu(['Block', 'Edit', 'Remove'], testElement); @@ -510,7 +510,7 @@ test('action menu closes when list changes', function() { setUpCategory( settings.ContentSettingsTypes.GEOLOCATION, - settings.PermissionValues.ALLOW, prefsGeolocation); + settings.ContentSetting.ALLOW, prefsGeolocation); var actionMenu = testElement.$$('dialog[is=cr-action-menu]'); return browserProxy.whenCalled('getExceptionList') .then(function(contentType) { @@ -534,7 +534,7 @@ test('exceptions are not reordered in non-ALL_SITES', function() { setUpCategory( settings.ContentSettingsTypes.GEOLOCATION, - settings.PermissionValues.BLOCK, prefsMixedProvider); + settings.ContentSetting.BLOCK, prefsMixedProvider); return browserProxy.whenCalled('getExceptionList') .then(function(contentType) { assertEquals(settings.ContentSettingsTypes.GEOLOCATION, contentType); @@ -554,7 +554,7 @@ test('initial BLOCK state is correct', function() { var contentType = settings.ContentSettingsTypes.GEOLOCATION; - var categorySubtype = settings.PermissionValues.BLOCK; + var categorySubtype = settings.ContentSetting.BLOCK; setUpCategory(contentType, categorySubtype, prefsGeolocation); return browserProxy.whenCalled('getExceptionList') .then(function(actualContentType) { @@ -578,7 +578,7 @@ test('initial SESSION ONLY state is correct', function() { var contentType = settings.ContentSettingsTypes.COOKIES; - var categorySubtype = settings.PermissionValues.SESSION_ONLY; + var categorySubtype = settings.ContentSetting.SESSION_ONLY; setUpCategory(contentType, categorySubtype, prefsSessionOnly); return browserProxy.whenCalled('getExceptionList') .then(function(actualContentType) { @@ -600,7 +600,7 @@ test('update lists for incognito', function() { var contentType = settings.ContentSettingsTypes.PLUGINS; - var categorySubtype = settings.PermissionValues.BLOCK; + var categorySubtype = settings.ContentSetting.BLOCK; setUpCategory(contentType, categorySubtype, prefsControlled); var list = testElement.$.listContainer; return browserProxy.whenCalled('getExceptionList') @@ -637,7 +637,7 @@ test('initial INCOGNITO BLOCK state is correct', function() { var contentType = settings.ContentSettingsTypes.COOKIES; - var categorySubtype = settings.PermissionValues.BLOCK; + var categorySubtype = settings.ContentSetting.BLOCK; setUpCategory(contentType, categorySubtype, prefsIncognito); return browserProxy.whenCalled('getExceptionList') .then(function(actualContentType) { @@ -670,7 +670,7 @@ test('initial INCOGNITO ALLOW state is correct', function() { var contentType = settings.ContentSettingsTypes.COOKIES; - var categorySubtype = settings.PermissionValues.ALLOW; + var categorySubtype = settings.ContentSetting.ALLOW; setUpCategory(contentType, categorySubtype, prefsIncognito); return browserProxy.whenCalled('getExceptionList') .then(function(actualContentType) { @@ -711,7 +711,7 @@ Polymer.dom.flush(); var contentType = settings.ContentSettingsTypes.GEOLOCATION; - var categorySubtype = settings.PermissionValues.ALLOW; + var categorySubtype = settings.ContentSetting.ALLOW; setUpCategory(contentType, categorySubtype, prefsOneEnabled); return browserProxy.whenCalled('getExceptionList') .then(function(actualContentType) { @@ -750,7 +750,7 @@ test('edit action menu opens edit exception dialog', function() { setUpCategory( settings.ContentSettingsTypes.COOKIES, - settings.PermissionValues.SESSION_ONLY, prefsSessionOnly); + settings.ContentSetting.SESSION_ONLY, prefsSessionOnly); return browserProxy.whenCalled('getExceptionList').then(function() { Polymer.dom.flush(); // Populates action menu. @@ -771,8 +771,7 @@ test('list items shown and clickable when data is present', function() { var contentType = settings.ContentSettingsTypes.GEOLOCATION; - setUpCategory( - contentType, settings.PermissionValues.ALLOW, prefsGeolocation); + setUpCategory(contentType, settings.ContentSetting.ALLOW, prefsGeolocation); return browserProxy.whenCalled('getExceptionList') .then(function(actualContentType) { assertEquals(contentType, actualContentType); @@ -804,8 +803,7 @@ test('Block list open when Allow list is empty', function() { // Prefs: One item in Block list, nothing in Allow list. var contentType = settings.ContentSettingsTypes.GEOLOCATION; - setUpCategory( - contentType, settings.PermissionValues.BLOCK, prefsOneDisabled); + setUpCategory(contentType, settings.ContentSetting.BLOCK, prefsOneDisabled); return browserProxy.whenCalled('getExceptionList') .then(function(actualContentType) { assertEquals(contentType, actualContentType); @@ -819,8 +817,7 @@ test('Block list closed when Allow list is not empty', function() { // Prefs: Items in both Block and Allow list. var contentType = settings.ContentSettingsTypes.GEOLOCATION; - setUpCategory( - contentType, settings.PermissionValues.BLOCK, prefsGeolocation); + setUpCategory(contentType, settings.ContentSetting.BLOCK, prefsGeolocation); return browserProxy.whenCalled('getExceptionList') .then(function(actualContentType) { assertEquals(contentType, actualContentType); @@ -832,8 +829,7 @@ test('Allow list is always open (Block list empty)', function() { // Prefs: One item in Allow list, nothing in Block list. var contentType = settings.ContentSettingsTypes.GEOLOCATION; - setUpCategory( - contentType, settings.PermissionValues.ALLOW, prefsOneEnabled); + setUpCategory(contentType, settings.ContentSetting.ALLOW, prefsOneEnabled); return browserProxy.whenCalled('getExceptionList') .then(function(actualContentType) { assertEquals(contentType, actualContentType); @@ -847,8 +843,7 @@ test('Allow list is always open (Block list non-empty)', function() { // Prefs: Items in both Block and Allow list. var contentType = settings.ContentSettingsTypes.GEOLOCATION; - setUpCategory( - contentType, settings.PermissionValues.ALLOW, prefsGeolocation); + setUpCategory(contentType, settings.ContentSetting.ALLOW, prefsGeolocation); return browserProxy.whenCalled('getExceptionList') .then(function(actualContentType) { assertEquals(contentType, actualContentType); @@ -862,8 +857,7 @@ test('Block list not hidden when empty', function() { // Prefs: One item in Allow list, nothing in Block list. var contentType = settings.ContentSettingsTypes.GEOLOCATION; - setUpCategory( - contentType, settings.PermissionValues.BLOCK, prefsOneEnabled); + setUpCategory(contentType, settings.ContentSetting.BLOCK, prefsOneEnabled); return browserProxy.whenCalled('getExceptionList') .then(function(actualContentType) { assertEquals(contentType, actualContentType); @@ -874,8 +868,7 @@ test('Allow list not hidden when empty', function() { // Prefs: One item in Block list, nothing in Allow list. var contentType = settings.ContentSettingsTypes.GEOLOCATION; - setUpCategory( - contentType, settings.PermissionValues.ALLOW, prefsOneDisabled); + setUpCategory(contentType, settings.ContentSetting.ALLOW, prefsOneDisabled); return browserProxy.whenCalled('getExceptionList') .then(function(actualContentType) { assertEquals(contentType, actualContentType); @@ -885,7 +878,7 @@ test('Mixed embeddingOrigin', function() { setUpCategory( - settings.ContentSettingsTypes.IMAGES, settings.PermissionValues.ALLOW, + settings.ContentSettingsTypes.IMAGES, settings.ContentSetting.ALLOW, prefsMixedEmbeddingOrigin); return browserProxy.whenCalled('getExceptionList') .then(function(contentType) { @@ -906,7 +899,7 @@ // Prefs: One item with scheme and one without. setUpCategory( settings.ContentSettingsTypes.GEOLOCATION, - settings.PermissionValues.ALLOW, prefsMixedSchemes); + settings.ContentSetting.ALLOW, prefsMixedSchemes); return browserProxy.whenCalled('getExceptionList') .then(function(contentType) { // No further checks needed. If this fails, it will hang the test. @@ -917,7 +910,7 @@ // Test for error: "Cannot read property 'origin' of undefined". setUpCategory( settings.ContentSettingsTypes.GEOLOCATION, - settings.PermissionValues.ALLOW, prefsGeolocation); + settings.ContentSetting.ALLOW, prefsGeolocation); return browserProxy.whenCalled('getExceptionList') .then(function(contentType) { Polymer.dom.flush(); @@ -931,8 +924,8 @@ test('Chrome Extension scheme', function() { setUpCategory( - settings.ContentSettingsTypes.JAVASCRIPT, - settings.PermissionValues.BLOCK, prefsChromeExtension); + settings.ContentSettingsTypes.JAVASCRIPT, settings.ContentSetting.BLOCK, + prefsChromeExtension); return browserProxy.whenCalled('getExceptionList') .then(function(contentType) { Polymer.dom.flush(); @@ -1056,7 +1049,7 @@ PolymerTest.clearBody(); dialog = document.createElement('add-site-dialog'); dialog.category = settings.ContentSettingsTypes.GEOLOCATION; - dialog.contentSetting = settings.PermissionValues.ALLOW; + dialog.contentSetting = settings.ContentSetting.ALLOW; document.body.appendChild(dialog); dialog.open(); });
diff --git a/chrome/test/data/webui/settings/site_settings_page_browsertest.js b/chrome/test/data/webui/settings/site_settings_page_browsertest.js index fc4929e..89274a9 100644 --- a/chrome/test/data/webui/settings/site_settings_page_browsertest.js +++ b/chrome/test/data/webui/settings/site_settings_page_browsertest.js
@@ -30,22 +30,35 @@ }); test('defaultSettingLabel_ tests', function() { - assertEquals('a', ui.defaultSettingLabel_( - settings.PermissionValues.ALLOW, 'a', 'b')); - assertEquals('b', ui.defaultSettingLabel_( - settings.PermissionValues.BLOCK, 'a', 'b')); - assertEquals('a', ui.defaultSettingLabel_( - settings.PermissionValues.ALLOW, 'a', 'b', 'c')); - assertEquals('b', ui.defaultSettingLabel_( - settings.PermissionValues.BLOCK, 'a', 'b', 'c')); - assertEquals('c', ui.defaultSettingLabel_( - settings.PermissionValues.SESSION_ONLY, 'a', 'b', 'c')); - assertEquals('c', ui.defaultSettingLabel_( - settings.PermissionValues.DEFAULT, 'a', 'b', 'c')); - assertEquals('c', ui.defaultSettingLabel_( - settings.PermissionValues.ASK, 'a', 'b', 'c')); - assertEquals('c', ui.defaultSettingLabel_( - settings.PermissionValues.DETECT_IMPORTANT_CONTENT, 'a', 'b', 'c')); + assertEquals( + 'a', + ui.defaultSettingLabel_(settings.ContentSetting.ALLOW, 'a', 'b')); + assertEquals( + 'b', + ui.defaultSettingLabel_(settings.ContentSetting.BLOCK, 'a', 'b')); + assertEquals( + 'a', + ui.defaultSettingLabel_( + settings.ContentSetting.ALLOW, 'a', 'b', 'c')); + assertEquals( + 'b', + ui.defaultSettingLabel_( + settings.ContentSetting.BLOCK, 'a', 'b', 'c')); + assertEquals( + 'c', + ui.defaultSettingLabel_( + settings.ContentSetting.SESSION_ONLY, 'a', 'b', 'c')); + assertEquals( + 'c', + ui.defaultSettingLabel_( + settings.ContentSetting.DEFAULT, 'a', 'b', 'c')); + assertEquals( + 'c', + ui.defaultSettingLabel_(settings.ContentSetting.ASK, 'a', 'b', 'c')); + assertEquals( + 'c', + ui.defaultSettingLabel_( + settings.ContentSetting.DETECT_IMPORTANT_CONTENT, 'a', 'b', 'c')); }); });
diff --git a/chromecast/base/bind_to_task_runner.h b/chromecast/base/bind_to_task_runner.h index d17b4d10..a982a1c 100644 --- a/chromecast/base/bind_to_task_runner.h +++ b/chromecast/base/bind_to_task_runner.h
@@ -13,7 +13,6 @@ #include "base/callback.h" #include "base/location.h" #include "base/memory/ref_counted.h" -#include "base/memory/scoped_vector.h" #include "base/task_runner.h" #include "base/threading/thread_task_runner_handle.h"
diff --git a/chromecast/media/cma/backend/alsa/stream_mixer_alsa_unittest.cc b/chromecast/media/cma/backend/alsa/stream_mixer_alsa_unittest.cc index 876250f..45983232 100644 --- a/chromecast/media/cma/backend/alsa/stream_mixer_alsa_unittest.cc +++ b/chromecast/media/cma/backend/alsa/stream_mixer_alsa_unittest.cc
@@ -11,7 +11,6 @@ #include <utility> #include "base/memory/ptr_util.h" -#include "base/memory/scoped_vector.h" #include "base/message_loop/message_loop.h" #include "base/run_loop.h" #include "base/strings/stringprintf.h"
diff --git a/chromecast/media/cma/backend/audio_video_pipeline_device_unittest.cc b/chromecast/media/cma/backend/audio_video_pipeline_device_unittest.cc index db5c2f50..b252c36 100644 --- a/chromecast/media/cma/backend/audio_video_pipeline_device_unittest.cc +++ b/chromecast/media/cma/backend/audio_video_pipeline_device_unittest.cc
@@ -16,7 +16,6 @@ #include "base/macros.h" #include "base/memory/ptr_util.h" #include "base/memory/ref_counted.h" -#include "base/memory/scoped_vector.h" #include "base/message_loop/message_loop.h" #include "base/path_service.h" #include "base/run_loop.h"
diff --git a/chromecast/media/cma/base/multi_demuxer_stream_adapter_unittest.cc b/chromecast/media/cma/base/multi_demuxer_stream_adapter_unittest.cc index 3b7ade2..971d26fe 100644 --- a/chromecast/media/cma/base/multi_demuxer_stream_adapter_unittest.cc +++ b/chromecast/media/cma/base/multi_demuxer_stream_adapter_unittest.cc
@@ -3,12 +3,12 @@ // found in the LICENSE file. #include <memory> +#include <vector> #include "base/bind.h" #include "base/macros.h" #include "base/memory/ptr_util.h" #include "base/memory/ref_counted.h" -#include "base/memory/scoped_vector.h" #include "base/message_loop/message_loop.h" #include "base/run_loop.h" #include "base/single_thread_task_runner.h" @@ -58,9 +58,9 @@ // List of expected frame indices with decoder config changes. std::list<int> config_idx_; - ScopedVector<DemuxerStreamForTest> demuxer_streams_; + std::vector<std::unique_ptr<DemuxerStreamForTest>> demuxer_streams_; - ScopedVector<CodedFrameProvider> coded_frame_providers_; + std::vector<std::unique_ptr<CodedFrameProvider>> coded_frame_providers_; private: // exit if all of the streams end @@ -92,22 +92,22 @@ coded_frame_providers_.clear(); frame_received_count_ = 0; - for (auto* stream : demuxer_streams_) { + for (const auto& stream : demuxer_streams_) { coded_frame_providers_.push_back(base::MakeUnique<DemuxerStreamAdapter>( base::ThreadTaskRunnerHandle::Get(), media_task_runner_factory_, - stream)); + stream.get())); } running_stream_count_ = coded_frame_providers_.size(); // read each stream - for (auto* code_frame_provider : coded_frame_providers_) { - auto read_cb = base::Bind(&MultiDemuxerStreamAdaptersTest::OnNewFrame, - base::Unretained(this), - code_frame_provider); + for (const auto& code_frame_provider : coded_frame_providers_) { + auto read_cb = + base::Bind(&MultiDemuxerStreamAdaptersTest::OnNewFrame, + base::Unretained(this), code_frame_provider.get()); - base::Closure task = base::Bind(&CodedFrameProvider::Read, - base::Unretained(code_frame_provider), - read_cb); + base::Closure task = + base::Bind(&CodedFrameProvider::Read, + base::Unretained(code_frame_provider.get()), read_cb); base::ThreadTaskRunnerHandle::Get()->PostTask(FROM_HERE, task); } @@ -154,10 +154,10 @@ frame_count_short + kMaxPtsDiffMs / DemuxerStreamForTest::kDemuxerStreamForTestFrameDuration + 100; - demuxer_streams_.push_back(std::unique_ptr<DemuxerStreamForTest>( - new DemuxerStreamForTest(frame_count_short, 2, 0, config_idx_))); - demuxer_streams_.push_back(std::unique_ptr<DemuxerStreamForTest>( - new DemuxerStreamForTest(frame_count_long, 10, 0, config_idx_))); + demuxer_streams_.push_back(base::MakeUnique<DemuxerStreamForTest>( + frame_count_short, 2, 0, config_idx_)); + demuxer_streams_.push_back(base::MakeUnique<DemuxerStreamForTest>( + frame_count_long, 10, 0, config_idx_)); total_expected_frames_ = frame_count_short + frame_count_long;
diff --git a/components/arc/arc_service_manager.cc b/components/arc/arc_service_manager.cc index d3f90eb4..a0b2b96 100644 --- a/components/arc/arc_service_manager.cc +++ b/components/arc/arc_service_manager.cc
@@ -6,7 +6,6 @@ #include "base/logging.h" #include "base/memory/ptr_util.h" -#include "base/task_runner.h" #include "components/arc/arc_bridge_service.h" #include "components/arc/arc_session.h" #include "components/arc/arc_session_runner.h" @@ -20,10 +19,8 @@ } // namespace -ArcServiceManager::ArcServiceManager( - scoped_refptr<base::TaskRunner> blocking_task_runner) - : blocking_task_runner_(blocking_task_runner), - arc_bridge_service_(base::MakeUnique<ArcBridgeService>()), +ArcServiceManager::ArcServiceManager() + : arc_bridge_service_(base::MakeUnique<ArcBridgeService>()), activity_resolver_(new LocalActivityResolver()) { DCHECK(!g_arc_service_manager); g_arc_service_manager = this;
diff --git a/components/arc/arc_service_manager.h b/components/arc/arc_service_manager.h index 0540a6b7..bd75a2d9 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/task_runner.h" #include "base/threading/thread_checker.h" #include "components/arc/arc_service.h" #include "components/arc/intent_helper/local_activity_resolver.h" @@ -61,8 +60,7 @@ // instance via the ArcBridgeService. class ArcServiceManager { public: - explicit ArcServiceManager( - scoped_refptr<base::TaskRunner> blocking_task_runner); + ArcServiceManager(); ~ArcServiceManager(); // |arc_bridge_service| can only be accessed on the thread that this @@ -102,10 +100,6 @@ // Called to shut down all ARC services. void Shutdown(); - scoped_refptr<base::TaskRunner> blocking_task_runner() const { - return blocking_task_runner_; - } - // Returns the activity resolver owned by ArcServiceManager. scoped_refptr<LocalActivityResolver> activity_resolver() { return activity_resolver_; @@ -120,7 +114,6 @@ ArcService* GetNamedServiceInternal(const std::string& name); THREAD_CHECKER(thread_checker_); - scoped_refptr<base::TaskRunner> blocking_task_runner_; std::unique_ptr<ArcBridgeService> arc_bridge_service_; std::unordered_multimap<std::string, std::unique_ptr<ArcService>> services_;
diff --git a/components/arc/arc_service_manager_unittest.cc b/components/arc/arc_service_manager_unittest.cc index 120d5ac..cd9f9dc 100644 --- a/components/arc/arc_service_manager_unittest.cc +++ b/components/arc/arc_service_manager_unittest.cc
@@ -91,7 +91,7 @@ bool named_service_alive = false; // ArcServiceManager is empty, GetService() should return nullptr. - auto manager = base::MakeUnique<ArcServiceManager>(nullptr); + auto manager = base::MakeUnique<ArcServiceManager>(); EXPECT_EQ(nullptr, manager->GetService<NamedService>()); EXPECT_TRUE(manager->AddService(base::MakeUnique<NamedService>( @@ -110,7 +110,7 @@ bool anonymous_service_alive = false; bool second_anonymous_service_alive = false; - auto manager = base::MakeUnique<ArcServiceManager>(nullptr); + auto manager = base::MakeUnique<ArcServiceManager>(); EXPECT_TRUE(manager->AddService(base::MakeUnique<AnonymousService>( arc_bridge_service(), &anonymous_service_alive))); @@ -131,7 +131,7 @@ bool second_named_service_alive = false; bool different_named_service_alive = false; - auto manager = base::MakeUnique<ArcServiceManager>(nullptr); + auto manager = base::MakeUnique<ArcServiceManager>(); auto named_service = base::MakeUnique<NamedService>(arc_bridge_service(), &named_service_alive); @@ -168,7 +168,7 @@ TEST_F(ArcServiceManagerTest, EmptyNamedServices) { bool empty_named_service_alive = false; - auto manager = base::MakeUnique<ArcServiceManager>(nullptr); + auto manager = base::MakeUnique<ArcServiceManager>(); EXPECT_TRUE(manager->AddService(base::MakeUnique<EmptyNamedService>( arc_bridge_service(), &empty_named_service_alive))); @@ -187,7 +187,7 @@ // Create a manager. This will automatically be registered as a global // instance. - auto manager = base::MakeUnique<ArcServiceManager>(nullptr); + auto manager = base::MakeUnique<ArcServiceManager>(); // The getter should return nullptr when the manager doesn't know about the // NamedService instance.
diff --git a/components/arc/arc_session.cc b/components/arc/arc_session.cc index 99a846bb..ac26d68 100644 --- a/components/arc/arc_session.cc +++ b/components/arc/arc_session.cc
@@ -17,10 +17,10 @@ #include "base/location.h" #include "base/macros.h" #include "base/memory/ptr_util.h" -#include "base/memory/ref_counted.h" #include "base/posix/eintr_wrapper.h" #include "base/sys_info.h" -#include "base/task_runner_util.h" +#include "base/task_scheduler/post_task.h" +#include "base/task_scheduler/task_traits.h" #include "base/threading/thread_checker.h" #include "base/threading/thread_task_runner_handle.h" #include "chromeos/chromeos_switches.h" @@ -212,8 +212,7 @@ STOPPED, }; - ArcSessionImpl(ArcBridgeService* arc_bridge_service, - const scoped_refptr<base::TaskRunner>& blocking_task_runner); + explicit ArcSessionImpl(ArcBridgeService* arc_bridge_service); ~ArcSessionImpl() override; // ArcSession overrides: @@ -266,9 +265,6 @@ // Owned by ArcServiceManager. ArcBridgeService* const arc_bridge_service_; - // Task runner to run a blocking tasks. - scoped_refptr<base::TaskRunner> blocking_task_runner_; - // The state of the session. State state_ = State::NOT_STARTED; @@ -301,12 +297,8 @@ DISALLOW_COPY_AND_ASSIGN(ArcSessionImpl); }; -ArcSessionImpl::ArcSessionImpl( - ArcBridgeService* arc_bridge_service, - const scoped_refptr<base::TaskRunner>& blocking_task_runner) - : arc_bridge_service_(arc_bridge_service), - blocking_task_runner_(blocking_task_runner), - weak_factory_(this) { +ArcSessionImpl::ArcSessionImpl(ArcBridgeService* arc_bridge_service) + : arc_bridge_service_(arc_bridge_service), weak_factory_(this) { chromeos::SessionManagerClient* client = GetSessionManagerClient(); if (client == nullptr) return; @@ -340,8 +332,8 @@ VLOG(2) << "Starting ARC session"; VLOG(2) << "Creating socket..."; state_ = State::CREATING_SOCKET; - base::PostTaskAndReplyWithResult( - blocking_task_runner_.get(), FROM_HERE, + base::PostTaskWithTraitsAndReplyWithResult( + FROM_HERE, {base::MayBlock()}, base::Bind(&ArcSessionImpl::CreateSocket), base::Bind(&ArcSessionImpl::OnSocketCreated, weak_factory_.GetWeakPtr(), false /* not for login screen */)); @@ -526,8 +518,8 @@ return; } - base::PostTaskAndReplyWithResult( - blocking_task_runner_.get(), FROM_HERE, + base::PostTaskWithTraitsAndReplyWithResult( + FROM_HERE, {base::MayBlock()}, base::Bind(&ArcSessionImpl::ConnectMojo, base::Passed(&socket_fd), base::Passed(&cancel_fd)), base::Bind(&ArcSessionImpl::OnMojoConnected, weak_factory_.GetWeakPtr())); @@ -725,9 +717,8 @@ VLOG(2) << "Creating socket..."; login_screen_instance_requested_ = true; state_ = State::CREATING_SOCKET; - base::PostTaskAndReplyWithResult( - blocking_task_runner_.get(), FROM_HERE, - base::Bind(&ArcSessionImpl::CreateSocket), + base::PostTaskWithTraitsAndReplyWithResult( + FROM_HERE, {base::MayBlock()}, base::Bind(&ArcSessionImpl::CreateSocket), base::Bind(&ArcSessionImpl::OnSocketCreated, weak_factory_.GetWeakPtr(), true /* for login screen */)); } @@ -789,10 +780,8 @@ // static std::unique_ptr<ArcSession> ArcSession::Create( - ArcBridgeService* arc_bridge_service, - const scoped_refptr<base::TaskRunner>& blocking_task_runner) { - return base::MakeUnique<ArcSessionImpl>(arc_bridge_service, - blocking_task_runner); + ArcBridgeService* arc_bridge_service) { + return base::MakeUnique<ArcSessionImpl>(arc_bridge_service); } } // namespace arc
diff --git a/components/arc/arc_session.h b/components/arc/arc_session.h index 7ae7a19..01c8c939 100644 --- a/components/arc/arc_session.h +++ b/components/arc/arc_session.h
@@ -9,7 +9,6 @@ #include "base/macros.h" #include "base/observer_list.h" -#include "base/task_runner.h" #include "components/arc/arc_bridge_service.h" #include "components/arc/arc_stop_reason.h" @@ -40,8 +39,7 @@ // Creates a default instance of ArcSession. static std::unique_ptr<ArcSession> Create( - ArcBridgeService* arc_bridge_service, - const scoped_refptr<base::TaskRunner>& blocking_task_runner); + ArcBridgeService* arc_bridge_service); virtual ~ArcSession(); // Starts an instance for login screen. The instance is not a fully functional
diff --git a/components/arc/crash_collector/arc_crash_collector_bridge.cc b/components/arc/crash_collector/arc_crash_collector_bridge.cc index 2ca3da4f..874f408 100644 --- a/components/arc/crash_collector/arc_crash_collector_bridge.cc +++ b/components/arc/crash_collector/arc_crash_collector_bridge.cc
@@ -11,6 +11,8 @@ #include "base/logging.h" #include "base/process/launch.h" +#include "base/task_scheduler/post_task.h" +#include "base/task_scheduler/task_traits.h" #include "components/arc/arc_bridge_service.h" #include "mojo/edk/embedder/embedder.h" @@ -48,12 +50,8 @@ namespace arc { -ArcCrashCollectorBridge::ArcCrashCollectorBridge( - ArcBridgeService* bridge, - scoped_refptr<base::TaskRunner> blocking_task_runner) - : ArcService(bridge), - blocking_task_runner_(blocking_task_runner), - binding_(this) { +ArcCrashCollectorBridge::ArcCrashCollectorBridge(ArcBridgeService* bridge) + : ArcService(bridge), binding_(this) { arc_bridge_service()->crash_collector()->AddObserver(this); } @@ -75,9 +73,10 @@ mojo::edk::ScopedPlatformHandle pipe_handle; mojo::edk::PassWrappedPlatformHandle(pipe.release().value(), &pipe_handle); - blocking_task_runner_->PostTask( - FROM_HERE, base::Bind(&RunCrashReporter, type, device_, board_, cpu_abi_, - base::Passed(std::move(pipe_handle)))); + base::PostTaskWithTraits( + FROM_HERE, {base::WithBaseSyncPrimitives()}, + base::BindOnce(&RunCrashReporter, type, device_, board_, cpu_abi_, + base::Passed(std::move(pipe_handle)))); } void ArcCrashCollectorBridge::SetBuildProperties(const std::string& device,
diff --git a/components/arc/crash_collector/arc_crash_collector_bridge.h b/components/arc/crash_collector/arc_crash_collector_bridge.h index ec4fcdf..220c8e17 100644 --- a/components/arc/crash_collector/arc_crash_collector_bridge.h +++ b/components/arc/crash_collector/arc_crash_collector_bridge.h
@@ -8,16 +8,11 @@ #include <string> #include "base/macros.h" -#include "base/memory/ref_counted.h" #include "components/arc/arc_service.h" #include "components/arc/common/crash_collector.mojom.h" #include "components/arc/instance_holder.h" #include "mojo/public/cpp/bindings/binding.h" -namespace base { -class TaskRunner; -} // namespace base - namespace arc { class ArcBridgeService; @@ -28,8 +23,7 @@ public InstanceHolder<mojom::CrashCollectorInstance>::Observer, public mojom::CrashCollectorHost { public: - ArcCrashCollectorBridge(ArcBridgeService* bridge, - scoped_refptr<base::TaskRunner> blocking_task_runner); + explicit ArcCrashCollectorBridge(ArcBridgeService* bridge); ~ArcCrashCollectorBridge() override; // InstanceHolder<mojom::CrashCollectorInstance>::Observer overrides. @@ -43,8 +37,6 @@ const std::string& cpu_abi) override; private: - scoped_refptr<base::TaskRunner> blocking_task_runner_; - mojo::Binding<mojom::CrashCollectorHost> binding_; std::string device_;
diff --git a/components/arc/intent_helper/activity_icon_loader.cc b/components/arc/intent_helper/activity_icon_loader.cc index 73d0099..54c431864 100644 --- a/components/arc/intent_helper/activity_icon_loader.cc +++ b/components/arc/intent_helper/activity_icon_loader.cc
@@ -13,7 +13,7 @@ #include "base/bind.h" #include "base/memory/ptr_util.h" #include "base/memory/ref_counted.h" -#include "base/task_runner_util.h" +#include "base/task_scheduler/post_task.h" #include "components/arc/arc_bridge_service.h" #include "components/arc/arc_service_manager.h" #include "components/arc/arc_util.h" @@ -240,10 +240,8 @@ const OnIconsReadyCallback& cb, std::vector<mojom::ActivityIconPtr> icons) { DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); - ArcServiceManager* manager = ArcServiceManager::Get(); base::PostTaskAndReplyWithResult( - manager->blocking_task_runner().get(), FROM_HERE, - base::Bind(&ResizeAndEncodeIcons, base::Passed(&icons)), + FROM_HERE, base::Bind(&ResizeAndEncodeIcons, base::Passed(&icons)), base::Bind(&ActivityIconLoader::OnIconsResized, weak_ptr_factory_.GetWeakPtr(), base::Passed(&cached_result), cb));
diff --git a/components/autofill/android/BUILD.gn b/components/autofill/android/BUILD.gn index 83f2b006..7515cb4 100644 --- a/components/autofill/android/BUILD.gn +++ b/components/autofill/android/BUILD.gn
@@ -29,6 +29,7 @@ deps = [ "//base:base_java", "//content/public/android:content_java", + "//third_party/android_tools:android_support_annotations_java", ] java_files = [ "java/src/org/chromium/components/autofill/AutofillProvider.java",
diff --git a/components/autofill/android/form_field_data_android.cc b/components/autofill/android/form_field_data_android.cc index 15d5163..2df0b756 100644 --- a/components/autofill/android/form_field_data_android.cc +++ b/components/autofill/android/form_field_data_android.cc
@@ -4,7 +4,9 @@ #include "components/autofill/android/form_field_data_android.h" +#include "base/android/jni_array.h" #include "base/android/jni_string.h" +#include "components/autofill/core/common/autofill_util.h" #include "jni/FormFieldData_jni.h" using base::android::AttachCurrentThread; @@ -15,6 +17,7 @@ using base::android::JavaRef; using base::android::ScopedJavaGlobalRef; using base::android::ScopedJavaLocalRef; +using base::android::ToJavaArrayOfStrings; namespace autofill { @@ -39,10 +42,16 @@ ConvertUTF16ToJavaString(env, field_ptr_->id); ScopedJavaLocalRef<jstring> jtype = ConvertUTF8ToJavaString(env, field_ptr_->form_control_type); + ScopedJavaLocalRef<jobjectArray> joption_values = + ToJavaArrayOfStrings(env, field_ptr_->option_values); + ScopedJavaLocalRef<jobjectArray> joption_contents = + ToJavaArrayOfStrings(env, field_ptr_->option_contents); obj = Java_FormFieldData_createFormFieldData( env, jname, jlabel, jvalue, jautocomplete_attr, - field_ptr_->should_autocomplete, jplaceholder, jtype, jid); + field_ptr_->should_autocomplete, jplaceholder, jtype, jid, + joption_values, joption_contents, IsCheckable(field_ptr_->check_status), + IsChecked(field_ptr_->check_status)); java_ref_ = JavaObjectWeakGlobalRef(env, obj); } return obj; @@ -54,10 +63,16 @@ ScopedJavaLocalRef<jobject> obj = java_ref_.get(env); if (obj.is_null()) return; - ScopedJavaLocalRef<jstring> jvalue = Java_FormFieldData_getValue(env, obj); - if (jvalue.is_null()) - return; - field_ptr_->value = ConvertJavaStringToUTF16(env, jvalue); + + if (IsCheckable(field_ptr_->check_status)) { + bool checked = Java_FormFieldData_isChecked(env, obj); + SetCheckStatus(field_ptr_, true, checked); + } else { + ScopedJavaLocalRef<jstring> jvalue = Java_FormFieldData_getValue(env, obj); + if (jvalue.is_null()) + return; + field_ptr_->value = ConvertJavaStringToUTF16(env, jvalue); + } field_ptr_->is_autofilled = true; }
diff --git a/components/autofill/android/java/src/org/chromium/components/autofill/AutofillProvider.java b/components/autofill/android/java/src/org/chromium/components/autofill/AutofillProvider.java index 0b4c27a..28bd0ed 100644 --- a/components/autofill/android/java/src/org/chromium/components/autofill/AutofillProvider.java +++ b/components/autofill/android/java/src/org/chromium/components/autofill/AutofillProvider.java
@@ -42,7 +42,7 @@ * @param values the array of autofill values, the key is virtual id of form * field. */ - public abstract void autofill(final SparseArray<String> values); + public abstract void autofill(final SparseArray<Object> values); /** * Invoked when autofill service needs the form structure.
diff --git a/components/autofill/android/java/src/org/chromium/components/autofill/FormFieldData.java b/components/autofill/android/java/src/org/chromium/components/autofill/FormFieldData.java index 6657bc1..8c8858cc 100644 --- a/components/autofill/android/java/src/org/chromium/components/autofill/FormFieldData.java +++ b/components/autofill/android/java/src/org/chromium/components/autofill/FormFieldData.java
@@ -4,14 +4,29 @@ package org.chromium.components.autofill; +import android.support.annotation.IntDef; + import org.chromium.base.annotations.CalledByNative; import org.chromium.base.annotations.JNINamespace; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + /** * The wrap class of native autofill::FormFieldDataAndroid. */ @JNINamespace("autofill") public class FormFieldData { + /** + * Define the control types supported by android.view.autofill.AutofillValue. + */ + @IntDef({TYPE_TEXT, TYPE_TOGGLE, TYPE_LIST}) + @Retention(RetentionPolicy.SOURCE) + public @interface ControlType {} + public static final int TYPE_TEXT = 0; + public static final int TYPE_TOGGLE = 1; + public static final int TYPE_LIST = 2; + public final String mLabel; public final String mName; public final String mAutocompleteAttr; @@ -19,11 +34,17 @@ public final String mPlaceholder; public final String mType; public final String mId; + public final String[] mOptionValues; + public final String[] mOptionContents; + public final @ControlType int mControlType; + private boolean mIsChecked; private String mValue; private FormFieldData(String name, String label, String value, String autocompleteAttr, - boolean shouldAutocomplete, String placeholder, String type, String id) { + boolean shouldAutocomplete, String placeholder, String type, String id, + String[] optionValues, String[] optionContents, boolean isCheckField, + boolean isChecked) { mName = name; mLabel = label; mValue = value; @@ -32,6 +53,20 @@ mPlaceholder = placeholder; mType = type; mId = id; + mOptionValues = optionValues; + mOptionContents = optionContents; + mIsChecked = isChecked; + if (mOptionValues != null && mOptionValues.length != 0) { + mControlType = TYPE_LIST; + } else if (isCheckField) { + mControlType = TYPE_TOGGLE; + } else { + mControlType = TYPE_TEXT; + } + } + + public @ControlType int getControlType() { + return mControlType; } /** @@ -48,10 +83,20 @@ } @CalledByNative + public boolean isChecked() { + return mIsChecked; + } + + public void setChecked(boolean checked) { + mIsChecked = checked; + } + + @CalledByNative private static FormFieldData createFormFieldData(String name, String label, String value, String autocompleteAttr, boolean shouldAutocomplete, String placeholder, String type, - String id) { - return new FormFieldData( - name, label, value, autocompleteAttr, shouldAutocomplete, placeholder, type, id); + String id, String[] optionValues, String[] optionContents, boolean isCheckField, + boolean isChecked) { + return new FormFieldData(name, label, value, autocompleteAttr, shouldAutocomplete, + placeholder, type, id, optionValues, optionContents, isCheckField, isChecked); } }
diff --git a/components/autofill/core/browser/autofill_profile.cc b/components/autofill/core/browser/autofill_profile.cc index e54c9fd..35bc590 100644 --- a/components/autofill/core/browser/autofill_profile.cc +++ b/components/autofill/core/browser/autofill_profile.cc
@@ -309,6 +309,14 @@ return form_group->SetInfo(type, trimmed_value, app_locale); } +void AutofillProfile::GetSupportedTypes( + ServerFieldTypeSet* supported_types) const { + FormGroupList info = FormGroups(); + for (const auto* form_group : info) { + form_group->GetSupportedTypes(supported_types); + } +} + bool AutofillProfile::IsEmpty(const std::string& app_locale) const { ServerFieldTypeSet types; GetNonEmptyTypes(app_locale, &types); @@ -709,14 +717,6 @@ RecordUse(); } -void AutofillProfile::GetSupportedTypes( - ServerFieldTypeSet* supported_types) const { - FormGroupList info = FormGroups(); - for (const auto* form_group : info) { - form_group->GetSupportedTypes(supported_types); - } -} - // static void AutofillProfile::CreateInferredLabelsHelper( const std::vector<AutofillProfile*>& profiles,
diff --git a/components/autofill/core/browser/autofill_profile.h b/components/autofill/core/browser/autofill_profile.h index a420dbe..de33113 100644 --- a/components/autofill/core/browser/autofill_profile.h +++ b/components/autofill/core/browser/autofill_profile.h
@@ -65,6 +65,7 @@ bool SetInfo(const AutofillType& type, const base::string16& value, const std::string& app_locale) override; + void GetSupportedTypes(ServerFieldTypeSet* supported_types) const override; // How this card is stored. RecordType record_type() const { return record_type_; } @@ -191,9 +192,6 @@ private: typedef std::vector<const FormGroup*> FormGroupList; - // FormGroup: - void GetSupportedTypes(ServerFieldTypeSet* supported_types) const override; - // Creates inferred labels for |profiles| at indices corresponding to // |indices|, and stores the results to the corresponding elements of // |labels|. These labels include enough fields to differentiate among the
diff --git a/components/cast_channel/cast_socket.h b/components/cast_channel/cast_socket.h index e51d26f2..566993b 100644 --- a/components/cast_channel/cast_socket.h +++ b/components/cast_channel/cast_socket.h
@@ -234,16 +234,8 @@ void Connect(); private: - FRIEND_TEST_ALL_PREFIXES(CastSocketTest, TestConnectAuthMessageCorrupted); - FRIEND_TEST_ALL_PREFIXES(CastSocketTest, - TestConnectChallengeReplyReceiveError); - FRIEND_TEST_ALL_PREFIXES(CastSocketTest, - TestConnectChallengeVerificationFails); - FRIEND_TEST_ALL_PREFIXES(CastSocketTest, TestObservers); + FRIEND_TEST_ALL_PREFIXES(MockCastSocketTest, TestObservers); friend class AuthTransportDelegate; - friend class CastSocketMessageDelegate; - friend class CastSocketTest; - friend class TestCastSocket; void SetErrorState(ChannelError error_state) override;
diff --git a/components/cast_channel/cast_socket_unittest.cc b/components/cast_channel/cast_socket_unittest.cc index bc4ae28..dc40a43 100644 --- a/components/cast_channel/cast_socket_unittest.cc +++ b/components/cast_channel/cast_socket_unittest.cc
@@ -9,11 +9,13 @@ #include <utility> #include <vector> +#include "base/files/file_util.h" #include "base/location.h" #include "base/macros.h" #include "base/memory/ptr_util.h" #include "base/memory/weak_ptr.h" #include "base/message_loop/message_loop.h" +#include "base/path_service.h" #include "base/run_loop.h" #include "base/single_thread_task_runner.h" #include "base/strings/string_number_conversions.h" @@ -27,13 +29,20 @@ #include "components/cast_channel/cast_transport.h" #include "components/cast_channel/logger.h" #include "components/cast_channel/proto/cast_channel.pb.h" +#include "content/public/test/test_browser_thread_bundle.h" +#include "crypto/rsa_private_key.h" #include "net/base/address_list.h" #include "net/base/net_errors.h" +#include "net/cert/pem_tokenizer.h" +#include "net/log/net_log_source.h" #include "net/log/test_net_log.h" #include "net/socket/socket_test_util.h" #include "net/socket/ssl_client_socket.h" +#include "net/socket/ssl_server_socket.h" #include "net/socket/tcp_client_socket.h" +#include "net/socket/tcp_server_socket.h" #include "net/ssl/ssl_info.h" +#include "net/ssl/ssl_server_config.h" #include "net/test/cert_test_util.h" #include "net/test/test_data_directory.h" #include "testing/gmock/include/gmock/gmock.h" @@ -41,7 +50,6 @@ const int64_t kDistantTimeoutMillis = 100000; // 100 seconds (never hit). -using ::testing::_; using ::testing::A; using ::testing::DoAll; using ::testing::Invoke; @@ -49,8 +57,10 @@ using ::testing::NotNull; using ::testing::Return; using ::testing::SaveArg; +using ::testing::_; namespace cast_channel { +namespace { const char kAuthNamespace[] = "urn:x-cast:com.google.cast.tp.deviceauth"; // Returns an auth challenge message inline. @@ -83,6 +93,16 @@ return test_message; } +base::FilePath GetTestCertsDirectory() { + base::FilePath path; + PathService::Get(base::DIR_SOURCE_ROOT, &path); + path = path.Append(FILE_PATH_LITERAL("components")); + path = path.Append(FILE_PATH_LITERAL("test")); + path = path.Append(FILE_PATH_LITERAL("data")); + path = path.Append(FILE_PATH_LITERAL("cast_channel")); + return path; +} + class MockTCPSocket : public net::TCPClientSocket { public: explicit MockTCPSocket(const net::MockConnect& connect_data) @@ -142,18 +162,6 @@ DISALLOW_COPY_AND_ASSIGN(MockTCPSocket); }; -class MockDelegate : public CastTransport::Delegate { - public: - MockDelegate() {} - virtual ~MockDelegate() {} - MOCK_METHOD1(OnError, void(ChannelError error_state)); - MOCK_METHOD1(OnMessage, void(const CastMessage& message)); - MOCK_METHOD0(Start, void()); - - private: - DISALLOW_COPY_AND_ASSIGN(MockDelegate); -}; - class CompleteHandler { public: CompleteHandler() {} @@ -167,31 +175,23 @@ DISALLOW_COPY_AND_ASSIGN(CompleteHandler); }; -class TestCastSocket : public CastSocketImpl { +class TestCastSocketBase : public CastSocketImpl { public: - static std::unique_ptr<TestCastSocket> CreateSecure( - Logger* logger, - uint64_t device_capabilities = cast_channel::CastDeviceCapability::NONE) { - return std::unique_ptr<TestCastSocket>( - new TestCastSocket(CreateIPEndPointForTest(), kDistantTimeoutMillis, - logger, device_capabilities)); - } + TestCastSocketBase(const net::IPEndPoint& ip_endpoint, + int64_t timeout_ms, + Logger* logger, + uint64_t device_capabilities) + : TestCastSocketBase(ip_endpoint, + timeout_ms, + logger, + new net::TestNetLog(), + device_capabilities) {} - TestCastSocket(const net::IPEndPoint& ip_endpoint, - int64_t timeout_ms, - Logger* logger, - uint64_t device_capabilities) - : TestCastSocket(ip_endpoint, - timeout_ms, - logger, - new net::TestNetLog(), - device_capabilities) {} - - TestCastSocket(const net::IPEndPoint& ip_endpoint, - int64_t timeout_ms, - Logger* logger, - net::TestNetLog* capturing_net_log, - uint64_t device_capabilities) + TestCastSocketBase(const net::IPEndPoint& ip_endpoint, + int64_t timeout_ms, + Logger* logger, + net::TestNetLog* capturing_net_log, + uint64_t device_capabilities) : CastSocketImpl(ip_endpoint, capturing_net_log, base::TimeDelta::FromMilliseconds(timeout_ms), @@ -205,11 +205,66 @@ extract_cert_result_(true), verify_challenge_result_(true), verify_challenge_disallow_(false), - tcp_unresponsive_(false), - mock_timer_(new base::MockTimer(false, false)), - mock_transport_(nullptr) {} + mock_timer_(new base::MockTimer(false, false)) {} - ~TestCastSocket() override {} + void SetExtractCertResult(bool value) { extract_cert_result_ = value; } + + void SetVerifyChallengeResult(bool value) { + verify_challenge_result_ = value; + } + + void TriggerTimeout() { mock_timer_->Fire(); } + + bool TestVerifyChannelPolicyNone() { + AuthResult authResult; + return VerifyChannelPolicy(authResult); + } + + void DisallowVerifyChallengeResult() { verify_challenge_disallow_ = true; } + + protected: + ~TestCastSocketBase() override {} + + scoped_refptr<net::X509Certificate> ExtractPeerCert() override { + return extract_cert_result_ + ? net::ImportCertFromFile(GetTestCertsDirectory(), + "self_signed.pem") + : nullptr; + } + + bool VerifyChallengeReply() override { + EXPECT_FALSE(verify_challenge_disallow_); + return verify_challenge_result_; + } + + base::Timer* GetTimer() override { return mock_timer_.get(); } + + std::unique_ptr<net::TestNetLog> capturing_net_log_; + net::IPEndPoint ip_; + // Simulated result of peer cert extraction. + bool extract_cert_result_; + // Simulated result of verifying challenge reply. + bool verify_challenge_result_; + bool verify_challenge_disallow_; + std::unique_ptr<base::MockTimer> mock_timer_; + + private: + DISALLOW_COPY_AND_ASSIGN(TestCastSocketBase); +}; + +class MockTestCastSocket : public TestCastSocketBase { + public: + static std::unique_ptr<MockTestCastSocket> CreateSecure( + Logger* logger, + uint64_t device_capabilities = cast_channel::CastDeviceCapability::NONE) { + return std::unique_ptr<MockTestCastSocket>( + new MockTestCastSocket(CreateIPEndPointForTest(), kDistantTimeoutMillis, + logger, device_capabilities)); + } + + using TestCastSocketBase::TestCastSocketBase; + + ~MockTestCastSocket() override {} void SetupMockTransport() { mock_transport_ = new MockCastTransport; @@ -218,10 +273,10 @@ // Socket connection helpers. void SetupTcpConnect(net::IoMode mode, int result) { - tcp_connect_data_.reset(new net::MockConnect(mode, result)); + tcp_connect_data_.reset(new net::MockConnect(mode, result, ip_)); } void SetupSslConnect(net::IoMode mode, int result) { - ssl_connect_data_.reset(new net::MockConnect(mode, result)); + ssl_connect_data_.reset(new net::MockConnect(mode, result, ip_)); } // Socket I/O helpers. @@ -243,27 +298,12 @@ // Helpers for modifying other connection-related behaviors. void SetupTcpConnectUnresponsive() { tcp_unresponsive_ = true; } - void SetExtractCertResult(bool value) { extract_cert_result_ = value; } - - void SetVerifyChallengeResult(bool value) { - verify_challenge_result_ = value; - } - - void TriggerTimeout() { mock_timer_->Fire(); } - - bool TestVerifyChannelPolicyNone() { - AuthResult authResult; - return VerifyChannelPolicy(authResult); - } - bool TestVerifyChannelPolicyAudioOnly() { AuthResult authResult; authResult.channel_policies |= AuthResult::POLICY_AUDIO_ONLY; return VerifyChannelPolicy(authResult); } - void DisallowVerifyChallengeResult() { verify_challenge_disallow_ = true; } - MockCastTransport* GetMockTransport() { CHECK(mock_transport_); return mock_transport_; @@ -274,42 +314,21 @@ if (tcp_unresponsive_) { return std::unique_ptr<net::TCPClientSocket>(new MockTCPSocket(true)); } else { - net::MockConnect* connect_data = tcp_connect_data_.get(); - connect_data->peer_addr = ip_; return std::unique_ptr<net::TCPClientSocket>( - new MockTCPSocket(*connect_data)); + new MockTCPSocket(*tcp_connect_data_)); } } std::unique_ptr<net::SSLClientSocket> CreateSslSocket( - std::unique_ptr<net::StreamSocket> socket) override { - net::MockConnect* connect_data = ssl_connect_data_.get(); - connect_data->peer_addr = ip_; - + std::unique_ptr<net::StreamSocket>) override { ssl_data_.reset(new net::StaticSocketDataProvider( reads_.data(), reads_.size(), writes_.data(), writes_.size())); - ssl_data_->set_connect_data(*connect_data); + ssl_data_->set_connect_data(*ssl_connect_data_); // NOTE: net::MockTCPClientSocket inherits from net::SSLClientSocket !! return std::unique_ptr<net::SSLClientSocket>(new net::MockTCPClientSocket( net::AddressList(), capturing_net_log_.get(), ssl_data_.get())); } - scoped_refptr<net::X509Certificate> ExtractPeerCert() override { - return extract_cert_result_ - ? net::ImportCertFromFile(net::GetTestCertsDirectory(), - "ok_cert.pem") - : nullptr; - } - - bool VerifyChallengeReply() override { - EXPECT_FALSE(verify_challenge_disallow_); - return verify_challenge_result_; - } - - base::Timer* GetTimer() override { return mock_timer_.get(); } - - std::unique_ptr<net::TestNetLog> capturing_net_log_; - net::IPEndPoint ip_; // Simulated connect data std::unique_ptr<net::MockConnect> tcp_connect_data_; std::unique_ptr<net::MockConnect> ssl_connect_data_; @@ -317,27 +336,66 @@ std::vector<net::MockWrite> writes_; std::vector<net::MockRead> reads_; std::unique_ptr<net::SocketDataProvider> ssl_data_; - // Simulated result of peer cert extraction. - bool extract_cert_result_; - // Simulated result of verifying challenge reply. - bool verify_challenge_result_; - bool verify_challenge_disallow_; // If true, makes TCP connection process stall. For timeout testing. - bool tcp_unresponsive_; - std::unique_ptr<base::MockTimer> mock_timer_; - MockCastTransport* mock_transport_; + bool tcp_unresponsive_ = false; + MockCastTransport* mock_transport_ = nullptr; - DISALLOW_COPY_AND_ASSIGN(TestCastSocket); + DISALLOW_COPY_AND_ASSIGN(MockTestCastSocket); }; -class CastSocketTest : public testing::Test { +class SslTestCastSocket : public TestCastSocketBase { public: - CastSocketTest() - : logger_(new Logger()), observer_(new MockCastSocketObserver()) {} - ~CastSocketTest() override {} + static std::unique_ptr<SslTestCastSocket> CreateSecure( + Logger* logger, + uint64_t device_capabilities = cast_channel::CastDeviceCapability::NONE) { + return std::unique_ptr<SslTestCastSocket>( + new SslTestCastSocket(CreateIPEndPointForTest(), kDistantTimeoutMillis, + logger, device_capabilities)); + } + + using TestCastSocketBase::TestCastSocketBase; + + void SetTcpSocket(std::unique_ptr<net::TCPClientSocket> tcp_client_socket) { + tcp_client_socket_ = std::move(tcp_client_socket); + } + + private: + std::unique_ptr<net::TCPClientSocket> CreateTcpSocket() override { + return std::move(tcp_client_socket_); + } + + std::unique_ptr<net::TCPClientSocket> tcp_client_socket_; +}; + +class CastSocketTestBase : public testing::Test { + protected: + CastSocketTestBase() + : thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP), + logger_(new Logger()), + observer_(new MockCastSocketObserver()) {} + ~CastSocketTestBase() override {} void SetUp() override { EXPECT_CALL(*observer_, OnMessage(_, _)).Times(0); } + // Runs all pending tasks in the message loop. + void RunPendingTasks() { + base::RunLoop run_loop; + run_loop.RunUntilIdle(); + } + + content::TestBrowserThreadBundle thread_bundle_; + Logger* logger_; + CompleteHandler handler_; + std::unique_ptr<MockCastSocketObserver> observer_; + + private: + DISALLOW_COPY_AND_ASSIGN(CastSocketTestBase); +}; + +class MockCastSocketTest : public CastSocketTestBase { + protected: + MockCastSocketTest() {} + void TearDown() override { if (socket_.get()) { EXPECT_CALL(handler_, OnCloseComplete(net::OK)); @@ -347,7 +405,7 @@ } void CreateCastSocketSecure() { - socket_ = TestCastSocket::CreateSecure(logger_); + socket_ = MockTestCastSocket::CreateSecure(logger_); } void HandleAuthHandshake() { @@ -358,6 +416,7 @@ .WillOnce(PostCompletionCallbackTask<1>(net::OK)); EXPECT_CALL(*socket_->GetMockTransport(), Start()); EXPECT_CALL(handler_, OnConnectComplete(_, ChannelError::NONE)); + socket_->AddObserver(observer_.get()); socket_->Connect(base::Bind(&CompleteHandler::OnConnectComplete, base::Unretained(&handler_))); RunPendingTasks(); @@ -366,23 +425,161 @@ RunPendingTasks(); } - protected: - // Runs all pending tasks in the message loop. - void RunPendingTasks() { - base::RunLoop run_loop; - run_loop.RunUntilIdle(); - } - - base::MessageLoop message_loop_; - Logger* logger_; - std::unique_ptr<TestCastSocket> socket_; - CompleteHandler handler_; - std::unique_ptr<MockCastSocketObserver> observer_; + std::unique_ptr<MockTestCastSocket> socket_; private: - DISALLOW_COPY_AND_ASSIGN(CastSocketTest); + DISALLOW_COPY_AND_ASSIGN(MockCastSocketTest); }; +class SslCastSocketTest : public CastSocketTestBase { + protected: + SslCastSocketTest() {} + + void TearDown() override { + if (socket_.get()) { + EXPECT_CALL(handler_, OnCloseComplete(net::OK)); + socket_->Close(base::Bind(&CompleteHandler::OnCloseComplete, + base::Unretained(&handler_))); + } + } + + void CreateSockets() { + socket_ = SslTestCastSocket::CreateSecure(logger_); + + server_cert_ = + net::ImportCertFromFile(GetTestCertsDirectory(), "self_signed.pem"); + ASSERT_TRUE(server_cert_); + server_private_key_ = ReadTestKeyFromPEM("self_signed.pem"); + ASSERT_TRUE(server_private_key_); + server_context_ = CreateSSLServerContext( + server_cert_.get(), *server_private_key_, server_ssl_config_); + + tcp_server_socket_.reset( + new net::TCPServerSocket(nullptr, net::NetLogSource())); + ASSERT_EQ(net::OK, + tcp_server_socket_->ListenWithAddressAndPort("127.0.0.1", 0, 1)); + net::IPEndPoint server_address; + ASSERT_EQ(net::OK, tcp_server_socket_->GetLocalAddress(&server_address)); + tcp_client_socket_.reset( + new net::TCPClientSocket(net::AddressList(server_address), nullptr, + nullptr, net::NetLogSource())); + + std::unique_ptr<net::StreamSocket> accepted_socket; + accept_result_ = tcp_server_socket_->Accept( + &accepted_socket, base::Bind(&SslCastSocketTest::TcpAcceptCallback, + base::Unretained(this))); + connect_result_ = tcp_client_socket_->Connect(base::Bind( + &SslCastSocketTest::TcpConnectCallback, base::Unretained(this))); + while (accept_result_ == net::ERR_IO_PENDING || + connect_result_ == net::ERR_IO_PENDING) { + RunPendingTasks(); + } + ASSERT_EQ(net::OK, accept_result_); + ASSERT_EQ(net::OK, connect_result_); + ASSERT_TRUE(accepted_socket); + ASSERT_TRUE(tcp_client_socket_->IsConnected()); + + server_socket_ = + server_context_->CreateSSLServerSocket(std::move(accepted_socket)); + ASSERT_TRUE(server_socket_); + + socket_->SetTcpSocket(std::move(tcp_client_socket_)); + } + + void ConnectSockets() { + socket_->AddObserver(observer_.get()); + socket_->Connect(base::Bind(&CompleteHandler::OnConnectComplete, + base::Unretained(&handler_))); + + net::TestCompletionCallback handshake_callback; + int server_ret = handshake_callback.GetResult( + server_socket_->Handshake(handshake_callback.callback())); + + ASSERT_EQ(net::OK, server_ret); + } + + void TcpAcceptCallback(int result) { accept_result_ = result; } + + void TcpConnectCallback(int result) { connect_result_ = result; } + + std::unique_ptr<crypto::RSAPrivateKey> ReadTestKeyFromPEM( + const base::StringPiece& name) { + base::FilePath key_path = GetTestCertsDirectory().AppendASCII(name); + std::vector<std::string> headers({"PRIVATE KEY"}); + std::string pem_data; + if (!base::ReadFileToString(key_path, &pem_data)) { + return nullptr; + } + net::PEMTokenizer pem_tokenizer(pem_data, headers); + if (!pem_tokenizer.GetNext()) { + return nullptr; + } + std::vector<uint8_t> key_vector(pem_tokenizer.data().begin(), + pem_tokenizer.data().end()); + std::unique_ptr<crypto::RSAPrivateKey> key( + crypto::RSAPrivateKey::CreateFromPrivateKeyInfo(key_vector)); + return key; + } + + int ReadExactLength(net::IOBuffer* buffer, + int buffer_length, + net::Socket* socket) { + scoped_refptr<net::DrainableIOBuffer> draining_buffer( + new net::DrainableIOBuffer(buffer, buffer_length)); + while (draining_buffer->BytesRemaining() > 0) { + net::TestCompletionCallback read_callback; + int read_result = read_callback.GetResult(server_socket_->Read( + draining_buffer.get(), draining_buffer->BytesRemaining(), + read_callback.callback())); + EXPECT_GT(read_result, 0); + draining_buffer->DidConsume(read_result); + } + return buffer_length; + } + + int WriteExactLength(net::IOBuffer* buffer, + int buffer_length, + net::Socket* socket) { + scoped_refptr<net::DrainableIOBuffer> draining_buffer( + new net::DrainableIOBuffer(buffer, buffer_length)); + while (draining_buffer->BytesRemaining() > 0) { + net::TestCompletionCallback write_callback; + int write_result = write_callback.GetResult(server_socket_->Write( + draining_buffer.get(), draining_buffer->BytesRemaining(), + write_callback.callback())); + EXPECT_GT(write_result, 0); + draining_buffer->DidConsume(write_result); + } + return buffer_length; + } + + // Result values used for TCP socket setup. These should contain values from + // net::Error. + int accept_result_; + int connect_result_; + + // Underlying TCP sockets for |socket_| to communicate with |server_socket_| + // when testing with the real SSL implementation. + std::unique_ptr<net::TCPClientSocket> tcp_client_socket_; + std::unique_ptr<net::TCPServerSocket> tcp_server_socket_; + + std::unique_ptr<SslTestCastSocket> socket_; + + // |server_socket_| is used for the *RealSSL tests in order to test the + // CastSocket over a real SSL socket. The other members below are used to + // initialize |server_socket_|. + std::unique_ptr<net::SSLServerSocket> server_socket_; + std::unique_ptr<net::SSLServerContext> server_context_; + std::unique_ptr<crypto::RSAPrivateKey> server_private_key_; + scoped_refptr<net::X509Certificate> server_cert_; + net::SSLServerConfig server_ssl_config_; + + private: + DISALLOW_COPY_AND_ASSIGN(SslCastSocketTest); +}; + +} // namespace + // Tests that the following connection flow works: // - TCP connection succeeds (async) // - SSL connection succeeds (async) @@ -390,7 +587,7 @@ // - Challenge request is sent (async) // - Challenge response is received (async) // - Credentials are verified successfuly -TEST_F(CastSocketTest, TestConnectFullSecureFlowAsync) { +TEST_F(MockCastSocketTest, TestConnectFullSecureFlowAsync) { CreateCastSocketSecure(); socket_->SetupTcpConnect(net::ASYNC, net::OK); socket_->SetupSslConnect(net::ASYNC, net::OK); @@ -408,7 +605,7 @@ // - Challenge request is sent (sync) // - Challenge response is received (sync) // - Credentials are verified successfuly -TEST_F(CastSocketTest, TestConnectFullSecureFlowSync) { +TEST_F(MockCastSocketTest, TestConnectFullSecureFlowSync) { CreateCastSocketSecure(); socket_->SetupTcpConnect(net::SYNCHRONOUS, net::OK); socket_->SetupSslConnect(net::SYNCHRONOUS, net::OK); @@ -421,7 +618,7 @@ // Test that an AuthMessage with a mangled namespace triggers cancelation // of the connection event loop. -TEST_F(CastSocketTest, TestConnectAuthMessageCorrupted) { +TEST_F(MockCastSocketTest, TestConnectAuthMessageCorrupted) { CreateCastSocketSecure(); socket_->SetupMockTransport(); @@ -453,7 +650,7 @@ } // Test connection error - TCP connect fails (async) -TEST_F(CastSocketTest, TestConnectTcpConnectErrorAsync) { +TEST_F(MockCastSocketTest, TestConnectTcpConnectErrorAsync) { CreateCastSocketSecure(); socket_->SetupTcpConnect(net::ASYNC, net::ERR_FAILED); @@ -468,7 +665,7 @@ } // Test connection error - TCP connect fails (sync) -TEST_F(CastSocketTest, TestConnectTcpConnectErrorSync) { +TEST_F(MockCastSocketTest, TestConnectTcpConnectErrorSync) { CreateCastSocketSecure(); socket_->SetupTcpConnect(net::SYNCHRONOUS, net::ERR_FAILED); @@ -483,7 +680,7 @@ } // Test connection error - timeout -TEST_F(CastSocketTest, TestConnectTcpTimeoutError) { +TEST_F(MockCastSocketTest, TestConnectTcpTimeoutError) { CreateCastSocketSecure(); socket_->SetupTcpConnectUnresponsive(); EXPECT_CALL(handler_, OnConnectComplete(_, ChannelError::CONNECT_TIMEOUT)); @@ -503,7 +700,7 @@ } // Test connection error - TCP socket returns timeout -TEST_F(CastSocketTest, TestConnectTcpSocketTimeoutError) { +TEST_F(MockCastSocketTest, TestConnectTcpSocketTimeoutError) { CreateCastSocketSecure(); socket_->SetupTcpConnect(net::SYNCHRONOUS, net::ERR_CONNECTION_TIMED_OUT); EXPECT_CALL(handler_, OnConnectComplete(_, ChannelError::CONNECT_TIMEOUT)); @@ -520,7 +717,7 @@ } // Test connection error - SSL connect fails (async) -TEST_F(CastSocketTest, TestConnectSslConnectErrorAsync) { +TEST_F(MockCastSocketTest, TestConnectSslConnectErrorAsync) { CreateCastSocketSecure(); socket_->SetupTcpConnect(net::SYNCHRONOUS, net::OK); @@ -537,7 +734,7 @@ } // Test connection error - SSL connect fails (sync) -TEST_F(CastSocketTest, TestConnectSslConnectErrorSync) { +TEST_F(MockCastSocketTest, TestConnectSslConnectErrorSync) { CreateCastSocketSecure(); socket_->SetupTcpConnect(net::SYNCHRONOUS, net::OK); @@ -556,7 +753,7 @@ } // Test connection error - SSL connect times out (sync) -TEST_F(CastSocketTest, TestConnectSslConnectTimeoutSync) { +TEST_F(MockCastSocketTest, TestConnectSslConnectTimeoutSync) { CreateCastSocketSecure(); socket_->SetupTcpConnect(net::SYNCHRONOUS, net::OK); @@ -574,7 +771,7 @@ } // Test connection error - SSL connect times out (async) -TEST_F(CastSocketTest, TestConnectSslConnectTimeoutAsync) { +TEST_F(MockCastSocketTest, TestConnectSslConnectTimeoutAsync) { CreateCastSocketSecure(); socket_->SetupTcpConnect(net::ASYNC, net::OK); @@ -590,7 +787,7 @@ } // Test connection error - challenge send fails -TEST_F(CastSocketTest, TestConnectChallengeSendError) { +TEST_F(MockCastSocketTest, TestConnectChallengeSendError) { CreateCastSocketSecure(); socket_->SetupMockTransport(); @@ -611,7 +808,7 @@ // Test connection error - connection is destroyed after the challenge is // sent, with the async result still lurking in the task queue. -TEST_F(CastSocketTest, TestConnectDestroyedAfterChallengeSent) { +TEST_F(MockCastSocketTest, TestConnectDestroyedAfterChallengeSent) { CreateCastSocketSecure(); socket_->SetupMockTransport(); socket_->SetupTcpConnect(net::SYNCHRONOUS, net::OK); @@ -626,7 +823,7 @@ } // Test connection error - challenge reply receive fails -TEST_F(CastSocketTest, TestConnectChallengeReplyReceiveError) { +TEST_F(MockCastSocketTest, TestConnectChallengeReplyReceiveError) { CreateCastSocketSecure(); socket_->SetupMockTransport(); @@ -651,7 +848,7 @@ EXPECT_EQ(ChannelError::CAST_SOCKET_ERROR, socket_->error_state()); } -TEST_F(CastSocketTest, TestConnectChallengeVerificationFails) { +TEST_F(MockCastSocketTest, TestConnectChallengeVerificationFails) { CreateCastSocketSecure(); socket_->SetupMockTransport(); socket_->SetupTcpConnect(net::ASYNC, net::OK); @@ -679,7 +876,7 @@ // Sends message data through an actual non-mocked CastTransport object, // testing the two components in integration. -TEST_F(CastSocketTest, TestConnectEndToEndWithRealTransportAsync) { +TEST_F(MockCastSocketTest, TestConnectEndToEndWithRealTransportAsync) { CreateCastSocketSecure(); socket_->SetupTcpConnect(net::ASYNC, net::OK); socket_->SetupSslConnect(net::ASYNC, net::OK); @@ -721,7 +918,7 @@ } // Same as TestConnectEndToEndWithRealTransportAsync, except synchronous. -TEST_F(CastSocketTest, TestConnectEndToEndWithRealTransportSync) { +TEST_F(MockCastSocketTest, TestConnectEndToEndWithRealTransportSync) { CreateCastSocketSecure(); socket_->SetupTcpConnect(net::SYNCHRONOUS, net::OK); socket_->SetupSslConnect(net::SYNCHRONOUS, net::OK); @@ -762,7 +959,7 @@ EXPECT_EQ(ChannelError::NONE, socket_->error_state()); } -TEST_F(CastSocketTest, TestObservers) { +TEST_F(MockCastSocketTest, TestObservers) { CreateCastSocketSecure(); // Test AddObserever MockCastSocketObserver observer1; @@ -779,7 +976,7 @@ delegate.OnError(cast_channel::ChannelError::CONNECT_ERROR); } -TEST_F(CastSocketTest, TestOpenChannelConnectingSocket) { +TEST_F(MockCastSocketTest, TestOpenChannelConnectingSocket) { CreateCastSocketSecure(); socket_->SetupTcpConnectUnresponsive(); socket_->Connect(base::Bind(&CompleteHandler::OnConnectComplete, @@ -794,7 +991,7 @@ RunPendingTasks(); } -TEST_F(CastSocketTest, TestOpenChannelConnectedSocket) { +TEST_F(MockCastSocketTest, TestOpenChannelConnectedSocket) { CreateCastSocketSecure(); socket_->SetupTcpConnect(net::ASYNC, net::OK); socket_->SetupSslConnect(net::ASYNC, net::OK); @@ -806,7 +1003,7 @@ base::Unretained(&handler_))); } -TEST_F(CastSocketTest, TestOpenChannelClosedSocket) { +TEST_F(MockCastSocketTest, TestOpenChannelClosedSocket) { CreateCastSocketSecure(); socket_->SetupTcpConnect(net::ASYNC, net::ERR_FAILED); @@ -820,4 +1017,108 @@ base::Unretained(&handler_))); } +// Tests connecting through an actual non-mocked CastTransport object and +// non-mocked SSLClientSocket, testing the components in integration. +TEST_F(SslCastSocketTest, TestConnectEndToEndWithRealSSL) { + CreateSockets(); + ConnectSockets(); + + // Set low-level auth challenge expectations. + CastMessage challenge = CreateAuthChallenge(); + std::string challenge_str; + EXPECT_TRUE(MessageFramer::Serialize(challenge, &challenge_str)); + + int challenge_buffer_length = challenge_str.size(); + scoped_refptr<net::IOBuffer> challenge_buffer( + new net::IOBuffer(challenge_buffer_length)); + int read = ReadExactLength(challenge_buffer.get(), challenge_buffer_length, + server_socket_.get()); + + EXPECT_EQ(challenge_buffer_length, read); + EXPECT_EQ(challenge_str, + std::string(challenge_buffer->data(), challenge_buffer_length)); + + // Set low-level auth reply expectations. + CastMessage reply = CreateAuthReply(); + std::string reply_str; + EXPECT_TRUE(MessageFramer::Serialize(reply, &reply_str)); + + scoped_refptr<net::StringIOBuffer> reply_buffer( + new net::StringIOBuffer(reply_str)); + int written = WriteExactLength(reply_buffer.get(), reply_buffer->size(), + server_socket_.get()); + + EXPECT_EQ(reply_buffer->size(), written); + EXPECT_CALL(handler_, OnConnectComplete(_, ChannelError::NONE)); + RunPendingTasks(); + + EXPECT_EQ(ReadyState::OPEN, socket_->ready_state()); + EXPECT_EQ(ChannelError::NONE, socket_->error_state()); +} + +// Sends message data through an actual non-mocked CastTransport object and +// non-mocked SSLClientSocket, testing the components in integration. +TEST_F(SslCastSocketTest, TestMessageEndToEndWithRealSSL) { + CreateSockets(); + ConnectSockets(); + + // Set low-level auth challenge expectations. + CastMessage challenge = CreateAuthChallenge(); + std::string challenge_str; + EXPECT_TRUE(MessageFramer::Serialize(challenge, &challenge_str)); + + int challenge_buffer_length = challenge_str.size(); + scoped_refptr<net::IOBuffer> challenge_buffer( + new net::IOBuffer(challenge_buffer_length)); + + int read = ReadExactLength(challenge_buffer.get(), challenge_buffer_length, + server_socket_.get()); + + EXPECT_EQ(challenge_buffer_length, read); + EXPECT_EQ(challenge_str, + std::string(challenge_buffer->data(), challenge_buffer_length)); + + // Set low-level auth reply expectations. + CastMessage reply = CreateAuthReply(); + std::string reply_str; + EXPECT_TRUE(MessageFramer::Serialize(reply, &reply_str)); + + scoped_refptr<net::StringIOBuffer> reply_buffer( + new net::StringIOBuffer(reply_str)); + int written = WriteExactLength(reply_buffer.get(), reply_buffer->size(), + server_socket_.get()); + + EXPECT_EQ(reply_buffer->size(), written); + EXPECT_CALL(handler_, OnConnectComplete(_, ChannelError::NONE)); + RunPendingTasks(); + + EXPECT_EQ(ReadyState::OPEN, socket_->ready_state()); + EXPECT_EQ(ChannelError::NONE, socket_->error_state()); + + // Send a test message through the ssl socket. + CastMessage test_message = CreateTestMessage(); + std::string test_message_str; + EXPECT_TRUE(MessageFramer::Serialize(test_message, &test_message_str)); + + int test_message_length = test_message_str.size(); + scoped_refptr<net::IOBuffer> test_message_buffer( + new net::IOBuffer(test_message_length)); + + EXPECT_CALL(handler_, OnWriteComplete(net::OK)); + socket_->transport()->SendMessage( + test_message, base::Bind(&CompleteHandler::OnWriteComplete, + base::Unretained(&handler_))); + RunPendingTasks(); + + read = ReadExactLength(test_message_buffer.get(), test_message_length, + server_socket_.get()); + + EXPECT_EQ(test_message_length, read); + EXPECT_EQ(test_message_str, + std::string(test_message_buffer->data(), test_message_length)); + + EXPECT_EQ(ReadyState::OPEN, socket_->ready_state()); + EXPECT_EQ(ChannelError::NONE, socket_->error_state()); +} + } // namespace cast_channel
diff --git a/components/cryptauth/ble/bluetooth_low_energy_weave_client_connection.cc b/components/cryptauth/ble/bluetooth_low_energy_weave_client_connection.cc index 30364b7..97230be 100644 --- a/components/cryptauth/ble/bluetooth_low_energy_weave_client_connection.cc +++ b/components/cryptauth/ble/bluetooth_low_energy_weave_client_connection.cc
@@ -359,7 +359,7 @@ device::BluetoothDevice::ConnectErrorCode error_code) { DCHECK(sub_status_ == SubStatus::WAITING_GATT_CONNECTION); PA_LOG(WARNING) << "Error creating GATT connection to " - << remote_device().bluetooth_address + << remote_device().GetTruncatedDeviceIdForLogs() << ". Error code: " << error_code; DestroyConnection(); }
diff --git a/components/exo/keyboard_unittest.cc b/components/exo/keyboard_unittest.cc index c82c7c6..74fed6ea 100644 --- a/components/exo/keyboard_unittest.cc +++ b/components/exo/keyboard_unittest.cc
@@ -2,17 +2,21 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include "components/exo/keyboard.h" + #include "ash/shell.h" +#include "ash/wm/maximize_mode/maximize_mode_controller.h" #include "base/macros.h" #include "components/exo/buffer.h" -#include "components/exo/keyboard.h" #include "components/exo/keyboard_delegate.h" +#include "components/exo/keyboard_device_configuration_delegate.h" #include "components/exo/shell_surface.h" #include "components/exo/surface.h" #include "components/exo/test/exo_test_base.h" #include "components/exo/test/exo_test_helper.h" #include "testing/gmock/include/gmock/gmock.h" #include "ui/aura/client/focus_client.h" +#include "ui/events/devices/device_data_manager.h" #include "ui/events/keycodes/dom/dom_code.h" #include "ui/events/test/event_generator.h" @@ -35,6 +39,16 @@ MOCK_METHOD1(OnKeyboardModifiers, void(int)); }; +class MockKeyboardDeviceConfigurationDelegate + : public KeyboardDeviceConfigurationDelegate { + public: + MockKeyboardDeviceConfigurationDelegate() {} + + // Overridden from KeyboardDeviceConfigurationDelegate: + MOCK_METHOD1(OnKeyboardDestroying, void(Keyboard*)); + MOCK_METHOD1(OnKeyboardTypeChanged, void(bool)); +}; + TEST_F(KeyboardTest, OnKeyboardEnter) { std::unique_ptr<Surface> surface(new Surface); std::unique_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get())); @@ -189,5 +203,54 @@ keyboard.reset(); } +TEST_F(KeyboardTest, OnKeyboardTypeChanged) { + std::unique_ptr<Surface> surface(new Surface); + std::unique_ptr<ShellSurface> shell_surface(new ShellSurface(surface.get())); + gfx::Size buffer_size(10, 10); + std::unique_ptr<Buffer> buffer( + new Buffer(exo_test_helper()->CreateGpuMemoryBuffer(buffer_size))); + surface->Attach(buffer.get()); + surface->Commit(); + + aura::client::FocusClient* focus_client = + aura::client::GetFocusClient(ash::Shell::GetPrimaryRootWindow()); + focus_client->FocusWindow(nullptr); + + ui::DeviceDataManager* device_data_manager = + ui::DeviceDataManager::GetInstance(); + ASSERT_TRUE(device_data_manager != nullptr); + const std::vector<ui::InputDevice> keyboards = + device_data_manager->GetKeyboardDevices(); + + ash::MaximizeModeController* maximize_mode_controller = + ash::Shell::Get()->maximize_mode_controller(); + maximize_mode_controller->EnableMaximizeModeWindowManager(true); + + MockKeyboardDelegate delegate; + std::unique_ptr<Keyboard> keyboard(new Keyboard(&delegate)); + MockKeyboardDeviceConfigurationDelegate configuration_delegate; + + EXPECT_CALL(configuration_delegate, OnKeyboardTypeChanged(true)); + keyboard->SetDeviceConfigurationDelegate(&configuration_delegate); + EXPECT_TRUE(keyboard->HasDeviceConfigurationDelegate()); + + // Removing all keyboard devices in maximize mode calls + // OnKeyboardTypeChanged() with false. + EXPECT_CALL(configuration_delegate, OnKeyboardTypeChanged(false)); + static_cast<ui::DeviceHotplugEventObserver*>(device_data_manager) + ->OnKeyboardDevicesUpdated(std::vector<ui::InputDevice>({})); + + // Re-adding keyboards calls OnKeyboardTypeChanged() with true; + EXPECT_CALL(configuration_delegate, OnKeyboardTypeChanged(true)); + static_cast<ui::DeviceHotplugEventObserver*>(device_data_manager) + ->OnKeyboardDevicesUpdated(keyboards); + + EXPECT_CALL(delegate, OnKeyboardDestroying(keyboard.get())); + EXPECT_CALL(configuration_delegate, OnKeyboardDestroying(keyboard.get())); + keyboard.reset(); + + maximize_mode_controller->EnableMaximizeModeWindowManager(false); +} + } // namespace } // namespace exo
diff --git a/components/leveldb/leveldb_app.cc b/components/leveldb/leveldb_app.cc index cd5447e..c39ae28 100644 --- a/components/leveldb/leveldb_app.cc +++ b/components/leveldb/leveldb_app.cc
@@ -4,12 +4,15 @@ #include "components/leveldb/leveldb_app.h" +#include "base/task_scheduler/post_task.h" #include "components/leveldb/leveldb_service_impl.h" #include "services/service_manager/public/cpp/service_context.h" namespace leveldb { -LevelDBApp::LevelDBApp() : file_thread_("LevelDBFile") { +LevelDBApp::LevelDBApp() + : file_task_runner_(base::CreateSequencedTaskRunnerWithTraits( + {base::MayBlock(), base::TaskShutdownBehavior::BLOCK_SHUTDOWN})) { registry_.AddInterface<mojom::LevelDBService>( base::Bind(&LevelDBApp::Create, base::Unretained(this))); } @@ -29,10 +32,7 @@ void LevelDBApp::Create(const service_manager::BindSourceInfo& source_info, leveldb::mojom::LevelDBServiceRequest request) { if (!service_) { - if (!file_thread_.IsRunning()) - file_thread_.Start(); - service_.reset( - new LevelDBServiceImpl(file_thread_.message_loop()->task_runner())); + service_.reset(new LevelDBServiceImpl(file_task_runner_)); } bindings_.AddBinding(service_.get(), std::move(request)); }
diff --git a/components/leveldb/leveldb_app.h b/components/leveldb/leveldb_app.h index 78d542b3..dd1ed71 100644 --- a/components/leveldb/leveldb_app.h +++ b/components/leveldb/leveldb_app.h
@@ -7,12 +7,15 @@ #include <memory> -#include "base/threading/thread.h" #include "components/leveldb/public/interfaces/leveldb.mojom.h" #include "mojo/public/cpp/bindings/binding_set.h" #include "services/service_manager/public/cpp/binder_registry.h" #include "services/service_manager/public/cpp/service.h" +namespace base { +class SequencedTaskRunner; +} + namespace leveldb { class LevelDBApp : public service_manager::Service { @@ -34,7 +37,7 @@ service_manager::BinderRegistry registry_; mojo::BindingSet<mojom::LevelDBService> bindings_; - base::Thread file_thread_; + scoped_refptr<base::SequencedTaskRunner> file_task_runner_; DISALLOW_COPY_AND_ASSIGN(LevelDBApp); };
diff --git a/components/leveldb/leveldb_database_impl.cc b/components/leveldb/leveldb_database_impl.cc index 02b1a2d..d8ae4e2 100644 --- a/components/leveldb/leveldb_database_impl.cc +++ b/components/leveldb/leveldb_database_impl.cc
@@ -48,8 +48,10 @@ cache_(std::move(cache)), db_(std::move(db)), memory_dump_id_(memory_dump_id) { - base::trace_event::MemoryDumpManager::GetInstance()->RegisterDumpProvider( - this, "MojoLevelDB", base::ThreadTaskRunnerHandle::Get()); + base::trace_event::MemoryDumpManager::GetInstance() + ->RegisterDumpProviderWithSequencedTaskRunner( + this, "MojoLevelDB", base::SequencedTaskRunnerHandle::Get(), + MemoryDumpProvider::Options()); } LevelDBDatabaseImpl::~LevelDBDatabaseImpl() {
diff --git a/components/leveldb/leveldb_mojo_proxy.cc b/components/leveldb/leveldb_mojo_proxy.cc index 791e7bb8..5c78d33 100644 --- a/components/leveldb/leveldb_mojo_proxy.cc +++ b/components/leveldb/leveldb_mojo_proxy.cc
@@ -8,7 +8,6 @@ #include "base/bind.h" #include "base/callback.h" -#include "base/single_thread_task_runner.h" #include "mojo/public/cpp/bindings/interface_request.h" #include "mojo/public/cpp/bindings/sync_call_restrictions.h" @@ -28,9 +27,9 @@ }; LevelDBMojoProxy::LevelDBMojoProxy( - scoped_refptr<base::SingleThreadTaskRunner> task_runner) + scoped_refptr<base::SequencedTaskRunner> task_runner) : task_runner_(std::move(task_runner)), outstanding_opaque_dirs_(0) { - DCHECK(!task_runner_->BelongsToCurrentThread()); + DCHECK(!task_runner_->RunsTasksInCurrentSequence()); } LevelDBMojoProxy::OpaqueDir* LevelDBMojoProxy::RegisterDirectory( @@ -144,7 +143,7 @@ } void LevelDBMojoProxy::RunInternal(const base::Closure& task) { - if (task_runner_->BelongsToCurrentThread()) { + if (task_runner_->RunsTasksInCurrentSequence()) { task.Run(); } else { base::WaitableEvent done_event(
diff --git a/components/leveldb/leveldb_mojo_proxy.h b/components/leveldb/leveldb_mojo_proxy.h index 2eef1a4..4b5e0ad 100644 --- a/components/leveldb/leveldb_mojo_proxy.h +++ b/components/leveldb/leveldb_mojo_proxy.h
@@ -14,13 +14,11 @@ #include "base/callback_forward.h" #include "base/files/file.h" #include "base/memory/ref_counted.h" +#include "base/sequenced_task_runner.h" + #include "base/synchronization/waitable_event.h" #include "components/filesystem/public/interfaces/directory.mojom.h" -namespace base { -class SingleThreadTaskRunner; -} - namespace leveldb { // A proxy for thread safe access to Mojo objects from multiple threads. @@ -35,7 +33,7 @@ class LevelDBMojoProxy : public base::RefCountedThreadSafe<LevelDBMojoProxy> { public: explicit LevelDBMojoProxy( - scoped_refptr<base::SingleThreadTaskRunner> task_runner); + scoped_refptr<base::SequencedTaskRunner> task_runner); // A private struct to hide the underlying file that holds the lock from our // callers, forcing them to go through our LockFile()/UnlockFile() interface @@ -152,9 +150,9 @@ void UnlockFileImpl(std::unique_ptr<OpaqueLock> lock, filesystem::mojom::FileError* out_error); - // The task runner which represents the thread that all mojo objects are + // The task runner which represents the sequence that all mojo objects are // bound to. - scoped_refptr<base::SingleThreadTaskRunner> task_runner_; + scoped_refptr<base::SequencedTaskRunner> task_runner_; int outstanding_opaque_dirs_;
diff --git a/components/leveldb/leveldb_service_impl.cc b/components/leveldb/leveldb_service_impl.cc index ba1d7f1..a26f0ba 100644 --- a/components/leveldb/leveldb_service_impl.cc +++ b/components/leveldb/leveldb_service_impl.cc
@@ -22,7 +22,7 @@ namespace leveldb { LevelDBServiceImpl::LevelDBServiceImpl( - scoped_refptr<base::SingleThreadTaskRunner> file_task_runner) + scoped_refptr<base::SequencedTaskRunner> file_task_runner) : thread_(new LevelDBMojoProxy(std::move(file_task_runner))) {} LevelDBServiceImpl::~LevelDBServiceImpl() {}
diff --git a/components/leveldb/leveldb_service_impl.h b/components/leveldb/leveldb_service_impl.h index 364b6190..1d5fab0 100644 --- a/components/leveldb/leveldb_service_impl.h +++ b/components/leveldb/leveldb_service_impl.h
@@ -6,11 +6,14 @@ #define COMPONENTS_LEVELDB_LEVELDB_SERVICE_IMPL_H_ #include "base/memory/ref_counted.h" -#include "base/single_thread_task_runner.h" #include "components/leveldb/leveldb_mojo_proxy.h" #include "components/leveldb/public/interfaces/leveldb.mojom.h" #include "mojo/public/cpp/bindings/binding_set.h" +namespace base { +class SequencedTaskRunner; +} + namespace leveldb { // Creates LevelDBDatabases based scoped to a |directory|/|dbname|. @@ -19,8 +22,7 @@ // The |file_task_runner| is used to run tasks to interact with the // file_service. Specifically this task runner must NOT be the same as the // task runner this implementation runs on, or deadlock might occur. - LevelDBServiceImpl( - scoped_refptr<base::SingleThreadTaskRunner> file_task_runner); + LevelDBServiceImpl(scoped_refptr<base::SequencedTaskRunner> file_task_runner); ~LevelDBServiceImpl() override; // Overridden from LevelDBService:
diff --git a/components/metrics/file_metrics_provider.cc b/components/metrics/file_metrics_provider.cc index e11cc53..c3745b1 100644 --- a/components/metrics/file_metrics_provider.cc +++ b/components/metrics/file_metrics_provider.cc
@@ -17,6 +17,8 @@ #include "base/metrics/persistent_memory_allocator.h" #include "base/strings/string_piece.h" #include "base/task_runner.h" +#include "base/task_scheduler/post_task.h" +#include "base/task_scheduler/task_traits.h" #include "base/time/time.h" #include "components/metrics/metrics_pref_names.h" #include "components/metrics/metrics_service.h" @@ -93,6 +95,20 @@ base::File::FLAG_DELETE_ON_CLOSE); } +// A task runner to use for testing. +base::TaskRunner* g_task_runner_for_testing = nullptr; + +// Returns a task runner appropriate for running background tasks that perform +// file I/O. +scoped_refptr<base::TaskRunner> CreateBackgroundTaskRunner() { + if (g_task_runner_for_testing) + return scoped_refptr<base::TaskRunner>(g_task_runner_for_testing); + + return base::CreateTaskRunnerWithTraits( + {base::MayBlock(), base::TaskPriority::BACKGROUND, + base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN}); +} + } // namespace // This structure stores all the information about the sources being monitored @@ -133,10 +149,8 @@ DISALLOW_COPY_AND_ASSIGN(SourceInfo); }; -FileMetricsProvider::FileMetricsProvider( - const scoped_refptr<base::TaskRunner>& task_runner, - PrefService* local_state) - : task_runner_(task_runner), +FileMetricsProvider::FileMetricsProvider(PrefService* local_state) + : task_runner_(CreateBackgroundTaskRunner()), pref_service_(local_state), weak_factory_(this) { base::StatisticsRecorder::RegisterHistogramProvider( @@ -149,7 +163,7 @@ SourceType type, SourceAssociation source_association, const base::StringPiece prefs_key) { - DCHECK(thread_checker_.CalledOnValidThread()); + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); // Ensure that kSourceOptions has been filled for this type. DCHECK_GT(arraysize(kSourceOptions), static_cast<size_t>(type)); @@ -198,6 +212,13 @@ } // static +void FileMetricsProvider::SetTaskRunnerForTesting( + const scoped_refptr<base::TaskRunner>& task_runner) { + DCHECK(!g_task_runner_for_testing); + g_task_runner_for_testing = task_runner.get(); +} + +// static bool FileMetricsProvider::LocateNextFileInDirectory(SourceInfo* source) { DCHECK_EQ(SOURCE_HISTOGRAMS_ATOMIC_DIR, source->type); DCHECK(!source->directory.empty()); @@ -438,7 +459,7 @@ } void FileMetricsProvider::ScheduleSourcesCheck() { - DCHECK(thread_checker_.CalledOnValidThread()); + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); if (sources_to_check_.empty()) return; @@ -457,7 +478,7 @@ } void FileMetricsProvider::RecordSourcesChecked(SourceInfoList* checked) { - DCHECK(thread_checker_.CalledOnValidThread()); + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); // Sources that still have an allocator at this point are read/write "active" // files that may need their contents merged on-demand. If there is no @@ -498,7 +519,7 @@ } void FileMetricsProvider::RecordSourceAsRead(SourceInfo* source) { - DCHECK(thread_checker_.CalledOnValidThread()); + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); // Persistently record the "last seen" timestamp of the source file to // ensure that the file is never read again unless it is modified again. @@ -510,7 +531,7 @@ } void FileMetricsProvider::OnDidCreateMetricsLog() { - DCHECK(thread_checker_.CalledOnValidThread()); + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); // Schedule a check to see if there are new metrics to load. If so, they // will be reported during the next collection run after this one. The @@ -531,7 +552,7 @@ bool FileMetricsProvider::ProvideIndependentMetrics( SystemProfileProto* system_profile_proto, base::HistogramSnapshotManager* snapshot_manager) { - DCHECK(thread_checker_.CalledOnValidThread()); + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); while (!sources_with_profile_.empty()) { SourceInfo* source = sources_with_profile_.begin()->get(); @@ -584,7 +605,7 @@ } bool FileMetricsProvider::HasInitialStabilityMetrics() { - DCHECK(thread_checker_.CalledOnValidThread()); + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); // Measure the total time spent checking all sources as well as the time // per individual file. This method is called during startup and thus blocks @@ -640,7 +661,7 @@ void FileMetricsProvider::RecordInitialHistogramSnapshots( base::HistogramSnapshotManager* snapshot_manager) { - DCHECK(thread_checker_.CalledOnValidThread()); + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); // Measure the total time spent processing all sources as well as the time // per individual file. This method is called during startup and thus blocks @@ -667,7 +688,7 @@ } void FileMetricsProvider::MergeHistogramDeltas() { - DCHECK(thread_checker_.CalledOnValidThread()); + DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); // Measure the total time spent processing all sources as well as the time // per individual file. This method is called on the UI thread so it's
diff --git a/components/metrics/file_metrics_provider.h b/components/metrics/file_metrics_provider.h index 6573475b..66ce266 100644 --- a/components/metrics/file_metrics_provider.h +++ b/components/metrics/file_metrics_provider.h
@@ -14,7 +14,7 @@ #include "base/gtest_prod_util.h" #include "base/memory/weak_ptr.h" #include "base/metrics/statistics_recorder.h" -#include "base/threading/thread_checker.h" +#include "base/sequence_checker.h" #include "base/time/time.h" #include "components/metrics/metrics_provider.h" @@ -97,8 +97,7 @@ ASSOCIATE_INTERNAL_PROFILE_OR_PREVIOUS_RUN, }; - FileMetricsProvider(const scoped_refptr<base::TaskRunner>& task_runner, - PrefService* local_state); + explicit FileMetricsProvider(PrefService* local_state); ~FileMetricsProvider() override; // Indicates a file or directory to be monitored and how the file or files @@ -119,6 +118,10 @@ static void RegisterPrefs(PrefRegistrySimple* prefs, const base::StringPiece prefs_key); + // Sets the task runner to use for testing. + static void SetTaskRunnerForTesting( + const scoped_refptr<base::TaskRunner>& task_runner); + private: friend class FileMetricsProviderTest; @@ -225,7 +228,7 @@ // The preferences-service used to store persistent state about sources. PrefService* pref_service_; - base::ThreadChecker thread_checker_; + SEQUENCE_CHECKER(sequence_checker_); base::WeakPtrFactory<FileMetricsProvider> weak_factory_; DISALLOW_COPY_AND_ASSIGN(FileMetricsProvider);
diff --git a/components/metrics/file_metrics_provider_unittest.cc b/components/metrics/file_metrics_provider_unittest.cc index a62ff632..982e28c 100644 --- a/components/metrics/file_metrics_provider_unittest.cc +++ b/components/metrics/file_metrics_provider_unittest.cc
@@ -87,6 +87,7 @@ prefs_(new TestingPrefServiceSimple) { EXPECT_TRUE(temp_dir_.CreateUniqueTempDir()); FileMetricsProvider::RegisterPrefs(prefs_->registry(), kMetricsName); + FileMetricsProvider::SetTaskRunnerForTesting(task_runner_); } ~FileMetricsProviderTest() override { @@ -106,7 +107,7 @@ FileMetricsProvider* provider() { if (!provider_) - provider_.reset(new FileMetricsProvider(task_runner_, prefs())); + provider_.reset(new FileMetricsProvider(prefs())); return provider_.get(); }
diff --git a/components/offline_pages/core/background/request_coordinator.cc b/components/offline_pages/core/background/request_coordinator.cc index 7e0882d..099a91f 100644 --- a/components/offline_pages/core/background/request_coordinator.cc +++ b/components/offline_pages/core/background/request_coordinator.cc
@@ -205,8 +205,11 @@ user_requested = other.user_requested; availability = other.availability; original_url = other.original_url; + request_origin = other.request_origin; } +RequestCoordinator::SavePageLaterParams::~SavePageLaterParams() = default; + RequestCoordinator::RequestCoordinator( std::unique_ptr<OfflinerPolicy> policy, std::unique_ptr<Offliner> offliner, @@ -263,6 +266,7 @@ id, save_page_later_params.url, save_page_later_params.client_id, base::Time::Now(), save_page_later_params.user_requested); request.set_original_url(save_page_later_params.original_url); + request.set_request_origin(save_page_later_params.request_origin); // If the download manager is not done with the request, put it on the // disabled list.
diff --git a/components/offline_pages/core/background/request_coordinator.h b/components/offline_pages/core/background/request_coordinator.h index 05a1bace..9f27623 100644 --- a/components/offline_pages/core/background/request_coordinator.h +++ b/components/offline_pages/core/background/request_coordinator.h
@@ -73,6 +73,7 @@ struct SavePageLaterParams { SavePageLaterParams(); SavePageLaterParams(const SavePageLaterParams& other); + ~SavePageLaterParams(); // The last committed URL of the page to save. GURL url; @@ -88,6 +89,9 @@ // The original URL of the page to save. Empty if no redirect occurs. GURL original_url; + + // The origin of the request, if any. + std::string request_origin; }; // Callback specifying which request IDs were actually removed.
diff --git a/components/offline_pages/core/background/request_coordinator_unittest.cc b/components/offline_pages/core/background/request_coordinator_unittest.cc index 9291c18..d16f9d5 100644 --- a/components/offline_pages/core/background/request_coordinator_unittest.cc +++ b/components/offline_pages/core/background/request_coordinator_unittest.cc
@@ -52,6 +52,7 @@ const bool kPowerRequired = true; const bool kUserRequested = true; const int kAttemptCount = 1; +const std::string kRequestOrigin("abc.xyz"); } // namespace class ObserverStub : public RequestCoordinator::Observer { @@ -266,6 +267,7 @@ params.url = kUrl1; params.client_id = kClientId1; params.user_requested = kUserRequested; + params.request_origin = kRequestOrigin; return coordinator()->SavePageLater(params); } @@ -276,6 +278,7 @@ params.client_id = kClientId1; params.user_requested = kUserRequested; params.availability = availability; + params.request_origin = kRequestOrigin; return coordinator()->SavePageLater(params); } @@ -564,6 +567,7 @@ params.url = kUrl1; params.client_id = kClientId1; params.original_url = kUrl2; + params.request_origin = kRequestOrigin; EXPECT_NE(0, coordinator()->SavePageLater(params)); // Expect that a request got placed on the queue. @@ -583,6 +587,7 @@ EXPECT_EQ(kClientId1, last_requests().at(0)->client_id()); EXPECT_TRUE(last_requests().at(0)->user_requested()); EXPECT_EQ(kUrl2, last_requests().at(0)->original_url()); + EXPECT_EQ(kRequestOrigin, last_requests().at(0)->request_origin()); // Expect that the scheduler got notified. SchedulerStub* scheduler_stub =
diff --git a/components/password_manager/core/browser/fake_form_fetcher.cc b/components/password_manager/core/browser/fake_form_fetcher.cc index 7e7911c..fcac389 100644 --- a/components/password_manager/core/browser/fake_form_fetcher.cc +++ b/components/password_manager/core/browser/fake_form_fetcher.cc
@@ -4,6 +4,7 @@ #include "components/password_manager/core/browser/fake_form_fetcher.h" +#include "base/memory/ptr_util.h" #include "components/autofill/core/common/password_form.h" #include "components/password_manager/core/browser/statistics_table.h" @@ -70,7 +71,7 @@ } std::unique_ptr<FormFetcher> FakeFormFetcher::Clone() { - return nullptr; + return base::MakeUnique<FakeFormFetcher>(); } } // namespace password_manager
diff --git a/components/password_manager/core/browser/fake_form_fetcher.h b/components/password_manager/core/browser/fake_form_fetcher.h index d7c64a32..0d507c1 100644 --- a/components/password_manager/core/browser/fake_form_fetcher.h +++ b/components/password_manager/core/browser/fake_form_fetcher.h
@@ -96,7 +96,7 @@ // Only sets the internal state to WAITING, no call to PasswordStore. void Fetch() override; - // A no-op, returns null. + // Returns a new FakeFormFetcher. std::unique_ptr<FormFetcher> Clone() override; private:
diff --git a/components/password_manager/core/browser/form_fetcher.h b/components/password_manager/core/browser/form_fetcher.h index 22bcd52..b7a862a 100644 --- a/components/password_manager/core/browser/form_fetcher.h +++ b/components/password_manager/core/browser/form_fetcher.h
@@ -114,8 +114,7 @@ virtual void Fetch() = 0; // Creates a copy of |*this| with contains the same credentials without the - // need for calling Fetch(). Only call this if GetState() returns NOT_WAITING, - // otherwise the original FormFetcher does not have any data to be cloned. + // need for calling Fetch(). virtual std::unique_ptr<FormFetcher> Clone() = 0; private:
diff --git a/components/password_manager/core/browser/form_fetcher_impl.cc b/components/password_manager/core/browser/form_fetcher_impl.cc index c8127b0..543580e 100644 --- a/components/password_manager/core/browser/form_fetcher_impl.cc +++ b/components/password_manager/core/browser/form_fetcher_impl.cc
@@ -269,13 +269,17 @@ } std::unique_ptr<FormFetcher> FormFetcherImpl::Clone() { - DCHECK_EQ(State::NOT_WAITING, state_); - // Create the copy without the "HTTPS migration" activated. If it was needed, // then it was done by |this| already. auto result = base::MakeUnique<FormFetcherImpl>( form_digest_, client_, false, should_query_suppressed_forms_); + if (state_ != State::NOT_WAITING) { + // There are no store results to copy, trigger a Fetch on the clone instead. + result->Fetch(); + return std::move(result); + } + result->non_federated_ = MakeCopies(this->non_federated_); result->federated_ = MakeCopies(this->federated_); result->interactions_stats_ = this->interactions_stats_; @@ -299,7 +303,6 @@ result->state_ = this->state_; result->need_to_refetch_ = this->need_to_refetch_; - // TODO(crbug.com/703565): remove std::move() once Xcode 9.0+ is required. return std::move(result); }
diff --git a/components/password_manager/core/browser/password_form_manager.cc b/components/password_manager/core/browser/password_form_manager.cc index a32ea407..54bcfa36 100644 --- a/components/password_manager/core/browser/password_form_manager.cc +++ b/components/password_manager/core/browser/password_form_manager.cc
@@ -239,8 +239,12 @@ true /* should_query_suppressed_https_forms */)), form_fetcher_(form_fetcher ? form_fetcher : owned_form_fetcher_.get()), is_main_frame_secure_(client->IsMainFrameSecure()) { - DCHECK_EQ(observed_form.scheme == PasswordForm::SCHEME_HTML, - driver != nullptr); + // Non-HTML forms should not need any interaction with the renderer, and hence + // no driver. Note that cloned PasswordFormManager instances can have HTML + // forms without drivers as well. + DCHECK((observed_form.scheme == PasswordForm::SCHEME_HTML) || + (driver == nullptr)) + << observed_form.scheme; if (driver) drivers_.push_back(driver); } @@ -1287,6 +1291,63 @@ form_fetcher_->AddConsumer(this); } +std::unique_ptr<PasswordFormManager> PasswordFormManager::Clone() { + // Fetcher is cloned to avoid re-fetching data from PasswordStore. + std::unique_ptr<FormFetcher> fetcher = form_fetcher_->Clone(); + + // Some data is filled through the constructor. No PasswordManagerDriver is + // needed, because the UI does not need any functionality related to the + // renderer process, to which the driver serves as an interface. The full + // |observed_form_| needs to be copied, because it is used to created the + // blacklisting entry if needed. + auto result = base::MakeUnique<PasswordFormManager>( + password_manager_, client_, base::WeakPtr<PasswordManagerDriver>(), + observed_form_, form_saver_->Clone(), fetcher.get()); + result->Init(metrics_recorder_); + + // The constructor only can take a weak pointer to the fetcher, so moving the + // owning one needs to happen explicitly. + result->GrabFetcher(std::move(fetcher)); + + // |best_matches_| are skipped, because those are regenerated from the new + // fetcher automatically. + + // These data members all satisfy: + // (1) They could have been changed by |*this| between its construction and + // calling Clone(). + // (2) They are potentially used in the clone as the clone is used in the UI + // code. + // (3) They are not changed during ProcessMatches, triggered at some point + // by the cloned FormFetcher. + if (submitted_form_) + result->submitted_form_ = base::MakeUnique<PasswordForm>(*submitted_form_); + result->other_possible_username_action_ = other_possible_username_action_; + if (username_correction_vote_) { + result->username_correction_vote_ = + base::MakeUnique<PasswordForm>(*username_correction_vote_); + } + result->pending_credentials_ = pending_credentials_; + result->is_new_login_ = is_new_login_; + result->has_autofilled_ = has_autofilled_; + result->has_generated_password_ = has_generated_password_; + result->generated_password_changed_ = generated_password_changed_; + result->is_manual_generation_ = is_manual_generation_; + result->generation_element_ = generation_element_; + result->generation_popup_was_shown_ = generation_popup_was_shown_; + result->form_classifier_outcome_ = form_classifier_outcome_; + result->generation_element_detected_by_classifier_ = + generation_element_detected_by_classifier_; + result->password_overridden_ = password_overridden_; + result->retry_password_form_password_update_ = + retry_password_form_password_update_; + result->selected_username_ = selected_username_; + result->is_possible_change_password_form_without_username_ = + is_possible_change_password_form_without_username_; + result->user_action_ = user_action_; + + return result; +} + void PasswordFormManager::SendVotesOnSave() { if (observed_form_.IsPossibleChangePasswordFormWithoutUsername()) return;
diff --git a/components/password_manager/core/browser/password_form_manager.h b/components/password_manager/core/browser/password_form_manager.h index 5adc2a8..32c6a5ef 100644 --- a/components/password_manager/core/browser/password_form_manager.h +++ b/components/password_manager/core/browser/password_form_manager.h
@@ -275,6 +275,13 @@ // adds itself as a consumer of the new one. void GrabFetcher(std::unique_ptr<FormFetcher> fetcher); + // Create a copy of |*this| which can be passed to the code handling + // save-password related UI. This omits some parts of the internal data, so + // the result is not identical to the original. + // TODO(crbug.com/739366): Replace with translating one appropriate class into + // another one. + std::unique_ptr<PasswordFormManager> Clone(); + protected: // FormFetcher::Consumer: void ProcessMatches(
diff --git a/components/password_manager/core/browser/password_form_manager_unittest.cc b/components/password_manager/core/browser/password_form_manager_unittest.cc index 907a2f7..a2a4545 100644 --- a/components/password_manager/core/browser/password_form_manager_unittest.cc +++ b/components/password_manager/core/browser/password_form_manager_unittest.cc
@@ -97,6 +97,10 @@ void(const autofill::PasswordForm& generated)); MOCK_METHOD0(RemovePresavedPassword, void()); + std::unique_ptr<FormSaver> Clone() override { + return base::MakeUnique<MockFormSaver>(); + } + // Convenience downcasting method. static MockFormSaver& Get(PasswordFormManager* form_manager) { return *static_cast<MockFormSaver*>(form_manager->form_saver()); @@ -110,6 +114,7 @@ public: MOCK_METHOD1(AddConsumer, void(Consumer*)); MOCK_METHOD1(RemoveConsumer, void(Consumer*)); + MOCK_METHOD0(Clone, std::unique_ptr<FormFetcher>()); }; MATCHER_P(CheckUsername, username_value, "Username incorrect") { @@ -3622,4 +3627,86 @@ "PasswordManager.SuppressedAccount.Manual.SameOrganizationName", 1); } +// Check that a cloned PasswordFormManager reacts correctly to Save. +TEST_F(PasswordFormManagerTest, Clone_OnSave) { + FakeFormFetcher fetcher; + auto form_manager = base::MakeUnique<PasswordFormManager>( + password_manager(), client(), client()->driver(), *observed_form(), + base::MakeUnique<MockFormSaver>(), &fetcher); + form_manager->Init(nullptr); + fetcher.SetNonFederated(std::vector<const PasswordForm*>(), 0u); + + PasswordForm saved_login = *observed_form(); + saved_login.username_value = ASCIIToUTF16("newuser"); + saved_login.password_value = ASCIIToUTF16("newpass"); + form_manager->ProvisionallySave( + saved_login, PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); + + const PasswordForm pending = form_manager->pending_credentials(); + + std::unique_ptr<PasswordFormManager> clone = form_manager->Clone(); + + PasswordForm passed; + EXPECT_CALL(MockFormSaver::Get(clone.get()), Save(_, IsEmpty(), nullptr)) + .WillOnce(SaveArg<0>(&passed)); + clone->Save(); + // The date is expected to be different. Reset it so that we can easily + // compare the rest with operator==. + passed.date_created = pending.date_created; + EXPECT_EQ(pending, passed); +} + +// Check that a cloned PasswordFormManager reacts correctly to OnNeverClicked. +TEST_F(PasswordFormManagerTest, Clone_OnNeverClicked) { + FakeFormFetcher fetcher; + auto form_manager = base::MakeUnique<PasswordFormManager>( + password_manager(), client(), client()->driver(), *observed_form(), + base::MakeUnique<MockFormSaver>(), &fetcher); + form_manager->Init(nullptr); + fetcher.SetNonFederated(std::vector<const PasswordForm*>(), 0u); + + PasswordForm saved_login = *observed_form(); + saved_login.username_value = ASCIIToUTF16("newuser"); + saved_login.password_value = ASCIIToUTF16("newpass"); + form_manager->ProvisionallySave( + saved_login, PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); + + std::unique_ptr<PasswordFormManager> clone = form_manager->Clone(); + + EXPECT_CALL(MockFormSaver::Get(clone.get()), + PermanentlyBlacklist(Pointee(*observed_form()))); + clone->OnNeverClicked(); +} + +// Check that a cloned PasswordFormManager works even after the original is +// gone. +TEST_F(PasswordFormManagerTest, Clone_SurvivesOriginal) { + FakeFormFetcher fetcher; + auto form_manager = base::MakeUnique<PasswordFormManager>( + password_manager(), client(), client()->driver(), *observed_form(), + base::MakeUnique<MockFormSaver>(), &fetcher); + fetcher.SetNonFederated(std::vector<const PasswordForm*>(), 0u); + form_manager->Init(nullptr); + + PasswordForm saved_login = *observed_form(); + saved_login.username_value = ASCIIToUTF16("newuser"); + saved_login.password_value = ASCIIToUTF16("newpass"); + form_manager->ProvisionallySave( + saved_login, PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); + + const PasswordForm pending = form_manager->pending_credentials(); + + std::unique_ptr<PasswordFormManager> clone = form_manager->Clone(); + form_manager.reset(); + + PasswordForm passed; + EXPECT_CALL(MockFormSaver::Get(clone.get()), Save(_, IsEmpty(), nullptr)) + .WillOnce(SaveArg<0>(&passed)); + clone->Save(); + // The date is expected to be different. Reset it so that we can easily + // compare the rest with operator==. + passed.date_created = pending.date_created; + EXPECT_EQ(pending, passed); +} + } // namespace password_manager
diff --git a/components/password_manager/core/browser/password_manager.cc b/components/password_manager/core/browser/password_manager.cc index c782635..d89ec30 100644 --- a/components/password_manager/core/browser/password_manager.cc +++ b/components/password_manager/core/browser/password_manager.cc
@@ -355,11 +355,7 @@ return; } - std::unique_ptr<PasswordFormManager> manager; - // Transfer ownership of the manager from |pending_login_managers_| to - // |manager|. - manager.swap(*matched_manager_it); - pending_login_managers_.erase(matched_manager_it); + std::unique_ptr<PasswordFormManager> manager = (*matched_manager_it)->Clone(); PasswordForm submitted_form(form); submitted_form.preferred = true;
diff --git a/components/password_manager/core/browser/password_manager_unittest.cc b/components/password_manager/core/browser/password_manager_unittest.cc index 6999bc91..12c762a4 100644 --- a/components/password_manager/core/browser/password_manager_unittest.cc +++ b/components/password_manager/core/browser/password_manager_unittest.cc
@@ -605,11 +605,12 @@ // |observed_form| and not the |stored_form| what is passed to ShouldSave. observed_form.username_element += ASCIIToUTF16("1"); observed.push_back(observed_form); - EXPECT_CALL(driver_, FillPasswordForm(_)).Times(2); // Simulate that |form| is already in the store, making this an update. EXPECT_CALL(*store_, GetLogins(_, _)) .WillRepeatedly(WithArg<1>(InvokeConsumer(stored_form))); + EXPECT_CALL(driver_, FillPasswordForm(_)); manager()->OnPasswordFormsParsed(&driver_, observed); + EXPECT_CALL(driver_, FillPasswordForm(_)); manager()->OnPasswordFormsRendered(&driver_, observed, true); // Submit form and finish navigation. @@ -629,6 +630,9 @@ EXPECT_CALL(*store_, UpdateLogin(_)); observed.clear(); manager()->OnPasswordFormsParsed(&driver_, observed); + // As the clone PasswordFormManager ends up saving the form, it triggers an + // update of the pending login managers, which in turn triggers new filling. + EXPECT_CALL(driver_, FillPasswordForm(_)); manager()->OnPasswordFormsRendered(&driver_, observed, true); } @@ -968,10 +972,13 @@ .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save))); manager()->OnInPageNavigation(&driver_, form); + ASSERT_TRUE(form_manager_to_save); // Simulate saving the form, as if the info bar was accepted. EXPECT_CALL(*store_, AddLogin(FormMatches(form))); - ASSERT_TRUE(form_manager_to_save); + // The Save() call triggers updating for |pending_login_managers_|, hence the + // further GetLogins call. + EXPECT_CALL(*store_, GetLogins(_, _)); form_manager_to_save->Save(); } @@ -1189,24 +1196,26 @@ PasswordForm form(MakeSimpleForm()); observed.push_back(form); - // No call-back from store after GetLogins is called emulates that - // PasswordStore did not fetch a form in time before submission. + // GetLogins calls remain unanswered to emulate that PasswordStore did not + // fetch a form in time before submission. EXPECT_CALL(*store_, GetLogins(_, _)); manager()->OnPasswordFormsParsed(&driver_, observed); manager()->OnPasswordFormsRendered(&driver_, observed, true); ASSERT_EQ(1u, manager()->pending_login_managers().size()); - PasswordFormManager* form_manager = - manager()->pending_login_managers().front().get(); + PasswordStoreConsumer* store_consumer = nullptr; EXPECT_CALL(client_, IsSavingAndFillingEnabledForCurrentPage()) .WillRepeatedly(Return(true)); + // This second call is from the new FormFetcher, which is cloned during + // ProvisionalSavePasswords. + EXPECT_CALL(*store_, GetLogins(_, _)).WillOnce(SaveArg<1>(&store_consumer)); OnPasswordFormSubmitted(form); // Emulate fetching password form from PasswordStore after submission but // before post-navigation load. - ASSERT_TRUE(form_manager); - static_cast<FormFetcherImpl*>(form_manager->form_fetcher()) - ->OnGetPasswordStoreResults(std::vector<std::unique_ptr<PasswordForm>>()); + ASSERT_TRUE(store_consumer); + store_consumer->OnGetPasswordStoreResults( + std::vector<std::unique_ptr<PasswordForm>>()); std::unique_ptr<PasswordFormManager> form_manager_to_save; EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
diff --git a/components/payments/core/BUILD.gn b/components/payments/core/BUILD.gn index 4b9d266..63fc2911 100644 --- a/components/payments/core/BUILD.gn +++ b/components/payments/core/BUILD.gn
@@ -17,6 +17,8 @@ "can_make_payment_query.h", "currency_formatter.cc", "currency_formatter.h", + "features.cc", + "features.h", "journey_logger.cc", "journey_logger.h", "payment_address.cc",
diff --git a/components/payments/core/features.cc b/components/payments/core/features.cc new file mode 100644 index 0000000..183396d --- /dev/null +++ b/components/payments/core/features.cc
@@ -0,0 +1,16 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/payments/core/features.h" + +namespace payments { +namespace features { + +#if defined(OS_IOS) +const base::Feature kWebPayments{"WebPayments", + base::FEATURE_DISABLED_BY_DEFAULT}; +#endif + +} // namespace features +} // namespace payments
diff --git a/components/payments/core/features.h b/components/payments/core/features.h new file mode 100644 index 0000000..ba5d702 --- /dev/null +++ b/components/payments/core/features.h
@@ -0,0 +1,22 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef COMPONENTS_PAYMENTS_CORE_FEATURES_H_ +#define COMPONENTS_PAYMENTS_CORE_FEATURES_H_ + +#include "base/feature_list.h" +#include "build/build_config.h" + +namespace payments { +namespace features { + +#if defined(OS_IOS) +// Used to control the state of the Payment Request API feature. +extern const base::Feature kWebPayments; +#endif + +} // namespace features +} // namespace payments + +#endif // COMPONENTS_PAYMENTS_CORE_FEATURES_H_
diff --git a/components/proximity_auth/unlock_manager_impl.cc b/components/proximity_auth/unlock_manager_impl.cc index 92afbace..c2af9d1c 100644 --- a/components/proximity_auth/unlock_manager_impl.cc +++ b/components/proximity_auth/unlock_manager_impl.cc
@@ -247,9 +247,6 @@ void UnlockManagerImpl::OnFocusedUserChanged(const AccountId& account_id) {} void UnlockManagerImpl::OnScreenLockedOrUnlocked(bool is_locked) { - // TODO(tengs): Chrome will only start connecting to the phone when - // the screen is locked, for privacy reasons. We should reinvestigate - // this behaviour if we want automatic locking. if (is_locked && bluetooth_adapter_ && bluetooth_adapter_->IsPowered() && life_cycle_ && life_cycle_->GetState() == @@ -351,8 +348,11 @@ } ScreenlockState UnlockManagerImpl::GetScreenlockState() { - if (!life_cycle_ || - life_cycle_->GetState() == RemoteDeviceLifeCycle::State::STOPPED) + if (!life_cycle_) + return ScreenlockState::INACTIVE; + + RemoteDeviceLifeCycle::State life_cycle_state = life_cycle_->GetState(); + if (life_cycle_state == RemoteDeviceLifeCycle::State::STOPPED) return ScreenlockState::INACTIVE; if (!bluetooth_adapter_ || !bluetooth_adapter_->IsPowered()) @@ -361,17 +361,19 @@ if (IsUnlockAllowed()) return ScreenlockState::AUTHENTICATED; - if (life_cycle_->GetState() == - RemoteDeviceLifeCycle::State::AUTHENTICATION_FAILED) + if (life_cycle_state == RemoteDeviceLifeCycle::State::AUTHENTICATION_FAILED) return ScreenlockState::PHONE_NOT_AUTHENTICATED; - if (is_waking_up_ || - life_cycle_->GetState() == RemoteDeviceLifeCycle::State::AUTHENTICATING || - life_cycle_->GetState() == - RemoteDeviceLifeCycle::State::FINDING_CONNECTION) + if (is_waking_up_) return ScreenlockState::BLUETOOTH_CONNECTING; Messenger* messenger = GetMessenger(); + + // Show a timeout state if we can not connect to the remote device in a + // reasonable amount of time. + if (!is_waking_up_ && !messenger) + return ScreenlockState::NO_PHONE; + if (screenlock_type_ == ProximityAuthSystem::SIGN_IN && messenger && !messenger->SupportsSignIn()) return ScreenlockState::PHONE_UNSUPPORTED;
diff --git a/components/proximity_auth/unlock_manager_impl_unittest.cc b/components/proximity_auth/unlock_manager_impl_unittest.cc index 9dc836f..e9131f5 100644 --- a/components/proximity_auth/unlock_manager_impl_unittest.cc +++ b/components/proximity_auth/unlock_manager_impl_unittest.cc
@@ -312,6 +312,8 @@ IsUnlockAllowed_SecureChannelNotEstablished) { CreateUnlockManager(ProximityAuthSystem::SESSION_LOCK); + life_cycle_.set_connection(nullptr); + life_cycle_.set_messenger(nullptr); unlock_manager_->SetRemoteDeviceLifeCycle(&life_cycle_); life_cycle_.ChangeState(RemoteDeviceLifeCycle::State::AUTHENTICATING); unlock_manager_->OnLifeCycleStateChanged(); @@ -427,6 +429,24 @@ } TEST_F(ProximityAuthUnlockManagerImplTest, + SetRemoteDeviceLifeCycle_TimesOutBeforeConnection) { + CreateUnlockManager(ProximityAuthSystem::SESSION_LOCK); + + life_cycle_.set_connection(nullptr); + life_cycle_.set_messenger(nullptr); + life_cycle_.ChangeState(RemoteDeviceLifeCycle::State::FINDING_CONNECTION); + + EXPECT_CALL(proximity_auth_client_, + UpdateScreenlockState(ScreenlockState::BLUETOOTH_CONNECTING)); + unlock_manager_->SetRemoteDeviceLifeCycle(&life_cycle_); + + EXPECT_CALL(proximity_auth_client_, + UpdateScreenlockState(ScreenlockState::NO_PHONE)); + // Simulate timing out before a connection is established. + RunPendingTasks(); +} + +TEST_F(ProximityAuthUnlockManagerImplTest, SetRemoteDeviceLifeCycle_NullRemoteDeviceLifeCycle_NoProximityMonitor) { CreateUnlockManager(ProximityAuthSystem::SESSION_LOCK); SimulateUserPresentState(); @@ -593,15 +613,15 @@ TEST_F(ProximityAuthUnlockManagerImplTest, OnScreenDidLock_SetsWakingUpState) { CreateUnlockManager(ProximityAuthSystem::SESSION_LOCK); - SimulateUserPresentState(); - - unlock_manager_.get()->OnScreenDidUnlock( - ScreenlockBridge::LockHandler::LOCK_SCREEN); EXPECT_CALL(proximity_auth_client_, UpdateScreenlockState(ScreenlockState::BLUETOOTH_CONNECTING)); life_cycle_.ChangeState(RemoteDeviceLifeCycle::State::FINDING_CONNECTION); + unlock_manager_->SetRemoteDeviceLifeCycle(&life_cycle_); + unlock_manager_.get()->OnScreenDidLock( + ScreenlockBridge::LockHandler::LOCK_SCREEN); + unlock_manager_->OnLifeCycleStateChanged(); }
diff --git a/components/safe_browsing/triggers/BUILD.gn b/components/safe_browsing/triggers/BUILD.gn index 55f53f1..96b53efa 100644 --- a/components/safe_browsing/triggers/BUILD.gn +++ b/components/safe_browsing/triggers/BUILD.gn
@@ -15,6 +15,7 @@ "//content/public/browser:browser", ] deps = [ + ":trigger_throttler", "//base:base", "//components/prefs:prefs", "//components/safe_browsing:safe_browsing", @@ -22,12 +23,24 @@ ] } +source_set("trigger_throttler") { + sources = [ + "trigger_throttler.cc", + "trigger_throttler.h", + ] + deps = [ + "//base:base", + ] +} + source_set("unit_tests") { testonly = true sources = [ "trigger_manager_unittest.cc", + "trigger_throttler_unittest.cc", ] deps = [ + ":trigger_throttler", ":triggers", "//base", "//chrome/test:test_support",
diff --git a/components/safe_browsing/triggers/trigger_manager.cc b/components/safe_browsing/triggers/trigger_manager.cc index 6899ff15..eeec916 100644 --- a/components/safe_browsing/triggers/trigger_manager.cc +++ b/components/safe_browsing/triggers/trigger_manager.cc
@@ -17,13 +17,17 @@ namespace { -bool CanStartDataCollection(const SBErrorOptions& error_display_options) { +bool CanStartDataCollection(const SBErrorOptions& error_display_options, + const TriggerThrottler& throttler, + const TriggerType trigger_type) { // We start data collection as long as user is not incognito and is able to - // change the Extended Reporting opt-in. We don't require them to be opted-in - // to SBER to begin collecting data, since they may be able to change the - // setting while data collection is running (eg: on a security interstitial). + // change the Extended Reporting opt-in, and the |trigger_type| has available + // quota. We don't require users to be opted-in to SBER to begin collecting + // data, since they may be able to change the setting while data collection is + // running (eg: on a security interstitial). return !error_display_options.is_off_the_record && - error_display_options.is_extended_reporting_opt_in_allowed; + error_display_options.is_extended_reporting_opt_in_allowed && + throttler.TriggerCanFire(trigger_type); } bool CanSendReport(const SBErrorOptions& error_display_options) { @@ -59,7 +63,7 @@ } bool TriggerManager::StartCollectingThreatDetails( - const SafeBrowsingTriggerType trigger_type, + const TriggerType trigger_type, content::WebContents* web_contents, const security_interstitials::UnsafeResource& resource, net::URLRequestContextGetter* request_context_getter, @@ -67,7 +71,8 @@ const SBErrorOptions& error_display_options) { DCHECK_CURRENTLY_ON(content::BrowserThread::UI); - if (!CanStartDataCollection(error_display_options)) + if (!CanStartDataCollection(error_display_options, trigger_throttler_, + trigger_type)) return false; // Ensure we're not already collecting data on this tab. @@ -85,7 +90,7 @@ } bool TriggerManager::FinishCollectingThreatDetails( - const SafeBrowsingTriggerType trigger_type, + const TriggerType trigger_type, content::WebContents* web_contents, const base::TimeDelta& delay, bool did_proceed, @@ -115,6 +120,9 @@ base::BindOnce(&ThreatDetails::FinishCollection, threat_details, did_proceed, num_visits), delay); + + // Record that this trigger fired and collected data. + trigger_throttler_.TriggerFired(trigger_type); } // Regardless of whether the report got sent, clean up the data collector on
diff --git a/components/safe_browsing/triggers/trigger_manager.h b/components/safe_browsing/triggers/trigger_manager.h index f78ce60..fcc0df6 100644 --- a/components/safe_browsing/triggers/trigger_manager.h +++ b/components/safe_browsing/triggers/trigger_manager.h
@@ -9,6 +9,7 @@ #include "base/macros.h" #include "base/memory/ref_counted.h" +#include "components/safe_browsing/triggers/trigger_throttler.h" #include "components/security_interstitials/content/unsafe_resource.h" #include "components/security_interstitials/core/base_safe_browsing_error_ui.h" #include "content/public/browser/web_contents.h" @@ -28,10 +29,6 @@ class BaseUIManager; class ThreatDetails; -enum class SafeBrowsingTriggerType { - SECURITY_INTERSTITIAL, -}; - // A wrapper around different kinds of data collectors that can be active on a // given browser tab. Any given field can be null or empty if the associated // data is not being collected. @@ -86,7 +83,7 @@ // should be created by TriggerManager::GetSBErrorDisplayOptions(). // Returns true if the collection began, or false if it didn't. bool StartCollectingThreatDetails( - const SafeBrowsingTriggerType trigger_type, + const TriggerType trigger_type, content::WebContents* web_contents, const security_interstitials::UnsafeResource& resource, net::URLRequestContextGetter* request_context_getter, @@ -104,7 +101,7 @@ // Returns true if the report was completed and sent, or false otherwise (eg: // the user was not opted-in to extended reporting after collection began). bool FinishCollectingThreatDetails( - const SafeBrowsingTriggerType trigger_type, + const TriggerType trigger_type, content::WebContents* web_contents, const base::TimeDelta& delay, bool did_proceed, @@ -121,6 +118,9 @@ // Map of the data collectors running on each tabs. DataCollectorsMap data_collectors_map_; + // Keeps track of how often triggers fire and throttles them when needed. + TriggerThrottler trigger_throttler_; + DISALLOW_COPY_AND_ASSIGN(TriggerManager); };
diff --git a/components/safe_browsing/triggers/trigger_manager_unittest.cc b/components/safe_browsing/triggers/trigger_manager_unittest.cc index 7261abdab..662f446a 100644 --- a/components/safe_browsing/triggers/trigger_manager_unittest.cc +++ b/components/safe_browsing/triggers/trigger_manager_unittest.cc
@@ -82,7 +82,7 @@ SBErrorOptions options = TriggerManager::GetSBErrorDisplayOptions(pref_service_, *web_contents); return trigger_manager_.StartCollectingThreatDetails( - SafeBrowsingTriggerType::SECURITY_INTERSTITIAL, web_contents, + TriggerType::SECURITY_INTERSTITIAL, web_contents, security_interstitials::UnsafeResource(), nullptr, nullptr, options); } @@ -97,8 +97,8 @@ SBErrorOptions options = TriggerManager::GetSBErrorDisplayOptions(pref_service_, *web_contents); return trigger_manager_.FinishCollectingThreatDetails( - SafeBrowsingTriggerType::SECURITY_INTERSTITIAL, web_contents, - base::TimeDelta(), false, 0, options); + TriggerType::SECURITY_INTERSTITIAL, web_contents, base::TimeDelta(), + false, 0, options); } const DataCollectorsMap& data_collectors_map() {
diff --git a/components/safe_browsing/triggers/trigger_throttler.cc b/components/safe_browsing/triggers/trigger_throttler.cc new file mode 100644 index 0000000..cb00346 --- /dev/null +++ b/components/safe_browsing/triggers/trigger_throttler.cc
@@ -0,0 +1,101 @@ +// Copyright (c) 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/safe_browsing/triggers/trigger_throttler.h" + +#include "base/stl_util.h" +#include "base/time/time.h" + +namespace safe_browsing { + +namespace { +const size_t kUnlimitedTriggerQuota = std::numeric_limits<size_t>::max(); +constexpr base::TimeDelta kOneDayTimeDelta = base::TimeDelta::FromDays(1); + +size_t GetDailyQuotaForTrigger(const TriggerType trigger_type) { + switch (trigger_type) { + case TriggerType::SECURITY_INTERSTITIAL: + return kUnlimitedTriggerQuota; + } + // By default, unhandled trigger types have no quota. + return 0; +} + +} // namespace + +TriggerThrottler::TriggerThrottler() {} + +TriggerThrottler::~TriggerThrottler() {} + +bool TriggerThrottler::TriggerCanFire(const TriggerType trigger_type) const { + // Lookup how many times this trigger is allowed to fire each day. + const size_t trigger_quota = GetDailyQuotaForTrigger(trigger_type); + + // Some basic corner cases for triggers that always fire, or disabled + // triggers that never fire. + if (trigger_quota == kUnlimitedTriggerQuota) + return true; + if (trigger_quota == 0) + return false; + + // Other triggers are capped, see how many times this trigger has already + // fired. + if (!base::ContainsKey(trigger_events_, trigger_type)) + return true; + + const std::vector<time_t>& timestamps = trigger_events_.at(trigger_type); + // More quota is available, so the trigger can fire again. + if (trigger_quota > timestamps.size()) + return true; + + // Otherwise, we have more events than quota, check which day they occured on. + // Newest events are at the end of vector so we can simply look at the + // Nth-from-last entry (where N is the quota) to see if it happened within + // the current day or earlier. + base::Time min_timestamp = base::Time::Now() - kOneDayTimeDelta; + const size_t pos = timestamps.size() - trigger_quota + 1; + return timestamps[pos] < min_timestamp.ToTimeT(); +} + +void TriggerThrottler::TriggerFired(const TriggerType trigger_type) { + // Lookup how many times this trigger is allowed to fire each day. + const size_t trigger_quota = GetDailyQuotaForTrigger(trigger_type); + + // For triggers that always fire, don't bother tracking quota. + if (trigger_quota == kUnlimitedTriggerQuota) + return; + + // Otherwise, record that the trigger fired. + std::vector<time_t>* timestamps = &trigger_events_[trigger_type]; + timestamps->push_back(base::Time::Now().ToTimeT()); + + // Clean up the trigger events map. + CleanupOldEvents(); +} + +void TriggerThrottler::CleanupOldEvents() { + for (const auto& map_iter : trigger_events_) { + const TriggerType trigger_type = map_iter.first; + const size_t trigger_quota = GetDailyQuotaForTrigger(trigger_type); + const std::vector<time_t>& trigger_times = map_iter.second; + + // Skip the cleanup if we have quota room, quotas should generally be small. + if (trigger_times.size() < trigger_quota) + return; + + std::vector<time_t> tmp_trigger_times; + base::Time min_timestamp = base::Time::Now() - kOneDayTimeDelta; + // Go over the event times for this trigger and keep timestamps which are + // newer than |min_timestamp|. We put timestamps in a temp vector that will + // get swapped into the map in place of the existing vector. + for (const time_t timestamp : trigger_times) { + if (timestamp > min_timestamp.ToTimeT()) + tmp_trigger_times.push_back(timestamp); + } + + trigger_events_[trigger_type].swap(tmp_trigger_times); + } +} + +} // namespace safe_browsing
diff --git a/components/safe_browsing/triggers/trigger_throttler.h b/components/safe_browsing/triggers/trigger_throttler.h new file mode 100644 index 0000000..33b588a --- /dev/null +++ b/components/safe_browsing/triggers/trigger_throttler.h
@@ -0,0 +1,58 @@ +// Copyright (c) 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef COMPONENTS_SAFE_BROWSING_TRIGGERS_TRIGGER_THROTTLER_H_ +#define COMPONENTS_SAFE_BROWSING_TRIGGERS_TRIGGER_THROTTLER_H_ + +#include <unordered_map> +#include <vector> + +#include "base/macros.h" +#include "base/time/time.h" + +namespace safe_browsing { + +enum class TriggerType { + SECURITY_INTERSTITIAL = 1, +}; + +struct TriggerTypeHash { + std::size_t operator()(TriggerType trigger_type) const { + return static_cast<std::size_t>(trigger_type); + }; +}; + +// A map for storing a list of event timestamps for different trigger types. +using TriggerTimestampMap = + std::unordered_map<TriggerType, std::vector<time_t>, TriggerTypeHash>; + +// TriggerThrottler keeps track of how often each type of trigger gets fired +// and throttles them if they fire too often. +class TriggerThrottler { + public: + TriggerThrottler(); + virtual ~TriggerThrottler(); + + // Check if the the specified |trigger_type| has quota available and is + // allowed to fire at this time. + bool TriggerCanFire(const TriggerType trigger_type) const; + + // Called to notify the throttler that a trigger has just fired and quota + // should be updated. + void TriggerFired(const TriggerType trigger_type); + + private: + // Called to periodically clean-up the list of event timestamps. + void CleanupOldEvents(); + + // Stores each trigger type that fired along with the timestamps of when it + // fired. + TriggerTimestampMap trigger_events_; + + DISALLOW_COPY_AND_ASSIGN(TriggerThrottler); +}; + +} // namespace safe_browsing + +#endif // COMPONENTS_SAFE_BROWSING_TRIGGERS_TRIGGER_THROTTLER_H_
diff --git a/components/safe_browsing/triggers/trigger_throttler_unittest.cc b/components/safe_browsing/triggers/trigger_throttler_unittest.cc new file mode 100644 index 0000000..1b01e72 --- /dev/null +++ b/components/safe_browsing/triggers/trigger_throttler_unittest.cc
@@ -0,0 +1,22 @@ +// Copyright (c) 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/safe_browsing/triggers/trigger_throttler.h" + +#include "testing/gtest/include/gtest/gtest.h" + +namespace safe_browsing { +namespace { + +TEST(TriggerThrottler, SecurityInterstitialsHaveUnlimitedQuota) { + // Make sure that security interstitials never run out of quota. + TriggerThrottler throttler; + for (int i = 0; i < 1000; ++i) { + throttler.TriggerFired(TriggerType::SECURITY_INTERSTITIAL); + EXPECT_TRUE(throttler.TriggerCanFire(TriggerType::SECURITY_INTERSTITIAL)); + } +} + +} // namespace +} // namespace safe_browsing
diff --git a/components/search_engines/template_url_fetcher.h b/components/search_engines/template_url_fetcher.h index c2c05ed..896c755 100644 --- a/components/search_engines/template_url_fetcher.h +++ b/components/search_engines/template_url_fetcher.h
@@ -6,11 +6,11 @@ #define COMPONENTS_SEARCH_ENGINES_TEMPLATE_URL_FETCHER_H_ #include <memory> +#include <vector> #include "base/callback_forward.h" #include "base/macros.h" #include "base/memory/ref_counted.h" -#include "base/memory/scoped_vector.h" #include "base/strings/string16.h" #include "components/keyed_service/core/keyed_service.h"
diff --git a/components/test/data/cast_channel/self_signed.pem b/components/test/data/cast_channel/self_signed.pem new file mode 100644 index 0000000..e1e598f --- /dev/null +++ b/components/test/data/cast_channel/self_signed.pem
@@ -0,0 +1,172 @@ +-----BEGIN PRIVATE KEY----- +MIIJQQIBADANBgkqhkiG9w0BAQEFAASCCSswggknAgEAAoICAQCvmgb1o92O4ckf +E79MEQZEN2ZZuzEPeRsvG4aPxZO/UHasKfLY4lk2voDmF7ZeD7GKa/xidVXl+xbV +ZhKckzG5LYwpnMc3Deeq7IW+iLEIPsPDkE7tNRKchmO8QkOhKiI4cq/JMiFPxYyj +T9HVRIJ2u+/WYWjJr7oy4eM+EmqHymJknhPl7PzTVC6fjglwh+t0EG35K7V829nj +zhe0/hPMgaLfTFAyR97RdPOMKwRujD5F0733173PYHy3ahac10rp+r5kMu3/ULOV +BQ6uQWjWQg69isdimNgH/dKW2Pj5UntfunCUmfH3nXHJUCiXZKdHGr3qqLnHdTeq +QH0nrcm4o2BQj2no8Mh3Sw7wYn9a7+Hsgj6CvNC5pkDo2mp2aUmwi82cPRkKidyu +RO6amM5NeQj3tVBtx7LrwcYSMQSLEgmdkz3JnYFj47+Je0twI7ONtqbxi72EKvsr ++ZN98XCX3RCjSsl4sDHqo/tDv2+eLb0QGEThE89j7YwiryegEGOGzrf9/D3P6bi4 +TQHmP3116zKaUvMixwhzxXg1+L1LcRQChHqhp/rb8GIA6Bd0ybzuZHkZm4srdK+x +4W2emMjgY3hHoBegRsJCyyvEF4oCM9NH4SvExs+gk537F7Q02CAGaMUlYvEqeGUe +Y0SQDGUvQ6CbuUMeRKucXRqQ0talvQIDAQABAoICACXw0bAhR62nex0L1zlINGJo +1eRtXZxKPmVfPSOzPMkJSZrJNX9G6J+7aX5NgUmxelq+GjnrwDOAnN5ev4a1BvlL +rg0Portydauojv0r65Qse3+1nlgCL5NCNipm5tXblKk9nl2KR0hFFq3ygRPjSYz9 +7kQTp+Br53827zJqKDpOsBOtU/9JxRakCa7PsZpuw6DALAK6PuxLVDi0PssMWprF +J7u3cVxryujWrAiNAtgf1RShO1phctFrt4aplVkt6zHCy4A6wNF5TlPUU+eymkQw +4Z5ybcIP5B1V6jpNhv3XpHB6h/iTioRFsGAewaZ0SPBEBuS8r+c4nF5csK3yDrNK +d3Yf7tA6AjuHxnd9KFn7UT6KZ6FdWGtqMqRWQeaRp6PKgzuFgTVHWlDWjdIoDoRo +Abp7zQJL3nrdXb8D1mZV7S3ulWbMUHlXjDs8z90rBd0f0XLOnR+CgmS349Wp/b7P +rnN6XyU2i+LBSSuWXRHl+L7dH5DNg9Rl0jxSBmsRrUZgWpwQzuTs7w5NoO1c8arp +ov6hsOc8kp2fzIPiKOyRFZ35KmeJK5YvV/iSYLYJ3oV9Lxp/Y1aO0q50nRtK7cPr +Pxv87NrDhhN3bt2iu6Y+RoSYaO1J5kt2v587RyzCdQlRwXVIU6OlPY25VBgdrXmV +2NAmRmeh4L20lr4ES+IBAoIBAQDXXzqmL3WrluydsA3n5wM0kYpsbyl8FdtC9GLq +/jchM0GE25ij6/9IUY3Lc7ajGI1eG1yUF0t4n0PeTJz6/ouGTNaX65gzPCdJvmO9 +rJiWzwDjdcNaZQBHc5My8fxZ37fIizY8JzorbfzcsB4F0e/urB/cn4cckur5m8Dy +gIzFDRkw88s0gxiYh+nm87p3qHaRIU8giaaN1gOU8UjMy7k0/CHr5GduEsBCC5jZ +1v57ipPQf+9nU3HtcBXZFeAgkU2zCcIBRzpYTkRi3Fu57LeSg+3ciuoZ8QRQ0gvQ +rNnc81Y1vlTpN1rifqnZpjZkh6Y0fQkYfdfhK9DtUje2FUFVAoIBAQDQujRwg+u8 +CYXeOGz4t75ayR4vu3c/G1M0LwtqP3fp0ceA43ESb/VoBeqnyWnIkoYiVpB4vDSp +UEejZB4dDHeoT6eHQ+v12q9Lg0Q9Rm+B2Ir8lTgG0zKcoA2+FmnpXc4xNT4JYSq+ +40plBFV2WY3LKuKICle0VQaEvbi6lAlQGrGi9JIICZT4UGwbul/jCl6a5p9J2dkf +kEPjZixBaDFwaS2QC/Iia3JDV7WuVktNiSUkO9ioiqLtMTIHjiCssxw3dselBJ3A +u+T/Q77TwZOihoyor8sA+yaVU336Qe5VGop41YMQj6ajeVk44W8Hgt0s49Nwok/I +4UjhrD4C1PLJAoIBACFQ7+epS9ChZjT2eRA4ojxNj1Y60/YIA4UV/P9RGAIgxa/h +sHkbFsB/LSod2lDciXHXVbjq6ZfdO0h2HYqOOdMqq7+QiFjUo1c7Bn7e5jPeDcsh ++nhPS33CGTE2Uc0tWGbDcj5X6x2ww/73l41a7nzDT6J3YxU+fO7j8zMQQ7Zv0kfK +TtLuvK1LyRka9utvufe1aWIlKQij5KXztUlI8nuJzU2KZZ2XdPpChQCdy3wc8cS9 +JbGcLPGH9zk/sw4WrChYCBTeid4DLX0FjYLzZWpa0j7dll0w9XPzKjS7qHAPjHR/ +3u68y2hiI7AxkBR5D3LrLK8HOI/ykT1FDK00GIkCggEARMLy/5YWFM42UazZCV7O +0O2siiEB+cIwuOI+qnPaNycqyCUlXOORPwGj+j56IN9UXP+TfJLT7mtKDmOvH/a5 +fLMxB3iyxT2TvhayZlVL6sTBlNA7stPkuoBnxpVvsrd6c++MTl66TERof7rbxK9f +7Oxl0FdH6VqRWS1/K8gVAVSp7HsRmKA/eUZVNxVA/XSvEeyj0Rp5UtKd6s4AClQe +5V9g6TFmRTyMWe8NJS+8gwCJQdSNXYi+f9FTH/YMgZhH1WXGA3Dv30yG9ikFNpFw +53vX3sJ66AnU/iCRQd5ye4rQz1nXYZ9RUE1rvTdW8myEHIO5ZkOycQT2k5HApAIv +MQKCAQB7gj2nnQ5bTcj32h9xsrcOGAYnFG1024ZQhviBOJADdLj4iDek9JJZzvOl +WT/OKBculmbtc4LIAcnG27j+ZPgtG3Hl+m2CvJresdpqa9kCY9/1njBTHRFoDKGj +Ko2ZquVpVWZPvRSpFVa8XJcUkujhtydY9l8jHpT2rISeG36VxYvvYw2971XE+2K4 +SC3X6840Q5t6dy0pMmgsfHiQLNQdDRv4J0aPgKBOtfyzDiEMSpZTimVoukJbv1CG +dupcggIKf+2RX8/9X5+kCLMyotGYwFAc2KHCkpnyZPqrEzsEblvCio6V4pJY7ncc +fcZQJr07Qj62PSxShEZDeC0xBpcM +-----END PRIVATE KEY----- +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 10770612998896443650 (0x9578e775146d6102) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1 + Validity + Not Before: Jul 6 18:43:50 2017 GMT + Not After : Jul 4 18:43:50 2027 GMT + Subject: C=US, ST=California, L=Mountain View, O=Test CA, CN=127.0.0.1 + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (4096 bit) + Modulus: + 00:af:9a:06:f5:a3:dd:8e:e1:c9:1f:13:bf:4c:11: + 06:44:37:66:59:bb:31:0f:79:1b:2f:1b:86:8f:c5: + 93:bf:50:76:ac:29:f2:d8:e2:59:36:be:80:e6:17: + b6:5e:0f:b1:8a:6b:fc:62:75:55:e5:fb:16:d5:66: + 12:9c:93:31:b9:2d:8c:29:9c:c7:37:0d:e7:aa:ec: + 85:be:88:b1:08:3e:c3:c3:90:4e:ed:35:12:9c:86: + 63:bc:42:43:a1:2a:22:38:72:af:c9:32:21:4f:c5: + 8c:a3:4f:d1:d5:44:82:76:bb:ef:d6:61:68:c9:af: + ba:32:e1:e3:3e:12:6a:87:ca:62:64:9e:13:e5:ec: + fc:d3:54:2e:9f:8e:09:70:87:eb:74:10:6d:f9:2b: + b5:7c:db:d9:e3:ce:17:b4:fe:13:cc:81:a2:df:4c: + 50:32:47:de:d1:74:f3:8c:2b:04:6e:8c:3e:45:d3: + bd:f7:d7:bd:cf:60:7c:b7:6a:16:9c:d7:4a:e9:fa: + be:64:32:ed:ff:50:b3:95:05:0e:ae:41:68:d6:42: + 0e:bd:8a:c7:62:98:d8:07:fd:d2:96:d8:f8:f9:52: + 7b:5f:ba:70:94:99:f1:f7:9d:71:c9:50:28:97:64: + a7:47:1a:bd:ea:a8:b9:c7:75:37:aa:40:7d:27:ad: + c9:b8:a3:60:50:8f:69:e8:f0:c8:77:4b:0e:f0:62: + 7f:5a:ef:e1:ec:82:3e:82:bc:d0:b9:a6:40:e8:da: + 6a:76:69:49:b0:8b:cd:9c:3d:19:0a:89:dc:ae:44: + ee:9a:98:ce:4d:79:08:f7:b5:50:6d:c7:b2:eb:c1: + c6:12:31:04:8b:12:09:9d:93:3d:c9:9d:81:63:e3: + bf:89:7b:4b:70:23:b3:8d:b6:a6:f1:8b:bd:84:2a: + fb:2b:f9:93:7d:f1:70:97:dd:10:a3:4a:c9:78:b0: + 31:ea:a3:fb:43:bf:6f:9e:2d:bd:10:18:44:e1:13: + cf:63:ed:8c:22:af:27:a0:10:63:86:ce:b7:fd:fc: + 3d:cf:e9:b8:b8:4d:01:e6:3f:7d:75:eb:32:9a:52: + f3:22:c7:08:73:c5:78:35:f8:bd:4b:71:14:02:84: + 7a:a1:a7:fa:db:f0:62:00:e8:17:74:c9:bc:ee:64: + 79:19:9b:8b:2b:74:af:b1:e1:6d:9e:98:c8:e0:63: + 78:47:a0:17:a0:46:c2:42:cb:2b:c4:17:8a:02:33: + d3:47:e1:2b:c4:c6:cf:a0:93:9d:fb:17:b4:34:d8: + 20:06:68:c5:25:62:f1:2a:78:65:1e:63:44:90:0c: + 65:2f:43:a0:9b:b9:43:1e:44:ab:9c:5d:1a:90:d2: + d6:a5:bd + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Subject Key Identifier: + 5F:59:BA:74:46:93:39:6D:2F:72:06:69:96:F2:68:A8:14:9E:83:D2 + X509v3 Authority Key Identifier: + keyid:5F:59:BA:74:46:93:39:6D:2F:72:06:69:96:F2:68:A8:14:9E:83:D2 + + X509v3 Basic Constraints: + CA:TRUE + Signature Algorithm: sha256WithRSAEncryption + 9b:f8:fc:94:9d:92:bd:06:3f:20:5c:1a:f9:9a:75:e1:0f:18: + c5:09:b2:5c:45:b9:9a:91:0d:f2:53:3d:75:7b:ce:70:81:b4: + 70:f7:51:7c:7d:b8:e0:10:f2:9a:45:96:7b:c8:fd:9e:3f:d6: + 56:fa:07:dc:86:d0:b0:64:ab:78:97:d9:d6:58:43:fc:93:8f: + 45:82:9f:6f:35:4b:ae:69:de:ca:18:ff:63:50:17:4d:e4:8d: + 09:69:cd:6a:af:e7:ba:8a:9d:41:40:83:3f:f2:c7:26:0c:0d: + 9c:c0:5b:8b:ce:4c:36:73:c0:f1:6b:0e:9b:fe:0d:63:1d:17: + 3d:b6:1a:41:37:e2:86:39:4d:60:70:60:20:da:c9:8c:e2:98: + 35:d5:4b:63:2e:bc:ca:de:89:c0:4f:dd:66:d9:11:f4:f3:43: + 2f:02:b8:0c:6a:84:4c:27:42:4d:ce:4f:f8:17:22:04:b9:ea: + bc:7e:0d:07:d6:57:bb:00:ea:5c:ca:96:f6:fa:86:0f:92:27: + fb:d5:a5:d4:b6:71:62:1b:87:59:a9:3a:7a:78:99:c0:96:69: + 14:ab:09:e0:01:b8:85:c6:80:b3:4e:48:19:5f:d3:a2:cf:4d: + 19:55:e1:8a:95:f5:d4:b3:f8:04:32:b7:64:01:5b:7e:a4:37: + 57:c6:a5:a2:a0:37:40:57:14:69:66:bd:90:d1:12:2c:74:e3: + c7:45:33:b7:c0:3b:12:3d:19:09:eb:57:70:c5:d5:91:5a:c1: + 94:d9:e9:ac:84:33:2a:5a:52:4a:2b:52:8b:da:c3:53:f9:52: + 1f:74:96:66:b3:a9:ff:43:47:87:6c:ec:6c:fc:c5:23:60:5c: + ec:fc:f1:16:38:61:12:c3:f4:21:dc:0d:55:de:e8:63:e7:d0: + a9:a6:f2:c4:9c:3e:05:b9:9f:4a:30:96:f2:0a:5a:4f:e4:b9: + 01:4c:b9:82:70:4e:f4:4b:24:df:71:7f:91:f4:a3:94:bb:95: + 49:b2:f2:1a:04:5f:bf:8d:1d:9a:88:c7:89:8e:0f:5a:af:f6: + 21:7f:33:7e:58:16:c5:d0:f2:0d:df:95:70:e5:8a:70:82:d1: + 32:12:2c:e6:2c:54:30:0e:a4:d8:6b:d4:5c:3f:dc:30:68:c0: + 54:a2:85:0d:f9:1c:e0:af:00:ea:03:56:ab:b0:13:92:af:c4: + 83:96:fe:d6:81:f6:6d:25:93:ee:94:3e:fb:7a:9b:ee:82:04: + 1e:7f:92:eb:43:d4:1a:1b:09:7f:6e:a5:80:8a:18:a7:ae:1b: + aa:fd:c9:8b:c0:ae:78:9a:cb:b2:ee:71:e0:c4:c8:a7:7b:44: + c1:a1:38:5c:dc:6f:e7:08 +-----BEGIN CERTIFICATE----- +MIIFkzCCA3ugAwIBAgIJAJV453UUbWECMA0GCSqGSIb3DQEBCwUAMGAxCzAJBgNV +BAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1Nb3VudGFpbiBW +aWV3MRAwDgYDVQQKDAdUZXN0IENBMRIwEAYDVQQDDAkxMjcuMC4wLjEwHhcNMTcw +NzA2MTg0MzUwWhcNMjcwNzA0MTg0MzUwWjBgMQswCQYDVQQGEwJVUzETMBEGA1UE +CAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzEQMA4GA1UECgwH +VGVzdCBDQTESMBAGA1UEAwwJMTI3LjAuMC4xMIICIjANBgkqhkiG9w0BAQEFAAOC +Ag8AMIICCgKCAgEAr5oG9aPdjuHJHxO/TBEGRDdmWbsxD3kbLxuGj8WTv1B2rCny +2OJZNr6A5he2Xg+ximv8YnVV5fsW1WYSnJMxuS2MKZzHNw3nquyFvoixCD7Dw5BO +7TUSnIZjvEJDoSoiOHKvyTIhT8WMo0/R1USCdrvv1mFoya+6MuHjPhJqh8piZJ4T +5ez801Qun44JcIfrdBBt+Su1fNvZ484XtP4TzIGi30xQMkfe0XTzjCsEbow+RdO9 +99e9z2B8t2oWnNdK6fq+ZDLt/1CzlQUOrkFo1kIOvYrHYpjYB/3Sltj4+VJ7X7pw +lJnx951xyVAol2SnRxq96qi5x3U3qkB9J63JuKNgUI9p6PDId0sO8GJ/Wu/h7II+ +grzQuaZA6NpqdmlJsIvNnD0ZConcrkTumpjOTXkI97VQbcey68HGEjEEixIJnZM9 +yZ2BY+O/iXtLcCOzjbam8Yu9hCr7K/mTffFwl90Qo0rJeLAx6qP7Q79vni29EBhE +4RPPY+2MIq8noBBjhs63/fw9z+m4uE0B5j99desymlLzIscIc8V4Nfi9S3EUAoR6 +oaf62/BiAOgXdMm87mR5GZuLK3SvseFtnpjI4GN4R6AXoEbCQssrxBeKAjPTR+Er +xMbPoJOd+xe0NNggBmjFJWLxKnhlHmNEkAxlL0Ogm7lDHkSrnF0akNLWpb0CAwEA +AaNQME4wHQYDVR0OBBYEFF9ZunRGkzltL3IGaZbyaKgUnoPSMB8GA1UdIwQYMBaA +FF9ZunRGkzltL3IGaZbyaKgUnoPSMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEL +BQADggIBAJv4/JSdkr0GPyBcGvmadeEPGMUJslxFuZqRDfJTPXV7znCBtHD3UXx9 +uOAQ8ppFlnvI/Z4/1lb6B9yG0LBkq3iX2dZYQ/yTj0WCn281S65p3soY/2NQF03k +jQlpzWqv57qKnUFAgz/yxyYMDZzAW4vOTDZzwPFrDpv+DWMdFz22GkE34oY5TWBw +YCDayYzimDXVS2MuvMreicBP3WbZEfTzQy8CuAxqhEwnQk3OT/gXIgS56rx+DQfW +V7sA6lzKlvb6hg+SJ/vVpdS2cWIbh1mpOnp4mcCWaRSrCeABuIXGgLNOSBlf06LP +TRlV4YqV9dSz+AQyt2QBW36kN1fGpaKgN0BXFGlmvZDREix048dFM7fAOxI9GQnr +V3DF1ZFawZTZ6ayEMypaUkorUovaw1P5Uh90lmazqf9DR4ds7Gz8xSNgXOz88RY4 +YRLD9CHcDVXe6GPn0Kmm8sScPgW5n0owlvIKWk/kuQFMuYJwTvRLJN9xf5H0o5S7 +lUmy8hoEX7+NHZqIx4mOD1qv9iF/M35YFsXQ8g3flXDlinCC0TISLOYsVDAOpNhr +1Fw/3DBowFSihQ35HOCvAOoDVquwE5KvxIOW/taB9m0lk+6UPvt6m+6CBB5/kutD +1BobCX9upYCKGKeuG6r9yYvArniay7LuceDEyKd7RMGhOFzcb+cI +-----END CERTIFICATE-----
diff --git a/components/toolbar/test_toolbar_model.cc b/components/toolbar/test_toolbar_model.cc index cebc76cc..59a81d9 100644 --- a/components/toolbar/test_toolbar_model.cc +++ b/components/toolbar/test_toolbar_model.cc
@@ -47,3 +47,7 @@ bool TestToolbarModel::ShouldDisplayURL() const { return should_display_url_; } + +bool TestToolbarModel::IsOfflinePage() const { + return offline_page_; +}
diff --git a/components/toolbar/test_toolbar_model.h b/components/toolbar/test_toolbar_model.h index 01daf60..0484b07 100644 --- a/components/toolbar/test_toolbar_model.h +++ b/components/toolbar/test_toolbar_model.h
@@ -31,6 +31,7 @@ base::string16 GetSecureVerboseText() const override; base::string16 GetEVCertName() const override; bool ShouldDisplayURL() const override; + bool IsOfflinePage() const override; void set_text(const base::string16& text) { text_ = text; } void set_url(const GURL& url) { url_ = url; } @@ -44,14 +45,16 @@ void set_should_display_url(bool should_display_url) { should_display_url_ = should_display_url; } + void set_offline_page(bool offline_page) { offline_page_ = offline_page; } private: base::string16 text_; GURL url_; - security_state::SecurityLevel security_level_; + security_state::SecurityLevel security_level_ = security_state::NONE; const gfx::VectorIcon* icon_ = nullptr; base::string16 ev_cert_name_; - bool should_display_url_; + bool should_display_url_ = false; + bool offline_page_ = false; DISALLOW_COPY_AND_ASSIGN(TestToolbarModel); };
diff --git a/components/toolbar/toolbar_model.h b/components/toolbar/toolbar_model.h index 8aa1727d..0564882 100644 --- a/components/toolbar/toolbar_model.h +++ b/components/toolbar/toolbar_model.h
@@ -60,6 +60,10 @@ // in the location bar. virtual bool ShouldDisplayURL() const = 0; + // Returns whether the page is an offline page, sourced from a cache of + // previously-downloaded content. + virtual bool IsOfflinePage() const = 0; + // Whether the text in the omnibox is currently being edited. void set_input_in_progress(bool input_in_progress) { input_in_progress_ = input_in_progress;
diff --git a/components/toolbar/toolbar_model_delegate.h b/components/toolbar/toolbar_model_delegate.h index 91008e4..f0f4f17 100644 --- a/components/toolbar/toolbar_model_delegate.h +++ b/components/toolbar/toolbar_model_delegate.h
@@ -56,6 +56,10 @@ // knowledge of those schemes into this component. virtual const gfx::VectorIcon* GetVectorIconOverride() const = 0; + // Returns whether the page is an offline page, sourced from a cache of + // previously-downloaded content. + virtual bool IsOfflinePage() const = 0; + protected: virtual ~ToolbarModelDelegate() {} };
diff --git a/components/toolbar/toolbar_model_impl.cc b/components/toolbar/toolbar_model_impl.cc index 6111f92c..c24a388 100644 --- a/components/toolbar/toolbar_model_impl.cc +++ b/components/toolbar/toolbar_model_impl.cc
@@ -138,3 +138,7 @@ bool ToolbarModelImpl::ShouldDisplayURL() const { return delegate_->ShouldDisplayURL(); } + +bool ToolbarModelImpl::IsOfflinePage() const { + return delegate_->IsOfflinePage(); +}
diff --git a/components/toolbar/toolbar_model_impl.h b/components/toolbar/toolbar_model_impl.h index 619d3e56..6bbf45a 100644 --- a/components/toolbar/toolbar_model_impl.h +++ b/components/toolbar/toolbar_model_impl.h
@@ -36,6 +36,7 @@ base::string16 GetSecureVerboseText() const override; base::string16 GetEVCertName() const override; bool ShouldDisplayURL() const override; + bool IsOfflinePage() const override; ToolbarModelDelegate* delegate_; const size_t max_url_display_chars_;
diff --git a/components/update_client/background_downloader_win.cc b/components/update_client/background_downloader_win.cc index 6f139d4..f82dc1c 100644 --- a/components/update_client/background_downloader_win.cc +++ b/components/update_client/background_downloader_win.cc
@@ -30,7 +30,7 @@ #include "url/gurl.h" using base::win::ScopedCoMem; -using base::win::ScopedComPtr; +using Microsoft::WRL::ComPtr; // The class BackgroundDownloader in this module is an adapter between // the CrxDownloader interface and the BITS service interfaces. @@ -132,14 +132,14 @@ const int kPurgeStaleJobsIntervalBetweenChecksDays = 1; // Retrieves the singleton instance of GIT for this process. -HRESULT GetGit(ScopedComPtr<IGlobalInterfaceTable>* git) { +HRESULT GetGit(ComPtr<IGlobalInterfaceTable>* git) { return ::CoCreateInstance(CLSID_StdGlobalInterfaceTable, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(git->GetAddressOf())); } // Retrieves an interface pointer from the process GIT for a given |cookie|. -HRESULT GetInterfaceFromGit(IGlobalInterfaceTable* git, +HRESULT GetInterfaceFromGit(const ComPtr<IGlobalInterfaceTable>& git, DWORD cookie, REFIID riid, void** ppv) { @@ -148,8 +148,8 @@ // Registers an interface pointer in GIT and returns its corresponding |cookie|. template <typename T> -HRESULT RegisterInterfaceInGit(const ScopedComPtr<IGlobalInterfaceTable>& git, - const ScopedComPtr<T>& p, +HRESULT RegisterInterfaceInGit(const ComPtr<IGlobalInterfaceTable>& git, + const ComPtr<T>& p, DWORD* cookie) { return git->RegisterInterfaceInGlobal(p.Get(), __uuidof(T), cookie); } @@ -168,9 +168,9 @@ } // Returns the files in a BITS job. -HRESULT GetFilesInJob(IBackgroundCopyJob* job, - std::vector<ScopedComPtr<IBackgroundCopyFile>>* files) { - ScopedComPtr<IEnumBackgroundCopyFiles> enum_files; +HRESULT GetFilesInJob(const ComPtr<IBackgroundCopyJob>& job, + std::vector<ComPtr<IBackgroundCopyFile>>* files) { + ComPtr<IEnumBackgroundCopyFiles> enum_files; HRESULT hr = job->EnumFiles(enum_files.GetAddressOf()); if (FAILED(hr)) return hr; @@ -181,7 +181,7 @@ return hr; for (ULONG i = 0; i != num_files; ++i) { - ScopedComPtr<IBackgroundCopyFile> file; + ComPtr<IBackgroundCopyFile> file; if (enum_files->Next(1, file.GetAddressOf(), NULL) == S_OK && file.Get()) files->push_back(file); } @@ -191,7 +191,7 @@ // Returns the file name, the url, and some per-file progress information. // The function out parameters can be NULL if that data is not requested. -HRESULT GetJobFileProperties(IBackgroundCopyFile* file, +HRESULT GetJobFileProperties(const ComPtr<IBackgroundCopyFile>& file, base::string16* local_name, base::string16* remote_name, BG_FILE_PROGRESS* progress) { @@ -230,7 +230,7 @@ // Returns the number of bytes downloaded and bytes to download for all files // in the job. If the values are not known or if an error has occurred, // a value of -1 is reported. -HRESULT GetJobByteCount(IBackgroundCopyJob* job, +HRESULT GetJobByteCount(const ComPtr<IBackgroundCopyJob>& job, int64_t* downloaded_bytes, int64_t* total_bytes) { *downloaded_bytes = -1; @@ -256,7 +256,8 @@ return S_OK; } -HRESULT GetJobDisplayName(IBackgroundCopyJob* job, base::string16* name) { +HRESULT GetJobDisplayName(const ComPtr<IBackgroundCopyJob>& job, + base::string16* name) { ScopedCoMem<base::char16> local_name; const HRESULT hr = job->GetDisplayName(&local_name); if (FAILED(hr)) @@ -268,9 +269,10 @@ // Returns the job error code in |error_code| if the job is in the transient // or the final error state. Otherwise, the job error is not available and // the function fails. -HRESULT GetJobError(IBackgroundCopyJob* job, HRESULT* error_code_out) { +HRESULT GetJobError(const ComPtr<IBackgroundCopyJob>& job, + HRESULT* error_code_out) { *error_code_out = S_OK; - ScopedComPtr<IBackgroundCopyError> copy_error; + ComPtr<IBackgroundCopyError> copy_error; HRESULT hr = job->GetError(copy_error.GetAddressOf()); if (FAILED(hr)) return hr; @@ -290,9 +292,9 @@ // no job was found, and it returns an error otherwise. template <class Predicate> HRESULT FindBitsJobIf(Predicate pred, - IBackgroundCopyManager* bits_manager, - std::vector<ScopedComPtr<IBackgroundCopyJob>>* jobs) { - ScopedComPtr<IEnumBackgroundCopyJobs> enum_jobs; + const ComPtr<IBackgroundCopyManager>& bits_manager, + std::vector<ComPtr<IBackgroundCopyJob>>* jobs) { + ComPtr<IEnumBackgroundCopyJobs> enum_jobs; HRESULT hr = bits_manager->EnumJobs(0, enum_jobs.GetAddressOf()); if (FAILED(hr)) return hr; @@ -305,11 +307,11 @@ // Iterate over jobs, run the predicate, and select the job only if // the job description matches the component updater jobs. for (ULONG i = 0; i != job_count; ++i) { - ScopedComPtr<IBackgroundCopyJob> current_job; + ComPtr<IBackgroundCopyJob> current_job; if (enum_jobs->Next(1, current_job.GetAddressOf(), NULL) == S_OK && - pred(current_job.Get())) { + pred(current_job)) { base::string16 job_name; - hr = GetJobDisplayName(current_job.Get(), &job_name); + hr = GetJobDisplayName(current_job, &job_name); if (job_name.compare(kJobName) == 0) jobs->push_back(current_job); } @@ -323,13 +325,14 @@ class JobCreationOlderThanDays { public: explicit JobCreationOlderThanDays(int num_days) : num_days_(num_days) {} - bool operator()(IBackgroundCopyJob* job) const; + bool operator()(const ComPtr<IBackgroundCopyJob>& job) const; private: int num_days_; }; -bool JobCreationOlderThanDays::operator()(IBackgroundCopyJob* job) const { +bool JobCreationOlderThanDays::operator()( + const ComPtr<IBackgroundCopyJob>& job) const { BG_JOB_TIMES times = {}; HRESULT hr = job->GetTimes(×); if (FAILED(hr)) @@ -347,14 +350,14 @@ public: explicit JobFileUrlEqual(const base::string16& remote_name) : remote_name_(remote_name) {} - bool operator()(IBackgroundCopyJob* job) const; + bool operator()(const ComPtr<IBackgroundCopyJob>& job) const; private: base::string16 remote_name_; }; -bool JobFileUrlEqual::operator()(IBackgroundCopyJob* job) const { - std::vector<ScopedComPtr<IBackgroundCopyFile>> files; +bool JobFileUrlEqual::operator()(const ComPtr<IBackgroundCopyJob>& job) const { + std::vector<ComPtr<IBackgroundCopyFile>> files; HRESULT hr = GetFilesInJob(job, &files); if (FAILED(hr)) return false; @@ -370,18 +373,19 @@ } // Creates an instance of the BITS manager. -HRESULT CreateBitsManager(IBackgroundCopyManager** bits_manager) { - ScopedComPtr<IBackgroundCopyManager> object; - HRESULT hr = ::CoCreateInstance(__uuidof(BackgroundCopyManager), nullptr, - CLSCTX_ALL, IID_PPV_ARGS(&object)); +HRESULT CreateBitsManager(ComPtr<IBackgroundCopyManager>* bits_manager) { + ComPtr<IBackgroundCopyManager> local_bits_manager; + HRESULT hr = + ::CoCreateInstance(__uuidof(BackgroundCopyManager), nullptr, CLSCTX_ALL, + IID_PPV_ARGS(&local_bits_manager)); if (FAILED(hr)) { return hr; } - *bits_manager = object.Detach(); + *bits_manager = local_bits_manager; return S_OK; } -void CleanupJob(IBackgroundCopyJob* job) { +void CleanupJob(const ComPtr<IBackgroundCopyJob>& job) { if (!job) return; @@ -389,13 +393,13 @@ // Canceling the job removes it from the BITS queue right away. It appears // that it is still possible to query for the properties of the job after // the job has been canceled. It seems safer though to get the paths first. - std::vector<ScopedComPtr<IBackgroundCopyFile>> files; + std::vector<ComPtr<IBackgroundCopyFile>> files; GetFilesInJob(job, &files); std::vector<base::FilePath> paths; for (const auto& file : files) { base::string16 local_name; - HRESULT hr = GetJobFileProperties(file.Get(), &local_name, NULL, NULL); + HRESULT hr = GetJobFileProperties(file, &local_name, NULL, NULL); if (SUCCEEDED(hr)) paths.push_back(base::FilePath(local_name)); } @@ -407,8 +411,7 @@ } // Cleans up incompleted jobs that are too old. -HRESULT CleanupStaleJobs( - const ScopedComPtr<IBackgroundCopyManager>& bits_manager) { +HRESULT CleanupStaleJobs(const ComPtr<IBackgroundCopyManager>& bits_manager) { if (!bits_manager.Get()) return E_FAIL; @@ -422,15 +425,14 @@ last_sweep = current_time; - std::vector<ScopedComPtr<IBackgroundCopyJob>> jobs; - HRESULT hr = FindBitsJobIf( - JobCreationOlderThanDays(kPurgeStaleJobsAfterDays), - bits_manager.Get(), &jobs); + std::vector<ComPtr<IBackgroundCopyJob>> jobs; + HRESULT hr = FindBitsJobIf(JobCreationOlderThanDays(kPurgeStaleJobsAfterDays), + bits_manager, &jobs); if (FAILED(hr)) return hr; for (const auto& job : jobs) - CleanupJob(job.Get()); + CleanupJob(job); return S_OK; } @@ -438,11 +440,12 @@ // Returns the number of jobs in the BITS queue which were created by this // downloader. HRESULT GetBackgroundDownloaderJobCount( - const ScopedComPtr<IBackgroundCopyManager>& bits_manager, + const ComPtr<IBackgroundCopyManager>& bits_manager, size_t* num_jobs) { - std::vector<ScopedComPtr<IBackgroundCopyJob>> jobs; - const HRESULT hr = FindBitsJobIf([](IBackgroundCopyJob*) { return true; }, - bits_manager.Get(), &jobs); + std::vector<ComPtr<IBackgroundCopyJob>> jobs; + const HRESULT hr = + FindBitsJobIf([](const ComPtr<IBackgroundCopyJob>&) { return true; }, + bits_manager, &jobs); if (FAILED(hr)) return hr; *num_jobs = jobs.size(); @@ -504,15 +507,15 @@ base::Bind(&BackgroundDownloader::StartTimer, base::Unretained(this))); } -// Creates or opens an existing bits job, and handles the marshalling of -// the interfaces in GIT. +// Creates or opens an existing BITS job to download the |url|, and handles +// the marshalling of the interfaces in GIT. HRESULT BackgroundDownloader::BeginDownloadHelper(const GURL& url) { - ScopedComPtr<IGlobalInterfaceTable> git; + ComPtr<IGlobalInterfaceTable> git; HRESULT hr = GetGit(&git); if (FAILED(hr)) return hr; - hr = CreateBitsManager(bits_manager_.GetAddressOf()); + hr = CreateBitsManager(&bits_manager_); if (FAILED(hr)) return hr; @@ -520,7 +523,7 @@ if (FAILED(hr)) return hr; - hr = QueueBitsJob(url, job_.GetAddressOf()); + hr = QueueBitsJob(url, &job_); if (FAILED(hr)) return hr; @@ -608,10 +611,10 @@ int64_t downloaded_bytes = -1; int64_t total_bytes = -1; - GetJobByteCount(job_.Get(), &downloaded_bytes, &total_bytes); + GetJobByteCount(job_, &downloaded_bytes, &total_bytes); if (FAILED(error)) - CleanupJob(job_.Get()); + CleanupJob(job_); CleanupStaleJobs(bits_manager_); @@ -659,7 +662,7 @@ // be made. Cancels this job and removes it from the BITS queue. bool BackgroundDownloader::OnStateError() { HRESULT error_code = S_OK; - HRESULT hr = GetJobError(job_.Get(), &error_code); + HRESULT hr = GetJobError(job_, &error_code); if (FAILED(hr)) error_code = hr; @@ -694,7 +697,7 @@ // Don't retry at all if the transient error was a 5xx. HRESULT error_code = S_OK; - HRESULT hr = GetJobError(job_.Get(), &error_code); + HRESULT hr = GetJobError(job_, &error_code); if (SUCCEEDED(hr) && IsHttpServerError(GetHttpStatusFromBitsError(error_code))) { return OnStateError(); @@ -719,7 +722,7 @@ int64_t downloaded_bytes = -1; int64_t total_bytes = -1; - HRESULT hr = GetJobByteCount(job_.Get(), &downloaded_bytes, &total_bytes); + HRESULT hr = GetJobByteCount(job_, &downloaded_bytes, &total_bytes); if (FAILED(hr)) return false; @@ -736,63 +739,62 @@ // Creates or opens a job for the given url and queues it up. Tries to // install a job observer but continues on if an observer can't be set up. HRESULT BackgroundDownloader::QueueBitsJob(const GURL& url, - IBackgroundCopyJob** job) { + ComPtr<IBackgroundCopyJob>* job) { DCHECK(task_runner()->RunsTasksInCurrentSequence()); size_t num_jobs = 0; GetBackgroundDownloaderJobCount(bits_manager_, &num_jobs); UMA_HISTOGRAM_COUNTS_100("UpdateClient.BackgroundDownloaderJobs", num_jobs); - ScopedComPtr<IBackgroundCopyJob> local_job; - HRESULT hr = CreateOrOpenJob(url, local_job.GetAddressOf()); + ComPtr<IBackgroundCopyJob> local_job; + HRESULT hr = CreateOrOpenJob(url, &local_job); if (FAILED(hr)) { - CleanupJob(local_job.Get()); + CleanupJob(local_job); return hr; } hr = local_job->Resume(); if (FAILED(hr)) { - CleanupJob(local_job.Get()); + CleanupJob(local_job); return hr; } - *job = local_job.Detach(); + *job = local_job; return S_OK; } HRESULT BackgroundDownloader::CreateOrOpenJob(const GURL& url, - IBackgroundCopyJob** job) { - std::vector<ScopedComPtr<IBackgroundCopyJob>> jobs; - HRESULT hr = FindBitsJobIf( - JobFileUrlEqual(base::SysUTF8ToWide(url.spec())), - bits_manager_.Get(), &jobs); + ComPtr<IBackgroundCopyJob>* job) { + std::vector<ComPtr<IBackgroundCopyJob>> jobs; + HRESULT hr = FindBitsJobIf(JobFileUrlEqual(base::SysUTF8ToWide(url.spec())), + bits_manager_, &jobs); if (SUCCEEDED(hr) && !jobs.empty()) { - *job = jobs.front().Detach(); + *job = jobs.front(); return hr; } - ScopedComPtr<IBackgroundCopyJob> local_job; + ComPtr<IBackgroundCopyJob> local_job; GUID guid = {0}; hr = bits_manager_->CreateJob(kJobName, BG_JOB_TYPE_DOWNLOAD, &guid, local_job.GetAddressOf()); if (FAILED(hr)) { - CleanupJob(local_job.Get()); + CleanupJob(local_job); return hr; } hr = InitializeNewJob(local_job, url); if (FAILED(hr)) { - CleanupJob(local_job.Get()); + CleanupJob(local_job); return hr; } - *job = local_job.Detach(); + *job = local_job; return S_OK; } HRESULT BackgroundDownloader::InitializeNewJob( - const base::win::ScopedComPtr<IBackgroundCopyJob>& job, + const ComPtr<IBackgroundCopyJob>& job, const GURL& url) { base::FilePath tempdir; if (!base::CreateNewTempDirectory(FILE_PATH_LITERAL("chrome_BITS_"), @@ -836,8 +838,8 @@ if (FAILED(hr) && hr != BG_S_UNABLE_TO_DELETE_FILES) return hr; - std::vector<ScopedComPtr<IBackgroundCopyFile>> files; - hr = GetFilesInJob(job_.Get(), &files); + std::vector<ComPtr<IBackgroundCopyFile>> files; + hr = GetFilesInJob(job_, &files); if (FAILED(hr)) return hr; @@ -846,7 +848,7 @@ base::string16 local_name; BG_FILE_PROGRESS progress = {0}; - hr = GetJobFileProperties(files.front().Get(), &local_name, NULL, &progress); + hr = GetJobFileProperties(files.front(), &local_name, NULL, &progress); if (FAILED(hr)) return hr; @@ -864,19 +866,21 @@ HRESULT BackgroundDownloader::UpdateInterfacePointers() { DCHECK(task_runner()->RunsTasksInCurrentSequence()); - ScopedComPtr<IGlobalInterfaceTable> git; + bits_manager_ = nullptr; + job_ = nullptr; + + ComPtr<IGlobalInterfaceTable> git; HRESULT hr = GetGit(&git); if (FAILED(hr)) return hr; - bits_manager_ = nullptr; - hr = GetInterfaceFromGit(git.Get(), git_cookie_bits_manager_, - IID_PPV_ARGS(&bits_manager_)); + hr = GetInterfaceFromGit(git, git_cookie_bits_manager_, + IID_PPV_ARGS(bits_manager_.GetAddressOf())); if (FAILED(hr)) return hr; - job_ = nullptr; - hr = GetInterfaceFromGit(git.Get(), git_cookie_job_, IID_PPV_ARGS(&job_)); + hr = GetInterfaceFromGit(git, git_cookie_job_, + IID_PPV_ARGS(job_.GetAddressOf())); if (FAILED(hr)) return hr; @@ -893,7 +897,7 @@ ResetInterfacePointers(); - ScopedComPtr<IGlobalInterfaceTable> git; + ComPtr<IGlobalInterfaceTable> git; HRESULT hr = GetGit(&git); if (FAILED(hr)) return hr;
diff --git a/components/update_client/background_downloader_win.h b/components/update_client/background_downloader_win.h index 52ed1e25..ca71df0a 100644 --- a/components/update_client/background_downloader_win.h +++ b/components/update_client/background_downloader_win.h
@@ -5,8 +5,9 @@ #ifndef COMPONENTS_UPDATE_CLIENT_BACKGROUND_DOWNLOADER_WIN_H_ #define COMPONENTS_UPDATE_CLIENT_BACKGROUND_DOWNLOADER_WIN_H_ -#include <windows.h> #include <bits.h> +#include <windows.h> +#include <wrl/client.h> #include <memory> @@ -16,7 +17,6 @@ #include "base/threading/thread_checker.h" #include "base/time/time.h" #include "base/timer/timer.h" -#include "base/win/scoped_comptr.h" #include "components/update_client/crx_downloader.h" namespace base { @@ -87,10 +87,12 @@ void StartTimer(); void OnTimer(); - HRESULT QueueBitsJob(const GURL& url, IBackgroundCopyJob** job); - HRESULT CreateOrOpenJob(const GURL& url, IBackgroundCopyJob** job); + HRESULT QueueBitsJob(const GURL& url, + Microsoft::WRL::ComPtr<IBackgroundCopyJob>* job); + HRESULT CreateOrOpenJob(const GURL& url, + Microsoft::WRL::ComPtr<IBackgroundCopyJob>* job); HRESULT InitializeNewJob( - const base::win::ScopedComPtr<IBackgroundCopyJob>& job, + const Microsoft::WRL::ComPtr<IBackgroundCopyJob>& job, const GURL& url); // Returns true if at the time of the call, it appears that the job @@ -128,8 +130,8 @@ // COM interface pointers are valid for the thread that called // |UpdateInterfacePointers| to get pointers to COM proxies, which are valid // for that thread only. - base::win::ScopedComPtr<IBackgroundCopyManager> bits_manager_; - base::win::ScopedComPtr<IBackgroundCopyJob> job_; + Microsoft::WRL::ComPtr<IBackgroundCopyManager> bits_manager_; + Microsoft::WRL::ComPtr<IBackgroundCopyJob> job_; // Contains the time when the download of the current url has started. base::TimeTicks download_start_time_;
diff --git a/components/url_formatter/elide_url.cc b/components/url_formatter/elide_url.cc index e19da1f7..984de31 100644 --- a/components/url_formatter/elide_url.cc +++ b/components/url_formatter/elide_url.cc
@@ -174,8 +174,12 @@ // Get the path substring, including query and reference. const size_t path_start_index = parsed.path.begin; const size_t path_len = parsed.path.len; - base::string16 url_path_query_etc = url_string.substr(path_start_index); - base::string16 url_path = url_string.substr(path_start_index, path_len); + base::string16 url_path_query_etc; + base::string16 url_path; + if (parsed.path.is_valid()) { + url_path_query_etc = url_string.substr(path_start_index); + url_path = url_string.substr(path_start_index, path_len); + } // Return general elided text if url minus the query fits. const base::string16 url_minus_query = @@ -255,6 +259,8 @@ } const size_t kMaxNumberOfUrlPathElementsAllowed = 1024; + // TODO(mgiuca): If there is no path, this means the end of the domain gets + // elided, not the start (inconsistent). https://crbug.com/739636. if (url_path_number_of_elements <= 1 || url_path_number_of_elements > kMaxNumberOfUrlPathElementsAllowed) { // No path to elide, or too long of a path (could overflow in loop below)
diff --git a/components/url_formatter/elide_url_unittest.cc b/components/url_formatter/elide_url_unittest.cc index 4ded2f99..54f7024 100644 --- a/components/url_formatter/elide_url_unittest.cc +++ b/components/url_formatter/elide_url_unittest.cc
@@ -30,7 +30,7 @@ #if !defined(OS_ANDROID) void RunUrlTest(Testcase* testcases, size_t num_testcases) { - static const gfx::FontList font_list; + const gfx::FontList font_list; for (size_t i = 0; i < num_testcases; ++i) { const GURL url(testcases[i].input); const float available_width = @@ -110,10 +110,35 @@ #endif const std::string kEllipsisStr(gfx::kEllipsis); Testcase testcases[] = { + // Eliding the same URL to various lengths. {"http://www.google.com/foo?bar", "www.google.com/foo?bar"}, {"http://xyz.google.com/foo?bar", "xyz.google.com/foo?" + kEllipsisStr}, {"http://xyz.google.com/foo?bar", "xyz.google.com/foo" + kEllipsisStr}, {"http://xyz.google.com/foo?bar", "xyz.google.com/fo" + kEllipsisStr}, + {"http://xyz.google.com/foo?bar", + kEllipsisStr + "google.com/fo" + kEllipsisStr}, + {"http://xyz.google.com/foo?bar", + kEllipsisStr + "google.com/f" + kEllipsisStr}, + {"http://xyz.google.com/foo?bar", + kEllipsisStr + "google.com/" + kEllipsisStr}, + {"http://xyz.google.com/foo?bar", + kEllipsisStr + "google.com" + kEllipsisStr}, + {"http://xyz.google.com/foo?bar", + kEllipsisStr + "google.co" + kEllipsisStr}, + {"http://xyz.google.com/foo?bar", + kEllipsisStr + "google.c" + kEllipsisStr}, + {"http://xyz.google.com/foo?bar", + kEllipsisStr + "google." + kEllipsisStr}, + {"http://xyz.google.com/foo?bar", kEllipsisStr + "google" + kEllipsisStr}, + {"http://xyz.google.com/foo?bar", kEllipsisStr + "googl" + kEllipsisStr}, + {"http://xyz.google.com/foo?bar", kEllipsisStr + "g" + kEllipsisStr}, + + // URL with no path. + // TODO(mgiuca): These should elide the start of the URL, not the end. + // https://crbug.com/739636. + {"http://xyz.google.com", "xyz.google" + kEllipsisStr}, + {"https://xyz.google.com", "xyz.google" + kEllipsisStr}, + {"http://a.b.com/pathname/c?d", "a.b.com/" + kEllipsisStr + "/c?d"}, {"", ""}, {"http://foo.bar..example.com...hello/test/filename.html",
diff --git a/components/variations/variations_switches.cc b/components/variations/variations_switches.cc index 5b19c66..2f83ead 100644 --- a/components/variations/variations_switches.cc +++ b/components/variations/variations_switches.cc
@@ -10,6 +10,10 @@ // Disable field trial tests configured in fieldtrial_testing_config.json. const char kDisableFieldTrialTestingConfig[] = "disable-field-trial-config"; +// TODO(asvitkine): Consider removing or renaming this functionality. +// Enables the benchmarking extensions. +const char kEnableBenchmarking[] = "enable-benchmarking"; + // Fakes the channel of the browser for purposes of Variations filtering. This // is to be used for testing only. Possible values are "stable", "beta", "dev" // and "canary". Note that this only applies if the browser's reported channel @@ -26,6 +30,11 @@ // escaped for all non-alphanumeric characters. const char kForceFieldTrialParams[] = "force-fieldtrial-params"; +// Forces additional Chrome Variation Ids that will be sent in X-Client-Data +// header, specified as a 64-bit encoded list of numeric experiment ids. Ids +// prefixed with the character "t" will be treated as Trigger Variation Ids. +const char kForceVariationIds[] = "force-variation-ids"; + // Allows overriding the country used for evaluating variations. This is similar // to the "Override Variations Country" entry on chrome://translate-internals, // but is exposed as a command-line flag to allow testing First Run scenarios.
diff --git a/components/variations/variations_switches.h b/components/variations/variations_switches.h index 9755dac4..95999b1f 100644 --- a/components/variations/variations_switches.h +++ b/components/variations/variations_switches.h
@@ -12,8 +12,10 @@ // each in the .cc file. extern const char kDisableFieldTrialTestingConfig[]; +extern const char kEnableBenchmarking[]; extern const char kFakeVariationsChannel[]; extern const char kForceFieldTrialParams[]; +extern const char kForceVariationIds[]; extern const char kVariationsOverrideCountry[]; extern const char kVariationsServerURL[];
diff --git a/components/viz/service/frame_sinks/frame_sink_manager_impl.cc b/components/viz/service/frame_sinks/frame_sink_manager_impl.cc index 0c156ce..121c13e 100644 --- a/components/viz/service/frame_sinks/frame_sink_manager_impl.cc +++ b/components/viz/service/frame_sinks/frame_sink_manager_impl.cc
@@ -11,7 +11,6 @@ #include "cc/base/switches.h" #include "cc/scheduler/begin_frame_source.h" #include "cc/surfaces/display.h" -#include "cc/surfaces/surface_dependency_tracker.h" #include "components/viz/service/display_embedder/display_provider.h" #include "components/viz/service/frame_sinks/gpu_compositor_frame_sink.h" #include "components/viz/service/frame_sinks/gpu_root_compositor_frame_sink.h" @@ -26,15 +25,10 @@ display_provider_(display_provider), binding_(this) { manager_.AddObserver(this); - dependency_tracker_ = - base::MakeUnique<cc::SurfaceDependencyTracker>(&manager_); - manager_.SetDependencyTracker(dependency_tracker_.get()); } FrameSinkManagerImpl::~FrameSinkManagerImpl() { DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); - manager_.SetDependencyTracker(nullptr); - dependency_tracker_.reset(); manager_.RemoveObserver(this); }
diff --git a/components/viz/service/frame_sinks/frame_sink_manager_impl.h b/components/viz/service/frame_sinks/frame_sink_manager_impl.h index 37add4c..bf6102c 100644 --- a/components/viz/service/frame_sinks/frame_sink_manager_impl.h +++ b/components/viz/service/frame_sinks/frame_sink_manager_impl.h
@@ -98,8 +98,6 @@ // access to a valid pointer for the entirety of their lifetimes. cc::SurfaceManager manager_; - std::unique_ptr<cc::SurfaceDependencyTracker> dependency_tracker_; - // Provides a cc::Display for CreateRootCompositorFrameSink(). DisplayProvider* const display_provider_;
diff --git a/content/app/content_service_manager_main_delegate.cc b/content/app/content_service_manager_main_delegate.cc index 1055bc3..b8beab1 100644 --- a/content/app/content_service_manager_main_delegate.cc +++ b/content/app/content_service_manager_main_delegate.cc
@@ -37,6 +37,16 @@ return content_main_runner_->Initialize(content_main_params_); } +bool ContentServiceManagerMainDelegate::IsEmbedderSubprocess() { + auto type = base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII( + switches::kProcessType); + return type == switches::kGpuProcess || + type == switches::kPpapiBrokerProcess || + type == switches::kPpapiPluginProcess || + type == switches::kRendererProcess || + type == switches::kUtilityProcess || type == switches::kZygoteProcess; +} + int ContentServiceManagerMainDelegate::RunEmbedderProcess() { return content_main_runner_->Run(); }
diff --git a/content/app/content_service_manager_main_delegate.h b/content/app/content_service_manager_main_delegate.h index c0fd31d..7563ce4 100644 --- a/content/app/content_service_manager_main_delegate.h +++ b/content/app/content_service_manager_main_delegate.h
@@ -23,6 +23,7 @@ // service_manager::MainDelegate: int Initialize(const InitializeParams& params) override; + bool IsEmbedderSubprocess() override; int RunEmbedderProcess() override; void ShutDownEmbedderProcess() override; service_manager::ProcessType OverrideProcessType() override;
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn index 9d7600a..21861aa 100644 --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn
@@ -1136,6 +1136,8 @@ "renderer_host/input/input_router_config_helper.h", "renderer_host/input/legacy_input_router_impl.cc", "renderer_host/input/legacy_input_router_impl.h", + "renderer_host/input/legacy_ipc_widget_input_handler.cc", + "renderer_host/input/legacy_ipc_widget_input_handler.h", "renderer_host/input/legacy_touch_event_queue.cc", "renderer_host/input/legacy_touch_event_queue.h", "renderer_host/input/motion_event_web.cc",
diff --git a/content/browser/OWNERS b/content/browser/OWNERS index 1bc2cd25..b112c31 100644 --- a/content/browser/OWNERS +++ b/content/browser/OWNERS
@@ -12,3 +12,7 @@ # Mac Sandbox profiles. per-file *.sb=set noparent per-file *.sb=rsesek@chromium.org + +# Mac Sandbox parameters. +per-file sandbox_parameters_mac.*=rsesek@chromium.org +per-file sandbox_parameters_mac.*=kerrnel@chromium.org
diff --git a/content/browser/android/ime_adapter_android.cc b/content/browser/android/ime_adapter_android.cc index c864386..5bd5f4b 100644 --- a/content/browser/android/ime_adapter_android.cc +++ b/content/browser/android/ime_adapter_android.cc
@@ -27,7 +27,7 @@ #include "jni/ImeAdapter_jni.h" #include "third_party/WebKit/public/platform/WebInputEvent.h" #include "third_party/WebKit/public/platform/WebTextInputType.h" -#include "third_party/WebKit/public/web/WebCompositionUnderline.h" +#include "ui/base/ime/composition_underline.h" using base::android::AttachCurrentThread; using base::android::ConvertJavaStringToUTF16; @@ -77,7 +77,7 @@ } // Callback from Java to convert BackgroundColorSpan data to a -// blink::WebCompositionUnderline instance, and append it to |underlines_ptr|. +// ui::CompositionUnderline instance, and append it to |underlines_ptr|. void AppendBackgroundColorSpan(JNIEnv*, const JavaParamRef<jclass>&, jlong underlines_ptr, @@ -87,16 +87,15 @@ DCHECK_GE(start, 0); DCHECK_GE(end, 0); // Do not check |background_color|. - std::vector<blink::WebCompositionUnderline>* underlines = - reinterpret_cast<std::vector<blink::WebCompositionUnderline>*>( - underlines_ptr); - underlines->push_back(blink::WebCompositionUnderline( + std::vector<ui::CompositionUnderline>* underlines = + reinterpret_cast<std::vector<ui::CompositionUnderline>*>(underlines_ptr); + underlines->push_back(ui::CompositionUnderline( static_cast<unsigned>(start), static_cast<unsigned>(end), SK_ColorTRANSPARENT, false, static_cast<unsigned>(background_color))); } // Callback from Java to convert UnderlineSpan data to a -// blink::WebCompositionUnderline instance, and append it to |underlines_ptr|. +// ui::CompositionUnderline instance, and append it to |underlines_ptr|. void AppendUnderlineSpan(JNIEnv*, const JavaParamRef<jclass>&, jlong underlines_ptr, @@ -104,10 +103,9 @@ jint end) { DCHECK_GE(start, 0); DCHECK_GE(end, 0); - std::vector<blink::WebCompositionUnderline>* underlines = - reinterpret_cast<std::vector<blink::WebCompositionUnderline>*>( - underlines_ptr); - underlines->push_back(blink::WebCompositionUnderline( + std::vector<ui::CompositionUnderline>* underlines = + reinterpret_cast<std::vector<ui::CompositionUnderline>*>(underlines_ptr); + underlines->push_back(ui::CompositionUnderline( static_cast<unsigned>(start), static_cast<unsigned>(end), SK_ColorBLACK, false, SK_ColorTRANSPARENT)); } @@ -216,12 +214,12 @@ base::string16 text16 = ConvertJavaStringToUTF16(env, text_str); - std::vector<blink::WebCompositionUnderline> underlines = + std::vector<ui::CompositionUnderline> underlines = GetUnderlinesFromSpans(env, obj, text, text16); // Default to plain underline if we didn't find any span that we care about. if (underlines.empty()) { - underlines.push_back(blink::WebCompositionUnderline( + underlines.push_back(ui::CompositionUnderline( 0, text16.length(), SK_ColorBLACK, false, SK_ColorTRANSPARENT)); } @@ -246,7 +244,7 @@ base::string16 text16 = ConvertJavaStringToUTF16(env, text_str); - std::vector<blink::WebCompositionUnderline> underlines = + std::vector<ui::CompositionUnderline> underlines = GetUnderlinesFromSpans(env, obj, text, text16); // relative_cursor_pos is as described in the Android API for @@ -288,7 +286,8 @@ void ImeAdapterAndroid::AdvanceFocusInForm(JNIEnv* env, const JavaParamRef<jobject>& obj, jint focus_type) { - RenderFrameHost* rfh = GetFocusedFrame(); + RenderFrameHostImpl* rfh = + static_cast<RenderFrameHostImpl*>(GetFocusedFrame()); if (!rfh) return; @@ -301,7 +300,8 @@ const JavaParamRef<jobject>&, int start, int end) { - RenderFrameHost* rfh = GetFocusedFrame(); + RenderFrameHostImpl* rfh = + static_cast<RenderFrameHostImpl*>(GetFocusedFrame()); if (!rfh) return; @@ -335,7 +335,8 @@ const JavaParamRef<jobject>&, int start, int end) { - RenderFrameHost* rfh = GetFocusedFrame(); + RenderFrameHostImpl* rfh = + static_cast<RenderFrameHostImpl*>(GetFocusedFrame()); if (!rfh) return; @@ -376,7 +377,7 @@ RenderWidgetHostImpl* rwhi = GetFocusedWidget(); if (!rwhi) return false; - rwhi->Send(new InputMsg_RequestTextInputStateUpdate(rwhi->GetRoutingID())); + rwhi->GetWidgetInputHandler()->RequestTextInputStateUpdate(); return true; } @@ -388,8 +389,8 @@ RenderWidgetHostImpl* rwhi = GetFocusedWidget(); if (!rwhi) return; - rwhi->Send(new InputMsg_RequestCompositionUpdates( - rwhi->GetRoutingID(), immediate_request, monitor_request)); + rwhi->GetWidgetInputHandler()->RequestCompositionUpdates(immediate_request, + monitor_request); } RenderWidgetHostImpl* ImeAdapterAndroid::GetFocusedWidget() { @@ -415,13 +416,12 @@ return nullptr; } -std::vector<blink::WebCompositionUnderline> -ImeAdapterAndroid::GetUnderlinesFromSpans( +std::vector<ui::CompositionUnderline> ImeAdapterAndroid::GetUnderlinesFromSpans( JNIEnv* env, const base::android::JavaParamRef<jobject>& obj, const base::android::JavaParamRef<jobject>& text, const base::string16& text16) { - std::vector<blink::WebCompositionUnderline> underlines; + std::vector<ui::CompositionUnderline> underlines; // Iterate over spans in |text|, dispatch those that we care about (e.g., // BackgroundColorSpan) to a matching callback (e.g., // AppendBackgroundColorSpan()), and populate |underlines|.
diff --git a/content/browser/android/ime_adapter_android.h b/content/browser/android/ime_adapter_android.h index 25012d8a..b0f775f 100644 --- a/content/browser/android/ime_adapter_android.h +++ b/content/browser/android/ime_adapter_android.h
@@ -14,11 +14,11 @@ #include "content/common/content_export.h" #include "ui/gfx/geometry/rect_f.h" -namespace blink { +namespace ui { -struct WebCompositionUnderline; +struct CompositionUnderline; -} // namespace blink +} // namespace ui namespace content { @@ -113,7 +113,7 @@ private: RenderWidgetHostImpl* GetFocusedWidget(); RenderFrameHost* GetFocusedFrame(); - std::vector<blink::WebCompositionUnderline> GetUnderlinesFromSpans( + std::vector<ui::CompositionUnderline> GetUnderlinesFromSpans( JNIEnv* env, const base::android::JavaParamRef<jobject>& obj, const base::android::JavaParamRef<jobject>& text,
diff --git a/content/browser/blob_storage/blob_storage_browsertest.cc b/content/browser/blob_storage/blob_storage_browsertest.cc index b51989b..ac516a8 100644 --- a/content/browser/blob_storage/blob_storage_browsertest.cc +++ b/content/browser/blob_storage/blob_storage_browsertest.cc
@@ -11,6 +11,7 @@ #include "content/public/test/browser_test_utils.h" #include "content/public/test/content_browser_test.h" #include "content/public/test/content_browser_test_utils.h" +#include "content/public/test/test_utils.h" #include "content/shell/browser/shell.h" #include "storage/browser/blob/blob_memory_controller.h" #include "storage/browser/blob/blob_storage_context.h" @@ -99,8 +100,7 @@ // Make sure we run all file / io tasks. base::RunLoop().RunUntilIdle(); - BrowserThread::GetBlockingPool()->FlushForTesting(); - base::RunLoop().RunUntilIdle(); + RunAllBlockingPoolTasksUntilIdle(); } } // namespace content
diff --git a/content/browser/browser_context.cc b/content/browser/browser_context.cc index cb740d98..4330c11 100644 --- a/content/browser/browser_context.cc +++ b/content/browser/browser_context.cc
@@ -482,13 +482,7 @@ if (!base::CommandLine::ForCurrentProcess()->HasSwitch( switches::kDisableMojoLocalStorage)) { service_manager::EmbeddedServiceInfo info; - // TODO(mek): Use sequenced task runner rather than single thread task - // runner when mojo supports that (http://crbug.com/678155). - info.factory = base::Bind( - &file::CreateFileService, - base::CreateSingleThreadTaskRunnerWithTraits( - {base::MayBlock(), base::TaskShutdownBehavior::BLOCK_SHUTDOWN}), - BrowserThread::GetTaskRunnerForThread(BrowserThread::DB)); + info.factory = base::Bind(&file::CreateFileService); connection->AddEmbeddedService(file::mojom::kServiceName, info); }
diff --git a/content/browser/browser_plugin/browser_plugin_guest.cc b/content/browser/browser_plugin/browser_plugin_guest.cc index 7e01f32..4889010 100644 --- a/content/browser/browser_plugin/browser_plugin_guest.cc +++ b/content/browser/browser_plugin/browser_plugin_guest.cc
@@ -60,6 +60,20 @@ namespace content { +namespace { + +std::vector<ui::CompositionUnderline> ConvertToUiUnderline( + const std::vector<blink::WebCompositionUnderline>& underlines) { + std::vector<ui::CompositionUnderline> ui_underlines; + for (const auto& underline : underlines) { + ui_underlines.emplace_back(ui::CompositionUnderline( + underline.start_offset, underline.end_offset, underline.color, + underline.thick, underline.background_color)); + } + return ui_underlines; +} +}; // namespace + class BrowserPluginGuest::EmbedderVisibilityObserver : public WebContentsObserver { public: @@ -226,7 +240,7 @@ static_cast<RenderViewHostImpl*>(RenderViewHost::From(rwh)) ->SetInitialFocus(focus_type == blink::kWebFocusTypeBackward); } - rwh->Send(new InputMsg_SetFocus(rwh->GetRoutingID(), focused)); + RenderWidgetHostImpl::From(rwh)->GetWidgetInputHandler()->SetFocus(focused); if (!focused && mouse_locked_) OnUnlockMouse(); @@ -680,7 +694,9 @@ RenderViewHost* rvh = GetWebContents()->GetRenderViewHost(); // TODO(fsamuel): Investigate whether it's possible to update state earlier // here (see http://crbug.com/158151). - Send(new InputMsg_SetFocus(routing_id(), focused_)); + RenderWidgetHostImpl::From(rvh->GetWidget()) + ->GetWidgetInputHandler() + ->SetFocus(focused_); UpdateVisibility(); // In case we've created a new guest render process after a crash, let the @@ -907,7 +923,8 @@ void BrowserPluginGuest::OnExecuteEditCommand(int browser_plugin_instance_id, const std::string& name) { - RenderFrameHost* focused_frame = web_contents()->GetFocusedFrame(); + RenderFrameHostImpl* focused_frame = + static_cast<RenderFrameHostImpl*>(web_contents()->GetFocusedFrame()); if (!focused_frame) return; @@ -918,9 +935,14 @@ void BrowserPluginGuest::OnImeSetComposition( int browser_plugin_instance_id, const BrowserPluginHostMsg_SetComposition_Params& params) { - Send(new InputMsg_ImeSetComposition( - routing_id(), params.text, params.underlines, params.replacement_range, - params.selection_start, params.selection_end)); + std::vector<ui::CompositionUnderline> ui_underlines = + ConvertToUiUnderline(params.underlines); + GetWebContents() + ->GetRenderViewHost() + ->GetWidget() + ->GetWidgetInputHandler() + ->ImeSetComposition(params.text, ui_underlines, params.replacement_range, + params.selection_start, params.selection_end); } void BrowserPluginGuest::OnImeCommitText( @@ -929,15 +951,25 @@ const std::vector<blink::WebCompositionUnderline>& underlines, const gfx::Range& replacement_range, int relative_cursor_pos) { - Send(new InputMsg_ImeCommitText(routing_id(), text, underlines, - replacement_range, relative_cursor_pos)); + std::vector<ui::CompositionUnderline> ui_underlines = + ConvertToUiUnderline(underlines); + GetWebContents() + ->GetRenderViewHost() + ->GetWidget() + ->GetWidgetInputHandler() + ->ImeCommitText(text, ui_underlines, replacement_range, + relative_cursor_pos); } void BrowserPluginGuest::OnImeFinishComposingText( int browser_plugin_instance_id, bool keep_selection) { DCHECK_EQ(browser_plugin_instance_id_, browser_plugin_instance_id); - Send(new InputMsg_ImeFinishComposingText(routing_id(), keep_selection)); + GetWebContents() + ->GetRenderViewHost() + ->GetWidget() + ->GetWidgetInputHandler() + ->ImeFinishComposingText(keep_selection); } void BrowserPluginGuest::OnExtendSelectionAndDelete( @@ -990,8 +1022,11 @@ void BrowserPluginGuest::OnSetEditCommandsForNextKeyEvent( int browser_plugin_instance_id, const std::vector<EditCommand>& edit_commands) { - Send(new InputMsg_SetEditCommandsForNextKeyEvent(routing_id(), - edit_commands)); + GetWebContents() + ->GetRenderViewHost() + ->GetWidget() + ->GetWidgetInputHandler() + ->SetEditCommandsForNextKeyEvent(edit_commands); } void BrowserPluginGuest::OnSetVisibility(int browser_plugin_instance_id,
diff --git a/content/browser/dom_storage/local_storage_context_mojo_unittest.cc b/content/browser/dom_storage/local_storage_context_mojo_unittest.cc index 70e9cb4..902d97c 100644 --- a/content/browser/dom_storage/local_storage_context_mojo_unittest.cc +++ b/content/browser/dom_storage/local_storage_context_mojo_unittest.cc
@@ -19,6 +19,7 @@ #include "content/public/browser/browser_thread.h" #include "content/public/browser/local_storage_usage_info.h" #include "content/public/test/test_browser_thread_bundle.h" +#include "content/public/test/test_utils.h" #include "content/test/mock_leveldb_database.h" #include "mojo/public/cpp/bindings/associated_binding.h" #include "mojo/public/cpp/bindings/binding.h" @@ -787,10 +788,7 @@ const std::string& name) override { if (name == file::mojom::kServiceName) { file_service_context_.reset(new service_manager::ServiceContext( - file::CreateFileService( - BrowserThread::GetTaskRunnerForThread(BrowserThread::FILE), - BrowserThread::GetTaskRunnerForThread(BrowserThread::DB)), - std::move(request))); + file::CreateFileService(), std::move(request))); } } @@ -813,8 +811,7 @@ : public service_manager::test::ServiceTest { public: LocalStorageContextMojoTestWithService() - : ServiceTest("content_unittests", false), - thread_bundle_(TestBrowserThreadBundle::REAL_FILE_THREAD) {} + : ServiceTest("content_unittests", false) {} ~LocalStorageContextMojoTestWithService() override {} protected: @@ -868,7 +865,6 @@ } private: - TestBrowserThreadBundle thread_bundle_; base::ScopedTempDir temp_path_; DISALLOW_COPY_AND_ASSIGN(LocalStorageContextMojoTestWithService); @@ -1030,6 +1026,8 @@ context->ShutdownAndDelete(); context = nullptr; base::RunLoop().RunUntilIdle(); + // Also flush Task Scheduler tasks to make sure the leveldb is fully closed. + content::RunAllBlockingPoolTasksUntilIdle(); // Delete manifest files to mess up opening DB. base::FilePath db_path =
diff --git a/content/browser/frame_host/input/legacy_ipc_frame_input_handler.cc b/content/browser/frame_host/input/legacy_ipc_frame_input_handler.cc index 51dc7f1..849d9c1 100644 --- a/content/browser/frame_host/input/legacy_ipc_frame_input_handler.cc +++ b/content/browser/frame_host/input/legacy_ipc_frame_input_handler.cc
@@ -12,11 +12,8 @@ namespace content { LegacyIPCFrameInputHandler::LegacyIPCFrameInputHandler( - RenderFrameHostImpl* frame_host, - int routing_id) - : frame_host_(frame_host), routing_id_(routing_id) { - DCHECK(frame_host); -} + RenderFrameHostImpl* frame_host) + : frame_host_(frame_host), routing_id_(frame_host->GetRoutingID()) {} LegacyIPCFrameInputHandler::~LegacyIPCFrameInputHandler() {} @@ -138,6 +135,16 @@ base::MakeUnique<InputMsg_MoveRangeSelectionExtent>(routing_id_, extent)); } +void LegacyIPCFrameInputHandler::ScrollFocusedEditableNodeIntoRect( + const gfx::Rect& rect) { + SendInput(base::MakeUnique<InputMsg_ScrollFocusedEditableNodeIntoRect>( + routing_id_, rect)); +} + +void LegacyIPCFrameInputHandler::MoveCaret(const gfx::Point& point) { + SendInput(base::MakeUnique<InputMsg_MoveCaret>(routing_id_, point)); +} + void LegacyIPCFrameInputHandler::SendInput( std::unique_ptr<IPC::Message> message) { static_cast<LegacyInputRouterImpl*>(
diff --git a/content/browser/frame_host/input/legacy_ipc_frame_input_handler.h b/content/browser/frame_host/input/legacy_ipc_frame_input_handler.h index 6ea79e8..7a10e51 100644 --- a/content/browser/frame_host/input/legacy_ipc_frame_input_handler.h +++ b/content/browser/frame_host/input/legacy_ipc_frame_input_handler.h
@@ -17,9 +17,10 @@ class CONTENT_EXPORT LegacyIPCFrameInputHandler : public mojom::FrameInputHandler { public: - LegacyIPCFrameInputHandler(RenderFrameHostImpl* frame_host, int routing_id); + explicit LegacyIPCFrameInputHandler(RenderFrameHostImpl* frame_host); ~LegacyIPCFrameInputHandler() override; + // mojom::FrameInputHandler overrides. void SetCompositionFromExistingText( int32_t start, int32_t end, @@ -46,6 +47,8 @@ void SelectRange(const gfx::Point& base, const gfx::Point& extent) override; void AdjustSelectionByCharacterOffset(int32_t start, int32_t end) override; void MoveRangeSelectionExtent(const gfx::Point& extent) override; + void ScrollFocusedEditableNodeIntoRect(const gfx::Rect& rect) override; + void MoveCaret(const gfx::Point& point) override; private: void SendInput(std::unique_ptr<IPC::Message> message);
diff --git a/content/browser/frame_host/interstitial_page_impl.cc b/content/browser/frame_host/interstitial_page_impl.cc index d41d52b..96c4267 100644 --- a/content/browser/frame_host/interstitial_page_impl.cc +++ b/content/browser/frame_host/interstitial_page_impl.cc
@@ -442,6 +442,18 @@ RecordAction(base::UserMetricsAction("Cut")); } +void InterstitialPageImpl::ExecuteEditCommand( + const std::string& command, + const base::Optional<base::string16>& value) { + FrameTreeNode* focused_node = frame_tree_->GetFocusedFrame(); + if (!focused_node) + return; + + focused_node->current_frame_host() + ->GetFrameInputHandler() + ->ExecuteEditCommand(command, value); +} + void InterstitialPageImpl::Copy() { FrameTreeNode* focused_node = frame_tree_->GetFocusedFrame(); if (!focused_node)
diff --git a/content/browser/frame_host/interstitial_page_impl.h b/content/browser/frame_host/interstitial_page_impl.h index 2fd048a..cbab206 100644 --- a/content/browser/frame_host/interstitial_page_impl.h +++ b/content/browser/frame_host/interstitial_page_impl.h
@@ -115,6 +115,8 @@ base::i18n::TextDirection title_direction) override; InterstitialPage* GetAsInterstitialPage() override; AccessibilityMode GetAccessibilityMode() const override; + void ExecuteEditCommand(const std::string& command, + const base::Optional<base::string16>& value) override; void Cut() override; void Copy() override; void Paste() override;
diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc index 1f3d428..0a39d52 100644 --- a/content/browser/frame_host/render_frame_host_impl.cc +++ b/content/browser/frame_host/render_frame_host_impl.cc
@@ -786,11 +786,7 @@ } bool RenderFrameHostImpl::Send(IPC::Message* message) { - if (IPC_MESSAGE_ID_CLASS(message->type()) == InputMsgStart) { - return GetRenderWidgetHost()->input_router()->SendInput( - base::WrapUnique(message)); - } - + DCHECK(IPC_MESSAGE_ID_CLASS(message->type()) != InputMsgStart); return GetProcess()->Send(message); } @@ -3333,8 +3329,7 @@ if (base::FeatureList::IsEnabled(features::kMojoInputMessages)) { GetRemoteInterfaces()->GetInterface(&frame_input_handler_); } else { - legacy_frame_input_handler_.reset( - new LegacyIPCFrameInputHandler(this, routing_id_)); + legacy_frame_input_handler_.reset(new LegacyIPCFrameInputHandler(this)); } }
diff --git a/content/browser/frame_host/render_frame_host_impl.h b/content/browser/frame_host/render_frame_host_impl.h index b326ec43..0ee5e67 100644 --- a/content/browser/frame_host/render_frame_host_impl.h +++ b/content/browser/frame_host/render_frame_host_impl.h
@@ -40,6 +40,7 @@ #include "content/common/frame_message_enums.h" #include "content/common/frame_replication_state.h" #include "content/common/image_downloader/image_downloader.mojom.h" +#include "content/common/input/input_handler.mojom.h" #include "content/common/navigation_params.h" #include "content/public/browser/render_frame_host.h" #include "content/public/common/javascript_dialog_type.h" @@ -231,7 +232,7 @@ GURL* blocked_url, SourceLocation* source_location) const override; - mojom::FrameInputHandler* GetFrameInputHandler() override; + mojom::FrameInputHandler* GetFrameInputHandler(); // Creates a RenderFrame in the renderer process. bool CreateRenderFrame(int proxy_routing_id,
diff --git a/content/browser/frame_host/render_frame_host_manager_browsertest.cc b/content/browser/frame_host/render_frame_host_manager_browsertest.cc index e6e38c2..de272050 100644 --- a/content/browser/frame_host/render_frame_host_manager_browsertest.cc +++ b/content/browser/frame_host/render_frame_host_manager_browsertest.cc
@@ -2655,7 +2655,7 @@ // message. RenderProcessHostWatcher watcher( rvh->GetProcess(), RenderProcessHostWatcher::WATCH_FOR_PROCESS_EXIT); - rvh->Send(new InputMsg_SetFocus(rvh->GetRoutingID(), true)); + rvh->GetWidget()->GetWidgetInputHandler()->SetFocus(true); // The test must wait for a process to exit, but if the IPC message is // properly ignored, there will be no crash. Therefore, navigate the
diff --git a/content/browser/frame_host/render_widget_host_view_child_frame_unittest.cc b/content/browser/frame_host/render_widget_host_view_child_frame_unittest.cc index ceb9813..f85b047 100644 --- a/content/browser/frame_host/render_widget_host_view_child_frame_unittest.cc +++ b/content/browser/frame_host/render_widget_host_view_child_frame_unittest.cc
@@ -47,6 +47,10 @@ MockRenderWidgetHostDelegate() {} ~MockRenderWidgetHostDelegate() override {} private: + void ExecuteEditCommand( + const std::string& command, + const base::Optional<base::string16>& value) override {} + void Cut() override {} void Copy() override {} void Paste() override {}
diff --git a/content/browser/frame_host/render_widget_host_view_guest_unittest.cc b/content/browser/frame_host/render_widget_host_view_guest_unittest.cc index 0453cdd2..2e2a4cd0 100644 --- a/content/browser/frame_host/render_widget_host_view_guest_unittest.cc +++ b/content/browser/frame_host/render_widget_host_view_guest_unittest.cc
@@ -41,6 +41,9 @@ private: // RenderWidgetHostDelegate: + void ExecuteEditCommand( + const std::string& command, + const base::Optional<base::string16>& value) override {} void Cut() override {} void Copy() override {} void Paste() override {}
diff --git a/content/browser/indexed_db/indexed_db_database.cc b/content/browser/indexed_db/indexed_db_database.cc index 642ed4d..dc061a7 100644 --- a/content/browser/indexed_db/indexed_db_database.cc +++ b/content/browser/indexed_db/indexed_db_database.cc
@@ -1930,6 +1930,16 @@ metadata_.version = previous_version; } +void IndexedDBDatabase::AbortAllTransactionsForConnections() { + IDB_TRACE("IndexedDBDatabase::AbortAllTransactionsForConnections"); + + for (IndexedDBConnection* connection : connections_) { + connection->AbortAllTransactions( + IndexedDBDatabaseError(blink::kWebIDBDatabaseExceptionUnknownError, + "Database is compacting.")); + } +} + void IndexedDBDatabase::ReportError(leveldb::Status status) { DCHECK(!status.ok()); if (status.IsCorruption()) {
diff --git a/content/browser/indexed_db/indexed_db_database.h b/content/browser/indexed_db/indexed_db_database.h index 1203e8b..b7e42cfc 100644 --- a/content/browser/indexed_db/indexed_db_database.h +++ b/content/browser/indexed_db/indexed_db_database.h
@@ -137,6 +137,8 @@ void TransactionCreated(IndexedDBTransaction* transaction); void TransactionFinished(IndexedDBTransaction* transaction, bool committed); + void AbortAllTransactionsForConnections(); + void AddPendingObserver(IndexedDBTransaction* transaction, int32_t observer_id, const IndexedDBObserver::Options& options);
diff --git a/content/browser/indexed_db/indexed_db_dispatcher_host.cc b/content/browser/indexed_db/indexed_db_dispatcher_host.cc index fb4f1dfa..6c09172 100644 --- a/content/browser/indexed_db/indexed_db_dispatcher_host.cc +++ b/content/browser/indexed_db/indexed_db_dispatcher_host.cc
@@ -4,6 +4,8 @@ #include "content/browser/indexed_db/indexed_db_dispatcher_host.h" +#include <utility> + #include "base/bind.h" #include "base/files/file_path.h" #include "base/guid.h" @@ -33,6 +35,28 @@ return !origin.unique(); } +void DoCallStatusCallback( + IndexedDBDispatcherHost::AbortTransactionsAndCompactDatabaseCallback + callback, + leveldb::Status status) { + DCHECK_CURRENTLY_ON(BrowserThread::IO); + + if (status.ok()) + std::move(callback).Run(::indexed_db::mojom::CompactionStatus::OK); + else + std::move(callback).Run(::indexed_db::mojom::CompactionStatus::Error); +} + +void CallStatusCallbackOnIOThread( + scoped_refptr<base::SequencedTaskRunner> io_runner, + IndexedDBDispatcherHost::AbortTransactionsAndCompactDatabaseCallback + mojo_callback, + leveldb::Status status) { + io_runner->PostTask( + FROM_HERE, + base::BindOnce(&DoCallStatusCallback, std::move(mojo_callback), status)); +} + } // namespace class IndexedDBDispatcherHost::IDBSequenceHelper { @@ -59,6 +83,9 @@ const url::Origin& origin, const base::string16& name, bool force_close); + void AbortTransactionsAndCompactDatabaseOnIDBThread( + base::OnceCallback<void(leveldb::Status)> callback, + const url::Origin& origin); private: const int ipc_process_id_; @@ -229,6 +256,27 @@ origin, name, force_close)); } +void IndexedDBDispatcherHost::AbortTransactionsAndCompactDatabase( + const url::Origin& origin, + AbortTransactionsAndCompactDatabaseCallback mojo_callback) { + DCHECK_CURRENTLY_ON(BrowserThread::IO); + + if (!IsValidOrigin(origin)) { + mojo::ReportBadMessage(kInvalidOrigin); + return; + } + + base::OnceCallback<void(leveldb::Status)> callback_on_io = base::BindOnce( + &CallStatusCallbackOnIOThread, base::ThreadTaskRunnerHandle::Get(), + std::move(mojo_callback)); + idb_runner_->PostTask( + FROM_HERE, + base::BindOnce( + &IDBSequenceHelper::AbortTransactionsAndCompactDatabaseOnIDBThread, + base::Unretained(idb_helper_), base::Passed(&callback_on_io), + origin)); +} + void IndexedDBDispatcherHost::InvalidateWeakPtrsAndClearBindings() { weak_factory_.InvalidateWeakPtrs(); cursor_bindings_.CloseAllBindings(); @@ -284,4 +332,14 @@ force_close); } +void IndexedDBDispatcherHost::IDBSequenceHelper:: + AbortTransactionsAndCompactDatabaseOnIDBThread( + base::OnceCallback<void(leveldb::Status)> callback, + const url::Origin& origin) { + DCHECK(indexed_db_context_->TaskRunner()->RunsTasksInCurrentSequence()); + + indexed_db_context_->GetIDBFactory()->AbortTransactionsAndCompactDatabase( + std::move(callback), origin); +} + } // namespace content
diff --git a/content/browser/indexed_db/indexed_db_dispatcher_host.h b/content/browser/indexed_db/indexed_db_dispatcher_host.h index c56d8c2..67f24ab4 100644 --- a/content/browser/indexed_db/indexed_db_dispatcher_host.h +++ b/content/browser/indexed_db/indexed_db_dispatcher_host.h
@@ -106,6 +106,9 @@ const url::Origin& origin, const base::string16& name, bool force_close) override; + void AbortTransactionsAndCompactDatabase( + const url::Origin& origin, + AbortTransactionsAndCompactDatabaseCallback callback) override; void InvalidateWeakPtrsAndClearBindings();
diff --git a/content/browser/indexed_db/indexed_db_dispatcher_host_unittest.cc b/content/browser/indexed_db/indexed_db_dispatcher_host_unittest.cc index a73e010..b2d98b3 100644 --- a/content/browser/indexed_db/indexed_db_dispatcher_host_unittest.cc +++ b/content/browser/indexed_db/indexed_db_dispatcher_host_unittest.cc
@@ -125,6 +125,13 @@ DISALLOW_COPY_AND_ASSIGN(TestDatabaseConnection); }; +void CompactionStatusCallback(const base::Closure& callback, + ::indexed_db::mojom::CompactionStatus* status_out, + ::indexed_db::mojom::CompactionStatus status) { + *status_out = status; + callback.Run(); +} + } // namespace class IndexedDBDispatcherHostTest : public testing::Test { @@ -442,4 +449,188 @@ } } +TEST_F(IndexedDBDispatcherHostTest, CompactDatabaseWithConnection) { + const int64_t kDBVersion = 1; + const int64_t kTransactionId = 1; + + // Open connection. + TestDatabaseConnection connection(url::Origin(GURL(kOrigin)), + base::UTF8ToUTF16(kDatabaseName), + kDBVersion, kTransactionId); + IndexedDBDatabaseMetadata metadata; + DatabaseAssociatedPtrInfo database_info; + { + base::RunLoop loop; + EXPECT_CALL( + *connection.open_callbacks, + MockedUpgradeNeeded(IsAssociatedInterfacePtrInfoValid(true), + IndexedDBDatabaseMetadata::NO_VERSION, + blink::kWebIDBDataLossNone, std::string(), _)) + .WillOnce(testing::DoAll(MoveArg<0>(&database_info), + testing::SaveArg<4>(&metadata), + RunClosure(loop.QuitClosure()))); + + // Queue open request message. + connection.Open(idb_mojo_factory_.get()); + loop.Run(); + } + + EXPECT_TRUE(database_info.is_valid()); + EXPECT_EQ(connection.version, metadata.version); + EXPECT_EQ(connection.db_name, metadata.name); + + connection.database.Bind(std::move(database_info)); + + ::indexed_db::mojom::CompactionStatus callback_result = + ::indexed_db::mojom::CompactionStatus::Error; + { + ::testing::InSequence dummy; + base::RunLoop loop; + base::Closure quit_closure = base::BarrierClosure(3, loop.QuitClosure()); + const url::Origin origin = url::Origin(GURL(kOrigin)); + + EXPECT_CALL(*connection.connection_callbacks, Complete(kTransactionId)) + .Times(1) + .WillOnce(RunClosure(quit_closure)); + EXPECT_CALL( + *connection.open_callbacks, + MockedSuccessDatabase(IsAssociatedInterfacePtrInfoValid(false), _)) + .Times(1) + .WillOnce(RunClosure(quit_closure)); + + connection.database->Commit(kTransactionId); + idb_mojo_factory_->AbortTransactionsAndCompactDatabase( + origin, base::BindOnce(&CompactionStatusCallback, + std::move(quit_closure), &callback_result)); + + loop.Run(); + } + EXPECT_EQ(::indexed_db::mojom::CompactionStatus::OK, callback_result); +} + +TEST_F(IndexedDBDispatcherHostTest, CompactDatabaseWhileDoingTransaction) { + const int64_t kDBVersion = 1; + const int64_t kTransactionId = 1; + const int64_t kObjectStoreId = 10; + const char kObjectStoreName[] = "os"; + + // Open connection. + TestDatabaseConnection connection(url::Origin(GURL(kOrigin)), + base::UTF8ToUTF16(kDatabaseName), + kDBVersion, kTransactionId); + IndexedDBDatabaseMetadata metadata; + DatabaseAssociatedPtrInfo database_info; + { + base::RunLoop loop; + EXPECT_CALL( + *connection.open_callbacks, + MockedUpgradeNeeded(IsAssociatedInterfacePtrInfoValid(true), + IndexedDBDatabaseMetadata::NO_VERSION, + blink::kWebIDBDataLossNone, std::string(), _)) + .WillOnce(testing::DoAll(MoveArg<0>(&database_info), + testing::SaveArg<4>(&metadata), + RunClosure(loop.QuitClosure()))); + + // Queue open request message. + connection.Open(idb_mojo_factory_.get()); + loop.Run(); + } + + EXPECT_TRUE(database_info.is_valid()); + EXPECT_EQ(connection.version, metadata.version); + EXPECT_EQ(connection.db_name, metadata.name); + + connection.database.Bind(std::move(database_info)); + + ::indexed_db::mojom::CompactionStatus callback_result = + ::indexed_db::mojom::CompactionStatus::Error; + { + ::testing::InSequence dummy; + base::RunLoop loop; + base::Closure quit_closure = base::BarrierClosure(3, loop.QuitClosure()); + const url::Origin origin = url::Origin(GURL(kOrigin)); + + EXPECT_CALL( + *connection.connection_callbacks, + Abort(kTransactionId, blink::kWebIDBDatabaseExceptionUnknownError, _)) + .Times(1) + .WillOnce(RunClosure(quit_closure)); + EXPECT_CALL(*connection.open_callbacks, + Error(blink::kWebIDBDatabaseExceptionAbortError, _)) + .Times(1) + .WillOnce(RunClosure(quit_closure)); + + ASSERT_TRUE(connection.database.is_bound()); + connection.database->CreateObjectStore(kTransactionId, kObjectStoreId, + base::UTF8ToUTF16(kObjectStoreName), + content::IndexedDBKeyPath(), false); + idb_mojo_factory_->AbortTransactionsAndCompactDatabase( + origin, base::BindOnce(&CompactionStatusCallback, + std::move(quit_closure), &callback_result)); + + loop.Run(); + } + EXPECT_EQ(::indexed_db::mojom::CompactionStatus::OK, callback_result); +} + +TEST_F(IndexedDBDispatcherHostTest, CompactDatabaseWhileUpgrading) { + const int64_t kDBVersion = 1; + const int64_t kTransactionId = 1; + + // Open connection. + TestDatabaseConnection connection(url::Origin(GURL(kOrigin)), + base::UTF8ToUTF16(kDatabaseName), + kDBVersion, kTransactionId); + IndexedDBDatabaseMetadata metadata; + DatabaseAssociatedPtrInfo database_info; + { + base::RunLoop loop; + EXPECT_CALL( + *connection.open_callbacks, + MockedUpgradeNeeded(IsAssociatedInterfacePtrInfoValid(true), + IndexedDBDatabaseMetadata::NO_VERSION, + blink::kWebIDBDataLossNone, std::string(), _)) + .WillOnce(testing::DoAll(MoveArg<0>(&database_info), + testing::SaveArg<4>(&metadata), + RunClosure(loop.QuitClosure()))); + + // Queue open request message. + connection.Open(idb_mojo_factory_.get()); + loop.Run(); + } + + EXPECT_TRUE(database_info.is_valid()); + EXPECT_EQ(connection.version, metadata.version); + EXPECT_EQ(connection.db_name, metadata.name); + + connection.database.Bind(std::move(database_info)); + + ::indexed_db::mojom::CompactionStatus callback_result = + ::indexed_db::mojom::CompactionStatus::Error; + { + ::testing::InSequence dummy; + base::RunLoop loop; + base::Closure quit_closure = base::BarrierClosure(3, loop.QuitClosure()); + const url::Origin origin = url::Origin(GURL(kOrigin)); + + EXPECT_CALL( + *connection.connection_callbacks, + Abort(kTransactionId, blink::kWebIDBDatabaseExceptionUnknownError, _)) + .Times(1) + .WillOnce(RunClosure(quit_closure)); + EXPECT_CALL(*connection.open_callbacks, + Error(blink::kWebIDBDatabaseExceptionAbortError, _)) + .Times(1) + .WillOnce(RunClosure(quit_closure)); + + ASSERT_TRUE(connection.database.is_bound()); + idb_mojo_factory_->AbortTransactionsAndCompactDatabase( + origin, base::BindOnce(&CompactionStatusCallback, + std::move(quit_closure), &callback_result)); + + loop.Run(); + } + EXPECT_EQ(::indexed_db::mojom::CompactionStatus::OK, callback_result); +} + } // namespace content
diff --git a/content/browser/indexed_db/indexed_db_factory.h b/content/browser/indexed_db/indexed_db_factory.h index 40f2d64c..00c6a72 100644 --- a/content/browser/indexed_db/indexed_db_factory.h +++ b/content/browser/indexed_db/indexed_db_factory.h
@@ -64,6 +64,10 @@ const base::FilePath& data_directory, bool force_close) = 0; + virtual void AbortTransactionsAndCompactDatabase( + base::OnceCallback<void(leveldb::Status)> callback, + const url::Origin& origin) = 0; + virtual void HandleBackingStoreFailure(const url::Origin& origin) = 0; virtual void HandleBackingStoreCorruption( const url::Origin& origin,
diff --git a/content/browser/indexed_db/indexed_db_factory_impl.cc b/content/browser/indexed_db/indexed_db_factory_impl.cc index b6687744..c06e8dc9 100644 --- a/content/browser/indexed_db/indexed_db_factory_impl.cc +++ b/content/browser/indexed_db/indexed_db_factory_impl.cc
@@ -297,6 +297,38 @@ context_->DatabaseDeleted(identifier.first); } +void IndexedDBFactoryImpl::AbortTransactionsAndCompactDatabase( + base::OnceCallback<void(leveldb::Status)> callback, + const url::Origin& origin) { + IDB_TRACE("IndexedDBFactoryImpl::AbortTransactionsAndCompactDatabase"); + const scoped_refptr<IndexedDBBackingStore>& backing_store = + backing_store_map_[origin]; + if (!backing_store) { + std::move(callback).Run(leveldb::Status::IOError( + "Internal error opening backing store for " + "indexedDB.abortTransactionsAndCompactDatabase.")); + return; + } + + leveldb::Status get_names_status; + std::vector<base::string16> db_names = + backing_store->GetDatabaseNames(&get_names_status); + if (!get_names_status.ok()) { + std::move(callback).Run(leveldb::Status::IOError( + "Internal error getting origin database names for " + "indexedDB.abortTransactionsAndCompactDatabase.")); + return; + } + for (base::string16& name : db_names) { + const scoped_refptr<IndexedDBDatabase>& db = + database_map_[std::make_pair(origin, name)]; + db->AbortAllTransactionsForConnections(); + } + + backing_store->Compact(); + std::move(callback).Run(leveldb::Status::OK()); +} + void IndexedDBFactoryImpl::HandleBackingStoreFailure(const Origin& origin) { // NULL after ContextDestroyed() called, and in some unit tests. if (!context_)
diff --git a/content/browser/indexed_db/indexed_db_factory_impl.h b/content/browser/indexed_db/indexed_db_factory_impl.h index 12617f8..ecb2a54 100644 --- a/content/browser/indexed_db/indexed_db_factory_impl.h +++ b/content/browser/indexed_db/indexed_db_factory_impl.h
@@ -51,6 +51,10 @@ const base::FilePath& data_directory, bool force_close) override; + void AbortTransactionsAndCompactDatabase( + base::OnceCallback<void(leveldb::Status)> callback, + const url::Origin& origin) override; + void HandleBackingStoreFailure(const url::Origin& origin) override; void HandleBackingStoreCorruption( const url::Origin& origin,
diff --git a/content/browser/indexed_db/mock_indexed_db_factory.h b/content/browser/indexed_db/mock_indexed_db_factory.h index a94314c..54ec4fd 100644 --- a/content/browser/indexed_db/mock_indexed_db_factory.h +++ b/content/browser/indexed_db/mock_indexed_db_factory.h
@@ -53,6 +53,16 @@ const url::Origin& origin, const base::FilePath& data_directory, bool force_close)); + MOCK_METHOD2(AbortTransactionsAndCompactDatabaseProxy, + void(base::OnceCallback<void(leveldb::Status)>* callback, + const url::Origin& origin)); + virtual void AbortTransactionsAndCompactDatabase( + base::OnceCallback<void(leveldb::Status)> callback, + const url::Origin& origin) { + base::OnceCallback<void(leveldb::Status)>* callback_ref = &callback; + AbortTransactionsAndCompactDatabaseProxy(callback_ref, origin); + } + MOCK_METHOD1(HandleBackingStoreFailure, void(const url::Origin& origin)); MOCK_METHOD2(HandleBackingStoreCorruption, void(const url::Origin& origin,
diff --git a/content/browser/loader/mime_sniffing_resource_handler.cc b/content/browser/loader/mime_sniffing_resource_handler.cc index 11adad4..1f51261 100644 --- a/content/browser/loader/mime_sniffing_resource_handler.cc +++ b/content/browser/loader/mime_sniffing_resource_handler.cc
@@ -545,10 +545,8 @@ std::unique_ptr<ResourceHandler> handler(host_->MaybeInterceptAsStream( plugin_path, request(), response_.get(), &payload)); if (handler) { - if (!CheckResponseIsNotProvisional()) { - Cancel(); + if (!CheckResponseIsNotProvisional()) return false; - } *handled_by_plugin = true; intercepting_handler_->UseNewHandler(std::move(handler), payload); } @@ -577,7 +575,7 @@ // download. // TODO(abarth): We should abstract the response_code test, but this kind // of check is scattered throughout our codebase. - request()->CancelWithError(net::ERR_INVALID_RESPONSE); + CancelWithError(net::ERR_INVALID_RESPONSE); return false; }
diff --git a/content/browser/power_monitor_browsertest.cc b/content/browser/power_monitor_browsertest.cc index e7e09fae..1842da3 100644 --- a/content/browser/power_monitor_browsertest.cc +++ b/content/browser/power_monitor_browsertest.cc
@@ -7,6 +7,7 @@ #include "base/run_loop.h" #include "base/strings/utf_string_conversions.h" #include "content/public/browser/browser_thread.h" +#include "content/public/browser/gpu_service_registry.h" #include "content/public/browser/render_frame_host.h" #include "content/public/browser/render_process_host.h" #include "content/public/browser/utility_process_host.h" @@ -49,6 +50,10 @@ BindInterface(host, std::move(request)); } +void BindInterfaceForGpuOnIOThread(mojom::PowerMonitorTestRequest request) { + BindInterfaceInGpuProcess(std::move(request)); +} + class MockPowerMonitorMessageBroadcaster : public device::mojom::PowerMonitor { public: MockPowerMonitorMessageBroadcaster() = default; @@ -86,13 +91,15 @@ public: PowerMonitorTest() = default; - void SetUpOnMainThread() override { + void SetUp() override { // Because Device Service also runs in this process(browser process), we can // set our binder to intercept requests for PowerMonitor interface to it. service_manager::ServiceContext::SetGlobalBinderForTesting( device::mojom::kServiceName, device::mojom::PowerMonitor::Name_, base::Bind(&PowerMonitorTest::BindPowerMonitor, base::Unretained(this))); + + ContentBrowserTest::SetUp(); } void BindPowerMonitor(const service_manager::BindSourceInfo& source_info, @@ -108,6 +115,19 @@ DCHECK(utility_bound_closure_); std::move(utility_bound_closure_).Run(); + } else if (source_info.identity.name() == mojom::kGpuServiceName) { + ++request_count_from_gpu_; + + // We ignore null gpu_bound_closure_ here for two possible scenarios: + // - TestRendererProcess and TestUtilityProcess also result in spinning + // up GPU processes as a side effect, but they do not set valid + // gpu_bound_closure_. + // - As GPU process is started during setup of browser test suite, so + // it's possible that TestGpuProcess execution may have not started + // yet when the PowerMonitor bind request comes here, in such case + // gpu_bound_closure_ will also be null. + if (gpu_bound_closure_) + std::move(gpu_bound_closure_).Run(); } power_monitor_message_broadcaster_.Bind( @@ -128,8 +148,13 @@ renderer_bound_closure_ = closure; } + void set_gpu_bound_closure(base::Closure closure) { + gpu_bound_closure_ = closure; + } + int request_count_from_renderer() { return request_count_from_renderer_; } int request_count_from_utility() { return request_count_from_utility_; } + int request_count_from_gpu() { return request_count_from_gpu_; } void SimulatePowerStateChange(bool on_battery_power) { power_monitor_message_broadcaster_.OnPowerStateChange(on_battery_power); @@ -138,7 +163,9 @@ private: int request_count_from_renderer_ = 0; int request_count_from_utility_ = 0; + int request_count_from_gpu_ = 0; base::OnceClosure renderer_bound_closure_; + base::OnceClosure gpu_bound_closure_; base::OnceClosure utility_bound_closure_; MockPowerMonitorMessageBroadcaster power_monitor_message_broadcaster_; @@ -186,6 +213,35 @@ VerifyPowerStateInChildProcess(power_monitor_utility.get(), false); } +IN_PROC_BROWSER_TEST_F(PowerMonitorTest, TestGpuProcess) { + // As gpu process is started automatically during the setup period of browser + // test suite, it may have already started and bound PowerMonitor interface to + // Device Service before execution of this TestGpuProcess test. So here we + // do not wait for the connection if we found it has already been established. + if (request_count_from_gpu() != 1) { + ASSERT_EQ(0, request_count_from_gpu()); + base::RunLoop run_loop; + set_gpu_bound_closure(run_loop.QuitClosure()); + // Wait for the connection from gpu process. + run_loop.Run(); + } + EXPECT_EQ(1, request_count_from_gpu()); + + mojom::PowerMonitorTestPtr power_monitor_gpu; + BrowserThread::PostTask( + BrowserThread::IO, FROM_HERE, + base::BindOnce(&BindInterfaceForGpuOnIOThread, + mojo::MakeRequest(&power_monitor_gpu))); + + SimulatePowerStateChange(true); + // Verify gpu process on_battery_power changed to true. + VerifyPowerStateInChildProcess(power_monitor_gpu.get(), true); + + SimulatePowerStateChange(false); + // Verify gpu process on_battery_power changed to false. + VerifyPowerStateInChildProcess(power_monitor_gpu.get(), false); +} + } // namespace } // namespace content
diff --git a/content/browser/renderer_host/input/input_device_change_observer.cc b/content/browser/renderer_host/input/input_device_change_observer.cc index 704b40c..e0b66d9 100644 --- a/content/browser/renderer_host/input/input_device_change_observer.cc +++ b/content/browser/renderer_host/input/input_device_change_observer.cc
@@ -4,15 +4,12 @@ #include "content/browser/renderer_host/input/input_device_change_observer.h" #include "base/trace_event/trace_event.h" -#include "build/build_config.h" #include "content/public/common/web_preferences.h" #if defined(OS_WIN) #include "ui/events/devices/input_device_observer_win.h" #elif defined(OS_LINUX) #include "ui/events/devices/input_device_manager.h" -#elif defined(OS_ANDROID) -#include "ui/events/devices/input_device_observer_android.h" #endif namespace content { @@ -23,8 +20,6 @@ ui::InputDeviceObserverWin::GetInstance()->AddObserver(this); #elif defined(OS_LINUX) ui::InputDeviceManager::GetInstance()->AddObserver(this); -#elif defined(OS_ANDROID) - ui::InputDeviceObserverAndroid::GetInstance()->AddObserver(this); #endif } @@ -33,8 +28,6 @@ ui::InputDeviceObserverWin::GetInstance()->RemoveObserver(this); #elif defined(OS_LINUX) ui::InputDeviceManager::GetInstance()->RemoveObserver(this); -#elif defined(OS_ANDROID) - ui::InputDeviceObserverAndroid::GetInstance()->RemoveObserver(this); #endif render_view_host_ = nullptr; }
diff --git a/content/browser/renderer_host/input/input_router.h b/content/browser/renderer_host/input/input_router.h index d26541b..47e3b0c 100644 --- a/content/browser/renderer_host/input/input_router.h +++ b/content/browser/renderer_host/input/input_router.h
@@ -30,11 +30,6 @@ ~InputRouter() override {} - // Send and take ownership of the the given InputMsg_*. This should be used - // only for event types not associated with a WebInputEvent. Returns true on - // success and false otherwise. - virtual bool SendInput(std::unique_ptr<IPC::Message> message) = 0; - // WebInputEvents virtual void SendMouseEvent( const MouseEventWithLatencyInfo& mouse_event) = 0;
diff --git a/content/browser/renderer_host/input/interaction_mq_dynamic_browsertest.cc b/content/browser/renderer_host/input/interaction_mq_dynamic_browsertest.cc index 6125b87..013f8c4 100644 --- a/content/browser/renderer_host/input/interaction_mq_dynamic_browsertest.cc +++ b/content/browser/renderer_host/input/interaction_mq_dynamic_browsertest.cc
@@ -4,7 +4,6 @@ #include "base/macros.h" #include "base/strings/utf_string_conversions.h" -#include "build/build_config.h" #include "content/browser/renderer_host/render_view_host_impl.h" #include "content/public/browser/web_contents.h" #include "content/public/test/browser_test_utils.h" @@ -26,7 +25,7 @@ } // namespace -#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_ANDROID) +#if defined(OS_WIN) || defined(OS_LINUX) IN_PROC_BROWSER_TEST_F(InteractionMediaQueriesDynamicTest, PointerMediaQueriesDynamic) { GURL test_url = GetTestUrl("", "interaction-mq-dynamic.html");
diff --git a/content/browser/renderer_host/input/legacy_input_router_impl.h b/content/browser/renderer_host/input/legacy_input_router_impl.h index a285754..bd3189b 100644 --- a/content/browser/renderer_host/input/legacy_input_router_impl.h +++ b/content/browser/renderer_host/input/legacy_input_router_impl.h
@@ -58,8 +58,9 @@ const Config& config); ~LegacyInputRouterImpl() override; + bool SendInput(std::unique_ptr<IPC::Message> message); + // InputRouter - bool SendInput(std::unique_ptr<IPC::Message> message) override; void SendMouseEvent(const MouseEventWithLatencyInfo& mouse_event) override; void SendWheelEvent( const MouseWheelEventWithLatencyInfo& wheel_event) override; @@ -80,6 +81,8 @@ cc::TouchAction AllowedTouchAction() override; + int routing_id() const { return routing_id_; } + private: friend class LegacyInputRouterImplTest; FRIEND_TEST_ALL_PREFIXES(SitePerProcessBrowserTest, @@ -194,8 +197,6 @@ // non-zero touch timeout configuration. void UpdateTouchAckTimeoutEnabled(); - int routing_id() const { return routing_id_; } - IPC::Sender* sender_; InputRouterClient* client_; InputAckHandler* ack_handler_;
diff --git a/content/browser/renderer_host/input/legacy_ipc_widget_input_handler.cc b/content/browser/renderer_host/input/legacy_ipc_widget_input_handler.cc new file mode 100644 index 0000000..fa69e4ad --- /dev/null +++ b/content/browser/renderer_host/input/legacy_ipc_widget_input_handler.cc
@@ -0,0 +1,117 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "content/browser/renderer_host/input/legacy_ipc_widget_input_handler.h" + +#include "base/strings/utf_string_conversions.h" +#include "build/build_config.h" +#include "content/browser/renderer_host/input/legacy_input_router_impl.h" +#include "content/browser/renderer_host/render_widget_host_impl.h" +#include "content/common/input_messages.h" + +namespace content { + +namespace { +std::vector<blink::WebCompositionUnderline> ConvertToBlinkUnderline( + const std::vector<ui::CompositionUnderline>& ui_underlines) { + std::vector<blink::WebCompositionUnderline> underlines; + for (const auto& underline : ui_underlines) { + underlines.emplace_back(blink::WebCompositionUnderline( + underline.start_offset, underline.end_offset, underline.color, + underline.thick, underline.background_color)); + } + return underlines; +} + +} // namespace + +LegacyIPCWidgetInputHandler::LegacyIPCWidgetInputHandler( + LegacyInputRouterImpl* input_router) + : input_router_(input_router) {} + +LegacyIPCWidgetInputHandler::~LegacyIPCWidgetInputHandler() {} + +void LegacyIPCWidgetInputHandler::SetFocus(bool focused) { + SendInput(base::MakeUnique<InputMsg_SetFocus>(input_router_->routing_id(), + focused)); +} + +void LegacyIPCWidgetInputHandler::MouseCaptureLost() {} + +void LegacyIPCWidgetInputHandler::SetEditCommandsForNextKeyEvent( + const std::vector<EditCommand>& commands) { + SendInput(base::MakeUnique<InputMsg_SetEditCommandsForNextKeyEvent>( + input_router_->routing_id(), commands)); +} + +void LegacyIPCWidgetInputHandler::CursorVisibilityChanged(bool visible) { + SendInput(base::MakeUnique<InputMsg_CursorVisibilityChange>( + input_router_->routing_id(), visible)); +} + +void LegacyIPCWidgetInputHandler::ImeSetComposition( + const base::string16& text, + const std::vector<ui::CompositionUnderline>& ui_underlines, + const gfx::Range& range, + int32_t start, + int32_t end) { + std::vector<blink::WebCompositionUnderline> underlines = + ConvertToBlinkUnderline(ui_underlines); + SendInput(base::MakeUnique<InputMsg_ImeSetComposition>( + input_router_->routing_id(), text, underlines, range, start, end)); +} + +void LegacyIPCWidgetInputHandler::ImeCommitText( + const base::string16& text, + const std::vector<ui::CompositionUnderline>& ui_underlines, + const gfx::Range& range, + int32_t relative_cursor_position) { + std::vector<blink::WebCompositionUnderline> underlines = + ConvertToBlinkUnderline(ui_underlines); + SendInput(base::MakeUnique<InputMsg_ImeCommitText>( + input_router_->routing_id(), text, underlines, range, + relative_cursor_position)); +} + +void LegacyIPCWidgetInputHandler::ImeFinishComposingText(bool keep_selection) { + SendInput(base::MakeUnique<InputMsg_ImeFinishComposingText>( + input_router_->routing_id(), keep_selection)); +} +void LegacyIPCWidgetInputHandler::RequestTextInputStateUpdate() { +#if defined(OS_ANDROID) + SendInput(base::MakeUnique<InputMsg_RequestTextInputStateUpdate>( + input_router_->routing_id())); +#endif +} + +void LegacyIPCWidgetInputHandler::RequestCompositionUpdates( + bool immediate_request, + bool monitor_request) { + SendInput(base::MakeUnique<InputMsg_RequestCompositionUpdates>( + input_router_->routing_id(), immediate_request, monitor_request)); +} + +void LegacyIPCWidgetInputHandler::SendInput( + std::unique_ptr<IPC::Message> message) { + input_router_->SendInput(std::move(message)); +} + +void LegacyIPCWidgetInputHandler::DispatchEvent( + content::mojom::EventPtr event, + DispatchEventCallback callback) { + // We only expect these events to be called with the mojo enabled input + // channel. The LegacyInputRouterImpl will handle sending the events + // directly. + NOTREACHED(); +} + +void LegacyIPCWidgetInputHandler::DispatchNonBlockingEvent( + content::mojom::EventPtr) { + // We only expect these events to be called with the mojo enabled input + // channel. The LegacyInputRouterImpl will handle sending the events + // directly. + NOTREACHED(); +} + +} // namespace content
diff --git a/content/browser/renderer_host/input/legacy_ipc_widget_input_handler.h b/content/browser/renderer_host/input/legacy_ipc_widget_input_handler.h new file mode 100644 index 0000000..af0ee2d --- /dev/null +++ b/content/browser/renderer_host/input/legacy_ipc_widget_input_handler.h
@@ -0,0 +1,58 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CONTENT_BROWSER_RENDERER_HOST_INPUT_LEGACY_IPC_WIDGET_INPUT_HANDLER_H_ +#define CONTENT_BROWSER_RENDERER_HOST_INPUT_LEGACY_IPC_WIDGET_INPUT_HANDLER_H_ + +#include "content/common/input/input_handler.mojom.h" + +namespace content { + +class LegacyInputRouterImpl; + +// An instance of a mojom::WidgetInputHandler based on chrome IPC. +// This class is a temporary class to allow the input messages to +// remain as Chrome IPC messages but progressively work at moving +// them to mojo. +class CONTENT_EXPORT LegacyIPCWidgetInputHandler + : public mojom::WidgetInputHandler { + public: + explicit LegacyIPCWidgetInputHandler(LegacyInputRouterImpl* input_router); + ~LegacyIPCWidgetInputHandler() override; + + // mojom::WidgetInputHandler overrides. + void SetFocus(bool focused) override; + void MouseCaptureLost() override; + void SetEditCommandsForNextKeyEvent( + const std::vector<EditCommand>& commands) override; + void CursorVisibilityChanged(bool visible) override; + void ImeSetComposition( + const base::string16& text, + const std::vector<ui::CompositionUnderline>& underlines, + const gfx::Range& range, + int32_t start, + int32_t end) override; + void ImeCommitText(const base::string16& text, + const std::vector<ui::CompositionUnderline>& underlines, + const gfx::Range& range, + int32_t relative_cursor_position) override; + void ImeFinishComposingText(bool keep_selection) override; + void RequestTextInputStateUpdate() override; + void RequestCompositionUpdates(bool immediate_request, + bool monitor_request) override; + void DispatchEvent(content::mojom::EventPtr event, + DispatchEventCallback callback) override; + void DispatchNonBlockingEvent(content::mojom::EventPtr) override; + + private: + void SendInput(std::unique_ptr<IPC::Message> message); + + LegacyInputRouterImpl* input_router_; + + DISALLOW_COPY_AND_ASSIGN(LegacyIPCWidgetInputHandler); +}; + +} // namespace content + +#endif // CONTENT_BROWSER_RENDERER_HOST_INPUT_LEGACY_IPC_WIDGET_INPUT_HANDLER_H_
diff --git a/content/browser/renderer_host/input/touch_selection_controller_client_aura.cc b/content/browser/renderer_host/input/touch_selection_controller_client_aura.cc index 199df16..19cc95df2 100644 --- a/content/browser/renderer_host/input/touch_selection_controller_client_aura.cc +++ b/content/browser/renderer_host/input/touch_selection_controller_client_aura.cc
@@ -323,9 +323,10 @@ void TouchSelectionControllerClientAura::InternalClient::MoveCaret( const gfx::PointF& position) { - RenderWidgetHostImpl* host = - RenderWidgetHostImpl::From(rwhva_->GetRenderWidgetHost()); - host->MoveCaret(gfx::ToRoundedPoint(position)); + RenderWidgetHostDelegate* host_delegate = + RenderWidgetHostImpl::From(rwhva_->GetRenderWidgetHost())->delegate(); + if (host_delegate) + host_delegate->MoveCaret(gfx::ToRoundedPoint(position)); } void TouchSelectionControllerClientAura::MoveRangeSelectionExtent(
diff --git a/content/browser/renderer_host/input/touch_selection_controller_client_child_frame.cc b/content/browser/renderer_host/input/touch_selection_controller_client_child_frame.cc index 8dcb229..0cd3bf9b 100644 --- a/content/browser/renderer_host/input/touch_selection_controller_client_child_frame.cc +++ b/content/browser/renderer_host/input/touch_selection_controller_client_child_frame.cc
@@ -86,9 +86,10 @@ void TouchSelectionControllerClientChildFrame::MoveCaret( const gfx::PointF& position) { - RenderWidgetHostImpl* host = - RenderWidgetHostImpl::From(rwhv_->GetRenderWidgetHost()); - host->MoveCaret(ConvertFromRoot(position)); + RenderWidgetHostDelegate* host_delegate = + RenderWidgetHostImpl::From(rwhv_->GetRenderWidgetHost())->delegate(); + if (host_delegate) + host_delegate->MoveCaret(ConvertFromRoot(position)); } void TouchSelectionControllerClientChildFrame::MoveRangeSelectionExtent(
diff --git a/content/browser/renderer_host/render_widget_host_delegate.h b/content/browser/renderer_host/render_widget_host_delegate.h index 8b98a64a..3083f04 100644 --- a/content/browser/renderer_host/render_widget_host_delegate.h +++ b/content/browser/renderer_host/render_widget_host_delegate.h
@@ -126,6 +126,9 @@ GetOrCreateRootBrowserAccessibilityManager(); // Send OS Cut/Copy/Paste actions to the focused frame. + virtual void ExecuteEditCommand( + const std::string& command, + const base::Optional<base::string16>& value) = 0; virtual void Cut() = 0; virtual void Copy() = 0; virtual void Paste() = 0; @@ -138,6 +141,9 @@ // currently focused frame. virtual void SelectRange(const gfx::Point& base, const gfx::Point& extent) {} + // Request the renderer to Move the caret to the new position. + virtual void MoveCaret(const gfx::Point& extent) {} + virtual RenderWidgetHostInputEventRouter* GetInputEventRouter(); // Send page-level focus state to all SiteInstances involved in rendering the
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc index 2146b973..84d1bc1 100644 --- a/content/browser/renderer_host/render_widget_host_impl.cc +++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -336,6 +336,8 @@ input_router_.reset(new LegacyInputRouterImpl( process_, this, this, routing_id_, GetInputRouterConfigForPlatform())); + legacy_widget_input_handler_ = base::MakeUnique<LegacyIPCWidgetInputHandler>( + static_cast<LegacyInputRouterImpl*>(input_router_.get())); touch_emulator_.reset(); @@ -591,9 +593,7 @@ } bool RenderWidgetHostImpl::Send(IPC::Message* msg) { - if (IPC_MESSAGE_ID_CLASS(msg->type()) == InputMsgStart) - return input_router_->SendInput(base::WrapUnique(msg)); - + DCHECK(IPC_MESSAGE_ID_CLASS(msg->type()) != InputMsgStart); return process_->Send(msg); } @@ -814,7 +814,7 @@ touch_emulator_->CancelTouch(); } - Send(new InputMsg_SetFocus(routing_id_, focused)); + GetWidgetInputHandler()->SetFocus(focused); // Also send page-level focus state to other SiteInstances involved in // rendering the current FrameTree. @@ -826,7 +826,7 @@ if (touch_emulator_) touch_emulator_->CancelTouch(); - Send(new InputMsg_MouseCaptureLost(routing_id_)); + GetWidgetInputHandler()->MouseCaptureLost(); if (delegate_) delegate_->LostCapture(this); @@ -1303,8 +1303,7 @@ // InputMsg_HandleInputEvent is, but has to be sent first. // https://crbug.com/684298 if (commands && !commands->empty()) { - Send( - new InputMsg_SetEditCommandsForNextKeyEvent(GetRoutingID(), *commands)); + GetWidgetInputHandler()->SetEditCommandsForNextKeyEvent(*commands); } input_router_->SendKeyboardEvent(key_event_with_latency); } @@ -1336,7 +1335,7 @@ } void RenderWidgetHostImpl::SendCursorVisibilityState(bool is_visible) { - Send(new InputMsg_CursorVisibilityChange(GetRoutingID(), is_visible)); + GetWidgetInputHandler()->CursorVisibilityChanged(is_visible); } int64_t RenderWidgetHostImpl::GetLatencyComponentId() const { @@ -1480,6 +1479,10 @@ SetCursor(cursor); } +mojom::WidgetInputHandler* RenderWidgetHostImpl::GetWidgetInputHandler() { + return legacy_widget_input_handler_.get(); +} + void RenderWidgetHostImpl::NotifyScreenInfoChanged() { if (delegate_) delegate_->ScreenInfoChanged(); @@ -1690,6 +1693,8 @@ // destroy the aura window, which may dispatch a synthetic mouse move.) input_router_.reset(new LegacyInputRouterImpl( process_, this, this, routing_id_, GetInputRouterConfigForPlatform())); + legacy_widget_input_handler_ = base::MakeUnique<LegacyIPCWidgetInputHandler>( + static_cast<LegacyInputRouterImpl*>(input_router_.get())); synthetic_gesture_controller_.reset(); @@ -1718,32 +1723,31 @@ void RenderWidgetHostImpl::ImeSetComposition( const base::string16& text, - const std::vector<blink::WebCompositionUnderline>& underlines, + const std::vector<ui::CompositionUnderline>& underlines, const gfx::Range& replacement_range, int selection_start, int selection_end) { - Send(new InputMsg_ImeSetComposition( - GetRoutingID(), text, underlines, replacement_range, - selection_start, selection_end)); + GetWidgetInputHandler()->ImeSetComposition( + text, underlines, replacement_range, selection_start, selection_end); } void RenderWidgetHostImpl::ImeCommitText( const base::string16& text, - const std::vector<blink::WebCompositionUnderline>& underlines, + const std::vector<ui::CompositionUnderline>& underlines, const gfx::Range& replacement_range, int relative_cursor_pos) { - Send(new InputMsg_ImeCommitText(GetRoutingID(), text, underlines, - replacement_range, relative_cursor_pos)); + GetWidgetInputHandler()->ImeCommitText(text, underlines, replacement_range, + relative_cursor_pos); } void RenderWidgetHostImpl::ImeFinishComposingText(bool keep_selection) { - Send(new InputMsg_ImeFinishComposingText(GetRoutingID(), keep_selection)); + GetWidgetInputHandler()->ImeFinishComposingText(keep_selection); } void RenderWidgetHostImpl::ImeCancelComposition() { - Send(new InputMsg_ImeSetComposition(GetRoutingID(), base::string16(), - std::vector<blink::WebCompositionUnderline>(), - gfx::Range::InvalidRange(), 0, 0)); + GetWidgetInputHandler()->ImeSetComposition( + base::string16(), std::vector<ui::CompositionUnderline>(), + gfx::Range::InvalidRange(), 0, 0); } void RenderWidgetHostImpl::RejectMouseLockOrUnlockIfNecessary() { @@ -2354,7 +2358,9 @@ void RenderWidgetHostImpl::OnSyntheticGestureCompleted( SyntheticGesture::Result result) { - Send(new InputMsg_SyntheticGestureCompleted(GetRoutingID())); + // TODO(dtapuska): Define mojo interface for InputHostMsg's and this will be a + // callback for completing InputHostMsg_QueueSyntheticGesture. + process_->Send(new InputMsg_SyntheticGestureCompleted(GetRoutingID())); } bool RenderWidgetHostImpl::ShouldDropInputEvents() const { @@ -2365,20 +2371,6 @@ Send(new ViewMsg_SetBackgroundOpaque(GetRoutingID(), opaque)); } -void RenderWidgetHostImpl::ExecuteEditCommand(const std::string& command, - const std::string& value) { - Send(new InputMsg_ExecuteEditCommand(GetRoutingID(), command, value)); -} - -void RenderWidgetHostImpl::ScrollFocusedEditableNodeIntoRect( - const gfx::Rect& rect) { - Send(new InputMsg_ScrollFocusedEditableNodeIntoRect(GetRoutingID(), rect)); -} - -void RenderWidgetHostImpl::MoveCaret(const gfx::Point& point) { - Send(new InputMsg_MoveCaret(GetRoutingID(), point)); -} - bool RenderWidgetHostImpl::GotResponseToLockMouseRequest(bool allowed) { if (!allowed) { RejectMouseLockOrUnlockIfNecessary(); @@ -2557,8 +2549,8 @@ if (!immediate_request && monitor_updates == monitoring_composition_info_) return; monitoring_composition_info_ = monitor_updates; - Send(new InputMsg_RequestCompositionUpdates(routing_id_, immediate_request, - monitor_updates)); + GetWidgetInputHandler()->RequestCompositionUpdates(immediate_request, + monitor_updates); } void RenderWidgetHostImpl::RequestCompositorFrameSink(
diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h index 62299ad..87deb32f 100644 --- a/content/browser/renderer_host/render_widget_host_impl.h +++ b/content/browser/renderer_host/render_widget_host_impl.h
@@ -31,6 +31,7 @@ #include "content/browser/renderer_host/event_with_latency_info.h" #include "content/browser/renderer_host/input/input_ack_handler.h" #include "content/browser/renderer_host/input/input_router_client.h" +#include "content/browser/renderer_host/input/legacy_ipc_widget_input_handler.h" #include "content/browser/renderer_host/input/render_widget_host_latency_tracker.h" #include "content/browser/renderer_host/input/synthetic_gesture.h" #include "content/browser/renderer_host/input/synthetic_gesture_controller.h" @@ -39,6 +40,7 @@ #include "content/browser/renderer_host/render_widget_host_view_base.h" #include "content/common/drag_event_source_info.h" #include "content/common/input/input_event_ack_state.h" +#include "content/common/input/input_handler.mojom.h" #include "content/common/input/synthetic_gesture_packet.h" #include "content/common/render_widget_surface_properties.h" #include "content/common/view_message_enums.h" @@ -67,7 +69,6 @@ namespace blink { class WebInputEvent; class WebMouseEvent; -struct WebCompositionUnderline; } namespace cc { @@ -209,6 +210,7 @@ void DragSourceSystemDragEnded() override; void FilterDropData(DropData* drop_data) override; void SetCursor(const CursorInfo& cursor_info) override; + mojom::WidgetInputHandler* GetWidgetInputHandler(); // Notification that the screen info has changed. void NotifyScreenInfoChanged(); @@ -411,7 +413,7 @@ // * when markedText of NSTextInput is called (on Mac). void ImeSetComposition( const base::string16& text, - const std::vector<blink::WebCompositionUnderline>& underlines, + const std::vector<ui::CompositionUnderline>& underlines, const gfx::Range& replacement_range, int selection_start, int selection_end); @@ -423,11 +425,10 @@ // (on Windows); // * when it receives a "commit" signal of GtkIMContext (on Linux); // * when insertText of NSTextInput is called (on Mac). - void ImeCommitText( - const base::string16& text, - const std::vector<blink::WebCompositionUnderline>& underlines, - const gfx::Range& replacement_range, - int relative_cursor_pos); + void ImeCommitText(const base::string16& text, + const std::vector<ui::CompositionUnderline>& underlines, + const gfx::Range& replacement_range, + int relative_cursor_pos); // Finishes an ongoing composition. // A browser should call this function or ImeCommitText: @@ -452,18 +453,6 @@ // Set the RenderView background transparency. void SetBackgroundOpaque(bool opaque); - // Executes the edit command. - void ExecuteEditCommand(const std::string& command, - const std::string& value); - - // Tells the renderer to scroll the currently focused node into rect only if - // the currently focused node is a Text node (textfield, text area or content - // editable divs). - void ScrollFocusedEditableNodeIntoRect(const gfx::Rect& rect); - - // Requests the renderer to move the caret selection towards the point. - void MoveCaret(const gfx::Point& point); - // Called when the reponse to a pending mouse lock request has arrived. // Returns true if |allowed| is true and the mouse has been successfully // locked. @@ -992,6 +981,8 @@ // Sorted by frame token. std::queue<std::pair<uint32_t, std::vector<IPC::Message>>> queued_messages_; + std::unique_ptr<LegacyIPCWidgetInputHandler> legacy_widget_input_handler_; + base::WeakPtrFactory<RenderWidgetHostImpl> weak_factory_; DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostImpl);
diff --git a/content/browser/renderer_host/render_widget_host_unittest.cc b/content/browser/renderer_host/render_widget_host_unittest.cc index ded5ede..e342df3 100644 --- a/content/browser/renderer_host/render_widget_host_unittest.cc +++ b/content/browser/renderer_host/render_widget_host_unittest.cc
@@ -94,22 +94,16 @@ class MockInputRouter : public InputRouter { public: explicit MockInputRouter(InputRouterClient* client) - : send_event_called_(false), - sent_mouse_event_(false), + : sent_mouse_event_(false), sent_wheel_event_(false), sent_keyboard_event_(false), sent_gesture_event_(false), send_touch_event_not_cancelled_(false), message_received_(false), - client_(client) { - } + client_(client) {} ~MockInputRouter() override {} // InputRouter - bool SendInput(std::unique_ptr<IPC::Message> message) override { - send_event_called_ = true; - return true; - } void SendMouseEvent(const MouseEventWithLatencyInfo& mouse_event) override { sent_mouse_event_ = true; } @@ -146,7 +140,6 @@ return false; } - bool send_event_called_; bool sent_mouse_event_; bool sent_wheel_event_; bool sent_keyboard_event_; @@ -205,6 +198,9 @@ void DisableGestureDebounce() { input_router_.reset(new LegacyInputRouterImpl( process_, this, this, routing_id_, InputRouter::Config())); + legacy_widget_input_handler_ = + base::MakeUnique<LegacyIPCWidgetInputHandler>( + static_cast<LegacyInputRouterImpl*>(input_router_.get())); } WebInputEvent::Type acked_touch_event_type() const { @@ -213,6 +209,9 @@ void SetupForInputRouterTest() { input_router_.reset(new MockInputRouter(this)); + legacy_widget_input_handler_ = + base::MakeUnique<LegacyIPCWidgetInputHandler>( + static_cast<LegacyInputRouterImpl*>(input_router_.get())); } MockInputRouter* mock_input_router() { @@ -487,6 +486,10 @@ unresponsive_timer_fired_ = true; } + void ExecuteEditCommand( + const std::string& command, + const base::Optional<base::string16>& value) override {} + void Cut() override {} void Copy() override {} void Paste() override {} @@ -1682,54 +1685,6 @@ EXPECT_EQ(0U, process_->sink().message_count()); } -#define TEST_InputRouterRoutes_NOARGS(INPUTMSG) \ - TEST_F(RenderWidgetHostTest, InputRouterRoutes##INPUTMSG) { \ - host_->SetupForInputRouterTest(); \ - host_->INPUTMSG(); \ - EXPECT_TRUE(host_->mock_input_router()->send_event_called_); \ - } - -TEST_InputRouterRoutes_NOARGS(Focus); -TEST_InputRouterRoutes_NOARGS(Blur); -TEST_InputRouterRoutes_NOARGS(LostCapture); - -#undef TEST_InputRouterRoutes_NOARGS - -#define TEST_InputRouterRoutes_NOARGS_FromRFH(INPUTMSG) \ - TEST_F(RenderWidgetHostTest, InputRouterRoutes##INPUTMSG) { \ - host_->SetupForInputRouterTest(); \ - host_->Send(new INPUTMSG(host_->GetRoutingID())); \ - EXPECT_TRUE(host_->mock_input_router()->send_event_called_); \ - } - -TEST_InputRouterRoutes_NOARGS_FromRFH(InputMsg_Undo); -TEST_InputRouterRoutes_NOARGS_FromRFH(InputMsg_Redo); -TEST_InputRouterRoutes_NOARGS_FromRFH(InputMsg_Cut); -TEST_InputRouterRoutes_NOARGS_FromRFH(InputMsg_Copy); -#if defined(OS_MACOSX) -TEST_InputRouterRoutes_NOARGS_FromRFH(InputMsg_CopyToFindPboard); -#endif -TEST_InputRouterRoutes_NOARGS_FromRFH(InputMsg_Paste); -TEST_InputRouterRoutes_NOARGS_FromRFH(InputMsg_PasteAndMatchStyle); -TEST_InputRouterRoutes_NOARGS_FromRFH(InputMsg_Delete); -TEST_InputRouterRoutes_NOARGS_FromRFH(InputMsg_SelectAll); -TEST_InputRouterRoutes_NOARGS_FromRFH(InputMsg_CollapseSelection); - -#undef TEST_InputRouterRoutes_NOARGS_FromRFH - -TEST_F(RenderWidgetHostTest, InputRouterRoutesReplace) { - host_->SetupForInputRouterTest(); - host_->Send(new InputMsg_Replace(host_->GetRoutingID(), base::string16())); - EXPECT_TRUE(host_->mock_input_router()->send_event_called_); -} - -TEST_F(RenderWidgetHostTest, InputRouterRoutesReplaceMisspelling) { - host_->SetupForInputRouterTest(); - host_->Send(new InputMsg_ReplaceMisspelling(host_->GetRoutingID(), - base::string16())); - EXPECT_TRUE(host_->mock_input_router()->send_event_called_); -} - TEST_F(RenderWidgetHostTest, IgnoreInputEvent) { host_->SetupForInputRouterTest();
diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/content/browser/renderer_host/render_widget_host_view_android.cc index b11b0aa..d4b5e98 100644 --- a/content/browser/renderer_host/render_widget_host_view_android.cc +++ b/content/browser/renderer_host/render_widget_host_view_android.cc
@@ -1955,8 +1955,8 @@ } void RenderWidgetHostViewAndroid::MoveCaret(const gfx::Point& point) { - if (host_) - host_->MoveCaret(point); + if (host_ && host_->delegate()) + host_->delegate()->MoveCaret(point); } void RenderWidgetHostViewAndroid::ShowContextMenuAtPoint(
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 2c426e7..a6c969f 100644 --- a/content/browser/renderer_host/render_widget_host_view_aura.cc +++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -145,15 +145,15 @@ // is obscured by the on screen keyboard. class WinScreenKeyboardObserver : public ui::OnScreenKeyboardObserver { public: - WinScreenKeyboardObserver(RenderWidgetHostImpl* host, + WinScreenKeyboardObserver(RenderWidgetHostViewAura* host_view, const gfx::Point& location_in_screen, float scale_factor, aura::Window* window) - : host_(host), + : host_view_(host_view), location_in_screen_(location_in_screen), device_scale_factor_(scale_factor), window_(window) { - host_->GetView()->SetInsets(gfx::Insets()); + host_view_->SetInsets(gfx::Insets()); } // base::win::OnScreenKeyboardObserver overrides. @@ -162,7 +162,7 @@ gfx::ConvertPointToPixel(device_scale_factor_, location_in_screen_); // Restore the viewport. - host_->GetView()->SetInsets(gfx::Insets()); + host_view_->SetInsets(gfx::Insets()); if (keyboard_rect_pixels.Contains(location_in_pixels)) { aura::client::ScreenPositionClient* screen_position_client = @@ -187,7 +187,7 @@ if (viewport_bottom > bounds_in_screen.height()) return; - host_->GetView()->SetInsets(gfx::Insets(0, 0, viewport_bottom, 0)); + host_view_->SetInsets(gfx::Insets(0, 0, viewport_bottom, 0)); gfx::Point origin(location_in_screen_); screen_position_client->ConvertPointFromScreen(window_, &origin); @@ -197,17 +197,18 @@ // We want to scroll the node into a rectangle which originates from // the touch point and a small offset (10) in either direction. gfx::Rect node_rect(origin.x(), origin.y(), 10, 10); - host_->ScrollFocusedEditableNodeIntoRect(node_rect); + + host_view_->ScrollFocusedEditableNodeIntoRect(node_rect); } } void OnKeyboardHidden(const gfx::Rect& keyboard_rect_pixels) override { // Restore the viewport. - host_->GetView()->SetInsets(gfx::Insets()); + host_view_->SetInsets(gfx::Insets()); } private: - RenderWidgetHostImpl* host_; + RenderWidgetHostViewAura* host_view_; // The location in DIPs where the touch occurred. gfx::Point location_in_screen_; // The current device scale factor. @@ -770,7 +771,7 @@ DCHECK(osk_display_manager); if (editable && host_->GetView() && host_->delegate()) { keyboard_observer_.reset(new WinScreenKeyboardObserver( - host_, location_dips_screen, device_scale_factor_, window_)); + this, location_dips_screen, device_scale_factor_, window_)); virtual_keyboard_requested_ = osk_display_manager->DisplayVirtualKeyboard(keyboard_observer_.get()); } else { @@ -1168,25 +1169,10 @@ if (!text_input_manager_ || !text_input_manager_->GetActiveWidget()) return; - // TODO(suzhe): convert both renderer_host and renderer to use - // ui::CompositionText. - std::vector<blink::WebCompositionUnderline> underlines; - underlines.reserve(composition.underlines.size()); - for (std::vector<ui::CompositionUnderline>::const_iterator it = - composition.underlines.begin(); - it != composition.underlines.end(); ++it) { - underlines.push_back( - blink::WebCompositionUnderline(static_cast<unsigned>(it->start_offset), - static_cast<unsigned>(it->end_offset), - it->color, - it->thick, - it->background_color)); - } - // TODO(suzhe): due to a bug of webkit, we can't use selection range with // composition string. See: https://bugs.webkit.org/show_bug.cgi?id=37788 text_input_manager_->GetActiveWidget()->ImeSetComposition( - composition.text, underlines, gfx::Range::InvalidRange(), + composition.text, composition.underlines, gfx::Range::InvalidRange(), composition.selection.end(), composition.selection.end()); has_composition_text_ = !composition.text.empty(); @@ -1213,7 +1199,7 @@ if (text_input_manager_ && text_input_manager_->GetActiveWidget()) { if (text.length()) text_input_manager_->GetActiveWidget()->ImeCommitText( - text, std::vector<blink::WebCompositionUnderline>(), + text, std::vector<ui::CompositionUnderline>(), gfx::Range::InvalidRange(), 0); else if (has_composition_text_) text_input_manager_->GetActiveWidget()->ImeFinishComposingText(false); @@ -1443,7 +1429,7 @@ window_->GetBoundsInScreen(), hidden_window_bounds_in_screen); visible_area_in_local_space = ConvertRectFromScreen(visible_area_in_local_space); - host_->ScrollFocusedEditableNodeIntoRect(visible_area_in_local_space); + ScrollFocusedEditableNodeIntoRect(visible_area_in_local_space); } bool RenderWidgetHostViewAura::IsTextEditCommandEnabled( @@ -2421,4 +2407,12 @@ delegated_frame_host_->SetNeedsBeginFrames(needs_begin_frames_); } +void RenderWidgetHostViewAura::ScrollFocusedEditableNodeIntoRect( + const gfx::Rect& node_rect) { + RenderFrameHostImpl* rfh = GetFocusedFrame(); + if (rfh) { + rfh->GetFrameInputHandler()->ScrollFocusedEditableNodeIntoRect(node_rect); + } +} + } // namespace content
diff --git a/content/browser/renderer_host/render_widget_host_view_aura.h b/content/browser/renderer_host/render_widget_host_view_aura.h index 3db5e41..9c4f3d4 100644 --- a/content/browser/renderer_host/render_widget_host_view_aura.h +++ b/content/browser/renderer_host/render_widget_host_view_aura.h
@@ -332,6 +332,8 @@ return event_handler_.get(); } + void ScrollFocusedEditableNodeIntoRect(const gfx::Rect& rect); + protected: ~RenderWidgetHostViewAura() override;
diff --git a/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc b/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc index 72315fe..2e142be 100644 --- a/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc +++ b/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
@@ -243,6 +243,9 @@ last_event_.reset(new NativeWebKeyboardEvent(event)); return pre_handle_keyboard_event_result_; } + void ExecuteEditCommand( + const std::string& command, + const base::Optional<base::string16>& value) override {} void Cut() override {} void Copy() override {} void Paste() override {}
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.h b/content/browser/renderer_host/render_widget_host_view_mac.h index 9dcacd2..031508c 100644 --- a/content/browser/renderer_host/render_widget_host_view_mac.h +++ b/content/browser/renderer_host/render_widget_host_view_mac.h
@@ -32,12 +32,12 @@ #include "content/common/cursors/webcursor.h" #include "content/common/edit_command.h" #include "ipc/ipc_sender.h" -#include "third_party/WebKit/public/web/WebCompositionUnderline.h" #include "ui/accelerated_widget_mac/accelerated_widget_mac.h" #include "ui/accelerated_widget_mac/display_link_mac.h" #import "ui/base/cocoa/command_dispatcher.h" #include "ui/base/cocoa/remote_layer_api.h" #import "ui/base/cocoa/tool_tip_base_view.h" +#include "ui/base/ime/composition_underline.h" #include "ui/display/display_observer.h" namespace content { @@ -124,7 +124,7 @@ NSRange markedTextSelectedRange_; // Underline information of the |markedText_|. - std::vector<blink::WebCompositionUnderline> underlines_; + std::vector<ui::CompositionUnderline> underlines_; // Replacement range information received from |setMarkedText:|. gfx::Range setMarkedTextReplacementRange_;
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm index 18561991..1c48e6b 100644 --- a/content/browser/renderer_host/render_widget_host_view_mac.mm +++ b/content/browser/renderer_host/render_widget_host_view_mac.mm
@@ -279,9 +279,8 @@ // Extract underline information from an attributed string. Mostly copied from // third_party/WebKit/Source/WebKit/mac/WebView/WebHTMLView.mm -void ExtractUnderlines( - NSAttributedString* string, - std::vector<blink::WebCompositionUnderline>* underlines) { +void ExtractUnderlines(NSAttributedString* string, + std::vector<ui::CompositionUnderline>* underlines) { int length = [[string string] length]; int i = 0; while (i < length) { @@ -297,11 +296,8 @@ [colorAttr colorUsingColorSpaceName:NSDeviceRGBColorSpace]); } underlines->push_back( - blink::WebCompositionUnderline(range.location, - NSMaxRange(range), - color, - [style intValue] > 1, - SK_ColorTRANSPARENT)); + ui::CompositionUnderline(range.location, NSMaxRange(range), color, + [style intValue] > 1, SK_ColorTRANSPARENT)); } i = range.location + range.length; } @@ -2244,7 +2240,7 @@ if (textToBeInserted_.length() > ((hasMarkedText_ || oldHasMarkedText) ? 0u : 1u)) { widgetHost->ImeCommitText(textToBeInserted_, - std::vector<blink::WebCompositionUnderline>(), + std::vector<ui::CompositionUnderline>(), gfx::Range::InvalidRange(), 0); textInserted = YES; } @@ -3263,8 +3259,8 @@ ExtractUnderlines(string, &underlines_); } else { // Use a thin black underline by default. - underlines_.push_back(blink::WebCompositionUnderline( - 0, length, SK_ColorBLACK, false, SK_ColorTRANSPARENT)); + underlines_.push_back(ui::CompositionUnderline(0, length, SK_ColorBLACK, + false, SK_ColorTRANSPARENT)); } // If we are handling a key down event, then SetComposition() will be @@ -3307,9 +3303,10 @@ base::CompareCase::INSENSITIVE_ASCII)) editCommands_.push_back(EditCommand(command, "")); } else { - RenderWidgetHostImpl* rwh = renderWidgetHostView_->render_widget_host_; - rwh->Send(new InputMsg_ExecuteEditCommand(rwh->GetRoutingID(), - command, "")); + if (renderWidgetHostView_->render_widget_host_->delegate()) { + renderWidgetHostView_->render_widget_host_->delegate() + ->ExecuteEditCommand(command, base::nullopt); + } } } @@ -3338,7 +3335,7 @@ if (renderWidgetHostView_->GetActiveWidget()) { renderWidgetHostView_->GetActiveWidget()->ImeCommitText( base::SysNSStringToUTF16(im_text), - std::vector<blink::WebCompositionUnderline>(), replacement_range, 0); + std::vector<ui::CompositionUnderline>(), replacement_range, 0); } }
diff --git a/content/browser/renderer_host/render_widget_host_view_mac_editcommand_helper.mm b/content/browser/renderer_host/render_widget_host_view_mac_editcommand_helper.mm index b6923ee..72cbc1c2 100644 --- a/content/browser/renderer_host/render_widget_host_view_mac_editcommand_helper.mm +++ b/content/browser/renderer_host/render_widget_host_view_mac_editcommand_helper.mm
@@ -142,10 +142,10 @@ renderWidgetHostViewMac]; DCHECK(rwhv); - RenderWidgetHostImpl* rwh = - RenderWidgetHostImpl::From(rwhv->GetRenderWidgetHost()); - // The second parameter is the core command value which isn't used here. - rwh->ExecuteEditCommand(command, ""); + RenderWidgetHostDelegate* host_delegate = + RenderWidgetHostImpl::From(rwhv->GetRenderWidgetHost())->delegate(); + if (host_delegate) + host_delegate->ExecuteEditCommand(command, base::nullopt); } } // namespace
diff --git a/content/browser/renderer_host/render_widget_host_view_mac_editcommand_helper_unittest.mm b/content/browser/renderer_host/render_widget_host_view_mac_editcommand_helper_unittest.mm index 3c513e0..b24bdafb 100644 --- a/content/browser/renderer_host/render_widget_host_view_mac_editcommand_helper_unittest.mm +++ b/content/browser/renderer_host/render_widget_host_view_mac_editcommand_helper_unittest.mm
@@ -74,34 +74,24 @@ return true; } -class MockRenderWidgetHostDelegate : public RenderWidgetHostDelegate { +class RenderWidgetHostDelegateEditCommandCounter + : public RenderWidgetHostDelegate { public: - MockRenderWidgetHostDelegate() {} - ~MockRenderWidgetHostDelegate() override {} - - private: - void Cut() override {} - void Copy() override {} - void Paste() override {} - void SelectAll() override {} -}; - -// Create a RenderWidget for which we can filter messages. -class RenderWidgetHostEditCommandCounter : public RenderWidgetHostImpl { - public: - RenderWidgetHostEditCommandCounter(RenderWidgetHostDelegate* delegate, - RenderProcessHost* process, - int32_t routing_id) - : RenderWidgetHostImpl(delegate, process, routing_id, false), - edit_command_message_count_(0) {} - - bool Send(IPC::Message* message) override { - if (message->type() == InputMsg_ExecuteEditCommand::ID) - edit_command_message_count_++; - return RenderWidgetHostImpl::Send(message); - } - + RenderWidgetHostDelegateEditCommandCounter() + : edit_command_message_count_(0) {} + ~RenderWidgetHostDelegateEditCommandCounter() override {} unsigned int edit_command_message_count_; + + private: + void ExecuteEditCommand( + const std::string& command, + const base::Optional<base::string16>& value) override { + edit_command_message_count_++; + } + void Cut() override {} + void Copy() override {} + void Paste() override {} + void SelectAll() override {} }; class RenderWidgetHostViewMacEditCommandHelperTest : public PlatformTest { @@ -136,7 +126,7 @@ // RenderWidgetHost. TEST_F(RenderWidgetHostViewMacEditCommandHelperWithTaskEnvTest, TestEditingCommandDelivery) { - MockRenderWidgetHostDelegate delegate; + RenderWidgetHostDelegateEditCommandCounter delegate; TestBrowserContext browser_context; MockRenderProcessHostFactory process_host_factory; RenderProcessHost* process_host = @@ -150,9 +140,9 @@ base::mac::ScopedNSAutoreleasePool pool; int32_t routing_id = process_host->GetNextRoutingID(); - RenderWidgetHostEditCommandCounter* render_widget = - new RenderWidgetHostEditCommandCounter(&delegate, process_host, - routing_id); + + RenderWidgetHostImpl* render_widget = + new RenderWidgetHostImpl(&delegate, process_host, routing_id, false); ui::WindowResizeHelperMac::Get()->Init(base::ThreadTaskRunnerHandle::Get()); @@ -176,7 +166,7 @@ } size_t num_edit_commands = [edit_command_strings count]; - EXPECT_EQ(render_widget->edit_command_message_count_, num_edit_commands); + EXPECT_EQ(delegate.edit_command_message_count_, num_edit_commands); rwhv_cocoa.reset(); pool.Recycle();
diff --git a/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm b/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm index cd5e5117..87946bc29 100644 --- a/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm +++ b/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm
@@ -210,6 +210,9 @@ } private: + void ExecuteEditCommand( + const std::string& command, + const base::Optional<base::string16>& value) override {} void Cut() override {} void Copy() override {} void Paste() override {}
diff --git a/content/browser/renderer_host/text_input_client_mac_unittest.mm b/content/browser/renderer_host/text_input_client_mac_unittest.mm index c74fc6db..73c1be83 100644 --- a/content/browser/renderer_host/text_input_client_mac_unittest.mm +++ b/content/browser/renderer_host/text_input_client_mac_unittest.mm
@@ -34,6 +34,9 @@ ~MockRenderWidgetHostDelegate() override {} private: + void ExecuteEditCommand( + const std::string& command, + const base::Optional<base::string16>& value) override {} void Cut() override {} void Copy() override {} void Paste() override {}
diff --git a/content/browser/sandbox_parameters_mac.mm b/content/browser/sandbox_parameters_mac.mm index 86d4981..158f357a 100644 --- a/content/browser/sandbox_parameters_mac.mm +++ b/content/browser/sandbox_parameters_mac.mm
@@ -35,6 +35,9 @@ Sandbox::GetCanonicalSandboxPath(base::GetHomeDir()).value(); CHECK(client->SetParameter(Sandbox::kSandboxHomedirAsLiteral, homedir)); + CHECK(client->SetBooleanParameter(Sandbox::kSandboxMavericks, + base::mac::IsOS10_9())); + bool elcap_or_later = base::mac::IsAtLeastOS10_11(); CHECK(client->SetBooleanParameter(Sandbox::kSandboxElCapOrLater, elcap_or_later));
diff --git a/content/browser/web_contents/web_contents_android.cc b/content/browser/web_contents/web_contents_android.cc index 6e28ceb..84ea2af 100644 --- a/content/browser/web_contents/web_contents_android.cc +++ b/content/browser/web_contents/web_contents_android.cc
@@ -415,11 +415,10 @@ void WebContentsAndroid::ScrollFocusedEditableNodeIntoView( JNIEnv* env, const JavaParamRef<jobject>& obj) { - RenderViewHost* host = web_contents_->GetRenderViewHost(); - if (!host) + RenderFrameHostImpl* frame = web_contents_->GetFocusedFrame(); + if (!frame) return; - host->Send(new InputMsg_ScrollFocusedEditableNodeIntoRect( - host->GetRoutingID(), gfx::Rect())); + frame->GetFrameInputHandler()->ScrollFocusedEditableNodeIntoRect(gfx::Rect()); } void WebContentsAndroid::SelectWordAroundCaret(
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc index 3be78992..9738d39b 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc
@@ -2753,8 +2753,18 @@ return rfh ? rfh->GetOrCreateBrowserAccessibilityManager() : nullptr; } +void WebContentsImpl::ExecuteEditCommand( + const std::string& command, + const base::Optional<base::string16>& value) { + RenderFrameHostImpl* focused_frame = GetFocusedFrame(); + if (!focused_frame) + return; + + focused_frame->GetFrameInputHandler()->ExecuteEditCommand(command, value); +} + void WebContentsImpl::MoveRangeSelectionExtent(const gfx::Point& extent) { - RenderFrameHost* focused_frame = GetFocusedFrame(); + RenderFrameHostImpl* focused_frame = GetFocusedFrame(); if (!focused_frame) return; @@ -2763,16 +2773,24 @@ void WebContentsImpl::SelectRange(const gfx::Point& base, const gfx::Point& extent) { - RenderFrameHost* focused_frame = GetFocusedFrame(); + RenderFrameHostImpl* focused_frame = GetFocusedFrame(); if (!focused_frame) return; focused_frame->GetFrameInputHandler()->SelectRange(base, extent); } +void WebContentsImpl::MoveCaret(const gfx::Point& extent) { + RenderFrameHostImpl* focused_frame = GetFocusedFrame(); + if (!focused_frame) + return; + + focused_frame->GetFrameInputHandler()->MoveCaret(extent); +} + void WebContentsImpl::AdjustSelectionByCharacterOffset(int start_adjust, int end_adjust) { - RenderFrameHost* focused_frame = GetFocusedFrame(); + RenderFrameHostImpl* focused_frame = GetFocusedFrame(); if (!focused_frame) return; @@ -2953,7 +2971,7 @@ } void WebContentsImpl::Undo() { - RenderFrameHost* focused_frame = GetFocusedFrame(); + RenderFrameHostImpl* focused_frame = GetFocusedFrame(); if (!focused_frame) return; @@ -2962,7 +2980,7 @@ } void WebContentsImpl::Redo() { - RenderFrameHost* focused_frame = GetFocusedFrame(); + RenderFrameHostImpl* focused_frame = GetFocusedFrame(); if (!focused_frame) return; focused_frame->GetFrameInputHandler()->Redo(); @@ -2970,7 +2988,7 @@ } void WebContentsImpl::Cut() { - RenderFrameHost* focused_frame = GetFocusedFrame(); + RenderFrameHostImpl* focused_frame = GetFocusedFrame(); if (!focused_frame) return; @@ -2979,7 +2997,7 @@ } void WebContentsImpl::Copy() { - RenderFrameHost* focused_frame = GetFocusedFrame(); + RenderFrameHostImpl* focused_frame = GetFocusedFrame(); if (!focused_frame) return; @@ -2989,7 +3007,7 @@ void WebContentsImpl::CopyToFindPboard() { #if defined(OS_MACOSX) - RenderFrameHost* focused_frame = GetFocusedFrame(); + RenderFrameHostImpl* focused_frame = GetFocusedFrame(); if (!focused_frame) return; @@ -3000,7 +3018,7 @@ } void WebContentsImpl::Paste() { - RenderFrameHost* focused_frame = GetFocusedFrame(); + RenderFrameHostImpl* focused_frame = GetFocusedFrame(); if (!focused_frame) return; @@ -3009,7 +3027,7 @@ } void WebContentsImpl::PasteAndMatchStyle() { - RenderFrameHost* focused_frame = GetFocusedFrame(); + RenderFrameHostImpl* focused_frame = GetFocusedFrame(); if (!focused_frame) return; @@ -3018,7 +3036,7 @@ } void WebContentsImpl::Delete() { - RenderFrameHost* focused_frame = GetFocusedFrame(); + RenderFrameHostImpl* focused_frame = GetFocusedFrame(); if (!focused_frame) return; @@ -3027,7 +3045,7 @@ } void WebContentsImpl::SelectAll() { - RenderFrameHost* focused_frame = GetFocusedFrame(); + RenderFrameHostImpl* focused_frame = GetFocusedFrame(); if (!focused_frame) return; @@ -3036,7 +3054,7 @@ } void WebContentsImpl::CollapseSelection() { - RenderFrameHost* focused_frame = GetFocusedFrame(); + RenderFrameHostImpl* focused_frame = GetFocusedFrame(); if (!focused_frame) return; @@ -3044,7 +3062,7 @@ } void WebContentsImpl::Replace(const base::string16& word) { - RenderFrameHost* focused_frame = GetFocusedFrame(); + RenderFrameHostImpl* focused_frame = GetFocusedFrame(); if (!focused_frame) return; @@ -3052,7 +3070,7 @@ } void WebContentsImpl::ReplaceMisspelling(const base::string16& word) { - RenderFrameHost* focused_frame = GetFocusedFrame(); + RenderFrameHostImpl* focused_frame = GetFocusedFrame(); if (!focused_frame) return;
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h index 12b4c25..db555e4 100644 --- a/content/browser/web_contents/web_contents_impl.h +++ b/content/browser/web_contents/web_contents_impl.h
@@ -691,8 +691,11 @@ // void Copy() override; // void Paste() override; // void SelectAll() override; + void ExecuteEditCommand(const std::string& command, + const base::Optional<base::string16>& value) override; void MoveRangeSelectionExtent(const gfx::Point& extent) override; void SelectRange(const gfx::Point& base, const gfx::Point& extent) override; + void MoveCaret(const gfx::Point& extent) override; void AdjustSelectionByCharacterOffset(int start_adjust, int end_adjust) override; RenderWidgetHostInputEventRouter* GetInputEventRouter() override;
diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc index bfff5707..d80a199 100644 --- a/content/child/runtime_features.cc +++ b/content/child/runtime_features.cc
@@ -266,15 +266,6 @@ if (command_line.HasSwitch(switches::kEnableSlimmingPaintV2)) WebRuntimeFeatures::EnableSlimmingPaintV2(true); - WebRuntimeFeatures::EnableSlimmingPaintInvalidation( - base::FeatureList::IsEnabled(features::kSlimmingPaintInvalidation)); - - if (command_line.HasSwitch(switches::kEnableSlimmingPaintInvalidation)) - WebRuntimeFeatures::EnableSlimmingPaintInvalidation(true); - - if (command_line.HasSwitch(switches::kDisableSlimmingPaintInvalidation)) - WebRuntimeFeatures::EnableSlimmingPaintInvalidation(false); - if (base::FeatureList::IsEnabled(features::kDocumentWriteEvaluator)) WebRuntimeFeatures::EnableDocumentWriteEvaluator(true);
diff --git a/content/common/indexed_db/indexed_db.mojom b/content/common/indexed_db/indexed_db.mojom index 16b8e9a..786b6e5 100644 --- a/content/common/indexed_db/indexed_db.mojom +++ b/content/common/indexed_db/indexed_db.mojom
@@ -90,6 +90,11 @@ VersionChange, }; +enum CompactionStatus { + OK, + Error, +}; + struct IndexMetadata { int64 id; mojo.common.mojom.String16 name; @@ -330,4 +335,5 @@ mojo.common.mojom.String16 name, int64 version, int64 transaction_id); DeleteDatabase(associated Callbacks callbacks, url.mojom.Origin origin, mojo.common.mojom.String16 name, bool force_close); + AbortTransactionsAndCompactDatabase(url.mojom.Origin origin) => (CompactionStatus status); };
diff --git a/content/common/input/input_handler.mojom b/content/common/input/input_handler.mojom index fae10f96..39cc748 100644 --- a/content/common/input/input_handler.mojom +++ b/content/common/input/input_handler.mojom
@@ -4,12 +4,207 @@ module content.mojom; +import "content/common/native_types.mojom"; import "mojo/common/string16.mojom"; import "services/ui/public/interfaces/ime/ime.mojom"; +import "ui/events/mojo/event.mojom"; +import "ui/events/mojo/event_constants.mojom"; +import "ui/latency/mojo/latency_info.mojom"; import "ui/gfx/geometry/mojo/geometry.mojom"; +import "ui/gfx/range/mojo/range.mojom"; + + +// These structs are purposely duplicated from ui/events/mojom/event.mojom. +// They map WebInputEvent <-> WebInputEvent across mojo. +// We have to work at unifying them. The current problem is that the browser +// uses WebInputEvents inside the render widget host and input router. Once +// we move these to ui::Event's then we can get rid of these duplicated +// mojom structs. Ideally the browser would use ui::Event up until we +// pass the events into the renderer and just use a StructTraits to perform +// conversion from ui::mojom::Event --> blink::WebInputEvent. +struct KeyData { + int32 dom_key; + int32 dom_code; + int32 windows_key_code; + int32 native_key_code; + bool is_system_key; + bool is_browser_shortcut; + mojo.common.mojom.String16 text; + mojo.common.mojom.String16 unmodified_text; +}; + +struct PointerData { + int32 pointer_id; + float force; + int32 tilt_x; + int32 tilt_y; + float tangential_pressure; + int32 twist; + Button button; + PointerType pointer_type; + int32 movement_x; + int32 movement_y; + gfx.mojom.PointF widget_position; + gfx.mojom.PointF screen_position; + MouseData? mouse_data; +}; + +struct WheelData { + float delta_x; + float delta_y; + float wheel_ticks_x; + float wheel_ticks_y; + float acceleration_ratio_x; + float acceleration_ratio_y; + int32 resending_plugin_id; + uint8 phase; + uint8 momentum_phase; + bool scroll_by_page; + bool has_precise_scrolling_deltas; + Cancelability cancelable; +}; + +struct MouseData { + int32 click_count; + WheelData? wheel_data; +}; + +struct ScrollUpdate { + float velocity_x; + float velocity_y; + bool previous_update_in_sequence_prevented; + bool prevent_propagation; +}; + +struct ScrollData { + float delta_x; + float delta_y; + ScrollUnits delta_units; + bool target_viewport; + InertialPhaseState inertial_phase; + bool synthetic; + int32 pointer_count; + ScrollUpdate? update_details; +}; + +struct PinchData { + bool zoom_disabled; + float scale; +}; + +struct FlingData { + float velocity_x; + float velocity_y; + bool target_viewport; + bool prevent_boosting; +}; + +struct TapData { + int32 tap_count; +}; + +struct GestureData { + gfx.mojom.PointF screen_position; + gfx.mojom.PointF widget_position; + GestureDevice source_device; + int32 unique_touch_event_id; + int32 resending_plugin_id; + gfx.mojom.Size? contact_size; + ScrollData? scroll_data; + PinchData? pinch_data; + TapData? tap_data; + FlingData? fling_data; +}; + +struct TouchPoint { + TouchState state; + float radius_x; + float radius_y; + float rotation_angle; + PointerData pointer_data; +}; + +struct TouchData { + Cancelability cancelable; + bool moved_beyond_slop_region; + bool touch_start_or_first_move; + uint32 unique_touch_event_id; + array<TouchPoint> touches; +}; + +struct Event { + EventType type; + int32 modifiers; + double timestamp_seconds; + ui.mojom.LatencyInfo latency; + KeyData? key_data; + PointerData? pointer_data; + GestureData? gesture_data; + TouchData? touch_data; +}; interface WidgetInputHandler { - // TODO(dtapuska): Implement me. + // Tells widget focus has been changed. + SetFocus(bool focused); + + // Tells widget mouse capture has been lost. + MouseCaptureLost(); + + // This message notifies the renderer that the next key event is bound to one + // or more pre-defined edit commands. If the next key event is not handled + // by webkit, the specified edit commands shall be executed against current + // focused frame. + // Parameters + // * edit_commands (see chrome/common/edit_command_types.h) + // Contains one or more edit commands. + // See third_party/WebKit/Source/WebCore/editing/EditorCommand.cpp for + // detailed definition of webkit edit commands. + // + // This message must be sent just before sending a key event. + + SetEditCommandsForNextKeyEvent(array<content.mojom.EditCommand> commands); + + // Sends the cursor visibility state to the render widget. + CursorVisibilityChanged(bool visible); + + // This message sends a string being composed with an input method. + ImeSetComposition(mojo.common.mojom.String16 text, + array<ui.mojom.CompositionUnderline> underlines, + gfx.mojom.Range range, int32 start, int32 end); + + // This message deletes the current composition, inserts specified text, and + // moves the cursor. + ImeCommitText(mojo.common.mojom.String16 text, + array<ui.mojom.CompositionUnderline> underlines, + gfx.mojom.Range range, int32 relative_cursor_position); + + // This message inserts the ongoing composition. + ImeFinishComposingText(bool keep_selection); + + // Request from browser to update text input state. + RequestTextInputStateUpdate(); + + // Request from browser to update the cursor and composition information which + // will be sent through InputHostMsg_ImeCompositionRangeChanged. Setting + // |immediate_request| to true will lead to an immediate update. If + // |monitor_updates| is set to true then changes to text selection or regular + // updates in each compositor frame (when there is a change in composition + // info) will lead to updates being sent to the browser. + RequestCompositionUpdates(bool immediate_request, bool monitor_request); + + // Sends an input event to the render widget. The browser should use this + // API if it wants to know about the result of the rendering handling + // the event. The callback may be delayed based on the event running on + // the main thread so DispatchNonBlockingEvent is always preferred if + // you don't require notification. + DispatchEvent(Event event) + => (InputEventAckSource source, ui.mojom.LatencyInfo updated_latency, + InputEventAckState state, DidOverscrollParams? overscroll); + + // Sends a non-blocking input event to the render widget. The behaviour + // of this API is the same as DispatchEvent just that there is no callback + // after the event is processed. + DispatchNonBlockingEvent(Event event); }; // This interface provides the input actions associated with the RenderFrame. @@ -79,6 +274,14 @@ // Expects a MoveRangeSelectionExtent_ACK message when finished. MoveRangeSelectionExtent(gfx.mojom.Point extent); + // Tells the renderer to scroll the currently focused node into rect only if + // the currently focused node is a Text node (textfield, text area or content + // editable divs). + ScrollFocusedEditableNodeIntoRect(gfx.mojom.Rect rect); + + // Requests the renderer to move the caret selection toward the point. + MoveCaret(gfx.mojom.Point point); + // TODO(dtapuska): Implement WidgetInputHandler. // GetWidgetInputHandler(associated WidgetInputHandler& interface_request); };
diff --git a/content/common/input_messages.h b/content/common/input_messages.h index 6d4ce02..a28a307 100644 --- a/content/common/input_messages.h +++ b/content/common/input_messages.h
@@ -70,6 +70,17 @@ blink::WebPointerProperties::Button::kLastEntry) IPC_ENUM_TRAITS_MAX_VALUE(blink::WebPointerProperties::PointerType, blink::WebPointerProperties::PointerType::kLastEntry) +IPC_ENUM_TRAITS_MAX_VALUE(blink::WebGestureDevice, + (blink::WebGestureDevice::kWebGestureDeviceCount - 1)) +IPC_ENUM_TRAITS_MAX_VALUE(blink::WebInputEvent::DispatchType, + blink::WebInputEvent::DispatchType::kLastDispatchType) +IPC_ENUM_TRAITS_MAX_VALUE(blink::WebGestureEvent::ScrollUnits, + blink::WebGestureEvent::ScrollUnits::kLastScrollUnit) +IPC_ENUM_TRAITS_MAX_VALUE( + blink::WebGestureEvent::InertialPhaseState, + blink::WebGestureEvent::InertialPhaseState::kLastPhase) +IPC_ENUM_TRAITS_MAX_VALUE(blink::WebTouchPoint::State, + blink::WebTouchPoint::State::kStateMax) IPC_STRUCT_TRAITS_BEGIN(ui::DidOverscrollParams) IPC_STRUCT_TRAITS_MEMBER(accumulated_overscroll)
diff --git a/content/common/native_types.mojom b/content/common/native_types.mojom index c848b95..cd0e90f 100644 --- a/content/common/native_types.mojom +++ b/content/common/native_types.mojom
@@ -43,3 +43,39 @@ [Native] enum WebPopupType; + +[Native] +enum Button; + +[Native] +enum PointerType; + +[Native] +struct EditCommand; + +[Native] +enum InputEventAckState; + +[Native] +enum InputEventAckSource; + +[Native] +enum EventType; + +[Native] +enum Cancelability; + +[Native] +enum GestureDevice; + +[Native] +enum ScrollUnits; + +[Native] +enum InertialPhaseState; + +[Native] +enum TouchState; + +[Native] +struct DidOverscrollParams;
diff --git a/content/common/native_types.typemap b/content/common/native_types.typemap index 22be41a4f..9a14d13 100644 --- a/content/common/native_types.typemap +++ b/content/common/native_types.typemap
@@ -4,17 +4,31 @@ mojom = "//content/common/native_types.mojom" public_headers = [ + "//content/common/edit_command.h", "//content/common/frame_owner_properties.h", "//content/common/frame_replication_state.h", "//content/common/resize_params.h", + "//content/common/input/input_event.h", + "//content/common/input/input_event_ack_source.h", + "//content/common/input/input_event_ack_state.h", "//content/public/common/renderer_preferences.h", "//content/public/common/web_preferences.h", "//net/base/network_change_notifier.h", "//net/nqe/effective_connection_type.h", + "//third_party/WebKit/public/platform/WebGestureDevice.h", + "//third_party/WebKit/public/platform/WebGestureEvent.h", + "//third_party/WebKit/public/platform/WebInputEvent.h", + "//third_party/WebKit/public/platform/WebMouseWheelEvent.h", + "//third_party/WebKit/public/platform/WebPointerProperties.h", + "//third_party/WebKit/public/platform/WebTouchPoint.h", "//third_party/WebKit/public/web/WebPopupType.h", + "//ui/events/blink/did_overscroll_params.h", + "//ui/events/blink/web_input_event_traits.h", + "//ui/latency/ipc/latency_info_param_traits.h", ] traits_headers = [ "//content/common/frame_messages.h", + "//content/common/input_messages.h", "//content/common/view_messages.h", "//content/public/common/common_param_traits.h", ] @@ -40,12 +54,24 @@ "//url/ipc:url_ipc", ] type_mappings = [ + "content.mojom.Button=blink::WebPointerProperties::Button", + "content.mojom.Cancelability=blink::WebInputEvent::DispatchType", "content.mojom.EffectiveConnectionType=net::EffectiveConnectionType", + "content.mojom.EditCommand=content::EditCommand", + "content.mojom.EventType=blink::WebInputEvent::Type", "content.mojom.FrameOwnerProperties=content::FrameOwnerProperties", "content.mojom.FrameReplicationState=content::FrameReplicationState", + "content.mojom.GestureDevice=blink::WebGestureDevice", + "content.mojom.InertialPhaseState=blink::WebGestureEvent::InertialPhaseState", + "content.mojom.InputEventAckSource=content::InputEventAckSource", + "content.mojom.InputEventAckState=content::InputEventAckState", "content.mojom.NetworkConnectionType=net::NetworkChangeNotifier::ConnectionType", + "content.mojom.DidOverscrollParams=ui::DidOverscrollParams", + "content.mojom.PointerType=blink::WebPointerProperties::PointerType", "content.mojom.RendererPreferences=content::RendererPreferences", "content.mojom.ResizeParams=content::ResizeParams", + "content.mojom.ScrollUnits=blink::WebGestureEvent::ScrollUnits", + "content.mojom.TouchState=blink::WebTouchPoint::State", "content.mojom.WebPopupType=blink::WebPopupType", "content.mojom.WebPreferences=content::WebPreferences", ]
diff --git a/content/common/sandbox_mac.h b/content/common/sandbox_mac.h index c6a7c1fc..f4dde38 100644 --- a/content/common/sandbox_mac.h +++ b/content/common/sandbox_mac.h
@@ -52,6 +52,7 @@ static const char* kSandboxDisableDenialLogging; static const char* kSandboxHomedirAsLiteral; static const char* kSandboxElCapOrLater; + static const char* kSandboxMavericks; static const char* kSandboxPermittedDir; static const char* kSandboxBundlePath; static const char* kSandboxLoggingPathAsLiteral;
diff --git a/content/common/sandbox_mac.mm b/content/common/sandbox_mac.mm index ec0ea7dc..49886fde 100644 --- a/content/common/sandbox_mac.mm +++ b/content/common/sandbox_mac.mm
@@ -79,6 +79,7 @@ "DISABLE_SANDBOX_DENIAL_LOGGING"; const char* Sandbox::kSandboxHomedirAsLiteral = "USER_HOMEDIR_AS_LITERAL"; const char* Sandbox::kSandboxElCapOrLater = "ELCAP_OR_LATER"; +const char* Sandbox::kSandboxMavericks = "IS_MAVERICKS"; const char* Sandbox::kSandboxPermittedDir = "PERMITTED_DIR"; const char* Sandbox::kSandboxBundlePath = "BUNDLE_PATH"; const char* Sandbox::kSandboxLoggingPathAsLiteral = "LOG_FILE_PATH";
diff --git a/content/public/android/java/src/org/chromium/content/browser/SpareChildConnection.java b/content/public/android/java/src/org/chromium/content/browser/SpareChildConnection.java index 79e20c3..dec2322a 100644 --- a/content/public/android/java/src/org/chromium/content/browser/SpareChildConnection.java +++ b/content/public/android/java/src/org/chromium/content/browser/SpareChildConnection.java
@@ -111,7 +111,10 @@ /** Returns true if no connection is available (so getConnection will always return null), */ public boolean isEmpty() { - return mConnection == null; + // Note that if the connection was retrieved but was not yet ready mConnection is non null + // but that connection is already used and will be cleared when it becomes ready. In that + // case mConnectionServiceCallback is non null. + return mConnection == null || mConnectionServiceCallback != null; } private void clearConnection() {
diff --git a/content/public/android/junit/src/org/chromium/content/browser/SpareChildConnectionTest.java b/content/public/android/junit/src/org/chromium/content/browser/SpareChildConnectionTest.java index 1779db5..2482297 100644 --- a/content/public/android/junit/src/org/chromium/content/browser/SpareChildConnectionTest.java +++ b/content/public/android/junit/src/org/chromium/content/browser/SpareChildConnectionTest.java
@@ -8,8 +8,10 @@ import android.content.Context; import android.os.Bundle; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.any; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -141,10 +143,16 @@ public void testCallbackCalledConnectionReady() { mTestConnectionFactory.simulateConnectionBindingSuccessfully(); + assertFalse(mSpareConnection.isEmpty()); + // Now retrieve the connection, the callback should be invoked. ChildProcessConnection connection = mSpareConnection.getConnection(mConnectionAllocator, mServiceCallback); assertNotNull(connection); + + // No more connections are available. + assertTrue(mSpareConnection.isEmpty()); + ShadowLooper.runUiThreadTasksIncludingDelayedTasks(); verify(mServiceCallback, times(1)).onChildStarted(); verify(mServiceCallback, times(0)).onChildStartFailed(); @@ -153,6 +161,8 @@ @Test @Feature({"ProcessManagement"}) public void testCallbackCalledConnectionNotReady() { + assertFalse(mSpareConnection.isEmpty()); + // Retrieve the connection before it's bound. ChildProcessConnection connection = mSpareConnection.getConnection(mConnectionAllocator, mServiceCallback); @@ -162,6 +172,9 @@ verify(mServiceCallback, times(0)).onChildStarted(); verify(mServiceCallback, times(0)).onChildStartFailed(); + // No more connections are available. + assertTrue(mSpareConnection.isEmpty()); + // Simulate the connection getting bound, it should trigger the callback. mTestConnectionFactory.simulateConnectionBindingSuccessfully(); verify(mServiceCallback, times(1)).onChildStarted();
diff --git a/content/public/browser/render_frame_host.h b/content/public/browser/render_frame_host.h index 49baa59..4bcf78b6 100644 --- a/content/public/browser/render_frame_host.h +++ b/content/public/browser/render_frame_host.h
@@ -10,7 +10,6 @@ #include "base/callback_forward.h" #include "build/build_config.h" #include "content/common/content_export.h" -#include "content/common/input/input_handler.mojom.h" #include "content/public/common/console_message_level.h" #include "content/public/common/file_chooser_params.h" #include "ipc/ipc_listener.h" @@ -43,6 +42,7 @@ } namespace content { + class AssociatedInterfaceProvider; class RenderProcessHost; class RenderViewHost; @@ -284,8 +284,6 @@ // process to determine whether access to a feature is allowed. virtual bool IsFeatureEnabled(blink::WebFeaturePolicyFeature feature) = 0; - virtual mojom::FrameInputHandler* GetFrameInputHandler() = 0; - private: // This interface should only be implemented inside content. friend class RenderFrameHostImpl;
diff --git a/content/public/test/text_input_test_utils.cc b/content/public/test/text_input_test_utils.cc index 19527714..442ddea6 100644 --- a/content/public/test/text_input_test_utils.cc +++ b/content/public/test/text_input_test_utils.cc
@@ -279,15 +279,8 @@ const std::vector<ui::CompositionUnderline>& underlines, const gfx::Range& replacement_range, int relative_cursor_pos) { - std::vector<blink::WebCompositionUnderline> web_composition_underlines; - for (auto underline : underlines) { - web_composition_underlines.emplace_back( - static_cast<int>(underline.start_offset), - static_cast<int>(underline.end_offset), underline.color, - underline.thick, underline.background_color); - } RenderWidgetHostImpl::From(rwh)->ImeCommitText( - text, web_composition_underlines, replacement_range, relative_cursor_pos); + text, underlines, replacement_range, relative_cursor_pos); } void SendImeSetCompositionTextToWidget( @@ -297,16 +290,8 @@ const gfx::Range& replacement_range, int selection_start, int selection_end) { - std::vector<blink::WebCompositionUnderline> web_composition_underlines; - for (auto underline : underlines) { - web_composition_underlines.emplace_back( - static_cast<int>(underline.start_offset), - static_cast<int>(underline.end_offset), underline.color, - underline.thick, underline.background_color); - } RenderWidgetHostImpl::From(rwh)->ImeSetComposition( - text, web_composition_underlines, replacement_range, selection_start, - selection_end); + text, underlines, replacement_range, selection_start, selection_end); } bool DestroyRenderWidgetHost(int32_t process_id,
diff --git a/content/renderer/BUILD.gn b/content/renderer/BUILD.gn index b42c495a..ca2c49f 100644 --- a/content/renderer/BUILD.gn +++ b/content/renderer/BUILD.gn
@@ -231,6 +231,8 @@ "media/cdm/ppapi_decryptor.h", "media/cdm/render_cdm_factory.cc", "media/cdm/render_cdm_factory.h", + "media/gpu/gpu_video_accelerator_factories_impl.cc", + "media/gpu/gpu_video_accelerator_factories_impl.h", "media/media_factory.cc", "media/media_factory.h", "media/media_permission_dispatcher.cc", @@ -243,8 +245,6 @@ "media/render_media_client.h", "media/render_media_log.cc", "media/render_media_log.h", - "media/renderer_gpu_video_accelerator_factories.cc", - "media/renderer_gpu_video_accelerator_factories.h", "media/renderer_webaudiodevice_impl.cc", "media/renderer_webaudiodevice_impl.h", "media/renderer_webmediaplayer_delegate.cc",
diff --git a/content/renderer/input/frame_input_handler_impl.cc b/content/renderer/input/frame_input_handler_impl.cc index 79be471..52c00fa 100644 --- a/content/renderer/input/frame_input_handler_impl.cc +++ b/content/renderer/input/frame_input_handler_impl.cc
@@ -337,6 +337,37 @@ render_frame_->render_view()->ConvertWindowPointToViewport(extent)); } +void FrameInputHandlerImpl::ScrollFocusedEditableNodeIntoRect( + const gfx::Rect& rect) { + if (!main_thread_task_runner_->BelongsToCurrentThread()) { + RunOnMainThread( + base::Bind(&FrameInputHandlerImpl::ScrollFocusedEditableNodeIntoRect, + weak_this_, rect)); + return; + } + + if (!render_frame_) + return; + + RenderViewImpl* render_view = render_frame_->render_view(); + render_view->ScrollFocusedEditableNodeIntoRect(rect); +} + +void FrameInputHandlerImpl::MoveCaret(const gfx::Point& point) { + if (!main_thread_task_runner_->BelongsToCurrentThread()) { + RunOnMainThread( + base::Bind(&FrameInputHandlerImpl::MoveCaret, weak_this_, point)); + return; + } + + if (!render_frame_) + return; + + RenderViewImpl* render_view = render_frame_->render_view(); + render_frame_->GetWebFrame()->MoveCaretSelection( + render_view->ConvertWindowPointToViewport(point)); +} + void FrameInputHandlerImpl::ExecuteCommandOnMainThread( const std::string& command, UpdateState update_state) {
diff --git a/content/renderer/input/frame_input_handler_impl.h b/content/renderer/input/frame_input_handler_impl.h index 9c756029..66ca5e43 100644 --- a/content/renderer/input/frame_input_handler_impl.h +++ b/content/renderer/input/frame_input_handler_impl.h
@@ -68,6 +68,8 @@ void SelectRange(const gfx::Point& base, const gfx::Point& extent) override; void AdjustSelectionByCharacterOffset(int32_t start, int32_t end) override; void MoveRangeSelectionExtent(const gfx::Point& extent) override; + void ScrollFocusedEditableNodeIntoRect(const gfx::Rect& rect) override; + void MoveCaret(const gfx::Point& point) override; private: ~FrameInputHandlerImpl() override;
diff --git a/content/renderer/media/gpu/OWNERS b/content/renderer/media/gpu/OWNERS index a1be1928..409778d 100644 --- a/content/renderer/media/gpu/OWNERS +++ b/content/renderer/media/gpu/OWNERS
@@ -1,2 +1,6 @@ posciak@chromium.org wuchengli@chromium.org + +per-file gpu_*=file://media/gpu/OWNERS + +# COMPONENT: Internals>GPU>Video
diff --git a/content/renderer/media/gpu/gpu_video_accelerator_factories_impl.cc b/content/renderer/media/gpu/gpu_video_accelerator_factories_impl.cc new file mode 100644 index 0000000..4d2c678 --- /dev/null +++ b/content/renderer/media/gpu/gpu_video_accelerator_factories_impl.cc
@@ -0,0 +1,347 @@ +// Copyright 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "content/renderer/media/gpu/gpu_video_accelerator_factories_impl.h" + +#include <GLES2/gl2.h> +#include <GLES2/gl2ext.h> + +#include "base/bind.h" +#include "base/memory/ptr_util.h" +#include "base/metrics/histogram_macros.h" +#include "base/unguessable_token.h" +#include "cc/output/context_provider.h" +#include "content/child/child_thread_impl.h" +#include "content/renderer/render_thread_impl.h" +#include "gpu/command_buffer/client/gles2_interface.h" +#include "gpu/command_buffer/client/gpu_memory_buffer_manager.h" +#include "gpu/ipc/client/gpu_channel_host.h" +#include "media/gpu/gpu_video_accelerator_util.h" +#include "media/gpu/ipc/client/gpu_video_decode_accelerator_host.h" +#include "media/gpu/ipc/client/gpu_video_encode_accelerator_host.h" +#include "media/gpu/ipc/common/media_messages.h" +#include "media/video/video_decode_accelerator.h" +#include "media/video/video_encode_accelerator.h" +#include "services/ui/public/cpp/gpu/context_provider_command_buffer.h" + +namespace content { + +namespace { + +// This enum values match ContextProviderPhase in histograms.xml +enum ContextProviderPhase { + CONTEXT_PROVIDER_ACQUIRED = 0, + CONTEXT_PROVIDER_RELEASED = 1, + CONTEXT_PROVIDER_RELEASED_MAX_VALUE = CONTEXT_PROVIDER_RELEASED, +}; + +void RecordContextProviderPhaseUmaEnum(const ContextProviderPhase phase) { + UMA_HISTOGRAM_ENUMERATION("Media.GPU.HasEverLostContext", phase, + CONTEXT_PROVIDER_RELEASED_MAX_VALUE + 1); +} + +} // namespace + +// static +std::unique_ptr<GpuVideoAcceleratorFactoriesImpl> +GpuVideoAcceleratorFactoriesImpl::Create( + scoped_refptr<gpu::GpuChannelHost> gpu_channel_host, + const scoped_refptr<base::SingleThreadTaskRunner>& main_thread_task_runner, + const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, + const scoped_refptr<ui::ContextProviderCommandBuffer>& context_provider, + bool enable_gpu_memory_buffer_video_frames, + const cc::BufferToTextureTargetMap& image_texture_targets, + bool enable_video_accelerator) { + RecordContextProviderPhaseUmaEnum( + ContextProviderPhase::CONTEXT_PROVIDER_ACQUIRED); + return base::WrapUnique(new GpuVideoAcceleratorFactoriesImpl( + std::move(gpu_channel_host), main_thread_task_runner, task_runner, + context_provider, enable_gpu_memory_buffer_video_frames, + image_texture_targets, enable_video_accelerator)); +} + +GpuVideoAcceleratorFactoriesImpl::GpuVideoAcceleratorFactoriesImpl( + scoped_refptr<gpu::GpuChannelHost> gpu_channel_host, + const scoped_refptr<base::SingleThreadTaskRunner>& main_thread_task_runner, + const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, + const scoped_refptr<ui::ContextProviderCommandBuffer>& context_provider, + bool enable_gpu_memory_buffer_video_frames, + const cc::BufferToTextureTargetMap& image_texture_targets, + bool enable_video_accelerator) + : main_thread_task_runner_(main_thread_task_runner), + task_runner_(task_runner), + gpu_channel_host_(std::move(gpu_channel_host)), + context_provider_refptr_(context_provider), + context_provider_(context_provider.get()), + enable_gpu_memory_buffer_video_frames_( + enable_gpu_memory_buffer_video_frames), + image_texture_targets_(image_texture_targets), + video_accelerator_enabled_(enable_video_accelerator), + gpu_memory_buffer_manager_( + RenderThreadImpl::current()->GetGpuMemoryBufferManager()), + thread_safe_sender_(ChildThreadImpl::current()->thread_safe_sender()) { + DCHECK(main_thread_task_runner_); + DCHECK(gpu_channel_host_); +} + +GpuVideoAcceleratorFactoriesImpl::~GpuVideoAcceleratorFactoriesImpl() {} + +bool GpuVideoAcceleratorFactoriesImpl::CheckContextLost() { + DCHECK(task_runner_->BelongsToCurrentThread()); + if (context_provider_) { + bool release_context_provider = false; + { + cc::ContextProvider::ScopedContextLock lock(context_provider_); + if (lock.ContextGL()->GetGraphicsResetStatusKHR() != GL_NO_ERROR) { + context_provider_ = nullptr; + release_context_provider = true; + } + } + if (release_context_provider) { + // Drop the reference on the main thread. + main_thread_task_runner_->PostTask( + FROM_HERE, + base::Bind(&GpuVideoAcceleratorFactoriesImpl::ReleaseContextProvider, + base::Unretained(this))); + } + } + return !context_provider_; +} + +bool GpuVideoAcceleratorFactoriesImpl::IsGpuVideoAcceleratorEnabled() { + return video_accelerator_enabled_; +} + +base::UnguessableToken GpuVideoAcceleratorFactoriesImpl::GetChannelToken() { + DCHECK(task_runner_->BelongsToCurrentThread()); + if (CheckContextLost()) + return base::UnguessableToken(); + + if (channel_token_.is_empty()) { + context_provider_->GetCommandBufferProxy()->channel()->Send( + new GpuCommandBufferMsg_GetChannelToken(&channel_token_)); + } + + return channel_token_; +} + +int32_t GpuVideoAcceleratorFactoriesImpl::GetCommandBufferRouteId() { + DCHECK(task_runner_->BelongsToCurrentThread()); + if (CheckContextLost()) + return 0; + return context_provider_->GetCommandBufferProxy()->route_id(); +} + +std::unique_ptr<media::VideoDecodeAccelerator> +GpuVideoAcceleratorFactoriesImpl::CreateVideoDecodeAccelerator() { + DCHECK(video_accelerator_enabled_); + DCHECK(task_runner_->BelongsToCurrentThread()); + if (CheckContextLost()) + return nullptr; + + return std::unique_ptr<media::VideoDecodeAccelerator>( + new media::GpuVideoDecodeAcceleratorHost( + context_provider_->GetCommandBufferProxy())); +} + +std::unique_ptr<media::VideoEncodeAccelerator> +GpuVideoAcceleratorFactoriesImpl::CreateVideoEncodeAccelerator() { + DCHECK(video_accelerator_enabled_); + DCHECK(task_runner_->BelongsToCurrentThread()); + if (CheckContextLost()) + return nullptr; + + return std::unique_ptr<media::VideoEncodeAccelerator>( + new media::GpuVideoEncodeAcceleratorHost( + context_provider_->GetCommandBufferProxy())); +} + +bool GpuVideoAcceleratorFactoriesImpl::CreateTextures( + int32_t count, + const gfx::Size& size, + std::vector<uint32_t>* texture_ids, + std::vector<gpu::Mailbox>* texture_mailboxes, + uint32_t texture_target) { + DCHECK(task_runner_->BelongsToCurrentThread()); + DCHECK(texture_target); + + if (CheckContextLost()) + return false; + cc::ContextProvider::ScopedContextLock lock(context_provider_); + gpu::gles2::GLES2Interface* gles2 = lock.ContextGL(); + texture_ids->resize(count); + texture_mailboxes->resize(count); + gles2->GenTextures(count, &texture_ids->at(0)); + for (int i = 0; i < count; ++i) { + gles2->ActiveTexture(GL_TEXTURE0); + uint32_t texture_id = texture_ids->at(i); + gles2->BindTexture(texture_target, texture_id); + gles2->TexParameteri(texture_target, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + gles2->TexParameteri(texture_target, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + gles2->TexParameteri(texture_target, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + gles2->TexParameteri(texture_target, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + if (texture_target == GL_TEXTURE_2D) { + gles2->TexImage2D(texture_target, 0, GL_RGBA, size.width(), size.height(), + 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL); + } + gles2->GenMailboxCHROMIUM(texture_mailboxes->at(i).name); + gles2->ProduceTextureCHROMIUM(texture_target, + texture_mailboxes->at(i).name); + } + + // We need ShallowFlushCHROMIUM() here to order the command buffer commands + // with respect to IPC to the GPU process, to guarantee that the decoder in + // the GPU process can use these textures as soon as it receives IPC + // notification of them. + gles2->ShallowFlushCHROMIUM(); + DCHECK_EQ(gles2->GetError(), static_cast<GLenum>(GL_NO_ERROR)); + return true; +} + +void GpuVideoAcceleratorFactoriesImpl::DeleteTexture(uint32_t texture_id) { + DCHECK(task_runner_->BelongsToCurrentThread()); + if (CheckContextLost()) + return; + + cc::ContextProvider::ScopedContextLock lock(context_provider_); + gpu::gles2::GLES2Interface* gles2 = lock.ContextGL(); + gles2->DeleteTextures(1, &texture_id); + DCHECK_EQ(gles2->GetError(), static_cast<GLenum>(GL_NO_ERROR)); +} + +gpu::SyncToken GpuVideoAcceleratorFactoriesImpl::CreateSyncToken() { + cc::ContextProvider::ScopedContextLock lock(context_provider_); + gpu::gles2::GLES2Interface* gl = lock.ContextGL(); + gpu::SyncToken sync_token; + const GLuint64 fence_sync = gl->InsertFenceSyncCHROMIUM(); + gl->ShallowFlushCHROMIUM(); + gl->GenSyncTokenCHROMIUM(fence_sync, sync_token.GetData()); + return sync_token; +} + +void GpuVideoAcceleratorFactoriesImpl::WaitSyncToken( + const gpu::SyncToken& sync_token) { + DCHECK(task_runner_->BelongsToCurrentThread()); + if (CheckContextLost()) + return; + + cc::ContextProvider::ScopedContextLock lock(context_provider_); + gpu::gles2::GLES2Interface* gles2 = lock.ContextGL(); + gles2->WaitSyncTokenCHROMIUM(sync_token.GetConstData()); + + // Callers expect the WaitSyncToken to affect the next IPCs. Make sure to + // flush the command buffers to ensure that. + gles2->ShallowFlushCHROMIUM(); +} + +void GpuVideoAcceleratorFactoriesImpl::ShallowFlushCHROMIUM() { + DCHECK(task_runner_->BelongsToCurrentThread()); + if (CheckContextLost()) + return; + + cc::ContextProvider::ScopedContextLock lock(context_provider_); + gpu::gles2::GLES2Interface* gles2 = lock.ContextGL(); + gles2->ShallowFlushCHROMIUM(); +} + +std::unique_ptr<gfx::GpuMemoryBuffer> +GpuVideoAcceleratorFactoriesImpl::CreateGpuMemoryBuffer( + const gfx::Size& size, + gfx::BufferFormat format, + gfx::BufferUsage usage) { + std::unique_ptr<gfx::GpuMemoryBuffer> buffer = + gpu_memory_buffer_manager_->CreateGpuMemoryBuffer( + size, format, usage, gpu::kNullSurfaceHandle); + return buffer; +} +bool GpuVideoAcceleratorFactoriesImpl::ShouldUseGpuMemoryBuffersForVideoFrames() + const { + return enable_gpu_memory_buffer_video_frames_; +} + +unsigned GpuVideoAcceleratorFactoriesImpl::ImageTextureTarget( + gfx::BufferFormat format) { + auto found = image_texture_targets_.find(cc::BufferToTextureTargetKey( + gfx::BufferUsage::GPU_READ_CPU_READ_WRITE, format)); + DCHECK(found != image_texture_targets_.end()); + return found->second; +} + +media::GpuVideoAcceleratorFactories::OutputFormat +GpuVideoAcceleratorFactoriesImpl::VideoFrameOutputFormat() { + DCHECK(task_runner_->BelongsToCurrentThread()); + if (CheckContextLost()) + return media::GpuVideoAcceleratorFactories::OutputFormat::UNDEFINED; + cc::ContextProvider::ScopedContextLock lock(context_provider_); + auto capabilities = context_provider_->ContextCapabilities(); + if (capabilities.image_ycbcr_420v) + return media::GpuVideoAcceleratorFactories::OutputFormat::NV12_SINGLE_GMB; + if (capabilities.image_ycbcr_422) + return media::GpuVideoAcceleratorFactories::OutputFormat::UYVY; + if (capabilities.texture_rg) + return media::GpuVideoAcceleratorFactories::OutputFormat::NV12_DUAL_GMB; + return media::GpuVideoAcceleratorFactories::OutputFormat::UNDEFINED; +} + +namespace { +class ScopedGLContextLockImpl + : public media::GpuVideoAcceleratorFactories::ScopedGLContextLock { + public: + ScopedGLContextLockImpl(cc::ContextProvider* context_provider) + : lock_(context_provider) {} + gpu::gles2::GLES2Interface* ContextGL() override { return lock_.ContextGL(); } + + private: + cc::ContextProvider::ScopedContextLock lock_; +}; +} // namespace + +std::unique_ptr<media::GpuVideoAcceleratorFactories::ScopedGLContextLock> +GpuVideoAcceleratorFactoriesImpl::GetGLContextLock() { + if (CheckContextLost()) + return nullptr; + return base::MakeUnique<ScopedGLContextLockImpl>(context_provider_); +} + +std::unique_ptr<base::SharedMemory> +GpuVideoAcceleratorFactoriesImpl::CreateSharedMemory(size_t size) { + std::unique_ptr<base::SharedMemory> mem( + ChildThreadImpl::AllocateSharedMemory(size)); + if (mem && !mem->Map(size)) + return nullptr; + return mem; +} + +scoped_refptr<base::SingleThreadTaskRunner> +GpuVideoAcceleratorFactoriesImpl::GetTaskRunner() { + return task_runner_; +} + +media::VideoDecodeAccelerator::Capabilities +GpuVideoAcceleratorFactoriesImpl::GetVideoDecodeAcceleratorCapabilities() { + return media::GpuVideoAcceleratorUtil::ConvertGpuToMediaDecodeCapabilities( + gpu_channel_host_->gpu_info().video_decode_accelerator_capabilities); +} + +media::VideoEncodeAccelerator::SupportedProfiles +GpuVideoAcceleratorFactoriesImpl::GetVideoEncodeAcceleratorSupportedProfiles() { + return media::GpuVideoAcceleratorUtil::ConvertGpuToMediaEncodeProfiles( + gpu_channel_host_->gpu_info() + .video_encode_accelerator_supported_profiles); +} + +void GpuVideoAcceleratorFactoriesImpl::ReleaseContextProvider() { + DCHECK(main_thread_task_runner_->BelongsToCurrentThread()); + RecordContextProviderPhaseUmaEnum( + ContextProviderPhase::CONTEXT_PROVIDER_RELEASED); + context_provider_refptr_ = nullptr; +} + +scoped_refptr<ui::ContextProviderCommandBuffer> +GpuVideoAcceleratorFactoriesImpl::ContextProviderMainThread() { + DCHECK(main_thread_task_runner_->BelongsToCurrentThread()); + return context_provider_refptr_; +} + +} // namespace content
diff --git a/content/renderer/media/gpu/gpu_video_accelerator_factories_impl.h b/content/renderer/media/gpu/gpu_video_accelerator_factories_impl.h new file mode 100644 index 0000000..969b73f --- /dev/null +++ b/content/renderer/media/gpu/gpu_video_accelerator_factories_impl.h
@@ -0,0 +1,144 @@ +// Copyright 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CONTENT_RENDERER_MEDIA_GPU_GPU_VIDEO_ACCELERATOR_FACTORIES_IMPL_H_ +#define CONTENT_RENDERER_MEDIA_GPU_GPU_VIDEO_ACCELERATOR_FACTORIES_IMPL_H_ + +#include <stddef.h> +#include <stdint.h> + +#include <memory> +#include <vector> + +#include "base/macros.h" +#include "base/memory/ref_counted.h" +#include "base/memory/weak_ptr.h" +#include "base/single_thread_task_runner.h" +#include "base/synchronization/waitable_event.h" +#include "base/unguessable_token.h" +#include "cc/output/buffer_to_texture_target_map.h" +#include "content/child/thread_safe_sender.h" +#include "content/common/content_export.h" +#include "media/renderers/gpu_video_accelerator_factories.h" +#include "ui/gfx/geometry/size.h" + +namespace gpu { +class GpuChannelHost; +class GpuMemoryBufferManager; +} // namespace gpu + +namespace ui { +class ContextProviderCommandBuffer; +} + +namespace content { + +// Glue code to expose functionality needed by media::GpuVideoAccelerator to +// RenderViewImpl. This class is entirely an implementation detail of +// RenderViewImpl and only has its own header to allow extraction of its +// implementation from render_view_impl.cc which is already far too large. +// +// The GpuVideoAcceleratorFactoriesImpl can be constructed on any thread, +// but subsequent calls to all public methods of the class must be called from +// the |task_runner_|, as provided during construction. +class CONTENT_EXPORT GpuVideoAcceleratorFactoriesImpl + : public media::GpuVideoAcceleratorFactories { + public: + // Takes a ref on |gpu_channel_host| and tests |context| for loss before each + // use. Safe to call from any thread. + static std::unique_ptr<GpuVideoAcceleratorFactoriesImpl> Create( + scoped_refptr<gpu::GpuChannelHost> gpu_channel_host, + const scoped_refptr<base::SingleThreadTaskRunner>& + main_thread_task_runner, + const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, + const scoped_refptr<ui::ContextProviderCommandBuffer>& context_provider, + bool enable_gpu_memory_buffer_video_frames, + const cc::BufferToTextureTargetMap& image_texture_targets, + bool enable_video_accelerator); + + // media::GpuVideoAcceleratorFactories implementation. + bool IsGpuVideoAcceleratorEnabled() override; + base::UnguessableToken GetChannelToken() override; + int32_t GetCommandBufferRouteId() override; + std::unique_ptr<media::VideoDecodeAccelerator> CreateVideoDecodeAccelerator() + override; + std::unique_ptr<media::VideoEncodeAccelerator> CreateVideoEncodeAccelerator() + override; + // Creates textures and produces them into mailboxes. Returns true on success + // or false on failure. + bool CreateTextures(int32_t count, + const gfx::Size& size, + std::vector<uint32_t>* texture_ids, + std::vector<gpu::Mailbox>* texture_mailboxes, + uint32_t texture_target) override; + void DeleteTexture(uint32_t texture_id) override; + gpu::SyncToken CreateSyncToken() override; + void WaitSyncToken(const gpu::SyncToken& sync_token) override; + void ShallowFlushCHROMIUM() override; + + std::unique_ptr<gfx::GpuMemoryBuffer> CreateGpuMemoryBuffer( + const gfx::Size& size, + gfx::BufferFormat format, + gfx::BufferUsage usage) override; + + bool ShouldUseGpuMemoryBuffersForVideoFrames() const override; + unsigned ImageTextureTarget(gfx::BufferFormat format) override; + OutputFormat VideoFrameOutputFormat() override; + std::unique_ptr<media::GpuVideoAcceleratorFactories::ScopedGLContextLock> + GetGLContextLock() override; + bool CheckContextLost(); + std::unique_ptr<base::SharedMemory> CreateSharedMemory(size_t size) override; + scoped_refptr<base::SingleThreadTaskRunner> GetTaskRunner() override; + + media::VideoDecodeAccelerator::Capabilities + GetVideoDecodeAcceleratorCapabilities() override; + std::vector<media::VideoEncodeAccelerator::SupportedProfile> + GetVideoEncodeAcceleratorSupportedProfiles() override; + + void ReleaseContextProvider(); + scoped_refptr<ui::ContextProviderCommandBuffer> ContextProviderMainThread(); + + ~GpuVideoAcceleratorFactoriesImpl() override; + + private: + GpuVideoAcceleratorFactoriesImpl( + scoped_refptr<gpu::GpuChannelHost> gpu_channel_host, + const scoped_refptr<base::SingleThreadTaskRunner>& + main_thread_task_runner, + const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, + const scoped_refptr<ui::ContextProviderCommandBuffer>& context_provider, + bool enable_gpu_memory_buffer_video_frames, + const cc::BufferToTextureTargetMap& image_texture_targets, + bool enable_video_accelerator); + + scoped_refptr<base::SingleThreadTaskRunner> main_thread_task_runner_; + scoped_refptr<base::SingleThreadTaskRunner> task_runner_; + scoped_refptr<gpu::GpuChannelHost> gpu_channel_host_; + + // Shared pointer to a shared context provider that should be accessed + // and set only on the main thread. + scoped_refptr<ui::ContextProviderCommandBuffer> context_provider_refptr_; + + // Raw pointer to a context provider accessed from the media thread. + ui::ContextProviderCommandBuffer* context_provider_; + + base::UnguessableToken channel_token_; + + // Whether gpu memory buffers should be used to hold video frames data. + bool enable_gpu_memory_buffer_video_frames_; + const cc::BufferToTextureTargetMap image_texture_targets_; + // Whether video acceleration encoding/decoding should be enabled. + const bool video_accelerator_enabled_; + + gpu::GpuMemoryBufferManager* const gpu_memory_buffer_manager_; + + // For sending requests to allocate shared memory in the Browser process. + scoped_refptr<ThreadSafeSender> thread_safe_sender_; + + DISALLOW_COPY_AND_ASSIGN(GpuVideoAcceleratorFactoriesImpl); +}; + +} // namespace content + +#endif // CONTENT_RENDERER_MEDIA_GPU_GPU_VIDEO_ACCELERATOR_FACTORIES_IMPL_H_
diff --git a/content/renderer/media/renderer_gpu_video_accelerator_factories.cc b/content/renderer/media/renderer_gpu_video_accelerator_factories.cc deleted file mode 100644 index 44dc391e..0000000 --- a/content/renderer/media/renderer_gpu_video_accelerator_factories.cc +++ /dev/null
@@ -1,356 +0,0 @@ -// Copyright 2013 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "content/renderer/media/renderer_gpu_video_accelerator_factories.h" - -#include <GLES2/gl2.h> -#include <GLES2/gl2ext.h> - -#include "base/bind.h" -#include "base/memory/ptr_util.h" -#include "base/metrics/histogram_macros.h" -#include "base/unguessable_token.h" -#include "cc/output/context_provider.h" -#include "content/child/child_thread_impl.h" -#include "content/renderer/render_thread_impl.h" -#include "gpu/command_buffer/client/gles2_interface.h" -#include "gpu/command_buffer/client/gpu_memory_buffer_manager.h" -#include "gpu/ipc/client/gpu_channel_host.h" -#include "media/gpu/gpu_video_accelerator_util.h" -#include "media/gpu/ipc/client/gpu_video_decode_accelerator_host.h" -#include "media/gpu/ipc/client/gpu_video_encode_accelerator_host.h" -#include "media/gpu/ipc/common/media_messages.h" -#include "media/video/video_decode_accelerator.h" -#include "media/video/video_encode_accelerator.h" -#include "services/ui/public/cpp/gpu/context_provider_command_buffer.h" - -namespace content { - -namespace { - -// This enum values match ContextProviderPhase in histograms.xml -enum ContextProviderPhase { - CONTEXT_PROVIDER_ACQUIRED = 0, - CONTEXT_PROVIDER_RELEASED = 1, - CONTEXT_PROVIDER_RELEASED_MAX_VALUE = CONTEXT_PROVIDER_RELEASED, -}; - -void RecordContextProviderPhaseUmaEnum(const ContextProviderPhase phase) { - UMA_HISTOGRAM_ENUMERATION("Media.GPU.HasEverLostContext", phase, - CONTEXT_PROVIDER_RELEASED_MAX_VALUE + 1); -} - -} // namespace - -// static -std::unique_ptr<RendererGpuVideoAcceleratorFactories> -RendererGpuVideoAcceleratorFactories::Create( - scoped_refptr<gpu::GpuChannelHost> gpu_channel_host, - const scoped_refptr<base::SingleThreadTaskRunner>& main_thread_task_runner, - const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, - const scoped_refptr<ui::ContextProviderCommandBuffer>& context_provider, - bool enable_gpu_memory_buffer_video_frames, - const cc::BufferToTextureTargetMap& image_texture_targets, - bool enable_video_accelerator) { - RecordContextProviderPhaseUmaEnum( - ContextProviderPhase::CONTEXT_PROVIDER_ACQUIRED); - return base::WrapUnique(new RendererGpuVideoAcceleratorFactories( - std::move(gpu_channel_host), main_thread_task_runner, task_runner, - context_provider, enable_gpu_memory_buffer_video_frames, - image_texture_targets, enable_video_accelerator)); -} - -RendererGpuVideoAcceleratorFactories::RendererGpuVideoAcceleratorFactories( - scoped_refptr<gpu::GpuChannelHost> gpu_channel_host, - const scoped_refptr<base::SingleThreadTaskRunner>& main_thread_task_runner, - const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, - const scoped_refptr<ui::ContextProviderCommandBuffer>& context_provider, - bool enable_gpu_memory_buffer_video_frames, - const cc::BufferToTextureTargetMap& image_texture_targets, - bool enable_video_accelerator) - : main_thread_task_runner_(main_thread_task_runner), - task_runner_(task_runner), - gpu_channel_host_(std::move(gpu_channel_host)), - context_provider_refptr_(context_provider), - context_provider_(context_provider.get()), - enable_gpu_memory_buffer_video_frames_( - enable_gpu_memory_buffer_video_frames), - image_texture_targets_(image_texture_targets), - video_accelerator_enabled_(enable_video_accelerator), - gpu_memory_buffer_manager_( - RenderThreadImpl::current()->GetGpuMemoryBufferManager()), - thread_safe_sender_(ChildThreadImpl::current()->thread_safe_sender()) { - DCHECK(main_thread_task_runner_); - DCHECK(gpu_channel_host_); -} - -RendererGpuVideoAcceleratorFactories::~RendererGpuVideoAcceleratorFactories() {} - -bool RendererGpuVideoAcceleratorFactories::CheckContextLost() { - DCHECK(task_runner_->BelongsToCurrentThread()); - if (context_provider_) { - bool release_context_provider = false; - { - cc::ContextProvider::ScopedContextLock lock(context_provider_); - if (lock.ContextGL()->GetGraphicsResetStatusKHR() != GL_NO_ERROR) { - context_provider_ = nullptr; - release_context_provider = true; - } - } - if (release_context_provider) { - // Drop the reference on the main thread. - main_thread_task_runner_->PostTask( - FROM_HERE, - base::Bind( - &RendererGpuVideoAcceleratorFactories::ReleaseContextProvider, - base::Unretained(this))); - } - } - return !context_provider_; -} - -bool RendererGpuVideoAcceleratorFactories::IsGpuVideoAcceleratorEnabled() { - return video_accelerator_enabled_; -} - -base::UnguessableToken RendererGpuVideoAcceleratorFactories::GetChannelToken() { - DCHECK(task_runner_->BelongsToCurrentThread()); - if (CheckContextLost()) - return base::UnguessableToken(); - - if (channel_token_.is_empty()) { - context_provider_->GetCommandBufferProxy()->channel()->Send( - new GpuCommandBufferMsg_GetChannelToken(&channel_token_)); - } - - return channel_token_; -} - -int32_t RendererGpuVideoAcceleratorFactories::GetCommandBufferRouteId() { - DCHECK(task_runner_->BelongsToCurrentThread()); - if (CheckContextLost()) - return 0; - return context_provider_->GetCommandBufferProxy()->route_id(); -} - -std::unique_ptr<media::VideoDecodeAccelerator> -RendererGpuVideoAcceleratorFactories::CreateVideoDecodeAccelerator() { - DCHECK(video_accelerator_enabled_); - DCHECK(task_runner_->BelongsToCurrentThread()); - if (CheckContextLost()) - return nullptr; - - return std::unique_ptr<media::VideoDecodeAccelerator>( - new media::GpuVideoDecodeAcceleratorHost( - context_provider_->GetCommandBufferProxy())); -} - -std::unique_ptr<media::VideoEncodeAccelerator> -RendererGpuVideoAcceleratorFactories::CreateVideoEncodeAccelerator() { - DCHECK(video_accelerator_enabled_); - DCHECK(task_runner_->BelongsToCurrentThread()); - if (CheckContextLost()) - return nullptr; - - return std::unique_ptr<media::VideoEncodeAccelerator>( - new media::GpuVideoEncodeAcceleratorHost( - context_provider_->GetCommandBufferProxy())); -} - -bool RendererGpuVideoAcceleratorFactories::CreateTextures( - int32_t count, - const gfx::Size& size, - std::vector<uint32_t>* texture_ids, - std::vector<gpu::Mailbox>* texture_mailboxes, - uint32_t texture_target) { - DCHECK(task_runner_->BelongsToCurrentThread()); - DCHECK(texture_target); - - if (CheckContextLost()) - return false; - cc::ContextProvider::ScopedContextLock lock(context_provider_); - gpu::gles2::GLES2Interface* gles2 = lock.ContextGL(); - texture_ids->resize(count); - texture_mailboxes->resize(count); - gles2->GenTextures(count, &texture_ids->at(0)); - for (int i = 0; i < count; ++i) { - gles2->ActiveTexture(GL_TEXTURE0); - uint32_t texture_id = texture_ids->at(i); - gles2->BindTexture(texture_target, texture_id); - gles2->TexParameteri(texture_target, GL_TEXTURE_MIN_FILTER, GL_LINEAR); - gles2->TexParameteri(texture_target, GL_TEXTURE_MAG_FILTER, GL_LINEAR); - gles2->TexParameteri(texture_target, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); - gles2->TexParameteri(texture_target, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); - if (texture_target == GL_TEXTURE_2D) { - gles2->TexImage2D(texture_target, - 0, - GL_RGBA, - size.width(), - size.height(), - 0, - GL_RGBA, - GL_UNSIGNED_BYTE, - NULL); - } - gles2->GenMailboxCHROMIUM(texture_mailboxes->at(i).name); - gles2->ProduceTextureCHROMIUM(texture_target, - texture_mailboxes->at(i).name); - } - - // We need ShallowFlushCHROMIUM() here to order the command buffer commands - // with respect to IPC to the GPU process, to guarantee that the decoder in - // the GPU process can use these textures as soon as it receives IPC - // notification of them. - gles2->ShallowFlushCHROMIUM(); - DCHECK_EQ(gles2->GetError(), static_cast<GLenum>(GL_NO_ERROR)); - return true; -} - -void RendererGpuVideoAcceleratorFactories::DeleteTexture(uint32_t texture_id) { - DCHECK(task_runner_->BelongsToCurrentThread()); - if (CheckContextLost()) - return; - - cc::ContextProvider::ScopedContextLock lock(context_provider_); - gpu::gles2::GLES2Interface* gles2 = lock.ContextGL(); - gles2->DeleteTextures(1, &texture_id); - DCHECK_EQ(gles2->GetError(), static_cast<GLenum>(GL_NO_ERROR)); -} - -gpu::SyncToken RendererGpuVideoAcceleratorFactories::CreateSyncToken() { - cc::ContextProvider::ScopedContextLock lock(context_provider_); - gpu::gles2::GLES2Interface* gl = lock.ContextGL(); - gpu::SyncToken sync_token; - const GLuint64 fence_sync = gl->InsertFenceSyncCHROMIUM(); - gl->ShallowFlushCHROMIUM(); - gl->GenSyncTokenCHROMIUM(fence_sync, sync_token.GetData()); - return sync_token; -} - -void RendererGpuVideoAcceleratorFactories::WaitSyncToken( - const gpu::SyncToken& sync_token) { - DCHECK(task_runner_->BelongsToCurrentThread()); - if (CheckContextLost()) - return; - - cc::ContextProvider::ScopedContextLock lock(context_provider_); - gpu::gles2::GLES2Interface* gles2 = lock.ContextGL(); - gles2->WaitSyncTokenCHROMIUM(sync_token.GetConstData()); - - // Callers expect the WaitSyncToken to affect the next IPCs. Make sure to - // flush the command buffers to ensure that. - gles2->ShallowFlushCHROMIUM(); -} - -void RendererGpuVideoAcceleratorFactories::ShallowFlushCHROMIUM() { - DCHECK(task_runner_->BelongsToCurrentThread()); - if (CheckContextLost()) - return; - - cc::ContextProvider::ScopedContextLock lock(context_provider_); - gpu::gles2::GLES2Interface* gles2 = lock.ContextGL(); - gles2->ShallowFlushCHROMIUM(); -} - -std::unique_ptr<gfx::GpuMemoryBuffer> -RendererGpuVideoAcceleratorFactories::CreateGpuMemoryBuffer( - const gfx::Size& size, - gfx::BufferFormat format, - gfx::BufferUsage usage) { - std::unique_ptr<gfx::GpuMemoryBuffer> buffer = - gpu_memory_buffer_manager_->CreateGpuMemoryBuffer( - size, format, usage, gpu::kNullSurfaceHandle); - return buffer; -} -bool RendererGpuVideoAcceleratorFactories:: - ShouldUseGpuMemoryBuffersForVideoFrames() const { - return enable_gpu_memory_buffer_video_frames_; -} - -unsigned RendererGpuVideoAcceleratorFactories::ImageTextureTarget( - gfx::BufferFormat format) { - auto found = image_texture_targets_.find(cc::BufferToTextureTargetKey( - gfx::BufferUsage::GPU_READ_CPU_READ_WRITE, format)); - DCHECK(found != image_texture_targets_.end()); - return found->second; -} - -media::GpuVideoAcceleratorFactories::OutputFormat -RendererGpuVideoAcceleratorFactories::VideoFrameOutputFormat() { - DCHECK(task_runner_->BelongsToCurrentThread()); - if (CheckContextLost()) - return media::GpuVideoAcceleratorFactories::OutputFormat::UNDEFINED; - cc::ContextProvider::ScopedContextLock lock(context_provider_); - auto capabilities = context_provider_->ContextCapabilities(); - if (capabilities.image_ycbcr_420v) - return media::GpuVideoAcceleratorFactories::OutputFormat::NV12_SINGLE_GMB; - if (capabilities.image_ycbcr_422) - return media::GpuVideoAcceleratorFactories::OutputFormat::UYVY; - if (capabilities.texture_rg) - return media::GpuVideoAcceleratorFactories::OutputFormat::NV12_DUAL_GMB; - return media::GpuVideoAcceleratorFactories::OutputFormat::UNDEFINED; -} - -namespace { -class ScopedGLContextLockImpl - : public media::GpuVideoAcceleratorFactories::ScopedGLContextLock { - public: - ScopedGLContextLockImpl(cc::ContextProvider* context_provider) - : lock_(context_provider) {} - gpu::gles2::GLES2Interface* ContextGL() override { return lock_.ContextGL(); } - - private: - cc::ContextProvider::ScopedContextLock lock_; -}; -} // namespace - -std::unique_ptr<media::GpuVideoAcceleratorFactories::ScopedGLContextLock> -RendererGpuVideoAcceleratorFactories::GetGLContextLock() { - if (CheckContextLost()) - return nullptr; - return base::MakeUnique<ScopedGLContextLockImpl>(context_provider_); -} - -std::unique_ptr<base::SharedMemory> -RendererGpuVideoAcceleratorFactories::CreateSharedMemory(size_t size) { - std::unique_ptr<base::SharedMemory> mem( - ChildThreadImpl::AllocateSharedMemory(size)); - if (mem && !mem->Map(size)) - return nullptr; - return mem; -} - -scoped_refptr<base::SingleThreadTaskRunner> -RendererGpuVideoAcceleratorFactories::GetTaskRunner() { - return task_runner_; -} - -media::VideoDecodeAccelerator::Capabilities -RendererGpuVideoAcceleratorFactories::GetVideoDecodeAcceleratorCapabilities() { - return media::GpuVideoAcceleratorUtil::ConvertGpuToMediaDecodeCapabilities( - gpu_channel_host_->gpu_info().video_decode_accelerator_capabilities); -} - -media::VideoEncodeAccelerator::SupportedProfiles -RendererGpuVideoAcceleratorFactories:: - GetVideoEncodeAcceleratorSupportedProfiles() { - return media::GpuVideoAcceleratorUtil::ConvertGpuToMediaEncodeProfiles( - gpu_channel_host_->gpu_info() - .video_encode_accelerator_supported_profiles); -} - -void RendererGpuVideoAcceleratorFactories::ReleaseContextProvider() { - DCHECK(main_thread_task_runner_->BelongsToCurrentThread()); - RecordContextProviderPhaseUmaEnum( - ContextProviderPhase::CONTEXT_PROVIDER_RELEASED); - context_provider_refptr_ = nullptr; -} - -scoped_refptr<ui::ContextProviderCommandBuffer> -RendererGpuVideoAcceleratorFactories::ContextProviderMainThread() { - DCHECK(main_thread_task_runner_->BelongsToCurrentThread()); - return context_provider_refptr_; -} - -} // namespace content
diff --git a/content/renderer/media/renderer_gpu_video_accelerator_factories.h b/content/renderer/media/renderer_gpu_video_accelerator_factories.h deleted file mode 100644 index ba1d212..0000000 --- a/content/renderer/media/renderer_gpu_video_accelerator_factories.h +++ /dev/null
@@ -1,144 +0,0 @@ -// Copyright 2013 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef CONTENT_RENDERER_MEDIA_RENDERER_GPU_VIDEO_ACCELERATOR_FACTORIES_H_ -#define CONTENT_RENDERER_MEDIA_RENDERER_GPU_VIDEO_ACCELERATOR_FACTORIES_H_ - -#include <stddef.h> -#include <stdint.h> - -#include <memory> -#include <vector> - -#include "base/macros.h" -#include "base/memory/ref_counted.h" -#include "base/memory/weak_ptr.h" -#include "base/single_thread_task_runner.h" -#include "base/synchronization/waitable_event.h" -#include "base/unguessable_token.h" -#include "cc/output/buffer_to_texture_target_map.h" -#include "content/child/thread_safe_sender.h" -#include "content/common/content_export.h" -#include "media/renderers/gpu_video_accelerator_factories.h" -#include "ui/gfx/geometry/size.h" - -namespace gpu { -class GpuChannelHost; -class GpuMemoryBufferManager; -} - -namespace ui { -class ContextProviderCommandBuffer; -} - -namespace content { - -// Glue code to expose functionality needed by media::GpuVideoAccelerator to -// RenderViewImpl. This class is entirely an implementation detail of -// RenderViewImpl and only has its own header to allow extraction of its -// implementation from render_view_impl.cc which is already far too large. -// -// The RendererGpuVideoAcceleratorFactories can be constructed on any thread, -// but subsequent calls to all public methods of the class must be called from -// the |task_runner_|, as provided during construction. -class CONTENT_EXPORT RendererGpuVideoAcceleratorFactories - : public media::GpuVideoAcceleratorFactories { - public: - // Takes a ref on |gpu_channel_host| and tests |context| for loss before each - // use. Safe to call from any thread. - static std::unique_ptr<RendererGpuVideoAcceleratorFactories> Create( - scoped_refptr<gpu::GpuChannelHost> gpu_channel_host, - const scoped_refptr<base::SingleThreadTaskRunner>& - main_thread_task_runner, - const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, - const scoped_refptr<ui::ContextProviderCommandBuffer>& context_provider, - bool enable_gpu_memory_buffer_video_frames, - const cc::BufferToTextureTargetMap& image_texture_targets, - bool enable_video_accelerator); - - // media::GpuVideoAcceleratorFactories implementation. - bool IsGpuVideoAcceleratorEnabled() override; - base::UnguessableToken GetChannelToken() override; - int32_t GetCommandBufferRouteId() override; - std::unique_ptr<media::VideoDecodeAccelerator> CreateVideoDecodeAccelerator() - override; - std::unique_ptr<media::VideoEncodeAccelerator> CreateVideoEncodeAccelerator() - override; - // Creates textures and produces them into mailboxes. Returns true on success - // or false on failure. - bool CreateTextures(int32_t count, - const gfx::Size& size, - std::vector<uint32_t>* texture_ids, - std::vector<gpu::Mailbox>* texture_mailboxes, - uint32_t texture_target) override; - void DeleteTexture(uint32_t texture_id) override; - gpu::SyncToken CreateSyncToken() override; - void WaitSyncToken(const gpu::SyncToken& sync_token) override; - void ShallowFlushCHROMIUM() override; - - std::unique_ptr<gfx::GpuMemoryBuffer> CreateGpuMemoryBuffer( - const gfx::Size& size, - gfx::BufferFormat format, - gfx::BufferUsage usage) override; - - bool ShouldUseGpuMemoryBuffersForVideoFrames() const override; - unsigned ImageTextureTarget(gfx::BufferFormat format) override; - OutputFormat VideoFrameOutputFormat() override; - std::unique_ptr<media::GpuVideoAcceleratorFactories::ScopedGLContextLock> - GetGLContextLock() override; - bool CheckContextLost(); - std::unique_ptr<base::SharedMemory> CreateSharedMemory(size_t size) override; - scoped_refptr<base::SingleThreadTaskRunner> GetTaskRunner() override; - - media::VideoDecodeAccelerator::Capabilities - GetVideoDecodeAcceleratorCapabilities() override; - std::vector<media::VideoEncodeAccelerator::SupportedProfile> - GetVideoEncodeAcceleratorSupportedProfiles() override; - - void ReleaseContextProvider(); - scoped_refptr<ui::ContextProviderCommandBuffer> ContextProviderMainThread(); - - ~RendererGpuVideoAcceleratorFactories() override; - - private: - RendererGpuVideoAcceleratorFactories( - scoped_refptr<gpu::GpuChannelHost> gpu_channel_host, - const scoped_refptr<base::SingleThreadTaskRunner>& - main_thread_task_runner, - const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, - const scoped_refptr<ui::ContextProviderCommandBuffer>& context_provider, - bool enable_gpu_memory_buffer_video_frames, - const cc::BufferToTextureTargetMap& image_texture_targets, - bool enable_video_accelerator); - - scoped_refptr<base::SingleThreadTaskRunner> main_thread_task_runner_; - scoped_refptr<base::SingleThreadTaskRunner> task_runner_; - scoped_refptr<gpu::GpuChannelHost> gpu_channel_host_; - - // Shared pointer to a shared context provider that should be accessed - // and set only on the main thread. - scoped_refptr<ui::ContextProviderCommandBuffer> context_provider_refptr_; - - // Raw pointer to a context provider accessed from the media thread. - ui::ContextProviderCommandBuffer* context_provider_; - - base::UnguessableToken channel_token_; - - // Whether gpu memory buffers should be used to hold video frames data. - bool enable_gpu_memory_buffer_video_frames_; - const cc::BufferToTextureTargetMap image_texture_targets_; - // Whether video acceleration encoding/decoding should be enabled. - const bool video_accelerator_enabled_; - - gpu::GpuMemoryBufferManager* const gpu_memory_buffer_manager_; - - // For sending requests to allocate shared memory in the Browser process. - scoped_refptr<ThreadSafeSender> thread_safe_sender_; - - DISALLOW_COPY_AND_ASSIGN(RendererGpuVideoAcceleratorFactories); -}; - -} // namespace content - -#endif // CONTENT_RENDERER_MEDIA_RENDERER_GPU_VIDEO_ACCELERATOR_FACTORIES_H_
diff --git a/content/renderer/media_recorder/vea_encoder.cc b/content/renderer/media_recorder/vea_encoder.cc index ae0c9b0..77ccb9e7 100644 --- a/content/renderer/media_recorder/vea_encoder.cc +++ b/content/renderer/media_recorder/vea_encoder.cc
@@ -6,7 +6,7 @@ #include <string> -#include "content/renderer/media/renderer_gpu_video_accelerator_factories.h" +#include "content/renderer/media/gpu/gpu_video_accelerator_factories_impl.h" #include "content/renderer/render_thread_impl.h" #include "media/base/bind_to_current_loop.h" #include "media/base/video_frame.h"
diff --git a/content/renderer/media_recorder/video_track_recorder.cc b/content/renderer/media_recorder/video_track_recorder.cc index d128bd7c..42bb19c 100644 --- a/content/renderer/media_recorder/video_track_recorder.cc +++ b/content/renderer/media_recorder/video_track_recorder.cc
@@ -15,7 +15,7 @@ #include "base/threading/thread_task_runner_handle.h" #include "base/time/time.h" #include "cc/paint/skia_paint_canvas.h" -#include "content/renderer/media/renderer_gpu_video_accelerator_factories.h" +#include "content/renderer/media/gpu/gpu_video_accelerator_factories_impl.h" #include "content/renderer/media_recorder/vea_encoder.h" #include "content/renderer/media_recorder/vpx_encoder.h" #include "content/renderer/render_thread_impl.h"
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc index b5ab78a924..8bd2dbd 100644 --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc
@@ -1609,6 +1609,9 @@ OnMoveRangeSelectionExtent) IPC_MESSAGE_HANDLER(InputMsg_Replace, OnReplace) IPC_MESSAGE_HANDLER(InputMsg_ReplaceMisspelling, OnReplaceMisspelling) + IPC_MESSAGE_HANDLER(InputMsg_MoveCaret, OnMoveCaret) + IPC_MESSAGE_HANDLER(InputMsg_ScrollFocusedEditableNodeIntoRect, + OnScrollFocusedEditableNodeIntoRect) IPC_MESSAGE_HANDLER(FrameMsg_CopyImageAt, OnCopyImageAt) IPC_MESSAGE_HANDLER(FrameMsg_SaveImageAt, OnSaveImageAt) IPC_MESSAGE_HANDLER(InputMsg_ExtendSelectionAndDelete, @@ -1900,6 +1903,18 @@ } } +void RenderFrameImpl::OnMoveCaret(const gfx::Point& point) { + Send(new InputHostMsg_MoveCaret_ACK(render_view_->GetRoutingID())); + frame_->MoveCaretSelection(render_view_->ConvertWindowPointToViewport(point)); +} + +void RenderFrameImpl::OnScrollFocusedEditableNodeIntoRect( + const gfx::Rect& rect) { + // TODO(dtapuska): Move the implementation of scroll focused + // editable node into rect into this class. + render_view_->ScrollFocusedEditableNodeIntoRect(rect); +} + void RenderFrameImpl::OnUndo() { frame_->ExecuteCommand(WebString::FromUTF8("Undo")); }
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h index 7683fb5..6db17694 100644 --- a/content/renderer/render_frame_impl.h +++ b/content/renderer/render_frame_impl.h
@@ -858,6 +858,8 @@ void OnContextMenuClosed(const CustomContextMenuContext& custom_context); void OnCustomContextMenuAction(const CustomContextMenuContext& custom_context, unsigned action); + void OnMoveCaret(const gfx::Point& point); + void OnScrollFocusedEditableNodeIntoRect(const gfx::Rect& rect); void OnUndo(); void OnRedo(); void OnCut();
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc index 6ae346c..97d5731f 100644 --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc
@@ -115,10 +115,10 @@ #include "content/renderer/media/audio_input_message_filter.h" #include "content/renderer/media/audio_message_filter.h" #include "content/renderer/media/audio_renderer_mixer_manager.h" +#include "content/renderer/media/gpu/gpu_video_accelerator_factories_impl.h" #include "content/renderer/media/media_stream_center.h" #include "content/renderer/media/midi_message_filter.h" #include "content/renderer/media/render_media_client.h" -#include "content/renderer/media/renderer_gpu_video_accelerator_factories.h" #include "content/renderer/media/video_capture_impl_manager.h" #include "content/renderer/net_info_helper.h" #include "content/renderer/p2p/socket_dispatcher.h" @@ -1421,10 +1421,9 @@ GetMediaThreadTaskRunner(); media_task_runner->PostTask( FROM_HERE, - base::Bind( - base::IgnoreResult( - &RendererGpuVideoAcceleratorFactories::CheckContextLost), - base::Unretained(gpu_factories_.back().get()))); + base::Bind(base::IgnoreResult( + &GpuVideoAcceleratorFactoriesImpl::CheckContextLost), + base::Unretained(gpu_factories_.back().get()))); } } } @@ -1465,7 +1464,7 @@ cmd_line->HasSwitch(switches::kEnableGpuMemoryBufferVideoFrames); #endif - gpu_factories_.push_back(RendererGpuVideoAcceleratorFactories::Create( + gpu_factories_.push_back(GpuVideoAcceleratorFactoriesImpl::Create( std::move(gpu_channel_host), base::ThreadTaskRunnerHandle::Get(), media_task_runner, std::move(media_context_provider), enable_gpu_memory_buffer_video_frames, buffer_to_texture_target_map_,
diff --git a/content/renderer/render_thread_impl.h b/content/renderer/render_thread_impl.h index e653a59..032c899 100644 --- a/content/renderer/render_thread_impl.h +++ b/content/renderer/render_thread_impl.h
@@ -143,7 +143,7 @@ class CategorizedWorkerPool; class RenderThreadObserver; class RendererBlinkPlatformImpl; -class RendererGpuVideoAcceleratorFactories; +class GpuVideoAcceleratorFactoriesImpl; class ResourceDispatchThrottler; class VideoCaptureImplManager; @@ -698,8 +698,7 @@ // TODO(dcastagna): This should be just one scoped_ptr once // http://crbug.com/580386 is fixed. // NOTE(dcastagna): At worst this accumulates a few bytes per context lost. - std::vector<std::unique_ptr<RendererGpuVideoAcceleratorFactories>> - gpu_factories_; + std::vector<std::unique_ptr<GpuVideoAcceleratorFactoriesImpl>> gpu_factories_; // Thread for running multimedia operations (e.g., video decoding). std::unique_ptr<base::Thread> media_thread_;
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc index d0f55d4..bc40880 100644 --- a/content/renderer/render_view_impl.cc +++ b/content/renderer/render_view_impl.cc
@@ -1149,10 +1149,6 @@ bool handled = true; IPC_BEGIN_MESSAGE_MAP(RenderViewImpl, message) - IPC_MESSAGE_HANDLER(InputMsg_ExecuteEditCommand, OnExecuteEditCommand) - IPC_MESSAGE_HANDLER(InputMsg_MoveCaret, OnMoveCaret) - IPC_MESSAGE_HANDLER(InputMsg_ScrollFocusedEditableNodeIntoRect, - OnScrollFocusedEditableNodeIntoRect) IPC_MESSAGE_HANDLER(ViewMsg_SetPageScale, OnSetPageScale) IPC_MESSAGE_HANDLER(ViewMsg_SetInitialFocus, OnSetInitialFocus) IPC_MESSAGE_HANDLER(ViewMsg_UpdateTargetURL_ACK, OnUpdateTargetURLAck) @@ -1243,26 +1239,7 @@ target_url_status_ = TARGET_NONE; } -void RenderViewImpl::OnExecuteEditCommand(const std::string& name, - const std::string& value) { - if (!webview() || !webview()->FocusedFrame()) - return; - - webview()->FocusedFrame()->ExecuteCommand(WebString::FromUTF8(name), - WebString::FromUTF8(value)); -} - -void RenderViewImpl::OnMoveCaret(const gfx::Point& point) { - if (!webview()) - return; - - Send(new InputHostMsg_MoveCaret_ACK(GetRoutingID())); - webview()->FocusedFrame()->MoveCaretSelection( - ConvertWindowPointToViewport(point)); -} - -void RenderViewImpl::OnScrollFocusedEditableNodeIntoRect( - const gfx::Rect& rect) { +void RenderViewImpl::ScrollFocusedEditableNodeIntoRect(const gfx::Rect& rect) { blink::WebAutofillClient* autofill_client = nullptr; if (auto* focused_frame = GetWebView()->FocusedFrame()) autofill_client = focused_frame->AutofillClient();
diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h index 452aa15..ded94ab 100644 --- a/content/renderer/render_view_impl.h +++ b/content/renderer/render_view_impl.h
@@ -381,6 +381,7 @@ void HandleInputEvent(const blink::WebCoalescedInputEvent& input_event, const ui::LatencyInfo& latency_info, HandledEventCallback callback) override; + void ScrollFocusedEditableNodeIntoRect(const gfx::Rect& rect); protected: // RenderWidget overrides: @@ -505,8 +506,6 @@ // The documentation for these functions should be in // content/common/*_messages.h for the message that the function is handling. void OnExecuteEditCommand(const std::string& name, const std::string& value); - void OnMoveCaret(const gfx::Point& point); - void OnScrollFocusedEditableNodeIntoRect(const gfx::Rect& rect); void OnAllowScriptToClose(bool script_can_close); void OnCancelDownload(int32_t download_id); void OnClosePage();
diff --git a/content/renderer/renderer_v2.sb b/content/renderer/renderer_v2.sb index cb871b0..341bbf3 100644 --- a/content/renderer/renderer_v2.sb +++ b/content/renderer/renderer_v2.sb
@@ -16,6 +16,7 @@ (define enable-logging "ENABLE_LOGGING") (define homedir-as-literal "USER_HOMEDIR_AS_LITERAL") (define elcap-or-later "ELCAP_OR_LATER") +(define is-mavericks "IS_MAVERICKS") (define bundle-path "BUNDLE_PATH") (define executable-path "EXECUTABLE_PATH") (define chromium-pid "CHROMIUM_PID") @@ -25,6 +26,7 @@ ; Backwards compatibility for 10.9 (define (path x) (literal x)) +(define (iokit-registry-entry-class x) (iokit-user-client-class x)) ; --enable-sandbox-logging causes the sandbox to log failures to the syslog. (if (param-true? disable-sandbox-denial-logging) @@ -47,7 +49,7 @@ (if (param-defined? component-path) (allow file-read* (subpath (param component-path)))) -(allow process-exec* (path (param executable-path))) +(allow process-exec (path (param executable-path))) (allow file-read* (path (param executable-path))) (allow mach-lookup (global-name (string-append (param bundle-id) @@ -122,23 +124,30 @@ (global-name "com.apple.system.opendirectoryd.libinfo") (global-name "com.apple.windowserver.active")) +; MacOS dropped FontServer to replace it with the (XPC based) com.apple.fonts. +(if (param-true? is-mavericks) + (allow mach-lookup (global-name "com.apple.FontServer"))) + ; sysctl -(allow sysctl-read - (sysctl-name "hw.activecpu") - (sysctl-name "hw.busfrequency_compat") - (sysctl-name "hw.byteorder") - (sysctl-name "hw.cachelinesize_compat") - (sysctl-name "hw.cpufrequency_compat") - (sysctl-name "hw.cputype") - (sysctl-name "hw.machine") - (sysctl-name "hw.ncpu") - (sysctl-name "hw.pagesize_compat") - (sysctl-name "hw.physicalcpu_max") - (sysctl-name "hw.tbfrequency_compat") - (sysctl-name "hw.vectorunit") - (sysctl-name "kern.hostname") - (sysctl-name "kern.maxfilesperproc") - (sysctl-name "kern.osrelease") - (sysctl-name "kern.ostype") - (sysctl-name "kern.osversion") - (sysctl-name "kern.version")) +(if (param-true? is-mavericks) + (allow sysctl-read) + ; else + (allow sysctl-read + (sysctl-name "hw.activecpu") + (sysctl-name "hw.busfrequency_compat") + (sysctl-name "hw.byteorder") + (sysctl-name "hw.cachelinesize_compat") + (sysctl-name "hw.cpufrequency_compat") + (sysctl-name "hw.cputype") + (sysctl-name "hw.machine") + (sysctl-name "hw.ncpu") + (sysctl-name "hw.pagesize_compat") + (sysctl-name "hw.physicalcpu_max") + (sysctl-name "hw.tbfrequency_compat") + (sysctl-name "hw.vectorunit") + (sysctl-name "kern.hostname") + (sysctl-name "kern.maxfilesperproc") + (sysctl-name "kern.osrelease") + (sysctl-name "kern.ostype") + (sysctl-name "kern.osversion") + (sysctl-name "kern.version")))
diff --git a/content/shell/BUILD.gn b/content/shell/BUILD.gn index e161d9c..4703e710 100644 --- a/content/shell/BUILD.gn +++ b/content/shell/BUILD.gn
@@ -170,6 +170,8 @@ "common/shell_origin_trial_policy.h", "common/shell_switches.cc", "common/shell_switches.h", + "gpu/shell_content_gpu_client.cc", + "gpu/shell_content_gpu_client.h", "renderer/layout_test/blink_test_helpers.cc", "renderer/layout_test/blink_test_helpers.h", "renderer/layout_test/blink_test_runner.cc", @@ -210,6 +212,7 @@ "//content/public/browser", "//content/public/child", "//content/public/common", + "//content/public/gpu", "//content/public/renderer", "//content/public/utility", "//ipc",
diff --git a/content/shell/app/shell_main_delegate.cc b/content/shell/app/shell_main_delegate.cc index 5f25656..7dd9ff9 100644 --- a/content/shell/app/shell_main_delegate.cc +++ b/content/shell/app/shell_main_delegate.cc
@@ -31,6 +31,7 @@ #include "content/shell/common/layout_test/layout_test_switches.h" #include "content/shell/common/shell_content_client.h" #include "content/shell/common/shell_switches.h" +#include "content/shell/gpu/shell_content_gpu_client.h" #include "content/shell/renderer/layout_test/layout_test_content_renderer_client.h" #include "content/shell/renderer/shell_content_renderer_client.h" #include "content/shell/utility/shell_content_utility_client.h" @@ -377,6 +378,11 @@ return browser_client_.get(); } +ContentGpuClient* ShellMainDelegate::CreateContentGpuClient() { + gpu_client_.reset(new ShellContentGpuClient); + return gpu_client_.get(); +} + ContentRendererClient* ShellMainDelegate::CreateContentRendererClient() { renderer_client_.reset(base::CommandLine::ForCurrentProcess()->HasSwitch( switches::kRunLayoutTest)
diff --git a/content/shell/app/shell_main_delegate.h b/content/shell/app/shell_main_delegate.h index 1297ff8..689c1b7 100644 --- a/content/shell/app/shell_main_delegate.h +++ b/content/shell/app/shell_main_delegate.h
@@ -15,6 +15,7 @@ namespace content { class ContentClient; class ShellContentBrowserClient; +class ShellContentGpuClient; class ShellContentRendererClient; class ShellContentUtilityClient; @@ -36,6 +37,7 @@ void ZygoteForked() override; #endif ContentBrowserClient* CreateContentBrowserClient() override; + ContentGpuClient* CreateContentGpuClient() override; ContentRendererClient* CreateContentRendererClient() override; ContentUtilityClient* CreateContentUtilityClient() override; @@ -43,6 +45,7 @@ private: std::unique_ptr<ShellContentBrowserClient> browser_client_; + std::unique_ptr<ShellContentGpuClient> gpu_client_; std::unique_ptr<ShellContentRendererClient> renderer_client_; std::unique_ptr<ShellContentUtilityClient> utility_client_; std::unique_ptr<ContentClient> content_client_;
diff --git a/content/shell/browser/OWNERS b/content/shell/browser/OWNERS index 890d46a..c4dd179a 100644 --- a/content/shell/browser/OWNERS +++ b/content/shell/browser/OWNERS
@@ -3,5 +3,7 @@ per-file content_shell_browser_manifest_overlay.json=set noparent per-file content_shell_browser_manifest_overlay.json=file://ipc/SECURITY_OWNERS +per-file content_shell_gpu_manifest_overlay.json=set noparent +per-file content_shell_gpu_manifest_overlay.json=file://ipc/SECURITY_OWNERS per-file content_shell_utility_manifest_overlay.json=set noparent per-file content_shell_utility_manifest_overlay.json=file://ipc/SECURITY_OWNERS
diff --git a/content/shell/browser/content_shell_gpu_manifest_overlay.json b/content/shell/browser/content_shell_gpu_manifest_overlay.json new file mode 100644 index 0000000..f032a68 --- /dev/null +++ b/content/shell/browser/content_shell_gpu_manifest_overlay.json
@@ -0,0 +1,12 @@ +{ + "name": "content_gpu", + "interface_provider_specs": { + "service_manager:connector": { + "provides": { + "browser": [ + "content::mojom::PowerMonitorTest" + ] + } + } + } +}
diff --git a/content/shell/browser/shell_content_browser_client.cc b/content/shell/browser/shell_content_browser_client.cc index 21c02e6..f03cde3a 100644 --- a/content/shell/browser/shell_content_browser_client.cc +++ b/content/shell/browser/shell_content_browser_client.cc
@@ -255,6 +255,8 @@ int id = -1; if (name == content::mojom::kBrowserServiceName) id = IDR_CONTENT_SHELL_BROWSER_MANIFEST_OVERLAY; + else if (name == content::mojom::kGpuServiceName) + id = IDR_CONTENT_SHELL_GPU_MANIFEST_OVERLAY; else if (name == content::mojom::kRendererServiceName) id = IDR_CONTENT_SHELL_RENDERER_MANIFEST_OVERLAY; else if (name == content::mojom::kUtilityServiceName)
diff --git a/content/shell/gpu/DEPS b/content/shell/gpu/DEPS new file mode 100644 index 0000000..c610d2e --- /dev/null +++ b/content/shell/gpu/DEPS
@@ -0,0 +1,3 @@ +include_rules = [ + "+services/service_manager", +]
diff --git a/content/shell/gpu/shell_content_gpu_client.cc b/content/shell/gpu/shell_content_gpu_client.cc new file mode 100644 index 0000000..21c1692 --- /dev/null +++ b/content/shell/gpu/shell_content_gpu_client.cc
@@ -0,0 +1,27 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "content/shell/gpu/shell_content_gpu_client.h" + +#include "base/memory/ptr_util.h" +#include "content/shell/common/power_monitor_test_impl.h" +#include "mojo/public/cpp/bindings/strong_binding.h" +#include "services/service_manager/public/cpp/binder_registry.h" + +namespace content { + +ShellContentGpuClient::ShellContentGpuClient() = default; + +ShellContentGpuClient::~ShellContentGpuClient() = default; + +void ShellContentGpuClient::Initialize( + base::FieldTrialList::Observer* observer, + service_manager::BinderRegistry* registry) { + registry->AddInterface<mojom::PowerMonitorTest>( + base::Bind(&PowerMonitorTestImpl::MakeStrongBinding, + base::Passed(base::MakeUnique<PowerMonitorTestImpl>())), + base::ThreadTaskRunnerHandle::Get()); +} + +} // namespace content
diff --git a/content/shell/gpu/shell_content_gpu_client.h b/content/shell/gpu/shell_content_gpu_client.h new file mode 100644 index 0000000..d9ebbc4 --- /dev/null +++ b/content/shell/gpu/shell_content_gpu_client.h
@@ -0,0 +1,30 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CONTENT_SHELL_GPU_SHELL_CONTENT_GPU_CLIENT_H_ +#define CONTENT_SHELL_GPU_SHELL_CONTENT_GPU_CLIENT_H_ + +#include <memory> + +#include "base/macros.h" +#include "content/public/common/network_service_test.mojom.h" +#include "content/public/gpu/content_gpu_client.h" + +namespace content { + +class ShellContentGpuClient : public ContentGpuClient { + public: + ShellContentGpuClient(); + ~ShellContentGpuClient() override; + + // ContentGpuClient: + void Initialize(base::FieldTrialList::Observer* observer, + service_manager::BinderRegistry* registry) override; + + DISALLOW_COPY_AND_ASSIGN(ShellContentGpuClient); +}; + +} // namespace content + +#endif // CONTENT_SHELL_GPU_SHELL_CONTENT_GPU_CLIENT_H_
diff --git a/content/shell/shell_resources.grd b/content/shell/shell_resources.grd index 19e5276..0fdafbe 100644 --- a/content/shell/shell_resources.grd +++ b/content/shell/shell_resources.grd
@@ -13,6 +13,7 @@ <include name="IDR_CONTENT_SHELL_MISSING_IMAGE_GIF" file="resources/missingImage.gif" type="BINDATA" /> <include name="IDR_CONTENT_SHELL_MISSING_IMAGE_PNG" file="resources/missingImage.png" type="BINDATA" /> <include name="IDR_CONTENT_SHELL_BROWSER_MANIFEST_OVERLAY" file="browser/content_shell_browser_manifest_overlay.json" type="BINDATA" /> + <include name="IDR_CONTENT_SHELL_GPU_MANIFEST_OVERLAY" file="browser/content_shell_gpu_manifest_overlay.json" type="BINDATA" /> <include name="IDR_CONTENT_SHELL_RENDERER_MANIFEST_OVERLAY" file="browser/content_shell_renderer_manifest_overlay.json" type="BINDATA" /> <include name="IDR_CONTENT_SHELL_UTILITY_MANIFEST_OVERLAY" file="browser/content_shell_utility_manifest_overlay.json" type="BINDATA" /> </includes>
diff --git a/content/test/data/accessibility/html/button-name-calc-expected-android.txt b/content/test/data/accessibility/html/button-name-calc-expected-android.txt index c874303..704bf09 100644 --- a/content/test/data/accessibility/html/button-name-calc-expected-android.txt +++ b/content/test/data/accessibility/html/button-name-calc-expected-android.txt
@@ -4,4 +4,7 @@ ++android.widget.Button role_description='button' clickable focusable name='AriaLabel2 Title2' ++android.widget.Button role_description='button' clickable focusable name='LabelledBy3 Title3' ++android.widget.Button role_description='button' clickable focusable name='LabelledBy4 DescribedBy4' -++android.widget.Button role_description='button' clickable focusable name='InnerText5 DescribedBy5' \ No newline at end of file +++android.widget.Button role_description='button' clickable focusable name='InnerText5 DescribedBy5' +++android.widget.Button role_description='button' clickable focusable name='Outer inner' +++android.widget.Button role_description='button' clickable focusable name='Outer inner1' +++android.widget.Button role_description='button' clickable focusable name='Outer grandchild' \ No newline at end of file
diff --git a/content/test/data/accessibility/html/button-name-calc-expected-blink.txt b/content/test/data/accessibility/html/button-name-calc-expected-blink.txt index 3c4c8494..86fcf4b 100644 --- a/content/test/data/accessibility/html/button-name-calc-expected-blink.txt +++ b/content/test/data/accessibility/html/button-name-calc-expected-blink.txt
@@ -5,3 +5,6 @@ ++button description='Title3' name='LabelledBy3' descriptionFrom=2 ++button description='DescribedBy4' name='LabelledBy4' descriptionFrom=5 ++button description='DescribedBy5' name='InnerText5' descriptionFrom=5 +++button name='Outer inner' +++button name='Outer inner1' +++button name='Outer grandchild'
diff --git a/content/test/data/accessibility/html/button-name-calc-expected-mac.txt b/content/test/data/accessibility/html/button-name-calc-expected-mac.txt index 19686dd6..38bee9d 100644 --- a/content/test/data/accessibility/html/button-name-calc-expected-mac.txt +++ b/content/test/data/accessibility/html/button-name-calc-expected-mac.txt
@@ -5,3 +5,6 @@ ++AXButton AXTitle='LabelledBy3' AXHelp='Title3' ++AXButton AXTitle='LabelledBy4' AXHelp='DescribedBy4' ++AXButton AXTitle='InnerText5' AXHelp='DescribedBy5' +++AXButton AXTitle='Outer inner' +++AXButton AXTitle='Outer inner1' +++AXButton AXTitle='Outer grandchild'
diff --git a/content/test/data/accessibility/html/button-name-calc-expected-win.txt b/content/test/data/accessibility/html/button-name-calc-expected-win.txt index 856df38b..d7cc83a7 100644 --- a/content/test/data/accessibility/html/button-name-calc-expected-win.txt +++ b/content/test/data/accessibility/html/button-name-calc-expected-win.txt
@@ -5,3 +5,6 @@ ++ROLE_SYSTEM_PUSHBUTTON name='LabelledBy3' FOCUSABLE explicit-name:true description='Title3' ++ROLE_SYSTEM_PUSHBUTTON name='LabelledBy4' FOCUSABLE explicit-name:true description='DescribedBy4' ++ROLE_SYSTEM_PUSHBUTTON name='InnerText5' FOCUSABLE description='DescribedBy5' +++ROLE_SYSTEM_PUSHBUTTON name='Outer inner' FOCUSABLE +++ROLE_SYSTEM_PUSHBUTTON name='Outer inner1' FOCUSABLE +++ROLE_SYSTEM_PUSHBUTTON name='Outer grandchild' FOCUSABLE
diff --git a/content/test/data/accessibility/html/button-name-calc.html b/content/test/data/accessibility/html/button-name-calc.html index cf97c791..7c783b9 100644 --- a/content/test/data/accessibility/html/button-name-calc.html +++ b/content/test/data/accessibility/html/button-name-calc.html
@@ -15,7 +15,9 @@ <button id="c4" title="Title4" aria-label="AriaLabel4" aria-labelledby="lb4" aria-describedby="db4">InnerText4</button> <button id="c5" aria-describedby="db5">InnerText5</button> - + <button>Outer <div>inner</div></button> + <button>Outer <div aria-label="inner1">inner2</div></button> + <button>Outer <section><div>grandchild</div></section></button> <p aria-label="@NO_DUMP"> <span id="lb3">LabelledBy3</span> <span id="lb4">LabelledBy4</span>
diff --git a/device/base/synchronization/one_writer_seqlock_unittest.cc b/device/base/synchronization/one_writer_seqlock_unittest.cc index 28cd2b0..1e0209a 100644 --- a/device/base/synchronization/one_writer_seqlock_unittest.cc +++ b/device/base/synchronization/one_writer_seqlock_unittest.cc
@@ -33,7 +33,7 @@ ready_ = ready; } void ThreadMain() override { - while (base::AtomicRefCountIsZero(ready_)) { + while (ready_->IsZero()) { base::PlatformThread::YieldCurrentThread(); } @@ -49,7 +49,7 @@ EXPECT_EQ(copy.c, copy.b + copy.a); } - base::AtomicRefCountDec(ready_); + ready_->Decrement(); } private: @@ -91,9 +91,9 @@ seqlock.WriteEnd(); if (counter == 1) - base::AtomicRefCountIncN(&ready, kNumReaderThreads); + ready.Increment(kNumReaderThreads); - if (base::AtomicRefCountIsZero(&ready)) + if (ready.IsZero()) break; }
diff --git a/device/vr/BUILD.gn b/device/vr/BUILD.gn index 48eaf4ea..66c7655 100644 --- a/device/vr/BUILD.gn +++ b/device/vr/BUILD.gn
@@ -128,7 +128,4 @@ "//mojo/common:common_custom_types", "//ui/gfx/geometry/mojo", ] - - # TODO(crbug.com/699569): Convert to use the new JS bindings. - use_new_js_bindings = false }
diff --git a/device/vr/vr_device.h b/device/vr/vr_device.h index 9b75194c..b4bcb756 100644 --- a/device/vr/vr_device.h +++ b/device/vr/vr_device.h
@@ -39,19 +39,19 @@ virtual void GetNextMagicWindowPose( mojom::VRDisplay::GetNextMagicWindowPoseCallback callback) = 0; - virtual void AddDisplay(VRDisplayImpl* display); - virtual void RemoveDisplay(VRDisplayImpl* display); + void AddDisplay(VRDisplayImpl* display); + void RemoveDisplay(VRDisplayImpl* display); - virtual bool IsAccessAllowed(VRDisplayImpl* display); - virtual bool CheckPresentingDisplay(VRDisplayImpl* display); + bool IsAccessAllowed(VRDisplayImpl* display); + bool CheckPresentingDisplay(VRDisplayImpl* display); - virtual void OnChanged(); - virtual void OnExitPresent(); - virtual void OnBlur(); - virtual void OnFocus(); - virtual void OnActivate(mojom::VRDisplayEventReason reason, - const base::Callback<void(bool)>& on_handled); - virtual void OnDeactivate(mojom::VRDisplayEventReason reason); + void OnChanged(); + void OnExitPresent(); + void OnBlur(); + void OnFocus(); + void OnActivate(mojom::VRDisplayEventReason reason, + const base::Callback<void(bool)>& on_handled); + void OnDeactivate(mojom::VRDisplayEventReason reason); protected: friend class VRDisplayImpl;
diff --git a/device/vr/vr_device_manager.cc b/device/vr/vr_device_manager.cc index af97c0a..7e6b5aa1 100644 --- a/device/vr/vr_device_manager.cc +++ b/device/vr/vr_device_manager.cc
@@ -26,11 +26,7 @@ VRDeviceManager* g_vr_device_manager = nullptr; } -VRDeviceManager::VRDeviceManager() - : vr_initialized_(false), - keep_alive_(false), - has_scheduled_poll_(false), - has_activate_listeners_(false) { +VRDeviceManager::VRDeviceManager() : keep_alive_(false) { // Register VRDeviceProviders for the current platform #if defined(OS_ANDROID) RegisterProvider(base::MakeUnique<GvrDeviceProvider>()); @@ -42,15 +38,15 @@ } VRDeviceManager::VRDeviceManager(std::unique_ptr<VRDeviceProvider> provider) - : vr_initialized_(false), keep_alive_(true), has_scheduled_poll_(false) { + : keep_alive_(true) { thread_checker_.DetachFromThread(); RegisterProvider(std::move(provider)); - SetInstance(this); + CHECK(!g_vr_device_manager); + g_vr_device_manager = this; } VRDeviceManager::~VRDeviceManager() { DCHECK(thread_checker_.CalledOnValidThread()); - StopSchedulingPollEvents(); g_vr_device_manager = nullptr; } @@ -60,19 +56,6 @@ return g_vr_device_manager; } -void VRDeviceManager::SetInstance(VRDeviceManager* instance) { - // Unit tests can create multiple instances but only one should exist at any - // given time so g_vr_device_manager should only go from nullptr to - // non-nullptr and vice versa. - CHECK_NE(!!instance, !!g_vr_device_manager); - g_vr_device_manager = instance; -} - -bool VRDeviceManager::HasInstance() { - // For testing. Checks to see if a VRDeviceManager instance is active. - return !!g_vr_device_manager; -} - void VRDeviceManager::AddService(VRServiceImpl* service) { // Loop through any currently active devices and send Connected messages to // the service. Future devices that come online will send a Connected message @@ -185,24 +168,4 @@ providers_.push_back(std::move(provider)); } -void VRDeviceManager::SchedulePollEvents() { - if (has_scheduled_poll_) - return; - - has_scheduled_poll_ = true; - - timer_.Start(FROM_HERE, base::TimeDelta::FromMilliseconds(500), this, - &VRDeviceManager::PollEvents); -} - -void VRDeviceManager::PollEvents() { - for (const auto& provider : providers_) - provider->PollEvents(); -} - -void VRDeviceManager::StopSchedulingPollEvents() { - if (has_scheduled_poll_) - timer_.Stop(); -} - } // namespace device
diff --git a/device/vr/vr_device_manager.h b/device/vr/vr_device_manager.h index fa157504..fed2abc 100644 --- a/device/vr/vr_device_manager.h +++ b/device/vr/vr_device_manager.h
@@ -59,16 +59,9 @@ DEVICE_VR_EXPORT VRDevice* GetDevice(unsigned int index); - static void SetInstance(VRDeviceManager* service); - static bool HasInstance(); - void InitializeProviders(); void RegisterProvider(std::unique_ptr<VRDeviceProvider> provider); - void SchedulePollEvents(); - void PollEvents(); - void StopSchedulingPollEvents(); - using ProviderList = std::vector<std::unique_ptr<VRDeviceProvider>>; ProviderList providers_; @@ -76,7 +69,7 @@ using DeviceMap = std::map<unsigned int, VRDevice*>; DeviceMap devices_; - bool vr_initialized_; + bool vr_initialized_ = false; std::set<VRServiceImpl*> services_; VRServiceImpl* most_recently_listening_for_activate_ = nullptr; @@ -84,14 +77,10 @@ // For testing. If true will not delete self when consumer count reaches 0. bool keep_alive_; - bool has_scheduled_poll_; - - bool has_activate_listeners_; + bool has_activate_listeners_ = false; base::ThreadChecker thread_checker_; - base::RepeatingTimer timer_; - DISALLOW_COPY_AND_ASSIGN(VRDeviceManager); };
diff --git a/device/vr/vr_device_manager_unittest.cc b/device/vr/vr_device_manager_unittest.cc index f8d39f1..2e9024b8 100644 --- a/device/vr/vr_device_manager_unittest.cc +++ b/device/vr/vr_device_manager_unittest.cc
@@ -34,8 +34,6 @@ std::unique_ptr<VRServiceImpl> BindService(); - bool HasServiceInstance() { return VRDeviceManager::HasInstance(); } - VRDevice* GetDevice(unsigned int index) { return device_manager_->GetDevice(index); }
diff --git a/device/vr/vr_device_provider.h b/device/vr/vr_device_provider.h index d356673..ad7983c2 100644 --- a/device/vr/vr_device_provider.h +++ b/device/vr/vr_device_provider.h
@@ -21,8 +21,6 @@ // If the VR API requires initialization that should happen here. virtual void Initialize() = 0; - virtual void PollEvents() {} - virtual void SetListeningForActivate(bool listening) {} };
diff --git a/extensions/renderer/bindings/api_binding.cc b/extensions/renderer/bindings/api_binding.cc index e69ecca..d5ee62f 100644 --- a/extensions/renderer/bindings/api_binding.cc +++ b/extensions/renderer/bindings/api_binding.cc
@@ -30,6 +30,21 @@ namespace { +std::string GetPlatformString() { +#if defined(OS_CHROMEOS) + return "chromeos"; +#elif defined(OS_LINUX) + return "linux"; +#elif defined(OS_MACOSX) + return "mac"; +#elif defined(OS_WIN) + return "win"; +#else + NOTREACHED(); + return std::string(); +#endif +} + // Returns the name of the enum value for use in JavaScript; JS enum entries use // SCREAMING_STYLE. std::string GetJSEnumEntryName(const std::string& original) { @@ -428,6 +443,23 @@ continue; } + const base::ListValue* platforms = nullptr; + // TODO(devlin): This isn't great. It's bad to have availability primarily + // defined in the features files, and then partially defined within the + // API specification itself. Additionally, they aren't equivalent + // definitions. But given the rarity of property restrictions, and the fact + // that they are all limited by platform, it makes more sense to isolate + // this check here. If this becomes more common, we should really find a + // way of moving these checks to the features files. + if (dict->GetList("platforms", &platforms)) { + std::string this_platform = GetPlatformString(); + auto is_this_platform = [&this_platform](const base::Value& platform) { + return platform.is_string() && platform.GetString() == this_platform; + }; + if (std::none_of(platforms->begin(), platforms->end(), is_this_platform)) + continue; + } + v8::Local<v8::String> v8_key = gin::StringToSymbol(isolate, iter.key()); std::string ref; if (dict->GetString("$ref", &ref)) {
diff --git a/extensions/renderer/bindings/api_binding_unittest.cc b/extensions/renderer/bindings/api_binding_unittest.cc index 9f43d1a..73e1ab3 100644 --- a/extensions/renderer/bindings/api_binding_unittest.cc +++ b/extensions/renderer/bindings/api_binding_unittest.cc
@@ -606,6 +606,16 @@ " 'subprop1': { 'value': 'some value', 'type': 'string' }," " 'subprop2': { 'value': true, 'type': 'boolean' }" " }" + " }," + " 'linuxOnly': {" + " 'value': 'linux'," + " 'type': 'string'," + " 'platforms': ['linux']" + " }," + " 'nonLinuxOnly': {" + " 'value': 'nonlinux'," + " 'type': 'string'," + " 'platforms': ['win', 'mac', 'chromeos']" " }" "}"); InitializeBinding(); @@ -617,6 +627,18 @@ GetStringPropertyFromObject(binding_object, context, "prop1")); EXPECT_EQ(R"({"subprop1":"some value","subprop2":true})", GetStringPropertyFromObject(binding_object, context, "prop2")); + +#if defined(OS_LINUX) && !defined(OS_CHROMEOS) + EXPECT_EQ("\"linux\"", + GetStringPropertyFromObject(binding_object, context, "linuxOnly")); + EXPECT_EQ("undefined", GetStringPropertyFromObject(binding_object, context, + "nonLinuxOnly")); +#else + EXPECT_EQ("undefined", + GetStringPropertyFromObject(binding_object, context, "linuxOnly")); + EXPECT_EQ("\"nonlinux\"", GetStringPropertyFromObject(binding_object, context, + "nonLinuxOnly")); +#endif } TEST_F(APIBindingUnittest, TestRefProperties) {
diff --git a/extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.cc b/extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.cc index 7fce205..fe5015d2 100644 --- a/extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.cc +++ b/extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container.cc
@@ -148,7 +148,7 @@ if (!render_frame() || !is_embedded_) return; - blink::WebFrame* frame = render_frame()->GetWebFrame(); + blink::WebLocalFrame* frame = render_frame()->GetWebFrame(); blink::WebAssociatedURLLoaderOptions options; DCHECK(!loader_);
diff --git a/gpu/ipc/common/BUILD.gn b/gpu/ipc/common/BUILD.gn index b7250e9..4ce7bddf 100644 --- a/gpu/ipc/common/BUILD.gn +++ b/gpu/ipc/common/BUILD.gn
@@ -151,9 +151,6 @@ "//mojo/common:common_custom_types", "//ui/gfx/geometry/mojo", ] - - # TODO(crbug.com/699569): Convert to use the new JS bindings. - use_new_js_bindings = false } mojom("test_interfaces") {
diff --git a/ios/chrome/app/resources/XCTRunnerAddition+Info.plist b/ios/chrome/app/resources/XCTRunnerAddition+Info.plist index a0ba439..d251e559 100644 --- a/ios/chrome/app/resources/XCTRunnerAddition+Info.plist +++ b/ios/chrome/app/resources/XCTRunnerAddition+Info.plist
@@ -3,7 +3,7 @@ <plist version="1.0"> <dict> <key>CFBundleIdentifier</key> - <string>com.apple.test.${PRODUCT_NAME}-Runner</string> + <string>com.apple.test.${EXECUTABLE_NAME}-Runner</string> <key>CFBundleName</key> <string>${PRODUCT_NAME}</string> </dict>
diff --git a/ios/chrome/browser/BUILD.gn b/ios/chrome/browser/BUILD.gn index 56163da..e9bafc0 100644 --- a/ios/chrome/browser/BUILD.gn +++ b/ios/chrome/browser/BUILD.gn
@@ -94,6 +94,7 @@ "//components/net_log", "//components/ntp_tiles", "//components/password_manager/core/common:common", + "//components/payments/core", "//components/pref_registry", "//components/prefs", "//components/proxy_config",
diff --git a/ios/chrome/browser/about_flags.mm b/ios/chrome/browser/about_flags.mm index be8d405..c84fda96 100644 --- a/ios/chrome/browser/about_flags.mm +++ b/ios/chrome/browser/about_flags.mm
@@ -26,6 +26,7 @@ #include "components/flags_ui/flags_storage.h" #include "components/flags_ui/flags_ui_switches.h" #include "components/ntp_tiles/switches.h" +#include "components/payments/core/features.h" #include "components/security_state/core/switches.h" #include "components/signin/core/common/signin_switches.h" #include "components/strings/grit/components_strings.h" @@ -89,6 +90,9 @@ {"mark-non-secure-as", flag_descriptions::kMarkHttpAsName, flag_descriptions::kMarkHttpAsDescription, flags_ui::kOsIos, MULTI_VALUE_TYPE(kMarkHttpAsChoices)}, + {"web-payments", flag_descriptions::kWebPaymentsName, + flag_descriptions::kWebPaymentsDescription, flags_ui::kOsIos, + FEATURE_VALUE_TYPE(payments::features::kWebPayments)}, }; // Add all switches from experimental flags to |command_line|. @@ -195,15 +199,6 @@ web::BuildUserAgentFromProduct(product)); } - // Populate command line flag for the Payment Request API. - NSString* enable_payment_request = - [defaults stringForKey:@"EnablePaymentRequest"]; - if ([enable_payment_request isEqualToString:@"Enabled"]) { - command_line->AppendSwitch(switches::kEnablePaymentRequest); - } else if ([enable_payment_request isEqualToString:@"Disabled"]) { - command_line->AppendSwitch(switches::kDisablePaymentRequest); - } - // Populate command line flag for Suggestions UI display. NSString* enableSuggestions = [defaults stringForKey:@"EnableSuggestions"]; if ([enableSuggestions isEqualToString:@"Enabled"]) {
diff --git a/ios/chrome/browser/chrome_switches.cc b/ios/chrome/browser/chrome_switches.cc index ac7a0df..6360310 100644 --- a/ios/chrome/browser/chrome_switches.cc +++ b/ios/chrome/browser/chrome_switches.cc
@@ -37,9 +37,6 @@ // Disable auto-reload of error pages if offline. const char kDisableOfflineAutoReload[] = "disable-offline-auto-reload"; -// Disable the Payment Request API. -const char kDisablePaymentRequest[] = "disable-payment-request"; - // Disables the tab strip auto scroll new tabs. const char kDisableTabStripAutoScrollNewTabs[] = "disable-tab-strip-autoscroll-new-tabs"; @@ -88,9 +85,6 @@ // Enable auto-reload of error pages if offline. const char kEnableOfflineAutoReload[] = "enable-offline-auto-reload"; -// Enable the Payment Request API. -const char kEnablePaymentRequest[] = "enable-payment-request"; - // Enables context-sensitive reader mode button in the toolbar. const char kEnableReaderModeToolbarIcon[] = "enable-reader-mode-toolbar-icon";
diff --git a/ios/chrome/browser/chrome_switches.h b/ios/chrome/browser/chrome_switches.h index 8a6db57c0..885b6e6 100644 --- a/ios/chrome/browser/chrome_switches.h +++ b/ios/chrome/browser/chrome_switches.h
@@ -17,7 +17,6 @@ extern const char kDisableLRUSnapshotCache[]; extern const char kDisableNTPFavicons[]; extern const char kDisableOfflineAutoReload[]; -extern const char kDisablePaymentRequest[]; extern const char kDisableTabStripAutoScrollNewTabs[]; extern const char kDisableIOSPhysicalWeb[]; extern const char kDisableRequestMobileSite[]; @@ -34,7 +33,6 @@ extern const char kEnableLRUSnapshotCache[]; extern const char kEnableNTPFavicons[]; extern const char kEnableOfflineAutoReload[]; -extern const char kEnablePaymentRequest[]; extern const char kEnableReaderModeToolbarIcon[]; extern const char kEnableSpotlightActions[]; extern const char kEnableIOSPhysicalWeb[];
diff --git a/ios/chrome/browser/context_menu/context_menu_egtest.mm b/ios/chrome/browser/context_menu/context_menu_egtest.mm index 8b957c6..29f0765 100644 --- a/ios/chrome/browser/context_menu/context_menu_egtest.mm +++ b/ios/chrome/browser/context_menu/context_menu_egtest.mm
@@ -13,7 +13,6 @@ #import "ios/chrome/test/app/tab_test_util.h" #include "ios/chrome/test/app/web_view_interaction_test_util.h" #import "ios/chrome/test/earl_grey/chrome_actions.h" -#import "ios/chrome/test/earl_grey/chrome_assertions.h" #import "ios/chrome/test/earl_grey/chrome_earl_grey.h" #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h" #import "ios/chrome/test/earl_grey/chrome_matchers.h" @@ -98,7 +97,7 @@ block:^BOOL { return NO; }]; - [myCondition waitWithTimeout:1U]; + [myCondition waitWithTimeout:1]; chrome_test_util::SelectTabAtIndexInCurrentMode(index); } @@ -128,7 +127,7 @@ GURL imageURL = web::test::HttpServer::MakeUrl(kUrlChromiumLogoImg); web::test::SetUpFileBasedHttpServer(); [ChromeEarlGrey loadURL:pageURL]; - chrome_test_util::AssertMainTabCount(1U); + [ChromeEarlGrey waitForMainTabCount:1]; LongPressElementAndTapOnButton(kChromiumImageID, OpenImageButton()); @@ -136,7 +135,7 @@ [[EarlGrey selectElementWithMatcher:chrome_test_util::OmniboxText( imageURL.GetContent())] assertWithMatcher:grey_notNil()]; - chrome_test_util::AssertMainTabCount(1U); + [ChromeEarlGrey waitForMainTabCount:1]; } // Tests that selecting "Open Image in New Tab" from the context menu properly @@ -146,7 +145,7 @@ GURL imageURL = web::test::HttpServer::MakeUrl(kUrlChromiumLogoImg); web::test::SetUpFileBasedHttpServer(); [ChromeEarlGrey loadURL:pageURL]; - chrome_test_util::AssertMainTabCount(1U); + [ChromeEarlGrey waitForMainTabCount:1]; LongPressElementAndTapOnButton(kChromiumImageID, OpenImageInNewTabButton()); @@ -156,7 +155,7 @@ [[EarlGrey selectElementWithMatcher:chrome_test_util::OmniboxText( imageURL.GetContent())] assertWithMatcher:grey_notNil()]; - chrome_test_util::AssertMainTabCount(2U); + [ChromeEarlGrey waitForMainTabCount:2]; } // Tests "Open in New Tab" on context menu. @@ -173,7 +172,7 @@ web::test::SetUpSimpleHttpServer(responses); [ChromeEarlGrey loadURL:initialURL]; - chrome_test_util::AssertMainTabCount(1U); + [ChromeEarlGrey waitForMainTabCount:1]; LongPressElementAndTapOnButton(kDestinationLinkID, OpenLinkInNewTabButton()); @@ -183,7 +182,7 @@ [[EarlGrey selectElementWithMatcher:chrome_test_util::OmniboxText( destinationURL.GetContent())] assertWithMatcher:grey_notNil()]; - chrome_test_util::AssertMainTabCount(2U); + [ChromeEarlGrey waitForMainTabCount:2]; } // Tests "Open in New Tab" on context menu on a link that requires scrolling @@ -206,7 +205,7 @@ web::test::SetUpSimpleHttpServer(responses); [ChromeEarlGrey loadURL:initialURL]; - chrome_test_util::AssertMainTabCount(1U); + [ChromeEarlGrey waitForMainTabCount:1]; // Scroll down on the web view to make the link visible. // grey_swipeFastInDirecton will quickly scroll towards the bottom, and then @@ -257,7 +256,7 @@ [[EarlGrey selectElementWithMatcher:chrome_test_util::OmniboxText( destinationURL.GetContent())] assertWithMatcher:grey_notNil()]; - chrome_test_util::AssertMainTabCount(2U); + [ChromeEarlGrey waitForMainTabCount:2]; } @end
diff --git a/ios/chrome/browser/experimental_flags.h b/ios/chrome/browser/experimental_flags.h index 39c28ce..f47bc27 100644 --- a/ios/chrome/browser/experimental_flags.h +++ b/ios/chrome/browser/experimental_flags.h
@@ -66,9 +66,6 @@ // Whether password generation is enabled. bool IsPasswordGenerationEnabled(); -// Whether the Payment Request API is enabled or not. -bool IsPaymentRequestEnabled(); - // Whether the Physical Web feature is enabled. bool IsPhysicalWebEnabled();
diff --git a/ios/chrome/browser/experimental_flags.mm b/ios/chrome/browser/experimental_flags.mm index 3e55aff..b904c36 100644 --- a/ios/chrome/browser/experimental_flags.mm +++ b/ios/chrome/browser/experimental_flags.mm
@@ -172,25 +172,6 @@ return group_name != "Disabled"; } -bool IsPaymentRequestEnabled() { - // This call activates the field trial, if needed, so it must come before any - // early returns. - std::string group_name = - base::FieldTrialList::FindFullName("IOSPaymentRequest"); - - // Check if the experimental flag is forced on or off. - base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); - if (command_line->HasSwitch(switches::kEnablePaymentRequest)) { - return true; - } else if (command_line->HasSwitch(switches::kDisablePaymentRequest)) { - return false; - } - - // Check if the Finch experiment is turned on. - return base::StartsWith(group_name, "Enabled", - base::CompareCase::INSENSITIVE_ASCII); -} - bool IsPhysicalWebEnabled() { base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); if (command_line->HasSwitch(switches::kEnableIOSPhysicalWeb)) {
diff --git a/ios/chrome/browser/ios_chrome_flag_descriptions.cc b/ios/chrome/browser/ios_chrome_flag_descriptions.cc index 3e495df6..ce25eb2 100644 --- a/ios/chrome/browser/ios_chrome_flag_descriptions.cc +++ b/ios/chrome/browser/ios_chrome_flag_descriptions.cc
@@ -38,4 +38,9 @@ const char kMarkHttpAsNonSecureWhileIncognitoOrEditing[] = "Warn on HTTP while in Incognito mode or after editing forms"; +const char kWebPaymentsName[] = "Web Payments"; + +const char kWebPaymentsDescription[] = + "Enable Payment Request API integration, a JavaScript API for merchants."; + } // namespace flag_descriptions
diff --git a/ios/chrome/browser/ios_chrome_flag_descriptions.h b/ios/chrome/browser/ios_chrome_flag_descriptions.h index b1abced..8d47e5e 100644 --- a/ios/chrome/browser/ios_chrome_flag_descriptions.h +++ b/ios/chrome/browser/ios_chrome_flag_descriptions.h
@@ -35,6 +35,10 @@ // Description for the flag to enable Physical Web in the omnibox. extern const char kPhysicalWebDescription[]; +// Title and description for the flag to enable Web Payments. +extern const char kWebPaymentsName[]; +extern const char kWebPaymentsDescription[]; + } // namespace flag_descriptions #endif // IOS_CHROME_BROWSER_IOS_CHROME_FLAG_DESCRIPTIONS_H_
diff --git a/ios/chrome/browser/metrics/tab_usage_recorder_egtest.mm b/ios/chrome/browser/metrics/tab_usage_recorder_egtest.mm index db2e038c..d32ac78 100644 --- a/ios/chrome/browser/metrics/tab_usage_recorder_egtest.mm +++ b/ios/chrome/browser/metrics/tab_usage_recorder_egtest.mm
@@ -24,7 +24,6 @@ #import "ios/chrome/test/app/tab_test_util.h" #include "ios/chrome/test/app/web_view_interaction_test_util.h" #import "ios/chrome/test/earl_grey/chrome_actions.h" -#import "ios/chrome/test/earl_grey/chrome_assertions.h" #import "ios/chrome/test/earl_grey/chrome_earl_grey.h" #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h" #import "ios/chrome/test/earl_grey/chrome_matchers.h" @@ -94,7 +93,7 @@ chrome_test_util::OpenNewTab(); [ChromeEarlGrey loadURL:url]; [ChromeEarlGrey waitForWebViewContainingText:word]; - chrome_test_util::AssertMainTabCount(number_of_tabs + 1); + [ChromeEarlGrey waitForMainTabCount:(number_of_tabs + 1)]; } // Opens 2 new tabs with different URLs. @@ -117,8 +116,7 @@ id<GREYMatcher> new_main_tab_button_matcher = grey_accessibilityID(kToolsMenuNewTabId); WaitAndTap(new_main_tab_button_matcher, @"New tab button"); - - chrome_test_util::AssertMainTabCount(nb_main_tab + 1); + [ChromeEarlGrey waitForMainTabCount:(nb_main_tab + 1)]; } // Closes a tab in the current tab model. Synchronize on tab number afterwards. @@ -188,7 +186,7 @@ // Open two tabs with urls. OpenTwoTabs(); - chrome_test_util::AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; // Switch between the two tabs. Both are currently in memory. chrome_test_util::SelectTabAtIndexInCurrentMode(0); @@ -231,7 +229,7 @@ chrome_test_util::OpenNewTab(); [ChromeEarlGrey loadURL:url1]; [ChromeEarlGrey waitForWebViewContainingText:kURL1FirstWord]; - chrome_test_util::AssertMainTabCount(i + 1); + [ChromeEarlGrey waitForMainTabCount:(i + 1)]; } // Switch between the tabs. They are currently in memory. @@ -265,7 +263,7 @@ // does not trigger a reload immediatly. chrome_test_util::OpenNewTab(); OpenNewIncognitoTabUsingUIAndEvictMainTabs(); - chrome_test_util::AssertIncognitoTabCount(1); + [ChromeEarlGrey waitForIncognitoTabCount:1]; // Switch back to the normal tabs. Should be on tab one. SwitchToNormalMode(); @@ -295,7 +293,7 @@ // Open two tabs with urls. OpenTwoTabs(); - chrome_test_util::AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; // Set the normal tabs as 'cold start' tabs. GREYAssertTrue(chrome_test_util::SetCurrentTabsToBeColdStartTabs(), @"Fail to state tabs as cold start tabs"); @@ -303,7 +301,7 @@ // Open two incognito tabs with urls, clearing normal tabs from memory. OpenNewIncognitoTabUsingUIAndEvictMainTabs(); OpenNewIncognitoTabUsingUIAndEvictMainTabs(); - chrome_test_util::AssertIncognitoTabCount(2); + [ChromeEarlGrey waitForIncognitoTabCount:2]; // Switch back to the normal tabs. SwitchToNormalMode(); @@ -347,7 +345,7 @@ // Open two tabs with urls. OpenTwoTabs(); - chrome_test_util::AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; // Simulate going into the background. GREYAssertTrue(chrome_test_util::SimulateTabsBackgrounding(), @@ -393,7 +391,7 @@ OpenNewIncognitoTabUsingUIAndEvictMainTabs(); SwitchToNormalMode(); [ChromeEarlGrey waitForWebViewContainingText:kURL1FirstWord]; - chrome_test_util::AssertMainTabCount(1); + [ChromeEarlGrey waitForMainTabCount:1]; histogramTester.ExpectUniqueSample(kEvictedTabReloadSuccessRate, TabUsageRecorder::LOAD_SUCCESS, 1, @@ -731,7 +729,7 @@ [[EarlGrey selectElementWithMatcher:OpenLinkInNewTabButton()] performAction:grey_tap()]; - chrome_test_util::AssertMainTabCount(numberOfTabs + 1); + [ChromeEarlGrey waitForMainTabCount:(numberOfTabs + 1)]; SelectTabUsingUI(base::SysUTF8ToNSString(destinationURL.GetContent()));
diff --git a/ios/chrome/browser/metrics/tab_usage_recorder_test_util.mm b/ios/chrome/browser/metrics/tab_usage_recorder_test_util.mm index 2c15bd4c..299a6c8 100644 --- a/ios/chrome/browser/metrics/tab_usage_recorder_test_util.mm +++ b/ios/chrome/browser/metrics/tab_usage_recorder_test_util.mm
@@ -11,7 +11,7 @@ #include "ios/chrome/browser/ui/ui_util.h" #include "ios/chrome/grit/ios_strings.h" #import "ios/chrome/test/app/tab_test_util.h" -#import "ios/chrome/test/earl_grey/chrome_assertions.h" +#import "ios/chrome/test/earl_grey/chrome_earl_grey.h" #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h" #import "ios/chrome/test/earl_grey/chrome_matchers.h" #import "ios/testing/wait_util.h" @@ -44,7 +44,7 @@ grey_accessibilityID(kToolsMenuNewIncognitoTabId); [[EarlGrey selectElementWithMatcher:new_incognito_tab_button_matcher] performAction:grey_tap()]; - chrome_test_util::AssertIncognitoTabCount(nb_incognito_tab + 1); + [ChromeEarlGrey waitForIncognitoTabCount:(nb_incognito_tab + 1)]; ConditionBlock condition = ^bool { return chrome_test_util::IsIncognitoMode(); };
diff --git a/ios/chrome/browser/resources/Settings.bundle/Experimental.plist b/ios/chrome/browser/resources/Settings.bundle/Experimental.plist index cbc230c..e2bc006 100644 --- a/ios/chrome/browser/resources/Settings.bundle/Experimental.plist +++ b/ios/chrome/browser/resources/Settings.bundle/Experimental.plist
@@ -556,28 +556,6 @@ </dict> <dict> <key>Type</key> - <string>PSMultiValueSpecifier</string> - <key>Title</key> - <string>Enable Payment Request</string> - <key>Key</key> - <string>EnablePaymentRequest</string> - <key>DefaultValue</key> - <string></string> - <key>Values</key> - <array> - <string></string> - <string>Enabled</string> - <string>Disabled</string> - </array> - <key>Titles</key> - <array> - <string>Default</string> - <string>Enabled</string> - <string>Disabled</string> - </array> - </dict> - <dict> - <key>Type</key> <string>PSGroupSpecifier</string> <key>Title</key> <string>CSChromium</string>
diff --git a/ios/chrome/browser/ui/BUILD.gn b/ios/chrome/browser/ui/BUILD.gn index 3e92360..d5c29b9 100644 --- a/ios/chrome/browser/ui/BUILD.gn +++ b/ios/chrome/browser/ui/BUILD.gn
@@ -343,6 +343,7 @@ "//components/bookmarks/browser", "//components/image_fetcher/ios", "//components/infobars/core", + "//components/payments/core", "//components/prefs", "//components/reading_list/core", "//components/search_engines",
diff --git a/ios/chrome/browser/ui/browser_view_controller.mm b/ios/chrome/browser/ui/browser_view_controller.mm index d69583f..03d2806c58 100644 --- a/ios/chrome/browser/ui/browser_view_controller.mm +++ b/ios/chrome/browser/ui/browser_view_controller.mm
@@ -16,6 +16,7 @@ #include "base/base64.h" #include "base/command_line.h" +#include "base/feature_list.h" #include "base/files/file_path.h" #include "base/format_macros.h" #include "base/i18n/rtl.h" @@ -37,6 +38,7 @@ #include "components/bookmarks/browser/bookmark_model.h" #include "components/image_fetcher/ios/ios_image_data_fetcher_wrapper.h" #include "components/infobars/core/infobar_manager.h" +#include "components/payments/core/features.h" #include "components/prefs/pref_service.h" #include "components/reading_list/core/reading_list_model.h" #include "components/search_engines/search_engines_pref_names.h" @@ -1842,7 +1844,7 @@ [_contextualSearchController setTab:[_model currentTab]]; } - if (experimental_flags::IsPaymentRequestEnabled()) { + if (base::FeatureList::IsEnabled(payments::features::kWebPayments)) { _paymentRequestManager = [[PaymentRequestManager alloc] initWithBaseViewController:self browserState:_browserState];
diff --git a/ios/chrome/browser/ui/find_bar/find_in_page_egtest.mm b/ios/chrome/browser/ui/find_bar/find_in_page_egtest.mm index df1ba2a..158fda6 100644 --- a/ios/chrome/browser/ui/find_bar/find_in_page_egtest.mm +++ b/ios/chrome/browser/ui/find_bar/find_in_page_egtest.mm
@@ -12,7 +12,6 @@ #include "ios/chrome/browser/ui/tools_menu/tools_menu_constants.h" #import "ios/chrome/test/app/tab_test_util.h" #import "ios/chrome/test/earl_grey/accessibility_util.h" -#import "ios/chrome/test/earl_grey/chrome_assertions.h" #import "ios/chrome/test/earl_grey/chrome_earl_grey.h" #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h" #import "ios/chrome/test/earl_grey/chrome_matchers.h"
diff --git a/ios/chrome/browser/ui/fullscreen_egtest.mm b/ios/chrome/browser/ui/fullscreen_egtest.mm index adc1fc42..8457b006 100644 --- a/ios/chrome/browser/ui/fullscreen_egtest.mm +++ b/ios/chrome/browser/ui/fullscreen_egtest.mm
@@ -15,7 +15,6 @@ #import "ios/chrome/test/app/chrome_test_util.h" #import "ios/chrome/test/app/settings_test_util.h" #import "ios/chrome/test/app/web_view_interaction_test_util.h" -#include "ios/chrome/test/earl_grey/chrome_assertions.h" #import "ios/chrome/test/earl_grey/chrome_earl_grey.h" #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h" #import "ios/chrome/test/earl_grey/chrome_matchers.h" @@ -282,7 +281,7 @@ [ChromeEarlGrey loadURL:URL]; [ChromeEarlGrey waitForWebViewContainingText:"link1"]; - chrome_test_util::AssertMainTabCount(1); + [ChromeEarlGrey waitForMainTabCount:1]; // Hide the toolbar. HideToolbarUsingUI(); @@ -293,7 +292,7 @@ // Check that a new Tab was created. [ChromeEarlGrey waitForWebViewContainingText:"link2"]; - chrome_test_util::AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; AssertURLIs(destinationURL); @@ -306,7 +305,7 @@ [ChromeEarlGrey waitForWebViewContainingText:"link1"]; // Make sure the toolbar is on the screen. - chrome_test_util::AssertMainTabCount(1); + [ChromeEarlGrey waitForMainTabCount:1]; [ChromeEarlGreyUI waitForToolbarVisible:YES]; }
diff --git a/ios/chrome/browser/ui/history/history_ui_egtest.mm b/ios/chrome/browser/ui/history/history_ui_egtest.mm index acbdaaf..96384b87 100644 --- a/ios/chrome/browser/ui/history/history_ui_egtest.mm +++ b/ios/chrome/browser/ui/history/history_ui_egtest.mm
@@ -23,7 +23,6 @@ #include "ios/chrome/grit/ios_strings.h" #import "ios/chrome/test/app/chrome_test_util.h" #import "ios/chrome/test/earl_grey/accessibility_util.h" -#import "ios/chrome/test/earl_grey/chrome_assertions.h" #import "ios/chrome/test/earl_grey/chrome_earl_grey.h" #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h" #import "ios/chrome/test/earl_grey/chrome_matchers.h" @@ -301,7 +300,7 @@ selectElementWithMatcher:grey_kindOfClass([TransparentLinkButton class])] performAction:grey_tap()]; // Assert that new tab with the link is opened, hence tab count of 2. - chrome_test_util::AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; } // Tests that searching history displays only entries matching the search term. @@ -414,7 +413,7 @@ [[EarlGrey selectElementWithMatcher:chrome_test_util::OmniboxText( _URL1.GetContent())] assertWithMatcher:grey_notNil()]; - chrome_test_util::AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; } // Tests display and selection of 'Open in New Incognito Tab' in a context menu @@ -434,8 +433,8 @@ [[EarlGrey selectElementWithMatcher:chrome_test_util::OmniboxText( _URL1.GetContent())] assertWithMatcher:grey_notNil()]; - chrome_test_util::AssertMainTabCount(1); - chrome_test_util::AssertIncognitoTabCount(1); + [ChromeEarlGrey waitForMainTabCount:1]; + [ChromeEarlGrey waitForIncognitoTabCount:1]; } // Tests display and selection of 'Copy URL' in a context menu on a history
diff --git a/ios/chrome/browser/ui/infobars/infobar_egtest.mm b/ios/chrome/browser/ui/infobars/infobar_egtest.mm index 1982579..61625bb 100644 --- a/ios/chrome/browser/ui/infobars/infobar_egtest.mm +++ b/ios/chrome/browser/ui/infobars/infobar_egtest.mm
@@ -15,7 +15,6 @@ #import "ios/chrome/browser/tabs/tab_model.h" #import "ios/chrome/test/app/chrome_test_util.h" #import "ios/chrome/test/app/tab_test_util.h" -#import "ios/chrome/test/earl_grey/chrome_assertions.h" #import "ios/chrome/test/earl_grey/chrome_earl_grey.h" #import "ios/chrome/test/earl_grey/chrome_matchers.h" #import "ios/chrome/test/earl_grey/chrome_test_case.h" @@ -117,7 +116,7 @@ const GURL testURL = web::test::HttpServer::MakeUrl( "http://ios/testing/data/http_server_files/pony.html"); [ChromeEarlGrey loadURL:testURL]; - chrome_test_util::AssertMainTabCount(1U); + [ChromeEarlGrey waitForMainTabCount:1]; // Add a test infobar to the current tab. Verify that the infobar is present // in the model and that the infobar view is visible on screen. @@ -142,12 +141,12 @@ // Create the first tab and navigate to the test page. [ChromeEarlGrey loadURL:destinationURL]; - chrome_test_util::AssertMainTabCount(1U); + [ChromeEarlGrey waitForMainTabCount:1]; // Create the second tab, navigate to the test page, and add the test infobar. chrome_test_util::OpenNewTab(); [ChromeEarlGrey loadURL:ponyURL]; - chrome_test_util::AssertMainTabCount(2U); + [ChromeEarlGrey waitForMainTabCount:2]; VerifyTestInfoBarVisibleForCurrentTab(false); GREYAssert(AddTestInfoBarToCurrentTab(), @"Failed to add infobar to second tab."); @@ -164,7 +163,7 @@ // Close the first tab. Verify that there is only one tab remaining and its // infobar is visible. chrome_test_util::CloseCurrentTab(); - chrome_test_util::AssertMainTabCount(1U); + [ChromeEarlGrey waitForMainTabCount:1]; VerifyTestInfoBarVisibleForCurrentTab(true); }
diff --git a/ios/chrome/browser/ui/sad_tab/sad_tab_view_egtest.mm b/ios/chrome/browser/ui/sad_tab/sad_tab_view_egtest.mm index 2aa6092..7383467 100644 --- a/ios/chrome/browser/ui/sad_tab/sad_tab_view_egtest.mm +++ b/ios/chrome/browser/ui/sad_tab/sad_tab_view_egtest.mm
@@ -10,7 +10,6 @@ #include "ios/chrome/browser/ui/tools_menu/tools_menu_constants.h" #import "ios/chrome/test/app/chrome_test_util.h" #import "ios/chrome/test/app/navigation_test_util.h" -#import "ios/chrome/test/earl_grey/chrome_assertions.h" #import "ios/chrome/test/earl_grey/chrome_earl_grey.h" #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h" #import "ios/chrome/test/earl_grey/chrome_matchers.h" @@ -136,7 +135,7 @@ grey_accessibilityID(kToolsMenuNewIncognitoTabId); [[EarlGrey selectElementWithMatcher:newIncognitoTabButtonMatcher] performAction:grey_tap()]; - chrome_test_util::AssertIncognitoTabCount(1); + [ChromeEarlGrey waitForIncognitoTabCount:1]; loadAndCheckSimpleURL(); // Test an initial crash, and then a second crash in Incognito mode, as above.
diff --git a/ios/chrome/browser/ui/settings/block_popups_egtest.mm b/ios/chrome/browser/ui/settings/block_popups_egtest.mm index 246f0b4..2eedc314 100644 --- a/ios/chrome/browser/ui/settings/block_popups_egtest.mm +++ b/ios/chrome/browser/ui/settings/block_popups_egtest.mm
@@ -20,7 +20,6 @@ #include "ios/chrome/test/app/web_view_interaction_test_util.h" #include "ios/chrome/test/earl_grey/accessibility_util.h" #import "ios/chrome/test/earl_grey/chrome_actions.h" -#import "ios/chrome/test/earl_grey/chrome_assertions.h" #import "ios/chrome/test/earl_grey/chrome_earl_grey.h" #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h" #import "ios/chrome/test/earl_grey/chrome_matchers.h" @@ -172,13 +171,13 @@ ScopedBlockPopupsPref prefSetter(CONTENT_SETTING_ALLOW); [ChromeEarlGrey loadURL:blockPopupsURL]; - chrome_test_util::AssertMainTabCount(1U); + [ChromeEarlGrey waitForMainTabCount:1]; // Request popup and make sure the popup opened in a new tab. __unsafe_unretained NSError* error = nil; chrome_test_util::ExecuteJavaScript(kOpenPopupScript, &error); GREYAssert(!error, @"Error during script execution: %@", error); - chrome_test_util::AssertMainTabCount(2U); + [ChromeEarlGrey waitForMainTabCount:2]; // No infobar should be displayed. [[EarlGrey selectElementWithMatcher:chrome_test_util:: @@ -202,7 +201,7 @@ ScopedBlockPopupsPref prefSetter(CONTENT_SETTING_BLOCK); [ChromeEarlGrey loadURL:blockPopupsURL]; - chrome_test_util::AssertMainTabCount(1U); + [ChromeEarlGrey waitForMainTabCount:1]; // Request popup, then make sure it was blocked and an infobar was displayed. // The window.open() call is run via async JS, so the infobar may not open @@ -223,7 +222,7 @@ error:&error]; return error == nil; }] waitWithTimeout:4.0]; - chrome_test_util::AssertMainTabCount(1U); + [ChromeEarlGrey waitForMainTabCount:1]; } // Tests that the "exceptions" section on the settings page is hidden and
diff --git a/ios/chrome/browser/ui/toolbar/toolbar_egtest.mm b/ios/chrome/browser/ui/toolbar/toolbar_egtest.mm index 239dcf9..e838db4 100644 --- a/ios/chrome/browser/ui/toolbar/toolbar_egtest.mm +++ b/ios/chrome/browser/ui/toolbar/toolbar_egtest.mm
@@ -17,7 +17,6 @@ #include "ios/chrome/grit/ios_strings.h" #import "ios/chrome/test/app/chrome_test_util.h" #import "ios/chrome/test/app/tab_test_util.h" -#import "ios/chrome/test/earl_grey/chrome_assertions.h" #import "ios/chrome/test/earl_grey/chrome_earl_grey.h" #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h" #import "ios/chrome/test/earl_grey/chrome_matchers.h" @@ -82,7 +81,7 @@ // Verifies opening a new tab from the tools menu. - (void)testNewTabFromMenu { - chrome_test_util::AssertMainTabCount(1); + [ChromeEarlGrey waitForMainTabCount:1]; // Open tab via the UI. [ChromeEarlGreyUI openToolsMenu]; @@ -91,13 +90,13 @@ [[EarlGrey selectElementWithMatcher:newTabButtonMatcher] performAction:grey_tap()]; - chrome_test_util::AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; } // Verifies opening a new incognito tab from the tools menu. // TODO(crbug.com/631078): Enable this test. - (void)FLAKY_testNewIncognitoTabFromMenu { - chrome_test_util::AssertIncognitoTabCount(0); + [ChromeEarlGrey waitForIncognitoTabCount:0]; // Open incognito tab. [ChromeEarlGreyUI openToolsMenu]; @@ -106,7 +105,7 @@ [[EarlGrey selectElementWithMatcher:newIncognitoTabButtonMatcher] performAction:grey_tap()]; - chrome_test_util::AssertIncognitoTabCount(1); + [ChromeEarlGrey waitForIncognitoTabCount:1]; } // Tests whether input mode in an omnibox can be canceled via "Cancel" button
diff --git a/ios/chrome/browser/ui/toolbar/toolbar_model_delegate_ios.h b/ios/chrome/browser/ui/toolbar/toolbar_model_delegate_ios.h index 0a196a8a..2f45dd3 100644 --- a/ios/chrome/browser/ui/toolbar/toolbar_model_delegate_ios.h +++ b/ios/chrome/browser/ui/toolbar/toolbar_model_delegate_ios.h
@@ -43,6 +43,7 @@ scoped_refptr<net::X509Certificate> GetCertificate() const override; bool FailsMalwareCheck() const override; const gfx::VectorIcon* GetVectorIconOverride() const override; + bool IsOfflinePage() const override; WebStateList* web_state_list_; // weak
diff --git a/ios/chrome/browser/ui/toolbar/toolbar_model_delegate_ios.mm b/ios/chrome/browser/ui/toolbar/toolbar_model_delegate_ios.mm index b2fc7b8..7359072 100644 --- a/ios/chrome/browser/ui/toolbar/toolbar_model_delegate_ios.mm +++ b/ios/chrome/browser/ui/toolbar/toolbar_model_delegate_ios.mm
@@ -109,3 +109,7 @@ const gfx::VectorIcon* ToolbarModelDelegateIOS::GetVectorIconOverride() const { return nullptr; } + +bool ToolbarModelDelegateIOS::IsOfflinePage() const { + return false; +}
diff --git a/ios/chrome/browser/web/BUILD.gn b/ios/chrome/browser/web/BUILD.gn index 0e07ad4..ed357f0 100644 --- a/ios/chrome/browser/web/BUILD.gn +++ b/ios/chrome/browser/web/BUILD.gn
@@ -132,6 +132,7 @@ "//components/dom_distiller/core", "//components/error_page/common", "//components/infobars/core", + "//components/payments/core", "//components/prefs", "//components/resources", "//components/strings", @@ -198,6 +199,7 @@ "//base/test:test_support", "//components/content_settings/core/browser", "//components/infobars/core", + "//components/payments/core", "//ios/chrome/browser", "//ios/chrome/browser/browser_state:test_support", "//ios/chrome/browser/content_settings:content_settings",
diff --git a/ios/chrome/browser/web/browsing_egtest.mm b/ios/chrome/browser/web/browsing_egtest.mm index e35c430..2b73852 100644 --- a/ios/chrome/browser/web/browsing_egtest.mm +++ b/ios/chrome/browser/web/browsing_egtest.mm
@@ -20,7 +20,6 @@ #import "ios/chrome/test/app/chrome_test_util.h" #include "ios/chrome/test/app/navigation_test_util.h" #include "ios/chrome/test/app/web_view_interaction_test_util.h" -#import "ios/chrome/test/earl_grey/chrome_assertions.h" #import "ios/chrome/test/earl_grey/chrome_earl_grey.h" #import "ios/chrome/test/earl_grey/chrome_earl_grey_ui.h" #import "ios/chrome/test/earl_grey/chrome_matchers.h" @@ -228,11 +227,11 @@ ScopedBlockPopupsPref prefSetter(CONTENT_SETTING_ALLOW); [ChromeEarlGrey loadURL:URL]; - chrome_test_util::AssertMainTabCount(1); + [ChromeEarlGrey waitForMainTabCount:1]; chrome_test_util::TapWebViewElementWithId("link"); - chrome_test_util::AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; // Verify the new tab was opened with the expected URL. [[EarlGrey selectElementWithMatcher:OmniboxText(destinationURL.GetContent())] @@ -258,11 +257,11 @@ ScopedBlockPopupsPref prefSetter(CONTENT_SETTING_ALLOW); [ChromeEarlGrey loadURL:URL]; - chrome_test_util::AssertMainTabCount(1); + [ChromeEarlGrey waitForMainTabCount:1]; chrome_test_util::TapWebViewElementWithId("link"); - chrome_test_util::AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; // Verify the new tab was opened with the expected URL. [[EarlGrey selectElementWithMatcher:OmniboxText(destinationURL.GetContent())] @@ -298,11 +297,11 @@ ScopedBlockPopupsPref prefSetter(CONTENT_SETTING_ALLOW); [ChromeEarlGrey loadURL:URL]; - chrome_test_util::AssertMainTabCount(1); + [ChromeEarlGrey waitForMainTabCount:1]; chrome_test_util::TapWebViewElementWithId("link"); - chrome_test_util::AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; // Verify the new tab was opened with the expected URL. [[EarlGrey selectElementWithMatcher:OmniboxText(anchorURL.GetContent())] @@ -337,11 +336,11 @@ ScopedBlockPopupsPref prefSetter(CONTENT_SETTING_ALLOW); [ChromeEarlGrey loadURL:URL]; - chrome_test_util::AssertMainTabCount(1); + [ChromeEarlGrey waitForMainTabCount:1]; chrome_test_util::TapWebViewElementWithId("link"); - chrome_test_util::AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; // Verify the new tab was opened with the expected URL. [[EarlGrey selectElementWithMatcher:OmniboxText(destinationURL.GetContent())] @@ -392,8 +391,8 @@ web::test::SetUpSimpleHttpServer(responses); // Assert that test is starting with one tab. - chrome_test_util::AssertMainTabCount(1U); - chrome_test_util::AssertIncognitoTabCount(0U); + [ChromeEarlGrey waitForMainTabCount:1]; + [ChromeEarlGrey waitForIncognitoTabCount:0]; [ChromeEarlGrey loadURL:URL]; @@ -407,7 +406,7 @@ [ChromeEarlGrey waitForWebViewContainingText:"Hello world!"]; // Verify that no new tabs were open which could load chrome://version. - chrome_test_util::AssertMainTabCount(1U); + [ChromeEarlGrey waitForMainTabCount:1]; } // Tests that evaluating user JavaScript that causes navigation correctly
diff --git a/ios/chrome/browser/web/browsing_prevent_default_egtest.mm b/ios/chrome/browser/web/browsing_prevent_default_egtest.mm index b4f43d1..ae20c82 100644 --- a/ios/chrome/browser/web/browsing_prevent_default_egtest.mm +++ b/ios/chrome/browser/web/browsing_prevent_default_egtest.mm
@@ -12,7 +12,6 @@ #include "ios/chrome/browser/content_settings/host_content_settings_map_factory.h" #import "ios/chrome/test/app/chrome_test_util.h" #include "ios/chrome/test/app/web_view_interaction_test_util.h" -#import "ios/chrome/test/earl_grey/chrome_assertions.h" #import "ios/chrome/test/earl_grey/chrome_earl_grey.h" #import "ios/chrome/test/earl_grey/chrome_matchers.h" #import "ios/chrome/test/earl_grey/chrome_test_case.h" @@ -92,7 +91,7 @@ const GURL testURL = GetTestUrl(); [ChromeEarlGrey loadURL:testURL]; - chrome_test_util::AssertMainTabCount(1U); + [ChromeEarlGrey waitForMainTabCount:1]; // Tap on the test link and wait for the page to display "Click done", as an // indicator that the element was tapped. @@ -100,7 +99,7 @@ [ChromeEarlGrey waitForWebViewContainingText:"Click done"]; // Check that no navigation occurred and no new tabs were opened. - chrome_test_util::AssertMainTabCount(1U); + [ChromeEarlGrey waitForMainTabCount:1]; const GURL& currentURL = chrome_test_util::GetCurrentWebState()->GetVisibleURL(); GREYAssert(currentURL == testURL, @"Page navigated unexpectedly %s", @@ -133,7 +132,7 @@ const GURL testURL = GetTestUrl(); [ChromeEarlGrey loadURL:testURL]; - chrome_test_util::AssertMainTabCount(1U); + [ChromeEarlGrey waitForMainTabCount:1]; // Tap on the test link. const std::string linkID = @@ -149,7 +148,7 @@ chrome_test_util::GetCurrentWebState()->GetVisibleURL(); return currentURL == GURL(url::kAboutBlankURL); }] waitWithTimeout:kConditionTimeout]; - chrome_test_util::AssertMainTabCount(1U); + [ChromeEarlGrey waitForMainTabCount:1]; } @end
diff --git a/ios/chrome/browser/web/cache_egtest.mm b/ios/chrome/browser/web/cache_egtest.mm index 69e1eaa9..75ed8f5 100644 --- a/ios/chrome/browser/web/cache_egtest.mm +++ b/ios/chrome/browser/web/cache_egtest.mm
@@ -15,7 +15,6 @@ #include "ios/chrome/test/app/history_test_util.h" #include "ios/chrome/test/app/navigation_test_util.h" #include "ios/chrome/test/app/web_view_interaction_test_util.h" -#import "ios/chrome/test/earl_grey/chrome_assertions.h" #import "ios/chrome/test/earl_grey/chrome_earl_grey.h" #import "ios/chrome/test/earl_grey/chrome_matchers.h" #import "ios/chrome/test/earl_grey/chrome_test_case.h" @@ -231,7 +230,7 @@ // first allow popups. ScopedBlockPopupsPref prefSetter(CONTENT_SETTING_ALLOW); chrome_test_util::TapWebViewElementWithId(kCacheTestLinkID); - chrome_test_util::AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; [ChromeEarlGrey waitForPageToFinishLoading]; [ChromeEarlGrey waitForWebViewContainingText:"First Page"]; [ChromeEarlGrey waitForWebViewContainingText:"serverHitCounter: 3"];
diff --git a/ios/chrome/browser/web/child_window_open_by_dom_egtest.mm b/ios/chrome/browser/web/child_window_open_by_dom_egtest.mm index dbe61de..b0abe97 100644 --- a/ios/chrome/browser/web/child_window_open_by_dom_egtest.mm +++ b/ios/chrome/browser/web/child_window_open_by_dom_egtest.mm
@@ -9,7 +9,6 @@ #include "ios/chrome/test/app/settings_test_util.h" #import "ios/chrome/test/app/tab_test_util.h" #include "ios/chrome/test/app/web_view_interaction_test_util.h" -#import "ios/chrome/test/earl_grey/chrome_assertions.h" #import "ios/chrome/test/earl_grey/chrome_earl_grey.h" #import "ios/chrome/test/earl_grey/chrome_matchers.h" #import "ios/chrome/test/earl_grey/chrome_test_case.h" @@ -20,7 +19,6 @@ #error "This file requires ARC support." #endif -using chrome_test_util::AssertMainTabCount; using chrome_test_util::TapWebViewElementWithId; using web::test::HttpServer; @@ -62,7 +60,7 @@ "http://ios/testing/data/http_server_files/window_proxy.html"; [ChromeEarlGrey loadURL:HttpServer::MakeUrl(kChildWindowTestURL)]; [ChromeEarlGrey waitForWebViewContainingText:kNamedWindowLink]; - AssertMainTabCount(1); + [ChromeEarlGrey waitForMainTabCount:1]; } // Tests that multiple calls to window.open() with the same window name returns @@ -70,11 +68,11 @@ - (void)test2ChildWindowsWithName { // Open two windows with the same name. TapWebViewElementWithId(kNamedWindowLink); - AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; chrome_test_util::SelectTabAtIndexInCurrentMode(0); TapWebViewElementWithId(kNamedWindowLink); - AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; chrome_test_util::SelectTabAtIndexInCurrentMode(0); // Check that they're the same window. @@ -88,11 +86,11 @@ - (void)test2ChildWindowsWithoutName { // Open two unnamed windows. TapWebViewElementWithId(kUnnamedWindowLink); - AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; chrome_test_util::SelectTabAtIndexInCurrentMode(0); TapWebViewElementWithId(kUnnamedWindowLink); - AssertMainTabCount(3); + [ChromeEarlGrey waitForMainTabCount:3]; chrome_test_util::SelectTabAtIndexInCurrentMode(0); // Check that they aren't the same window object. @@ -106,12 +104,12 @@ - (void)testChildWindowsWithAndWithoutName { // Open a named window. TapWebViewElementWithId(kNamedWindowLink); - AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; chrome_test_util::SelectTabAtIndexInCurrentMode(0); // Open an unnamed window. TapWebViewElementWithId(kUnnamedWindowLink); - AssertMainTabCount(3); + [ChromeEarlGrey waitForMainTabCount:3]; chrome_test_util::SelectTabAtIndexInCurrentMode(0); // Check that they aren't the same window object. @@ -127,7 +125,7 @@ // object for that tab. - (void)testWindowClosedWithName { TapWebViewElementWithId("openWindowWithName"); - AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; chrome_test_util::SelectTabAtIndexInCurrentMode(0); // Check that named window 1 is opened and named window 2 isn't. @@ -142,14 +140,14 @@ // Open another window with the same name. Check that named window 2 is now // opened. TapWebViewElementWithId("openWindowWithName"); - AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; chrome_test_util::SelectTabAtIndexInCurrentMode(0); TapWebViewElementWithId(kCheckWindow2Link); [ChromeEarlGrey waitForWebViewContainingText:kWindow2Open]; // Close the opened window. Check that named window 1 and 2 are both closed. chrome_test_util::CloseTabAtIndex(1); - AssertMainTabCount(1); + [ChromeEarlGrey waitForMainTabCount:1]; TapWebViewElementWithId(kCheckWindow1Link); [ChromeEarlGrey waitForWebViewContainingText:kWindow1Closed]; TapWebViewElementWithId(kCheckWindow2Link); @@ -160,7 +158,7 @@ // corresponding window object and not for any other window objects. - (void)testWindowClosedWithoutName { TapWebViewElementWithId("openWindowNoName"); - AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; chrome_test_util::SelectTabAtIndexInCurrentMode(0); // Check that unnamed window 1 is opened and unnamed window 2 isn't. @@ -174,7 +172,7 @@ // Open another unnamed window. Check that unnamed window 2 is now opened. TapWebViewElementWithId("openWindowNoName"); - AssertMainTabCount(3); + [ChromeEarlGrey waitForMainTabCount:3]; chrome_test_util::SelectTabAtIndexInCurrentMode(0); TapWebViewElementWithId(kCheckWindow2Link); [ChromeEarlGrey waitForWebViewContainingText:kWindow2Open];
diff --git a/ios/chrome/browser/web/chrome_web_client.mm b/ios/chrome/browser/web/chrome_web_client.mm index 06a3d00..92f5cbb 100644 --- a/ios/chrome/browser/web/chrome_web_client.mm +++ b/ios/chrome/browser/web/chrome_web_client.mm
@@ -5,12 +5,14 @@ #include "ios/chrome/browser/web/chrome_web_client.h" #include "base/command_line.h" +#include "base/feature_list.h" #include "base/files/file_util.h" #include "base/ios/ios_util.h" #include "base/mac/bundle_locations.h" #include "base/memory/ptr_util.h" #include "base/strings/sys_string_conversions.h" #include "components/dom_distiller/core/url_constants.h" +#include "components/payments/core/features.h" #include "components/prefs/pref_service.h" #include "components/strings/grit/components_strings.h" #include "components/task_scheduler_util/browser/initialization.h" @@ -165,7 +167,7 @@ web::BrowserState* browser_state) const { NSString* chrome_page_script = GetPageScript(@"chrome_bundle"); - if (!experimental_flags::IsPaymentRequestEnabled()) + if (!base::FeatureList::IsEnabled(payments::features::kWebPayments)) return chrome_page_script; NSString* kScriptTemplate = @"%@; %@";
diff --git a/ios/chrome/browser/web/chrome_web_client_unittest.mm b/ios/chrome/browser/web/chrome_web_client_unittest.mm index c271de6..6c29a61d 100644 --- a/ios/chrome/browser/web/chrome_web_client_unittest.mm +++ b/ios/chrome/browser/web/chrome_web_client_unittest.mm
@@ -12,8 +12,8 @@ #include "base/memory/ptr_util.h" #include "base/strings/string_split.h" #include "base/strings/sys_string_conversions.h" -#include "ios/chrome/browser/chrome_switches.h" -#include "ios/chrome/browser/experimental_flags.h" +#include "base/test/scoped_feature_list.h" +#include "components/payments/core/features.h" #include "ios/web/public/test/fakes/test_browser_state.h" #import "ios/web/public/test/js_test_util.h" #include "ios/web/public/test/scoped_testing_web_client.h" @@ -101,8 +101,8 @@ EXPECT_NSEQ(@"undefined", web::ExecuteJavaScript( web_view, @"typeof window.PaymentRequest")); - base::CommandLine::ForCurrentProcess()->AppendSwitchASCII( - switches::kEnablePaymentRequest, std::string()); + base::test::ScopedFeatureList feature_list; + feature_list.InitAndEnableFeature(payments::features::kWebPayments); script = web_client.Get()->GetEarlyPageScript(&browser_state); web::ExecuteJavaScript(web_view, script); EXPECT_NSEQ(@"function", web::ExecuteJavaScript(
diff --git a/ios/chrome/browser/web/window_open_by_dom_egtest.mm b/ios/chrome/browser/web/window_open_by_dom_egtest.mm index 8ac49f67..b9228ebf 100644 --- a/ios/chrome/browser/web/window_open_by_dom_egtest.mm +++ b/ios/chrome/browser/web/window_open_by_dom_egtest.mm
@@ -14,7 +14,6 @@ #include "ios/chrome/test/app/settings_test_util.h" #import "ios/chrome/test/app/tab_test_util.h" #include "ios/chrome/test/app/web_view_interaction_test_util.h" -#import "ios/chrome/test/earl_grey/chrome_assertions.h" #import "ios/chrome/test/earl_grey/chrome_earl_grey.h" #import "ios/chrome/test/earl_grey/chrome_matchers.h" #import "ios/chrome/test/earl_grey/chrome_test_case.h" @@ -26,7 +25,6 @@ #error "This file requires ARC support." #endif -using chrome_test_util::AssertMainTabCount; using chrome_test_util::OmniboxText; using chrome_test_util::TapWebViewElementWithId; using web::test::HttpServer; @@ -66,14 +64,14 @@ // Open the test page. There should only be one tab open. [ChromeEarlGrey loadURL:HttpServer::MakeUrl(kTestURL)]; [ChromeEarlGrey waitForWebViewContainingText:"Expected result"]; - AssertMainTabCount(1); + [ChromeEarlGrey waitForMainTabCount:1]; } // Tests that opening a link with target=_blank which then immediately closes // itself works. - (void)testLinkWithBlankTargetWithImmediateClose { TapWebViewElementWithId("webScenarioWindowOpenBlankTargetWithImmediateClose"); - AssertMainTabCount(1); + [ChromeEarlGrey waitForMainTabCount:1]; } // Tests that sessionStorage content is available for windows opened by DOM via @@ -86,7 +84,7 @@ GREYAssert(!error, @"Error during script execution: %@", error); TapWebViewElementWithId("webScenarioWindowOpenSameURLWithBlankTarget"); - AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; [ChromeEarlGrey waitForWebViewContainingText:"Expected result"]; id value = ExecuteJavaScript(@"sessionStorage.getItem('key');", &error); @@ -97,31 +95,31 @@ // Tests a link with target="_blank". - (void)testLinkWithBlankTarget { TapWebViewElementWithId("webScenarioWindowOpenRegularLink"); - AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; } // Tests a link with target="_blank" multiple times. - (void)testLinkWithBlankTargetMultipleTimes { TapWebViewElementWithId("webScenarioWindowOpenRegularLinkMultipleTimes"); - AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; chrome_test_util::OpenNewTab(); - AssertMainTabCount(3); + [ChromeEarlGrey waitForMainTabCount:3]; chrome_test_util::SelectTabAtIndexInCurrentMode(0); TapWebViewElementWithId("webScenarioWindowOpenRegularLinkMultipleTimes"); - AssertMainTabCount(4); + [ChromeEarlGrey waitForMainTabCount:4]; } // Tests a window.open by assigning to window.location. - (void)testWindowOpenAndAssignToHref { TapWebViewElementWithId("webScenarioWindowOpenTabWithAssignmentToHref"); - AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; } // Tests that opening a window and calling window.location.assign works. - (void)testWindowOpenAndCallLocationAssign { // Open a child tab. TapWebViewElementWithId("webScenarioWindowOpenAndCallLocationAssign"); - AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; // Ensure that the resulting tab is updated as expected. const GURL targetURL = @@ -135,7 +133,7 @@ - (void)testWindowOpenAndSetLocation { // Open a child tab. TapWebViewElementWithId("webScenarioWindowOpenAndSetLocation"); - AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; // Ensure that the resulting tab is updated as expected. const GURL targetURL = @@ -147,40 +145,40 @@ // Tests a button that invokes window.open() with "_blank" target parameter. - (void)testWindowOpenWithBlankTarget { TapWebViewElementWithId("webScenarioWindowOpenWithBlankTarget"); - AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; } // Tests that opening a window with target=_blank which closes itself after 1 // second delay. - (void)testLinkWithBlankTargetWithDelayedClose { TapWebViewElementWithId("webScenarioWindowOpenWithDelayedClose"); - AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; base::test::ios::SpinRunLoopWithMinDelay(base::TimeDelta::FromSecondsD(1)); - AssertMainTabCount(1); + [ChromeEarlGrey waitForMainTabCount:1]; } // Tests a window.open used in a <button onClick> element. - (void)testWindowOpenWithButtonOnClick { TapWebViewElementWithId("webScenarioWindowOpenWithButtonOnClick"); - AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; } // Tests a button that invokes window.open with an empty target parameter. - (void)testWindowOpenWithEmptyTarget { TapWebViewElementWithId("webScenarioWindowOpenWithEmptyTarget"); - AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; } // Tests a link with JavaScript in the href. + (void)testWindowOpenWithJavaScriptInHref { TapWebViewElementWithId("webScenarioWindowOpenWithJavaScriptInHref"); - AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; } // Tests a window.open by running Meta-Refresh. - (void)testWindowOpenWithMetaRefresh { TapWebViewElementWithId("webScenarioWindowOpenWithMetaRefresh"); - AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; } // Tests that a link with an onclick that opens a tab and calls preventDefault @@ -188,7 +186,7 @@ - (void)testWindowOpenWithPreventDefaultLink { // Open a child tab. TapWebViewElementWithId("webScenarioWindowOpenWithPreventDefaultLink"); - AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; // Ensure that the starting tab hasn't navigated. chrome_test_util::CloseCurrentTab(); @@ -202,7 +200,7 @@ // target="_blank"> - (void)testWindowOpenWithAboutNewTabScript { TapWebViewElementWithId("webScenarioWindowOpenWithAboutNewTabScript"); - AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; [[EarlGrey selectElementWithMatcher:OmniboxText("about:newtab")] assertWithMatcher:grey_notNil()]; } @@ -210,7 +208,7 @@ // Tests that closing the current window using DOM fails. - (void)testCloseWindowNotOpenByDOM { TapWebViewElementWithId("webScenarioWindowClose"); - AssertMainTabCount(1); + [ChromeEarlGrey waitForMainTabCount:1]; } // Tests that popup blocking works when a popup is injected into a window before @@ -221,7 +219,7 @@ NSString* infobarText = GetBlockedPopupInfobarText(1); [[EarlGrey selectElementWithMatcher:grey_accessibilityLabel(infobarText)] assertWithMatcher:grey_notNil()]; - AssertMainTabCount(2); + [ChromeEarlGrey waitForMainTabCount:2]; } @end
diff --git a/ios/chrome/test/earl_grey/chrome_earl_grey.h b/ios/chrome/test/earl_grey/chrome_earl_grey.h index 7a21506..9f53ff94 100644 --- a/ios/chrome/test/earl_grey/chrome_earl_grey.h +++ b/ios/chrome/test/earl_grey/chrome_earl_grey.h
@@ -87,6 +87,14 @@ // Waits for there to be no web view containing |text|. If the condition is not // met within a timeout, a GREYAssert is induced. + (void)waitForWebViewNotContainingText:(std::string)text; + +// Waits for there to be |count| number of non-incognito tabs. If the condition +// is not met within a timeout, a GREYAssert is induced. ++ (void)waitForMainTabCount:(NSUInteger)count; + +// Waits for there to be |count| number of incognito tabs. If the condition is +// not met within a timeout, a GREYAssert is induced. ++ (void)waitForIncognitoTabCount:(NSUInteger)count; @end #endif // IOS_CHROME_TEST_EARL_GREY_CHROME_EARL_GREY_H_
diff --git a/ios/chrome/test/earl_grey/chrome_earl_grey.mm b/ios/chrome/test/earl_grey/chrome_earl_grey.mm index af378f1..2eff22544 100644 --- a/ios/chrome/test/earl_grey/chrome_earl_grey.mm +++ b/ios/chrome/test/earl_grey/chrome_earl_grey.mm
@@ -7,6 +7,7 @@ #import <Foundation/Foundation.h> #import <WebKit/WebKit.h> +#include "base/format_macros.h" #include "base/mac/foundation_util.h" #include "base/mac/scoped_nsobject.h" #include "base/strings/sys_string_conversions.h" @@ -19,6 +20,7 @@ #import "ios/chrome/test/app/history_test_util.h" #include "ios/chrome/test/app/navigation_test_util.h" #import "ios/chrome/test/app/static_html_view_test_util.h" +#import "ios/chrome/test/app/tab_test_util.h" #import "ios/testing/wait_util.h" #import "ios/web/public/test/earl_grey/js_test_util.h" #import "ios/web/public/test/web_view_content_test_util.h" @@ -204,4 +206,29 @@ GREYAssert([condition waitWithTimeout:testing::kWaitForUIElementTimeout], @"Failed waiting for web view not containing %s", text.c_str()); } + ++ (void)waitForMainTabCount:(NSUInteger)count { + // Allow the UI to become idle, in case any tabs are being opened or closed. + [[GREYUIThreadExecutor sharedInstance] drainUntilIdle]; + GREYCondition* condition = [GREYCondition + conditionWithName:@"Wait for main tab count" + block:^BOOL { + return chrome_test_util::GetMainTabCount() == count; + }]; + GREYAssert([condition waitWithTimeout:testing::kWaitForUIElementTimeout], + @"Failed waiting for main tab count to become %" PRIuNS, count); +} + ++ (void)waitForIncognitoTabCount:(NSUInteger)count { + // Allow the UI to become idle, in case any tabs are being opened or closed. + [[GREYUIThreadExecutor sharedInstance] drainUntilIdle]; + GREYCondition* condition = [GREYCondition + conditionWithName:@"Wait for incognito tab count" + block:^BOOL { + return chrome_test_util::GetIncognitoTabCount() == count; + }]; + GREYAssert([condition waitWithTimeout:testing::kWaitForUIElementTimeout], + @"Failed waiting for incognito tab count to become %" PRIuNS, + count); +} @end
diff --git a/mash/catalog_viewer/catalog_viewer.cc b/mash/catalog_viewer/catalog_viewer.cc index ccaca82..c3ca399 100644 --- a/mash/catalog_viewer/catalog_viewer.cc +++ b/mash/catalog_viewer/catalog_viewer.cc
@@ -222,11 +222,9 @@ } void CatalogViewer::OnStart() { - aura_init_ = views::AuraInit::Create( + aura_init_ = base::MakeUnique<views::AuraInit>( context()->connector(), context()->identity(), "views_mus_resources.pak", std::string(), nullptr, views::AuraInit::Mode::AURA_MUS); - if (!aura_init_) - context()->QuitNow(); } void CatalogViewer::OnBindInterface(
diff --git a/mash/example/views_examples/views_examples.cc b/mash/example/views_examples/views_examples.cc index da9a8a50..e559bf9 100644 --- a/mash/example/views_examples/views_examples.cc +++ b/mash/example/views_examples/views_examples.cc
@@ -31,12 +31,10 @@ private: // service_manager::Service: void OnStart() override { - aura_init_ = - views::AuraInit::Create(context()->connector(), context()->identity(), - "views_mus_resources.pak", std::string(), - nullptr, views::AuraInit::Mode::AURA_MUS); - if (!aura_init_) - context()->QuitNow(); + aura_init_ = base::MakeUnique<views::AuraInit>( + context()->connector(), context()->identity(), + "views_mus_resources.pak", std::string(), nullptr, + views::AuraInit::Mode::AURA_MUS); } void OnBindInterface(const service_manager::BindSourceInfo& source_info, const std::string& interface_name,
diff --git a/mash/example/window_type_launcher/window_type_launcher.cc b/mash/example/window_type_launcher/window_type_launcher.cc index 078005b9..021135e4 100644 --- a/mash/example/window_type_launcher/window_type_launcher.cc +++ b/mash/example/window_type_launcher/window_type_launcher.cc
@@ -453,11 +453,9 @@ } void WindowTypeLauncher::OnStart() { - aura_init_ = views::AuraInit::Create( + aura_init_ = base::MakeUnique<views::AuraInit>( context()->connector(), context()->identity(), "views_mus_resources.pak", std::string(), nullptr, views::AuraInit::Mode::AURA_MUS); - if (!aura_init_) - context()->QuitNow(); } void WindowTypeLauncher::OnBindInterface(
diff --git a/mash/quick_launch/quick_launch.cc b/mash/quick_launch/quick_launch.cc index 1a5dafa..a9f51a0f 100644 --- a/mash/quick_launch/quick_launch.cc +++ b/mash/quick_launch/quick_launch.cc
@@ -171,13 +171,14 @@ } void QuickLaunch::OnStart() { + aura_init_ = base::MakeUnique<views::AuraInit>( + context()->connector(), context()->identity(), "views_mus_resources.pak", + std::string(), nullptr, views::AuraInit::Mode::AURA_MUS); + // If AuraInit was unable to initialize there is no longer a peer connection. // The ServiceManager is in the process of shutting down, however we haven't // been notified yet. Close our ServiceContext and shutdown. - aura_init_ = views::AuraInit::Create( - context()->connector(), context()->identity(), "views_mus_resources.pak", - std::string(), nullptr, views::AuraInit::Mode::AURA_MUS); - if (!aura_init_) { + if (!aura_init_->initialized()) { context()->QuitNow(); return; }
diff --git a/mash/simple_wm/simple_wm.cc b/mash/simple_wm/simple_wm.cc index 26ba8465..8850a38 100644 --- a/mash/simple_wm/simple_wm.cc +++ b/mash/simple_wm/simple_wm.cc
@@ -364,13 +364,9 @@ started_ = true; screen_ = base::MakeUnique<display::ScreenBase>(); display::Screen::SetScreenInstance(screen_.get()); - aura_init_ = views::AuraInit::Create( + aura_init_ = base::MakeUnique<views::AuraInit>( context()->connector(), context()->identity(), "views_mus_resources.pak", std::string(), nullptr, views::AuraInit::Mode::AURA_MUS_WINDOW_MANAGER); - if (!aura_init_) { - context()->QuitNow(); - return; - } window_tree_client_ = base::MakeUnique<aura::WindowTreeClient>( context()->connector(), this, this); aura::Env::GetInstance()->SetWindowTreeClient(window_tree_client_.get());
diff --git a/mash/task_viewer/task_viewer.cc b/mash/task_viewer/task_viewer.cc index d932576..cdc03e76 100644 --- a/mash/task_viewer/task_viewer.cc +++ b/mash/task_viewer/task_viewer.cc
@@ -294,11 +294,9 @@ } void TaskViewer::OnStart() { - aura_init_ = views::AuraInit::Create( + aura_init_ = base::MakeUnique<views::AuraInit>( context()->connector(), context()->identity(), "views_mus_resources.pak", std::string(), nullptr, views::AuraInit::Mode::AURA_MUS); - if (!aura_init_) - context()->QuitNow(); } void TaskViewer::OnBindInterface(
diff --git a/media/audio/audio_output_controller.cc b/media/audio/audio_output_controller.cc index e4ecaa92..90bd2cc 100644 --- a/media/audio/audio_output_controller.cc +++ b/media/audio/audio_output_controller.cc
@@ -279,8 +279,8 @@ // may have already fired if OnMoreData() took an abnormal amount of time). // Since this thread is the only writer of |on_more_io_data_called_| once the // thread starts, its safe to compare and then increment. - if (base::AtomicRefCountIsZero(&on_more_io_data_called_)) - base::AtomicRefCountInc(&on_more_io_data_called_); + if (on_more_io_data_called_.IsZero()) + on_more_io_data_called_.Increment(); sync_reader_->Read(dest); @@ -289,7 +289,7 @@ sync_reader_->RequestMoreData(delay, delay_timestamp, prior_frames_skipped); - if (base::AtomicRefCountIsOne(&should_duplicate_)) { + if (should_duplicate_.IsOne()) { const base::TimeTicks reference_time = delay_timestamp + delay; std::unique_ptr<AudioBus> copy(AudioBus::Create(params_)); dest->CopyTo(copy.get()); @@ -492,7 +492,7 @@ return; if (duplication_targets_.empty()) - base::AtomicRefCountInc(&should_duplicate_); + should_duplicate_.Increment(); duplication_targets_.insert(to_stream); } @@ -503,7 +503,7 @@ duplication_targets_.erase(to_stream); if (duplication_targets_.empty()) { - const bool is_nonzero = base::AtomicRefCountDec(&should_duplicate_); + const bool is_nonzero = should_duplicate_.Decrement(); DCHECK(!is_nonzero); } } @@ -519,7 +519,7 @@ // If we should be playing and we haven't, that's a wedge. if (state_ == kPlaying) { UMA_HISTOGRAM_BOOLEAN("Media.AudioOutputControllerPlaybackStartupSuccess", - base::AtomicRefCountIsOne(&on_more_io_data_called_)); + on_more_io_data_called_.IsOne()); } }
diff --git a/mojo/common/BUILD.gn b/mojo/common/BUILD.gn index 75af21a..1bf62d22 100644 --- a/mojo/common/BUILD.gn +++ b/mojo/common/BUILD.gn
@@ -27,7 +27,7 @@ ] # TODO(crbug.com/699569): Convert to use the new JS bindings. - use_new_js_bindings = false + js_bindings_mode = "both" } component("common_base") {
diff --git a/mojo/edk/system/data_pipe_consumer_dispatcher.cc b/mojo/edk/system/data_pipe_consumer_dispatcher.cc index 2213949..1db8191 100644 --- a/mojo/edk/system/data_pipe_consumer_dispatcher.cc +++ b/mojo/edk/system/data_pipe_consumer_dispatcher.cc
@@ -530,7 +530,7 @@ ports::PortStatus port_status; int rv = node_controller_->node()->GetStatus(control_port_, &port_status); - peer_remote_ = port_status.peer_remote; + peer_remote_ = rv == ports::OK && port_status.peer_remote; if (rv != ports::OK || !port_status.receiving_messages) { DVLOG(1) << "Data pipe consumer " << pipe_id_ << " is aware of peer closure" << " [control_port=" << control_port_.name() << "]";
diff --git a/mojo/edk/system/data_pipe_producer_dispatcher.cc b/mojo/edk/system/data_pipe_producer_dispatcher.cc index 86b573c3..0edfc586 100644 --- a/mojo/edk/system/data_pipe_producer_dispatcher.cc +++ b/mojo/edk/system/data_pipe_producer_dispatcher.cc
@@ -480,7 +480,7 @@ ports::PortStatus port_status; int rv = node_controller_->node()->GetStatus(control_port_, &port_status); - peer_remote_ = port_status.peer_remote; + peer_remote_ = rv == ports::OK && port_status.peer_remote; if (rv != ports::OK || !port_status.receiving_messages) { DVLOG(1) << "Data pipe producer " << pipe_id_ << " is aware of peer closure" << " [control_port=" << control_port_.name() << "]";
diff --git a/net/BUILD.gn b/net/BUILD.gn index 69809871..651be873 100644 --- a/net/BUILD.gn +++ b/net/BUILD.gn
@@ -140,8 +140,6 @@ "base/net_string_util.h", "base/network_interfaces.cc", "base/network_interfaces.h", - "base/network_interfaces_posix.cc", - "base/network_interfaces_posix.h", "base/parse_number.cc", "base/parse_number.h", "base/port_util.cc", @@ -465,10 +463,13 @@ "base/network_delegate.h", "base/network_delegate_impl.cc", "base/network_delegate_impl.h", + "base/network_interfaces_getifaddrs.cc", + "base/network_interfaces_getifaddrs.h", "base/network_interfaces_linux.cc", "base/network_interfaces_linux.h", - "base/network_interfaces_mac.cc", - "base/network_interfaces_mac.h", + "base/network_interfaces_nacl.cc", + "base/network_interfaces_posix.cc", + "base/network_interfaces_posix.h", "base/network_interfaces_win.cc", "base/network_interfaces_win.h", "base/network_throttle_manager.h", @@ -1810,6 +1811,18 @@ ] } + if (!is_nacl) { + sources -= [ "base/network_interfaces_nacl.cc" ] + } + + # Use getifaddrs() on POSIX platforms, except Linux and Android. + if (!is_posix || is_linux || is_android) { + sources -= [ + "base/network_interfaces_getifaddrs.cc", + "base/network_interfaces_getifaddrs.h", + ] + } + if (use_gio) { deps += [ "//build/linux/libgio" ] } @@ -1903,8 +1916,6 @@ "base/network_change_notifier_mac.h", "base/network_config_watcher_mac.cc", "base/network_config_watcher_mac.h", - "base/network_interfaces_mac.cc", - "base/network_interfaces_mac.h", "base/platform_mime_util_mac.mm", "cert/test_root_certs_mac.cc", "cert/x509_util_ios_and_mac.cc", @@ -4520,6 +4531,7 @@ "base/network_activity_monitor_unittest.cc", "base/network_change_notifier_unittest.cc", "base/network_change_notifier_win_unittest.cc", + "base/network_interfaces_getifaddrs_unittest.cc", "base/network_interfaces_unittest.cc", "base/network_throttle_manager_impl_unittest.cc", "base/parse_number_unittest.cc", @@ -5384,6 +5396,11 @@ bundle_deps = [ ":net_unittests_bundle_data" ] } + # Use getifaddrs() on POSIX platforms, except Linux and Android. + if (!is_posix || is_linux || is_android) { + sources -= [ "base/network_interfaces_getifaddrs_unittest.cc" ] + } + # Unit tests that aren't supported by the current ICU alternatives on Android. if (is_android && use_platform_icu_alternatives) { sources -= [
diff --git a/net/base/data_url.cc b/net/base/data_url.cc index 00ea694..410a3e3 100644 --- a/net/base/data_url.cc +++ b/net/base/data_url.cc
@@ -10,6 +10,7 @@ #include "base/base64.h" #include "base/stl_util.h" +#include "base/strings/string_piece.h" #include "base/strings/string_split.h" #include "base/strings/string_util.h" #include "net/base/escape.h" @@ -39,14 +40,13 @@ if (comma == end) return false; - std::vector<std::string> meta_data = - base::SplitString(base::StringPiece(after_colon, comma), ";", - base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); + std::vector<base::StringPiece> meta_data = + base::SplitStringPiece(base::StringPiece(after_colon, comma), ";", + base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL); - std::vector<std::string>::iterator iter = meta_data.begin(); - if (iter != meta_data.end()) { - mime_type->swap(*iter); - *mime_type = base::ToLowerASCII(*mime_type); + auto iter = meta_data.cbegin(); + if (iter != meta_data.cend()) { + *mime_type = base::ToLowerASCII(*iter); ++iter; } @@ -55,12 +55,13 @@ const size_t kCharsetTagLength = arraysize(kCharsetTag) - 1; bool base64_encoded = false; - for (; iter != meta_data.end(); ++iter) { + for (; iter != meta_data.cend(); ++iter) { if (!base64_encoded && *iter == kBase64Tag) { base64_encoded = true; } else if (charset->empty() && - iter->compare(0, kCharsetTagLength, kCharsetTag) == 0) { - charset->assign(iter->substr(kCharsetTagLength)); + base::StartsWith(*iter, kCharsetTag, + base::CompareCase::SENSITIVE)) { + *charset = std::string(iter->substr(kCharsetTagLength)); // The grammar for charset is not specially defined in RFC2045 and // RFC2397. It just needs to be a token. if (!HttpUtil::IsToken(*charset))
diff --git a/net/base/network_interfaces.h b/net/base/network_interfaces.h index 9329795c..d3d9f4e 100644 --- a/net/base/network_interfaces.h +++ b/net/base/network_interfaces.h
@@ -34,6 +34,18 @@ // lifetime is reached. It is still valid but shouldn't be used to // create new connections. IP_ADDRESS_ATTRIBUTE_DEPRECATED = 1 << 1, + + // Anycast address. + IP_ADDRESS_ATTRIBUTE_ANYCAST = 1 << 2, + + // Tentative address. + IP_ADDRESS_ATTRIBUTE_TENTATIVE = 1 << 3, + + // DAD detected duplicate. + IP_ADDRESS_ATTRIBUTE_DUPLICATED = 1 << 4, + + // May be detached from the link. + IP_ADDRESS_ATTRIBUTE_DETACHED = 1 << 5, }; // struct that is used by GetNetworkList() to represent a network
diff --git a/net/base/network_interfaces_getifaddrs.cc b/net/base/network_interfaces_getifaddrs.cc new file mode 100644 index 0000000..9e86239 --- /dev/null +++ b/net/base/network_interfaces_getifaddrs.cc
@@ -0,0 +1,242 @@ +// 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 "net/base/network_interfaces_getifaddrs.h" + +#include <ifaddrs.h> +#include <net/if.h> +#include <netinet/in.h> +#include <sys/types.h> + +#include <memory> +#include <set> + +#include "base/files/file_path.h" +#include "base/logging.h" +#include "base/posix/eintr_wrapper.h" +#include "base/strings/string_number_conversions.h" +#include "base/strings/string_tokenizer.h" +#include "base/strings/string_util.h" +#include "base/threading/thread_restrictions.h" +#include "build/build_config.h" +#include "net/base/ip_endpoint.h" +#include "net/base/net_errors.h" +#include "net/base/network_interfaces_posix.h" + +#if defined(OS_MACOSX) && !defined(OS_IOS) +#include <net/if_media.h> +#include <netinet/in_var.h> +#include <sys/ioctl.h> +#endif // !OS_IOS + +namespace net { +namespace internal { + +#if defined(OS_MACOSX) && !defined(OS_IOS) + +// MacOSX implementation of IPAttributesGetter which calls ioctl() on socket to +// retrieve IP attributes. +class IPAttributesGetterMac : public internal::IPAttributesGetter { + public: + IPAttributesGetterMac(); + ~IPAttributesGetterMac() override; + bool IsInitialized() const override; + bool GetAddressAttributes(const ifaddrs* if_addr, int* attributes) override; + NetworkChangeNotifier::ConnectionType GetNetworkInterfaceType( + const ifaddrs* if_addr) override; + + private: + int ioctl_socket_; +}; + +IPAttributesGetterMac::IPAttributesGetterMac() + : ioctl_socket_(socket(AF_INET6, SOCK_DGRAM, 0)) { + DCHECK_GE(ioctl_socket_, 0); +} + +IPAttributesGetterMac::~IPAttributesGetterMac() { + if (IsInitialized()) { + PCHECK(IGNORE_EINTR(close(ioctl_socket_)) == 0); + } +} + +bool IPAttributesGetterMac::IsInitialized() const { + return ioctl_socket_ >= 0; +} + +int AddressFlagsToNetAddressAttributes(int flags) { + int result = 0; + if (flags & IN6_IFF_TEMPORARY) { + result |= IP_ADDRESS_ATTRIBUTE_TEMPORARY; + } + if (flags & IN6_IFF_DEPRECATED) { + result |= IP_ADDRESS_ATTRIBUTE_DEPRECATED; + } + if (flags & IN6_IFF_ANYCAST) { + result |= IP_ADDRESS_ATTRIBUTE_ANYCAST; + } + if (flags & IN6_IFF_TENTATIVE) { + result |= IP_ADDRESS_ATTRIBUTE_TENTATIVE; + } + if (flags & IN6_IFF_DUPLICATED) { + result |= IP_ADDRESS_ATTRIBUTE_DUPLICATED; + } + if (flags & IN6_IFF_DETACHED) { + result |= IP_ADDRESS_ATTRIBUTE_DETACHED; + } + return result; +} + +bool IPAttributesGetterMac::GetAddressAttributes(const ifaddrs* if_addr, + int* attributes) { + struct in6_ifreq ifr = {}; + strncpy(ifr.ifr_name, if_addr->ifa_name, sizeof(ifr.ifr_name) - 1); + memcpy(&ifr.ifr_ifru.ifru_addr, if_addr->ifa_addr, if_addr->ifa_addr->sa_len); + int rv = ioctl(ioctl_socket_, SIOCGIFAFLAG_IN6, &ifr); + if (rv >= 0) { + *attributes = AddressFlagsToNetAddressAttributes(ifr.ifr_ifru.ifru_flags); + } + return (rv >= 0); +} + +NetworkChangeNotifier::ConnectionType +IPAttributesGetterMac::GetNetworkInterfaceType(const ifaddrs* if_addr) { + if (!IsInitialized()) + return NetworkChangeNotifier::CONNECTION_UNKNOWN; + + struct ifmediareq ifmr = {}; + strncpy(ifmr.ifm_name, if_addr->ifa_name, sizeof(ifmr.ifm_name) - 1); + + if (ioctl(ioctl_socket_, SIOCGIFMEDIA, &ifmr) != -1) { + if (ifmr.ifm_current & IFM_IEEE80211) { + return NetworkChangeNotifier::CONNECTION_WIFI; + } + if (ifmr.ifm_current & IFM_ETHER) { + return NetworkChangeNotifier::CONNECTION_ETHERNET; + } + } + + return NetworkChangeNotifier::CONNECTION_UNKNOWN; +} + +#endif // defined(OS_MACOSX) && !defined(OS_IOS) + +bool IfaddrsToNetworkInterfaceList(int policy, + const ifaddrs* interfaces, + IPAttributesGetter* ip_attributes_getter, + NetworkInterfaceList* networks) { + // Enumerate the addresses assigned to network interfaces which are up. + for (const ifaddrs* interface = interfaces; interface != NULL; + interface = interface->ifa_next) { + // Skip loopback interfaces, and ones which are down. + if (!(IFF_RUNNING & interface->ifa_flags)) + continue; + if (IFF_LOOPBACK & interface->ifa_flags) + continue; + // Skip interfaces with no address configured. + struct sockaddr* addr = interface->ifa_addr; + if (!addr) + continue; + + // Skip unspecified addresses (i.e. made of zeroes) and loopback addresses + // configured on non-loopback interfaces. + if (IsLoopbackOrUnspecifiedAddress(addr)) + continue; + + std::string name = interface->ifa_name; + // Filter out VMware interfaces, typically named vmnet1 and vmnet8. + if (ShouldIgnoreInterface(name, policy)) { + continue; + } + + NetworkChangeNotifier::ConnectionType connection_type = + NetworkChangeNotifier::CONNECTION_UNKNOWN; + + int ip_attributes = IP_ADDRESS_ATTRIBUTE_NONE; + + // Retrieve native ip attributes and convert to net version if a getter is + // given. + if (ip_attributes_getter && ip_attributes_getter->IsInitialized()) { + if (addr->sa_family == AF_INET6 && + ip_attributes_getter->GetAddressAttributes(interface, + &ip_attributes)) { + // Disallow addresses with attributes ANYCASE, DUPLICATED, TENTATIVE, + // and DETACHED as these are still progressing through duplicated + // address detection (DAD) or are not suitable to be used in an + // one-to-one communication and shouldn't be used by the application + // layer. + if (ip_attributes & + (IP_ADDRESS_ATTRIBUTE_ANYCAST | IP_ADDRESS_ATTRIBUTE_DUPLICATED | + IP_ADDRESS_ATTRIBUTE_TENTATIVE | IP_ADDRESS_ATTRIBUTE_DETACHED)) { + continue; + } + } + + connection_type = + ip_attributes_getter->GetNetworkInterfaceType(interface); + } + + IPEndPoint address; + + int addr_size = 0; + if (addr->sa_family == AF_INET6) { + addr_size = sizeof(sockaddr_in6); + } else if (addr->sa_family == AF_INET) { + addr_size = sizeof(sockaddr_in); + } + + if (address.FromSockAddr(addr, addr_size)) { + uint8_t prefix_length = 0; + if (interface->ifa_netmask) { + // If not otherwise set, assume the same sa_family as ifa_addr. + if (interface->ifa_netmask->sa_family == 0) { + interface->ifa_netmask->sa_family = addr->sa_family; + } + IPEndPoint netmask; + if (netmask.FromSockAddr(interface->ifa_netmask, addr_size)) { + prefix_length = MaskPrefixLength(netmask.address()); + } + } + networks->push_back(NetworkInterface( + name, name, if_nametoindex(name.c_str()), connection_type, + address.address(), prefix_length, ip_attributes)); + } + } + + return true; +} + +} // namespace internal + +bool GetNetworkList(NetworkInterfaceList* networks, int policy) { + if (networks == NULL) + return false; + + // getifaddrs() may require IO operations. + base::ThreadRestrictions::AssertIOAllowed(); + + ifaddrs* interfaces; + if (getifaddrs(&interfaces) < 0) { + PLOG(ERROR) << "getifaddrs"; + return false; + } + + std::unique_ptr<internal::IPAttributesGetter> ip_attributes_getter; + +#if defined(OS_MACOSX) && !defined(OS_IOS) + ip_attributes_getter = base::MakeUnique<internal::IPAttributesGetterMac>(); +#endif + + bool result = internal::IfaddrsToNetworkInterfaceList( + policy, interfaces, ip_attributes_getter.get(), networks); + freeifaddrs(interfaces); + return result; +} + +std::string GetWifiSSID() { + NOTIMPLEMENTED(); + return std::string(); +} + +} // namespace net
diff --git a/net/base/network_interfaces_getifaddrs.h b/net/base/network_interfaces_getifaddrs.h new file mode 100644 index 0000000..7ec8081 --- /dev/null +++ b/net/base/network_interfaces_getifaddrs.h
@@ -0,0 +1,57 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef NET_BASE_NETWORK_INTERFACES_GETIFADDRS_H_ +#define NET_BASE_NETWORK_INTERFACES_GETIFADDRS_H_ + +// network_interfaces_getaddrs.cc implements GetNetworkList() using getifaddrs() +// API. It is a non-standard API, so not all POSIX systems implement it (e.g. +// it doesn't exist on Android). It is used on MacOS, iOS and Fuchsia. On Linux +// and Android interface is used to implement GetNetworkList(), see +// network_interfaces_linux.cc. +// This file defines IfaddrsToNetworkInterfaceList() so it can be called in +// unittests. + +#include "net/base/net_export.h" +#include "net/base/network_interfaces.h" + +#include <string> + +struct ifaddrs; + +namespace net { +namespace internal { + +class NET_EXPORT_PRIVATE IPAttributesGetter { + public: + IPAttributesGetter() {} + virtual ~IPAttributesGetter() {} + virtual bool IsInitialized() const = 0; + + // Returns false if the interface must be skipped. Otherwise sets |attributes| + // and returns true. + virtual bool GetAddressAttributes(const ifaddrs* if_addr, + int* attributes) = 0; + + // Returns interface type for the given interface. + virtual NetworkChangeNotifier::ConnectionType GetNetworkInterfaceType( + const ifaddrs* if_addr) = 0; + + private: + DISALLOW_COPY_AND_ASSIGN(IPAttributesGetter); +}; + +// Converts ifaddrs list returned by getifaddrs() to NetworkInterfaceList. Also +// filters the list interfaces according to |policy| (see +// HostAddressSelectionPolicy). +NET_EXPORT_PRIVATE bool IfaddrsToNetworkInterfaceList( + int policy, + const ifaddrs* interfaces, + IPAttributesGetter* ip_attributes_getter, + NetworkInterfaceList* networks); + +} // namespace internal +} // namespace net + +#endif // NET_BASE_NETWORK_INTERFACES_GETIFADDRS_H_
diff --git a/net/base/network_interfaces_getifaddrs_unittest.cc b/net/base/network_interfaces_getifaddrs_unittest.cc new file mode 100644 index 0000000..2721c9df --- /dev/null +++ b/net/base/network_interfaces_getifaddrs_unittest.cc
@@ -0,0 +1,180 @@ +// 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 "net/base/network_interfaces_getifaddrs.h" + +#include <string> + +#include "build/build_config.h" +#include "net/base/ip_endpoint.h" +#include "testing/gtest/include/gtest/gtest.h" + +#include <ifaddrs.h> +#include <net/if.h> +#include <netinet/in.h> + +namespace net { +namespace { + +class IPAttributesGetterTest : public internal::IPAttributesGetter { + public: + IPAttributesGetterTest() {} + + // internal::IPAttributesGetter interface. + bool IsInitialized() const override { return true; } + bool GetAddressAttributes(const ifaddrs* if_addr, int* attributes) override { + *attributes = attributes_; + return true; + } + NetworkChangeNotifier::ConnectionType GetNetworkInterfaceType( + const ifaddrs* if_addr) override { + return NetworkChangeNotifier::CONNECTION_UNKNOWN; + } + + void set_attributes(int attributes) { attributes_ = attributes; } + + private: + int attributes_ = 0; +}; + +// Helper function to create a single valid ifaddrs +bool FillIfaddrs(ifaddrs* interfaces, + const char* ifname, + uint flags, + const IPAddress& ip_address, + const IPAddress& ip_netmask, + sockaddr_storage sock_addrs[2]) { + interfaces->ifa_next = nullptr; + interfaces->ifa_name = const_cast<char*>(ifname); + interfaces->ifa_flags = flags; + + socklen_t sock_len = sizeof(sockaddr_storage); + + // Convert to sockaddr for next check. + if (!IPEndPoint(ip_address, 0) + .ToSockAddr(reinterpret_cast<sockaddr*>(&sock_addrs[0]), + &sock_len)) { + return false; + } + interfaces->ifa_addr = reinterpret_cast<sockaddr*>(&sock_addrs[0]); + + sock_len = sizeof(sockaddr_storage); + if (!IPEndPoint(ip_netmask, 0) + .ToSockAddr(reinterpret_cast<sockaddr*>(&sock_addrs[1]), + &sock_len)) { + return false; + } + interfaces->ifa_netmask = reinterpret_cast<sockaddr*>(&sock_addrs[1]); + + return true; +} + +static const char kIfnameEm1[] = "em1"; +static const char kIfnameVmnet[] = "vmnet"; + +static const unsigned char kIPv6LocalAddr[] = {0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1}; + +// The following 3 addresses need to be changed together. IPv6Addr is the IPv6 +// address. IPv6Netmask is the mask address with as many leading bits set to 1 +// as the prefix length. IPv6AddrPrefix needs to match IPv6Addr with the same +// number of bits as the prefix length. +static const unsigned char kIPv6Addr[] = {0x24, 0x01, 0xfa, 0x00, 0x00, 0x04, + 0x10, 0x00, 0xbe, 0x30, 0x5b, 0xff, + 0xfe, 0xe5, 0x00, 0xc3}; + +static const unsigned char kIPv6Netmask[] = {0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00}; + +TEST(NetworkInterfacesTest, IfaddrsToNetworkInterfaceList) { + IPAddress ipv6_local_address(kIPv6LocalAddr); + IPAddress ipv6_address(kIPv6Addr); + IPAddress ipv6_netmask(kIPv6Netmask); + + NetworkInterfaceList results; + IPAttributesGetterTest ip_attributes_getter; + sockaddr_storage addresses[2]; + ifaddrs interface; + + // Address of offline links should be ignored. + ASSERT_TRUE(FillIfaddrs(&interface, kIfnameEm1, IFF_UP, ipv6_address, + ipv6_netmask, addresses)); + EXPECT_TRUE(internal::IfaddrsToNetworkInterfaceList( + INCLUDE_HOST_SCOPE_VIRTUAL_INTERFACES, &interface, &ip_attributes_getter, + &results)); + EXPECT_EQ(results.size(), 0ul); + + // Local address should be trimmed out. + ASSERT_TRUE(FillIfaddrs(&interface, kIfnameEm1, IFF_RUNNING, + ipv6_local_address, ipv6_netmask, addresses)); + EXPECT_TRUE(internal::IfaddrsToNetworkInterfaceList( + INCLUDE_HOST_SCOPE_VIRTUAL_INTERFACES, &interface, &ip_attributes_getter, + &results)); + EXPECT_EQ(results.size(), 0ul); + + // vmware address should return by default. + ASSERT_TRUE(FillIfaddrs(&interface, kIfnameVmnet, IFF_RUNNING, ipv6_address, + ipv6_netmask, addresses)); + EXPECT_TRUE(internal::IfaddrsToNetworkInterfaceList( + INCLUDE_HOST_SCOPE_VIRTUAL_INTERFACES, &interface, &ip_attributes_getter, + &results)); + EXPECT_EQ(results.size(), 1ul); + EXPECT_EQ(results[0].name, kIfnameVmnet); + EXPECT_EQ(results[0].prefix_length, 1ul); + EXPECT_EQ(results[0].address, ipv6_address); + results.clear(); + + // vmware address should be trimmed out if policy specified so. + ASSERT_TRUE(FillIfaddrs(&interface, kIfnameVmnet, IFF_RUNNING, ipv6_address, + ipv6_netmask, addresses)); + EXPECT_TRUE(internal::IfaddrsToNetworkInterfaceList( + EXCLUDE_HOST_SCOPE_VIRTUAL_INTERFACES, &interface, &ip_attributes_getter, + &results)); + EXPECT_EQ(results.size(), 0ul); + results.clear(); + + // Addresses with banned attributes should be ignored. + ip_attributes_getter.set_attributes(IP_ADDRESS_ATTRIBUTE_ANYCAST); + ASSERT_TRUE(FillIfaddrs(&interface, kIfnameEm1, IFF_RUNNING, ipv6_address, + ipv6_netmask, addresses)); + EXPECT_TRUE(internal::IfaddrsToNetworkInterfaceList( + INCLUDE_HOST_SCOPE_VIRTUAL_INTERFACES, &interface, &ip_attributes_getter, + &results)); + EXPECT_EQ(results.size(), 0ul); + results.clear(); + + // Addresses with allowed attribute IFA_F_TEMPORARY should be returned and + // attributes should be translated correctly. + ip_attributes_getter.set_attributes(IP_ADDRESS_ATTRIBUTE_TEMPORARY); + ASSERT_TRUE(FillIfaddrs(&interface, kIfnameEm1, IFF_RUNNING, ipv6_address, + ipv6_netmask, addresses)); + EXPECT_TRUE(internal::IfaddrsToNetworkInterfaceList( + INCLUDE_HOST_SCOPE_VIRTUAL_INTERFACES, &interface, &ip_attributes_getter, + &results)); + EXPECT_EQ(results.size(), 1ul); + EXPECT_EQ(results[0].name, kIfnameEm1); + EXPECT_EQ(results[0].prefix_length, 1ul); + EXPECT_EQ(results[0].address, ipv6_address); + EXPECT_EQ(results[0].ip_address_attributes, IP_ADDRESS_ATTRIBUTE_TEMPORARY); + results.clear(); + + // Addresses with allowed attribute IFA_F_DEPRECATED should be returned and + // attributes should be translated correctly. + ip_attributes_getter.set_attributes(IP_ADDRESS_ATTRIBUTE_DEPRECATED); + ASSERT_TRUE(FillIfaddrs(&interface, kIfnameEm1, IFF_RUNNING, ipv6_address, + ipv6_netmask, addresses)); + EXPECT_TRUE(internal::IfaddrsToNetworkInterfaceList( + INCLUDE_HOST_SCOPE_VIRTUAL_INTERFACES, &interface, &ip_attributes_getter, + &results)); + EXPECT_EQ(results.size(), 1ul); + EXPECT_EQ(results[0].name, kIfnameEm1); + EXPECT_EQ(results[0].prefix_length, 1ul); + EXPECT_EQ(results[0].address, ipv6_address); + EXPECT_EQ(results[0].ip_address_attributes, IP_ADDRESS_ATTRIBUTE_DEPRECATED); + results.clear(); +} + +} // namespace +} // namespace net
diff --git a/net/base/network_interfaces_linux.cc b/net/base/network_interfaces_linux.cc index 1e506df..dfe2899 100644 --- a/net/base/network_interfaces_linux.cc +++ b/net/base/network_interfaces_linux.cc
@@ -103,7 +103,7 @@ std::string GetInterfaceSSID(const std::string& ifname) { base::ScopedFD ioctl_socket = GetSocketForIoctl(); if (!ioctl_socket.is_valid()) - return ""; + return std::string(); struct iwreq wreq = {}; strncpy(wreq.ifr_name, ifname.c_str(), IFNAMSIZ - 1); @@ -112,7 +112,7 @@ wreq.u.essid.length = IW_ESSID_MAX_SIZE; if (ioctl(ioctl_socket.get(), SIOCGIWESSID, &wreq) != -1) return ssid; - return ""; + return std::string(); } bool GetNetworkListImpl( @@ -190,12 +190,12 @@ std::string connected_ssid; for (size_t i = 0; i < interfaces.size(); ++i) { if (interfaces[i].type != NetworkChangeNotifier::CONNECTION_WIFI) - return ""; + return std::string(); std::string ssid = get_interface_ssid(interfaces[i].name); if (i == 0) { connected_ssid = ssid; } else if (ssid != connected_ssid) { - return ""; + return std::string(); } } return connected_ssid; @@ -232,7 +232,7 @@ return internal::GetWifiSSIDFromInterfaceListInternal( networks, internal::GetInterfaceSSID); } - return ""; + return std::string(); } } // namespace net
diff --git a/net/base/network_interfaces_mac.cc b/net/base/network_interfaces_mac.cc deleted file mode 100644 index 8a6e482..0000000 --- a/net/base/network_interfaces_mac.cc +++ /dev/null
@@ -1,252 +0,0 @@ -// Copyright (c) 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "net/base/network_interfaces_mac.h" - -#include <ifaddrs.h> -#include <net/if.h> -#include <netinet/in.h> -#include <sys/types.h> - -#include <memory> -#include <set> - -#include "base/files/file_path.h" -#include "base/logging.h" -#include "base/strings/string_number_conversions.h" -#include "base/strings/string_tokenizer.h" -#include "base/strings/string_util.h" -#include "base/threading/thread_restrictions.h" -#include "net/base/escape.h" -#include "net/base/ip_endpoint.h" -#include "net/base/net_errors.h" -#include "net/base/network_interfaces_posix.h" -#include "url/gurl.h" - -#if !defined(OS_IOS) -#include <net/if_media.h> -#include <netinet/in_var.h> -#include <sys/ioctl.h> -#endif // !OS_IOS - -namespace net { - -namespace { - -#if !defined(OS_IOS) - -// MacOSX implementation of IPAttributesGetterMac which calls ioctl on socket to -// retrieve IP attributes. -class IPAttributesGetterMacImpl : public internal::IPAttributesGetterMac { - public: - IPAttributesGetterMacImpl(); - ~IPAttributesGetterMacImpl() override; - bool IsInitialized() const override; - bool GetIPAttributes(const char* ifname, - const sockaddr* sock_addr, - int* native_attributes) override; - - private: - int ioctl_socket_; -}; - -IPAttributesGetterMacImpl::IPAttributesGetterMacImpl() - : ioctl_socket_(socket(AF_INET6, SOCK_DGRAM, 0)) { - DCHECK_GE(ioctl_socket_, 0); -} - -bool IPAttributesGetterMacImpl::IsInitialized() const { - return ioctl_socket_ >= 0; -} - -IPAttributesGetterMacImpl::~IPAttributesGetterMacImpl() { - if (ioctl_socket_ >= 0) { - close(ioctl_socket_); - } -} - -bool IPAttributesGetterMacImpl::GetIPAttributes(const char* ifname, - const sockaddr* sock_addr, - int* native_attributes) { - struct in6_ifreq ifr = {}; - strncpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name) - 1); - memcpy(&ifr.ifr_ifru.ifru_addr, sock_addr, sock_addr->sa_len); - int rv = ioctl(ioctl_socket_, SIOCGIFAFLAG_IN6, &ifr); - if (rv >= 0) { - *native_attributes = ifr.ifr_ifru.ifru_flags; - } - return (rv >= 0); -} - -// When returning true, the platform native IPv6 address attributes were -// successfully converted to net IP address attributes. Otherwise, returning -// false and the caller should drop the IP address which can't be used by the -// application layer. -bool TryConvertNativeToNetIPAttributes(int native_attributes, - int* net_attributes) { - // For MacOSX, we disallow addresses with attributes IN6_IFF_ANYCASE, - // IN6_IFF_DUPLICATED, IN6_IFF_TENTATIVE, and IN6_IFF_DETACHED as these are - // still progressing through duplicated address detection (DAD) or are not - // suitable to be used in an one-to-one communication and shouldn't be used - // by the application layer. - if (native_attributes & (IN6_IFF_ANYCAST | IN6_IFF_DUPLICATED | - IN6_IFF_TENTATIVE | IN6_IFF_DETACHED)) { - return false; - } - - if (native_attributes & IN6_IFF_TEMPORARY) { - *net_attributes |= IP_ADDRESS_ATTRIBUTE_TEMPORARY; - } - - if (native_attributes & IN6_IFF_DEPRECATED) { - *net_attributes |= IP_ADDRESS_ATTRIBUTE_DEPRECATED; - } - - return true; -} - -NetworkChangeNotifier::ConnectionType GetNetworkInterfaceType( - int addr_family, - const std::string& interface_name) { - NetworkChangeNotifier::ConnectionType type = - NetworkChangeNotifier::CONNECTION_UNKNOWN; - - struct ifmediareq ifmr = {}; - strncpy(ifmr.ifm_name, interface_name.c_str(), sizeof(ifmr.ifm_name) - 1); - - int s = socket(addr_family, SOCK_DGRAM, 0); - if (s == -1) { - return type; - } - - if (ioctl(s, SIOCGIFMEDIA, &ifmr) != -1) { - if (ifmr.ifm_current & IFM_IEEE80211) { - type = NetworkChangeNotifier::CONNECTION_WIFI; - } else if (ifmr.ifm_current & IFM_ETHER) { - type = NetworkChangeNotifier::CONNECTION_ETHERNET; - } - } - close(s); - return type; -} - -#endif // !OS_IOS -} // namespace - -namespace internal { - -bool GetNetworkListImpl(NetworkInterfaceList* networks, - int policy, - const ifaddrs* interfaces, - IPAttributesGetterMac* ip_attributes_getter) { - // Enumerate the addresses assigned to network interfaces which are up. - for (const ifaddrs* interface = interfaces; interface != NULL; - interface = interface->ifa_next) { - // Skip loopback interfaces, and ones which are down. - if (!(IFF_RUNNING & interface->ifa_flags)) - continue; - if (IFF_LOOPBACK & interface->ifa_flags) - continue; - // Skip interfaces with no address configured. - struct sockaddr* addr = interface->ifa_addr; - if (!addr) - continue; - - // Skip unspecified addresses (i.e. made of zeroes) and loopback addresses - // configured on non-loopback interfaces. - if (IsLoopbackOrUnspecifiedAddress(addr)) - continue; - - const std::string& name = interface->ifa_name; - // Filter out VMware interfaces, typically named vmnet1 and vmnet8. - if (ShouldIgnoreInterface(name, policy)) { - continue; - } - - NetworkChangeNotifier::ConnectionType connection_type = - NetworkChangeNotifier::CONNECTION_UNKNOWN; - - int ip_attributes = IP_ADDRESS_ATTRIBUTE_NONE; - -#if !defined(OS_IOS) - // Retrieve native ip attributes and convert to net version if a getter is - // given. - if (ip_attributes_getter && ip_attributes_getter->IsInitialized()) { - int native_attributes = 0; - if (addr->sa_family == AF_INET6 && - ip_attributes_getter->GetIPAttributes( - interface->ifa_name, interface->ifa_addr, &native_attributes)) { - if (!TryConvertNativeToNetIPAttributes(native_attributes, - &ip_attributes)) { - continue; - } - } - } - - connection_type = GetNetworkInterfaceType(addr->sa_family, name); -#endif // !OS_IOS - - IPEndPoint address; - - int addr_size = 0; - if (addr->sa_family == AF_INET6) { - addr_size = sizeof(sockaddr_in6); - } else if (addr->sa_family == AF_INET) { - addr_size = sizeof(sockaddr_in); - } - - if (address.FromSockAddr(addr, addr_size)) { - uint8_t prefix_length = 0; - if (interface->ifa_netmask) { - // If not otherwise set, assume the same sa_family as ifa_addr. - if (interface->ifa_netmask->sa_family == 0) { - interface->ifa_netmask->sa_family = addr->sa_family; - } - IPEndPoint netmask; - if (netmask.FromSockAddr(interface->ifa_netmask, addr_size)) { - prefix_length = MaskPrefixLength(netmask.address()); - } - } - networks->push_back(NetworkInterface( - name, name, if_nametoindex(name.c_str()), connection_type, - address.address(), prefix_length, ip_attributes)); - } - } - - return true; -} - -} // namespace internal - -bool GetNetworkList(NetworkInterfaceList* networks, int policy) { - if (networks == NULL) - return false; - - // getifaddrs() may require IO operations. - base::ThreadRestrictions::AssertIOAllowed(); - - ifaddrs* interfaces; - if (getifaddrs(&interfaces) < 0) { - PLOG(ERROR) << "getifaddrs"; - return false; - } - - std::unique_ptr<internal::IPAttributesGetterMac> ip_attributes_getter; - -#if !defined(OS_IOS) - ip_attributes_getter.reset(new IPAttributesGetterMacImpl()); -#endif - - bool result = internal::GetNetworkListImpl(networks, policy, interfaces, - ip_attributes_getter.get()); - freeifaddrs(interfaces); - return result; -} - -std::string GetWifiSSID() { - NOTIMPLEMENTED(); - return ""; -} - -} // namespace net
diff --git a/net/base/network_interfaces_mac.h b/net/base/network_interfaces_mac.h deleted file mode 100644 index 096134c..0000000 --- a/net/base/network_interfaces_mac.h +++ /dev/null
@@ -1,42 +0,0 @@ -// Copyright (c) 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef NET_BASE_NETWORK_INTERFACES_MAC_H_ -#define NET_BASE_NETWORK_INTERFACES_MAC_H_ - -// This file is only used to expose some of the internals -// of network_interfaces_mac.cc to tests. - -#include "base/macros.h" -#include "net/base/net_export.h" -#include "net/base/network_interfaces.h" - -struct ifaddrs; -struct sockaddr; - -namespace net { -namespace internal { - -class NET_EXPORT IPAttributesGetterMac { - public: - IPAttributesGetterMac() {} - virtual ~IPAttributesGetterMac() {} - virtual bool IsInitialized() const = 0; - virtual bool GetIPAttributes(const char* ifname, - const sockaddr* sock_addr, - int* native_attributes) = 0; - - private: - DISALLOW_COPY_AND_ASSIGN(IPAttributesGetterMac); -}; - -NET_EXPORT bool GetNetworkListImpl(NetworkInterfaceList* networks, - int policy, - const ifaddrs* interfaces, - IPAttributesGetterMac* ip_attributes_getter); - -} // namespace internal -} // namespace net - -#endif // NET_BASE_NETWORK_INTERFACES_MAC_H_
diff --git a/net/base/network_interfaces_nacl.cc b/net/base/network_interfaces_nacl.cc new file mode 100644 index 0000000..b25ca24 --- /dev/null +++ b/net/base/network_interfaces_nacl.cc
@@ -0,0 +1,27 @@ +// 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 "net/base/network_interfaces.h" + +namespace net { + +bool GetNetworkList(NetworkInterfaceList* networks, int policy) { + NOTIMPLEMENTED(); + return false; +} + +std::string GetWifiSSID() { + NOTIMPLEMENTED(); + return std::string(); +} + +WifiPHYLayerProtocol GetWifiPHYLayerProtocol() { + return WIFI_PHY_LAYER_PROTOCOL_UNKNOWN; +} + +std::unique_ptr<ScopedWifiOptions> SetWifiOptions(int options) { + return nullptr; +} + +} // namespace net
diff --git a/net/base/network_interfaces_posix.cc b/net/base/network_interfaces_posix.cc index 37f2d59..cb7c61c 100644 --- a/net/base/network_interfaces_posix.cc +++ b/net/base/network_interfaces_posix.cc
@@ -1,23 +1,19 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright 2015 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "net/base/network_interfaces.h" +#include "net/base/network_interfaces_posix.h" +#include <net/if.h> +#include <netinet/in.h> #include <sys/types.h> #include <memory> #include <set> -#if !defined(OS_NACL) -#include "net/base/network_interfaces_posix.h" -#include <net/if.h> -#include <netinet/in.h> -#endif // !defined(OS_NACL) +#include "net/base/network_interfaces.h" namespace net { - -#if !defined(OS_NACL) namespace internal { // The application layer can pass |policy| defined in net_util.h to @@ -58,25 +54,13 @@ } } // namespace internal -#else // OS_NACL -bool GetNetworkList(NetworkInterfaceList* networks, int policy) { - NOTIMPLEMENTED(); - return false; -} - -std::string GetWifiSSID() { - NOTIMPLEMENTED(); - return ""; -} -#endif // OS_NACL WifiPHYLayerProtocol GetWifiPHYLayerProtocol() { return WIFI_PHY_LAYER_PROTOCOL_UNKNOWN; } std::unique_ptr<ScopedWifiOptions> SetWifiOptions(int options) { - return std::unique_ptr<ScopedWifiOptions>(); + return nullptr; } - } // namespace net
diff --git a/net/base/network_interfaces_posix.h b/net/base/network_interfaces_posix.h index 3fe4977..9a2bc40 100644 --- a/net/base/network_interfaces_posix.h +++ b/net/base/network_interfaces_posix.h
@@ -1,12 +1,12 @@ -// Copyright (c) 2014 The Chromium Authors. All rights reserved. +// Copyright 2015 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef NET_BASE_NETWORK_INTERFACES_POSIX_H_ #define NET_BASE_NETWORK_INTERFACES_POSIX_H_ -// This file is only used to expose some of the internals of -// network_interfaces_posix.cc to network_interfaces_linux.cc and network_interfaces_mac.cc. +// This file provides some basic functionality shared between +// network_interfaces_linux.cc and network_interfaces_getifaddrs.cc. #include <string> @@ -14,10 +14,9 @@ namespace net { namespace internal { -#if !defined(OS_NACL) + bool ShouldIgnoreInterface(const std::string& name, int policy); bool IsLoopbackOrUnspecifiedAddress(const sockaddr* addr); -#endif // !OS_NACL } // namespace internal } // namespace net
diff --git a/net/base/network_interfaces_unittest.cc b/net/base/network_interfaces_unittest.cc index 754a902a..7882d99 100644 --- a/net/base/network_interfaces_unittest.cc +++ b/net/base/network_interfaces_unittest.cc
@@ -16,12 +16,6 @@ #if !defined(OS_NACL) && !defined(OS_WIN) #include <net/if.h> #include <netinet/in.h> -#if defined(OS_MACOSX) -#include <ifaddrs.h> -#if !defined(OS_IOS) -#include <netinet/in_var.h> -#endif // !OS_IOS -#endif // OS_MACOSX #endif // !OS_NACL && !OS_WIN #if defined(OS_WIN) @@ -29,19 +23,17 @@ #include <objbase.h> #endif // OS_WIN -#if !defined(OS_MACOSX) && !defined(OS_NACL) && !defined(OS_WIN) +#if defined(OS_LINUX) || defined(OS_ANDROID) #include "net/base/address_tracker_linux.h" -#endif // !OS_MACOSX && !OS_NACL && !OS_WIN +#endif // OS_LINUX || OS_ANDROID #if defined(OS_WIN) #include "net/base/network_interfaces_win.h" #else // OS_WIN #include "net/base/network_interfaces_posix.h" -#if defined(OS_MACOSX) -#include "net/base/network_interfaces_mac.h" -#else // OS_MACOSX +#if defined(OS_LINUX) || defined(OS_ANDROID) #include "net/base/network_interfaces_linux.h" -#endif // OS_MACOSX +#endif // OS_LINUX || OS_ANDROID #endif // OS_WIN namespace net { @@ -57,58 +49,6 @@ } #endif -#if defined(OS_MACOSX) -class IPAttributesGetterTest : public internal::IPAttributesGetterMac { - public: - IPAttributesGetterTest() : native_attributes_(0) {} - bool IsInitialized() const override { return true; } - bool GetIPAttributes(const char* ifname, - const sockaddr* sock_addr, - int* native_attributes) override { - *native_attributes = native_attributes_; - return true; - } - void set_native_attributes(int native_attributes) { - native_attributes_ = native_attributes; - } - - private: - int native_attributes_; -}; - -// Helper function to create a single valid ifaddrs -bool FillIfaddrs(ifaddrs* interfaces, - const char* ifname, - uint flags, - const IPAddress& ip_address, - const IPAddress& ip_netmask, - sockaddr_storage sock_addrs[2]) { - interfaces->ifa_next = NULL; - interfaces->ifa_name = const_cast<char*>(ifname); - interfaces->ifa_flags = flags; - - socklen_t sock_len = sizeof(sockaddr_storage); - - // Convert to sockaddr for next check. - if (!IPEndPoint(ip_address, 0) - .ToSockAddr(reinterpret_cast<sockaddr*>(&sock_addrs[0]), - &sock_len)) { - return false; - } - interfaces->ifa_addr = reinterpret_cast<sockaddr*>(&sock_addrs[0]); - - sock_len = sizeof(sockaddr_storage); - if (!IPEndPoint(ip_netmask, 0) - .ToSockAddr(reinterpret_cast<sockaddr*>(&sock_addrs[1]), - &sock_len)) { - return false; - } - interfaces->ifa_netmask = reinterpret_cast<sockaddr*>(&sock_addrs[1]); - - return true; -} -#endif // OS_MACOSX - // Verify GetNetworkList(). TEST(NetworkInterfacesTest, GetNetworkList) { NetworkInterfaceList list; @@ -150,35 +90,15 @@ } } -static const char ifname_em1[] = "em1"; -#if defined(OS_WIN) -static const char ifname_vm[] = "VMnet"; -#else -static const char ifname_vm[] = "vmnet"; -#endif // OS_WIN +#if defined(OS_LINUX) || defined(OS_ANDROID) -static const unsigned char kIPv6LocalAddr[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}; - -// The following 3 addresses need to be changed together. IPv6Addr is the IPv6 -// address. IPv6Netmask is the mask address with as many leading bits set to 1 -// as the prefix length. IPv6AddrPrefix needs to match IPv6Addr with the same -// number of bits as the prefix length. -static const unsigned char kIPv6Addr[] = - {0x24, 0x01, 0xfa, 0x00, 0x00, 0x04, 0x10, 0x00, 0xbe, 0x30, 0x5b, 0xff, - 0xfe, 0xe5, 0x00, 0xc3}; -#if defined(OS_WIN) -static const unsigned char kIPv6AddrPrefix[] = - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00}; -#endif // OS_WIN -#if defined(OS_MACOSX) -static const unsigned char kIPv6Netmask[] = - {0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00}; -#endif // OS_MACOSX - -#if !defined(OS_MACOSX) && !defined(OS_WIN) && !defined(OS_NACL) +static const char kIfnameEm1[] = "em1"; +static const char kIfnameVmnet[] = "vmnet"; +static const unsigned char kIPv6LocalAddr[] = {0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1}; +static const unsigned char kIPv6Addr[] = {0x24, 0x01, 0xfa, 0x00, 0x00, 0x04, + 0x10, 0x00, 0xbe, 0x30, 0x5b, 0xff, + 0xfe, 0xe5, 0x00, 0xc3}; char* CopyInterfaceName(const char* ifname, int ifname_size, char* output) { EXPECT_LT(ifname_size, IF_NAMESIZE); @@ -187,14 +107,14 @@ } char* GetInterfaceName(int interface_index, char* ifname) { - return CopyInterfaceName(ifname_em1, arraysize(ifname_em1), ifname); + return CopyInterfaceName(kIfnameEm1, arraysize(kIfnameEm1), ifname); } char* GetInterfaceNameVM(int interface_index, char* ifname) { - return CopyInterfaceName(ifname_vm, arraysize(ifname_vm), ifname); + return CopyInterfaceName(kIfnameVmnet, arraysize(kIfnameVmnet), ifname); } -TEST(NetworkInterfacesTest, GetNetworkListTrimming) { +TEST(NetworkInterfacesTest, NetworkListTrimmingLinux) { IPAddress ipv6_local_address(kIPv6LocalAddr); IPAddress ipv6_address(kIPv6Addr); @@ -204,11 +124,11 @@ // Interface 1 is offline. struct ifaddrmsg msg = { - AF_INET6, - 1, /* prefix length */ - IFA_F_TEMPORARY, /* address flags */ - 0, /* link scope */ - 1 /* link index */ + AF_INET6, // Address type + 1, // Prefix length + IFA_F_TEMPORARY, // Address flags + 0, // Link scope + 1 // Link index }; // Address of offline links should be ignored. @@ -237,7 +157,7 @@ &results, INCLUDE_HOST_SCOPE_VIRTUAL_INTERFACES, online_links, address_map, GetInterfaceNameVM)); EXPECT_EQ(results.size(), 1ul); - EXPECT_EQ(results[0].name, ifname_vm); + EXPECT_EQ(results[0].name, kIfnameVmnet); EXPECT_EQ(results[0].prefix_length, 1ul); EXPECT_EQ(results[0].address, ipv6_address); results.clear(); @@ -270,7 +190,7 @@ &results, INCLUDE_HOST_SCOPE_VIRTUAL_INTERFACES, online_links, address_map, GetInterfaceName)); EXPECT_EQ(results.size(), 1ul); - EXPECT_EQ(results[0].name, ifname_em1); + EXPECT_EQ(results[0].name, kIfnameEm1); EXPECT_EQ(results[0].prefix_length, 1ul); EXPECT_EQ(results[0].address, ipv6_address); EXPECT_EQ(results[0].ip_address_attributes, IP_ADDRESS_ATTRIBUTE_TEMPORARY); @@ -285,105 +205,27 @@ &results, INCLUDE_HOST_SCOPE_VIRTUAL_INTERFACES, online_links, address_map, GetInterfaceName)); EXPECT_EQ(results.size(), 1ul); - EXPECT_EQ(results[0].name, ifname_em1); + EXPECT_EQ(results[0].name, kIfnameEm1); EXPECT_EQ(results[0].prefix_length, 1ul); EXPECT_EQ(results[0].address, ipv6_address); EXPECT_EQ(results[0].ip_address_attributes, IP_ADDRESS_ATTRIBUTE_DEPRECATED); results.clear(); } -#elif defined(OS_MACOSX) +#elif defined(OS_WIN) // !OS_LINUX || OS_ANDROID -TEST(NetworkInterfacesTest, GetNetworkListTrimming) { - IPAddress ipv6_local_address(kIPv6LocalAddr); - IPAddress ipv6_address(kIPv6Addr); - IPAddress ipv6_netmask(kIPv6Netmask); +static const char kIfnameEm1[] = "em1"; +static const char kIfnameVmnet[] = "VMnet"; - NetworkInterfaceList results; - IPAttributesGetterTest ip_attributes_getter; - sockaddr_storage addresses[2]; - ifaddrs interface; +static const unsigned char kIPv6LocalAddr[] = {0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1}; - // Address of offline links should be ignored. - ASSERT_TRUE(FillIfaddrs(&interface, ifname_em1, IFF_UP, ipv6_address, - ipv6_netmask, addresses)); - EXPECT_TRUE(internal::GetNetworkListImpl( - &results, INCLUDE_HOST_SCOPE_VIRTUAL_INTERFACES, &interface, - &ip_attributes_getter)); - EXPECT_EQ(results.size(), 0ul); - - // Local address should be trimmed out. - ASSERT_TRUE(FillIfaddrs(&interface, ifname_em1, IFF_RUNNING, - ipv6_local_address, ipv6_netmask, addresses)); - EXPECT_TRUE(internal::GetNetworkListImpl( - &results, INCLUDE_HOST_SCOPE_VIRTUAL_INTERFACES, &interface, - &ip_attributes_getter)); - EXPECT_EQ(results.size(), 0ul); - - // vmware address should return by default. - ASSERT_TRUE(FillIfaddrs(&interface, ifname_vm, IFF_RUNNING, ipv6_address, - ipv6_netmask, addresses)); - EXPECT_TRUE(internal::GetNetworkListImpl( - &results, INCLUDE_HOST_SCOPE_VIRTUAL_INTERFACES, &interface, - &ip_attributes_getter)); - EXPECT_EQ(results.size(), 1ul); - EXPECT_EQ(results[0].name, ifname_vm); - EXPECT_EQ(results[0].prefix_length, 1ul); - EXPECT_EQ(results[0].address, ipv6_address); - results.clear(); - - // vmware address should be trimmed out if policy specified so. - ASSERT_TRUE(FillIfaddrs(&interface, ifname_vm, IFF_RUNNING, ipv6_address, - ipv6_netmask, addresses)); - EXPECT_TRUE(internal::GetNetworkListImpl( - &results, EXCLUDE_HOST_SCOPE_VIRTUAL_INTERFACES, &interface, - &ip_attributes_getter)); - EXPECT_EQ(results.size(), 0ul); - results.clear(); - -#if !defined(OS_IOS) - // Addresses with banned attributes should be ignored. - ip_attributes_getter.set_native_attributes(IN6_IFF_ANYCAST); - ASSERT_TRUE(FillIfaddrs(&interface, ifname_em1, IFF_RUNNING, ipv6_address, - ipv6_netmask, addresses)); - EXPECT_TRUE(internal::GetNetworkListImpl( - &results, INCLUDE_HOST_SCOPE_VIRTUAL_INTERFACES, &interface, - &ip_attributes_getter)); - EXPECT_EQ(results.size(), 0ul); - results.clear(); - - // Addresses with allowed attribute IFA_F_TEMPORARY should be returned and - // attributes should be translated correctly. - ip_attributes_getter.set_native_attributes(IN6_IFF_TEMPORARY); - ASSERT_TRUE(FillIfaddrs(&interface, ifname_em1, IFF_RUNNING, ipv6_address, - ipv6_netmask, addresses)); - EXPECT_TRUE(internal::GetNetworkListImpl( - &results, INCLUDE_HOST_SCOPE_VIRTUAL_INTERFACES, &interface, - &ip_attributes_getter)); - EXPECT_EQ(results.size(), 1ul); - EXPECT_EQ(results[0].name, ifname_em1); - EXPECT_EQ(results[0].prefix_length, 1ul); - EXPECT_EQ(results[0].address, ipv6_address); - EXPECT_EQ(results[0].ip_address_attributes, IP_ADDRESS_ATTRIBUTE_TEMPORARY); - results.clear(); - - // Addresses with allowed attribute IFA_F_DEPRECATED should be returned and - // attributes should be translated correctly. - ip_attributes_getter.set_native_attributes(IN6_IFF_DEPRECATED); - ASSERT_TRUE(FillIfaddrs(&interface, ifname_em1, IFF_RUNNING, ipv6_address, - ipv6_netmask, addresses)); - EXPECT_TRUE(internal::GetNetworkListImpl( - &results, INCLUDE_HOST_SCOPE_VIRTUAL_INTERFACES, &interface, - &ip_attributes_getter)); - EXPECT_EQ(results.size(), 1ul); - EXPECT_EQ(results[0].name, ifname_em1); - EXPECT_EQ(results[0].prefix_length, 1ul); - EXPECT_EQ(results[0].address, ipv6_address); - EXPECT_EQ(results[0].ip_address_attributes, IP_ADDRESS_ATTRIBUTE_DEPRECATED); - results.clear(); -#endif // !OS_IOS -} -#elif defined(OS_WIN) // !OS_MACOSX && !OS_WIN && !OS_NACL +static const unsigned char kIPv6Addr[] = {0x24, 0x01, 0xfa, 0x00, 0x00, 0x04, + 0x10, 0x00, 0xbe, 0x30, 0x5b, 0xff, + 0xfe, 0xe5, 0x00, 0xc3}; +static const unsigned char kIPv6AddrPrefix[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; // Helper function to create a valid IP_ADAPTER_ADDRESSES with reasonable // default value. The output is the |adapter_address|. All the rests are input @@ -439,7 +281,7 @@ return true; } -TEST(NetworkInterfacesTest, GetNetworkListTrimming) { +TEST(NetworkInterfacesTest, NetworkListTrimmingWindows) { IPAddress ipv6_local_address(kIPv6LocalAddr); IPAddress ipv6_address(kIPv6Addr); IPAddress ipv6_prefix(kIPv6AddrPrefix); @@ -453,10 +295,8 @@ adapter_address.FirstPrefix = &adapter_prefix; // Address of offline links should be ignored. - ASSERT_TRUE(FillAdapterAddress( - &adapter_address /* adapter_address */, ifname_em1 /* ifname */, - ipv6_address /* ip_address */, ipv6_prefix /* ip_netmask */, - addresses /* sock_addrs */)); + ASSERT_TRUE(FillAdapterAddress(&adapter_address, kIfnameEm1, ipv6_address, + ipv6_prefix, addresses)); adapter_address.OperStatus = IfOperStatusDown; EXPECT_TRUE(internal::GetNetworkListImpl( @@ -465,10 +305,8 @@ EXPECT_EQ(results.size(), 0ul); // Address on loopback interface should be trimmed out. - ASSERT_TRUE(FillAdapterAddress( - &adapter_address /* adapter_address */, ifname_em1 /* ifname */, - ipv6_local_address /* ip_address */, ipv6_prefix /* ip_netmask */, - addresses /* sock_addrs */)); + ASSERT_TRUE(FillAdapterAddress(&adapter_address, kIfnameEm1, + ipv6_local_address, ipv6_prefix, addresses)); adapter_address.IfType = IF_TYPE_SOFTWARE_LOOPBACK; EXPECT_TRUE(internal::GetNetworkListImpl( @@ -476,34 +314,28 @@ EXPECT_EQ(results.size(), 0ul); // vmware address should return by default. - ASSERT_TRUE(FillAdapterAddress( - &adapter_address /* adapter_address */, ifname_vm /* ifname */, - ipv6_address /* ip_address */, ipv6_prefix /* ip_netmask */, - addresses /* sock_addrs */)); + ASSERT_TRUE(FillAdapterAddress(&adapter_address, kIfnameVmnet, ipv6_address, + ipv6_prefix, addresses)); EXPECT_TRUE(internal::GetNetworkListImpl( &results, INCLUDE_HOST_SCOPE_VIRTUAL_INTERFACES, &adapter_address)); EXPECT_EQ(results.size(), 1ul); - EXPECT_EQ(results[0].name, ifname_vm); + EXPECT_EQ(results[0].name, kIfnameVmnet); EXPECT_EQ(results[0].prefix_length, 1ul); EXPECT_EQ(results[0].address, ipv6_address); EXPECT_EQ(results[0].ip_address_attributes, IP_ADDRESS_ATTRIBUTE_NONE); results.clear(); // vmware address should be trimmed out if policy specified so. - ASSERT_TRUE(FillAdapterAddress( - &adapter_address /* adapter_address */, ifname_vm /* ifname */, - ipv6_address /* ip_address */, ipv6_prefix /* ip_netmask */, - addresses /* sock_addrs */)); + ASSERT_TRUE(FillAdapterAddress(&adapter_address, kIfnameVmnet, ipv6_address, + ipv6_prefix, addresses)); EXPECT_TRUE(internal::GetNetworkListImpl( &results, EXCLUDE_HOST_SCOPE_VIRTUAL_INTERFACES, &adapter_address)); EXPECT_EQ(results.size(), 0ul); results.clear(); - // Addresses with incompleted DAD should be ignored. - ASSERT_TRUE(FillAdapterAddress( - &adapter_address /* adapter_address */, ifname_em1 /* ifname */, - ipv6_address /* ip_address */, ipv6_prefix /* ip_netmask */, - addresses /* sock_addrs */)); + // Addresses with incomplete DAD should be ignored. + ASSERT_TRUE(FillAdapterAddress(&adapter_address, kIfnameEm1, ipv6_address, + ipv6_prefix, addresses)); adapter_address.FirstUnicastAddress->DadState = IpDadStateTentative; EXPECT_TRUE(internal::GetNetworkListImpl( @@ -514,10 +346,8 @@ // Addresses with allowed attribute IpSuffixOriginRandom should be returned // and attributes should be translated correctly to // IP_ADDRESS_ATTRIBUTE_TEMPORARY. - ASSERT_TRUE(FillAdapterAddress( - &adapter_address /* adapter_address */, ifname_em1 /* ifname */, - ipv6_address /* ip_address */, ipv6_prefix /* ip_netmask */, - addresses /* sock_addrs */)); + ASSERT_TRUE(FillAdapterAddress(&adapter_address, kIfnameEm1, ipv6_address, + ipv6_prefix, addresses)); adapter_address.FirstUnicastAddress->PrefixOrigin = IpPrefixOriginRouterAdvertisement; adapter_address.FirstUnicastAddress->SuffixOrigin = IpSuffixOriginRandom; @@ -525,7 +355,7 @@ EXPECT_TRUE(internal::GetNetworkListImpl( &results, INCLUDE_HOST_SCOPE_VIRTUAL_INTERFACES, &adapter_address)); EXPECT_EQ(results.size(), 1ul); - EXPECT_EQ(results[0].name, ifname_em1); + EXPECT_EQ(results[0].name, kIfnameEm1); EXPECT_EQ(results[0].prefix_length, 1ul); EXPECT_EQ(results[0].address, ipv6_address); EXPECT_EQ(results[0].ip_address_attributes, IP_ADDRESS_ATTRIBUTE_TEMPORARY); @@ -534,24 +364,22 @@ // Addresses with preferred lifetime 0 should be returned and // attributes should be translated correctly to // IP_ADDRESS_ATTRIBUTE_DEPRECATED. - ASSERT_TRUE(FillAdapterAddress( - &adapter_address /* adapter_address */, ifname_em1 /* ifname */, - ipv6_address /* ip_address */, ipv6_prefix /* ip_netmask */, - addresses /* sock_addrs */)); + ASSERT_TRUE(FillAdapterAddress(&adapter_address, kIfnameEm1, ipv6_address, + ipv6_prefix, addresses)); adapter_address.FirstUnicastAddress->PreferredLifetime = 0; adapter_address.FriendlyName = const_cast<PWCHAR>(L"FriendlyInterfaceName"); EXPECT_TRUE(internal::GetNetworkListImpl( &results, INCLUDE_HOST_SCOPE_VIRTUAL_INTERFACES, &adapter_address)); EXPECT_EQ(results.size(), 1ul); EXPECT_EQ(results[0].friendly_name, "FriendlyInterfaceName"); - EXPECT_EQ(results[0].name, ifname_em1); + EXPECT_EQ(results[0].name, kIfnameEm1); EXPECT_EQ(results[0].prefix_length, 1ul); EXPECT_EQ(results[0].address, ipv6_address); EXPECT_EQ(results[0].ip_address_attributes, IP_ADDRESS_ATTRIBUTE_DEPRECATED); results.clear(); } -#endif // !OS_MACOSX && !OS_WIN && !OS_NACL +#endif // OS_WIN TEST(NetworkInterfacesTest, GetWifiSSID) { // We can't check the result of GetWifiSSID() directly, since the result
diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc index 2eb58ee9..7f106673 100644 --- a/net/http/http_network_session.cc +++ b/net/http/http_network_session.cc
@@ -190,7 +190,6 @@ : QuicChromiumClock::GetInstance(), params.quic_max_packet_length, params.quic_user_agent_id, - params.quic_supported_versions, params.quic_max_server_configs_stored_in_properties > 0, params.quic_close_sessions_on_ip_change, params.mark_quic_broken_when_network_blackholes,
diff --git a/net/http/http_server_properties.h b/net/http/http_server_properties.h index 49787f6..7ff4e5a 100644 --- a/net/http/http_server_properties.h +++ b/net/http/http_server_properties.h
@@ -175,6 +175,12 @@ return alternative_service_; } + NextProto protocol() const { return alternative_service_.protocol; } + + HostPortPair host_port_pair() const { + return alternative_service_.host_port_pair(); + } + base::Time expiration() const { return expiration_; } const QuicVersionVector& advertised_versions() const {
diff --git a/net/http/http_stream_factory_impl_job.cc b/net/http/http_stream_factory_impl_job.cc index 700acdd..a92fc4f6 100644 --- a/net/http/http_stream_factory_impl_job.cc +++ b/net/http/http_stream_factory_impl_job.cc
@@ -162,6 +162,7 @@ HostPortPair destination, GURL origin_url, NextProto alternative_protocol, + QuicVersion quic_version, const ProxyServer& alternative_proxy_server, bool enable_ip_based_pooling, NetLog* net_log) @@ -188,6 +189,7 @@ using_quic_( alternative_protocol == kProtoQUIC || ShouldForceQuic(session, destination, origin_url, proxy_info)), + quic_version_(quic_version), expect_spdy_(alternative_protocol == kProtoHTTP2 && !using_quic_), using_spdy_(false), should_reconsider_proxy_(false), @@ -208,6 +210,16 @@ stream_type_(HttpStreamRequest::BIDIRECTIONAL_STREAM), init_connection_already_resumed_(false), ptr_factory_(this) { + // The Job is forced to use QUIC without a designated version, try the + // preferred QUIC version that is supported by default. + if (quic_version_ == QUIC_VERSION_UNSUPPORTED && + ShouldForceQuic(session, destination, origin_url, proxy_info)) { + quic_version_ = session->params().quic_supported_versions[0]; + } + + if (using_quic_) + DCHECK_NE(quic_version_, QUIC_VERSION_UNSUPPORTED); + DCHECK(session); if (alternative_protocol != kProtoUnknown) { // The job cannot have protocol requirements dictated by alternative service @@ -898,10 +910,10 @@ destination = destination_; ssl_config = &server_ssl_config_; } - int rv = - quic_request_.Request(destination, request_info_.privacy_mode, - ssl_config->GetCertVerifyFlags(), url, - request_info_.method, net_log_, io_callback_); + int rv = quic_request_.Request( + destination, quic_version_, request_info_.privacy_mode, + ssl_config->GetCertVerifyFlags(), url, request_info_.method, net_log_, + io_callback_); if (rv == OK) { using_existing_quic_session_ = true; } else { @@ -1466,7 +1478,8 @@ return base::MakeUnique<HttpStreamFactoryImpl::Job>( delegate, job_type, session, request_info, priority, proxy_info, server_ssl_config, proxy_ssl_config, destination, origin_url, - kProtoUnknown, ProxyServer(), enable_ip_based_pooling, net_log); + kProtoUnknown, QUIC_VERSION_UNSUPPORTED, ProxyServer(), + enable_ip_based_pooling, net_log); } std::unique_ptr<HttpStreamFactoryImpl::Job> @@ -1482,12 +1495,14 @@ HostPortPair destination, GURL origin_url, NextProto alternative_protocol, + QuicVersion quic_version, bool enable_ip_based_pooling, NetLog* net_log) { return base::MakeUnique<HttpStreamFactoryImpl::Job>( delegate, job_type, session, request_info, priority, proxy_info, server_ssl_config, proxy_ssl_config, destination, origin_url, - alternative_protocol, ProxyServer(), enable_ip_based_pooling, net_log); + alternative_protocol, quic_version, ProxyServer(), + enable_ip_based_pooling, net_log); } std::unique_ptr<HttpStreamFactoryImpl::Job> @@ -1508,8 +1523,8 @@ return base::MakeUnique<HttpStreamFactoryImpl::Job>( delegate, job_type, session, request_info, priority, proxy_info, server_ssl_config, proxy_ssl_config, destination, origin_url, - kProtoUnknown, alternative_proxy_server, enable_ip_based_pooling, - net_log); + kProtoUnknown, QUIC_VERSION_UNSUPPORTED, alternative_proxy_server, + enable_ip_based_pooling, net_log); } } // namespace net
diff --git a/net/http/http_stream_factory_impl_job.h b/net/http/http_stream_factory_impl_job.h index dbfa4d1..e47b789 100644 --- a/net/http/http_stream_factory_impl_job.h +++ b/net/http/http_stream_factory_impl_job.h
@@ -190,6 +190,7 @@ HostPortPair destination, GURL origin_url, NextProto alternative_protocol, + QuicVersion quic_version, const ProxyServer& alternative_proxy_server, bool enable_ip_based_pooling, NetLog* net_log); @@ -445,6 +446,10 @@ // True if Job uses QUIC. const bool using_quic_; + // QuicVersion that should be used to connect to the QUIC server if Job uses + // QUIC. + QuicVersion quic_version_; + // True if Alternative Service protocol field requires that HTTP/2 is used. // In this case, Job fails if it cannot pool to an existing SpdySession and // the server does not negotiate HTTP/2 on a new socket. @@ -536,6 +541,7 @@ HostPortPair destination, GURL origin_url, NextProto alternative_protocol, + QuicVersion quic_version, bool enable_ip_based_pooling, NetLog* net_log);
diff --git a/net/http/http_stream_factory_impl_job_controller.cc b/net/http/http_stream_factory_impl_job_controller.cc index 207a9c3..a5815ad 100644 --- a/net/http/http_stream_factory_impl_job_controller.cc +++ b/net/http/http_stream_factory_impl_job_controller.cc
@@ -805,25 +805,30 @@ GURL origin_url = ApplyHostMappingRules(request_info_.url, &destination); // Create an alternative job if alternative service is set up for this domain. - alternative_service_ = - GetAlternativeServiceInfoFor(request_info_, delegate_, stream_type_) - .alternative_service(); + alternative_service_info_ = + GetAlternativeServiceInfoFor(request_info_, delegate_, stream_type_); + QuicVersion quic_version = QUIC_VERSION_UNSUPPORTED; + if (alternative_service_info_.protocol() == kProtoQUIC) { + quic_version = + SelectQuicVersion(alternative_service_info_.advertised_versions()); + DCHECK_NE(quic_version, QUIC_VERSION_UNSUPPORTED); + } if (is_preconnect_) { // Due to how the socket pools handle priorities and idle sockets, only IDLE // priority currently makes sense for preconnects. The priority for // preconnects is currently ignored (see RequestSocketsForPool()), but could // be used at some point for proxy resolution or something. - if (alternative_service_.protocol != kProtoUnknown) { + if (alternative_service_info_.protocol() != kProtoUnknown) { HostPortPair alternative_destination( - alternative_service_.host_port_pair()); + alternative_service_info_.host_port_pair()); ignore_result( ApplyHostMappingRules(request_info_.url, &alternative_destination)); main_job_ = job_factory_->CreateAltSvcJob( this, PRECONNECT, session_, request_info_, IDLE, proxy_info_, server_ssl_config_, proxy_ssl_config_, alternative_destination, - origin_url, alternative_service_.protocol, enable_ip_based_pooling_, - session_->net_log()); + origin_url, alternative_service_info_.protocol(), quic_version, + enable_ip_based_pooling_, session_->net_log()); } else { main_job_ = job_factory_->CreateMainJob( this, PRECONNECT, session_, request_info_, IDLE, proxy_info_, @@ -839,23 +844,23 @@ enable_ip_based_pooling_, net_log_.net_log()); // Alternative Service can only be set for HTTPS requests while Alternative // Proxy is set for HTTP requests. - if (alternative_service_.protocol != kProtoUnknown) { + if (alternative_service_info_.protocol() != kProtoUnknown) { // Never share connection with other jobs for FTP requests. DVLOG(1) << "Selected alternative service (host: " - << alternative_service_.host_port_pair().host() - << " port: " << alternative_service_.host_port_pair().port() - << ")"; + << alternative_service_info_.host_port_pair().host() + << " port: " << alternative_service_info_.host_port_pair().port() + << " version: " << quic_version << ")"; DCHECK(!request_info_.url.SchemeIs(url::kFtpScheme)); - HostPortPair alternative_destination(alternative_service_.host_port_pair()); + HostPortPair alternative_destination( + alternative_service_info_.host_port_pair()); ignore_result( ApplyHostMappingRules(request_info_.url, &alternative_destination)); - alternative_job_ = job_factory_->CreateAltSvcJob( this, ALTERNATIVE, session_, request_info_, priority_, proxy_info_, server_ssl_config_, proxy_ssl_config_, alternative_destination, - origin_url, alternative_service_.protocol, enable_ip_based_pooling_, - net_log_.net_log()); + origin_url, alternative_service_info_.protocol(), quic_version, + enable_ip_based_pooling_, net_log_.net_log()); main_job_is_blocked_ = true; alternative_job_->Start(request_->stream_type()); @@ -983,7 +988,7 @@ int net_error) { DCHECK_EQ(alternative_job_->job_type(), ALTERNATIVE); DCHECK_NE(OK, net_error); - DCHECK_NE(kProtoUnknown, alternative_service_.protocol); + DCHECK_NE(kProtoUnknown, alternative_service_info_.protocol()); alternative_job_net_error_ = net_error; @@ -1011,7 +1016,7 @@ } void HttpStreamFactoryImpl::JobController::ReportBrokenAlternativeService() { - DCHECK(alternative_service_.protocol != kProtoUnknown); + DCHECK(alternative_service_info_.protocol() != kProtoUnknown); DCHECK_NE(OK, alternative_job_net_error_); int error_to_report = alternative_job_net_error_; @@ -1027,7 +1032,7 @@ HistogramBrokenAlternateProtocolLocation( BROKEN_ALTERNATE_PROTOCOL_LOCATION_HTTP_STREAM_FACTORY_IMPL_JOB_ALT); session_->http_server_properties()->MarkAlternativeServiceBroken( - alternative_service_); + alternative_service_info_.alternative_service()); } void HttpStreamFactoryImpl::JobController::MaybeNotifyFactoryOfCompletion() { @@ -1068,11 +1073,9 @@ AlternativeServiceInfo alternative_service_info = GetAlternativeServiceInfoInternal(request_info, delegate, stream_type); AlternativeServiceType type; - if (alternative_service_info.alternative_service().protocol == - kProtoUnknown) { + if (alternative_service_info.protocol() == kProtoUnknown) { type = NO_ALTERNATIVE_SERVICE; - } else if (alternative_service_info.alternative_service().protocol == - kProtoQUIC) { + } else if (alternative_service_info.protocol() == kProtoQUIC) { if (request_info.url.host_piece() == alternative_service_info.alternative_service().host) { type = QUIC_SAME_DESTINATION; @@ -1118,10 +1121,8 @@ for (const AlternativeServiceInfo& alternative_service_info : alternative_service_info_vector) { - DCHECK(IsAlternateProtocolValid( - alternative_service_info.alternative_service().protocol)); - if (!quic_advertised && - alternative_service_info.alternative_service().protocol == kProtoQUIC) + DCHECK(IsAlternateProtocolValid(alternative_service_info.protocol())); + if (!quic_advertised && alternative_service_info.protocol() == kProtoQUIC) quic_advertised = true; if (http_server_properties.IsAlternativeServiceBroken( alternative_service_info.alternative_service())) { @@ -1142,20 +1143,17 @@ origin.port() < kUnrestrictedPort)) continue; - if (alternative_service_info.alternative_service().protocol == - kProtoHTTP2) { + if (alternative_service_info.protocol() == kProtoHTTP2) { if (!session_->params().enable_http2_alternative_service) continue; // Cache this entry if we don't have a non-broken Alt-Svc yet. - if (first_alternative_service_info.alternative_service().protocol == - kProtoUnknown) + if (first_alternative_service_info.protocol() == kProtoUnknown) first_alternative_service_info = alternative_service_info; continue; } - DCHECK_EQ(kProtoQUIC, - alternative_service_info.alternative_service().protocol); + DCHECK_EQ(kProtoQUIC, alternative_service_info.protocol()); quic_all_broken = false; if (!session_->IsQuicEnabled()) continue; @@ -1168,8 +1166,8 @@ if (!original_url.SchemeIs(url::kHttpsScheme)) continue; - // If there is no QUIC version in the advertised versions supported by - // the net stack, ignore this entry. + // If there is no QUIC version in the advertised versions that is + // supported, ignore this entry. if (SelectQuicVersion(alternative_service_info.advertised_versions()) == QUIC_VERSION_UNSUPPORTED) continue; @@ -1179,18 +1177,15 @@ ignore_result(ApplyHostMappingRules(original_url, &mapped_origin)); QuicServerId server_id(mapped_origin, request_info.privacy_mode); - HostPortPair destination( - alternative_service_info.alternative_service().host_port_pair()); + HostPortPair destination(alternative_service_info.host_port_pair()); ignore_result(ApplyHostMappingRules(original_url, &destination)); if (session_->quic_stream_factory()->CanUseExistingSession(server_id, - destination)) { + destination)) return alternative_service_info; - } // Cache this entry if we don't have a non-broken Alt-Svc yet. - if (first_alternative_service_info.alternative_service().protocol == - kProtoUnknown) + if (first_alternative_service_info.protocol() == kProtoUnknown) first_alternative_service_info = alternative_service_info; }
diff --git a/net/http/http_stream_factory_impl_job_controller.h b/net/http/http_stream_factory_impl_job_controller.h index 71bd77a..32ca2626 100644 --- a/net/http/http_stream_factory_impl_job_controller.h +++ b/net/http/http_stream_factory_impl_job_controller.h
@@ -340,7 +340,7 @@ std::unique_ptr<Job> alternative_job_; // The alternative service used by |alternative_job_| // (or by |main_job_| if |is_preconnect_|.) - AlternativeService alternative_service_; + AlternativeServiceInfo alternative_service_info_; // Net error code of the failed alternative job. Set to OK by default. int alternative_job_net_error_;
diff --git a/net/http/http_stream_factory_test_util.cc b/net/http/http_stream_factory_test_util.cc index 4d05c408d..eb45c36dc 100644 --- a/net/http/http_stream_factory_test_util.cc +++ b/net/http/http_stream_factory_test_util.cc
@@ -27,6 +27,7 @@ HostPortPair destination, GURL origin_url, NextProto alternative_protocol, + QuicVersion quic_version, const ProxyServer& alternative_proxy_server, bool enable_ip_based_pooling, NetLog* net_log) @@ -41,6 +42,7 @@ destination, origin_url, alternative_protocol, + quic_version, alternative_proxy_server, enable_ip_based_pooling, net_log) { @@ -75,7 +77,8 @@ auto main_job = base::MakeUnique<MockHttpStreamFactoryImplJob>( delegate, job_type, session, request_info, priority, proxy_info, SSLConfig(), SSLConfig(), destination, origin_url, kProtoUnknown, - ProxyServer(), enable_ip_based_pooling, net_log); + QUIC_VERSION_UNSUPPORTED, ProxyServer(), enable_ip_based_pooling, + net_log); // Keep raw pointer to Job but pass ownership. main_job_ = main_job.get(); @@ -95,12 +98,13 @@ HostPortPair destination, GURL origin_url, NextProto alternative_protocol, + QuicVersion quic_version, bool enable_ip_based_pooling, NetLog* net_log) { auto alternative_job = base::MakeUnique<MockHttpStreamFactoryImplJob>( delegate, job_type, session, request_info, priority, proxy_info, SSLConfig(), SSLConfig(), destination, origin_url, alternative_protocol, - ProxyServer(), enable_ip_based_pooling, net_log); + quic_version, ProxyServer(), enable_ip_based_pooling, net_log); // Keep raw pointer to Job but pass ownership. alternative_job_ = alternative_job.get(); @@ -125,7 +129,8 @@ auto alternative_job = base::MakeUnique<MockHttpStreamFactoryImplJob>( delegate, job_type, session, request_info, priority, proxy_info, SSLConfig(), SSLConfig(), destination, origin_url, kProtoUnknown, - alternative_proxy_server, enable_ip_based_pooling, net_log); + QUIC_VERSION_UNSUPPORTED, alternative_proxy_server, + enable_ip_based_pooling, net_log); // Keep raw pointer to Job but pass ownership. alternative_job_ = alternative_job.get();
diff --git a/net/http/http_stream_factory_test_util.h b/net/http/http_stream_factory_test_util.h index 49a3d96..9a84dcc 100644 --- a/net/http/http_stream_factory_test_util.h +++ b/net/http/http_stream_factory_test_util.h
@@ -116,6 +116,7 @@ HostPortPair destination, GURL origin_url, NextProto alternative_protocol, + QuicVersion quic_version, const ProxyServer& alternative_proxy_server, bool enable_ip_based_pooling, NetLog* net_log); @@ -159,6 +160,7 @@ HostPortPair destination, GURL origin_url, NextProto alternative_protocol, + QuicVersion quic_version, bool enable_ip_based_pooling, NetLog* net_log) override;
diff --git a/net/quic/chromium/quic_network_transaction_unittest.cc b/net/quic/chromium/quic_network_transaction_unittest.cc index 2d62f45e..3528a1c 100644 --- a/net/quic/chromium/quic_network_transaction_unittest.cc +++ b/net/quic/chromium/quic_network_transaction_unittest.cc
@@ -1452,6 +1452,123 @@ SendRequestAndExpectQuicResponse("hello!"); } +TEST_P(QuicNetworkTransactionTest, UseAlternativeServiceWithVersionForQuic1) { + // Both server advertises and client supports two QUIC versions. + // Only |version_| is advertised and supported. + // The QuicStreamFactoy will pick up |version_|, which is verified as the + // PacketMakers are using |version_|. + + // Add support for another QUIC version besides |version_| on the client side. + // Also find a different version advertised by the server. + QuicVersion advertised_version_2 = QUIC_VERSION_UNSUPPORTED; + for (const QuicVersion& version : AllSupportedVersions()) { + if (version == version_) + continue; + if (supported_versions_.size() != 2) { + supported_versions_.push_back(version); + continue; + } + advertised_version_2 = version; + break; + } + DCHECK_NE(advertised_version_2, QUIC_VERSION_UNSUPPORTED); + + std::string QuicAltSvcWithVersionHeader = + base::StringPrintf("Alt-Svc: quic=\":443\";v=\"%d,%d\"\r\n\r\n", + advertised_version_2, version_); + + MockRead http_reads[] = { + MockRead("HTTP/1.1 200 OK\r\n"), + MockRead(QuicAltSvcWithVersionHeader.c_str()), MockRead("hello world"), + MockRead(SYNCHRONOUS, ERR_TEST_PEER_CLOSE_AFTER_NEXT_MOCK_READ), + MockRead(ASYNC, OK)}; + + StaticSocketDataProvider http_data(http_reads, arraysize(http_reads), nullptr, + 0); + socket_factory_.AddSocketDataProvider(&http_data); + socket_factory_.AddSSLSocketDataProvider(&ssl_data_); + + MockQuicData mock_quic_data; + QuicStreamOffset header_stream_offset = 0; + mock_quic_data.AddWrite( + ConstructInitialSettingsPacket(1, &header_stream_offset)); + mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( + 2, GetNthClientInitiatedStreamId(0), true, true, + GetRequestHeaders("GET", "https", "/"), &header_stream_offset)); + mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( + 1, GetNthClientInitiatedStreamId(0), false, false, + GetResponseHeaders("200 OK"))); + mock_quic_data.AddRead(ConstructServerDataPacket( + 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!")); + mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); + mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read + mock_quic_data.AddRead(ASYNC, 0); // EOF + + mock_quic_data.AddSocketDataToFactory(&socket_factory_); + + AddHangingNonAlternateProtocolSocketData(); + CreateSession(supported_versions_); + + SendRequestAndExpectHttpResponse("hello world"); + SendRequestAndExpectQuicResponse("hello!"); +} + +TEST_P(QuicNetworkTransactionTest, UseAlternativeServiceWithVersionForQuic2) { + // Client and server mutually support more than one QUIC_VERSION. + // The QuicStreamFactoy will pick the preferred QUIC_VERSION: |version_|, + // which is verified as the PacketMakers are using |version_|. + + QuicVersion common_version_2 = QUIC_VERSION_UNSUPPORTED; + for (const QuicVersion& version : AllSupportedVersions()) { + if (version == version_) + continue; + common_version_2 = version; + break; + } + DCHECK_NE(common_version_2, QUIC_VERSION_UNSUPPORTED); + + supported_versions_.push_back( + common_version_2); // Supported but unpreferred. + + std::string QuicAltSvcWithVersionHeader = base::StringPrintf( + "Alt-Svc: quic=\":443\";v=\"%d,%d\"\r\n\r\n", common_version_2, version_); + + MockRead http_reads[] = { + MockRead("HTTP/1.1 200 OK\r\n"), + MockRead(QuicAltSvcWithVersionHeader.c_str()), MockRead("hello world"), + MockRead(SYNCHRONOUS, ERR_TEST_PEER_CLOSE_AFTER_NEXT_MOCK_READ), + MockRead(ASYNC, OK)}; + + StaticSocketDataProvider http_data(http_reads, arraysize(http_reads), nullptr, + 0); + socket_factory_.AddSocketDataProvider(&http_data); + socket_factory_.AddSSLSocketDataProvider(&ssl_data_); + + MockQuicData mock_quic_data; + QuicStreamOffset header_stream_offset = 0; + mock_quic_data.AddWrite( + ConstructInitialSettingsPacket(1, &header_stream_offset)); + mock_quic_data.AddWrite(ConstructClientRequestHeadersPacket( + 2, GetNthClientInitiatedStreamId(0), true, true, + GetRequestHeaders("GET", "https", "/"), &header_stream_offset)); + mock_quic_data.AddRead(ConstructServerResponseHeadersPacket( + 1, GetNthClientInitiatedStreamId(0), false, false, + GetResponseHeaders("200 OK"))); + mock_quic_data.AddRead(ConstructServerDataPacket( + 2, GetNthClientInitiatedStreamId(0), false, true, 0, "hello!")); + mock_quic_data.AddWrite(ConstructClientAckPacket(3, 2, 1, 1)); + mock_quic_data.AddRead(ASYNC, ERR_IO_PENDING); // No more data to read + mock_quic_data.AddRead(ASYNC, 0); // EOF + + mock_quic_data.AddSocketDataToFactory(&socket_factory_); + + AddHangingNonAlternateProtocolSocketData(); + CreateSession(supported_versions_); + + SendRequestAndExpectHttpResponse("hello world"); + SendRequestAndExpectQuicResponse("hello!"); +} + TEST_P(QuicNetworkTransactionTest, UseAlternativeServiceWithProbabilityForQuic) { MockRead http_reads[] = {
diff --git a/net/quic/chromium/quic_stream_factory.cc b/net/quic/chromium/quic_stream_factory.cc index 5665ce49..00787a41 100644 --- a/net/quic/chromium/quic_stream_factory.cc +++ b/net/quic/chromium/quic_stream_factory.cc
@@ -326,6 +326,7 @@ class QuicStreamFactory::Job { public: Job(QuicStreamFactory* factory, + const QuicVersion& quic_version, HostResolver* host_resolver, const QuicSessionKey& key, bool was_alternative_service_recently_broken, @@ -366,6 +367,7 @@ IoState io_state_; QuicStreamFactory* factory_; + QuicVersion quic_version_; HostResolver* host_resolver_; std::unique_ptr<HostResolver::Request> request_; const QuicSessionKey key_; @@ -383,6 +385,7 @@ }; QuicStreamFactory::Job::Job(QuicStreamFactory* factory, + const QuicVersion& quic_version, HostResolver* host_resolver, const QuicSessionKey& key, bool was_alternative_service_recently_broken, @@ -390,6 +393,7 @@ const NetLogWithSource& net_log) : io_state_(STATE_RESOLVE_HOST), factory_(factory), + quic_version_(quic_version), host_resolver_(host_resolver), key_(key), cert_verify_flags_(cert_verify_flags), @@ -508,10 +512,11 @@ NetLogEventType::QUIC_STREAM_FACTORY_JOB_CONNECT, NetLog::BoolCallback("require_confirmation", require_confirmation)); - int rv = - factory_->CreateSession(key_, cert_verify_flags_, require_confirmation, - address_list_, dns_resolution_start_time_, - dns_resolution_end_time_, net_log_, &session_); + DCHECK_NE(quic_version_, QUIC_VERSION_UNSUPPORTED); + int rv = factory_->CreateSession( + key_, quic_version_, cert_verify_flags_, require_confirmation, + address_list_, dns_resolution_start_time_, dns_resolution_end_time_, + net_log_, &session_); if (rv != OK) { DCHECK(rv != ERR_IO_PENDING); DCHECK(!session_); @@ -581,18 +586,20 @@ } int QuicStreamRequest::Request(const HostPortPair& destination, + QuicVersion quic_version, PrivacyMode privacy_mode, int cert_verify_flags, const GURL& url, QuicStringPiece method, const NetLogWithSource& net_log, const CompletionCallback& callback) { + DCHECK_NE(quic_version, QUIC_VERSION_UNSUPPORTED); DCHECK(callback_.is_null()); DCHECK(factory_); server_id_ = QuicServerId(HostPortPair::FromURL(url), privacy_mode); - int rv = factory_->Create(server_id_, destination, cert_verify_flags, url, - method, net_log, this); + int rv = factory_->Create(server_id_, destination, quic_version, + cert_verify_flags, url, method, net_log, this); if (rv == ERR_IO_PENDING) { net_log_ = net_log; callback_ = callback; @@ -652,7 +659,6 @@ QuicClock* clock, size_t max_packet_length, const std::string& user_agent_id, - const QuicVersionVector& supported_versions, bool store_server_configs_in_properties, bool close_sessions_on_ip_change, bool mark_quic_broken_when_network_blackholes, @@ -689,7 +695,6 @@ ct_policy_enforcer, transport_security_state, cert_transparency_verifier))), - supported_versions_(supported_versions), mark_quic_broken_when_network_blackholes_( mark_quic_broken_when_network_blackholes), store_server_configs_in_properties_(store_server_configs_in_properties), @@ -849,6 +854,7 @@ int QuicStreamFactory::Create(const QuicServerId& server_id, const HostPortPair& destination, + QuicVersion quic_version, int cert_verify_flags, const GURL& url, QuicStringPiece method, @@ -927,7 +933,7 @@ QuicSessionKey key(destination, server_id); std::unique_ptr<Job> job = base::MakeUnique<Job>( - this, host_resolver_, key, WasQuicRecentlyBroken(server_id), + this, quic_version, host_resolver_, key, WasQuicRecentlyBroken(server_id), cert_verify_flags, net_log); int rv = job->Run(base::Bind(&QuicStreamFactory::OnJobComplete, base::Unretained(this), job.get())); @@ -1458,15 +1464,15 @@ return OK; } -int QuicStreamFactory::CreateSession( - const QuicSessionKey& key, - int cert_verify_flags, - bool require_confirmation, - const AddressList& address_list, - base::TimeTicks dns_resolution_start_time, - base::TimeTicks dns_resolution_end_time, - const NetLogWithSource& net_log, - QuicChromiumClientSession** session) { +int QuicStreamFactory::CreateSession(const QuicSessionKey& key, + const QuicVersion& quic_version, + int cert_verify_flags, + bool require_confirmation, + const AddressList& address_list, + base::TimeTicks dns_resolution_start_time, + base::TimeTicks dns_resolution_end_time, + const NetLogWithSource& net_log, + QuicChromiumClientSession** session) { TRACE_EVENT0(kNetTracingCategory, "QuicStreamFactory::CreateSession"); IPEndPoint addr = *address_list.begin(); const QuicServerId& server_id = key.server_id(); @@ -1502,7 +1508,7 @@ QuicConnection* connection = new QuicConnection( connection_id, QuicSocketAddress(QuicSocketAddressImpl(addr)), helper_.get(), alarm_factory_.get(), writer, true /* owns_writer */, - Perspective::IS_CLIENT, supported_versions_); + Perspective::IS_CLIENT, {quic_version}); connection->set_ping_timeout(ping_timeout_); connection->SetMaxPacketLength(max_packet_length_);
diff --git a/net/quic/chromium/quic_stream_factory.h b/net/quic/chromium/quic_stream_factory.h index 3942735..81b7841 100644 --- a/net/quic/chromium/quic_stream_factory.h +++ b/net/quic/chromium/quic_stream_factory.h
@@ -115,6 +115,7 @@ // |destination| will be resolved and resulting IPEndPoint used to open a // QuicConnection. This can be different than HostPortPair::FromURL(url). int Request(const HostPortPair& destination, + QuicVersion quic_version, PrivacyMode privacy_mode, int cert_verify_flags, const GURL& url, @@ -202,7 +203,6 @@ QuicClock* clock, size_t max_packet_length, const std::string& user_agent_id, - const QuicVersionVector& supported_versions, bool store_server_configs_in_properties, bool close_sessions_on_ip_change, bool mark_quic_broken_when_network_blackholes, @@ -233,6 +233,7 @@ // OnRequestComplete asynchronously. int Create(const QuicServerId& server_id, const HostPortPair& destination, + QuicVersion quic_version, int cert_verify_flags, const GURL& url, QuicStringPiece method, @@ -404,6 +405,7 @@ bool HasActiveJob(const QuicServerId& server_id) const; bool HasActiveCertVerifierJob(const QuicServerId& server_id) const; int CreateSession(const QuicSessionKey& key, + const QuicVersion& quic_version, int cert_verify_flags, bool require_confirmation, const AddressList& address_list, @@ -515,8 +517,6 @@ // Map of QuicServerId to owning CertVerifierJob. CertVerifierJobMap active_cert_verifier_jobs_; - const QuicVersionVector supported_versions_; - // True if QUIC should be marked as broken when a connection blackholes after // the handshake is confirmed. bool mark_quic_broken_when_network_blackholes_;
diff --git a/net/quic/chromium/quic_stream_factory_test.cc b/net/quic/chromium/quic_stream_factory_test.cc index d97c7ce..d9f1d77 100644 --- a/net/quic/chromium/quic_stream_factory_test.cc +++ b/net/quic/chromium/quic_stream_factory_test.cc
@@ -216,8 +216,8 @@ &transport_security_state_, cert_transparency_verifier_.get(), /*SocketPerformanceWatcherFactory*/ nullptr, &crypto_client_stream_factory_, &random_generator_, &clock_, - kDefaultMaxPacketSize, string(), SupportedVersions(version_), - store_server_configs_in_properties_, close_sessions_on_ip_change_, + kDefaultMaxPacketSize, string(), store_server_configs_in_properties_, + close_sessions_on_ip_change_, /*mark_quic_broken_when_network_blackholes*/ false, idle_connection_timeout_seconds_, reduced_ping_timeout_seconds_, packet_reader_yield_after_duration_milliseconds_, @@ -285,7 +285,7 @@ QuicStreamRequest request(factory_.get()); GURL url("https://" + destination.host() + "/"); EXPECT_EQ(ERR_IO_PENDING, - request.Request(destination, privacy_mode_, + request.Request(destination, version_, privacy_mode_, /*cert_verify_flags=*/0, url, "GET", net_log_, callback_.callback())); @@ -430,7 +430,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_EQ(OK, callback_.WaitForResult()); @@ -610,9 +610,9 @@ QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(quic_server_id.host_port_pair(), privacy_mode_, - /*cert_verify_flags=*/0, url_, "GET", net_log_, - callback_.callback())); + request.Request(quic_server_id.host_port_pair(), version_, + privacy_mode_, /*cert_verify_flags=*/0, url_, + "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); EXPECT_FALSE(QuicStreamFactoryPeer::CryptoConfigCacheIsEmpty( @@ -643,10 +643,10 @@ QuicStreamRequest request2(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request2.Request(quic_server_id2.host_port_pair(), privacy_mode_, - /*cert_verify_flags=*/0, - GURL("https://mail.example.org/"), "GET", - net_log_, callback_.callback())); + request2.Request( + quic_server_id2.host_port_pair(), version_, privacy_mode_, + /*cert_verify_flags=*/0, GURL("https://mail.example.org/"), + "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); EXPECT_FALSE(QuicStreamFactoryPeer::CryptoConfigCacheIsEmpty( @@ -760,7 +760,7 @@ QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -769,7 +769,7 @@ EXPECT_TRUE(stream.get()); QuicStreamRequest request2(factory_.get()); - EXPECT_EQ(OK, request2.Request(host_port_pair_, privacy_mode_, + EXPECT_EQ(OK, request2.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); // Will reset stream 3. @@ -780,7 +780,7 @@ // TODO(rtenneti): We should probably have a tests that HTTP and HTTPS result // in streams on different sessions. QuicStreamRequest request3(factory_.get()); - EXPECT_EQ(OK, request3.Request(host_port_pair_, privacy_mode_, + EXPECT_EQ(OK, request3.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); stream = request3.CreateStream(); // Will reset stream 5. @@ -806,7 +806,7 @@ "192.168.0.1", ""); QuicStreamRequest request(factory_.get()); - EXPECT_EQ(OK, request.Request(host_port_pair_, privacy_mode_, + EXPECT_EQ(OK, request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -832,7 +832,7 @@ "192.168.0.1", ""); QuicStreamRequest request(factory_.get()); - EXPECT_EQ(OK, request.Request(host_port_pair_, privacy_mode_, + EXPECT_EQ(OK, request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "POST", net_log_, callback_.callback())); @@ -854,7 +854,7 @@ QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -885,7 +885,7 @@ QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -916,7 +916,7 @@ QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -947,7 +947,7 @@ QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -973,7 +973,7 @@ QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -1003,7 +1003,7 @@ QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -1047,7 +1047,7 @@ host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); QuicStreamRequest request(factory_.get()); - EXPECT_EQ(OK, request.Request(host_port_pair_, privacy_mode_, + EXPECT_EQ(OK, request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); std::unique_ptr<HttpStream> stream = request.CreateStream(); @@ -1055,7 +1055,7 @@ TestCompletionCallback callback; QuicStreamRequest request2(factory_.get()); - EXPECT_EQ(OK, request2.Request(server2, privacy_mode_, + EXPECT_EQ(OK, request2.Request(server2, version_, privacy_mode_, /*cert_verify_flags=*/0, url2_, "GET", net_log_, callback.callback())); std::unique_ptr<HttpStream> stream2 = request2.CreateStream(); @@ -1105,7 +1105,7 @@ TestCompletionCallback callback; QuicStreamRequest request2(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request2.Request(server2, privacy_mode_, + request2.Request(server2, version_, privacy_mode_, /*cert_verify_flags=*/0, url2_, "GET", net_log_, callback.callback())); EXPECT_EQ(OK, callback.WaitForResult()); @@ -1139,7 +1139,7 @@ host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); QuicStreamRequest request(factory_.get()); - EXPECT_EQ(OK, request.Request(host_port_pair_, privacy_mode_, + EXPECT_EQ(OK, request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); std::unique_ptr<HttpStream> stream = request.CreateStream(); @@ -1147,7 +1147,7 @@ TestCompletionCallback callback; QuicStreamRequest request2(factory_.get()); - EXPECT_EQ(OK, request2.Request(server2, privacy_mode_, + EXPECT_EQ(OK, request2.Request(server2, version_, privacy_mode_, /*cert_verify_flags=*/0, url2_, "GET", net_log_, callback.callback())); std::unique_ptr<HttpStream> stream2 = request2.CreateStream(); @@ -1159,7 +1159,7 @@ TestCompletionCallback callback3; QuicStreamRequest request3(factory_.get()); - EXPECT_EQ(OK, request3.Request(server2, privacy_mode_, + EXPECT_EQ(OK, request3.Request(server2, version_, privacy_mode_, /*cert_verify_flags=*/0, url2_, "GET", net_log_, callback3.callback())); std::unique_ptr<HttpStream> stream3 = request3.CreateStream(); @@ -1192,7 +1192,7 @@ host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); QuicStreamRequest request(factory_.get()); - EXPECT_EQ(OK, request.Request(server1, privacy_mode_, + EXPECT_EQ(OK, request.Request(server1, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); std::unique_ptr<HttpStream> stream = request.CreateStream(); @@ -1200,7 +1200,7 @@ TestCompletionCallback callback; QuicStreamRequest request2(factory_.get()); - EXPECT_EQ(OK, request2.Request(server2, privacy_mode_, + EXPECT_EQ(OK, request2.Request(server2, version_, privacy_mode_, /*cert_verify_flags=*/0, url2_, "GET", net_log_, callback_.callback())); std::unique_ptr<HttpStream> stream2 = request2.CreateStream(); @@ -1236,7 +1236,7 @@ host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); QuicStreamRequest request(factory_.get()); - EXPECT_EQ(OK, request.Request(server1, privacy_mode_, + EXPECT_EQ(OK, request.Request(server1, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); std::unique_ptr<HttpStream> stream = request.CreateStream(); @@ -1244,7 +1244,7 @@ TestCompletionCallback callback; QuicStreamRequest request2(factory_.get()); - EXPECT_EQ(OK, request2.Request(server2, privacy_mode_, + EXPECT_EQ(OK, request2.Request(server2, version_, privacy_mode_, /*cert_verify_flags=*/0, url2_, "GET", net_log_, callback_.callback())); std::unique_ptr<HttpStream> stream2 = request2.CreateStream(); @@ -1291,7 +1291,7 @@ host_resolver_.rules()->AddIPLiteralRule(server2.host(), "192.168.0.1", ""); QuicStreamRequest request(factory_.get()); - EXPECT_EQ(OK, request.Request(server1, privacy_mode_, + EXPECT_EQ(OK, request.Request(server1, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); std::unique_ptr<HttpStream> stream = request.CreateStream(); @@ -1299,7 +1299,7 @@ TestCompletionCallback callback; QuicStreamRequest request2(factory_.get()); - EXPECT_EQ(OK, request2.Request(server2, privacy_mode_, + EXPECT_EQ(OK, request2.Request(server2, version_, privacy_mode_, /*cert_verify_flags=*/0, url2_, "GET", net_log_, callback_.callback())); std::unique_ptr<HttpStream> stream2 = request2.CreateStream(); @@ -1330,7 +1330,7 @@ QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -1350,7 +1350,7 @@ // new session is created. QuicStreamRequest request2(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request2.Request(host_port_pair_, privacy_mode_, + request2.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); @@ -1392,7 +1392,7 @@ // kDefaultMaxStreamsPerConnection / 2. for (size_t i = 0; i < kDefaultMaxStreamsPerConnection / 2; i++) { QuicStreamRequest request(factory_.get()); - int rv = request.Request(host_port_pair_, privacy_mode_, + int rv = request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback()); if (i == 0) { @@ -1409,7 +1409,7 @@ } QuicStreamRequest request(factory_.get()); - EXPECT_EQ(OK, request.Request(host_port_pair_, privacy_mode_, + EXPECT_EQ(OK, request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, CompletionCallback())); std::unique_ptr<HttpStream> stream = request.CreateStream(); @@ -1444,7 +1444,7 @@ QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -1463,7 +1463,7 @@ QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -1482,7 +1482,7 @@ { QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); } @@ -1490,7 +1490,7 @@ base::RunLoop().RunUntilIdle(); QuicStreamRequest request2(factory_.get()); - EXPECT_EQ(OK, request2.Request(host_port_pair_, privacy_mode_, + EXPECT_EQ(OK, request2.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); std::unique_ptr<HttpStream> stream = request2.CreateStream(); @@ -1521,7 +1521,7 @@ QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -1541,7 +1541,7 @@ QuicStreamRequest request2(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request2.Request(host_port_pair_, privacy_mode_, + request2.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -1575,7 +1575,7 @@ // Create request, should fail after the write of the CHLO fails. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_EQ(ERR_QUIC_HANDSHAKE_FAILED, callback_.WaitForResult()); @@ -1594,7 +1594,7 @@ QuicStreamRequest request2(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request2.Request(host_port_pair_, privacy_mode_, + request2.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_FALSE(HasActiveSession(host_port_pair_)); @@ -1637,7 +1637,7 @@ // Create request, should fail immediately. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_QUIC_HANDSHAKE_FAILED, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); // Check no active session, or active jobs left for this server. @@ -1656,7 +1656,7 @@ QuicStreamRequest request2(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request2.Request(host_port_pair_, privacy_mode_, + request2.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_FALSE(HasActiveSession(host_port_pair_)); @@ -1699,7 +1699,7 @@ QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -1720,7 +1720,7 @@ QuicStreamRequest request2(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request2.Request(host_port_pair_, privacy_mode_, + request2.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -1767,7 +1767,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); @@ -1834,7 +1834,7 @@ QuicStreamRequest request2(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request2.Request(host_port_pair_, privacy_mode_, + request2.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); @@ -1897,7 +1897,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); @@ -1959,7 +1959,7 @@ QuicStreamRequest request2(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request2.Request(host_port_pair_, privacy_mode_, + request2.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); @@ -2007,7 +2007,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); @@ -2065,7 +2065,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); @@ -2114,7 +2114,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); @@ -2166,7 +2166,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); @@ -2214,7 +2214,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); @@ -2262,7 +2262,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); @@ -2300,7 +2300,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); @@ -2342,7 +2342,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); @@ -2418,7 +2418,7 @@ socket_data2.AddSocketDataToFactory(&socket_factory_); QuicStreamRequest request2(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request2.Request(host_port_pair_, privacy_mode_, + request2.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); @@ -2466,7 +2466,7 @@ // Create request and QuicHttpStream to create session1. QuicStreamRequest request1(factory_.get()); - EXPECT_EQ(OK, request1.Request(server1, privacy_mode_, + EXPECT_EQ(OK, request1.Request(server1, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); std::unique_ptr<HttpStream> stream1 = request1.CreateStream(); @@ -2474,7 +2474,7 @@ // Create request and QuicHttpStream to create session2. QuicStreamRequest request2(factory_.get()); - EXPECT_EQ(OK, request2.Request(server2, privacy_mode_, + EXPECT_EQ(OK, request2.Request(server2, version_, privacy_mode_, /*cert_verify_flags=*/0, url2_, "GET", net_log_, callback_.callback())); std::unique_ptr<HttpStream> stream2 = request2.CreateStream(); @@ -2559,7 +2559,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); @@ -2623,7 +2623,7 @@ QuicStreamRequest request2(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request2.Request(host_port_pair_, privacy_mode_, + request2.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); @@ -2684,7 +2684,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); @@ -2750,7 +2750,7 @@ QuicStreamRequest request2(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request2.Request(host_port_pair_, privacy_mode_, + request2.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); @@ -2803,7 +2803,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); @@ -2855,7 +2855,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); @@ -2907,7 +2907,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); @@ -2965,7 +2965,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_EQ(OK, callback_.WaitForResult()); @@ -3054,7 +3054,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_EQ(OK, callback_.WaitForResult()); @@ -3143,7 +3143,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_EQ(OK, callback_.WaitForResult()); @@ -3207,7 +3207,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_EQ(OK, callback_.WaitForResult()); @@ -3286,7 +3286,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_EQ(OK, callback_.WaitForResult()); @@ -3366,7 +3366,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_EQ(OK, callback_.WaitForResult()); @@ -3464,7 +3464,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_EQ(OK, callback_.WaitForResult()); @@ -3563,7 +3563,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_EQ(OK, callback_.WaitForResult()); @@ -3644,7 +3644,7 @@ QuicStreamRequest request2(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request2.Request(host_port_pair_, privacy_mode_, + request2.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); @@ -3696,7 +3696,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_EQ(OK, callback_.WaitForResult()); @@ -3785,7 +3785,7 @@ QuicStreamRequest request2(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request2.Request(host_port_pair_, privacy_mode_, + request2.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); @@ -3850,7 +3850,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); @@ -3913,7 +3913,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_EQ(OK, callback_.WaitForResult()); @@ -4055,7 +4055,7 @@ // Create request and QuicHttpStream. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_EQ(OK, callback_.WaitForResult()); @@ -4109,7 +4109,7 @@ QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -4129,7 +4129,7 @@ QuicStreamRequest request2(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request2.Request(host_port_pair_, privacy_mode_, + request2.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -4162,7 +4162,7 @@ QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -4183,7 +4183,7 @@ QuicStreamRequest request2(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request2.Request(host_port_pair_, privacy_mode_, + request2.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -4287,7 +4287,7 @@ "192.168.0.1", ""); QuicStreamRequest request(factory_.get()); - EXPECT_EQ(OK, request.Request(host_port_pair_, privacy_mode_, + EXPECT_EQ(OK, request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -4334,7 +4334,7 @@ EXPECT_EQ(QuicTime::Delta::FromSeconds(kPingTimeoutSecs), QuicStreamFactoryPeer::GetPingTimeout(factory_.get())); QuicStreamRequest request(factory_.get()); - EXPECT_EQ(OK, request.Request(host_port_pair_, privacy_mode_, + EXPECT_EQ(OK, request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -4366,7 +4366,7 @@ DVLOG(1) << "Create 2nd session and timeout with open stream"; TestCompletionCallback callback2; QuicStreamRequest request2(factory_.get()); - EXPECT_EQ(OK, request2.Request(server2, privacy_mode_, + EXPECT_EQ(OK, request2.Request(server2, version_, privacy_mode_, /*cert_verify_flags=*/0, url2_, "GET", net_log_, callback2.callback())); QuicChromiumClientSession* session2 = GetActiveSession(server2); @@ -4432,7 +4432,7 @@ // Start a QUIC request. QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -4477,7 +4477,7 @@ "StartReading"); QuicStreamRequest request(factory_.get()); - EXPECT_EQ(OK, request.Request(host_port_pair_, privacy_mode_, + EXPECT_EQ(OK, request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -4522,7 +4522,7 @@ "StartReading"); QuicStreamRequest request(factory_.get()); - EXPECT_EQ(OK, request.Request(host_port_pair_, privacy_mode_, + EXPECT_EQ(OK, request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -4554,7 +4554,7 @@ QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -4574,7 +4574,7 @@ ->promised_by_url())[kDefaultUrl] = &promised; QuicStreamRequest request2(factory_.get()); - EXPECT_EQ(OK, request2.Request(host_port_pair_, privacy_mode_, + EXPECT_EQ(OK, request2.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -4601,7 +4601,7 @@ QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -4627,7 +4627,7 @@ // cancel it because the privacy modes do not match. QuicStreamRequest request2(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request2.Request(host_port_pair_, PRIVACY_MODE_ENABLED, + request2.Request(host_port_pair_, version_, PRIVACY_MODE_ENABLED, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -4662,7 +4662,7 @@ QuicStreamRequest request1(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request1.Request(destination1, privacy_mode_, + request1.Request(destination1, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); @@ -4673,7 +4673,7 @@ // Second request returns synchronously because it pools to existing session. TestCompletionCallback callback2; QuicStreamRequest request2(factory_.get()); - EXPECT_EQ(OK, request2.Request(destination2, privacy_mode_, + EXPECT_EQ(OK, request2.Request(destination2, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback2.callback())); std::unique_ptr<HttpStream> stream2 = request2.CreateStream(); @@ -4705,7 +4705,7 @@ QuicStreamRequest request(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request.Request(host_port_pair_, privacy_mode_, + request.Request(host_port_pair_, version_, privacy_mode_, /*cert_verify_flags=*/0, url_, "GET", net_log_, callback_.callback())); @@ -4801,9 +4801,10 @@ AddHangingSocketData(); QuicStreamRequest request(factory_.get()); - EXPECT_EQ(ERR_IO_PENDING, request.Request(destination, privacy_mode_, - /*cert_verify_flags=*/0, url, "GET", - net_log_, callback_.callback())); + EXPECT_EQ(ERR_IO_PENDING, + request.Request(destination, version_, privacy_mode_, + /*cert_verify_flags=*/0, url, "GET", net_log_, + callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsError(ERR_QUIC_HANDSHAKE_FAILED)); @@ -4844,7 +4845,7 @@ QuicStreamRequest request1(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request1.Request(destination, privacy_mode_, + request1.Request(destination, version_, privacy_mode_, /*cert_verify_flags=*/0, url1, "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); @@ -4856,7 +4857,7 @@ // Second request returns synchronously because it pools to existing session. TestCompletionCallback callback2; QuicStreamRequest request2(factory_.get()); - EXPECT_EQ(OK, request2.Request(destination, privacy_mode_, + EXPECT_EQ(OK, request2.Request(destination, version_, privacy_mode_, /*cert_verify_flags=*/0, url2, "GET", net_log_, callback2.callback())); std::unique_ptr<HttpStream> stream2 = request2.CreateStream(); @@ -4916,7 +4917,7 @@ QuicStreamRequest request1(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request1.Request(destination, PRIVACY_MODE_DISABLED, + request1.Request(destination, version_, PRIVACY_MODE_DISABLED, /*cert_verify_flags=*/0, url1, "GET", net_log_, callback_.callback())); EXPECT_EQ(OK, callback_.WaitForResult()); @@ -4927,7 +4928,7 @@ TestCompletionCallback callback2; QuicStreamRequest request2(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request2.Request(destination, PRIVACY_MODE_ENABLED, + request2.Request(destination, version_, PRIVACY_MODE_ENABLED, /*cert_verify_flags=*/0, url2, "GET", net_log_, callback2.callback())); EXPECT_EQ(OK, callback2.WaitForResult()); @@ -4999,7 +5000,7 @@ QuicStreamRequest request1(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request1.Request(destination, privacy_mode_, + request1.Request(destination, version_, privacy_mode_, /*cert_verify_flags=*/0, url1, "GET", net_log_, callback_.callback())); EXPECT_THAT(callback_.WaitForResult(), IsOk()); @@ -5010,7 +5011,7 @@ TestCompletionCallback callback2; QuicStreamRequest request2(factory_.get()); EXPECT_EQ(ERR_IO_PENDING, - request2.Request(destination, privacy_mode_, + request2.Request(destination, version_, privacy_mode_, /*cert_verify_flags=*/0, url2, "GET", net_log_, callback2.callback())); EXPECT_THAT(callback2.WaitForResult(), IsOk());
diff --git a/pdf/pdfium/pdfium_engine.cc b/pdf/pdfium/pdfium_engine.cc index c4f8d644..f71ef7ce 100644 --- a/pdf/pdfium/pdfium_engine.cc +++ b/pdf/pdfium/pdfium_engine.cc
@@ -682,6 +682,8 @@ selecting_(false), mouse_down_state_(PDFiumPage::NONSELECTABLE_AREA, PDFiumPage::LinkTarget()), + in_form_text_area_(false), + mouse_left_button_down_(false), next_page_to_search_(-1), last_page_to_search_(-1), last_character_index_to_search_(-1), @@ -1635,10 +1637,10 @@ unsigned long form_sel_text_len = FORM_GetSelectedText(form_handle, page, nullptr, 0); - // Check to see if there is selected text in the form. When - // |form_sel_text_len| is 2, that represents a wide string with just a - // NUL-terminator. - if (form_sel_text_len <= 2) + // If form selected text is empty and there was no previous form text + // selection, exit early because nothing has changed. When |form_sel_text_len| + // is 2, that represents a wide string with just a NUL-terminator. + if (form_sel_text_len <= 2 && selected_form_text_.empty()) return; base::string16 selected_form_text16; @@ -1647,10 +1649,12 @@ string_adapter.Close(FORM_GetSelectedText( form_handle, page, string_adapter.GetData(), form_sel_text_len)); - std::string selected_form_text = base::UTF16ToUTF8(selected_form_text16); - if (!selected_form_text.empty()) { - pp::PDF::SetSelectedText(GetPluginInstance(), selected_form_text.c_str()); - } + // Update previous and current selections, then compare them to check if + // selection has changed. If so, set plugin text selection. + std::string selected_form_text = selected_form_text_; + selected_form_text_ = base::UTF16ToUTF8(selected_form_text16); + if (selected_form_text != selected_form_text_) + pp::PDF::SetSelectedText(GetPluginInstance(), selected_form_text_.c_str()); } void PDFiumEngine::PrintEnd() { @@ -1719,6 +1723,8 @@ return false; } + SetMouseLeftButtonDown(event.GetButton() == PP_INPUTEVENT_MOUSEBUTTON_LEFT); + SelectionChangeInvalidator selection_invalidator(this); selection_.clear(); @@ -1814,6 +1820,9 @@ return false; } + if (event.GetButton() == PP_INPUTEVENT_MOUSEBUTTON_LEFT) + SetMouseLeftButtonDown(false); + int page_index = -1; int char_index = -1; int form_type = FPDF_FORMFIELD_UNKNOWN; @@ -1857,9 +1866,6 @@ FORM_OnLButtonUp(form_, pages_[page_index]->GetPage(), 0, page_x, page_y); } - if (area == PDFiumPage::FORM_TEXT_AREA && last_page_mouse_down_ != -1) - SetFormSelectedText(form_, pages_[last_page_mouse_down_]->GetPage()); - if (!selecting_) return false; @@ -1924,6 +1930,14 @@ link_under_cursor_ = url; pp::PDF::SetLinkUnderCursor(GetPluginInstance(), url.c_str()); } + + // If in form text area while left mouse button is held down, check if form + // text selection needs to be updated. + if (mouse_left_button_down_ && area == PDFiumPage::FORM_TEXT_AREA && + last_page_mouse_down_ != -1) { + SetFormSelectedText(form_, pages_[last_page_mouse_down_]->GetPage()); + } + // No need to swallow the event, since this might interfere with the // scrollbars if the user is dragging them. return false; @@ -2018,14 +2032,6 @@ OnChar(synthesized); } - // If form selected text is empty and key pressed within form text area, - // plugin text selection should be cleared. - if (in_form_text_area_ && - FORM_GetSelectedText(form_, pages_[last_page_mouse_down_]->GetPage(), - nullptr, 0) <= 2) { - pp::PDF::SetSelectedText(GetPluginInstance(), ""); - } - return rv; } @@ -2033,9 +2039,9 @@ if (last_page_mouse_down_ == -1) return false; + // Check if form text selection needs to be updated. if (in_form_text_area_) { - if (event.GetKeyCode() == ui::VKEY_SHIFT) - SetFormSelectedText(form_, pages_[last_page_mouse_down_]->GetPage()); + SetFormSelectedText(form_, pages_[last_page_mouse_down_]->GetPage()); } return !!FORM_OnKeyUp(form_, pages_[last_page_mouse_down_]->GetPage(), @@ -2429,6 +2435,9 @@ } void PDFiumEngine::SelectAll() { + if (in_form_text_area_) + return; + SelectionChangeInvalidator selection_invalidator(this); selection_.clear(); @@ -3616,6 +3625,10 @@ in_form_text_area_ = in_form_text_area; } +void PDFiumEngine::SetMouseLeftButtonDown(bool is_mouse_left_button_down) { + mouse_left_button_down_ = is_mouse_left_button_down; +} + void PDFiumEngine::ScheduleTouchTimer(const pp::TouchInputEvent& evt) { touch_timers_[++next_touch_timer_id_] = evt; client_->ScheduleTouchTimerCallback(next_touch_timer_id_,
diff --git a/pdf/pdfium/pdfium_engine.h b/pdf/pdfium/pdfium_engine.h index 5b46fc0..e19570d 100644 --- a/pdf/pdfium/pdfium_engine.h +++ b/pdf/pdfium/pdfium_engine.h
@@ -453,6 +453,9 @@ // field. void SetInFormTextArea(bool in_form_text_area); + // Sets whether or not left mouse button is currently being held down. + void SetMouseLeftButtonDown(bool is_mouse_left_button_down); + bool PageIndexInBounds(int index) const; void ScheduleTouchTimer(const pp::TouchInputEvent& event); @@ -653,16 +656,22 @@ bool defer_page_unload_; std::vector<int> deferred_page_unloads_; - // Used for text selection, but does not include text within form text fields. + // Used for text selection, but does not include text within form text areas. // There could be more than one range if selection spans more than one page. std::vector<PDFiumRange> selection_; // True if we're in the middle of text selection. bool selecting_; + MouseDownState mouse_down_state_; + + // Text selection within form text fields and form combobox text fields. + std::string selected_form_text_; + // True if focus is in form text field or form combobox text field. bool in_form_text_area_; - MouseDownState mouse_down_state_; + // True if left mouse button is currently being held down. + bool mouse_left_button_down_; // Used for searching. std::vector<PDFiumRange> find_results_;
diff --git a/remoting/ios/app/BUILD.gn b/remoting/ios/app/BUILD.gn index 6b3e6cd..d941e5a 100644 --- a/remoting/ios/app/BUILD.gn +++ b/remoting/ios/app/BUILD.gn
@@ -20,6 +20,8 @@ "app_view_controller.h", "client_connection_view_controller.h", "client_connection_view_controller.mm", + "help_and_feedback.h", + "help_and_feedback.mm", "host_collection_header_view.h", "host_collection_header_view.mm", "host_collection_view_cell.h",
diff --git a/remoting/ios/app/app_delegate.h b/remoting/ios/app/app_delegate.h index 3f4589a..e2e9bce3 100644 --- a/remoting/ios/app/app_delegate.h +++ b/remoting/ios/app/app_delegate.h
@@ -24,9 +24,11 @@ // controller. - (void)navigateToHelpCenter:(UINavigationController*)navigationController; -// This will push the Send Feedback view controller onto the provided nav +// This will present the Send Feedback view controller onto the topmost view // controller. -- (void)navigateToSendFeedback:(UINavigationController*)navigationController; +// context: a unique identifier for the user's place within the app which can be +// used to categorize the feedback report and segment usage metrics. +- (void)presentFeedbackFlowWithContext:(NSString*)context; // Pop up an Email compose view filled with the instructions to setup the host. - (void)emailSetupInstructions;
diff --git a/remoting/ios/app/app_delegate.mm b/remoting/ios/app/app_delegate.mm index 3222e5b3..b437fce 100644 --- a/remoting/ios/app/app_delegate.mm +++ b/remoting/ios/app/app_delegate.mm
@@ -15,6 +15,7 @@ #include "ui/base/resource/resource_bundle.h" #import "remoting/ios/app/app_view_controller.h" +#import "remoting/ios/app/help_and_feedback.h" #import "remoting/ios/app/remoting_view_controller.h" #import "remoting/ios/facade/remoting_oauth_authentication.h" @@ -123,10 +124,8 @@ navigationController:navigationController]; } -- (void)navigateToSendFeedback:(UINavigationController*)navigationController { - UIViewController* feedbackController = [[UIViewController alloc] init]; - feedbackController.title = @"Feedback"; - [navigationController pushViewController:feedbackController animated:YES]; +- (void)presentFeedbackFlowWithContext:(NSString*)context { + [HelpAndFeedback.instance presentFeedbackFlowWithContext:context]; } #pragma mark - Private
diff --git a/remoting/ios/app/help_and_feedback.h b/remoting/ios/app/help_and_feedback.h new file mode 100644 index 0000000..ab75aa8 --- /dev/null +++ b/remoting/ios/app/help_and_feedback.h
@@ -0,0 +1,25 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef REMOTING_IOS_APP_HELP_AND_FEEDBACK_H_ +#define REMOTING_IOS_APP_HELP_AND_FEEDBACK_H_ + +#import <UIKit/UIKit.h> + +// This is the base class to provide help and feedback functionalities. The +// base implementation does nothing. +@interface HelpAndFeedback : NSObject + +// This will present the Send Feedback view controller onto the topmost view +// controller. +// context: a unique identifier for the user's place within the app which can be +// used to categorize the feedback report and segment usage metrics. +- (void)presentFeedbackFlowWithContext:(NSString*)context; + +// Instance can only be set once. +@property(nonatomic, class) HelpAndFeedback* instance; + +@end + +#endif // REMOTING_IOS_APP_HELP_AND_FEEDBACK_H_
diff --git a/remoting/ios/app/help_and_feedback.mm b/remoting/ios/app/help_and_feedback.mm new file mode 100644 index 0000000..84d3c7dd --- /dev/null +++ b/remoting/ios/app/help_and_feedback.mm
@@ -0,0 +1,35 @@ +// 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. + +#if !defined(__has_feature) || !__has_feature(objc_arc) +#error "This file requires ARC support." +#endif + +#import "remoting/ios/app/help_and_feedback.h" + +#import "base/logging.h" + +static HelpAndFeedback* g_helpAndFeedback; + +@implementation HelpAndFeedback + +#pragma mark - Public + +- (void)presentFeedbackFlowWithContext:(NSString*)context { + NSLog(@"Called presentFeedbackFlow"); +} + +#pragma mark - Static Properties + ++ (void)setInstance:(HelpAndFeedback*)instance { + DCHECK(!g_helpAndFeedback); + g_helpAndFeedback = instance; +} + ++ (HelpAndFeedback*)instance { + DCHECK(g_helpAndFeedback); + return g_helpAndFeedback; +} + +@end
diff --git a/remoting/ios/app/main.mm b/remoting/ios/app/main.mm index 717c5498f..c19a15e 100644 --- a/remoting/ios/app/main.mm +++ b/remoting/ios/app/main.mm
@@ -12,6 +12,7 @@ #include "base/command_line.h" #include "base/i18n/icu_util.h" #import "remoting/ios/app/app_delegate.h" +#import "remoting/ios/app/help_and_feedback.h" #import "remoting/ios/facade/remoting_oauth_authentication.h" #import "remoting/ios/facade/remoting_service.h" @@ -35,6 +36,7 @@ @autoreleasepool { RemotingService.instance.authentication = [[RemotingOAuthAuthentication alloc] init]; + HelpAndFeedback.instance = [[HelpAndFeedback alloc] init]; return UIApplicationMain( argc, argv, nil, NSStringFromClass([AppDelegate class])); }
diff --git a/remoting/ios/app/settings/remoting_settings_view_controller.mm b/remoting/ios/app/settings/remoting_settings_view_controller.mm index 923847a..4674eeab 100644 --- a/remoting/ios/app/settings/remoting_settings_view_controller.mm +++ b/remoting/ios/app/settings/remoting_settings_view_controller.mm
@@ -17,6 +17,7 @@ #include "base/logging.h" static NSString* const kReusableIdentifierItem = @"remotingSettingsVCItem"; +static NSString* const kFeedbackContext = @"InSessionFeedbackContext"; @interface RemotingSettingsViewController () { MDCAppBar* _appBar; @@ -316,12 +317,19 @@ [weakSelf.navigationController setNavigationBarHidden:NO animated:YES]; }; + // TODO(yuweih): Currently the EAGLView is not captured by the feedback tool. + // To get it working we need to override renderInContext in CAEAGLLayer. SettingOption* sendFeedbackOption = [[SettingOption alloc] init]; sendFeedbackOption.title = @"Send feedback"; sendFeedbackOption.style = FlatButton; sendFeedbackOption.action = ^{ - [AppDelegate.instance navigateToSendFeedback:self.navigationController]; - [weakSelf.navigationController setNavigationBarHidden:NO animated:YES]; + // Dismiss self so that it can capture the screenshot of HostView. + [weakSelf dismissViewControllerAnimated:YES + completion:^{ + [AppDelegate.instance + presentFeedbackFlowWithContext: + kFeedbackContext]; + }]; }; [_content addObject:@[ helpCenterOption, faqsOption, sendFeedbackOption ]];
diff --git a/services/data_decoder/image_decoder_impl.cc b/services/data_decoder/image_decoder_impl.cc index 2ecabe6..f31a5c18 100644 --- a/services/data_decoder/image_decoder_impl.cc +++ b/services/data_decoder/image_decoder_impl.cc
@@ -40,9 +40,9 @@ bool shrink_to_fit, int64_t max_size_in_bytes, const gfx::Size& desired_image_frame_size, - const DecodeImageCallback& callback) { + DecodeImageCallback callback) { if (encoded_data.size() == 0) { - callback.Run(SkBitmap()); + std::move(callback).Run(SkBitmap()); return; } @@ -103,7 +103,7 @@ } } - callback.Run(decoded_image); + std::move(callback).Run(decoded_image); } } // namespace data_decoder
diff --git a/services/data_decoder/image_decoder_impl.h b/services/data_decoder/image_decoder_impl.h index b669b254..b4186171 100644 --- a/services/data_decoder/image_decoder_impl.h +++ b/services/data_decoder/image_decoder_impl.h
@@ -26,7 +26,7 @@ bool shrink_to_fit, int64_t max_size_in_bytes, const gfx::Size& desired_image_frame_size, - const DecodeImageCallback& callback) override; + DecodeImageCallback callback) override; private: const std::unique_ptr<service_manager::ServiceContextRef> service_ref_;
diff --git a/services/data_decoder/public/cpp/decode_image.cc b/services/data_decoder/public/cpp/decode_image.cc index 3efd460b..9cc6e53 100644 --- a/services/data_decoder/public/cpp/decode_image.cc +++ b/services/data_decoder/public/cpp/decode_image.cc
@@ -16,16 +16,9 @@ // ImageDecoder pipe open just long enough to dispatch a reply, at which point // the reply is forwarded to the wrapped |callback|. void OnDecodeImage(mojom::ImageDecoderPtr decoder, - const mojom::ImageDecoder::DecodeImageCallback& callback, + mojom::ImageDecoder::DecodeImageCallback callback, const SkBitmap& bitmap) { - callback.Run(bitmap); -} - -// Called in the case of a connection error on an ImageDecoder proxy. -void OnConnectionError( - const mojom::ImageDecoder::DecodeImageCallback& callback) { - SkBitmap null_bitmap; - callback.Run(null_bitmap); + std::move(callback).Run(bitmap); } } // namespace @@ -36,16 +29,19 @@ bool shrink_to_fit, uint64_t max_size_in_bytes, const gfx::Size& desired_image_frame_size, - const mojom::ImageDecoder::DecodeImageCallback& callback) { + mojom::ImageDecoder::DecodeImageCallback callback) { mojom::ImageDecoderPtr decoder; connector->BindInterface(mojom::kServiceName, &decoder); - decoder.set_connection_error_handler( - base::Bind(&OnConnectionError, callback)); + + // |call_once| runs |callback| on its first invocation. + auto call_once = base::AdaptCallbackForRepeating(std::move(callback)); + decoder.set_connection_error_handler(base::Bind(call_once, SkBitmap())); + mojom::ImageDecoder* raw_decoder = decoder.get(); raw_decoder->DecodeImage( encoded_bytes, codec, shrink_to_fit, max_size_in_bytes, desired_image_frame_size, - base::Bind(&OnDecodeImage, base::Passed(&decoder), callback)); + base::BindOnce(&OnDecodeImage, std::move(decoder), std::move(call_once))); } } // namespace data_decoder
diff --git a/services/data_decoder/public/cpp/decode_image.h b/services/data_decoder/public/cpp/decode_image.h index 2517fdc..0827b1e 100644 --- a/services/data_decoder/public/cpp/decode_image.h +++ b/services/data_decoder/public/cpp/decode_image.h
@@ -38,7 +38,7 @@ bool shrink_to_fit, uint64_t max_size_in_bytes, const gfx::Size& desired_image_frame_size, - const mojom::ImageDecoder::DecodeImageCallback& callback); + mojom::ImageDecoder::DecodeImageCallback callback); } // namespace data_decoder
diff --git a/services/data_decoder/public/interfaces/BUILD.gn b/services/data_decoder/public/interfaces/BUILD.gn index 63f687a6..8e695db 100644 --- a/services/data_decoder/public/interfaces/BUILD.gn +++ b/services/data_decoder/public/interfaces/BUILD.gn
@@ -14,9 +14,6 @@ "//skia/public/interfaces", "//ui/gfx/geometry/mojo", ] - - # TODO(crbug.com/714018): Convert the implementation to use OnceCallback. - use_once_callback = false } mojom("constants") {
diff --git a/services/file/file_service.cc b/services/file/file_service.cc index 324eb48..26a2497 100644 --- a/services/file/file_service.cc +++ b/services/file/file_service.cc
@@ -7,6 +7,7 @@ #include "base/bind.h" #include "base/memory/ptr_util.h" #include "base/memory/weak_ptr.h" +#include "base/task_scheduler/post_task.h" #include "components/filesystem/lock_table.h" #include "components/leveldb/leveldb_service_impl.h" #include "mojo/public/cpp/bindings/strong_binding.h" @@ -47,7 +48,7 @@ public: // Created on the main thread. LevelDBServiceObjects( - scoped_refptr<base::SingleThreadTaskRunner> file_task_runner) + scoped_refptr<base::SequencedTaskRunner> file_task_runner) : file_task_runner_(std::move(file_task_runner)) {} // Destroyed on the |leveldb_service_runner_|. @@ -63,7 +64,7 @@ } private: - scoped_refptr<base::SingleThreadTaskRunner> file_task_runner_; + scoped_refptr<base::SequencedTaskRunner> file_task_runner_; // Variables that are only accessible on the |leveldb_service_runner_| thread. std::unique_ptr<leveldb::mojom::LevelDBService> leveldb_service_; @@ -72,18 +73,16 @@ DISALLOW_COPY_AND_ASSIGN(LevelDBServiceObjects); }; -std::unique_ptr<service_manager::Service> CreateFileService( - scoped_refptr<base::SingleThreadTaskRunner> file_service_runner, - scoped_refptr<base::SingleThreadTaskRunner> leveldb_service_runner) { - return base::MakeUnique<FileService>(std::move(file_service_runner), - std::move(leveldb_service_runner)); +std::unique_ptr<service_manager::Service> CreateFileService() { + return base::MakeUnique<FileService>(); } -FileService::FileService( - scoped_refptr<base::SingleThreadTaskRunner> file_service_runner, - scoped_refptr<base::SingleThreadTaskRunner> leveldb_service_runner) - : file_service_runner_(std::move(file_service_runner)), - leveldb_service_runner_(std::move(leveldb_service_runner)) { +FileService::FileService() + : file_service_runner_(base::CreateSequencedTaskRunnerWithTraits( + {base::MayBlock(), base::TaskShutdownBehavior::BLOCK_SHUTDOWN})), + leveldb_service_runner_(base::CreateSequencedTaskRunnerWithTraits( + {base::MayBlock(), base::WithBaseSyncPrimitives(), + base::TaskShutdownBehavior::BLOCK_SHUTDOWN})) { registry_.AddInterface<leveldb::mojom::LevelDBService>(base::Bind( &FileService::BindLevelDBServiceRequest, base::Unretained(this))); registry_.AddInterface<mojom::FileSystem>(
diff --git a/services/file/file_service.h b/services/file/file_service.h index 124b1c9..49a2f25 100644 --- a/services/file/file_service.h +++ b/services/file/file_service.h
@@ -7,7 +7,7 @@ #include "base/callback_forward.h" #include "base/memory/ref_counted.h" -#include "base/single_thread_task_runner.h" +#include "base/sequenced_task_runner.h" #include "components/filesystem/lock_table.h" #include "components/leveldb/public/interfaces/leveldb.mojom.h" #include "mojo/public/cpp/bindings/binding_set.h" @@ -17,15 +17,11 @@ namespace file { -std::unique_ptr<service_manager::Service> CreateFileService( - scoped_refptr<base::SingleThreadTaskRunner> file_service_runner, - scoped_refptr<base::SingleThreadTaskRunner> leveldb_service_runner); +std::unique_ptr<service_manager::Service> CreateFileService(); class FileService : public service_manager::Service { public: - FileService( - scoped_refptr<base::SingleThreadTaskRunner> file_service_runner, - scoped_refptr<base::SingleThreadTaskRunner> leveldb_service_runner); + FileService(); ~FileService() override; private: @@ -44,8 +40,8 @@ void OnLevelDBServiceError(); - scoped_refptr<base::SingleThreadTaskRunner> file_service_runner_; - scoped_refptr<base::SingleThreadTaskRunner> leveldb_service_runner_; + scoped_refptr<base::SequencedTaskRunner> file_service_runner_; + scoped_refptr<base::SequencedTaskRunner> leveldb_service_runner_; // We create these two objects so we can delete them on the correct task // runners.
diff --git a/services/service_manager/embedder/main.cc b/services/service_manager/embedder/main.cc index 6d8ad13..7acf0e4 100644 --- a/services/service_manager/embedder/main.cc +++ b/services/service_manager/embedder/main.cc
@@ -464,7 +464,7 @@ break; case ProcessType::kEmbedder: - if (ServiceManagerIsRemote()) + if (delegate->IsEmbedderSubprocess()) CommonSubprocessInit(); exit_code = delegate->RunEmbedderProcess(); break;
diff --git a/services/service_manager/embedder/main_delegate.cc b/services/service_manager/embedder/main_delegate.cc index 51ed032..08804b4 100644 --- a/services/service_manager/embedder/main_delegate.cc +++ b/services/service_manager/embedder/main_delegate.cc
@@ -10,6 +10,10 @@ MainDelegate::~MainDelegate() = default; +bool MainDelegate::IsEmbedderSubprocess() { + return false; +} + int MainDelegate::RunEmbedderProcess() { return 0; }
diff --git a/services/service_manager/embedder/main_delegate.h b/services/service_manager/embedder/main_delegate.h index 9e1b7d3..4b29a413 100644 --- a/services/service_manager/embedder/main_delegate.h +++ b/services/service_manager/embedder/main_delegate.h
@@ -47,6 +47,10 @@ // failure. virtual int Initialize(const InitializeParams& params) = 0; + // Indicates whether this (embedder) process should be treated as a subprocess + // for the sake of some platform-specific environment initialization details. + virtual bool IsEmbedderSubprocess(); + // Runs the embedder's own main process logic. Called exactly once after a // successful call to Initialize(), and only if the Service Manager core does // not know what to do otherwise -- i.e., if it is not starting a new Service
diff --git a/storage/browser/blob/blob_data_handle.cc b/storage/browser/blob/blob_data_handle.cc index 0ba7b36..5b5a9289 100644 --- a/storage/browser/blob/blob_data_handle.cc +++ b/storage/browser/blob/blob_data_handle.cc
@@ -146,6 +146,15 @@ shared_->context_->RunOnConstructionComplete(shared_->uuid_, done); } +void BlobDataHandle::RunOnConstructionBegin(const BlobStatusCallback& done) { + DCHECK(io_task_runner_->RunsTasksInCurrentSequence()); + if (!shared_->context_.get()) { + done.Run(BlobStatus::ERR_INVALID_CONSTRUCTION_ARGUMENTS); + return; + } + shared_->context_->RunOnConstructionBegin(shared_->uuid_, done); +} + std::unique_ptr<BlobDataSnapshot> BlobDataHandle::CreateSnapshot() const { DCHECK(io_task_runner_->RunsTasksInCurrentSequence()); if (!shared_->context_.get())
diff --git a/storage/browser/blob/blob_data_handle.h b/storage/browser/blob/blob_data_handle.h index 5346b88..4a5f010 100644 --- a/storage/browser/blob/blob_data_handle.h +++ b/storage/browser/blob/blob_data_handle.h
@@ -65,11 +65,20 @@ // The callback will be run on the IO thread when construction of the blob // is complete. If construction is already complete, then the task is run // immediately on the current message loop (i.e. IO thread). - // Must be called on IO thread. Returns if construction successful. + // Must be called on IO thread. // Calling this multiple times results in registering multiple // completion callbacks. void RunOnConstructionComplete(const BlobStatusCallback& done); + // The callback will be run on the IO thread when construction of the blob + // has began. If construction has already began (or has finished already), + // then the task is run immediately on the current message loop (i.e. IO + // thread). + // Must be called on IO thread. + // Calling this multiple times results in registering multiple + // callbacks. + void RunOnConstructionBegin(const BlobStatusCallback& done); + // A BlobReader is used to read the data from the blob. This object is // intended to be transient and should not be stored for any extended period // of time.
diff --git a/storage/browser/blob/blob_entry.h b/storage/browser/blob/blob_entry.h index 4dfa7a8..cc514308 100644 --- a/storage/browser/blob/blob_entry.h +++ b/storage/browser/blob/blob_entry.h
@@ -88,6 +88,10 @@ // When our blob finishes building these callbacks are called. std::vector<BlobStatusCallback> build_completion_callbacks; + // When our blob is no longer in PENDING_CONSTRUCTION state these callbacks + // are called. + std::vector<BlobStatusCallback> build_started_callbacks; + private: DISALLOW_COPY_AND_ASSIGN(BuildingState); };
diff --git a/storage/browser/blob/blob_reader.cc b/storage/browser/blob/blob_reader.cc index 56cf9ad..97948a2 100644 --- a/storage/browser/blob/blob_reader.cc +++ b/storage/browser/blob/blob_reader.cc
@@ -61,6 +61,7 @@ case BlobStatus::PENDING_QUOTA: case BlobStatus::PENDING_TRANSPORT: case BlobStatus::PENDING_INTERNALS: + case BlobStatus::PENDING_CONSTRUCTION: NOTREACHED(); } NOTREACHED();
diff --git a/storage/browser/blob/blob_registry_impl.cc b/storage/browser/blob/blob_registry_impl.cc index 1233404b..bc398b3 100644 --- a/storage/browser/blob/blob_registry_impl.cc +++ b/storage/browser/blob/blob_registry_impl.cc
@@ -4,11 +4,253 @@ #include "storage/browser/blob/blob_registry_impl.h" +#include "base/barrier_closure.h" +#include "base/callback_helpers.h" +#include "storage/browser/blob/blob_data_builder.h" #include "storage/browser/blob/blob_impl.h" #include "storage/browser/blob/blob_storage_context.h" namespace storage { +class BlobRegistryImpl::BlobUnderConstruction { + public: + BlobUnderConstruction(BlobRegistryImpl* blob_registry, + const std::string& uuid, + const std::string& content_type, + const std::string& content_disposition, + std::vector<mojom::DataElementPtr> elements, + mojo::ReportBadMessageCallback bad_message_callback) + : blob_registry_(blob_registry), + builder_(uuid), + elements_(std::move(elements)), + bad_message_callback_(std::move(bad_message_callback)), + weak_ptr_factory_(this) { + builder_.set_content_type(content_type); + builder_.set_content_disposition(content_disposition); + } + + // Call this after constructing to kick of fetching of UUIDs of blobs + // referenced by this new blob. This (and any further methods) could end up + // deleting |this| by removing it from the blobs_under_construction_ + // collection in the blob service. + void StartFetchingBlobUUIDs(); + + ~BlobUnderConstruction() {} + + const std::string& uuid() const { return builder_.uuid(); } + + private: + BlobStorageContext* context() const { return blob_registry_->context_; } + + // Marks this blob as broken. If an optional |bad_message_reason| is provided, + // this will also report a BadMessage on the binding over which the initial + // Register request was received. + // Also deletes |this| by removing it from the blobs_under_construction_ list. + void MarkAsBroken(BlobStatus reason, + const std::string& bad_message_reason = "") { + context()->CancelBuildingBlob(uuid(), reason); + if (!bad_message_reason.empty()) + std::move(bad_message_callback_).Run(bad_message_reason); + blob_registry_->blobs_under_construction_.erase(uuid()); + } + + // Called when the UUID of a referenced blob is received. + void ReceivedBlobUUID(size_t blob_index, const std::string& uuid); + + // Called by either StartFetchingBlobUUIDs or ReceivedBlobUUID when all the + // UUIDs of referenced blobs have been resolved. Starts checking for circular + // references. Before we can proceed with actually building the blob, all + // referenced blobs also need to have resolved their referenced blobs (to + // always be able to calculate the size of the newly built blob). To ensure + // this we might have to wait for one or more possibly indirectly dependent + // blobs to also have resolved the UUIDs of their dependencies. This waiting + // is kicked of by this method. + void ResolvedAllBlobUUIDs(); + + void DependentBlobReady(BlobStatus status); + + // Called when all blob dependencies have been resolved, and we're sure there + // are no circular dependencies. This finally kicks of the actually building + // of the blob, and figures out how to transport any bytes that might need + // transporting. + void ResolvedAllBlobDependencies(); + +#if DCHECK_IS_ON() + // Returns true if the DAG made up by this blob and any other blobs that + // are currently being built by BlobRegistryImpl contains any cycles. + // |path_from_root| should contain all the nodes that have been visited so + // far on a path from whatever node we started our search from. + bool ContainsCycles( + std::unordered_set<BlobUnderConstruction*>* path_from_root); +#endif + + // BlobRegistryImpl we belong to. + BlobRegistryImpl* blob_registry_; + + // BlobDataBuilder for the blob under construction. Is created in the + // constructor, but not filled until all referenced blob UUIDs have been + // resolved. + BlobDataBuilder builder_; + + // Elements as passed in to Register. + std::vector<mojom::DataElementPtr> elements_; + + // Callback to report a BadMessage on the binding on which Register was + // called. + mojo::ReportBadMessageCallback bad_message_callback_; + + // List of UUIDs for referenced blobs. Same size as |elements_|. All entries + // for non-blob elements will remain empty strings. + std::vector<std::string> referenced_blob_uuids_; + + // Number of blob UUIDs that have been resolved. + size_t resolved_blob_uuid_count_ = 0; + + // Number of dependent blobs that have started constructing. + size_t ready_dependent_blob_count_ = 0; + + base::WeakPtrFactory<BlobUnderConstruction> weak_ptr_factory_; + DISALLOW_COPY_AND_ASSIGN(BlobUnderConstruction); +}; + +void BlobRegistryImpl::BlobUnderConstruction::StartFetchingBlobUUIDs() { + size_t blob_count = 0; + for (size_t i = 0; i < elements_.size(); ++i) { + const auto& element = elements_[i]; + if (element->is_blob()) { + if (element->get_blob()->blob.encountered_error()) { + // Will delete |this|. + MarkAsBroken(BlobStatus::ERR_REFERENCED_BLOB_BROKEN); + return; + } + + // If connection to blob is broken, something bad happened, so mark this + // new blob as broken, which will delete |this| and keep it from doing + // unneeded extra work. + element->get_blob()->blob.set_connection_error_handler(base::BindOnce( + &BlobUnderConstruction::MarkAsBroken, weak_ptr_factory_.GetWeakPtr(), + BlobStatus::ERR_REFERENCED_BLOB_BROKEN, "")); + + element->get_blob()->blob->GetInternalUUID( + base::BindOnce(&BlobUnderConstruction::ReceivedBlobUUID, + weak_ptr_factory_.GetWeakPtr(), blob_count++)); + } + } + referenced_blob_uuids_.resize(blob_count); + + // TODO(mek): Do we need some kind of timeout for fetching the UUIDs? + // Without it a blob could forever remaing pending if a renderer sends us + // a BlobPtr connected to a (malicious) non-responding implementation. + + // If there were no unresolved blobs, immediately proceed to the next step. + // Currently this will only happen if there are no blobs referenced + // whatsoever, but hopefully in the future blob UUIDs will be cached in the + // message pipe handle, making things much more efficient in the common case. + if (resolved_blob_uuid_count_ == referenced_blob_uuids_.size()) + ResolvedAllBlobUUIDs(); +} + +void BlobRegistryImpl::BlobUnderConstruction::ReceivedBlobUUID( + size_t blob_index, + const std::string& uuid) { + DCHECK(referenced_blob_uuids_[blob_index].empty()); + DCHECK_LT(resolved_blob_uuid_count_, referenced_blob_uuids_.size()); + + referenced_blob_uuids_[blob_index] = uuid; + if (++resolved_blob_uuid_count_ == referenced_blob_uuids_.size()) + ResolvedAllBlobUUIDs(); +} + +void BlobRegistryImpl::BlobUnderConstruction::ResolvedAllBlobUUIDs() { + DCHECK_EQ(resolved_blob_uuid_count_, referenced_blob_uuids_.size()); + +#if DCHECK_IS_ON() + std::unordered_set<BlobUnderConstruction*> visited; + if (ContainsCycles(&visited)) { + MarkAsBroken(BlobStatus::ERR_INVALID_CONSTRUCTION_ARGUMENTS, + "Cycles in blob references in BlobRegistry::Register"); + return; + } +#endif + + if (referenced_blob_uuids_.size() == 0) { + ResolvedAllBlobDependencies(); + return; + } + + for (const std::string& blob_uuid : referenced_blob_uuids_) { + if (blob_uuid.empty() || blob_uuid == uuid() || + !context()->registry().HasEntry(blob_uuid)) { + // Will delete |this|. + MarkAsBroken(BlobStatus::ERR_INVALID_CONSTRUCTION_ARGUMENTS, + "Bad blob references in BlobRegistry::Register"); + return; + } + + std::unique_ptr<BlobDataHandle> handle = + context()->GetBlobDataFromUUID(blob_uuid); + handle->RunOnConstructionBegin( + base::Bind(&BlobUnderConstruction::DependentBlobReady, + weak_ptr_factory_.GetWeakPtr())); + } +} + +void BlobRegistryImpl::BlobUnderConstruction::DependentBlobReady( + BlobStatus status) { + if (++ready_dependent_blob_count_ == referenced_blob_uuids_.size()) { + // Asynchronously call ResolvedAllBlobDependencies, as otherwise |this| + // might end up getting deleted while ResolvedAllBlobUUIDs is still + // iterating over |referenced_blob_uuids_|. + base::SequencedTaskRunnerHandle::Get()->PostTask( + FROM_HERE, + base::Bind(&BlobUnderConstruction::ResolvedAllBlobDependencies, + weak_ptr_factory_.GetWeakPtr())); + } +} + +void BlobRegistryImpl::BlobUnderConstruction::ResolvedAllBlobDependencies() { + DCHECK_EQ(resolved_blob_uuid_count_, referenced_blob_uuids_.size()); + DCHECK_EQ(ready_dependent_blob_count_, referenced_blob_uuids_.size()); + + // TODO(mek): Fill BlobDataBuilder with elements_ other than blobs. + auto blob_uuid_it = referenced_blob_uuids_.begin(); + for (const auto& element : elements_) { + if (element->is_blob()) { + DCHECK(blob_uuid_it != referenced_blob_uuids_.end()); + const std::string& blob_uuid = *blob_uuid_it++; + builder_.AppendBlob(blob_uuid, element->get_blob()->offset, + element->get_blob()->length); + } + } + std::unique_ptr<BlobDataHandle> new_handle = + context()->BuildPreregisteredBlob( + builder_, BlobStorageContext::TransportAllowedCallback()); + + // TODO(mek): Update BlobImpl with new BlobDataHandle. Although handles + // only differ in their size() attribute, which is currently not used by + // BlobImpl. + DCHECK(!BlobStatusIsPending(new_handle->GetBlobStatus())); +} + +#if DCHECK_IS_ON() +bool BlobRegistryImpl::BlobUnderConstruction::ContainsCycles( + std::unordered_set<BlobUnderConstruction*>* path_from_root) { + if (!path_from_root->insert(this).second) + return true; + for (const std::string& blob_uuid : referenced_blob_uuids_) { + if (blob_uuid.empty()) + continue; + auto it = blob_registry_->blobs_under_construction_.find(blob_uuid); + if (it == blob_registry_->blobs_under_construction_.end()) + continue; + if (it->second->ContainsCycles(path_from_root)) + return true; + } + path_from_root->erase(this); + return false; +} +#endif + BlobRegistryImpl::BlobRegistryImpl(BlobStorageContext* context) : context_(context), weak_ptr_factory_(this) {} @@ -24,16 +266,24 @@ const std::string& content_disposition, std::vector<mojom::DataElementPtr> elements, RegisterCallback callback) { - if (uuid.empty() || context_->registry().HasEntry(uuid)) { + if (uuid.empty() || context_->registry().HasEntry(uuid) || + base::ContainsKey(blobs_under_construction_, uuid)) { bindings_.ReportBadMessage("Invalid UUID passed to BlobRegistry::Register"); return; } - // TODO(mek): Actually register the blob. + // TODO(mek): Security policy checks for files and filesystem items. + + blobs_under_construction_[uuid] = base::MakeUnique<BlobUnderConstruction>( + this, uuid, content_type, content_disposition, std::move(elements), + bindings_.GetBadMessageCallback()); + std::unique_ptr<BlobDataHandle> handle = - context_->AddBrokenBlob(uuid, content_type, content_disposition, - BlobStatus::ERR_SOURCE_DIED_IN_TRANSIT); + context_->AddFutureBlob(uuid, content_type, content_disposition); BlobImpl::Create(std::move(handle), std::move(blob)); + + blobs_under_construction_[uuid]->StartFetchingBlobUUIDs(); + std::move(callback).Run(); }
diff --git a/storage/browser/blob/blob_registry_impl.h b/storage/browser/blob/blob_registry_impl.h index 98f5279..7fa0e4d8 100644 --- a/storage/browser/blob/blob_registry_impl.h +++ b/storage/browser/blob/blob_registry_impl.h
@@ -30,10 +30,15 @@ const std::string& uuid) override; private: + class BlobUnderConstruction; + BlobStorageContext* context_; mojo::BindingSet<mojom::BlobRegistry> bindings_; + std::map<std::string, std::unique_ptr<BlobUnderConstruction>> + blobs_under_construction_; + base::WeakPtrFactory<BlobRegistryImpl> weak_ptr_factory_; DISALLOW_COPY_AND_ASSIGN(BlobRegistryImpl); };
diff --git a/storage/browser/blob/blob_registry_impl_unittest.cc b/storage/browser/blob/blob_registry_impl_unittest.cc index e4280a5..a181ebf 100644 --- a/storage/browser/blob/blob_registry_impl_unittest.cc +++ b/storage/browser/blob/blob_registry_impl_unittest.cc
@@ -6,6 +6,7 @@ #include "base/test/scoped_task_environment.h" #include "mojo/edk/embedder/embedder.h" +#include "mojo/public/cpp/bindings/strong_binding.h" #include "storage/browser/blob/blob_data_builder.h" #include "storage/browser/blob/blob_data_handle.h" #include "storage/browser/blob/blob_storage_context.h" @@ -13,6 +14,27 @@ namespace storage { +namespace { + +class MockBlob : public mojom::Blob { + public: + explicit MockBlob(const std::string& uuid) : uuid_(uuid) {} + + void Clone(mojom::BlobRequest request) override { + mojo::MakeStrongBinding(base::MakeUnique<MockBlob>(uuid_), + std::move(request)); + } + + void GetInternalUUID(GetInternalUUIDCallback callback) override { + std::move(callback).Run(uuid_); + } + + private: + std::string uuid_; +}; + +} // namespace + class BlobRegistryImplTest : public testing::Test { public: void SetUp() override { @@ -55,6 +77,14 @@ bad_messages_.push_back(error); } + void WaitForBlobCompletion(BlobDataHandle* blob_handle) { + base::RunLoop loop; + blob_handle->RunOnConstructionComplete(base::Bind( + [](const base::Closure& closure, BlobStatus status) { closure.Run(); }, + loop.QuitClosure())); + loop.Run(); + } + protected: base::test::ScopedTaskEnvironment scoped_task_environment_; std::unique_ptr<BlobStorageContext> context_; @@ -92,51 +122,47 @@ EXPECT_TRUE(blob.encountered_error()); } -TEST_F(BlobRegistryImplTest, RegisterEmptyUUID) { +TEST_F(BlobRegistryImplTest, Register_EmptyUUID) { mojom::BlobPtr blob; - base::RunLoop loop; - registry_.set_connection_error_handler(loop.QuitClosure()); - registry_->Register(MakeRequest(&blob), "", "", "", - std::vector<mojom::DataElementPtr>(), loop.QuitClosure()); - loop.Run(); + EXPECT_FALSE(registry_->Register(MakeRequest(&blob), "", "", "", + std::vector<mojom::DataElementPtr>())); EXPECT_EQ(1u, bad_messages_.size()); + + registry_.FlushForTesting(); EXPECT_TRUE(registry_.encountered_error()); blob.FlushForTesting(); EXPECT_TRUE(blob.encountered_error()); } -TEST_F(BlobRegistryImplTest, RegisterExistingUUID) { +TEST_F(BlobRegistryImplTest, Register_ExistingUUID) { const std::string kId = "id"; std::unique_ptr<BlobDataHandle> handle = CreateBlobFromString(kId, "hello world"); mojom::BlobPtr blob; - base::RunLoop loop; - registry_.set_connection_error_handler(loop.QuitClosure()); - registry_->Register(MakeRequest(&blob), kId, "", "", - std::vector<mojom::DataElementPtr>(), loop.QuitClosure()); - loop.Run(); + EXPECT_FALSE(registry_->Register(MakeRequest(&blob), kId, "", "", + std::vector<mojom::DataElementPtr>())); EXPECT_EQ(1u, bad_messages_.size()); + + registry_.FlushForTesting(); EXPECT_TRUE(registry_.encountered_error()); blob.FlushForTesting(); EXPECT_TRUE(blob.encountered_error()); } -TEST_F(BlobRegistryImplTest, RegisterEmptyBlob) { +TEST_F(BlobRegistryImplTest, Register_EmptyBlob) { const std::string kId = "id"; const std::string kContentType = "content/type"; const std::string kContentDisposition = "disposition"; mojom::BlobPtr blob; - base::RunLoop loop; - registry_->Register(MakeRequest(&blob), kId, kContentType, - kContentDisposition, std::vector<mojom::DataElementPtr>(), - loop.QuitClosure()); - loop.Run(); + EXPECT_TRUE(registry_->Register(MakeRequest(&blob), kId, kContentType, + kContentDisposition, + std::vector<mojom::DataElementPtr>())); EXPECT_TRUE(bad_messages_.empty()); @@ -146,6 +172,197 @@ EXPECT_EQ(kContentType, handle->content_type()); EXPECT_EQ(kContentDisposition, handle->content_disposition()); EXPECT_EQ(0u, handle->size()); + + WaitForBlobCompletion(handle.get()); + + EXPECT_FALSE(handle->IsBroken()); + EXPECT_EQ(BlobStatus::DONE, handle->GetBlobStatus()); +} + +TEST_F(BlobRegistryImplTest, Register_ReferencedBlobClosedPipe) { + const std::string kId = "id"; + + std::vector<mojom::DataElementPtr> elements; + mojom::BlobPtr referenced_blob; + MakeRequest(&referenced_blob); + elements.push_back(mojom::DataElement::NewBlob( + mojom::DataElementBlob::New(std::move(referenced_blob), 0, 16))); + + mojom::BlobPtr blob; + EXPECT_TRUE(registry_->Register(MakeRequest(&blob), kId, "", "", + std::move(elements))); + EXPECT_TRUE(bad_messages_.empty()); + + std::unique_ptr<BlobDataHandle> handle = context_->GetBlobDataFromUUID(kId); + WaitForBlobCompletion(handle.get()); + + EXPECT_TRUE(handle->IsBroken()); + EXPECT_EQ(BlobStatus::ERR_REFERENCED_BLOB_BROKEN, handle->GetBlobStatus()); +} + +TEST_F(BlobRegistryImplTest, Register_SelfReference) { + const std::string kId = "id"; + + mojom::BlobPtr blob; + mojom::BlobRequest blob_request = MakeRequest(&blob); + + std::vector<mojom::DataElementPtr> elements; + elements.push_back(mojom::DataElement::NewBlob( + mojom::DataElementBlob::New(std::move(blob), 0, 16))); + + EXPECT_TRUE(registry_->Register(std::move(blob_request), kId, "", "", + std::move(elements))); + EXPECT_TRUE(bad_messages_.empty()); + + std::unique_ptr<BlobDataHandle> handle = context_->GetBlobDataFromUUID(kId); + WaitForBlobCompletion(handle.get()); + + EXPECT_TRUE(handle->IsBroken()); + EXPECT_EQ(BlobStatus::ERR_INVALID_CONSTRUCTION_ARGUMENTS, + handle->GetBlobStatus()); + + EXPECT_EQ(1u, bad_messages_.size()); + + registry_.FlushForTesting(); + EXPECT_TRUE(registry_.encountered_error()); +} + +TEST_F(BlobRegistryImplTest, Register_CircularReference) { + const std::string kId1 = "id1"; + const std::string kId2 = "id2"; + const std::string kId3 = "id3"; + + mojom::BlobPtr blob1, blob2, blob3; + mojom::BlobRequest blob_request1 = MakeRequest(&blob1); + mojom::BlobRequest blob_request2 = MakeRequest(&blob2); + mojom::BlobRequest blob_request3 = MakeRequest(&blob3); + + std::vector<mojom::DataElementPtr> elements1; + elements1.push_back(mojom::DataElement::NewBlob( + mojom::DataElementBlob::New(std::move(blob1), 0, 16))); + + std::vector<mojom::DataElementPtr> elements2; + elements2.push_back(mojom::DataElement::NewBlob( + mojom::DataElementBlob::New(std::move(blob2), 0, 16))); + + std::vector<mojom::DataElementPtr> elements3; + elements3.push_back(mojom::DataElement::NewBlob( + mojom::DataElementBlob::New(std::move(blob3), 0, 16))); + + EXPECT_TRUE(registry_->Register(std::move(blob_request1), kId1, "", "", + std::move(elements2))); + EXPECT_TRUE(registry_->Register(std::move(blob_request2), kId2, "", "", + std::move(elements3))); + EXPECT_TRUE(registry_->Register(std::move(blob_request3), kId3, "", "", + std::move(elements1))); + EXPECT_TRUE(bad_messages_.empty()); + +#if DCHECK_IS_ON() + // Without DCHECKs on this will just hang forever. + std::unique_ptr<BlobDataHandle> handle1 = context_->GetBlobDataFromUUID(kId1); + std::unique_ptr<BlobDataHandle> handle2 = context_->GetBlobDataFromUUID(kId2); + std::unique_ptr<BlobDataHandle> handle3 = context_->GetBlobDataFromUUID(kId3); + WaitForBlobCompletion(handle1.get()); + WaitForBlobCompletion(handle2.get()); + WaitForBlobCompletion(handle3.get()); + + EXPECT_TRUE(handle1->IsBroken()); + EXPECT_TRUE(handle2->IsBroken()); + EXPECT_TRUE(handle3->IsBroken()); + + BlobStatus status1 = handle1->GetBlobStatus(); + BlobStatus status2 = handle2->GetBlobStatus(); + BlobStatus status3 = handle3->GetBlobStatus(); + EXPECT_TRUE(status1 == BlobStatus::ERR_INVALID_CONSTRUCTION_ARGUMENTS || + status1 == BlobStatus::ERR_REFERENCED_BLOB_BROKEN); + EXPECT_TRUE(status2 == BlobStatus::ERR_INVALID_CONSTRUCTION_ARGUMENTS || + status2 == BlobStatus::ERR_REFERENCED_BLOB_BROKEN); + EXPECT_TRUE(status3 == BlobStatus::ERR_INVALID_CONSTRUCTION_ARGUMENTS || + status3 == BlobStatus::ERR_REFERENCED_BLOB_BROKEN); + EXPECT_EQ((status1 == BlobStatus::ERR_INVALID_CONSTRUCTION_ARGUMENTS) + + (status2 == BlobStatus::ERR_INVALID_CONSTRUCTION_ARGUMENTS) + + (status3 == BlobStatus::ERR_INVALID_CONSTRUCTION_ARGUMENTS), + 1); + + EXPECT_EQ(1u, bad_messages_.size()); + + registry_.FlushForTesting(); + EXPECT_TRUE(registry_.encountered_error()); +#endif +} + +TEST_F(BlobRegistryImplTest, Register_NonExistentBlob) { + const std::string kId = "id"; + + std::vector<mojom::DataElementPtr> elements; + mojom::BlobPtr referenced_blob; + mojo::MakeStrongBinding(base::MakeUnique<MockBlob>("mock blob"), + MakeRequest(&referenced_blob)); + elements.push_back(mojom::DataElement::NewBlob( + mojom::DataElementBlob::New(std::move(referenced_blob), 0, 16))); + + mojom::BlobPtr blob; + EXPECT_TRUE(registry_->Register(MakeRequest(&blob), kId, "", "", + std::move(elements))); + EXPECT_TRUE(bad_messages_.empty()); + + std::unique_ptr<BlobDataHandle> handle = context_->GetBlobDataFromUUID(kId); + WaitForBlobCompletion(handle.get()); + + EXPECT_TRUE(handle->IsBroken()); + EXPECT_EQ(BlobStatus::ERR_INVALID_CONSTRUCTION_ARGUMENTS, + handle->GetBlobStatus()); + + EXPECT_EQ(1u, bad_messages_.size()); + + registry_.FlushForTesting(); + EXPECT_TRUE(registry_.encountered_error()); +} + +TEST_F(BlobRegistryImplTest, Register_ValidBlobReferences) { + const std::string kId1 = "id1"; + std::unique_ptr<BlobDataHandle> handle = + CreateBlobFromString(kId1, "hello world"); + mojom::BlobPtr blob1; + mojo::MakeStrongBinding(base::MakeUnique<MockBlob>(kId1), + MakeRequest(&blob1)); + + const std::string kId2 = "id2"; + mojom::BlobPtr blob2; + mojom::BlobRequest blob_request2 = MakeRequest(&blob2); + + std::vector<mojom::DataElementPtr> elements1; + elements1.push_back(mojom::DataElement::NewBlob( + mojom::DataElementBlob::New(std::move(blob1), 0, 8))); + + std::vector<mojom::DataElementPtr> elements2; + elements2.push_back(mojom::DataElement::NewBlob( + mojom::DataElementBlob::New(std::move(blob2), 0, 8))); + + mojom::BlobPtr final_blob; + const std::string kId3 = "id3"; + EXPECT_TRUE(registry_->Register(MakeRequest(&final_blob), kId3, "", "", + std::move(elements2))); + EXPECT_TRUE(registry_->Register(std::move(blob_request2), kId2, "", "", + std::move(elements1))); + + // kId3 references kId2, kId2 reference kId1, kId1 is a simple string. + std::unique_ptr<BlobDataHandle> handle2 = context_->GetBlobDataFromUUID(kId2); + std::unique_ptr<BlobDataHandle> handle3 = context_->GetBlobDataFromUUID(kId3); + WaitForBlobCompletion(handle2.get()); + WaitForBlobCompletion(handle3.get()); + + EXPECT_FALSE(handle2->IsBroken()); + EXPECT_EQ(BlobStatus::DONE, handle2->GetBlobStatus()); + + EXPECT_FALSE(handle3->IsBroken()); + EXPECT_EQ(BlobStatus::DONE, handle3->GetBlobStatus()); + + BlobDataBuilder expected_blob_data(kId2); + expected_blob_data.AppendData("hello wo"); + + EXPECT_EQ(expected_blob_data, *handle2->CreateSnapshot()); + EXPECT_EQ(expected_blob_data, *handle3->CreateSnapshot()); } } // namespace storage
diff --git a/storage/browser/blob/blob_storage_context.cc b/storage/browser/blob/blob_storage_context.cc index acc086e..d84d10f 100644 --- a/storage/browser/blob/blob_storage_context.cc +++ b/storage/browser/blob/blob_storage_context.cc
@@ -447,6 +447,32 @@ DecrementBlobRefCount(uuid); } +std::unique_ptr<BlobDataHandle> BlobStorageContext::AddFutureBlob( + const std::string& uuid, + const std::string& content_type, + const std::string& content_disposition) { + DCHECK(!registry_.HasEntry(uuid)); + + BlobEntry* entry = + registry_.CreateEntry(uuid, content_type, content_disposition); + entry->set_size(DataElement::kUnknownSize); + entry->set_status(BlobStatus::PENDING_CONSTRUCTION); + entry->set_building_state(base::MakeUnique<BlobEntry::BuildingState>( + false, TransportAllowedCallback(), 0)); + return CreateHandle(uuid, entry); +} + +std::unique_ptr<BlobDataHandle> BlobStorageContext::BuildPreregisteredBlob( + const BlobDataBuilder& content, + const TransportAllowedCallback& transport_allowed_callback) { + BlobEntry* entry = registry_.GetEntry(content.uuid()); + DCHECK(entry); + DCHECK_EQ(BlobStatus::PENDING_CONSTRUCTION, entry->status()); + entry->set_size(0); + + return BuildBlobInternal(entry, content, transport_allowed_callback); +} + std::unique_ptr<BlobDataHandle> BlobStorageContext::BuildBlob( const BlobDataBuilder& content, const TransportAllowedCallback& transport_allowed_callback) { @@ -455,6 +481,13 @@ BlobEntry* entry = registry_.CreateEntry( content.uuid(), content.content_type_, content.content_disposition_); + return BuildBlobInternal(entry, content, transport_allowed_callback); +} + +std::unique_ptr<BlobDataHandle> BlobStorageContext::BuildBlobInternal( + BlobEntry* entry, + const BlobDataBuilder& content, + const TransportAllowedCallback& transport_allowed_callback) { // This flattens all blob references in the transportion content out and // stores the complete item representation in the internal data. BlobFlattener flattener(content, entry, ®istry_); @@ -463,6 +496,8 @@ transport_allowed_callback) << "If we have pending unpopulated content then a callback is required"; + DCHECK(flattener.total_size == 0 || + flattener.total_size == entry->total_size()); entry->set_size(flattener.total_size); entry->set_status(flattener.status); std::unique_ptr<BlobDataHandle> handle = CreateHandle(content.uuid_, entry); @@ -499,6 +534,7 @@ } } + auto previous_building_state = std::move(entry->building_state_); entry->set_building_state(base::MakeUnique<BlobEntry::BuildingState>( !flattener.pending_transport_items.empty(), transport_allowed_callback, num_building_dependent_blobs)); @@ -506,6 +542,19 @@ std::swap(building_state->copies, flattener.copies); std::swap(building_state->dependent_blobs, dependent_blobs); std::swap(building_state->transport_items, flattener.transport_items); + if (previous_building_state) { + DCHECK(!previous_building_state->transport_items_present); + DCHECK(!previous_building_state->transport_allowed_callback); + DCHECK(previous_building_state->transport_items.empty()); + DCHECK(previous_building_state->dependent_blobs.empty()); + DCHECK(previous_building_state->copies.empty()); + std::swap(building_state->build_completion_callbacks, + previous_building_state->build_completion_callbacks); + auto runner = base::ThreadTaskRunnerHandle::Get(); + for (const auto& callback : + previous_building_state->build_started_callbacks) + runner->PostTask(FROM_HERE, base::BindOnce(callback, entry->status())); + } // Break ourselves if we have an error. BuildingState must be set first so the // callback is called correctly. @@ -633,6 +682,18 @@ done.Run(entry->status()); } +void BlobStorageContext::RunOnConstructionBegin( + const std::string& uuid, + const BlobStatusCallback& done) { + BlobEntry* entry = registry_.GetEntry(uuid); + DCHECK(entry); + if (entry->status() == BlobStatus::PENDING_CONSTRUCTION) { + entry->building_state_->build_started_callbacks.push_back(done); + return; + } + done.Run(entry->status()); +} + std::unique_ptr<BlobDataHandle> BlobStorageContext::CreateHandle( const std::string& uuid, BlobEntry* entry) { @@ -664,6 +725,12 @@ entry->building_state_->transport_allowed_callback; entry->building_state_->transport_allowed_callback.Reset(); } + if (entry->building_state_ && + entry->status() == BlobStatus::PENDING_CONSTRUCTION) { + auto runner = base::ThreadTaskRunnerHandle::Get(); + for (const auto& callback : entry->building_state_->build_started_callbacks) + runner->PostTask(FROM_HERE, base::BindOnce(callback, reason)); + } ClearAndFreeMemory(entry); entry->set_status(reason); if (transport_allowed_callback) {
diff --git a/storage/browser/blob/blob_storage_context.h b/storage/browser/blob/blob_storage_context.h index 35069692..a923cdb5 100644 --- a/storage/browser/blob/blob_storage_context.h +++ b/storage/browser/blob/blob_storage_context.h
@@ -100,6 +100,25 @@ const BlobDataBuilder& input_builder, const TransportAllowedCallback& transport_allowed_callback); + // Similar to BuildBlob, but this merely registers a blob that will be built + // in the future. The caller must later call either BuildPreregisteredBlob + // (to actually start building the blob), or CancelBuildingBlob (if an error + // occured). + // The returned BlobDataHandle (as well as any handles returned by + // GetBlobDataFromUUID before BuildPreregisteredBlob is called) will always + // have kUnknownSize for its size. A BlobDataHandle with the correct size is + // later returned by BuildPreregisteredBlob. + std::unique_ptr<BlobDataHandle> AddFutureBlob( + const std::string& uuid, + const std::string& content_type, + const std::string& content_disposition); + + // Same as BuildBlob, but for a blob that was previously registered by calling + // AddFutureBlob. + std::unique_ptr<BlobDataHandle> BuildPreregisteredBlob( + const BlobDataBuilder& input_builder, + const TransportAllowedCallback& transport_allowed_callback); + // This breaks a blob that is currently being built by using the BuildBlob // method above. Any callbacks waiting on this blob, including the // |transport_allowed_callback| callback given to BuildBlob, will be called @@ -224,6 +243,11 @@ void RunOnConstructionComplete(const std::string& uuid, const BlobStatusCallback& done_callback); + // Runs |done| when construction begins (when the blob is no longer + // PENDING_CONSTRUCTION) with the new status of the blob. + void RunOnConstructionBegin(const std::string& uuid, + const BlobStatusCallback& done_callback); + BlobStorageRegistry* mutable_registry() { return ®istry_; } BlobMemoryController* mutable_memory_controller() { @@ -231,6 +255,11 @@ } private: + std::unique_ptr<BlobDataHandle> BuildBlobInternal( + BlobEntry* entry, + const BlobDataBuilder& input_builder, + const TransportAllowedCallback& transport_allowed_callback); + std::unique_ptr<BlobDataHandle> CreateHandle(const std::string& uuid, BlobEntry* entry);
diff --git a/storage/browser/blob/view_blob_internals_job.cc b/storage/browser/blob/view_blob_internals_job.cc index 3f4c29b..14e4e900 100644 --- a/storage/browser/blob/view_blob_internals_job.cc +++ b/storage/browser/blob/view_blob_internals_job.cc
@@ -95,6 +95,9 @@ case BlobStatus::PENDING_INTERNALS: return "BlobStatus::PENDING_INTERNALS: Blob construction is pending on " "dependency blobs to finish construction."; + case BlobStatus::PENDING_CONSTRUCTION: + return "BlobStatus::PENDING_CONSTRUCTION: Blob construction is pending " + "on resolving the UUIDs of refereneced blobs."; } NOTREACHED(); return "Invalid blob state.";
diff --git a/storage/common/blob_storage/blob_storage_constants.cc b/storage/common/blob_storage/blob_storage_constants.cc index 72411a7f..a877255f 100644 --- a/storage/common/blob_storage/blob_storage_constants.cc +++ b/storage/common/blob_storage/blob_storage_constants.cc
@@ -29,7 +29,7 @@ bool BlobStatusIsPending(BlobStatus status) { int status_int = static_cast<int>(status); return status_int >= static_cast<int>(BlobStatus::PENDING_QUOTA) && - status_int <= static_cast<int>(BlobStatus::PENDING_INTERNALS); + status_int <= static_cast<int>(BlobStatus::LAST_PENDING); } bool BlobStatusIsBadIPC(BlobStatus status) {
diff --git a/storage/common/blob_storage/blob_storage_constants.h b/storage/common/blob_storage/blob_storage_constants.h index 4a4e207a..788a063 100644 --- a/storage/common/blob_storage/blob_storage_constants.h +++ b/storage/common/blob_storage/blob_storage_constants.h
@@ -116,7 +116,10 @@ // has been populated. See BlobEntry::BuildingState for more info. // TODO(dmurph): Change to PENDING_REFERENCED_BLOBS (crbug.com/670398). PENDING_INTERNALS = 203, - LAST = PENDING_INTERNALS + // Waiting for construction to begin. + PENDING_CONSTRUCTION = 204, + LAST_PENDING = PENDING_CONSTRUCTION, + LAST = LAST_PENDING }; using BlobStatusCallback = base::Callback<void(BlobStatus)>;
diff --git a/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG b/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG index e9d3328..339e5ac 100644 --- a/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG +++ b/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
@@ -5223,6 +5223,39 @@ crbug.com/591099 external/wpt/cssom-view/scrollingElement.html [ Crash ] crbug.com/591099 external/wpt/cssom-view/ttwf-js-cssomview-getclientrects-length.html [ Crash ] crbug.com/591099 external/wpt/cssom/serialize-values.html [ Pass Timeout ] +crbug.com/591099 external/wpt/css-paint-api/geometry-background-image-tiled-001.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/geometry-background-image-tiled-002.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/geometry-background-image-tiled-003.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/geometry-background-image-001.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/geometry-background-image-002.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/geometry-background-image-003.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/geometry-border-image-001.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/geometry-border-image-002.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/geometry-border-image-003.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/geometry-border-image-004.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/geometry-border-image-005.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/paint2d-zoom.html [ Failure Pass ] +crbug.com/591099 external/wpt/css-paint-api/parse-input-arguments-001.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/parse-input-arguments-002.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/parse-input-arguments-003.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/parse-input-arguments-004.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/parse-input-arguments-005.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/parse-input-arguments-006.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/parse-input-arguments-007.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/parse-input-arguments-008.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/parse-input-arguments-009.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/parse-input-arguments-010.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/parse-input-arguments-011.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/parse-input-arguments-012.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/parse-input-arguments-013.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/parse-input-arguments-014.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/parse-input-arguments-015.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/parse-input-arguments-016.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/parse-input-arguments-017.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/registered-properties-in-custom-paint.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/style-background-image.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/style-before-pseudo.html [ Failure ] +crbug.com/591099 external/wpt/css-paint-api/style-first-letter-pseudo.html [ Failure ] crbug.com/591099 external/wpt/custom-elements/custom-element-reaction-queue.html [ Crash ] crbug.com/591099 external/wpt/custom-elements/custom-element-registry/per-global.html [ Crash ] crbug.com/591099 external/wpt/custom-elements/htmlconstructor/newtarget.html [ Crash ] @@ -12900,6 +12933,7 @@ crbug.com/591099 fast/replaced/vertical-writing-mode-max-logical-width-replaced.html [ Failure ] crbug.com/591099 fast/replaced/width100percent-checkbox.html [ Failure Pass ] crbug.com/591099 fast/replaced/width100percent-radio.html [ Failure Pass ] +crbug.com/591099 fast/rootscroller/set-root-scroller.html [ Failure ] crbug.com/591099 fast/ruby/base-shorter-than-text.html [ Crash Failure ] crbug.com/591099 fast/ruby/float-overhang-from-ruby-text.html [ Crash Failure ] crbug.com/591099 fast/ruby/floating-ruby-text.html [ Crash Failure ] @@ -12989,7 +13023,6 @@ crbug.com/591099 fast/scrolling/scrollbar-tickmarks-hittest.html [ Failure ] crbug.com/591099 fast/scrolling/scrolling-apis-nan-scroll-position.html [ Failure ] crbug.com/591099 fast/scrolling/scrolling-apis-subpixel.html [ Failure ] -crbug.com/591099 fast/scrolling/set-root-scroller.html [ Failure ] crbug.com/591099 fast/selectors/018.html [ Failure ] crbug.com/591099 fast/selectors/018b.html [ Failure ] crbug.com/591099 fast/selectors/019.html [ Failure ] @@ -14447,19 +14480,9 @@ crbug.com/591099 http/tests/css/shared-stylesheet-mutation-preconstruct.html [ Failure ] crbug.com/591099 http/tests/css/shared-stylesheet-mutation.html [ Failure ] crbug.com/591099 http/tests/csspaint/border-color.html [ Failure ] -crbug.com/591099 http/tests/csspaint/geometry-background-image-tiled.html [ Failure ] -crbug.com/591099 http/tests/csspaint/geometry-background-image.html [ Failure ] -crbug.com/591099 http/tests/csspaint/geometry-border-image.html [ Failure ] crbug.com/591099 http/tests/csspaint/invalidation-background-image.html [ Timeout ] crbug.com/591099 http/tests/csspaint/invalidation-border-image.html [ Timeout ] crbug.com/591099 http/tests/csspaint/invalidation-content-image.html [ Timeout ] -crbug.com/591099 http/tests/csspaint/paint2d-zoom.html [ Failure Pass ] -crbug.com/591099 http/tests/csspaint/parse-input-arguments.html [ Failure ] -crbug.com/591099 http/tests/csspaint/registerPaint.html [ Failure ] -crbug.com/591099 http/tests/csspaint/registered-properties-in-custom-paint.html [ Failure ] -crbug.com/591099 http/tests/csspaint/style-background-image.html [ Failure ] -crbug.com/591099 http/tests/csspaint/style-before-pseudo.html [ Failure ] -crbug.com/591099 http/tests/csspaint/style-first-letter-pseudo.html [ Failure ] crbug.com/591099 http/tests/dom/EventListener-incumbent-global-1.html [ Crash ] crbug.com/591099 http/tests/dom/EventListener-incumbent-global-2.html [ Crash ] crbug.com/591099 http/tests/dom/create-contextual-fragment-from-bodyless-svg-document-range.html [ Failure ] @@ -20262,1009 +20285,7 @@ crbug.com/591099 virtual/android/fullscreen/video-controls-timeline.html [ Failure ] crbug.com/591099 virtual/android/fullscreen/video-fail-to-enter-full-screen.html [ Failure ] crbug.com/591099 virtual/android/media/mediadocument/media-document-with-download-button.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/absolute-inside-out-of-view-fixed.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/animation/busy-indicator.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/animation/hidden-composited.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/animation/state-at-end-event-transform-layer.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/backface-visibility/backface-visibility-image.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/backface-visibility/backface-visibility-webgl.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/backing/no-backing-foreground-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/checkerboard.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/child-transform-layer-requires-box.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/child-transform-layer-rounding.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/clip-child-by-non-stacking-ancestor.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/color-matching/image-color-matching.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/columns/composited-in-paginated.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/columns/geometry-map-paginated-assert.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/composited-negative-zindex-child.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/compositing-visible-descendant.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/contents-opaque/background-clip.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/contents-opaque/background-color.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/contents-opaque/body-background-painted.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/contents-opaque/body-background-skipped.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/contents-opaque/filter.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/contents-opaque/hidden-with-visible-child.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/contents-opaque/hidden-with-visible-text.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/contents-opaque/layer-opacity.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/contents-opaque/layer-transform.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/contents-opaque/overflow-hidden-child-layers.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/culling/clear-fixed-iframe.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/direct-image-compositing.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/empty-render-surface-crasher.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/filters/sw-layer-overlaps-hw-shadow.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/filters/sw-nested-shadow-overlaps-hw-nested-shadow.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/filters/sw-shadow-overlaps-hw-layer.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/filters/sw-shadow-overlaps-hw-shadow.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/fixed-position-changed-to-absolute.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/framesets/composited-frame-alignment.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/generated-content.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/abs-position-inside-opacity.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/ancestor-overflow-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/assert-marquee-timer.html [ Crash ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/bounds-clipped-composited-child.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/bounds-ignores-hidden-composited-descendant.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/bounds-ignores-hidden-dynamic.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/bounds-ignores-hidden.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/clip-inside.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/clip-with-shadow.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/clip.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/clipped-video-controller.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/clipping-foreground.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/composited-html-size.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/composited-in-columns.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/empty-embed-rects.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/fixed-in-composited.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/fixed-position-composited-page-scale-down.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/fixed-position-composited-page-scale.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/fixed-position-transform-composited-page-scale-down.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/fixed-position-transform-composited-page-scale.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/fixed-position.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/flipped-writing-mode.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/foreground-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/geometry-map-scroll-during-layout-assertion.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/horizontal-scroll-composited.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/layer-due-to-layer-children-deep-switch.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/layer-due-to-layer-children-deep.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/layer-due-to-layer-children-switch.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/layer-due-to-layer-children.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/limit-layer-bounds-opacity-transition.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/limit-layer-bounds-overflow-root.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/limit-layer-bounds-positioned-transition.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/limit-layer-bounds-positioned.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/limit-layer-bounds-transformed.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/object-clip-rects-assertion.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/outline-change.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/partial-layout-update.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/preserve-3d-switching.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/repaint-foreground-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/root-layer-update.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/tall-page-composited.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/transfrom-origin-on-zero-size-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/vertical-scroll-composited.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/video-fixed-scrolling.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/geometry/video-opacity-overlay.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-2-iframe.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-img-and-text-2.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-img-transformed.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-img.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-overflowing-text-crash.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-pixel-rotated-link.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-shadow-tree.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-with-box-shadow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/become-composited-nested-iframes.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/become-overlapped-iframe.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/composited-iframe-alignment.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/composited-iframe-scroll.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/composited-parent-iframe.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/connect-compositing-iframe-delayed.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/connect-compositing-iframe.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/connect-compositing-iframe2.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/connect-compositing-iframe3.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/enter-compositing-iframe.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/floating-self-painting-frame-complex.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/floating-self-painting-frame.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/iframe-composited-scrolling-hide-and-show.html [ Crash ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/iframe-content-flipping.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/iframe-copy-on-scroll.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/iframe-in-composited-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/iframe-resize.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/iframe-size-from-zero.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/invisible-iframe.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/invisible-nested-iframe-hide.html [ Crash ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/invisible-nested-iframe-show.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/invisible-nested-iframe.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/layout-on-compositing-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/nested-iframe-scrolling.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/overlapped-iframe-iframe.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/overlapped-iframe.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/overlapped-nested-iframes.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/remove-iframe-crash.html [ Crash ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/resizer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/iframes/scrolling-iframe.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/images/content-image.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/images/direct-image-background-color.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/images/direct-svg-image.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/img-layer-object-fit.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/animation-overlap-with-children.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/assumed-overlap-for-inline-transform.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-and-transform.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-change-out-of-view-in-view.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-in-fixed-overflow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-no-content.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-nonscrollable-body-mismatch-containers.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-nonscrollable-body-overlap.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-nonscrollable-iframes-in-scrollable-page.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-out-of-view-positioning.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-out-of-view-scaled.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-out-of-view-with-backdrop-filter.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-out-of-view.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-under-transform.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/no-compositing-for-fixed-position-under-transform.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/no-compositing-for-preserve-3d.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/overflow-scroll-overlap.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/overlap-animation-clipping.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/overlap-animation-container.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/overlap-animation.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/overlap-child-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/overlap-clipping.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/overlap-transformed-3d.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/overlap-transformed-and-clipped.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/overlap-transformed-layer-with-transform-body.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/overlap-transformed-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/overlap-transformed-preserved-3d.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/overlap-transforms.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/remove-clipping-layer-with-no-children.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/rotate3d-overlap.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/scroll-partial-update.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/spanOverlapsCanvas.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/squashing-into-ancestor-clipping-layer-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/stacking-context-overlap-nested.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/stacking-context-overlap.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/translatez-added.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layer-creation/translatez-overlap.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layers-inside-overflow-scroll.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/layout-width-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/lots-of-img-layers-with-opacity.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/lots-of-img-layers.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/masks/direct-image-mask.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/masks/mask-layer-size.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/masks/mask-of-clipped-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/masks/mask-with-added-filters.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/masks/mask-with-removed-filters.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/masks/masked-ancestor.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/masks/multiple-masks.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/masks/simple-composited-mask.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/nested-border-radius-composited-child.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/opacity-with-mask.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/accelerated-overflow-scroll-should-not-affect-perspective.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/accelerated-scrolling-with-clip-path-text.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/accelerated-scrolling-with-clip-path.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/ancestor-overflow.html [ Crash Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/avoid-ancestor-clip-for-scroll-children.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/border-radius-on-grandparent-composited-grandchild.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/border-radius-on-parent-composited-grandchild.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/border-radius-on-two-ancestors-composited-grandchild.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/border-radius-styles-with-composited-child.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/clear-scroll-parent.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/clip-descendents.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/clip-parent-reset.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/clipping-ancestor-with-accelerated-scrolling-ancestor.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/composited-nested-sticky-left.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/composited-scrolling-paint-phases.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/content-gains-scrollbars.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/content-loses-scrollbars.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/fixed-position-ancestor-clip.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/fractional-sized-scrolling-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/grandchild-composited-with-border-radius-ancestor.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/grandchild-with-border-radius-ancestor.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/iframe-inside-overflow-clipping.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/mask-with-filter.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/mask-with-small-content-rect.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/nested-border-radius-clipping.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/nested-render-surfaces-with-intervening-clip.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/nested-render-surfaces-with-rotation.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/nested-render-surfaces.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/nested-scrolling.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/overflow-clip-with-accelerated-scrolling-ancestor.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/overflow-compositing-descendant.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/overflow-positioning.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/overflow-scroll-background-opaque-to-transparent.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/overflow-scroll-background-transparent-to-opaque.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/overflow-scroll-with-pointer-events-toggle.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/overflow-scroll.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/overflow-scrollbar-layers.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/parent-overflow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/remove-overflow-crash2.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/reparented-scrollbars-non-sc-anc.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/resize-painting.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/scaled-mask.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/scaled-overflow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/scroll-ancestor-update.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/scroll-neg-z-index-and-composited-child.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/scroll-parent-absolute-with-backdrop-filter.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/scroll-parent-absolute.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/scroll-parent-with-non-stacking-context-composited-ancestor.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/scrollbar-layer-placement.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/scrollbar-painting.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/scrollbars-with-clipped-owner.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/scrolling-content-clip-to-viewport.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/siblings-composited-with-border-radius-ancestor-one-clipped.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/siblings-composited-with-border-radius-ancestor.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/siblings-with-border-radius-ancestor.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/textarea-scroll-touch.html [ Crash Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/theme-affects-visual-overflow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/tiled-mask.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/universal-accelerated-overflow-scroll.html [ Failure Timeout ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overflow/zero-size-overflow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overlap-blending/children-opacity-huge.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overlap-blending/children-opacity-no-overlap.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/overlap-blending/reflection-opacity-huge.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/plugins/webplugin-alpha.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/plugins/webplugin-no-alpha.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/plugins/webplugin-reflection.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/animation-inside-reflection.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/backface-hidden-reflection.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/compositing-change-inside-reflection.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/deeply-nested-reflections.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/enable-disable-compositing-reflection.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/load-video-in-reflection.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/masked-reflection-on-composited-huge.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/masked-reflection-on-composited.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/nested-reflection-mask-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/nested-reflection-on-overflow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/nested-reflection-opacity.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/nested-reflection-size-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/nested-reflection-transformed.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/nested-reflection-transformed2.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/nested-reflection.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/reflection-in-composited.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/reflection-on-composited.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/reflection-opacity.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/reflection-ordering.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/reflection-positioning.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/reflection-positioning2.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/remove-add-reflection.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/simple-composited-reflections.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/reflections/transform-inside-reflection.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/render-surface-alpha-blending.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/rendering-contexts.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/rounded-corners.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/rtl/rtl-absolute-overflow-scrolled.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/rtl/rtl-absolute-overflow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/rtl/rtl-absolute.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/rtl/rtl-and-writing-mode-scrolling.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/rtl/rtl-fixed-overflow-scrolled.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/rtl/rtl-fixed-overflow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/rtl/rtl-fixed.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/rtl/rtl-iframe-absolute-overflow-scrolled.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/rtl/rtl-iframe-absolute-overflow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/rtl/rtl-iframe-absolute.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/rtl/rtl-iframe-fixed-overflow-scrolled.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/rtl/rtl-iframe-fixed-overflow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/rtl/rtl-iframe-fixed.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/rtl/rtl-iframe-relative.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/rtl/rtl-overflow-scrolling.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/rtl/rtl-relative.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/scrollbars/nested-overlay-scrollbars.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/self-painting-layers.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/self-painting-layers2.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/shadows/shadow-drawing.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/sibling-positioning.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/add-remove-squashed-layers.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/clipping-ancestor.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/composited-bounds-for-negative-z.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/do-not-squash-non-self-painting-layer.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/do-not-squash-scroll-child-with-composited-descendants.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/dont-squash-into-iframes.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/dont-squash-into-videos.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/iframes-are-never-squashed.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/invalidations-with-large-negative-margin-inline-content.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/invisible-layers-should-not-affect-geometry.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/move-squashing-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/no-squashing-for-filters.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/no-squashing-into-another-clip-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/no-squashing-into-fixed-position-that-clips.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/opacity-squashed-owner.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/repaint-child-of-squashed.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/selection-repaint-with-gaps.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-above-fixed-1.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-above-fixed-2.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-above-fixed-3.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-compositing-hover.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-onto-distant-relative.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-onto-nephew.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-onto-transform-backing.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-paint-invalidation-fixed-position.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-same-transform-ancestor.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-simple.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-three-layers.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-transform-repainting-child.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-transform-repainting-transformed-child.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squash-transform.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squashed-clip-parent.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squashed-layer-loses-graphicslayer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squashed-repaints.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squashing-inside-perspective.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squashing-print.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/squashing-sparsity-heuristic.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/squashing/vertical-writing-mode-squashed.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/text-on-large-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/tiled-layers-hidpi.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/transitions/opacity-on-inline.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/transitions/scale-transition-no-start.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/transitions/singular-scale-transition.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/update-paint-phases.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/video-frame-size-change.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/video/video-poster.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/visibility/compositing-and-visibility-turned-off-together.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/visibility/hidden-iframe.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/visibility/layer-visible-content.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/visibility/visibility-composited-transforms.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/visibility/visibility-composited.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/visibility/visibility-image-layers-dynamic.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/visibility/visibility-on-distant-descendant.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/webgl/webgl-background-color.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/webgl/webgl-no-alpha.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/webgl/webgl-nonpremultiplied-blend.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/webgl/webgl-reflection.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/webgl/webgl-repaint.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/will-change/composited-layers.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/will-change/parse-will-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/z-order/collect-layers-does-not-initialize-pos-z-order-list.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/compositing/z-order/negative-z-index.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/background/background-and-shadow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/background/fieldset-legend-background-shadow-border-radius.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/background/rounded-clip-fractional-offset.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/clipath/clip-path-with-background-and-box-behind.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/float-painted-when-no-longer-self-painting.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/frames/frameset-with-stacking-context-and-not-stacking-context-children.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/frames/frameset-with-stacking-contexts.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/high-contrast-mode/image-filter-all/text-on-backgrounds.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/images/animated-gif-last-frame-crash.html [ Crash ] -crbug.com/591099 virtual/disable-spinvalidation/paint/inline/focus-ring-under-absolute-with-relative-continuation.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/inline/outline-offset.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/4774354.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/4776765.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/absolute-display-block-to-none.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/absolute-layer-specified-left-or-right-auto-width-moved-vertically.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/absolute-margin-change-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/absolute-position-change-containing-block.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/absolute-position-changed.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/absolute-position-moved.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/abspos-shift-image-incorrect-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/add-table-overpaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/align-content-change-keeping-geometry.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/align-content-change-no-flex.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/align-content-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/align-content-distribution-change-grid.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/align-content-position-change-grid.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/align-items-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/align-items-overflow-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/align-self-change-grid.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/align-self-change-keeping-geometry-grid.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/align-self-change-keeping-geometry.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/align-self-change-no-flex.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/align-self-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/align-self-overflow-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/animated-gif-background.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/animated-gif-transformed-offscreen.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/animated-png-background.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/animated-webp-background.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/background-currentColor-repaint.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/background-generated.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/background-image-paint-invalidation-large-abspos-div.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/background-image-paint-invalidation-small-document.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/background-image-paint-invalidation.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/background-misaligned.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/background-resize-height.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/background-shorthand-with-gradient-and-height-changes.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/background-size-auto-with-gradient-and-height-changes.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/backgroundSizeRepaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/block-layout-inline-children-float-positioned.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/block-layout-inline-children-replaced.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/block-no-inflow-children.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/block-selection-gap-in-table-cell.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/block-selection-gap-stale-cache-2.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/block-selection-gap-stale-cache.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/block-shift-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/body-background-image.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/border-current-color.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/border-image-outset-add-repaint.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/border-image-outset-change-repaint.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/border-outline-0.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/border-radius-repaint-2.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/border-radius-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/border-radius-with-outline.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/border-radius-without-border.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/border-repaint-glitch.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/box-inline-resize.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/box-shadow-add-repaint.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/box-shadow-change-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/box-shadow-dynamic.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/box-shadow-inset-repaint.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/box-sizing-border-keeping-size.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/box-sizing-padding-keeping-size.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/box-sizing.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/bugzilla-3509.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/bugzilla-5699.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/bugzilla-6278.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/bugzilla-6388.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/bugzilla-6473.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/bugzilla-7235.html [ Crash Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/button-checkbox-click-method-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/button-inner-no-repaint.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/caret-contenteditable-content-after.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/caret-outside-block.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/caret-with-composited-scroll.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/caret-with-transformation.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/change-transform.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/child-of-sub-pixel-offset-composited-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/clip-path-constant-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/clip-unclip-and-change.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/clip-with-layout-delta.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/clipped-overflow-visible-subtree.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/clipped-relative.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/column-float-under-stacked-inline.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/column-rules-fixed-height.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/composited-iframe-scroll-repaint.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/composited-overflow-with-borderbox-background.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/composited-overflow-with-local-background.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/composited-overflow-with-negative-offset-outline.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/composited-vertical-rl-overflow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/background-attachment-local-composited.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/background-attachment-local-equivalent.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/become-overlay-composited-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/clipping-should-not-repaint-composited-descendants.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/column-span-under-composited-column-child.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/composited-document-element.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/composited-float-under-composited-inline.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/compositing-reason-removed.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/containing-block-added.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/containing-block-removed.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/content-into-overflow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/fixed-pos-inside-composited-intermediate-layer.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/fixed-pos-with-abs-pos-child-scroll.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/fixed-scroll-in-empty-root-layer.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/float-under-composited-inline.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/iframe-inside-squashed-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/inline-repaint-container.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/invalidate-when-leaving-squashed-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/invalidation-for-subpixel-offset-of-squashed-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/invalidations-on-composited-layers.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/invalidations-with-large-negative-margin.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/layer-repaint-rects.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/layer-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/new-stacking-context.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/opacity-between-absolute.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/opacity-between-absolute2.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/overflow-into-content.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/overlap-test-with-filter.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/page-scale-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/remove-squashed-layer-plus-move.html [ Crash ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/repaint-overflow-scrolled-squashed-content.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/repaint-squashed-layer-in-rect.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/repaint-via-layout-offset.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/resize-repaint.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/resize-squashing-layer-that-needs-full-repaint.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/scroll-fixed-layer-no-content.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/scroll-fixed-layer-out-of-view.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/scroll-fixed-squahed-layer.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/scrolling-without-painting.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/should-invoke-deferred-compositing.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-clip-composited-overflow-scrolling-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-clip-composited-viewport-scrolling-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-composited-descendants-on-overflow-change.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-composited-descendants.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-composited-filter.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-composited-opacity.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-composited-transform.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-composited-z-index.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-scrolling-contents-outline-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/shrink-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/squash-partial-repaint-inside-squashed-layer.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/squashing-inside-preserve-3d-element.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/stacked-float-under-composited-inline.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/subpixel-offset-scaled-transform-composited.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/text-color-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/tricky-element-removal-crash.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/updating-scrolling-container-and-content.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/updating-scrolling-container.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/compositing/updating-scrolling-content.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/containing-block-position-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/content-into-overflow.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/continuation-after-outline.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/control-clip.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/crbug-371640-2.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/crbug-371640-3.html [ Crash Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/crbug-371640-4.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/crbug-371640.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/create-layer-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/css-clip-change-stacking-child.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/css-grid-layout/grid-element-change-columns-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/css-grid-layout/grid-element-change-rows-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/css-grid-layout/grid-item-change-column-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/css-grid-layout/grid-item-change-row-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/css-grid-layout/grid-item-z-index-change-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/delete-into-nested-block.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/destroy-composited-scrollbar.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/destroy-overlay-scrollbar.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/destroy-scrollbar.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/details-open-repaint.html [ Crash Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/do-not-paint-below-image-baseline.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/dont-invalidate-root-layer-when-composited-layer-becomes-visible.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/dynamic-table-vertical-alignment-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/erase-overflow.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filter-invalidation-after-display.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filter-invalidation-positioned-child.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filter-invalidation-with-composited-container-change.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filter-on-html-element-with-fixed-position-child.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filter-repaint-accelerated-child-with-filter-child.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filter-repaint-accelerated-on-accelerated-filter.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filter-repaint-on-accelerated-layer.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-composite-1.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-composite-2.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-composite-3.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-composite-4.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-composite-5.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-composite-6.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-displacement.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-gaussianblur-xonly.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-gaussianblur-yonly.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-gaussianblur.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-lighting.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-merge.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-morphology-xonly.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-morphology-yonly.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-morphology.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-offset.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-after-scroll.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-and-absolute-position-scrolled.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-child-move-after-scroll.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-child-of-fixed-move-after-scroll.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-child-of-transformed-move-after-scroll.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-child-of-transformed-scrolled.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-descendant-of-transformed-scrolled.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-element-repaint-after-compositing-update.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-margin-change-repaint.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-move-after-keyboard-scroll.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-move-after-scroll.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-position-layer-moved.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-position-transparency-with-overflow.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-scale.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-scroll-simple.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-table-cell.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-table-overflow-zindex.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-table-overflow.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-to-relative-position-with-absolute-child.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-tranformed.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-under-composited-absolute-scrolled.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-under-composited-fixed-scrolled.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed-with-border-under-composited-absolute-scrolled.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/fixed.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-column-reverse.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-during-resize-no-flex.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-on-layout.html [ Crash ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-on-margin-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-opacity-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-rtl-column.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/flexbox/scrollbars-changed.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-horizontal.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/flipped-blocks-writing-mode-scroll.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/float-in-new-block-with-layout-delta.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/float-move-during-layout.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/float-new-in-block.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/float-overflow-right.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/float-overflow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/focus-continuations.html [ Crash Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/focus-enable-continuations.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/focus-layers.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/focus-ring-on-child-move.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/focus-ring-on-continuation-move.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/focus-ring-on-inline-continuation-move.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/focus-ring.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/forms/checkbox-focus-by-mouse-then-keydown.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/forms/radio-focus-by-mouse-then-keydown.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/forms/range-focus-by-mouse-then-keydown.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/gradients-em-stops-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/hover-pseudo-borders-whitespace.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/hover-pseudo-borders.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/iframe-display-block-to-display-none.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/iframe-display-none-to-display-block.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/iframe-rounding.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/iframe-scroll-repaint.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/in-scaled-iframe.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/inline-block-overflow-repaint.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/inline-block-overflow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/inline-block-resize.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/inline-focus.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-2.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/inline-overflow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/inline-reflow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/inline-relative-positioned.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/inline-style-change-in-scrolled-view.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/inline-vertical-lr-overflow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/inline-vertical-rl-overflow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/input-overflow-in-table.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/insert-frame.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/intermediate-layout-position-clip.html [ Crash Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/intermediate-layout-position.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidate-after-composited-scroll-of-window.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidate-after-composited-scroll.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidate-box-shadow-currentColor.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-before-text-node-update.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidate-descendants-when-receiving-paint-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidate-invisible-element.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidate-paint-for-fixed-pos-inside-iframe.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidate-paint-in-iframe-in-composited-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidation-after-opacity-change-subtree.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidation-on-foreground-graphics-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidation-with-scale-transform.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invalidation-with-zero-size-object.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/invisible-objects.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-clear.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/justify-content-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/justify-content-distribution-change-grid.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/justify-content-position-change-grid.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/justify-content-position-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/justify-items-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/justify-items-legacy-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/justify-items-overflow-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/justify-self-change-keeping-geometry.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/justify-self-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/justify-self-overflow-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/layer-child-outline.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/layer-full-repaint.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/layer-hide-when-needs-layout.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/layer-outline-horizontal.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/layer-outline.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/layer-visibility.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/layout-state-only-positioned.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/layout-state-relative.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset2.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset3.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/layoutstate-invalid-invalidation-inline-relative-positioned.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-1.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-10.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-2.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-3.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-4.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-5.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-6.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-7.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-8.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-9.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/line-in-scrolled-clipped-block.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/line-overflow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/lines-with-layout-delta.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/list-marker-2.html [ Crash Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/list-marker.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/make-children-non-inline.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/margin.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/mask-clip-change-stacking-child.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/media-audio-no-spurious-repaints.html [ Crash ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/mix-blend-mode-separate-stacking-context.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/multi-subsequence-composited.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/multi-subsequence-scrolled.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/multicol-as-paint-container.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/multicol-nested.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/multicol-relpos-with-abspos.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/multicol-with-abspos-in-relpos.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/multicol-with-abspos.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/multicol-with-block.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/multicol-with-overflowing-block-rl.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/multicol-with-relpos.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/multicol-with-text.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/multiple-backgrounds-style-change.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/negative-shadow-box-expand.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/negative-shadow-box-shrink.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/negative-text-indent-with-overflow-hidden.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/nested-fixed-iframe-scrolled.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/no-caret-repaint-in-non-content-editable-element.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/offset-change-wrong-invalidation-with-float.html [ Crash Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/opacity-change-on-overflow-float.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-add-repaint.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-become-affected-by-descendant.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-become-not-affected-by-descendant.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-change-continuations.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-change-invalidation.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-change-offset.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-change-repaint.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-child-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-clip-change.html [ Crash Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-containing-image-in-non-standard-mode.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-continuations.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-current-color.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-inset.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-not-affected-by-descendant.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-repaint-glitch.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/outline-shrinking.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-auto-in-overflow-auto-scrolled.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-changed-on-child-of-composited-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-clip-subtree-layout.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-delete-line.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-flipped-writing-mode-block.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-flipped-writing-mode-table.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-hidden-in-overflow-hidden-scrolled.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-hidden-to-visible.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-hidden-yet-scrolled-with-custom-scrollbar.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-hidden-yet-scrolled.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-hide.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-into-content.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-move-after-scroll.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-outline-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-after-move.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-body-appear.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-composited-non-stacking-child.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-delete.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-in-overflow-scroll-scrolled.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-local-background-text-color-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overflow-show.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/overhanging-float-detach-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/padding-border-keeping-border-box-and-content-box.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/padding-keeping-content-size.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/padding-keeping-visual-size.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/paged-with-overflowing-block-rl.html [ Crash Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/paint-caret-in-div-with-negative-indent.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/paint-invalidation-with-opacity.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/paint-invalidation-with-reparent-across-frame-boundaries.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/position-change-keeping-geometry.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/positioned-document-element.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/positioned-great-grandparent-change-location.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/positioned-list-offset-change-repaint.html [ Crash Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/push-block-with-first-line.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/quotes.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/reflection-invalidation-after-display.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/reflection-invalidation-positioned-child.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/reflection-repaint-test.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/rel-positioned-inline-with-overflow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/relative-inline-positioned-movement-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/relative-margin-change-repaint.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/relative-positioned-movement-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/relayout-fixed-position-after-scale.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/remove-block-after-layout.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/remove-inline-after-layout.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/remove-inline-block-descendant-of-flex.html [ Crash ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/remove-inline-layer-after-layout.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/renderer-destruction-by-invalidateSelection-crash.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/repaint-across-writing-mode-boundary.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/repaint-composited-child-in-scrolled-container.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/repaint-descandant-on-ancestor-layer-move.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/repaint-during-scroll-with-zoom.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/repaint-during-scroll.html [ Timeout ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/repaint-in-iframe.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/repaint-on-style-change.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/repaint-resized-overflow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/repaint-subrect-grid.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/repaint-svg-after-style-change.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/repaint-table-row-in-composited-document.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/repaint-tile-clipped.html [ Crash Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/replaced-clipped-positioned-not-wrong-incremental-repainting.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/requestAnimation-translation-leave-traces.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/resize-child-within-overflow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/resize-iframe-text.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/resize-scrollable-div.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/resize-scrollable-iframe.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/resize-skewed.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/resize-with-border-clipped.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/resize-with-border.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/rotated-subpixel.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/ruby-flipped-blocks.html [ Crash Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scroll-absolute-layer-with-reflection.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scroll-descendant-with-cached-cliprects.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scroll-fixed-layer-with-no-visible-content.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scroll-fixed-layer-with-reflection.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scroll-fixed-layer-with-transformed-parent-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scroll-fixed-reflected-layer.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scroll-in-clipped-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scroll-in-fixed-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scroll-in-transformed-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scroll-inside-table-cell.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scroll-relative-table-inside-table-cell.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scroll-stacking-context-backface-visiblity-leaves-traces.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scroll-with-transformed-parent-layer.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scrollbar-damage-and-full-viewport-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scrollbar-invalidation-on-resize-with-border.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scrollbar-invalidation-on-resize.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scrollbar-parts.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/scrolled-iframe-scrollbar-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/search-field-cancel.html [ Crash Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/select-option-background-color.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/selected-replaced.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/selection-after-delete.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/selection-after-remove.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/selection-change-in-iframe-with-relative-parent.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/selection-clear.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/selection-partial-invalidation-between-blocks.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/selection-rl.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-rtl.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-lr.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-rl.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-with-br-includes-newline.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/selection/repaint-rect-for-vertical-writing-mode-with-positioned-root.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-composited-scrolling-container.html [ Crash Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container.html [ Crash Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/selection/selection-within-composited-scroller.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/shadow-box-resize-writing-mode.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/shadow-box-resize.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/shadow-multiple.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-addition.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-removal.html [ Crash ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/slider-thumb-drag-release.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/slider-thumb-float.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/stacked-diacritics.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/stacking-context-lost.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/static-to-positioned.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/subpixel-offset-scaled-transform.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/subpixel-shadow-included-in-invalidation.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/subtree-layoutstate-transform.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/subtree-root-clip-2.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/subtree-root-clip-3.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/subtree-root-clip.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped.html [ Crash Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg-layout-root-style-attr-update.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/absolute-sized-content-with-resources.xhtml [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/add-background-property-on-root.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/add-outline-property-on-root.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/animated-path-inside-transformed-html.xhtml [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-no-fixed-intrinsic-size.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-same-image.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-transformed-offscreen.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/deep-nested-embedded-svg-size-changes-no-layout-triggers-1.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/deep-nested-embedded-svg-size-changes-no-layout-triggers-2.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/embedded-svg-size-changes-no-layout-triggers.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/embedded-svg-size-changes.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/foreign-object-repaint.svg [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/hit-test-with-br.xhtml [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/nested-embedded-svg-size-changes-no-layout-triggers-1.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/nested-embedded-svg-size-changes-no-layout-triggers-2.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/nested-embedded-svg-size-changes.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/object-sizing-no-width-height-change-content-box-size.xhtml [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/overflow-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-with-resources.xhtml [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content.xhtml [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-deep-shadow-tree-content.xhtml [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-image.xhtml [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-inner-svg.xhtml [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content-with-symbol.xhtml [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content.xhtml [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-on-symbol.xhtml [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-without-attributes-on-symbol.xhtml [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/remove-background-property-on-root.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/remove-outline-property-on-root.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/repaint-moving-svg-and-div.xhtml [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/resize-svg-invalidate-children.html [ Crash ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/scroll-hit-test.xhtml [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/svg-background-partial-redraw.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/svg-image-change-content-size.xhtml [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/text-rescale.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/transform-focus-ring-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/transform-foreign-object.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/use-instanceRoot-event-bubbling.xhtml [ Timeout ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/use-setAttribute-crash.svg [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/svg/zoom-foreignObject.svg [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/table-cell-collapsed-border.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/table-cell-move.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/table-cell-overflow.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/table-cell-vertical-overflow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/table-extra-bottom-grow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/table-overflow-auto-in-overflow-auto-scrolled.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/table-overflow-scroll-in-overflow-scroll-scrolled.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/table-row.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/table-section-overflow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/table-section-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/table-shrink-row-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/table-two-pass-layout-overpaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/table-writing-modes-h.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/table-writing-modes-v.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/table/cached-cell-append.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-border-width.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/table/cached-change-col-border-width.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/table/cached-change-colgroup-border-width.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/table/cached-change-row-border-width.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/table/cached-change-tbody-border-width.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/table/collapsed-border-cell-resize.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/table/resize-table-row-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/text-append-dirty-lines.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/text-emphasis-h.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/text-emphasis-v.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/text-in-relative-positioned-inline.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/text-match-document-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/text-match-pre-wrapped-text.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/text-selection-rect-in-overflow-2.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/text-selection-rect-in-overflow.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/text-shadow-horizontal.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/text-shadow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/trailing-floats-root-line-box-overflow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/transform-absolute-child.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/transform-absolute-in-positioned-container.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/transform-disable-layoutstate.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/transform-inline-layered-child.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/transform-layout-repaint.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/transform-relative-position.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/transform-repaint-descendants.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/transform-replaced-shadows.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/transform-rotate-and-remove.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/transform-translate.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/update-visual-rects-after-compositing-change.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/vertical-align-length1.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/vertical-align-length2.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/vertical-align1.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/vertical-align2.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/vertical-overflow-child.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/vertical-overflow-parent.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/vertical-overflow-same.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/vertical-rl-as-paint-container.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/vertical-rl-overflow.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/view-background-from-body-2.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/viewport-gradient-background-html-resize.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/window-resize-centered-inline-under-fixed-pos.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/window-resize-frameset.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/window-resize-percent-html.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/window-resize-percent-width-height.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/window-resize-positioned-bottom.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/window-resize-positioned-percent-top.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/window-resize-vertical-writing-mode.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/invalidation/window-resize-viewport-percent.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/masks/fieldset-mask.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/overflow/non-composited-fixed-position-descendant.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/pagination/pagination-change-clip-crash.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/printing/print-box-shadow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/roundedrects/circle-with-shadow.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/roundedrects/input-with-rounded-rect-and-shadow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/selection/drag-caret.html [ Crash ] -crbug.com/591099 virtual/disable-spinvalidation/paint/selection/text-selection-editing-crash.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/selection/text-selection-inline-block-rtl.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/selection/text-selection-inline-block.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/selection/text-selection-newline-across-blocks.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/selection/text-selection-newline-br.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/selection/text-selection-newline-clipped-by-overflow.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/selection/text-selection-newline-mixed-ltr-rtl.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/selection/text-selection-newline-rtl-double-linebreak.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/selection/text-selection-newline-rtl.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/selection/text-selection-newline-span-across-line.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/selection/text-selection-newline-span.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/selection/text-selection-newline-vertical-lr.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/selection/text-selection-newline-vertical-rl.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/selection/text-selection-newline.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/selection/text-selection-with-composition.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/spellmarkers/document-markers-zoom-125.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/spellmarkers/document-markers-zoom-150.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/spellmarkers/document-markers-zoom-175.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/spellmarkers/document-markers-zoom-200.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/spellmarkers/document-markers-zoom-250.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/spellmarkers/document-markers.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/spellmarkers/grammar-markers-hidpi.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/spellmarkers/grammar-markers.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/spellmarkers/inline-spelling-markers-hidpi-composited.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/spellmarkers/inline-spelling-markers-hidpi.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/spellmarkers/inline_spelling_markers.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/tables/collapsed-border-corner-conflict.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/tables/composited-collapsed-table-borders.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/text/selection-no-clip-text.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/text/text-match-highlights-big-line-height.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/theme/adjust-progress-bar-size.html [ Failure Pass ] -crbug.com/591099 virtual/disable-spinvalidation/paint/transforms/percentage-transform-fractional-box-size.html [ Failure ] -crbug.com/591099 virtual/disable-spinvalidation/paint/transparency/compositing-alpha-fold-crash.html [ Failure ] +crbug.com/591099 virtual/android/fast/rootscroller/set-root-scroller.html [ Failure ] crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/2d.composite.globalAlpha.fillPath.html [ Crash ] crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/2d.fillText.gradient.html [ Crash ] crbug.com/591099 virtual/display_list_2d_canvas/fast/canvas/2d.text.draw.fill.maxWidth.gradient.html [ Crash ] @@ -22283,6 +21304,7 @@ crbug.com/591099 virtual/prefer_compositing_to_lcd_text/scrollbars/viewport-scrollbar-corner-with-percent-padding-crash.html [ Failure ] crbug.com/591099 virtual/rootlayerscrolls/fast/history/scroll-restoration/scroll-restoration-fragment-navigation-crossdoc.html [ Crash ] crbug.com/591099 virtual/rootlayerscrolls/fast/history/scroll-restoration/scroll-restoration-navigation.html [ Crash ] +crbug.com/591099 virtual/rootlayerscrolls/fast/rootscroller/set-root-scroller.html [ Failure ] crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/abspos-relayout-overflow-style-change.html [ Failure ] crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/content-box-smaller-than-scrollbar.html [ Crash ] crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/custom-scrollbar-style-applied.html [ Failure ] @@ -22307,7 +21329,6 @@ crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scrollbar-tickmarks-hittest.html [ Failure Timeout ] crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scrolling-apis-nan-scroll-position.html [ Failure ] crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/scrolling-apis-subpixel.html [ Failure ] -crbug.com/591099 virtual/rootlayerscrolls/fast/scrolling/set-root-scroller.html [ Failure ] crbug.com/591099 virtual/rootlayerscrolls/scrollbars/auto-scrollbar-fades-out.html [ Failure ] crbug.com/591099 virtual/rootlayerscrolls/scrollbars/auto-scrollbar-fit-content.html [ Failure ] crbug.com/591099 virtual/rootlayerscrolls/scrollbars/basic-scrollbar.html [ Failure ]
diff --git a/third_party/WebKit/LayoutTests/FlagExpectations/enable-features=NetworkService b/third_party/WebKit/LayoutTests/FlagExpectations/enable-features=NetworkService index f572803..47bee8c 100644 --- a/third_party/WebKit/LayoutTests/FlagExpectations/enable-features=NetworkService +++ b/third_party/WebKit/LayoutTests/FlagExpectations/enable-features=NetworkService
@@ -334,6 +334,28 @@ Bug(none) external/wpt/css/css-grid-1/alignment/grid-content-distribution-018.html [ Failure Timeout ] Bug(none) external/wpt/css/css-shapes-1/shape-outside/shape-box/shape-outside-box-003.html [ Failure Timeout ] Bug(none) external/wpt/css/css-shapes-1/shape-outside/values/shape-outside-ellipse-004.html [ Failure Timeout ] +Bug(none) external/wpt/css-paint-api/paint2d-zoom.html [ Crash Timeout ] +Bug(none) external/wpt/css-paint-api/parse-input-arguments-001.html [ Timeout ] +Bug(none) external/wpt/css-paint-api/parse-input-arguments-002.html [ Timeout ] +Bug(none) external/wpt/css-paint-api/parse-input-arguments-003.html [ Timeout ] +Bug(none) external/wpt/css-paint-api/parse-input-arguments-004.html [ Timeout ] +Bug(none) external/wpt/css-paint-api/parse-input-arguments-005.html [ Timeout ] +Bug(none) external/wpt/css-paint-api/parse-input-arguments-006.html [ Timeout ] +Bug(none) external/wpt/css-paint-api/parse-input-arguments-007.html [ Timeout ] +Bug(none) external/wpt/css-paint-api/parse-input-arguments-008.html [ Timeout ] +Bug(none) external/wpt/css-paint-api/parse-input-arguments-009.html [ Timeout ] +Bug(none) external/wpt/css-paint-api/parse-input-arguments-010.html [ Timeout ] +Bug(none) external/wpt/css-paint-api/parse-input-arguments-011.html [ Timeout ] +Bug(none) external/wpt/css-paint-api/parse-input-arguments-012.html [ Timeout ] +Bug(none) external/wpt/css-paint-api/parse-input-arguments-013.html [ Timeout ] +Bug(none) external/wpt/css-paint-api/parse-input-arguments-014.html [ Timeout ] +Bug(none) external/wpt/css-paint-api/parse-input-arguments-015.html [ Timeout ] +Bug(none) external/wpt/css-paint-api/parse-input-arguments-016.html [ Timeout ] +Bug(none) external/wpt/css-paint-api/parse-input-arguments-017.html [ Timeout ] +Bug(none) external/wpt/css-paint-api/registered-properties-in-custom-paint.html [ Timeout ] +Bug(none) external/wpt/css-paint-api/style-background-image.html [ Timeout ] +Bug(none) external/wpt/css-paint-api/style-before-pseudo.html [ Crash Pass Timeout ] +Bug(none) external/wpt/css-paint-api/style-first-letter-pseudo.html [ Timeout ] Bug(none) external/wpt/cssom-view/scrolling-quirks-vs-nonquirks.html [ Failure Timeout ] Bug(none) external/wpt/cssom-view/scrollingElement.html [ Failure Timeout ] Bug(none) external/wpt/custom-elements/custom-element-registry/per-global.html [ Failure Timeout ] @@ -1908,13 +1930,6 @@ Bug(none) http/tests/csspaint/invalidation-background-image.html [ Failure ] Bug(none) http/tests/csspaint/invalidation-border-image.html [ Failure ] Bug(none) http/tests/csspaint/invalidation-content-image.html [ Crash Failure ] -Bug(none) http/tests/csspaint/paint2d-zoom.html [ Crash Timeout ] -Bug(none) http/tests/csspaint/parse-input-arguments.html [ Timeout ] -Bug(none) http/tests/csspaint/registerPaint.html [ Timeout ] -Bug(none) http/tests/csspaint/registered-properties-in-custom-paint.html [ Timeout ] -Bug(none) http/tests/csspaint/style-background-image.html [ Timeout ] -Bug(none) http/tests/csspaint/style-before-pseudo.html [ Crash Pass Timeout ] -Bug(none) http/tests/csspaint/style-first-letter-pseudo.html [ Timeout ] Bug(none) http/tests/dom/create-contextual-fragment-from-bodyless-svg-document-range.html [ Timeout ] Bug(none) http/tests/download/basic-ascii.html [ Crash ] Bug(none) http/tests/download/literal-utf-8.html [ Crash ]
diff --git a/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 b/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 index 0b7bc33..ffcbead 100644 --- a/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2 +++ b/third_party/WebKit/LayoutTests/FlagExpectations/enable-slimming-paint-v2
@@ -72,7 +72,6 @@ Bug(none) virtual/android/ [ Skip ] Bug(none) virtual/color_space/ [ Skip ] -Bug(none) virtual/disable-spinvalidation/ [ Skip ] Bug(none) virtual/display_list_2d_canvas/ [ Skip ] Bug(none) virtual/documentwriteevaluator/ [ Skip ] Bug(none) virtual/enable_asmjs/ [ Skip ]
diff --git a/third_party/WebKit/LayoutTests/FlagExpectations/root-layer-scrolls b/third_party/WebKit/LayoutTests/FlagExpectations/root-layer-scrolls index eebb501..755bfcbd 100644 --- a/third_party/WebKit/LayoutTests/FlagExpectations/root-layer-scrolls +++ b/third_party/WebKit/LayoutTests/FlagExpectations/root-layer-scrolls
@@ -1281,986 +1281,6 @@ Bug(none) transforms/2d/transform-fixed-container.html [ Failure ] Bug(none) transforms/selection-bounds-in-transformed-view.html [ Failure ] Bug(none) transforms/transformed-document-element.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/absolute-inside-out-of-view-fixed.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/background-color/background-color-outside-document.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/checkerboard.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/clip-child-by-non-stacking-ancestor.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/columns/composited-in-paginated.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/composite-scrollable-fixed-position-when-descendants-composite.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/contents-opaque/background-clip.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/contents-opaque/background-color.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/contents-opaque/body-background-painted.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/contents-opaque/body-background-skipped.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/contents-opaque/filter.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/contents-opaque/hidden-with-visible-child.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/contents-opaque/hidden-with-visible-text.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/contents-opaque/layer-opacity.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/contents-opaque/layer-transform.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/contents-opaque/overflow-hidden-child-layers.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/contents-opaque/visibility-hidden.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/culling/filter-occlusion-alpha-large.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/direct-image-compositing.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/draws-content/canvas-background-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/draws-content/webgl-background-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/filters/sw-layer-overlaps-hw-shadow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/filters/sw-nested-shadow-overlaps-hw-nested-shadow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/filters/sw-shadow-overlaps-hw-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/filters/sw-shadow-overlaps-hw-shadow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/fixed-background-after-style-recalc.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/fixed-background-composited-html.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/fixed-background-negative-z-index-fixed.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/fixed-body-background-positioned.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/fixed-position-changed-to-absolute.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/force-compositing-mode/force-composite-empty.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/force-compositing-mode/no-overflow-iframe-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/force-compositing-mode/overflow-hidden-iframe-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/force-compositing-mode/overflow-iframe-enter-compositing.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/force-compositing-mode/overflow-iframe-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/geometry/ancestor-overflow-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/geometry/bounds-clipped-composited-child.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/geometry/bounds-ignores-hidden-composited-descendant.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/geometry/bounds-ignores-hidden-dynamic.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/geometry/bounds-ignores-hidden.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/geometry/clip.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/geometry/clip-inside.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/geometry/clip-with-shadow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/geometry/composited-in-columns.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/geometry/fixed-in-composited.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/geometry/fixed-position.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/geometry/flipped-writing-mode.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/geometry/foreground-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/geometry/horizontal-scroll-composited.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/geometry/layer-due-to-layer-children-deep-switch.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/geometry/layer-due-to-layer-children-switch.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/geometry/limit-layer-bounds-opacity-transition.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/geometry/limit-layer-bounds-overflow-root.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/geometry/limit-layer-bounds-positioned.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/geometry/limit-layer-bounds-positioned-transition.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/geometry/limit-layer-bounds-transformed.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/geometry/preserve-3d-switching.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/geometry/vertical-scroll-composited.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/geometry/video-fixed-scrolling.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-1-iframe.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-2-iframe.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/iframes/become-composited-nested-iframes.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/iframes/become-overlapped-iframe.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/iframes/composited-iframe-alignment.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/iframes/composited-iframe-scroll.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/iframes/composited-parent-iframe.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/iframes/connect-compositing-iframe2.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/iframes/connect-compositing-iframe3.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/iframes/connect-compositing-iframe-delayed.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/iframes/connect-compositing-iframe.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/iframes/enter-compositing-iframe.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/iframes/iframe-composited-scrolling-hide-and-show.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/iframes/iframe-content-flipping.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/iframes/iframe-copy-on-scroll.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/iframes/iframe-in-composited-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/iframes/iframe-resize.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/iframes/iframe-size-from-zero.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/iframes/invisible-nested-iframe-hide.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/iframes/invisible-nested-iframe-show.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/iframes/nested-iframe-scrolling.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/iframes/overlapped-iframe.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/iframes/overlapped-iframe-iframe.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/iframes/overlapped-nested-iframes.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/iframes/resizer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/iframes/scrolling-iframe.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/iframes/visibility-hidden-transformed-content.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/images/clip-on-directly-composited-image.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/images/direct-image-dynamic-border-draws-content.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/animation-overlap-with-children.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/assumed-overlap-for-inline-transform.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-and-transform.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-change-out-of-view-in-view.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-in-fixed-overflow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-no-content.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-nonscrollable-body.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-nonscrollable-body-mismatch-containers.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-nonscrollable-body-overlap.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-nonscrollable-iframes-in-scrollable-page.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-out-of-view.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-out-of-view-positioning.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-out-of-view-scaled.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-out-of-view-with-backdrop-filter.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-under-transform.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/iframe-background-attachment-fixed.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/main-thread-scrolling-for-non-composited-fixed-position.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/main-thread-scrolling-for-non-composited-fixed-position-if-overflow-hidden.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/no-compositing-for-fixed-position-under-transform.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/no-compositing-for-preserve-3d.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/no-main-thread-scrolling-for-non-composited-fixed-position-without-scroll.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/overflow-scroll-overlap.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/overlap-animation-clipping.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/overlap-animation-container.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/overlap-animation.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/overlap-child-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/overlap-clipping.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/overlap-transformed-3d.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/overlap-transformed-and-clipped.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/overlap-transformed-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/overlap-transformed-layer-with-transform-body.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/overlap-transformed-preserved-3d.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/overlap-transforms.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/remove-clipping-layer-with-no-children.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/rotate3d-overlap.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/scroll-partial-update.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/spanOverlapsCanvas.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/squashing-into-ancestor-clipping-layer-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/stacking-context-overlap.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/stacking-context-overlap-nested.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/translatez-added.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/translatez-overlap.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/layer-creation/translatez-removed.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/masks/mask-layer-size.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/accelerated-overflow-scroll-should-not-affect-perspective.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/clear-scroll-parent.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/clip-descendents.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/composited-scrolling-paint-phases.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/composited-scroll-overlap-test.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/content-gains-scrollbars.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/content-loses-scrollbars.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/fixed-position-ancestor-clip.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/nested-render-surfaces-with-intervening-clip.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/nested-render-surfaces-with-rotation.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/overflow-auto-with-touch.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/overflow-auto-with-touch-no-overflow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/overflow-auto-with-touch-toggle.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/overflow-hidden-with-touch.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/overflow-overlay-with-touch.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/overflow-overlay-with-touch-no-overflow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/overflow-scrollbar-layers.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/overflow-scroll-with-touch-no-overflow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/overflow-visible-with-touch.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/reparented-scrollbars-non-sc-anc.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/resize-painting.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/scrollbar-layer-placement.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/scrolling-content-clip-to-viewport.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/scroll-parent-absolute.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/scroll-parent-absolute-with-backdrop-filter.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/scroll-parent-with-non-stacking-context-composited-ancestor.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/textarea-scroll-touch.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/tiled-mask.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/universal-accelerated-overflow-scroll.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/rendering-contexts.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/rtl/rtl-absolute.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/rtl/rtl-absolute-overflow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/rtl/rtl-absolute-overflow-scrolled.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/rtl/rtl-fixed.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/rtl/rtl-fixed-overflow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/rtl/rtl-fixed-overflow-scrolled.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/rtl/rtl-iframe-absolute.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/rtl/rtl-iframe-absolute-overflow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/rtl/rtl-iframe-absolute-overflow-scrolled.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/rtl/rtl-iframe-fixed.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/rtl/rtl-iframe-fixed-overflow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/rtl/rtl-iframe-fixed-overflow-scrolled.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/rtl/rtl-iframe-relative.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/rtl/rtl-overflow-invalidation.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/rtl/rtl-relative.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/scrollbars/nested-overlay-scrollbars.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/add-remove-squashed-layers.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/clipping-ancestor.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/composited-bounds-for-negative-z.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/do-not-squash-non-self-painting-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/dont-squash-into-animated-layers.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/dont-squash-into-blend-mode.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/dont-squash-into-iframes.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/dont-squash-into-videos.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/dont-squash-with-scale-transform.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/iframes-are-never-squashed.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/invalidations-with-large-negative-margin-inline-content.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/invisible-layers-should-not-affect-geometry.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/move-squashing-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/no-squashing-for-filters.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/no-squashing-into-another-clip-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/no-squashing-into-fixed-position-that-clips.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/opacity-squashed-owner.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/repaint-child-of-squashed.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/selection-repaint-with-gaps.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/squash-above-fixed-1.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/squash-above-fixed-2.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/squash-above-fixed-3.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/squash-compositing-hover.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/squashed-layer-loses-graphicslayer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/squashed-repaints.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/squashing-inside-perspective.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/squashing-print.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/squashing-sparsity-heuristic.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/squash-onto-distant-relative.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/squash-onto-nephew.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/squash-onto-transform-backing.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/squash-paint-invalidation-fixed-position.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/squash-same-transform-ancestor.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/squash-simple.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/squash-three-layers.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/squash-transform.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/squash-transform-repainting-child.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/squashing/squash-transform-repainting-transformed-child.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/tiled-layers-hidpi.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/update-paint-phases.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/video/video-poster.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/visibility/layer-visible-content.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/visibility/visibility-image-layers-dynamic.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/will-change/composited-layers.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/compositing/will-change/will-change-contents-suppresses-compositing.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/frames/frameset-with-stacking-context-and-not-stacking-context-children.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/frames/frameset-with-stacking-contexts.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/4776765.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/absolute-display-block-to-none.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/absolute-margin-change-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/absolute-position-change-containing-block.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/absolute-position-changed.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/absolute-position-moved.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/abspos-shift-image-incorrect-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/add-table-overpaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/align-content-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/align-content-change-keeping-geometry.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/align-content-change-no-flex.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/align-content-distribution-change-grid.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/align-content-position-change-grid.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/align-items-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/align-items-overflow-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/align-self-change-grid.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/align-self-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/align-self-change-keeping-geometry-grid.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/align-self-change-keeping-geometry.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/align-self-change-no-flex.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/align-self-overflow-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/animated-gif-background.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/animated-gif-background-offscreen-firstline.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/animated-gif-background-offscreen.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/animated-gif.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/animated-gif-offscreen.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/animated-gif-transformed-offscreen.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/animated-png-background.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/animated-png.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/animated-png-offscreen.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/animated-webp-background.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/animated-webp.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/animated-webp-offscreen.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/background-currentColor-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/background-generated.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/background-image-paint-invalidation.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/background-image-paint-invalidation-large-abspos-div.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/background-misaligned.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/background-resize-height.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/background-shorthand-with-gradient-and-height-changes.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/background-size-auto-with-gradient-and-height-changes.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/backgroundSizeRepaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/block-layout-inline-children-float-positioned.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/block-layout-inline-children-replaced.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/block-no-inflow-children.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/block-shift-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/body-background-image.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/border-current-color.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/border-image-outset-add-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/border-image-outset-change-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/border-outline-0.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/border-radius-repaint-2.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/border-radius-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/border-radius-without-border.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/border-radius-with-outline.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/border-repaint-glitch.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/box-inline-resize.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/box-shadow-add-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/box-shadow-change-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/box-shadow-dynamic.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/box-shadow-inset-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/box-sizing-border-keeping-size.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/box-sizing.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/box-sizing-padding-keeping-size.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/bugzilla-3509.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/bugzilla-5699.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/bugzilla-6278.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/bugzilla-6388.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/bugzilla-6473.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/bugzilla-7235.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/button-checkbox-click-method-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/button-inner-no-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/button-spurious-layout-hint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/canvas-composite-repaint-by-all-imagesource.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/canvas-putImageData.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/canvas-resize.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/canvas-resize-no-full-invalidation.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/caret-contenteditable-content-after.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/caret-outside-block.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/caret-subpixel.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/caret-with-composited-scroll.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/caret-with-transformation.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/change-text-content-and-background-color.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/change-transform.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/child-of-sub-pixel-offset-composited-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/clip-path-constant-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/clipped-overflow-visible-subtree.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/clipped-relative.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/clip-unclip-and-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/clip-with-layout-delta.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/column-rules-fixed-height.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/composited-iframe-scroll-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/composited-overflow-with-borderbox-background.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/composited-overflow-with-local-background.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/composited-overflow-with-negative-offset-outline.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/composited-table-row.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/composited-vertical-rl-overflow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/background-attachment-local-composited.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/background-attachment-local-equivalent.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/clipping-should-not-repaint-composited-descendants.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/column-span-under-composited-column-child.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/composited-float-under-composited-inline.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/compositing-reason-removed.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/containing-block-added.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/containing-block-removed.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/fixed-pos-inside-composited-intermediate-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/fixed-pos-with-abs-pos-child-scroll.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/fixed-scroll-in-empty-root-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/float-under-composited-inline.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/iframe-inside-squashed-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/invalidate-when-leaving-squashed-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/invalidation-for-subpixel-offset-of-squashed-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/invalidations-on-composited-layers.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/invalidations-with-large-negative-margin.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/new-stacking-context.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/overlap-test-with-filter.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/page-scale-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/remove-squashed-layer-plus-move.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/repaint-overflow-scrolled-squashed-content.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/repaint-squashed-layer-in-rect.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/repaint-via-layout-offset.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/resize-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/resize-squashing-layer-that-needs-full-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/scroll-fixed-layer-no-content.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/scroll-fixed-layer-out-of-view.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/scroll-fixed-squahed-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/scrolling-without-painting.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/should-invoke-deferred-compositing.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-clip-composited-overflow-scrolling-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-clip-composited-viewport-scrolling-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-composited-descendants.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-composited-descendants-on-overflow-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-composited-filter.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-composited-opacity.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-composited-transform.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-composited-z-index.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-scrolling-contents-outline-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/squashing-inside-preserve-3d-element.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/squash-partial-repaint-inside-squashed-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/stacked-float-under-composited-inline.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/subpixel-offset-scaled-transform-composited.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/text-color-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/text-match-highlight.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/tricky-element-removal-crash.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/updating-scrolling-container-and-content.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/updating-scrolling-container.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/compositing/updating-scrolling-content.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/containing-block-position-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/content-into-overflow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/control-clip.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/crbug-371640-2.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/crbug-371640-3.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/crbug-371640-4.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/crbug-371640.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/create-layer-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/css-grid-layout/grid-element-change-columns-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/css-grid-layout/grid-element-change-rows-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/css-grid-layout/grid-item-change-column-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/css-grid-layout/grid-item-change-row-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/css-grid-layout/grid-item-z-index-change-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/delete-into-nested-block.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/destroy-composited-scrollbar.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/destroy-overlay-scrollbar.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/destroy-scrollbar.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/details-open-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/document-flipped-blocks-writing-mode-scroll.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/do-not-paint-below-image-baseline.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/dont-invalidate-root-layer-when-composited-layer-becomes-visible.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/dynamic-table-vertical-alignment-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/empty-object-move-and-resize.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/erase-overflow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/filter-invalidation-after-display.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/filter-invalidation-positioned-child.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/filter-invalidation-with-composited-container-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/filter-on-html-element-with-fixed-position-child.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/filter-repaint-accelerated-child-with-filter-child.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/filter-repaint-accelerated-on-accelerated-filter.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/filter-repaint-on-accelerated-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-composite-1.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-composite-2.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-composite-3.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-composite-4.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-composite-5.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-composite-6.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-displacement.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-gaussianblur.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-gaussianblur-xonly.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-gaussianblur-yonly.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-lighting.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-merge.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-morphology.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-morphology-xonly.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-morphology-yonly.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/filters/effect-reference-repaint-offset.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/fixed-after-scroll.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/fixed-and-absolute-position-scrolled.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/fixed-child-move-after-scroll.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/fixed-child-of-fixed-move-after-scroll.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/fixed-child-of-transformed-move-after-scroll.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/fixed-child-of-transformed-scrolled.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/fixed-descendant-of-transformed-scrolled.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/fixed-element-repaint-after-compositing-update.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/fixed.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/fixed-img-src-change-after-scroll.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/fixed-margin-change-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/fixed-move-after-scroll.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/fixed-position-transparency-with-overflow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/fixed-scale.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/fixed-scroll-simple.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/fixed-table-cell.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/fixed-table-overflow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/fixed-table-overflow-zindex.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/fixed-to-relative-position-with-absolute-child.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/fixed-tranformed.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/fixed-under-composited-absolute-scrolled.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/fixed-under-composited-fixed-scrolled.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/fixed-with-border-under-composited-absolute-scrolled.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-column-reverse.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-during-resize-no-flex.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-on-layout.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-on-margin-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-opacity-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-rtl-column.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/flexbox/scrollbars-changed.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/flipped-blocks-writing-mode-scroll.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/float-in-new-block-with-layout-delta.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/float-move-during-layout.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/float-new-in-block.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/float-overflow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/float-overflow-right.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/focus-continuations.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/focus-enable-continuations.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/focus-ring-on-child-move.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/focus-ring-on-continuation-move.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/focus-ring-on-inline-continuation-move.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/forms/checkbox-focus-by-mouse-then-keydown.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/forms/radio-focus-by-mouse-then-keydown.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/forms/range-focus-by-mouse-then-keydown.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/full-viewport-repaint-for-background-attachment-fixed.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/gradients-em-stops-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/hover-pseudo-borders.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/hover-pseudo-borders-whitespace.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/iframe-display-block-to-display-none.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/iframe-display-none-to-display-block.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/iframe-rounding.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/iframe-scrollbar-hover.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/iframe-scroll-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/image-resize.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/inline-block-resize.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/inline-color-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/inline-focus.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-2.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/inline-overflow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/inline-reflow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/inline-relative-positioned.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/inline-style-change-in-scrolled-view.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/inline-vertical-lr-overflow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/inline-vertical-rl-overflow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/input-overflow-in-table.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/in-scaled-iframe.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/insert-frame.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/intermediate-layout-position-clip.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/intermediate-layout-position.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/invalidate-after-composited-scroll.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/invalidate-after-composited-scroll-of-window.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/invalidate-box-shadow-currentColor.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-before-text-node-update.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/invalidate-cell-in-row-with-offset.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/invalidate-descendants-when-receiving-paint-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/invalidate-invisible-element.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/invalidate-paint-for-fixed-pos-inside-iframe.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/invalidate-paint-in-iframe-in-composited-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/invalidation-after-opacity-change-subtree.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/invalidation-on-foreground-graphics-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/invalidation-with-scale-transform.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/invalidation-with-zero-size-object.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/invisible-objects.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-clear.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/justify-content-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/justify-content-distribution-change-grid.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/justify-content-position-change-grid.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/justify-content-position-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/justify-items-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/justify-items-legacy-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/justify-items-overflow-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/justify-self-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/justify-self-change-keeping-geometry.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/justify-self-overflow-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/layer-full-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/layer-hide-when-needs-layout.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/layer-visibility.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/layoutstate-invalid-invalidation-inline-relative-positioned.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/layout-state-only-positioned.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/layout-state-relative.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset2.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset3.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-10.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-1.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-2.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-3.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-4.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-5.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-6.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-7.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-8.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-9.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/line-in-scrolled-clipped-block.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/line-overflow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/lines-with-layout-delta.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/list-marker-2.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/make-children-non-inline.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/margin.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/media-audio-no-spurious-repaints.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/mix-blend-mode-separate-stacking-context.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/multicol-as-paint-container.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/multicol-relpos-with-abspos.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/multicol-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/multicol-resize-with-rule.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/multicol-with-abspos.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/multicol-with-abspos-in-relpos.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/multicol-with-block.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/multicol-with-inline.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/multicol-with-overflowing-block-rl.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/multicol-with-relpos.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/multicol-with-text.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/multi-layout-one-frame.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/multiple-backgrounds-style-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/negative-shadow-box-expand.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/negative-shadow-box-shrink.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/negative-text-indent-with-overflow-hidden.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/nested-fixed-iframe-scrolled.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/nested-iframe-scroll-inner.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/nested-iframe-scroll-outer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/no-caret-repaint-in-non-content-editable-element.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/non-text-link-invalidation-optimization.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/offset-change-wrong-invalidation-with-float.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/opacity-change-on-overflow-float.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/outline-add-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/outline-become-affected-by-descendant.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/outline-become-not-affected-by-descendant.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/outline-change-continuations.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/outline-change-invalidation.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/outline-change-offset.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/outline-change-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/outline-child-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/outline-clip-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/outline-containing-image-in-non-standard-mode.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/outline-continuations.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/outline-current-color.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/outline-inset.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/outline-not-affected-by-descendant.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/outline-repaint-glitch.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/outline-shrinking.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/overflow-auto-in-overflow-auto-scrolled.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/overflow-changed-on-child-of-composited-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/overflow-clip-subtree-layout.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/overflow-delete-line.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/overflow-flipped-writing-mode-block.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/overflow-flipped-writing-mode-table.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/overflow-hidden-in-overflow-hidden-scrolled.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/overflow-hidden-yet-scrolled.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/overflow-hidden-yet-scrolled-with-custom-scrollbar.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/overflow-hide.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/overflow-into-content.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/overflow-move-after-scroll.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-after-move.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-body-appear.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-composited-non-stacking-child.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-delete.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-in-overflow-scroll-scrolled.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-local-background-text-color-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/overflow-show.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/overhanging-float-detach-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/padding-border-keeping-border-box-and-content-box.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/padding-keeping-content-size.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/padding-keeping-visual-size.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/paged-with-overflowing-block-rl.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/paint-caret-in-div-with-negative-indent.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/paint-invalidation-with-opacity.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/paint-invalidation-with-reparent-across-frame-boundaries.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/percent-size-image-resize-container.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/position-change-keeping-geometry.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/positioned-document-element.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/positioned-great-grandparent-change-location.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/positioned-list-offset-change-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/push-block-with-first-line.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/quotes.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/reflection-invalidation-after-display.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/reflection-invalidation-positioned-child.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/reflection-redraw.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/reflection-repaint-test.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/relative-inline-positioned-movement-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/relative-margin-change-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/relative-positioned-movement-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/relayout-fixed-position-after-scale.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/rel-positioned-inline-with-overflow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/remove-block-after-layout.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/remove-inline-after-layout.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/remove-inline-block-descendant-of-flex.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/remove-inline-layer-after-layout.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/repaint-across-writing-mode-boundary.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/repaint-composited-child-in-scrolled-container.html [ Timeout Failure Failure Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/repaint-descandant-on-ancestor-layer-move.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/repaint-during-scroll-with-zoom.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/repaint-in-iframe.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/repaint-on-style-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/repaint-resized-overflow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/repaint-subrect-grid.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/repaint-table-row-in-composited-document.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/replaced-clipped-positioned-not-wrong-incremental-repainting.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/requestAnimation-translation-leave-traces.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/resize-child-within-overflow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/resize-iframe-text.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/resize-scrollable-div.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/resize-scrollable-iframe.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/resize-skewed.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/resize-with-border-clipped.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/resize-with-border.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/ruby-flipped-blocks.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/scroll-absolute-layer-with-reflection.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/scrollbar-damage-and-full-viewport-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/scrollbar-invalidation-on-resize.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/scrollbar-invalidation-on-resize-with-border.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/scrollbar-parts.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/scroll-descendant-with-cached-cliprects.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/scrolled-iframe-scrollbar-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/scroll-fixed-layer-with-no-visible-content.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/scroll-fixed-layer-with-reflection.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/scroll-fixed-layer-with-transformed-parent-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/scroll-fixed-reflected-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/scroll-in-clipped-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/scroll-in-fixed-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/scroll-inside-table-cell.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/scroll-in-transformed-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/scroll-relative-table-inside-table-cell.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/scroll-stacking-context-backface-visiblity-leaves-traces.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/scroll-with-transformed-parent-layer.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/search-field-cancel.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/selected-replaced.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/selection-after-delete.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/selection-after-remove.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/selection-change-in-iframe-with-relative-parent.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/selection-clear-after-move.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/selection-clear.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-rtl.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-lr.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-rl.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-with-br-includes-newline.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/selection-partial-invalidation-between-blocks.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/selection/repaint-rect-for-vertical-writing-mode-with-positioned-root.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/selection-rl.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-composited-scrolling-container.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/selection/selection-within-composited-scroller.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/select-option-background-color.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/set-text-content-same.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/shadow-box-resize.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/shadow-box-resize-writing-mode.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-addition.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-removal.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/single-line-cells-repeating-thead-break-inside-on-thead-only.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/stacked-diacritics.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/stacking-context-lost.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/static-to-positioned.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/subpixel-offset-scaled-transform.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/subpixel-shadow-included-in-invalidation.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/subtree-layoutstate-transform.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/subtree-root-clip-2.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/subtree-root-clip-3.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/subtree-root-clip.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/absolute-sized-content-with-resources.xhtml [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/absolute-sized-document-no-scrollbars.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/add-background-property-on-root.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/add-border-property-on-root.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/add-outline-property-on-root.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/animated-path-inside-transformed-html.xhtml [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-background-offscreen.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-offscreen.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-transformed-offscreen.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/animate-fill.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/animate-target-id-changed.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/append-text-node-to-tspan.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/change-background-color.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/circle-move-invalidation.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/clip-path-child-changes.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/clip-path-href-changes.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/clip-path-id-changes.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/clip-path-units-changes.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/color-fill-currentColor-and-css.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/container-repaint.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/deep-dynamic-updates.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/deep-nested-embedded-svg-size-changes-no-layout-triggers-1.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/deep-nested-embedded-svg-size-changes-no-layout-triggers-2.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/embedded-svg-size-changes-no-layout-triggers.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/ems-display-none.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/exs-display-none.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/fecomponenttransfer-in1-change.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/feImage-change-target-id.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/feImage-multiple-targets-id-change.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/feImage-reference-invalidation.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/feImage-remove-target.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-add-to-document.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-attribute-change.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-attribute-change-with-use-indirection-2.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-attribute-change-with-use-indirection.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-changes-id.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-id-change.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-inline-style-change.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-property-change.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-reappend-to-document.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-remove-from-document.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-style-change.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/fill-opacity-update.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/filter-child-repaint.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/filter-refresh.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/filter-width-update.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/focus-element.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/foreignObject-crash-on-hover.xml [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/foreign-object-repaint.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/gradient-add-stops.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/gradient-stop-style-change.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/hairline-stroke-squarecap.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/image-href-change.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/image-with-clip-path.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/inner-svg-change-viewBox-contract.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/inner-svg-change-viewBox.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/inner-svg-change-viewPort-relative.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/invalidate-on-child-layout.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/js-late-clipPath-and-object-creation.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/js-late-clipPath-creation.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-and-object-creation.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-creation.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/js-late-marker-and-object-creation.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/js-late-marker-creation.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/js-late-mask-and-object-creation.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/js-late-mask-creation.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-and-object-creation.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-creation.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/js-repaint-rect-on-path-with-stroke.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/js-update-bounce.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/js-update-container.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/js-update-gradient.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/js-update-image.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/js-update-pattern-child.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/js-update-pattern.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/js-update-polygon-changes.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/js-update-polygon-removal.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/js-update-stop-linked-gradient.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/js-update-stop.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/js-update-style.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/js-update-transform-addition.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/js-update-transform-changes.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/marker-child-changes-css.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/marker-child-changes.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/marker-strokeWidth-changes.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/marker-viewBox-changes.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/mask-child-changes.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/mask-clip-target-transform.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/mask-invalidation.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/modify-inserted-listitem.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/modify-text-node-in-tspan.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/modify-transferred-listitem-different-attr.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/modify-transferred-listitem.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/nested-embedded-svg-size-changes-no-layout-triggers-1.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/nested-embedded-svg-size-changes-no-layout-triggers-2.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/object-sizing-no-width-height-change-content-box-size.xhtml [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/outline-offset-shape.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/outline-offset-text.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/paintorder-filtered.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/path-pathlength-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/pending-resource-after-removal.xhtml [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/rect-modify-rx.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-with-resources.xhtml [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content.xhtml [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-deep-shadow-tree-content.xhtml [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-document-scrollbars.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-image.xhtml [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-inner-svg.xhtml [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content-with-symbol.xhtml [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content.xhtml [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-on-symbol.xhtml [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-without-attributes-on-symbol.xhtml [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/remove-background-property-on-root.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/remove-border-property-on-root.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/remove-outline-property-on-root.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/remove-text-node-from-tspan.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/remove-tspan-from-text.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/repaint-in-scrolled-view.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/repaint-moving-svg-and-div.xhtml [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/repaint-non-scaling-stroke-text-decoration.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/repaint-non-scaling-stroke-text.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/repaint-on-constant-size-change.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/repaint-on-image-bounds-change.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/repaint-paintorder.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/repaint-stroke-width-changes.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/resource-client-removal.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/resource-invalidate-on-target-update.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/rounded-rect-height-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/shape-transform-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/shape-with-nested-outline.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/stroke-opacity-update.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/svg-absolute-children.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/svg-background-partial-redraw.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/svg-image-change-content-size.xhtml [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/svg-image-par-resize.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/svgsvgelement-repaint-children.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/tabgroup.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/text-dom-removal.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/text-mask-update.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/text-pattern-update-2.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/text-pattern-update.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/text-repaint-including-stroke.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/text-rescale.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/text-selection-text-05-t.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/text-viewbox-rescale.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/text-xy-updates-SVGList.xhtml [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/transform-changed-state.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/transform-focus-ring-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/transform-foreign-object.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/transform-text-element.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/tspan-dynamic-positioning.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/tspan-pattern-update.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/use-clipped-hit.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/use-detach.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/use-disappears-after-style-update.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/use-inherit-style.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/use-setAttribute-crash.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/svg/window.svg [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/animated-row-background.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/border-collapse-change-collapse-to-separate.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/border-collapse-change-separate-to-collapse.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/cached-69296.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/cached-cell-append.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-border-color.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-border-width.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/cached-change-col-border-color.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/cached-change-col-border-width.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/cached-change-colgroup-border-color.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/cached-change-colgroup-border-width.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/cached-change-row-border-color.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/cached-change-row-border-width.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/cached-change-table-border-color.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/cached-change-table-border-width.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/cached-change-tbody-border-color.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/cached-change-tbody-border-width.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table-cell-collapsed-border.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table-cell-move.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table-cell-overflow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table-col-background.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table-col-background-offset.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/collapsed-border-cell-resize.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-initial-empty.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-initial-empty.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-initial-empty.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-initial-empty.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-initial-empty.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-initial-empty.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-initial-empty.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table-extra-bottom-grow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table-outer-border.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table-overflow-auto-in-overflow-auto-scrolled.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table-overflow-scroll-in-overflow-scroll-scrolled.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-vertical-align-cell.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/resize-table-row-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table-row-bg-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table/row-change-background-rowspan-cell.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table-row.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table-section-overflow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table-section-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table-shrink-row-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table-two-pass-layout-overpaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/table-with-padding-row-invalidation.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/text-append-dirty-lines.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/textarea-appearance-none-resize-handle.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/textarea-caret.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/textarea-resize-property-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/textarea-set-disabled.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/text-in-relative-positioned-inline.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/text-match-document-change.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/text-selection-rect-in-overflow-2.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/text-selection-rect-in-overflow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/trailing-floats-root-line-box-overflow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/transform-absolute-child.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/transform-absolute-in-positioned-container.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/transform-disable-layoutstate.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/transform-inline-layered-child.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/transform-layout-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/transform-relative-position.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/transform-repaint-descendants.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/transform-replaced-shadows.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/transform-rotate-and-remove.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/transform-translate.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/vertical-align1.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/vertical-align2.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/vertical-align-length1.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/vertical-align-length2.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/vertical-overflow-child.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/vertical-overflow-parent.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/vertical-overflow-same.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/vertical-rl-as-paint-container.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/vertical-rl-overflow.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/video-mute-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/video-unmute-repaint.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/view-background-from-body-2.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/viewport-gradient-background-html-resize.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/window-resize-background-image-fixed-centered-composited.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/window-resize-background-image-fixed-centered.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/window-resize-background-image-generated.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/window-resize-background-image-non-fixed.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/window-resize-centered-inline-under-fixed-pos.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/window-resize-frameset.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/window-resize-media-query.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/window-resize-no-layout-change1.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/window-resize-no-layout-change2.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/window-resize-percent-html.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/window-resize-percent-width-height.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/window-resize-positioned-bottom.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/window-resize-positioned-percent-top.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/window-resize-vertical-writing-mode.html [ Crash ] -Bug(none) virtual/disable-spinvalidation/paint/invalidation/window-resize-viewport-percent.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/pagination/pagination-change-clip-crash.html [ Failure ] -Bug(none) virtual/disable-spinvalidation/paint/printing/print-box-shadow.html [ Failure ] Bug(none) virtual/gpu-rasterization/images/color-profile-group.html [ Failure ] Bug(none) virtual/gpu-rasterization/images/color-profile-iframe.html [ Failure ] Bug(none) virtual/mojo-loading/http/tests/dom/script-module-load-incomplete-no-crash.html [ Crash ]
diff --git a/third_party/WebKit/LayoutTests/LeakExpectations b/third_party/WebKit/LayoutTests/LeakExpectations index 8c29ea7c..fcdd5e1 100644 --- a/third_party/WebKit/LayoutTests/LeakExpectations +++ b/third_party/WebKit/LayoutTests/LeakExpectations
@@ -11,7 +11,6 @@ # FIXME: The below tests fails when the leak detector is disabled. crbug.com/366029 compositing/fixed-body-background-positioned.html [ Failure Pass ] -crbug.com/366029 virtual/disable-spinvalidation/compositing/fixed-body-background-positioned.html [ Failure Pass ] # FIXME: The below tests crashes when the leak detector is run on debug builds crbug.com/366043 [ Debug ] fast/history/history-traversal-is-asynchronous.html [ Crash ]
diff --git a/third_party/WebKit/LayoutTests/NeverFixTests b/third_party/WebKit/LayoutTests/NeverFixTests index 5a3e9f1..cc25550 100644 --- a/third_party/WebKit/LayoutTests/NeverFixTests +++ b/third_party/WebKit/LayoutTests/NeverFixTests
@@ -367,8 +367,6 @@ # This W3C EME test fetches a file, which is not allowed. #external/wpt/encrypted-media/idlharness.html [ WontFix ] -[ Win7 Debug ] virtual/disable-spinvalidation/compositing/perpendicular-layer-sorting.html [ WontFix ] - # Below are manual tests from web-platform-tests without automation. external/wpt/2dcontext/drawing-paths-to-the-canvas/canvas_focus_drawFocusIfNeeded_AAPI_001-manual.html [ WontFix ] external/wpt/battery-status/battery-charging-manual.https.html [ WontFix ]
diff --git a/third_party/WebKit/LayoutTests/SlowTests b/third_party/WebKit/LayoutTests/SlowTests index 136a8465..643bef0 100644 --- a/third_party/WebKit/LayoutTests/SlowTests +++ b/third_party/WebKit/LayoutTests/SlowTests
@@ -14,8 +14,6 @@ crbug.com/24182 editing/selection/modify_move/move-by-word-visually-multi-line.html [ Slow ] crbug.com/24182 compositing/culling/filter-occlusion-blur-large.html [ Slow ] crbug.com/24182 compositing/video-frame-size-change.html [ Slow ] -crbug.com/24182 virtual/disable-spinvalidation/compositing/culling/filter-occlusion-blur-large.html [ Slow ] -crbug.com/24182 virtual/disable-spinvalidation/compositing/video-frame-size-change.html [ Slow ] crbug.com/24182 css3/filters/effect-reference-hidpi-hw.html [ Slow ] crbug.com/24182 css3/filters/filter-change-repaint-composited.html [ Slow ] crbug.com/24182 editing/selection/caret-at-bidi-boundary.html [ Slow ] @@ -300,7 +298,6 @@ crbug.com/528419 inspector/elements/styles-2/pseudo-elements.html [ Slow ] crbug.com/529345 [ Win10 ] paint/masks/fieldset-mask.html [ Slow ] -crbug.com/529345 [ Win10 ] virtual/disable-spinvalidation/paint/masks/fieldset-mask.html [ Slow ] crbug.com/552556 [ Win Linux ] virtual/threaded/fast/scroll-behavior/overflow-scroll-root-frame-animates.html [ Slow ] crbug.com/552556 [ Win Linux ] virtual/threaded/fast/scroll-behavior/overflow-scroll-animates.html [ Slow ] crbug.com/570656 [ Mac ] fast/writing-mode/Kusa-Makura-background-canvas.html [ Slow ] @@ -353,7 +350,6 @@ crbug.com/614910 virtual/gpu-rasterization/images/color-profile-filter.html [ Slow ] crbug.com/623798 paint/images/animated-gif-last-frame-crash.html [ Slow ] -crbug.com/623798 virtual/disable-spinvalidation/paint/images/animated-gif-last-frame-crash.html [ Slow ] crbug.com/606649 fast/dom/gc-dom-tree-lifetime.html [ Slow ] @@ -368,8 +364,6 @@ # bots running tests on real hardware or maybe when using SwiftShader. crbug.com/646528 compositing/lots-of-img-layers.html [ Slow ] crbug.com/646528 compositing/lots-of-img-layers-with-opacity.html [ Slow ] -crbug.com/646528 virtual/disable-spinvalidation/compositing/lots-of-img-layers.html [ Slow ] -crbug.com/646528 virtual/disable-spinvalidation/compositing/lots-of-img-layers-with-opacity.html [ Slow ] # IDB Observer tests require multiple browsing contexts/workers interacting with # IndexedDB, which can be slow. @@ -391,9 +385,15 @@ crbug.com/719298 fast/dnd/dropEffect-for-effectAllowed.html [ Slow ] +crbug.com/725548 [ Debug ] storage/indexeddb/objectstore-keycursor.html [ Slow ] + crbug.com/676572 [ Debug ] external/wpt/webstorage/storage_local_setitem_quotaexceedederr.html [ Slow ] # These tests were previously marked Slow in ASANExpectations. crbug.com/451577 [ Linux ] inspector/elements/user-properties.html [ Slow ] crbug.com/451577 [ Linux ] inspector/layers/layer-canvas-log.html [ Slow ] +# These imported tests exercise tens of thousands of code points and generate large results. +crbug.com/736056 external/wpt/encoding/legacy-mb-japanese [ Slow ] +crbug.com/736056 external/wpt/encoding/legacy-mb-korean [ Slow ] +crbug.com/736056 external/wpt/encoding/legacy-mb-tchinese [ Slow ]
diff --git a/third_party/WebKit/LayoutTests/TestExpectations b/third_party/WebKit/LayoutTests/TestExpectations index 70015e3..224f3344 100644 --- a/third_party/WebKit/LayoutTests/TestExpectations +++ b/third_party/WebKit/LayoutTests/TestExpectations
@@ -49,10 +49,8 @@ ########## Ref tests can't be rebaselined ########## crbug.com/504613 crbug.com/524248 [ Mac ] paint/images/image-backgrounds-not-antialiased.html [ Failure ] -crbug.com/504613 crbug.com/524248 [ Mac ] virtual/disable-spinvalidation/paint/images/image-backgrounds-not-antialiased.html [ Failure ] crbug.com/619103 paint/invalidation/background-resize-width.html [ Failure Pass ] -crbug.com/619103 virtual/disable-spinvalidation/paint/invalidation/background-resize-width.html [ Failure Pass ] crbug.com/627844 virtual/gpu/fast/canvas/canvas-createImageBitmap-colorClamping.html [ Failure ] @@ -60,7 +58,6 @@ crbug.com/644433 virtual/gpu/fast/canvas/OffscreenCanvas-2d-pattern-in-worker.html [ Failure ] crbug.com/702006 paint/invalidation/compositing/scrolling-neg-z-index-descendants-should-cause-repaint.html [ Failure ] -crbug.com/702006 virtual/disable-spinvalidation/paint/invalidation/compositing/scrolling-neg-z-index-descendants-should-cause-repaint.html [ Failure ] ########## Genuinely flaky ########## crbug.com/624233 virtual/gpu-rasterization/images/color-profile-background-clip-text.html [ Pass Failure ] @@ -68,9 +65,6 @@ crbug.com/653722 compositing/reflections/nested-reflection-anchor-point.html [ Pass Failure ] crbug.com/653722 compositing/reflections/nested-reflection-animated.html [ Pass Failure ] crbug.com/653722 compositing/reflections/nested-reflection-transition.html [ Pass Failure ] -crbug.com/653722 virtual/disable-spinvalidation/compositing/reflections/nested-reflection-anchor-point.html [ Pass Failure ] -crbug.com/653722 virtual/disable-spinvalidation/compositing/reflections/nested-reflection-animated.html [ Pass Failure ] -crbug.com/653722 virtual/disable-spinvalidation/compositing/reflections/nested-reflection-transition.html [ Pass Failure ] crbug.com/664850 virtual/display_list_2d_canvas/fast/canvas/canvas-createImageBitmap-webgl.html [ Pass Failure ] crbug.com/664850 virtual/display_list_2d_canvas/fast/canvas/OffscreenCanvas-2d-drawImage.html [ Pass Failure ] @@ -83,7 +77,6 @@ # This is a missing event and increasing the timeout or using run-after-layout-and-paint doesn't # seem to fix it. crbug.com/309675 compositing/gestures/gesture-tapHighlight-simple-longPress.html [ Failure ] -crbug.com/309675 virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-simple-longPress.html [ Failure ] # The failure in the next line is due to virtual/gpu bots using osmesa # Under osmesa, skia's filter quality doesn't work correctly. This test is expected to pass @@ -1531,6 +1524,9 @@ crbug.com/321237 [ Win ] fast/multicol/span/pseudo-before-after-in-content.html [ Failure ] crbug.com/321237 [ Win ] fast/selectors/004.html [ Failure ] +crbug.com/739514 external/wpt/html/semantics/scripting-1/the-script-element/load-error-events-2.html [ Failure ] +crbug.com/715369 external/wpt/html/semantics/scripting-1/the-script-element/module/load-error-events-inline.html [ Failure ] + crbug.com/501659 fast/xsl/xslt-missing-namespace-in-xslt.xml [ Failure ] crbug.com/501659 http/tests/security/xss-DENIED-xml-external-entity.xhtml [ Failure ] @@ -1684,9 +1680,7 @@ crbug.com/610464 [ Linux Win7 Debug ] inspector/components/throttler.html [ Failure Pass ] crbug.com/487344 [ Linux Mac Win7 ] paint/invalidation/video-paint-invalidation.html [ Failure ] -crbug.com/487344 [ Linux Mac Win7 ] virtual/disable-spinvalidation/paint/invalidation/video-paint-invalidation.html [ Failure ] crbug.com/487344 [ Win ] compositing/video/video-controls-layer-creation.html [ Pass Failure ] -crbug.com/487344 [ Win ] virtual/disable-spinvalidation/compositing/video/video-controls-layer-creation.html [ Pass Failure ] crbug.com/487344 fast/hidpi/video-controls-in-hidpi.html [ Failure ] crbug.com/487344 fast/layers/video-layer.html [ Failure ] crbug.com/487344 media/audio-controls-rendering.html [ Failure ] @@ -1710,9 +1704,6 @@ crbug.com/646644 [ Mac10.9 ] http/tests/media/video-buffered-range-contains-currentTime.html [ Failure Timeout ] crbug.com/646644 [ Mac10.9 ] virtual/mojo-loading/http/tests/media/video-buffered-range-contains-currentTime.html [ Failure Timeout ] -# This test is irrelevant because we're about to delete the virtual test suite anyway. -Bug(none) virtual/disable-spinvalidation/paint/invalidation/percentage-transform-paint-offset.html [ Crash ] - crbug.com/637930 http/tests/media/video-buffered.html [ Pass Failure ] crbug.com/637930 virtual/mojo-loading/http/tests/media/video-buffered.html [ Pass Failure ] @@ -1872,6 +1863,8 @@ crbug.com/724251 virtual/threaded/animations/svg-attribute-interpolation/svg-startOffset-interpolation.html [ Failure Pass ] +crbug.com/739965 inspector/console/console-log-linkify-stack-in-errors.html [ NeedsManualRebaseline ] + crbug.com/736050 external/wpt/IndexedDB/idbcursor_advance_index.htm [ Pass Failure ] crbug.com/736050 external/wpt/IndexedDB/idbcursor-continue-exception-order.htm [ Pass Failure ] crbug.com/736050 external/wpt/IndexedDB/idbcursor_continue_index2.htm [ Pass Failure ] @@ -1916,75 +1909,6 @@ crbug.com/736050 external/wpt/IndexedDB/upgrade-transaction-lifecycle-backend-aborted.html [ Pass Failure ] crbug.com/736050 external/wpt/IndexedDB/value_recursive.htm [ Pass Failure ] -crbug.com/736056 external/wpt/encoding/legacy-mb-japanese/shift_jis/sjis-decode-csshiftjis.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-japanese/shift_jis/sjis-decode.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-japanese/shift_jis/sjis-decode-ms932.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-japanese/shift_jis/sjis-decode-ms_kanji.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-japanese/shift_jis/sjis-decode-shift-jis.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-japanese/shift_jis/sjis-decode-sjis.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-japanese/shift_jis/sjis-decode-windows-31j.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-japanese/shift_jis/sjis-decode-x-sjis.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-csshiftjis.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-errors-hangul.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-errors-misc.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-ms932.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-ms_kanji.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-shift-jis.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-sjis.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-windows-31j.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-x-sjis.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-hangul.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-han.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href-errors-misc.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-japanese/shift_jis/sjis-encode-href.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-korean/euc-kr/euckr-decode-cseuckr.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-korean/euc-kr/euckr-decode-csksc56011987.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-korean/euc-kr/euckr-decode.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-korean/euc-kr/euckr-decode-iso-ir-149.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-korean/euc-kr/euckr-decode-korean.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-korean/euc-kr/euckr-decode-ks_c_5601-1987.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-korean/euc-kr/euckr-decode-ks_c_5601-1989.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-korean/euc-kr/euckr-decode-ksc_5601.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-korean/euc-kr/euckr-decode-ksc5601.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-korean/euc-kr/euckr-decode-windows-949.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-cseuckr.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-csksc56011987.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-errors-hangul.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-errors-han.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-errors-misc.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-korean/euc-kr/euckr-encode-form.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-iso-ir-149.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-korean.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-ks_c_5601-1987.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-ks_c_5601-1989.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-ksc_5601.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-ksc5601.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-windows-949.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-korean/euc-kr/euckr-encode-href-errors-han.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-korean/euc-kr/euckr-encode-href-errors-misc.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-korean/euc-kr/euckr-encode-href.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-tchinese/big5/big5-decode-big5-hkscs.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-tchinese/big5/big5-decode-cn-big5.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-tchinese/big5/big5-decode-csbig5.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-tchinese/big5/big5-decode.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-tchinese/big5/big5-decode-x-x-big5.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-tchinese/big5/big5-encode-form-big5-hkscs.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-tchinese/big5/big5-encode-form-cn-big5.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-tchinese/big5/big5-encode-form-csbig5.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-extBa.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-extBb.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-hangul.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-han.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-misc.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-pua.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-tchinese/big5/big5-encode-form.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-tchinese/big5/big5-encode-form-x-x-big5.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-tchinese/big5/big5-encode-href-errors-hangul.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-tchinese/big5/big5-encode-href-errors-han.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-tchinese/big5/big5-encode-href-errors-misc.html [ Pass Timeout ] -crbug.com/736056 external/wpt/encoding/legacy-mb-tchinese/big5/big5-encode-href.html [ Pass Timeout ] - # rebaseline-cl does not handle ref-tests yet... crbug.com/736811 fast/css/text-overflow-ellipsis-multiple-shadows.html [ Pass Failure ] crbug.com/736811 external/wpt/css/selectors4/focus-within-004.html [ Pass Failure ] @@ -2027,7 +1951,6 @@ crbug.com/626703 external/wpt/css/CSS2/text/white-space-mixed-001.xht [ Failure ] crbug.com/626703 external/wpt/css/CSS2/text/white-space-mixed-003.xht [ Failure ] crbug.com/626703 external/wpt/css/CSS2/text/white-space-mixed-004.xht [ Skip ] -crbug.com/626703 external/wpt/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-errors-han.html [ Timeout ] crbug.com/626703 external/wpt/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-1.html [ Timeout ] crbug.com/626703 external/wpt/payment-request/payment-request-show-method.https.html [ Pass Failure ] crbug.com/626703 external/wpt/wasm/wasm_indexeddb_test.html [ Timeout ] @@ -2856,7 +2779,6 @@ # Sheriff failures 2017-05-22 crbug.com/725542 [ Debug ] editing/selection/doubleclick-beside-cr-span.html [ Pass Timeout ] crbug.com/725545 [ Debug ] fast/forms/number/number-stepup-stepdown-from-renderer.html [ Pass Timeout ] -crbug.com/725548 [ Debug ] storage/indexeddb/objectstore-keycursor.html [ Pass Timeout ] # Sheriff failures 2017-05-23 crbug.com/725470 editing/shadow/doubleclick-on-meter-in-shadow-crash.html [ Crash Failure Pass ] @@ -2903,9 +2825,6 @@ # Sheriff failures 2017-06-23 crbug.com/736548 [ Mac ] css2.1/t040304-c64-uri-00-a-g.html [ Failure Pass ] -# Rebaselining a newly-passing test fixed by v8 -crbug.com/v8/6504 fast/js/mozilla/strict/B.1.2.html [ NeedsManualRebaseline ] - crbug.com/v8/6529 inspector/console/console-dir.html [ NeedsManualRebaseline ] crbug.com/v8/6529 inspector/console/console-format.html [ NeedsManualRebaseline ] @@ -2969,7 +2888,6 @@ crbug.com/736177 [ Mac ] tables/mozilla_expected_failures/bugs/bug2479-5.html [ Failure Pass ] crbug.com/736177 [ Mac ] tables/mozilla_expected_failures/bugs/bug91057.html [ Failure Pass ] crbug.com/736177 [ Mac ] transforms/svg-vs-css.xhtml [ Failure Pass ] -crbug.com/736177 [ Mac ] virtual/disable-spinvalidation/paint/spellmarkers/document-markers-zoom-150.html [ Failure Pass ] crbug.com/736177 [ Mac ] virtual/layout_ng/fast/block/basic/001.html [ Failure Pass ] crbug.com/736177 [ Mac ] virtual/mojo-loading/http/tests/misc/acid2-pixel.html [ Failure Pass ] crbug.com/736177 [ Mac ] virtual/off-main-thread-fetch/http/tests/misc/acid2-pixel.html [ Failure Pass ] @@ -2981,6 +2899,12 @@ crbug.com/736255 [ Mac ] external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-baseline-multi-item-vert-001b.html [ Skip ] crbug.com/736732 virtual/enable_wasm/external/wpt/wasm/wasm_local_iframe_test.html [ Timeout Pass ] +# These imported tests exercise tens of thousands of code points and generate large results. Marked slow, but still timeout. +crbug.com/736056 [ Mac ] external/wpt/encoding/legacy-mb-japanese [ Timeout Pass ] +crbug.com/736056 [ Mac ] external/wpt/encoding/legacy-mb-korean [ Timeout Pass ] +crbug.com/736056 [ Mac ] external/wpt/encoding/legacy-mb-tchinese [ Timeout Pass ] +crbug.com/736056 external/wpt/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-errors-hangul.html [ Timeout Pass ] + # Sheriff failures 2017-07-03 crbug.com/708994 http/tests/security/cross-frame-mouse-source-capabilities.html [ Timeout Pass ] crbug.com/708994 virtual/mojo-loading/http/tests/security/cross-frame-mouse-source-capabilities.html [ Timeout Pass ]
diff --git a/third_party/WebKit/LayoutTests/VirtualTestSuites b/third_party/WebKit/LayoutTests/VirtualTestSuites index d0da258..fece7d4 100644 --- a/third_party/WebKit/LayoutTests/VirtualTestSuites +++ b/third_party/WebKit/LayoutTests/VirtualTestSuites
@@ -113,16 +113,6 @@ "args": ["--stable-release-mode"] }, { - "prefix": "disable-spinvalidation", - "base": "compositing", - "args": ["--disable-slimming-paint-invalidation"] - }, - { - "prefix": "disable-spinvalidation", - "base": "paint", - "args": ["--disable-slimming-paint-invalidation"] - }, - { "prefix": "off-main-thread-fetch", "base": "external/wpt/html/browsers/offline/appcache/workers", "args": ["--enable-features=OffMainThreadFetch"] @@ -188,6 +178,16 @@ "--disable-composited-antialiasing"] }, { + "prefix": "android", + "base": "fast/rootscroller", + "args": ["--enable-features=OverlayScrollbar", "--enable-threaded-compositing", + "--enable-fixed-position-compositing", "--enable-prefer-compositing-to-lcd-text", + "--enable-composited-scrolling-for-frames", "--enable-gesture-tap-highlight", "--enable-pinch", + "--force-overlay-fullscreen-video", "--enable-overscroll-notifications", + "--enable-fixed-layout", "--enable-viewport", "--disable-canvas-aa", + "--disable-composited-antialiasing"] + }, + { "prefix": "media-gpu-accelerated", "base": "http/tests/media/media-source", "args": ["--use-gpu-in-tests"] @@ -239,6 +239,11 @@ }, { "prefix": "rootlayerscrolls", + "base": "fast/rootscroller", + "args": ["--root-layer-scrolls"] + }, + { + "prefix": "rootlayerscrolls", "base": "fast/history/scroll-restoration", "args": ["--root-layer-scrolls"] },
diff --git a/third_party/WebKit/LayoutTests/bluetooth/characteristic/readValue/add-multiple-event-listeners.html b/third_party/WebKit/LayoutTests/bluetooth/characteristic/readValue/add-multiple-event-listeners.html index 9fbb4f9..c6c39ffa 100644 --- a/third_party/WebKit/LayoutTests/bluetooth/characteristic/readValue/add-multiple-event-listeners.html +++ b/third_party/WebKit/LayoutTests/bluetooth/characteristic/readValue/add-multiple-event-listeners.html
@@ -16,10 +16,10 @@ 'characteristicvaluechanged', 3 /* attach 3 listeners */)); }).then(results => { - let read_value = results[0].buffer; - let event_values = results.slice(1).map(v => v.buffer); + let read_value = new Uint8Array(results[0].buffer); + let event_values = results.slice(1).map(v => new Uint8Array(v.buffer)); for (let event_value of event_values) { - assert_equals(event_value, read_value); + assert_equals(event_value.buffer, read_value.buffer); assert_array_equals(event_value, read_value); } });
diff --git a/third_party/WebKit/LayoutTests/bluetooth/characteristic/readValue/event-is-fired.html b/third_party/WebKit/LayoutTests/bluetooth/characteristic/readValue/event-is-fired.html index b1456067..0a1f0dc 100644 --- a/third_party/WebKit/LayoutTests/bluetooth/characteristic/readValue/event-is-fired.html +++ b/third_party/WebKit/LayoutTests/bluetooth/characteristic/readValue/event-is-fired.html
@@ -15,9 +15,9 @@ 'readValue', 'characteristicvaluechanged')); }).then(results => { - let read_value = results[0].buffer; - let event_value = results[1].buffer; - assert_equals(event_value, read_value); + let read_value = new Uint8Array(results[0].buffer); + let event_value = new Uint8Array(results[1].buffer); + assert_equals(event_value.buffer, read_value.buffer); assert_array_equals(event_value, read_value); }); }, 'Reading a characteristic should fire an event.');
diff --git a/third_party/WebKit/LayoutTests/bluetooth/characteristic/readValue/read-succeeds.html b/third_party/WebKit/LayoutTests/bluetooth/characteristic/readValue/read-succeeds.html index d762359..d0171b5 100644 --- a/third_party/WebKit/LayoutTests/bluetooth/characteristic/readValue/read-succeeds.html +++ b/third_party/WebKit/LayoutTests/bluetooth/characteristic/readValue/read-succeeds.html
@@ -14,7 +14,7 @@ GATT_SUCCESS, EXPECTED_VALUE) .then(() => characteristic.readValue()) .then(value => { - assert_array_equals(Array.from(new Uint8Array(value.buffer)), + assert_array_equals(new Uint8Array(value.buffer), EXPECTED_VALUE); }); });
diff --git a/third_party/WebKit/LayoutTests/bluetooth/characteristic/readValue/read-updates-value.html b/third_party/WebKit/LayoutTests/bluetooth/characteristic/readValue/read-updates-value.html index 081c38a..68752def 100644 --- a/third_party/WebKit/LayoutTests/bluetooth/characteristic/readValue/read-updates-value.html +++ b/third_party/WebKit/LayoutTests/bluetooth/characteristic/readValue/read-updates-value.html
@@ -17,7 +17,7 @@ .then(() => characteristic.readValue()) .then(() => { assert_array_equals( - Array.from(new Uint8Array(characteristic.value.buffer)), + new Uint8Array(characteristic.value.buffer), EXPECTED_VALUE); }); });
diff --git a/third_party/WebKit/LayoutTests/bluetooth/characteristic/writeValue/write-updates-value.html b/third_party/WebKit/LayoutTests/bluetooth/characteristic/writeValue/write-updates-value.html index f7dd018..fd8e19bc 100644 --- a/third_party/WebKit/LayoutTests/bluetooth/characteristic/writeValue/write-updates-value.html +++ b/third_party/WebKit/LayoutTests/bluetooth/characteristic/writeValue/write-updates-value.html
@@ -17,7 +17,8 @@ let textEncoder = new TextEncoder(); let newValue = textEncoder.encode('foo'); return characteristic.writeValue(newValue).then(() => { - assert_array_equals(characteristic.value.buffer, newValue.buffer); + assert_array_equals(new Uint8Array(characteristic.value.buffer), + new Uint8Array(newValue.buffer)); }); }); }, 'A regular write request to a writable characteristic should update value.');
diff --git a/third_party/WebKit/LayoutTests/compositing/overflow/accelerated-scrolling-with-clip-path-expected.png b/third_party/WebKit/LayoutTests/compositing/overflow/accelerated-scrolling-with-clip-path-expected.png index 31ce3d9..c68cd2b 100644 --- a/third_party/WebKit/LayoutTests/compositing/overflow/accelerated-scrolling-with-clip-path-expected.png +++ b/third_party/WebKit/LayoutTests/compositing/overflow/accelerated-scrolling-with-clip-path-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/compositing/text-on-scaled-surface-expected.html b/third_party/WebKit/LayoutTests/compositing/text-on-scaled-surface-expected.html deleted file mode 100644 index b67f858..0000000 --- a/third_party/WebKit/LayoutTests/compositing/text-on-scaled-surface-expected.html +++ /dev/null
@@ -1,19 +0,0 @@ -<!DOCTYPE html> -<html> -<script> -if (window.testRunner) { - testRunner.dumpAsTextWithPixelResults(); -} -</script> -<body style="overflow:hidden"> -<div style="-webkit-transform-origin: 0 0; transform:translate(50px,50px) scale(1.5); background: green; width:30em; height:8em;"> - <div style="-webkit-transform-origin: 0 0; transform:scale(1.5);"> - <!-- Use short lines of text to avoid accumulating error --> - Text on<br/> - a scaled<br/> - composited<br/> - layer<br/> - </div> -</div> -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/compositing/text-on-scaled-surface-expected.txt b/third_party/WebKit/LayoutTests/compositing/text-on-scaled-surface-expected.txt new file mode 100644 index 0000000..e456258f --- /dev/null +++ b/third_party/WebKit/LayoutTests/compositing/text-on-scaled-surface-expected.txt
@@ -0,0 +1,5 @@ +Text on +a scaled +composited +layer +
diff --git a/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json b/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json index dd643821..cf4096c 100644 --- a/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json +++ b/third_party/WebKit/LayoutTests/external/WPT_BASE_MANIFEST.json
@@ -257943,7 +257943,7 @@ "testharness" ], "resource-timing/test_resource_timing.js": [ - "212dd1f05242ce9e850698b0c9f7eff085313838", + "504f20a00b7be9c3b15666dfe34df02856a8bc72", "support" ], "screen-orientation/lock-bad-argument-expected.txt": [ @@ -258367,7 +258367,7 @@ "support" ], "server-timing/test_server_timing.html": [ - "eab2a2be6984346d7fd83c8f3dcc99b2f3e09a08", + "3f582e55c8d96a4fb1589ad9bd6e7ca26b75b7a2", "testharness" ], "server-timing/test_server_timing.html.sub.headers": [
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-001-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-001-ref.html new file mode 100644 index 0000000..83edae1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-001-ref.html
@@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> +<style> +html, body { margin: 0; padding: 0; } +</style> +<body> +<canvas id ="canvas" width="100" height="100"></canvas> +<script> +var canvas = document.getElementById('canvas'); +var context = canvas.getContext("2d"); +context.strokeStyle = 'green'; +context.lineWidth = 4; +context.strokeRect(0, 0, 100, 100); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-001.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-001.html new file mode 100644 index 0000000..d1207e0 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-001.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="geometry-background-image-001-ref.html"> +<style> +html, body { margin: 0; padding: 0; } +.container { + width: 100px; + height: 100px; +} + +#canvas-geometry { + background-image: paint(geometry); +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +registerPaint('geometry', class { + paint(ctx, geom) { + ctx.strokeStyle = 'green'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-002-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-002-ref.html new file mode 100644 index 0000000..ab964db --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-002-ref.html
@@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> +<style> +html, body { margin: 0; padding: 0; } +</style> +<body> +<canvas id ="canvas" width="200" height="200"></canvas> +<script> +var canvas = document.getElementById('canvas'); +var context = canvas.getContext("2d"); +context.strokeStyle = 'green'; +context.lineWidth = 4; +context.strokeRect(0, 0, 200, 200); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-002.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-002.html new file mode 100644 index 0000000..47455ba2 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-002.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="geometry-background-image-002-ref.html"> +<style> +html, body { margin: 0; padding: 0; } +.container { + width: 200px; + height: 200px; +} + +#canvas-geometry { + background-image: paint(geometry); +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +registerPaint('geometry', class { + paint(ctx, geom) { + ctx.strokeStyle = 'green'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-003-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-003-ref.html new file mode 100644 index 0000000..ffdc4e8 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-003-ref.html
@@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> +<style> +html, body { margin: 0; padding: 0; } +</style> +<body> +<canvas id ="canvas" width="200" height="200" style="position:relative;"></canvas> +<script> +var canvas = document.getElementById('canvas'); +var context = canvas.getContext("2d"); +context.strokeStyle = 'green'; +context.lineWidth = 8; +context.strokeRect(0, 0, 200, 200); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-003.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-003.html new file mode 100644 index 0000000..ef2530b0 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-003.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="geometry-background-image-003-ref.html"> +<style> +html, body { margin: 0; padding: 0; } +.container { + width: 100px; + height: 100px; +} + +#canvas-geometry { + background-image: paint(geometry); +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +registerPaint('geometry', class { + paint(ctx, geom) { + ctx.strokeStyle = 'green'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + document.body.style.zoom = "200%" + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-tiled-001-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-tiled-001-ref.html new file mode 100644 index 0000000..9f633a9 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-tiled-001-ref.html
@@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html> +<style> +html, body { margin: 0; padding: 0; } +</style> +<body> +<canvas id ="canvas" width="100" height="50"></canvas> +<script> +var canvas = document.getElementById('canvas'); +var context = canvas.getContext("2d"); +context.strokeStyle = 'green'; +context.lineWidth = 4; +context.strokeRect(0, 0, 50, 50); +context.strokeRect(50, 0, 50, 50); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-tiled-001.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-tiled-001.html new file mode 100644 index 0000000..d2b7e92 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-tiled-001.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="geometry-background-image-tiled-001-ref.html"> +<style> +html, body { margin: 0; padding: 0; } +.container { + width: 100px; + height: 100px; + background: paint(geometry) top left/50% 50% repeat-x; +} + +#canvas-geometry { + background-image: paint(geometry); +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +registerPaint('geometry', class { + paint(ctx, geom) { + ctx.strokeStyle = 'green'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-tiled-002-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-tiled-002-ref.html new file mode 100644 index 0000000..f3c65e6 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-tiled-002-ref.html
@@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> +<style> +html, body { margin: 0; padding: 0; } +</style> +<body> +<canvas id ="canvas" width="50" height="20" style="position:relative; top:40px; left:50px"></canvas> +<script> +var canvas = document.getElementById('canvas'); +var context = canvas.getContext("2d"); +context.strokeStyle = 'green'; +context.lineWidth = 4; +context.strokeRect(0, 0, 50, 20); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-tiled-002.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-tiled-002.html new file mode 100644 index 0000000..491abd1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-tiled-002.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="geometry-background-image-tiled-002-ref.html"> +<style> +html, body { margin: 0; padding: 0; } +.container { + width: 100px; + height: 100px; + background: paint(geometry) center right/50% 20% no-repeat; +} + +#canvas-geometry { + background-image: paint(geometry); +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +registerPaint('geometry', class { + paint(ctx, geom) { + ctx.strokeStyle = 'green'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-tiled-003-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-tiled-003-ref.html new file mode 100644 index 0000000..8e1eb027 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-tiled-003-ref.html
@@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> +<style> +html, body { margin: 0; padding: 0; } +</style> +<body> +<canvas id ="canvas" width="60" height="80" style="position:relative; top:10px; left:20px"></canvas> +<script> +var canvas = document.getElementById('canvas'); +var context = canvas.getContext("2d"); +context.strokeStyle = 'green'; +context.lineWidth = 4; +context.strokeRect(0, 0, 60, 80); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-tiled-003.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-tiled-003.html new file mode 100644 index 0000000..9a29c30 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-background-image-tiled-003.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="geometry-background-image-tiled-003-ref.html"> +<style> +html, body { margin: 0; padding: 0; } +.container { + width: 100px; + height: 100px; + background: paint(geometry) center center/60px 80px no-repeat; +} + +#canvas-geometry { + background-image: paint(geometry); +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +registerPaint('geometry', class { + paint(ctx, geom) { + ctx.strokeStyle = 'green'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-001-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-001-ref.html new file mode 100644 index 0000000..bb0aa40 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-001-ref.html
@@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> +<style> +html, body { margin: 0; padding: 0; } +</style> +<body> +<canvas id ="canvas" width="200" height="200" style="position:relative; top:10px; left:10px"></canvas> +<script> +var canvas = document.getElementById('canvas'); +var context = canvas.getContext("2d"); +// The test geometry-border-image1.html has a paint canvas with width=200 and +// height=200, as well as a border-width=10 and border-image-slice: fill. All of +// them combined meaning that it draws to the (200+10*2)*(200+10*2) area, but +// stretch it to fit into the 200*200 area. +// So in this ref test, we create a 200*200 canvas. We draw to a 220*220 area +// and scale it to fit the 200*200 canvas. +context.scale(200/220, 200/220); +context.strokeStyle = 'green'; +context.lineWidth = 4; +context.strokeRect(0, 0, 220, 220); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-001.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-001.html new file mode 100644 index 0000000..54249d34 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-001.html
@@ -0,0 +1,40 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="geometry-border-image-001-ref.html"> +<style> +html, body { margin: 0; padding: 0; } +.container { + width: 200px; + height: 200px; +} + +#canvas-geometry { + border: solid 0; + border-image: paint(geometry); + border-image-slice: 0 fill; +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +registerPaint('geometry', class { + paint(ctx, geom) { + if (geom.width == 220 && geom.height == 220) + ctx.strokeStyle = 'green'; + else + ctx.strokeStyle = 'red'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + document.getElementById('canvas-geometry').style.borderWidth = '10px'; + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-002-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-002-ref.html new file mode 100644 index 0000000..0eb84ec --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-002-ref.html
@@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> +<style> +html, body { margin: 0; padding: 0; } +</style> +<body> +<canvas id ="canvas" width="90" height="90" style="position:relative; left:-20px; top:-20px"></canvas> +<script> +var canvas = document.getElementById('canvas'); +var context = canvas.getContext("2d"); +context.strokeStyle = 'green'; +context.lineWidth = 4; +context.strokeRect(0, 0, 90, 90); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-002.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-002.html new file mode 100644 index 0000000..4759886 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-002.html
@@ -0,0 +1,40 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="geometry-border-image-002-ref.html"> +<style> +html, body { margin: 0; padding: 0; } +.container { + width: 50px; + height: 50px; +} + +#canvas-geometry { + border: solid 0; + border-image: paint(geometry); + border-image-slice: 0 fill; +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +registerPaint('geometry', class { + paint(ctx, geom) { + if (geom.width == 90 && geom.height == 90) + ctx.strokeStyle = 'green'; + else + ctx.strokeStyle = 'red'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + document.getElementById('canvas-geometry').style.borderImageOutset = '20px'; + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-003-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-003-ref.html new file mode 100644 index 0000000..b17c9ffc --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-003-ref.html
@@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> +<style> +html, body { margin: 0; padding: 0; } +</style> +<body> +<canvas id ="canvas" width="80" height="120" style="position:relative; left:-10px; top:-10px"></canvas> +<script> +var canvas = document.getElementById('canvas'); +var context = canvas.getContext("2d"); +context.strokeStyle = 'green'; +context.lineWidth = 4; +context.strokeRect(0, 0, 80, 120); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-003.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-003.html new file mode 100644 index 0000000..1ce6ac9 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-003.html
@@ -0,0 +1,40 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="geometry-border-image-003-ref.html"> +<style> +html, body { margin: 0; padding: 0; } +.container { + width: 60px; + height: 100px; +} + +#canvas-geometry { + border: solid 0; + border-image: paint(geometry); + border-image-slice: 0 fill; +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +registerPaint('geometry', class { + paint(ctx, geom) { + if (geom.width == 80 && geom.height == 120) + ctx.strokeStyle = 'green'; + else + ctx.strokeStyle = 'red'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + document.getElementById('canvas-geometry').style.borderImageOutset = '10px'; + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-004-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-004-ref.html new file mode 100644 index 0000000..c32fdd8f --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-004-ref.html
@@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> +<style> +html, body { margin: 0; padding: 0; } +</style> +<body> +<canvas id ="canvas" width="120" height="120"></canvas> +<script> +var canvas = document.getElementById('canvas'); +var context = canvas.getContext("2d"); +// The test geometry-border-image4.html has a 100*100 paint canvas, it specifies +// border-width=10 and border-image-outset=10, which means that it is drawing to +// a 140*140 area. However, because the test has "border-image-slice: 0 fill", +// together with the border-width=10, makes it draw to a 120*120 area. +// In this ref html, we draw to a 140*140 area, but scale it to fit the 120*120 +// canvas. +context.scale(120/140, 120/140); +context.strokeStyle = 'green'; +context.lineWidth = 4; +context.strokeRect(0, 0, 140, 140); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-004.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-004.html new file mode 100644 index 0000000..b15b66d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-004.html
@@ -0,0 +1,41 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="geometry-border-image-004-ref.html"> +<style> +html, body { margin: 0; padding: 0; } +.container { + width: 100px; + height: 100px; +} + +#canvas-geometry { + border: solid 0; + border-image: paint(geometry); + border-image-slice: 0 fill; +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +registerPaint('geometry', class { + paint(ctx, geom) { + if (geom.width == 140 && geom.height == 140) + ctx.strokeStyle = 'green'; + else + ctx.strokeStyle = 'red'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + document.getElementById('canvas-geometry').style.borderWidth = '10px'; + document.getElementById('canvas-geometry').style.borderImageOutset = '10px'; + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-005-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-005-ref.html new file mode 100644 index 0000000..a578145 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-005-ref.html
@@ -0,0 +1,16 @@ +<!DOCTYPE html> +<html> +<style> +html, body { margin: 0; padding: 0; } +</style> +<body> +<canvas id ="canvas" width="240" height="240" style="position:relative; left:-20px; top:-20px"></canvas> +<script> +var canvas = document.getElementById('canvas'); +var context = canvas.getContext("2d"); +context.strokeStyle = 'green'; +context.lineWidth = 8; +context.strokeRect(0, 0, 240, 240); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-005.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-005.html new file mode 100644 index 0000000..a2f61d5 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/geometry-border-image-005.html
@@ -0,0 +1,41 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="geometry-border-image-005-ref.html"> +<style> +html, body { margin: 0; padding: 0; } +.container { + width: 100px; + height: 100px; +} + +#canvas-geometry { + border: solid 0; + border-image: paint(geometry); + border-image-slice: 0 fill; +} +</style> +<script src="../common/reftest-wait.js"></script> +<script src="../common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +registerPaint('geometry', class { + paint(ctx, geom) { + if (geom.width == 120 && geom.height == 120) + ctx.strokeStyle = 'green'; + else + ctx.strokeStyle = 'red'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + document.getElementById('canvas-geometry').style.borderImageOutset = '10px'; + document.body.style.zoom = "200%"; + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/paint2d-zoom-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/paint2d-zoom-ref.html new file mode 100644 index 0000000..c96893e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/paint2d-zoom-ref.html
@@ -0,0 +1,19 @@ +<!DOCTYPE html> +<html> +<style> +html, body { margin: 0; padding: 0; } +</style> +<body> +<div style="position:relative"> +<canvas id="output" width="300" height="300"></canvas> +</div> +<script> +var canvas = document.getElementById('output'); +var ctx = canvas.getContext('2d'); +ctx.rotate(10 * Math.PI / 180); +ctx.strokeStyle = 'blue'; +ctx.lineWidth = 12; +ctx.strokeRect(90, 30, 90, 90); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/paint2d-zoom.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/paint2d-zoom.html new file mode 100644 index 0000000..6c6c743 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/paint2d-zoom.html
@@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="paint2d-zoom-ref.html"> +<style> +html, body { margin: 0; padding: 0; } +#output { + width: 100px; + height: 100px; + background-image: paint(worklet); +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="output"></div> + +<script id="code" type="text/worklet"> +registerPaint('worklet', class { + paint(ctx, geom) { + ctx.rotate(10 * Math.PI / 180); + ctx.strokeStyle = 'blue'; + ctx.lineWidth = 4; + ctx.strokeRect(30, 10, 30, 30); + } +}); +</script> + +<script> + document.body.style.zoom = "300%"; + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-001.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-001.html new file mode 100644 index 0000000..931a55a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-001.html
@@ -0,0 +1,48 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="parse-input-arguments-ref.html"> +<style> +.container { + width: 100px; + height: 100px; +} + +#canvas-geometry { + background-image: paint(geometry); +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +var testsPassed = false; +try { + registerPaint('foo', class { + static get inputArguments() { + throw Error('failed!'); + } + }); +} catch(ex) { + if (ex.name == 'Error' && ex.message == 'failed!') + testsPassed = true; +} + +registerPaint('geometry', class { + paint(ctx, geom) { + if (testsPassed) + ctx.strokeStyle = 'green'; + else + ctx.strokeStyle = 'red'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-002.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-002.html new file mode 100644 index 0000000..c07c0c0a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-002.html
@@ -0,0 +1,48 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="parse-input-arguments-ref.html"> +<style> +.container { + width: 100px; + height: 100px; +} + +#canvas-geometry { + background-image: paint(geometry); +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +var testsPassed = false; +try { + registerPaint('foo1', class { + static get inputArguments() { + return 'non sense stuff'; + } + }); +} catch(ex) { + if (ex.name == "TypeError" && ex.message == "Failed to execute 'registerPaint' on 'PaintWorkletGlobalScope': The provided value cannot be converted to a sequence.") + testsPassed = true; +} + +registerPaint('geometry', class { + paint(ctx, geom) { + if (testsPassed) + ctx.strokeStyle = 'green'; + else + ctx.strokeStyle = 'red'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-003.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-003.html new file mode 100644 index 0000000..ff388dee --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-003.html
@@ -0,0 +1,48 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="parse-input-arguments-ref.html"> +<style> +.container { + width: 100px; + height: 100px; +} + +#canvas-geometry { + background-image: paint(geometry); +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +var testsPassed = false; +try { + registerPaint('foo2', class { + static get inputArguments() { + return ['<non-sense-type>']; + } + }); +} catch(ex) { + if (ex.name == "TypeError" && ex.message == "Failed to execute 'registerPaint' on 'PaintWorkletGlobalScope': Invalid argument types.") + testsPassed = true; +} + +registerPaint('geometry', class { + paint(ctx, geom) { + if (testsPassed) + ctx.strokeStyle = 'green'; + else + ctx.strokeStyle = 'red'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-004.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-004.html new file mode 100644 index 0000000..8d5b8d7 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-004.html
@@ -0,0 +1,49 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="parse-input-arguments-ref.html"> +<style> +.container { + width: 100px; + height: 100px; +} + +#canvas-geometry { + background-image: paint(geometry); +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +var testsPassed = false; +try { + registerPaint('foo3', class { + static get inputArguments() { + return ['<length>']; + } + paint() { } + }); + testsPassed = true; +} catch(ex) { + testsPassed = false; +} + +registerPaint('geometry', class { + paint(ctx, geom) { + if (testsPassed) + ctx.strokeStyle = 'green'; + else + ctx.strokeStyle = 'red'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-005.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-005.html new file mode 100644 index 0000000..b726c22b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-005.html
@@ -0,0 +1,45 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="parse-input-arguments-ref.html"> +<style> +.container { + width: 100px; + height: 100px; +} + +#canvas-geometry { + background-image: paint(geometry); +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +var testsPassed = false; +try { + registerPaint('foo', class { paint() { } }); + registerPaint('foo', class { paint() { } }); +} catch(ex) { + if (ex.name == "NotSupportedError" && ex.message == "Failed to execute 'registerPaint' on 'PaintWorkletGlobalScope': A class with name:'foo' is already registered.") + testsPassed = true; +} + +registerPaint('geometry', class { + paint(ctx, geom) { + if (testsPassed) + ctx.strokeStyle = 'green'; + else + ctx.strokeStyle = 'red'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-006.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-006.html new file mode 100644 index 0000000..7d8504c4 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-006.html
@@ -0,0 +1,44 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="parse-input-arguments-ref.html"> +<style> +.container { + width: 100px; + height: 100px; +} + +#canvas-geometry { + background-image: paint(geometry); +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +var testsPassed = false; +try { + registerPaint('', class { }); +} catch(ex) { + if (ex.name == 'TypeError' && ex.message == "Failed to execute 'registerPaint' on 'PaintWorkletGlobalScope': The empty string is not a valid name.") + testsPassed = true; +} + +registerPaint('geometry', class { + paint(ctx, geom) { + if (testsPassed) + ctx.strokeStyle = 'green'; + else + ctx.strokeStyle = 'red'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-007.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-007.html new file mode 100644 index 0000000..a59ac93 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-007.html
@@ -0,0 +1,48 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="parse-input-arguments-ref.html"> +<style> +.container { + width: 100px; + height: 100px; +} + +#canvas-geometry { + background-image: paint(geometry); +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +var testsPassed = false; +try { + registerPaint('foo3', class { + static get inputProperties() { + throw Error('failed!'); + } + }); +} catch(ex) { + if (ex.name == 'Error' && ex.message == 'failed!') + testsPassed = true; +} + +registerPaint('geometry', class { + paint(ctx, geom) { + if (testsPassed) + ctx.strokeStyle = 'green'; + else + ctx.strokeStyle = 'red'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-008.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-008.html new file mode 100644 index 0000000..2d6df23 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-008.html
@@ -0,0 +1,48 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="parse-input-arguments-ref.html"> +<style> +.container { + width: 100px; + height: 100px; +} + +#canvas-geometry { + background-image: paint(geometry); +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +var testsPassed = false; +try { + registerPaint('foo4', class { + static get inputProperties() { + return 42; + } + }); +} catch(ex) { + if (ex.name == 'TypeError' && ex.message == "Failed to execute 'registerPaint' on 'PaintWorkletGlobalScope': The provided value cannot be converted to a sequence.") + testsPassed = true; +} + +registerPaint('geometry', class { + paint(ctx, geom) { + if (testsPassed) + ctx.strokeStyle = 'green'; + else + ctx.strokeStyle = 'red'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-009.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-009.html new file mode 100644 index 0000000..03c7c690 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-009.html
@@ -0,0 +1,46 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="parse-input-arguments-ref.html"> +<style> +.container { + width: 100px; + height: 100px; +} + +#canvas-geometry { + background-image: paint(geometry); +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +var testsPassed = false; +try { + var a = function() { }; + a.prototype = undefined; + registerPaint('foo5', a); +} catch(ex) { + if (ex.name == 'TypeError' && ex.message == "Failed to execute 'registerPaint' on 'PaintWorkletGlobalScope': The 'prototype' object on the class does not exist.") + testsPassed = true; +} + +registerPaint('geometry', class { + paint(ctx, geom) { + if (testsPassed) + ctx.strokeStyle = 'green'; + else + ctx.strokeStyle = 'red'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-010.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-010.html new file mode 100644 index 0000000..0bd67684 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-010.html
@@ -0,0 +1,46 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="parse-input-arguments-ref.html"> +<style> +.container { + width: 100px; + height: 100px; +} + +#canvas-geometry { + background-image: paint(geometry); +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +var testsPassed = false; +try { + var b = function() { }; + b.prototype = 42; + registerPaint('foo6', b); +} catch(ex) { + if (ex.name == 'TypeError' && ex.message == "Failed to execute 'registerPaint' on 'PaintWorkletGlobalScope': The 'prototype' property on the class is not an object.") + testsPassed = true; +} + +registerPaint('geometry', class { + paint(ctx, geom) { + if (testsPassed) + ctx.strokeStyle = 'green'; + else + ctx.strokeStyle = 'red'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-011.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-011.html new file mode 100644 index 0000000..8945f7e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-011.html
@@ -0,0 +1,44 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="parse-input-arguments-ref.html"> +<style> +.container { + width: 100px; + height: 100px; +} + +#canvas-geometry { + background-image: paint(geometry); +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +var testsPassed = false; +try { + registerPaint('foo7', class { }); +} catch(ex) { + if (ex.name == 'TypeError' && ex.message == "Failed to execute 'registerPaint' on 'PaintWorkletGlobalScope': The 'paint' function on the prototype does not exist.") + testsPassed = true; +} + +registerPaint('geometry', class { + paint(ctx, geom) { + if (testsPassed) + ctx.strokeStyle = 'green'; + else + ctx.strokeStyle = 'red'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-012.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-012.html new file mode 100644 index 0000000..422b45f --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-012.html
@@ -0,0 +1,48 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="parse-input-arguments-ref.html"> +<style> +.container { + width: 100px; + height: 100px; +} + +#canvas-geometry { + background-image: paint(geometry); +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +var testsPassed = false; +try { + registerPaint('foo8', class { + get paint() { + return 42; + } + }); +} catch(ex) { + if (ex.name == 'TypeError' && ex.message == "Failed to execute 'registerPaint' on 'PaintWorkletGlobalScope': The 'paint' property on the prototype is not a function.") + testsPassed = true; +} + +registerPaint('geometry', class { + paint(ctx, geom) { + if (testsPassed) + ctx.strokeStyle = 'green'; + else + ctx.strokeStyle = 'red'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-013.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-013.html new file mode 100644 index 0000000..cd62879 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-013.html
@@ -0,0 +1,44 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="parse-input-arguments-ref.html"> +<style> +.container { + width: 100px; + height: 100px; +} + +#canvas-geometry { + background-image: paint(geometry); +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +var testsPassed = false; +try { + registerPaint('foo9', class { paint() { } }); + testsPassed = true; +} catch(ex) { + testsPassed = false; +} + +registerPaint('geometry', class { + paint(ctx, geom) { + if (testsPassed) + ctx.strokeStyle = 'green'; + else + ctx.strokeStyle = 'red'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-014.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-014.html new file mode 100644 index 0000000..39aee6a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-014.html
@@ -0,0 +1,46 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="parse-input-arguments-ref.html"> +<style> +.container { + width: 100px; + height: 100px; +} + +#canvas-geometry { + background-image: paint(geometry); +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +var testsPassed = false; +try { + var c = function() { }; + c.prototype.paint = function() { }; + registerPaint('foo10', c); + testsPassed = true; +} catch(ex) { + testsPassed = false; +} + +registerPaint('geometry', class { + paint(ctx, geom) { + if (testsPassed) + ctx.strokeStyle = 'green'; + else + ctx.strokeStyle = 'red'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-015.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-015.html new file mode 100644 index 0000000..c2e18446 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-015.html
@@ -0,0 +1,49 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="parse-input-arguments-ref.html"> +<style> +.container { + width: 100px; + height: 100px; +} + +#canvas-geometry { + background-image: paint(geometry); +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +var testsPassed = false; +try { + registerPaint('foo11', class { + static get inputProperties() { + return ['-webkit-border-radius']; + } + paint() { } + }); + testsPassed = true; +} catch(ex) { + testsPassed = false; +} + +registerPaint('geometry', class { + paint(ctx, geom) { + if (testsPassed) + ctx.strokeStyle = 'green'; + else + ctx.strokeStyle = 'red'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-016.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-016.html new file mode 100644 index 0000000..3669c2b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-016.html
@@ -0,0 +1,48 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="parse-input-arguments-ref.html"> +<style> +.container { + width: 100px; + height: 100px; +} + +#canvas-geometry { + background-image: paint(geometry); +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +var testsPassed = false; +try { + registerPaint('foo12', class { + static get alpha() { + return 42; + } + }); +} catch(ex) { + if (ex.name == "TypeError" && ex.message == "Failed to execute 'registerPaint' on 'PaintWorkletGlobalScope': The 'alpha' property on the class is not a boolean.") + testsPassed = true; +} + +registerPaint('geometry', class { + paint(ctx, geom) { + if (testsPassed) + ctx.strokeStyle = 'green'; + else + ctx.strokeStyle = 'red'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-017.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-017.html new file mode 100644 index 0000000..09708ab --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-017.html
@@ -0,0 +1,49 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="parse-input-arguments-ref.html"> +<style> +.container { + width: 100px; + height: 100px; +} + +#canvas-geometry { + background-image: paint(geometry); +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +var testsPassed = false; +try { + registerPaint('foo13', class { + static get alpha() { + return true; + } + paint() { } + }); + testsPassed = true; +} catch(ex) { + testsPassed = false; +} + +registerPaint('geometry', class { + paint(ctx, geom) { + if (testsPassed) + ctx.strokeStyle = 'green'; + else + ctx.strokeStyle = 'red'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-ref.html new file mode 100644 index 0000000..086bc7b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/parse-input-arguments-ref.html
@@ -0,0 +1,13 @@ +<!DOCTYPE html> +<html> +<body> +<canvas id ="canvas" width="100" height="100"></canvas> +<script> +var canvas = document.getElementById('canvas'); +var context = canvas.getContext("2d"); +context.strokeStyle = 'green'; +context.lineWidth = 4; +context.strokeRect(0, 0, 100, 100); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/registered-properties-in-custom-paint.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/registered-properties-in-custom-paint.html new file mode 100644 index 0000000..d77a33f --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/registered-properties-in-custom-paint.html
@@ -0,0 +1,62 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="parse-input-arguments-ref.html"> +<style> +.container { + width: 100px; + height: 100px; + --length: 10px; + --number: 10; +} + +#canvas-geometry { + background-image: paint(geometry); +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +registerPaint('geometry', class { + static get inputProperties() { + return [ + '--length', + '--length-initial', + '--number', + ]; + } + paint(ctx, geom, styleMap) { + const properties = styleMap.getProperties().sort(); + var serializedStrings = []; + for (let i = 0; i < properties.length; i++) { + const value = styleMap.get(properties[i]); + let serialized; + if (value) + serialized = properties[i].toString() + ': [' + value.constructor.name + '=' + value.toString() + ']'; + else + serialized = properties[i].toString() + ': [null]'; + serializedStrings.push(serialized); + } + ctx.strokeStyle = 'green'; + if (serializedStrings[0] != "--length: [CSSUnitValue=10px]") + ctx.strokeStyle = 'red'; + if (serializedStrings[1] != "--length-initial: [CSSUnitValue=20px]") + ctx.strokeStyle = 'blue'; + if (serializedStrings[2] != "--number: [CSSStyleValue=10]") + ctx.strokeStyle = 'yellow'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + CSS.registerProperty({name: '--length', syntax: '<length>', initialValue: '0px'}); + CSS.registerProperty({name: '--length-initial', syntax: '<length>', initialValue: '20px'}); + CSS.registerProperty({name: '--number', syntax: '<number>', initialValue: '0'}); + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/style-background-image-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/style-background-image-ref.html new file mode 100644 index 0000000..3fc9e6e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/style-background-image-ref.html
@@ -0,0 +1,13 @@ +<!DOCTYPE html> +<html> +<body> +<canvas id ="canvas" width="100" height="100" style="border-radius: 2px"></canvas> +<script> +var canvas = document.getElementById('canvas'); +var context = canvas.getContext("2d"); +context.strokeStyle = 'green'; +context.lineWidth = 4; +context.strokeRect(0, 0, 100, 100); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/style-background-image.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/style-background-image.html new file mode 100644 index 0000000..716c28c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/style-background-image.html
@@ -0,0 +1,62 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="style-background-image-ref.html"> +<style> +.container { + width: 100px; + height: 100px; + border-radius: 2px; + --foo: bar; +} + +#canvas-geometry { + background-image: paint(geometry); +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body> +<div id="canvas-geometry" class="container"></div> + +<script id="code" type="text/worklet"> +registerPaint('geometry', class { + static get inputProperties() { + return [ + '--bar', + '--foo', + 'align-items', + 'border-radius', + ]; + } + paint(ctx, geom, styleMap) { + const properties = styleMap.getProperties().sort(); + var serializedStrings = []; + for (let i = 0; i < properties.length; i++) { + const value = styleMap.get(properties[i]); + let serialized; + if (value) + serialized = properties[i].toString() + ': [' + value.constructor.name + '=' + value.toString() + ']'; + else + serialized = properties[i].toString() + ': [null]'; + serializedStrings.push(serialized); + } + ctx.strokeStyle = 'green'; + if (serializedStrings[0] != "--bar: [null]") + ctx.strokeStyle = 'red'; + if (serializedStrings[1] != "--foo: [CSSStyleValue= bar]") + ctx.strokeStyle = 'blue'; + if (serializedStrings[2] != "align-items: [CSSKeywordValue=normal]") + ctx.strokeStyle = 'yellow'; + if (serializedStrings[3] != "border-radius: [CSSStyleValue=2px]") + ctx.strokeStyle = 'cyan'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/style-before-pseudo-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/style-before-pseudo-ref.html new file mode 100644 index 0000000..9a666ef --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/style-before-pseudo-ref.html
@@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> +<style> +div { + border-radius: 3px; +} +div::before { + width: 100px; + height: 100px; + border-radius: 2px; + content: 'foo'; + color: rgba(0, 0, 0, 0); +} +canvas{ + border-radius: 2px; + display: block; + position: relative; + top: -1em; +} +</style> +<body style="font: 10px/1 Ahem;"> + <div><canvas width="30px" height="10px"></canvas></div> +<script> +document.addEventListener('DOMContentLoaded', function() { + var canvas = document.querySelector('canvas'); + var context = canvas.getContext("2d"); + context.strokeStyle = 'green'; + context.lineWidth = 4; + context.strokeRect(0, 0, 30, 10); +}); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/style-before-pseudo.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/style-before-pseudo.html new file mode 100644 index 0000000..8ba4cdb --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/style-before-pseudo.html
@@ -0,0 +1,63 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="style-before-pseudo-ref.html"> +<style> +div { + border-radius: 3px; +} + +div::before { + width: 100px; + height: 100px; + content: 'foo'; + color: rgba(0, 0, 0, 0); + + background-image: paint(geometry); + border-radius: 2px; + --foo: bar; +} +</style> +<script src="/common/reftest-wait.js"></script> +<script src="/common/css-paint-tests.js"></script> +<body style="font: 10px/1 Ahem;"> +<div></div> + +<script id="code" type="text/worklet"> +registerPaint('geometry', class { + static get inputProperties() { + return [ + '--bar', + '--foo', + 'border-radius', + ]; + } + paint(ctx, geom, styleMap) { + const properties = styleMap.getProperties().sort(); + var serializedStrings = []; + for (let i = 0; i < properties.length; i++) { + const value = styleMap.get(properties[i]); + let serialized; + if (value) + serialized = properties[i].toString() + ': [' + value.constructor.name + '=' + value.toString() + ']'; + else + serialized = properties[i].toString() + ': [null]'; + serializedStrings.push(serialized); + } + ctx.strokeStyle = 'green'; + if (serializedStrings[0] != "--bar: [null]") + ctx.strokeStyle = 'red'; + if (serializedStrings[1] != "--foo: [CSSStyleValue= bar]") + ctx.strokeStyle = 'blue'; + if (serializedStrings[2] != "border-radius: [CSSStyleValue=2px]") + ctx.strokeStyle = 'yellow'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/style-first-letter-pseudo-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/style-first-letter-pseudo-ref.html new file mode 100644 index 0000000..ea5c04a1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/style-first-letter-pseudo-ref.html
@@ -0,0 +1,30 @@ +<!DOCTYPE html> +<html> +<style> +div { + color: rgb(0, 255, 0); + line-height: 2px; +} + +div::first-letter { + color: rgb(255, 0, 0); +} +canvas{ + position: absolute; + top: 4px; + z-index: -1; +} +</style> +<body style="font: 10px/1 Ahem;"> +<div><canvas width="10px" height="10px"></canvas>ppp</div> +<script> +document.addEventListener('DOMContentLoaded', function() { + var canvas = document.querySelector('canvas'); + var context = canvas.getContext("2d"); + context.strokeStyle = 'green'; + context.lineWidth = 4; + context.strokeRect(0, 0, 10, 10); +}); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/style-first-letter-pseudo.html b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/style-first-letter-pseudo.html new file mode 100644 index 0000000..61763b28 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css-paint-api/style-first-letter-pseudo.html
@@ -0,0 +1,57 @@ +<!DOCTYPE html> +<html class="reftest-wait"> +<link rel="match" href="style-first-letter-pseudo-ref.html"> +<style> +div { + color: rgb(0, 255, 0); + line-height: 1px; + height: 10px; +} + +div::first-letter { + background-image: paint(geometry); + color: rgb(255, 0, 0); + line-height: 2px; +} +</style> +<script src="../common/reftest-wait.js"></script> +<script src="../common/css-paint-tests.js"></script> +<body style="font: 10px/1 Ahem;"> +<div>ppp</div> + +<script id="code" type="text/worklet"> +registerPaint('geometry', class { + static get inputProperties() { + return [ + 'color', + 'line-height', + ]; + } + paint(ctx, geom, styleMap) { + const properties = styleMap.getProperties().sort(); + var serializedStrings = []; + for (let i = 0; i < properties.length; i++) { + const value = styleMap.get(properties[i]); + let serialized; + if (value) + serialized = properties[i].toString() + ': [' + value.constructor.name + '=' + value.toString() + ']'; + else + serialized = properties[i].toString() + ': [null]'; + serializedStrings.push(serialized); + } + ctx.strokeStyle = 'green'; + if (serializedStrings[0] != "color: [CSSStyleValue=rgb(255, 0, 0)]") + ctx.strokeStyle = 'red'; + if (serializedStrings[1] != "line-height: [CSSUnitValue=2px]") + ctx.strokeStyle = 'blue'; + ctx.lineWidth = 4; + ctx.strokeRect(0, 0, geom.width, geom.height); + } +}); +</script> + +<script> + importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); +</script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-position-3/position-sticky-grid-ref.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-position-3/position-sticky-grid-ref.html new file mode 100644 index 0000000..9af8112 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-position-3/position-sticky-grid-ref.html
@@ -0,0 +1,76 @@ +<!DOCTYPE html> +<title>Reference for position:sticky elements should work correctly with grid layout</title> + +<style> +.scroller { + position: relative; + overflow-x: scroll; + overflow-y: hidden; + width: 300px; + height: 100px; + margin-bottom: 15px; +} + +.grid-container { + display: grid; + grid-template-columns: 25% 25% 25% 25%; + grid-template-rows: 100%; + width: 400px; + height: 90px; +} + +.green { + background-color: green; +} + +.grid-item { + width: 100%; + height: 100%; + grid-row: 1; +} + +.padding { + height: 1px; + width: 700px; +} + +</style> + +<script> +window.addEventListener('load', function() { + document.getElementById('scroller1').scrollLeft = 0; + document.getElementById('scroller2').scrollLeft = 150; + document.getElementById('scroller3').scrollLeft = 300; +}); +</script> + +<div id="scroller1" class="scroller"> + <div class="grid-container"> + <div class="grid-item" style="grid-column: 1;"></div> + <div class="green grid-item" style="grid-column: 2;"></div> + <div class="green grid-item" style="grid-column: 3;"></div> + </div> + <div class="padding"></div> +</div> + +<div id="scroller2" class="scroller"> + <div class="grid-container"> + <div class="grid-item" style="grid-column: 1;"></div> + <div class="grid-item" style="grid-column: 2;"></div> + <div class="green grid-item" style="grid-column: 3;"></div> + </div> + <div class="padding"></div> +</div> + +<div id="scroller3" class="scroller"> + <div class="grid-container"> + <div class="grid-item" style="grid-column: 1;"></div> + <div class="grid-item" style="grid-column: 2;"></div> + <div class="grid-item" style="grid-column: 3;"></div> + <div class="green grid-item" style="grid-column: 4;"></div> + </div> + <div class="padding"></div> +</div> + +<p>You should see three green boxes of varying size above. There should be no red.</p> +
diff --git a/third_party/WebKit/LayoutTests/external/wpt/css/css-position-3/position-sticky-grid.html b/third_party/WebKit/LayoutTests/external/wpt/css/css-position-3/position-sticky-grid.html new file mode 100644 index 0000000..c2c1b8e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/css/css-position-3/position-sticky-grid.html
@@ -0,0 +1,93 @@ +<!DOCTYPE html> +<title>position:sticky elements should work correctly with grid layout</title> +<link rel="match" href="position-sticky-grid-ref.html" /> +<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" /> +<meta name="assert" content="This test checks that position:sticky elements interoperate correctly with grid" /> + +<style> +.scroller { + position: relative; + overflow-x: scroll; + overflow-y: hidden; + width: 300px; + height: 100px; + margin-bottom: 15px; +} + +.grid-container { + display: grid; + grid-template-columns: 25% 25% 25% 25%; + grid-template-rows: 100%; + width: 400px; + height: 90px; +} + +.sticky { + position: sticky; + left: 50px; +} + +.green { + background-color: green; +} + +.grid-item { + width: 100%; + height: 100%; + grid-row: 1; +} + +.indicator { + position: absolute; + background-color: red; + width: 100px; + height: 90px; +} + +.padding { + height: 1px; + width: 700px; +} + +</style> + +<script> +window.addEventListener('load', function() { + document.getElementById('scroller1').scrollLeft = 0; + document.getElementById('scroller2').scrollLeft = 150; + document.getElementById('scroller3').scrollLeft = 300; +}); +</script> + +<div id="scroller1" class="scroller"> + <div class="grid-container"> + <div class="indicator" style="left: 100px;"></div> + <div class="grid-item" style="grid-column: 1;"></div> + <div class="sticky green grid-item" style="grid-column: 2;"></div> + <div class="green grid-item" style="grid-column: 3;"></div> + </div> + <div class="padding"></div> +</div> + +<div id="scroller2" class="scroller"> + <div class="grid-container"> + <div class="indicator" style="left: 200px;"></div> + <div class="grid-item" style="grid-column: 1;"></div> + <div class="sticky green grid-item" style="grid-column: 2;"></div> + <div class="green grid-item" style="grid-column: 3;"></div> + </div> + <div class="padding"></div> +</div> + +<div id="scroller3" class="scroller"> + <div class="grid-container"> + <div class="indicator" style="left: 300px;"></div> + <div class="grid-item" style="grid-column: 1;"></div> + <div class="sticky green grid-item" style="grid-column: 2;"></div> + <div class="green grid-item" style="grid-column: 3;"></div> + </div> + <div class="padding"></div> +</div> + +<p>You should see three green boxes of varying size above. There should be no red.</p> +
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/load-error-events-1.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/load-error-events-1.html new file mode 100644 index 0000000..4557155 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/load-error-events-1.html
@@ -0,0 +1,68 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<head> +<title>load/error events for classic scripts</title> +<!-- For module scripts see module/load-error-events*.html --> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/load-error-events-helpers.js"></script> +<link rel="help" href="https://html.spec.whatwg.org/multipage/#execute-the-script-block"> +</head> +<script> +"use strict"; +var test1_load = event_test('src, 200, parser-inserted, defer, no async', true, false); +var test2_load = event_test('src, 200, parser-inserted, no defer, no async', true, false); +var test4_load = event_test('src, 200, parser-inserted, no defer, async', true, false); + +var test3_dynamic_load = event_test('src, 200, not parser-inserted, no defer, no async, no non-blocking', true, false); +var test4_dynamic_load = event_test('src, 200, not parser-inserted, no defer, async', true, false); + +var test1_error = event_test('src, 404, parser-inserted, defer, no async', false, true); +var test2_error = event_test('src, 404, parser-inserted, no defer, no async', false, true); +var test4_error = event_test('src, 404, parser-inserted, no defer, async', false, true); + +var test3_dynamic_error = event_test('src, 404, not parser-inserted, no defer, no async, no non-blocking', false, true); +var test4_dynamic_error = event_test('src, 404, not parser-inserted, no defer, async', false, true); + +var test6_load = event_test('no src, parser-inserted, no style sheets blocking scripts', false, false); + +var script3_dynamic_load = document.createElement('script'); +script3_dynamic_load.onload = () => onLoad(test3_dynamic_load); +script3_dynamic_load.onerror = () => onError(test3_dynamic_load); +script3_dynamic_load.async = false; +script3_dynamic_load.src = "resources/load-error-events.py?test=test3_dynamic_load"; +document.head.appendChild(script3_dynamic_load); + +var script3_dynamic_error = document.createElement('script'); +script3_dynamic_error.onload = () => onLoad(test3_dynamic_error); +script3_dynamic_error.onerror = () => onError(test3_dynamic_error); +script3_dynamic_error.async = false; +script3_dynamic_error.src = "resources/load-error-events.py?test=test3_dynamic_error"; +document.head.appendChild(script3_dynamic_error); + +var script4_dynamic_load = document.createElement('script'); +script4_dynamic_load.onload = () => onLoad(test4_dynamic_load); +script4_dynamic_load.onerror = () => onError(test4_dynamic_load); +script4_dynamic_load.async = true; +script4_dynamic_load.src = "resources/load-error-events.py?test=test4_dynamic_load"; +document.head.appendChild(script4_dynamic_load); + +var script4_dynamic_error = document.createElement('script'); +script4_dynamic_error.onload = () => onLoad(test4_dynamic_error); +script4_dynamic_error.onerror = () => onError(test4_dynamic_error); +script4_dynamic_error.async = true; +script4_dynamic_error.src = "resources/load-error-events.py?test=test4_dynamic_error"; +document.head.appendChild(script4_dynamic_error); +</script> + +<script src="resources/load-error-events.py?test=test1_load" onload="onLoad(test1_load);" onerror="onError(test1_load);" defer></script> +<script src="resources/load-error-events.py?test=test2_load" onload="onLoad(test2_load);" onerror="onError(test2_load);"></script> +<script src="resources/load-error-events.py?test=test4_load" onload="onLoad(test4_load);" onerror="onError(test4_load);" async></script> +<script src="resources/load-error-events.py?test=test1_error" onload="onLoad(test1_error);" onerror="onError(test1_error);" defer></script> +<script src="resources/load-error-events.py?test=test2_error" onload="onLoad(test2_error);" onerror="onError(test2_error);"></script> +<script src="resources/load-error-events.py?test=test4_error" onload="onLoad(test4_error);" onerror="onError(test4_error);" async></script> + +<script onload="onLoad(test6_load);" onerror="onError(test6_load);"> +"use strict"; +onExecute(test6_load); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/load-error-events-2.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/load-error-events-2.html new file mode 100644 index 0000000..cefa053 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/load-error-events-2.html
@@ -0,0 +1,22 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<head> +<title>load/error events for classic scripts with a style sheet that is blocking scripts</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/load-error-events-helpers.js"></script> +<link rel="help" href="https://html.spec.whatwg.org/multipage/#execute-the-script-block"> +<script> +"use strict"; +var test5_load = event_test('no src, parser-inserted, has style sheets blocking scripts, script nesting level == 1', false, false); +</script> + +<link rel="stylesheet" href="resources/slow.py"></link> +<!-- This is testing the case where an inline classic script is inserted +by parser while there is an loading stylesheet. Therefore, it is critical to +place a <link rel="stylesheet"> just above the <script> to be tested. --> +<script onload="onLoad(test5_load);" onerror="onError(test5_load);"> +"use strict"; +onExecute(test5_load); +</script> +</head>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/load-error-events-3.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/load-error-events-3.html new file mode 100644 index 0000000..c2cf0db --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/load-error-events-3.html
@@ -0,0 +1,22 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<head> +<title>load/error events for classic scripts with a style sheet that is blocking scripts and script nesting level > 1</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="resources/load-error-events-helpers.js"></script> +<link rel="help" href="https://html.spec.whatwg.org/multipage/#execute-the-script-block"> +</head> +<script> +"use strict"; +var test6_load = event_test('no src, parser-inserted, has style sheets blocking scripts, script nesting level == 2', + false, false); + +document.write( + `<link rel="stylesheet" href="resources/slow.py"></link> + <script onload="onLoad(test6_load);" + onerror="onError(test6_load);"> + "use strict"; + onExecute(test6_load); + </scr` + `ipt>`); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/load-event.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/load-event.html deleted file mode 100644 index 25c2ddf3..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/load-event.html +++ /dev/null
@@ -1,24 +0,0 @@ -<!DOCTYPE html> -<meta charset="utf-8"> -<script src="/resources/testharness.js"></script> -<script src="/resources/testharnessreport.js"></script> -<link rel="help" href="https://html.spec.whatwg.org/multipage/#execute-the-script-block"> -<link rel="author" title="Domenic Denicola" href="mailto:d@domenic.me"> - -<script> -"use strict"; - -async_test(function(t) { - window.scriptExecuting = function () { - setTimeout(t.step_func_done(() => { - assert_equals(window.onloadHappened, undefined); - }), 0); - }; -}, "load events should not be fired for inline scripts"); -</script> - - -<script onload="window.onloadHappened = true;"> -"use strict"; -window.scriptExecuting(); -</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/load-error-events-inline.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/load-error-events-inline.html new file mode 100644 index 0000000..c4dd0807 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/load-error-events-inline.html
@@ -0,0 +1,62 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<head> +<title>load/error events for inline module scripts</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../resources/load-error-events-helpers.js"></script> +<link rel="help" href="https://html.spec.whatwg.org/multipage/#execute-the-script-block"> +</head> +<script> +"use strict"; + +var test1_load = event_test('src, 200, parser-inserted, defer, no async', false, false); +var test4_load = event_test('src, 200, parser-inserted, no defer, async', false, false); + +var test3_dynamic_load = event_test('src, 200, not parser-inserted, no defer, no async, no non-blocking', false, false); +var test4_dynamic_load = event_test('src, 200, not parser-inserted, no defer, async', false, false); + +var test1_error = event_test('src, 404, parser-inserted, defer, no async', false, true); +var test4_error = event_test('src, 404, parser-inserted, no defer, async', false, true); + +var test3_dynamic_error = event_test('src, 404, not parser-inserted, no defer, no async, no non-blocking', false, true); +var test4_dynamic_error = event_test('src, 404, not parser-inserted, no defer, async', false, true); + +var script3_dynamic_load = document.createElement('script'); +script3_dynamic_load.setAttribute('type', 'module'); +script3_dynamic_load.onload = () => onLoad(test3_dynamic_load); +script3_dynamic_load.onerror = () => onError(test3_dynamic_load); +script3_dynamic_load.async = false; +script3_dynamic_load.appendChild(document.createTextNode('onExecute(test3_dynamic_load);')); +document.head.appendChild(script3_dynamic_load); + +var script3_dynamic_error = document.createElement('script'); +script3_dynamic_error.setAttribute('type', 'module'); +script3_dynamic_error.onload = () => onLoad(test3_dynamic_error); +script3_dynamic_error.onerror = () => onError(test3_dynamic_error); +script3_dynamic_error.async = false; +script3_dynamic_error.appendChild(document.createTextNode('import "./not_found.js";')); +document.head.appendChild(script3_dynamic_error); + +var script4_dynamic_load = document.createElement('script'); +script4_dynamic_load.setAttribute('type', 'module'); +script4_dynamic_load.onload = () => onLoad(test4_dynamic_load); +script4_dynamic_load.onerror = () => onError(test4_dynamic_load); +script4_dynamic_load.async = true; +script4_dynamic_load.appendChild(document.createTextNode('onExecute(test4_dynamic_load);')); +document.head.appendChild(script4_dynamic_load); + +var script4_dynamic_error = document.createElement('script'); +script4_dynamic_error.setAttribute('type', 'module'); +script4_dynamic_error.onload = () => onLoad(test4_dynamic_error); +script4_dynamic_error.onerror = () => onError(test4_dynamic_error); +script4_dynamic_error.async = true; +script4_dynamic_error.appendChild(document.createTextNode('import "./not_found.js";')); +document.head.appendChild(script4_dynamic_error); +</script> + +<script onload="onLoad(test1_load);" onerror="onError(test1_load);" type="module">"use strict";onExecute(test1_load);</script> +<script onload="onLoad(test4_load);" onerror="onError(test4_load);" type="module" async>"use strict";onExecute(test4_load);</script> +<script onload="onLoad(test1_error);" onerror="onError(test1_error);" type="module">"use strict";import "./not_found.js";</script> +<script onload="onLoad(test4_error);" onerror="onError(test4_error);" type="module" async>"use strict";import "./not_found.js";</script> +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/load-error-events.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/load-error-events.html new file mode 100644 index 0000000..d9bf0522 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/load-error-events.html
@@ -0,0 +1,61 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<head> +<title>load/error events for external module scripts</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../resources/load-error-events-helpers.js"></script> +<link rel="help" href="https://html.spec.whatwg.org/multipage/#execute-the-script-block"> +</head> +<script> +"use strict"; + +var test1_load = event_test('src, 200, parser-inserted, defer, no async', true, false); +var test4_load = event_test('src, 200, parser-inserted, no defer, async', true, false); + +var test3_dynamic_load = event_test('src, 200, not parser-inserted, no defer, no async, no non-blocking', true, false); +var test4_dynamic_load = event_test('src, 200, not parser-inserted, no defer, async', true, false); + +var test1_error = event_test('src, 404, parser-inserted, defer, no async', false, true); +var test4_error = event_test('src, 404, parser-inserted, no defer, async', false, true); + +var test3_dynamic_error = event_test('src, 404, not parser-inserted, no defer, no async, no non-blocking', false, true); +var test4_dynamic_error = event_test('src, 404, not parser-inserted, no defer, async', false, true); + +var script3_dynamic_load = document.createElement('script'); +script3_dynamic_load.setAttribute('type', 'module'); +script3_dynamic_load.onload = () => onLoad(test3_dynamic_load); +script3_dynamic_load.onerror = () => onError(test3_dynamic_load); +script3_dynamic_load.async = false; +script3_dynamic_load.src = "../resources/load-error-events.py?test=test3_dynamic_load"; +document.head.appendChild(script3_dynamic_load); + +var script3_dynamic_error = document.createElement('script'); +script3_dynamic_error.setAttribute('type', 'module'); +script3_dynamic_error.onload = () => onLoad(test3_dynamic_error); +script3_dynamic_error.onerror = () => onError(test3_dynamic_error); +script3_dynamic_error.async = false; +script3_dynamic_error.src = "../resources/load-error-events.py?test=test3_dynamic_error"; +document.head.appendChild(script3_dynamic_error); + +var script4_dynamic_load = document.createElement('script'); +script4_dynamic_load.setAttribute('type', 'module'); +script4_dynamic_load.onload = () => onLoad(test4_dynamic_load); +script4_dynamic_load.onerror = () => onError(test4_dynamic_load); +script4_dynamic_load.async = true; +script4_dynamic_load.src = "../resources/load-error-events.py?test=test4_dynamic_load"; +document.head.appendChild(script4_dynamic_load); + +var script4_dynamic_error = document.createElement('script'); +script4_dynamic_error.setAttribute('type', 'module'); +script4_dynamic_error.onload = () => onLoad(test4_dynamic_error); +script4_dynamic_error.onerror = () => onError(test4_dynamic_error); +script4_dynamic_error.async = true; +script4_dynamic_error.src = "../resources/load-error-events.py?test=test4_dynamic_error"; +document.head.appendChild(script4_dynamic_error); +</script> + +<script src="../resources/load-error-events.py?test=test1_load" onload="onLoad(test1_load);" onerror="onError(test1_load);" type="module"></script> +<script src="../resources/load-error-events.py?test=test4_load" onload="onLoad(test4_load);" onerror="onError(test4_load);" type="module" async></script> +<script src="../resources/load-error-events.py?test=test1_error" onload="onLoad(test1_error);" onerror="onError(test1_error);" type="module"></script> +<script src="../resources/load-error-events.py?test=test4_error" onload="onLoad(test4_error);" onerror="onError(test4_error);" type="module" async></script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/resources/load-error-events-helpers.js b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/resources/load-error-events-helpers.js new file mode 100644 index 0000000..bbd6b09c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/resources/load-error-events-helpers.js
@@ -0,0 +1,47 @@ +"use strict"; +// Helper functions to be used from load-error-events*.html tests. + +function event_test(name, load_to_be_fired, error_to_be_fired) { + return { + test: async_test(name), + executed: false, + load_event_to_be_fired: load_to_be_fired, + error_event_to_be_fired: error_to_be_fired + }; +} + +// Should be used as load/error event handlers of script tags, +// with |t| = the object returned by event_test(). +function onLoad(t) { + t.test.step(function() { + if (t.load_event_to_be_fired) { + assert_true(t.executed, + 'Load event should be fired after script execution'); + // Delay done() a little so that if an error event happens + // the assert_unreached is reached and fails the test. + t.test.step_timeout(() => t.test.done(), 100); + } else { + assert_unreached('Load event should not be fired.'); + } + }); +}; +function onError(t) { + t.test.step(function() { + if (t.error_event_to_be_fired) { + assert_false(t.executed); + // Delay done() a little so that if a load event happens + // the assert_unreached is reached and fails the test. + t.test.step_timeout(() => t.test.done(), 100); + } else { + assert_unreached('Error event should not be fired.'); + } + }); +}; + +// To be called from inline scripts, which expect no load/error events. +function onExecute(t) { + t.executed = true; + // Delay done() a little so that if a load/error event happens + // the assert_unreached is reached and fails the test. + t.test.step_timeout(() => t.test.done(), 100); +}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/resources/load-error-events.py b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/resources/load-error-events.py new file mode 100644 index 0000000..8599087b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/resources/load-error-events.py
@@ -0,0 +1,15 @@ +import re + +def main(request, response): + headers = [("Content-Type", "text/javascript")] + test = request.GET.first('test') + assert(re.match('^[a-zA-Z0-9_]+$', test)); + + if test.find('_load') >= 0: + status = 200 + content = '"use strict"; %s.executed = true;' % test + else: + status = 404 + content = '"use strict"; %s.test.step(function() { assert_unreached("404 script should not be executed"); });' % test + + return status, headers, content
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/resources/slow.py b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/resources/slow.py new file mode 100644 index 0000000..f3b1c7e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/resources/slow.py
@@ -0,0 +1,5 @@ +import time + +def main(request, response): + time.sleep(2) + return 200, [], ''
diff --git a/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-grid-expected.html b/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-grid-expected.html deleted file mode 100644 index b713f1c..0000000 --- a/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-grid-expected.html +++ /dev/null
@@ -1,81 +0,0 @@ -<!DOCTYPE html> - -<html> -<head> -<style> - body { - margin: 0; - width: 2000px; - overflow: hidden; /* hide scrollbars */ - } - - p { - position: relative; - left: 100px; - } - - .group { - position: relative; - width: 500px; - height: 200px; - } - - .grid-container { - display: grid; - grid-template-columns: 50% 50%; - grid-template-rows: 100%; - width: 200px; - height: 180px; - outline: 2px solid black; - } - - .box { - width: 100px; - height: 180px; - } - - .grid-item { - width: 100%; - height: 100%; - } - - .sticky { - left: 100px; - background-color: green; - } -</style> -<script> - function doTest() - { - window.scrollTo(100, 0); - } - window.addEventListener('load', doTest, false); -</script> -</head> -<body> - <p>This test checks the behavior of position:sticky with grid items. - There should be no red.</p> - - <div class="group" style="left: 100px"> - <div class="grid-container" style="left: 100px"> - <div class="sticky grid-item" style="grid-column: 2; grid-row: 1;"></div> - <div class="grid-item" style="grid-column: 1; grid-row: 1;"></div> - </div> - </div> - - <div class="group" style="left: 150px"> - <div class="grid-container" style="left: 100px; grid-template-columns: 25% 50% 25%"> - <div class="sticky grid-item" style="grid-column: 2; grid-row: 1;"></div> - <div class="grid-item" style="grid-column: 3; grid-row: 1;"></div> - </div> - </div> - - <div class="group" style="left: 200px"> - <div class="grid-container" style="left: 100px"> - <div class="sticky grid-item" style="grid-column: 1; grid-row: 1;"></div> - <div class="grid-item" style="grid-column: 2; grid-row: 1;"></div> - </div> - </div> - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-grid.html b/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-grid.html deleted file mode 100644 index 527dabb..0000000 --- a/third_party/WebKit/LayoutTests/fast/css/sticky/sticky-grid.html +++ /dev/null
@@ -1,97 +0,0 @@ -<!DOCTYPE html> -<script> -if (window.internals) { - internals.settings.setCSSStickyPositionEnabled(true); -} -</script> - -<html> -<head> -<style> - body { - margin: 0; - width: 2000px; - overflow: hidden; /* hide scrollbars */ - } - - p { - position: relative; - left: 100px; - } - - .group { - position: relative; - width: 500px; - height: 200px; - } - - .grid-container { - display: grid; - grid-template-columns: 50% 50%; - grid-template-rows: 100%; - width: 200px; - height: 180px; - outline: 2px solid black; - } - - .box { - width: 100px; - height: 180px; - } - - .grid-item { - width: 100%; - height: 100%; - } - - .sticky { - position: sticky; - left: 100px; - background-color: green; - } - - .indicator { - position: absolute; - top: 0; - left: 0; - background-color: red; - } -</style> -<script> - function doTest() - { - window.scrollTo(100, 0); - } - window.addEventListener('load', doTest, false); -</script> -</head> -<body> - <p>This test checks the behavior of position:sticky with grid items. - There should be no red.</p> - - <div class="group" style="left: 100px"> - <div class="indicator box" style="left: 100px;"></div> - <div class="grid-container"> - <div class="sticky grid-item" style="grid-column: 1; grid-row: 1;"></div> - <div class="grid-item" style="grid-column: 2; grid-row: 1;"></div> - </div> - </div> - - <div class="group" style="left: 150px"> - <div class="indicator box" style="left: 50px;"></div> - <div class="grid-container" style="left: 100px"> - <div class="sticky grid-item" style="grid-column: 1; grid-row: 1;"></div> - <div class="grid-item" style="grid-column: 2; grid-row: 1;"></div> - </div> - </div> - - <div class="group" style="left: 200px"> - <div class="indicator box" style="left: 0px;"></div> - <div class="grid-container" style="left: 100px"> - <div class="sticky grid-item" style="grid-column: 1; grid-row: 1;"></div> - <div class="grid-item" style="grid-column: 2; grid-row: 1;"></div> - </div> - </div> - -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/fast/js/mozilla/strict/B.1.2-expected.txt b/third_party/WebKit/LayoutTests/fast/js/mozilla/strict/B.1.2-expected.txt index 2a60797..37d2bcfb3 100644 --- a/third_party/WebKit/LayoutTests/fast/js/mozilla/strict/B.1.2-expected.txt +++ b/third_party/WebKit/LayoutTests/fast/js/mozilla/strict/B.1.2-expected.txt
@@ -7,7 +7,7 @@ PASS Function("'use strict'; \"\\1\"") threw exception of type SyntaxError. PASS !!Function("\"\\1\"") is true PASS true === true -FAIL Function("'use strict'; \"\\08\"") should throw an instance of SyntaxError +PASS Function("'use strict'; \"\\08\"") threw exception of type SyntaxError. PASS !!Function("\"\\08\"") is true PASS true === true PASS !!Function("'use strict'; \"\\0\"") is true
diff --git a/third_party/WebKit/LayoutTests/fast/rootscroller/root-scroller-apply-filter-to-parent-expected.html b/third_party/WebKit/LayoutTests/fast/rootscroller/root-scroller-apply-filter-to-parent-expected.html new file mode 100644 index 0000000..0c8a801 --- /dev/null +++ b/third_party/WebKit/LayoutTests/fast/rootscroller/root-scroller-apply-filter-to-parent-expected.html
@@ -0,0 +1,47 @@ +<!DOCTYPE html> +<style> + ::-webkit-scrollbar { + width: 0px; + height: 0px; + } + + body, html { + width: 100%; + height: 100%; + } + + body { + margin: 0px; + } + + #rootscroller { + width: 100%; + height: 100%; + overflow: auto; + will-change: transform; + background-image:linear-gradient(0deg, transparent 50%, #0a0 50%), + linear-gradient(90deg, #a00 50%, #0a0 50%); + background-size:75px 75px,75px 75px; + background-position:0 0, 0 25px; + } + + #parent { + width: 100%; + height: 100%; + filter: sepia(100); + } + + .spacer { + margin: 50px; + width: 20px; + height: 50%; + background-color: blue; + } +</style> + +<div id="parent"> + <div id="rootscroller"> + <div class="spacer"> + </div> + </div> +</div>
diff --git a/third_party/WebKit/LayoutTests/fast/rootscroller/root-scroller-apply-filter-to-parent.html b/third_party/WebKit/LayoutTests/fast/rootscroller/root-scroller-apply-filter-to-parent.html new file mode 100644 index 0000000..e443628 --- /dev/null +++ b/third_party/WebKit/LayoutTests/fast/rootscroller/root-scroller-apply-filter-to-parent.html
@@ -0,0 +1,59 @@ +<!DOCTYPE html> +<style> + ::-webkit-scrollbar { + width: 0px; + height: 0px; + } + + body, html { + width: 100%; + height: 100%; + } + + body { + margin: 0px; + } + + #rootscroller { + width: 100%; + height: 100%; + overflow: auto; + will-change: transform; + background-image:linear-gradient(0deg, transparent 50%, #0a0 50%), + linear-gradient(90deg, #a00 50%, #0a0 50%); + background-size:75px 75px,75px 75px; + background-position:0 0, 0 25px; + } + + #parent { + width: 100%; + height: 100%; + } + + .spacer { + margin: 50px; + width: 20px; + height: 50%; + background-color: blue; + } +</style> + +<!--The root scroller and its child are colorful. The test applies a filter to +root scroller's parent. It passes if the output is entirely sepia colored.--> +<div id="parent"> + <div id="rootscroller"> + <div class="spacer"> + </div> + </div> +</div> + +<script> + window.onload = function() { + var parent = document.querySelector('#parent'); + var rootscroller = document.querySelector('#rootscroller'); + + document.rootScroller = rootscroller; + parent.style.filter = "sepia(100)"; + } + +</script>
diff --git a/third_party/WebKit/LayoutTests/fast/scrolling/scroll-non-descendant-of-root-scroller.html b/third_party/WebKit/LayoutTests/fast/rootscroller/scroll-non-descendant-of-root-scroller.html similarity index 100% rename from third_party/WebKit/LayoutTests/fast/scrolling/scroll-non-descendant-of-root-scroller.html rename to third_party/WebKit/LayoutTests/fast/rootscroller/scroll-non-descendant-of-root-scroller.html
diff --git a/third_party/WebKit/LayoutTests/fast/scrolling/set-root-scroller.html b/third_party/WebKit/LayoutTests/fast/rootscroller/set-root-scroller.html similarity index 100% rename from third_party/WebKit/LayoutTests/fast/scrolling/set-root-scroller.html rename to third_party/WebKit/LayoutTests/fast/rootscroller/set-root-scroller.html
diff --git a/third_party/WebKit/LayoutTests/fast/scrolling/root-scroller-apply-filter-to-parent-expected.html b/third_party/WebKit/LayoutTests/fast/scrolling/root-scroller-apply-filter-to-parent-expected.html deleted file mode 100644 index 57f52fe..0000000 --- a/third_party/WebKit/LayoutTests/fast/scrolling/root-scroller-apply-filter-to-parent-expected.html +++ /dev/null
@@ -1,47 +0,0 @@ -<!DOCTYPE html> -<style> - ::-webkit-scrollbar { - width: 0px; - height: 0px; - } - - body, html { - width: 100%; - height: 100%; - } - - body { - margin: 0px; - } - - #rootscroller { - width: 100%; - height: 100%; - overflow: auto; - will-change: transform; - background-image:linear-gradient(0deg, transparent 50%, #0a0 50%), - linear-gradient(90deg, #a00 50%, #0a0 50%); - background-size:75px 75px,75px 75px; - background-position:0 0, 0 25px; - } - - #parent { - width: 100%; - height: 100%; - filter: sepia(100); - } - - .spacer { - margin: 50px; - width: 20px; - height: 2000px; - background-color: blue; - } -</style> - -<div id="parent"> - <div id="rootscroller"> - <div class="spacer"> - </div> - </div> -</div>
diff --git a/third_party/WebKit/LayoutTests/fast/scrolling/root-scroller-apply-filter-to-parent.html b/third_party/WebKit/LayoutTests/fast/scrolling/root-scroller-apply-filter-to-parent.html deleted file mode 100644 index ee98401..0000000 --- a/third_party/WebKit/LayoutTests/fast/scrolling/root-scroller-apply-filter-to-parent.html +++ /dev/null
@@ -1,59 +0,0 @@ -<!DOCTYPE html> -<style> - ::-webkit-scrollbar { - width: 0px; - height: 0px; - } - - body, html { - width: 100%; - height: 100%; - } - - body { - margin: 0px; - } - - #rootscroller { - width: 100%; - height: 100%; - overflow: auto; - will-change: transform; - background-image:linear-gradient(0deg, transparent 50%, #0a0 50%), - linear-gradient(90deg, #a00 50%, #0a0 50%); - background-size:75px 75px,75px 75px; - background-position:0 0, 0 25px; - } - - #parent { - width: 100%; - height: 100%; - } - - .spacer { - margin: 50px; - width: 20px; - height: 2000px; - background-color: blue; - } -</style> - -<!--The root scroller and its child are colorful. The test applies a filter to -root scroller's parent. It passes if the output is entirely sepia colored.--> -<div id="parent"> - <div id="rootscroller"> - <div class="spacer"> - </div> - </div> -</div> - -<script> - window.onload = function() { - var parent = document.querySelector('#parent'); - var rootscroller = document.querySelector('#rootscroller'); - - document.rootScroller = rootscroller; - parent.style.filter = "sepia(100)"; - } - -</script>
diff --git a/third_party/WebKit/LayoutTests/http/tests/csspaint/geometry-background-image-expected.txt b/third_party/WebKit/LayoutTests/http/tests/csspaint/geometry-background-image-expected.txt deleted file mode 100644 index 25e2f98..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/csspaint/geometry-background-image-expected.txt +++ /dev/null
@@ -1,9 +0,0 @@ -CONSOLE MESSAGE: line 26: The worklet should log: 'width: 100, height: 100' -CONSOLE MESSAGE: line 6: width: 100, height: 100 -CONSOLE MESSAGE: line 26: The worklet should log: 'width: 200, height: 200' -CONSOLE MESSAGE: line 6: width: 200, height: 200 -CONSOLE MESSAGE: line 26: The worklet should log: 'width: 100, height: 100' -CONSOLE MESSAGE: line 6: width: 100, height: 100 -This tests the geometry information in the paint callback. - -See the devtools console for test output.
diff --git a/third_party/WebKit/LayoutTests/http/tests/csspaint/geometry-background-image-tiled-expected.txt b/third_party/WebKit/LayoutTests/http/tests/csspaint/geometry-background-image-tiled-expected.txt deleted file mode 100644 index 00c14caa..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/csspaint/geometry-background-image-tiled-expected.txt +++ /dev/null
@@ -1,9 +0,0 @@ -CONSOLE MESSAGE: line 26: The worklet should log: 'width: 50, height: 50' -CONSOLE MESSAGE: line 6: width: 50, height: 50 -CONSOLE MESSAGE: line 26: The worklet should log: 'width: 50, height: 20' -CONSOLE MESSAGE: line 6: width: 50, height: 20 -CONSOLE MESSAGE: line 26: The worklet should log: 'width: 60, height: 80' -CONSOLE MESSAGE: line 6: width: 60, height: 80 -This tests the geometry information in the paint callback. - -See the devtools console for test output.
diff --git a/third_party/WebKit/LayoutTests/http/tests/csspaint/geometry-background-image-tiled.html b/third_party/WebKit/LayoutTests/http/tests/csspaint/geometry-background-image-tiled.html deleted file mode 100644 index ada07f5..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/csspaint/geometry-background-image-tiled.html +++ /dev/null
@@ -1,42 +0,0 @@ -<!DOCTYPE html> -<html> -<head> -<script src="../resources/run-after-layout-and-paint.js"></script> -<script src="resources/test-runner-geometry-logging.js"></script> -<style> - div { - background-color: red; - } -</style> -<script> -function runTest() { - testRunnerGeometryLogging([{ - func: function(el) { - el.style.width = '100px'; - el.style.height = '100px'; - el.style.background = 'paint(logging-green) top left/50% 50% repeat-x'; - }, - expected: {width: 50, height: 50}, - }, { - func: function(el) { - el.style.width = '100px'; - el.style.height = '100px'; - el.style.background = 'paint(logging-green) center right/50% 20% no-repeat'; - }, - expected: {width: 50, height: 20}, - }, { - func: function(el) { - el.style.width = '100px'; - el.style.height = '100px'; - el.style.background = 'paint(logging-green) center center/60px 80px no-repeat'; - }, - expected: {width: 60, height: 80}, - }]); -} -</script> -</head> -<body onload="runTest()"> -<p>This tests the geometry information in the paint callback.</p> -<p>See the devtools console for test output.</p> -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/http/tests/csspaint/geometry-background-image.html b/third_party/WebKit/LayoutTests/http/tests/csspaint/geometry-background-image.html deleted file mode 100644 index 07c995b..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/csspaint/geometry-background-image.html +++ /dev/null
@@ -1,42 +0,0 @@ -<!DOCTYPE html> -<html> -<head> -<script src="../resources/run-after-layout-and-paint.js"></script> -<script src="resources/test-runner-geometry-logging.js"></script> -<style> - div { - background-image: paint(logging-green); - background-color: red; - } -</style> -<script> -function runTest() { - testRunnerGeometryLogging([{ - func: function(el) { - el.style.width = '100px'; - el.style.height = '100px'; - }, - expected: {width: 100, height: 100}, - }, { - func: function(el) { - el.style.width = '200px'; - el.style.height = '200px'; - }, - expected: {width: 200, height: 200}, - }, { - func: function(el) { - el.style.width = '100px'; - el.style.height = '100px'; - if (window.internals) - window.internals.setPageScaleFactor(2); - }, - expected: {width: 100, height: 100}, - }]); -} -</script> -</head> -<body onload="runTest()"> -<p>This tests the geometry information in the paint callback.</p> -<p>See the devtools console for test output.</p> -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/http/tests/csspaint/geometry-border-image-expected.txt b/third_party/WebKit/LayoutTests/http/tests/csspaint/geometry-border-image-expected.txt deleted file mode 100644 index a8ea962..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/csspaint/geometry-border-image-expected.txt +++ /dev/null
@@ -1,15 +0,0 @@ -CONSOLE MESSAGE: line 26: The worklet should log: 'width: 100, height: 100' -CONSOLE MESSAGE: line 6: width: 100, height: 100 -CONSOLE MESSAGE: line 26: The worklet should log: 'width: 220, height: 220' -CONSOLE MESSAGE: line 6: width: 220, height: 220 -CONSOLE MESSAGE: line 26: The worklet should log: 'width: 90, height: 90' -CONSOLE MESSAGE: line 6: width: 90, height: 90 -CONSOLE MESSAGE: line 26: The worklet should log: 'width: 80, height: 120' -CONSOLE MESSAGE: line 6: width: 80, height: 120 -CONSOLE MESSAGE: line 26: The worklet should log: 'width: 140, height: 140' -CONSOLE MESSAGE: line 6: width: 140, height: 140 -CONSOLE MESSAGE: line 26: The worklet should log: 'width: 120, height: 120' -CONSOLE MESSAGE: line 6: width: 120, height: 120 -This tests the geometry information in the paint callback. - -See the devtools console for test output.
diff --git a/third_party/WebKit/LayoutTests/http/tests/csspaint/geometry-border-image.html b/third_party/WebKit/LayoutTests/http/tests/csspaint/geometry-border-image.html deleted file mode 100644 index d5a33984..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/csspaint/geometry-border-image.html +++ /dev/null
@@ -1,68 +0,0 @@ -<!DOCTYPE html> -<html> -<head> -<script src="../resources/run-after-layout-and-paint.js"></script> -<script src="resources/test-runner-geometry-logging.js"></script> -<style> - div { - border: solid 0; - border-image: paint(logging-green); - border-image-slice: 0 fill; - background-color: red; - } -</style> -<script> -function runTest() { - testRunnerGeometryLogging([{ - func: function(el) { - el.style.width = '100px'; - el.style.height = '100px'; - }, - expected: {width: 100, height: 100}, - }, { - func: function(el) { - el.style.width = '200px'; - el.style.height = '200px'; - el.style.borderWidth = '10px'; - }, - expected: {width: 220, height: 220}, - }, { - func: function(el) { - el.style.width = '50px'; - el.style.height = '50px'; - el.style.borderImageOutset = '20px'; - }, - expected: {width: 90, height: 90}, - }, { - func: function(el) { - el.style.width = '60px'; - el.style.height = '100px'; - el.style.borderImageOutset = '10px'; - }, - expected: {width: 80, height: 120}, - }, { - func: function(el) { - el.style.width = '100px'; - el.style.height = '100px'; - el.style.borderWidth = '10px'; - el.style.borderImageOutset = '10px'; - }, - expected: {width: 140, height: 140}, - }, { - func: function(el) { - el.style.width = '100px'; - el.style.height = '100px'; - el.style.borderImageOutset = '10px'; - if (window.internals) - window.internals.setPageScaleFactor(2); - }, - expected: {width: 120, height: 120}, - }]); -} -</script> -</head> -<body onload="runTest()"> -<p>This tests the geometry information in the paint callback.</p> -<p>See the devtools console for test output.</p> -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/http/tests/csspaint/paint2d-zoom-expected.png b/third_party/WebKit/LayoutTests/http/tests/csspaint/paint2d-zoom-expected.png deleted file mode 100644 index 0fd690d..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/csspaint/paint2d-zoom-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/http/tests/csspaint/paint2d-zoom-expected.txt b/third_party/WebKit/LayoutTests/http/tests/csspaint/paint2d-zoom-expected.txt deleted file mode 100644 index 61418eaf..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/csspaint/paint2d-zoom-expected.txt +++ /dev/null
@@ -1,8 +0,0 @@ -CONSOLE MESSAGE: line 31: The worklet should log: 'width: 100, height: 100' -CONSOLE MESSAGE: line 8: width: 100, height: 100 -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x348 - LayoutBlockFlow {HTML} at (0,0) size 800x348 - LayoutBlockFlow {BODY} at (24,24) size 752x300 - LayoutBlockFlow {DIV} at (0,0) size 300x300
diff --git a/third_party/WebKit/LayoutTests/http/tests/csspaint/paint2d-zoom.html b/third_party/WebKit/LayoutTests/http/tests/csspaint/paint2d-zoom.html deleted file mode 100644 index ba22299..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/csspaint/paint2d-zoom.html +++ /dev/null
@@ -1,35 +0,0 @@ -<!DOCTYPE html> -<html> -<head> -<script src="../resources/run-after-layout-and-paint.js"></script> -<script src="resources/test-runner-paint-worklet.js"></script> -<style> - #output { - width: 100px; - height: 100px; - background-image: paint(worklet); - } -</style> -</head> -<body> -<div id="output"></div> - -<script id="code" type="text/worklet"> -registerPaint('worklet', class { - paint(ctx, geom) { - ctx.rotate(10 * Math.PI / 180); - ctx.strokeStyle = 'blue'; - ctx.lineWidth = 4; - ctx.strokeRect(30, 10, 30, 30); - console.log('width: ' + geom.width + ', height: ' + geom.height); - } -}); -</script> - -<script> - document.body.style.zoom = "300%"; - console.log('The worklet should log: \'width: 100, height: 100\''); - importPaintWorkletAndTerminateTestAfterAsyncPaint(document.getElementById('code').textContent); -</script> -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/http/tests/csspaint/parse-input-arguments-expected.txt b/third_party/WebKit/LayoutTests/http/tests/csspaint/parse-input-arguments-expected.txt deleted file mode 100644 index 5f2e37e..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/csspaint/parse-input-arguments-expected.txt +++ /dev/null
@@ -1,11 +0,0 @@ -CONSOLE MESSAGE: line 15: The worklet should throw an error with: "failed!" -CONSOLE ERROR: line 1: Uncaught Error: failed! -CONSOLE MESSAGE: line 15: The worklet should throw an error with: " Failed to execute 'registerPaint' on 'PaintWorkletGlobalScope': The value provided is neither an array, nor does it have indexed properties." -CONSOLE ERROR: line 1: Uncaught TypeError: Failed to execute 'registerPaint' on 'PaintWorkletGlobalScope': The provided value cannot be converted to a sequence. -CONSOLE MESSAGE: line 15: The worklet should throw an error with: "Failed to execute 'registerPaint' on 'PaintWorkletGlobalScope': Invalid argument types." -CONSOLE ERROR: line 1: Uncaught TypeError: Failed to execute 'registerPaint' on 'PaintWorkletGlobalScope': Invalid argument types. -CONSOLE MESSAGE: line 19: The worklet should not throw an error. -CONSOLE MESSAGE: line 1: Success for 'foo'. -This tests a series of PaintWorkletGlobalScope#registerPaint Parse Input Arguments calls. - -See the devtools console for test output.
diff --git a/third_party/WebKit/LayoutTests/http/tests/csspaint/parse-input-arguments.html b/third_party/WebKit/LayoutTests/http/tests/csspaint/parse-input-arguments.html deleted file mode 100644 index b78db59d..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/csspaint/parse-input-arguments.html +++ /dev/null
@@ -1,26 +0,0 @@ -<!DOCTYPE html> -<html> -<head> -<script src="resources/test-runner-paint-helper.js"></script> -<script> -function runTest() { - runner([{ - expectedError: "failed!", - script: "registerPaint('foo', class { static get inputArguments() { throw Error('failed!'); } });", - }, { - expectedError: " Failed to execute 'registerPaint' on 'PaintWorkletGlobalScope': The value provided is neither an array, nor does it have indexed properties.", - script: "registerPaint('foo1', class { static get inputArguments() { return 'non sense stuff'; } });", - }, { - expectedError: "Failed to execute 'registerPaint' on 'PaintWorkletGlobalScope': Invalid argument types.", - script: "registerPaint('foo2', class { static get inputArguments() { return ['<non-sense-type>'] } });", - }, { - script: "registerPaint('foo3', class { static get inputArguments(){return ['<length>'];} paint() { } }); console.log('Success for \\'foo\\'.');", - }]); -} -</script> -</head> -<body onload="runTest()"> -<p>This tests a series of PaintWorkletGlobalScope#registerPaint Parse Input Arguments calls.</p> -<p>See the devtools console for test output.</p> -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/http/tests/csspaint/registerPaint-expected.txt b/third_party/WebKit/LayoutTests/http/tests/csspaint/registerPaint-expected.txt deleted file mode 100644 index f53037a..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/csspaint/registerPaint-expected.txt +++ /dev/null
@@ -1,29 +0,0 @@ -CONSOLE MESSAGE: line 15: The worklet should throw an error with: "A class with name:'foo' is already registered." -CONSOLE ERROR: line 1: Uncaught NotSupportedError: Failed to execute 'registerPaint' on 'PaintWorkletGlobalScope': A class with name:'foo' is already registered. -CONSOLE MESSAGE: line 15: The worklet should throw an error with: "The empty string is not a valid name." -CONSOLE ERROR: line 1: Uncaught TypeError: Failed to execute 'registerPaint' on 'PaintWorkletGlobalScope': The empty string is not a valid name. -CONSOLE MESSAGE: line 15: The worklet should throw an error with: "failed!" -CONSOLE ERROR: line 1: Uncaught Error: failed! -CONSOLE MESSAGE: line 15: The worklet should throw an error with: "The value provided is neither an array, nor does it have indexed properties." -CONSOLE ERROR: line 1: Uncaught TypeError: Failed to execute 'registerPaint' on 'PaintWorkletGlobalScope': The provided value cannot be converted to a sequence. -CONSOLE MESSAGE: line 15: The worklet should throw an error with: "The 'prototype' object on the class does not exist." -CONSOLE ERROR: line 1: Uncaught TypeError: Failed to execute 'registerPaint' on 'PaintWorkletGlobalScope': The 'prototype' object on the class does not exist. -CONSOLE MESSAGE: line 15: The worklet should throw an error with: "The 'prototype' property on the class is not an object." -CONSOLE ERROR: line 1: Uncaught TypeError: Failed to execute 'registerPaint' on 'PaintWorkletGlobalScope': The 'prototype' property on the class is not an object. -CONSOLE MESSAGE: line 15: The worklet should throw an error with: "The 'paint' function on the prototype does not exist." -CONSOLE ERROR: line 1: Uncaught TypeError: Failed to execute 'registerPaint' on 'PaintWorkletGlobalScope': The 'paint' function on the prototype does not exist. -CONSOLE MESSAGE: line 15: The worklet should throw an error with: "The 'paint' property on the prototype is not a function." -CONSOLE ERROR: line 1: Uncaught TypeError: Failed to execute 'registerPaint' on 'PaintWorkletGlobalScope': The 'paint' property on the prototype is not a function. -CONSOLE MESSAGE: line 19: The worklet should not throw an error. -CONSOLE MESSAGE: line 1: Success for 'foo9'. -CONSOLE MESSAGE: line 19: The worklet should not throw an error. -CONSOLE MESSAGE: line 1: Success for 'foo10'. -CONSOLE MESSAGE: line 19: The worklet should not throw an error. -CONSOLE MESSAGE: line 1: Success for 'foo11'. -CONSOLE MESSAGE: line 15: The worklet should throw an error with: "The 'alpha' property on the class is not a boolean." -CONSOLE ERROR: line 1: Uncaught TypeError: Failed to execute 'registerPaint' on 'PaintWorkletGlobalScope': The 'alpha' property on the class is not a boolean. -CONSOLE MESSAGE: line 19: The worklet should not throw an error. -CONSOLE MESSAGE: line 1: Success for 'foo13'. -This tests a series of PaintWorkletGlobalScope#registerPaint calls. - -See the devtools console for test output.
diff --git a/third_party/WebKit/LayoutTests/http/tests/csspaint/registerPaint.html b/third_party/WebKit/LayoutTests/http/tests/csspaint/registerPaint.html deleted file mode 100644 index 8f09056..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/csspaint/registerPaint.html +++ /dev/null
@@ -1,50 +0,0 @@ -<!DOCTYPE html> -<html> -<head> -<script src="resources/test-runner-paint-helper.js"></script> -<script> -function runTest() { - runner([{ - expectedError: "A class with name:'foo' is already registered.", - script: "registerPaint('foo', class { paint() { } }); registerPaint('foo', class { paint() { } });", - }, { - expectedError: "The empty string is not a valid name.", - script: "registerPaint('', class { });", - }, { - expectedError: "failed!", - script: "registerPaint('foo3', class { static get inputProperties() { throw Error('failed!'); } });", - }, { - expectedError: "The value provided is neither an array, nor does it have indexed properties.", - script: "registerPaint('foo4', class { static get inputProperties() { return 42; } });", - }, { - expectedError: "The 'prototype' object on the class does not exist.", - script: "var a = function() { }; a.prototype = undefined; registerPaint('foo5', a);", - }, { - expectedError: "The 'prototype' property on the class is not an object.", - script: "var b = function() { }; b.prototype = 42; registerPaint('foo6', b);", - }, { - expectedError: "The 'paint' function on the prototype does not exist.", - script: "registerPaint('foo7', class { });", - }, { - expectedError: "The 'paint' property on the prototype is not a function.", - script: "registerPaint('foo8', class { get paint() { return 42; } });", - }, { - script: "registerPaint('foo9', class { paint() { } }); console.log('Success for \\'foo9\\'.');", - }, { - script: "var c = function() { }; c.prototype.paint = function() { }; registerPaint('foo10', c); console.log('Success for \\'foo10\\'.');", - }, { - script: "registerPaint('foo11', class { static get inputProperties() { return ['-webkit-border-radius']; } paint() { } }); console.log('Success for \\'foo11\\'.');" - }, { - expectedError: "The 'alpha' property on the class is not a boolean.", - script: "registerPaint('foo12', class { static get alpha() { return 42; } });", - }, { - script: "registerPaint('foo13', class { static get alpha() { return true; } paint() { } }); console.log('Success for \\'foo13\\'.');", - }]); -} -</script> -</head> -<body onload="runTest()"> -<p>This tests a series of PaintWorkletGlobalScope#registerPaint calls.</p> -<p>See the devtools console for test output.</p> -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/http/tests/csspaint/registered-properties-in-custom-paint-expected.txt b/third_party/WebKit/LayoutTests/http/tests/csspaint/registered-properties-in-custom-paint-expected.txt deleted file mode 100644 index 54ddb494..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/csspaint/registered-properties-in-custom-paint-expected.txt +++ /dev/null
@@ -1,11 +0,0 @@ -CONSOLE MESSAGE: line 14: --length: [CSSUnitValue=10px] -CONSOLE MESSAGE: line 14: --length-initial: [CSSUnitValue=20px] -CONSOLE MESSAGE: line 14: --number: [CSSStyleValue=10] -This tests the style information in the paint callback. - -See the devtools console for test output. The console should log: - ---length: [CSSUnitValue=10px] ---length-initial: [CSSUnitValue=20px] ---number: [CSSStyleValue=10] -
diff --git a/third_party/WebKit/LayoutTests/http/tests/csspaint/registered-properties-in-custom-paint.html b/third_party/WebKit/LayoutTests/http/tests/csspaint/registered-properties-in-custom-paint.html deleted file mode 100644 index 7aaaed0..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/csspaint/registered-properties-in-custom-paint.html +++ /dev/null
@@ -1,42 +0,0 @@ -<!DOCTYPE html> -<html> -<head> -<script src="../resources/run-after-layout-and-paint.js"></script> -<script src="resources/test-runner-paint-worklet.js"></script> -<script src="resources/generate-paint-style-logging.js"></script> -<style> - div { - width: 100px; - height: 100px; - - background-image: paint(test); - - --length: 10px; - --number: 10; - } -</style> -</head> -<body> -<div></div> -<script> - if (window.testRunner) - testRunner.dumpAsText(); - - CSS.registerProperty({name: '--length', syntax: '<length>', initialValue: '0px'}); - CSS.registerProperty({name: '--length-initial', syntax: '<length>', initialValue: '20px'}); - CSS.registerProperty({name: '--number', syntax: '<number>', initialValue: '0'}); - - importPaintWorkletAndTerminateTestAfterAsyncPaint( - generatePaintStyleLogging([ - '--length', - '--length-initial', - '--number', - ])); -</script> -<p>This tests the style information in the paint callback.</p> -<p>See the devtools console for test output. The console should log:</p> ---length: [CSSUnitValue=10px]<br> ---length-initial: [CSSUnitValue=20px]<br> ---number: [CSSStyleValue=10]<br> - -</html>
diff --git a/third_party/WebKit/LayoutTests/http/tests/csspaint/resources/generate-paint-style-logging.js b/third_party/WebKit/LayoutTests/http/tests/csspaint/resources/generate-paint-style-logging.js deleted file mode 100644 index f66b775d..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/csspaint/resources/generate-paint-style-logging.js +++ /dev/null
@@ -1,30 +0,0 @@ -// Generates code for a CSS paint API function which logs the given properties -// to the console. -// -// Usage: -// generatePaintStyleLogging([ -// '--foo', -// 'line-height', -// ]); - -function generatePaintStyleLogging(properties) { - const json = JSON.stringify(properties); - return ` - registerPaint('test', class { - static get inputProperties() { return ${json}; } - paint(ctx, geom, styleMap) { - const properties = styleMap.getProperties().sort(); - for (let i = 0; i < properties.length; i++) { - const value = styleMap.get(properties[i]); - let serialized; - if (value) { - serialized = '[' + value.constructor.name + '=' + value.toString() + ']'; - } else { - serialized = '[null]'; - } - console.log(properties[i] + ': ' + serialized); - } - } - }); - `; -}
diff --git a/third_party/WebKit/LayoutTests/http/tests/csspaint/resources/html5.png b/third_party/WebKit/LayoutTests/http/tests/csspaint/resources/html5.png deleted file mode 100644 index e344192..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/csspaint/resources/html5.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/http/tests/csspaint/resources/paint-logging-green.js b/third_party/WebKit/LayoutTests/http/tests/csspaint/resources/paint-logging-green.js deleted file mode 100644 index ab36fda6..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/csspaint/resources/paint-logging-green.js +++ /dev/null
@@ -1,10 +0,0 @@ -// Logs the size of the geometry to the console. -// Fills the context with a green square. - -registerPaint('logging-green', class { - paint(ctx, geom) { - console.log('width: ' + geom.width + ', height: ' + geom.height); - ctx.fillStyle = 'green'; - ctx.fillRect(0, 0, geom.width, geom.height); - } -});
diff --git a/third_party/WebKit/LayoutTests/http/tests/csspaint/resources/test-runner-geometry-logging.js b/third_party/WebKit/LayoutTests/http/tests/csspaint/resources/test-runner-geometry-logging.js deleted file mode 100644 index e2ce067..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/csspaint/resources/test-runner-geometry-logging.js +++ /dev/null
@@ -1,43 +0,0 @@ -// Test runner for the paint worklet. -// -// Calls a given function with a newly created element, and prints the expected -// geometry to the console. -// -// Runs each test sequentially after a layout and a paint. -// -// Usage: -// testRunnerGeometryLogging([{ -// func: function(el) { -// el.style.width = '100px'; -// el.style.height = '100px'; -// }, -// expected: {width: 100, height: 100}, -// ]); - -function testRunnerGeometryLogging(tests, workletCode) { - if (window.testRunner) { - testRunner.waitUntilDone(); - testRunner.dumpAsText(); - } - - paintWorklet.addModule('resources/paint-logging-green.js').then(function() { - tests.reduce(function(chain, obj) { - return chain.then(function() { - console.log('The worklet should log: \'width: ' + obj.expected.width + ', height: ' + obj.expected.height + '\''); - var el = document.createElement('div'); - document.body.appendChild(el); - obj.func(el); - return new Promise(function(resolve) { - runAfterLayoutAndPaint(function() { - document.body.removeChild(el); - resolve(); - }); - }); - }); - }, Promise.resolve()).then(function() { - if (window.testRunner) { - testRunner.notifyDone(); - } - }); - }); -}
diff --git a/third_party/WebKit/LayoutTests/http/tests/csspaint/resources/test-runner-paint-helper.js b/third_party/WebKit/LayoutTests/http/tests/csspaint/resources/test-runner-paint-helper.js deleted file mode 100644 index e7aec3d..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/csspaint/resources/test-runner-paint-helper.js +++ /dev/null
@@ -1,29 +0,0 @@ -// Given a set of 'tests', runs them in the worklet, then comparing the -// expectedError or the expectedMessage. -// -// Usage: -// runner([{/* test1 */}, { /* test2 */}]); -function runner(tests) { - if (window.testRunner) { - testRunner.waitUntilDone(); - testRunner.dumpAsText(); - } - - tests.reduce(function(chain, obj) { - return chain.then(function() { - if (obj.expectedError) { - console.log('The worklet should throw an error with: "' + obj.expectedError + '"'); - } else if (obj.expectedMessage) { - console.log('The worklet should log a warning with: "' + obj.expectedMessage + '"'); - } else { - console.log('The worklet should not throw an error.'); - } - var blob = new Blob([obj.script], {type: 'text/javascript'}); - return paintWorklet.addModule(URL.createObjectURL(blob)); - }); - }, Promise.resolve()).then(function() { - if (window.testRunner) { - testRunner.notifyDone(); - } - }); -} \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/http/tests/csspaint/style-background-image-expected.txt b/third_party/WebKit/LayoutTests/http/tests/csspaint/style-background-image-expected.txt deleted file mode 100644 index 65fd4a2..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/csspaint/style-background-image-expected.txt +++ /dev/null
@@ -1,12 +0,0 @@ -CONSOLE MESSAGE: line 14: --bar: [null] -CONSOLE MESSAGE: line 14: --foo: [CSSStyleValue= bar] -CONSOLE MESSAGE: line 14: align-items: [CSSKeywordValue=normal] -CONSOLE MESSAGE: line 14: border-radius: [CSSStyleValue=2px] -This tests the style information in the paint callback. - -See the devtools console for test output. The console should log: - ---bar: [null] ---foo: [CSSStyleValue= bar] -align-items: [CSSKeywordValue=normal] -border-radius: [CSSStyleValue=2px]
diff --git a/third_party/WebKit/LayoutTests/http/tests/csspaint/style-background-image.html b/third_party/WebKit/LayoutTests/http/tests/csspaint/style-background-image.html deleted file mode 100644 index 0fe62fc..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/csspaint/style-background-image.html +++ /dev/null
@@ -1,39 +0,0 @@ -<!DOCTYPE html> -<html> -<head> -<script src="../resources/run-after-layout-and-paint.js"></script> -<script src="resources/test-runner-paint-worklet.js"></script> -<script src="resources/generate-paint-style-logging.js"></script> -<style> - div { - width: 100px; - height: 100px; - - background-image: paint(test); - border-radius: 2px; - --foo: bar; - } -</style> -</head> -<body> -<div></div> -<script> - if (window.testRunner) - testRunner.dumpAsText(); - - importPaintWorkletAndTerminateTestAfterAsyncPaint( - generatePaintStyleLogging([ - '--bar', - '--foo', - 'align-items', - 'border-radius', - ])); -</script> -<p>This tests the style information in the paint callback.</p> -<p>See the devtools console for test output. The console should log:</p> ---bar: [null]<br> ---foo: [CSSStyleValue= bar]<br> -align-items: [CSSKeywordValue=normal]<br> -border-radius: [CSSStyleValue=2px] -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/http/tests/csspaint/style-before-pseudo-expected.txt b/third_party/WebKit/LayoutTests/http/tests/csspaint/style-before-pseudo-expected.txt deleted file mode 100644 index 15d12f2..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/csspaint/style-before-pseudo-expected.txt +++ /dev/null
@@ -1,10 +0,0 @@ -CONSOLE MESSAGE: line 14: --bar: [null] -CONSOLE MESSAGE: line 14: --foo: [CSSStyleValue= bar] -CONSOLE MESSAGE: line 14: border-radius: [CSSStyleValue=2px] -This tests the style information in the paint callback. - -See the devtools console for test output. The console should log: - ---bar: [null] ---foo: [CSSStyleValue= bar] -border-radius: [CSSStyleValue=2px]
diff --git a/third_party/WebKit/LayoutTests/http/tests/csspaint/style-before-pseudo.html b/third_party/WebKit/LayoutTests/http/tests/csspaint/style-before-pseudo.html deleted file mode 100644 index 4a4b00b..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/csspaint/style-before-pseudo.html +++ /dev/null
@@ -1,42 +0,0 @@ -<!DOCTYPE html> -<html> -<head> -<script src="../resources/run-after-layout-and-paint.js"></script> -<script src="resources/test-runner-paint-worklet.js"></script> -<script src="resources/generate-paint-style-logging.js"></script> -<style> - div { - border-radius: 3px; - } - - div::before { - width: 100px; - height: 100px; - content: 'foo'; - - background-image: paint(test); - border-radius: 2px; - --foo: bar; - } -</style> -</head> -<body> -<div></div> -<script> - if (window.testRunner) - testRunner.dumpAsText(); - - importPaintWorkletAndTerminateTestAfterAsyncPaint( - generatePaintStyleLogging([ - '--bar', - '--foo', - 'border-radius', - ])); -</script> -<p>This tests the style information in the paint callback.</p> -<p>See the devtools console for test output. The console should log:</p> ---bar: [null]<br> ---foo: [CSSStyleValue= bar]<br> -border-radius: [CSSStyleValue=2px] -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/http/tests/csspaint/style-first-letter-pseudo-expected.txt b/third_party/WebKit/LayoutTests/http/tests/csspaint/style-first-letter-pseudo-expected.txt deleted file mode 100644 index cd068567..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/csspaint/style-first-letter-pseudo-expected.txt +++ /dev/null
@@ -1,10 +0,0 @@ -CONSOLE MESSAGE: line 14: color: [CSSStyleValue=rgb(255, 0, 0)] -CONSOLE MESSAGE: line 14: line-height: [CSSUnitValue=2px] -Foo -This tests the style information in the paint callback. - -See the devtools console for test output. The console should log: - -color: [CSSStyleValue=rgb(255, 0, 0)] -line-height: [CSSUnitValue=2px] -
diff --git a/third_party/WebKit/LayoutTests/http/tests/csspaint/style-first-letter-pseudo.html b/third_party/WebKit/LayoutTests/http/tests/csspaint/style-first-letter-pseudo.html deleted file mode 100644 index f5b45f94..0000000 --- a/third_party/WebKit/LayoutTests/http/tests/csspaint/style-first-letter-pseudo.html +++ /dev/null
@@ -1,37 +0,0 @@ -<!DOCTYPE html> -<html> -<head> -<script src="../resources/run-after-layout-and-paint.js"></script> -<script src="resources/test-runner-paint-worklet.js"></script> -<script src="resources/generate-paint-style-logging.js"></script> -<style> - div { - color: rgb(0, 255, 0); - line-height: 1px; - } - - div::first-letter { - background-image: paint(test); - color: rgb(255, 0, 0); - line-height: 2px; - } -</style> -</head> -<body> -<div>Foo</div> -<script> - if (window.testRunner) - testRunner.dumpAsText(); - - importPaintWorkletAndTerminateTestAfterAsyncPaint( - generatePaintStyleLogging([ - 'color', - 'line-height', - ])); -</script> -<p>This tests the style information in the paint callback.</p> -<p>See the devtools console for test output. The console should log:</p> -color: [CSSStyleValue=rgb(255, 0, 0)]<br> -line-height: [CSSUnitValue=2px]<br> -</body> -</html>
diff --git a/third_party/WebKit/LayoutTests/inspector/console/console-log-linkify-stack-in-errors-expected.txt b/third_party/WebKit/LayoutTests/inspector/console/console-log-linkify-stack-in-errors-expected.txt index 5edb94c3..214e0866 100644 --- a/third_party/WebKit/LayoutTests/inspector/console/console-log-linkify-stack-in-errors-expected.txt +++ b/third_party/WebKit/LayoutTests/inspector/console/console-log-linkify-stack-in-errors-expected.txt
@@ -6,7 +6,7 @@ at forStack (console-log-linkify-stack-in-errors.html:11:17) at console-log-linkify-stack-in-errors.html:14:1 CONSOLE MESSAGE: line 30: TypeError: Cannot read property 'removeChild' of null - at domError (console-log-linkify-stack-in-errors.html:28:22) + at domError (console-log-linkify-stack-in-errors.html:28:23) at console-log-linkify-stack-in-errors.html:34:1 CONSOLE MESSAGE: line 41: Error: some error CONSOLE MESSAGE: line 47: Error message without stacks http://www.chromium.org/
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/masks/mask-with-removed-filters-expected.png b/third_party/WebKit/LayoutTests/platform/linux/compositing/masks/mask-with-removed-filters-expected.png index 14c7efa..d74c112 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/compositing/masks/mask-with-removed-filters-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/masks/mask-with-removed-filters-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/tiled-mask-expected.png b/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/tiled-mask-expected.png index ba320740..f0d3620c4 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/tiled-mask-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/overflow/tiled-mask-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/compositing/text-on-scaled-surface-expected.png b/third_party/WebKit/LayoutTests/platform/linux/compositing/text-on-scaled-surface-expected.png new file mode 100644 index 0000000..c6129603 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/linux/compositing/text-on-scaled-surface-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-video-ratio-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-video-ratio-expected.png index c2adc3cd..b9c4cb24 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-video-ratio-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-video-ratio-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-video-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-video-shadow-expected.png index 5021baf6..8f8a62a 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-video-shadow-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-radius-mask-video-shadow-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/color-matching/image-color-matching-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/color-matching/image-color-matching-expected.png deleted file mode 100644 index 7ff9f914..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/color-matching/image-color-matching-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/direct-image-compositing-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/direct-image-compositing-expected.png deleted file mode 100644 index 0c46d4069a..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/direct-image-compositing-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/direct-image-compositing-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/direct-image-compositing-expected.txt deleted file mode 100644 index 3eeb73ab4..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/direct-image-compositing-expected.txt +++ /dev/null
@@ -1,67 +0,0 @@ -layer at (0,0) size 800x600 clip at (0,0) size 785x600 scrollHeight 756 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 785x756 backgroundClip at (0,0) size 785x600 clip at (0,0) size 785x600 - LayoutBlockFlow {HTML} at (0,0) size 785x755.88 - LayoutBlockFlow {BODY} at (8,21.44) size 769x118.44 - LayoutBlockFlow {H1} at (0,0) size 769x37 - LayoutText {#text} at (0,0) size 389x36 - text run at (0,0) width 389: "Image optimisation in layers" - LayoutBlockFlow {P} at (0,58.44) size 769x60 - LayoutText {#text} at (0,0) size 747x59 - text run at (0,0) width 595: "This test exercises direct compositing of images with hardware acceleration. The visual results " - text run at (595,0) width 34: "using" - text run at (0,20) width 681: "ACCELERATED_COMPOSITING and regular TOT should be identical. Running this test manually with " - text run at (680,20) width 67: "the correct" - text run at (0,40) width 442: "debug options will show which elements are directly composited. See " - LayoutInline {A} at (0,0) size 305x19 [color=#0000EE] - LayoutText {#text} at (442,40) size 305x19 - text run at (442,40) width 305: "https://bugs.webkit.org/show_bug.cgi?id=23361" - LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow (floating) {DIV} at (0,134.44) size 260x200 - LayoutText {#text} at (150,0) size 106x79 - text run at (150,0) width 106: "Basic image - no" - text run at (150,20) width 83: "style - can be" - text run at (150,40) width 47: "directly" - text run at (150,60) width 72: "composited" - LayoutBlockFlow (floating) {DIV} at (260,134.44) size 260x200 - LayoutText {#text} at (160,0) size 100x79 - text run at (160,0) width 100: "5px blue border" - text run at (160,20) width 88: "- can NOT be" - text run at (160,40) width 47: "directly" - text run at (160,60) width 72: "composited" - LayoutBlockFlow (floating) {DIV} at (0,334.44) size 260x200 - LayoutText {#text} at (160,0) size 79x79 - text run at (160,0) width 79: "margin - can" - text run at (160,20) width 53: "NOT be" - text run at (160,40) width 47: "directly" - text run at (160,60) width 72: "composited" - LayoutBlockFlow (floating) {DIV} at (260,334.44) size 260x200 - LayoutText {#text} at (150,0) size 109x59 - text run at (150,0) width 109: "solid background" - text run at (150,20) width 101: "- can be directly" - text run at (150,40) width 72: "composited" - LayoutBlockFlow (floating) {DIV} at (0,534.44) size 260x200 - LayoutText {#text} at (150,0) size 104x79 - text run at (150,0) width 75: "background" - text run at (150,20) width 73: "image - can" - text run at (150,40) width 104: "NOT be directly" - text run at (150,60) width 72: "composited" - LayoutBlockFlow (floating) {DIV} at (260,534.44) size 260x200 - LayoutText {#text} at (150,0) size 83x99 - text run at (150,0) width 67: "rotated but" - text run at (150,20) width 81: "otherwise no" - text run at (150,40) width 83: "style - can be" - text run at (150,60) width 47: "directly" - text run at (150,80) width 72: "composited" -layer at (8,156) size 150x150 - LayoutImage (floating) {IMG} at (0,0) size 150x150 -layer at (268,156) size 160x160 - LayoutImage (floating) {IMG} at (0,0) size 160x160 [border: (5px solid #0000FF)] -layer at (13,361) size 150x150 - LayoutImage (floating) {IMG} at (5,5) size 150x150 -layer at (268,356) size 150x150 - LayoutImage (floating) {IMG} at (0,0) size 150x150 [bgcolor=#808080] -layer at (8,556) size 150x150 backgroundClip at (0,0) size 785x600 clip at (0,0) size 785x600 - LayoutImage (floating) {IMG} at (0,0) size 150x150 [bgcolor=#FFA500] -layer at (268,556) size 150x150 backgroundClip at (0,0) size 785x600 clip at (0,0) size 785x600 - LayoutImage (floating) {IMG} at (0,0) size 150x150
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/generated-content-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/generated-content-expected.png deleted file mode 100644 index 80abc66..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/generated-content-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/geometry/clipping-foreground-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/geometry/clipping-foreground-expected.txt deleted file mode 100644 index 8ea54ac1..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/geometry/clipping-foreground-expected.txt +++ /dev/null
@@ -1,52 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x584 - LayoutBlockFlow {P} at (0,0) size 784x20 - LayoutText {#text} at (0,0) size 436x19 - text run at (0,0) width 436: "The layering of the boxes should not be affected by overflow:hidden." - LayoutBlockFlow (anonymous) at (0,36) size 784x477 - LayoutText {#text} at (320,305) size 4x19 - text run at (320,305) width 4: " " - LayoutText {#text} at (0,0) size 0x0 -layer at (68,261) size 200x200 layerType: background only -layer at (28,221) size 150x150 - LayoutBlockFlow (positioned) zI: -1 {DIV} at (-40,-40) size 150x150 [color=#808080] [bgcolor=#C86464] [border: (2px solid #000000)] - LayoutText zI: -1 {#text} at (22,22) size 106x40 - text run at (22,22) width 106: "Behind" -layer at (50,303) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (22,82) size 100x100 [bgcolor=#008000] [border: (2px solid #000000)] - LayoutText {#text} at (22,22) size 55x41 - text run at (22,22) width 55: "Behind" - text run at (22,43) width 53: "behind" -layer at (68,261) size 200x200 layerType: foreground only - LayoutBlockFlow (relative positioned) {DIV} at (60,217) size 200x200 [color=#0000FF] [bgcolor=#FFFFFFCC] [border: (10px solid #000000)] - LayoutText {#text} at (30,30) size 126x81 - text run at (30,30) width 59: "Box" - text run at (30,71) width 126: "contents" -layer at (158,351) size 150x150 - LayoutBlockFlow (positioned) zI: 1 {DIV} at (90,90) size 150x150 [color=#808080] [bgcolor=#C8C880] [border: (2px solid #000000)] - LayoutText zI: 1 {#text} at (22,22) size 86x81 - text run at (22,22) width 33: "In" - text run at (22,63) width 86: "Front" -layer at (392,104) size 200x200 clip at (402,114) size 180x180 scrollWidth 230 scrollHeight 230 layerType: background only -layer at (352,64) size 150x150 backgroundClip at (402,114) size 180x180 clip at (402,114) size 180x180 - LayoutBlockFlow (positioned) zI: -1 {DIV} at (-40,-40) size 150x150 [color=#808080] [bgcolor=#C86464] [border: (2px solid #000000)] - LayoutText zI: -1 {#text} at (22,22) size 106x40 - text run at (22,22) width 106: "Behind" -layer at (374,146) size 100x100 backgroundClip at (402,114) size 180x180 clip at (402,114) size 180x180 - LayoutBlockFlow (positioned) {DIV} at (22,82) size 100x100 [bgcolor=#008000] [border: (2px solid #000000)] - LayoutText {#text} at (22,22) size 55x41 - text run at (22,22) width 55: "Behind" - text run at (22,43) width 53: "behind" -layer at (392,104) size 200x200 clip at (402,114) size 180x180 scrollWidth 230 scrollHeight 230 layerType: foreground only - LayoutBlockFlow (relative positioned) {DIV} at (384,60) size 200x200 [color=#0000FF] [bgcolor=#FFFFFFCC] [border: (10px solid #000000)] - LayoutText {#text} at (30,30) size 126x81 - text run at (30,30) width 59: "Box" - text run at (30,71) width 126: "contents" -layer at (482,194) size 150x150 backgroundClip at (402,114) size 180x180 clip at (402,114) size 180x180 - LayoutBlockFlow (positioned) zI: 1 {DIV} at (90,90) size 150x150 [color=#808080] [bgcolor=#C8C880] [border: (2px solid #000000)] - LayoutText zI: 1 {#text} at (22,22) size 86x81 - text run at (22,22) width 33: "In" - text run at (22,63) width 86: "Front"
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/geometry/fixed-position-transform-composited-page-scale-down-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/geometry/fixed-position-transform-composited-page-scale-down-expected.png deleted file mode 100644 index 80d70b5..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/geometry/fixed-position-transform-composited-page-scale-down-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/geometry/fixed-position-transform-composited-page-scale-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/geometry/fixed-position-transform-composited-page-scale-expected.png deleted file mode 100644 index 34321ee..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/geometry/fixed-position-transform-composited-page-scale-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/geometry/layer-due-to-layer-children-deep-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/geometry/layer-due-to-layer-children-deep-expected.png deleted file mode 100644 index 175396f..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/geometry/layer-due-to-layer-children-deep-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/geometry/root-layer-update-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/geometry/root-layer-update-expected.png deleted file mode 100644 index ccc60ec1..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/geometry/root-layer-update-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/geometry/video-fixed-scrolling-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/geometry/video-fixed-scrolling-expected.png deleted file mode 100644 index 99e2a33c..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/geometry/video-fixed-scrolling-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/geometry/video-opacity-overlay-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/geometry/video-opacity-overlay-expected.png deleted file mode 100644 index 258709e4..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/geometry/video-opacity-overlay-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png deleted file mode 100644 index 7a4c0e10..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-with-box-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-with-box-shadow-expected.png deleted file mode 100644 index 608720c6..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-with-box-shadow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/iframes/composited-iframe-alignment-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/iframes/composited-iframe-alignment-expected.txt deleted file mode 100644 index d40855dc..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/iframes/composited-iframe-alignment-expected.txt +++ /dev/null
@@ -1,21 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x76 - LayoutBlockFlow {HTML} at (0,0) size 800x76 - LayoutBlockFlow {BODY} at (8,8) size 784x60 - LayoutText {#text} at (0,0) size 770x39 - text run at (0,0) width 594: "Simple test of composited iframe content. There should be a blue box with a gray background " - text run at (594,0) width 176: "inside the black border. The" - text run at (0,20) width 384: "gray background should fit perfectly within the block border " - text run at (384,20) width 89: "with no gaps. " - LayoutBR {BR} at (0,0) size 0x0 - LayoutBR {BR} at (0,40) size 0x19 -layer at (100,100) size 440x340 - LayoutIFrame (positioned) {IFRAME} at (100,100) size 440x340 [border: (20px solid #000000)] - layer at (0,0) size 400x300 - LayoutView at (0,0) size 400x300 - layer at (0,0) size 400x230 - LayoutBlockFlow {HTML} at (0,0) size 400x230 - LayoutBlockFlow {BODY} at (8,10) size 384x210 [bgcolor=#C0C0C0] - layer at (18,10) size 210x210 - LayoutBlockFlow {DIV} at (10,0) size 210x210 [bgcolor=#0000FF]
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/layers-inside-overflow-scroll-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/layers-inside-overflow-scroll-expected.png deleted file mode 100644 index 1238627..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/layers-inside-overflow-scroll-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/lots-of-img-layers-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/lots-of-img-layers-expected.png deleted file mode 100644 index 1d5e388..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/lots-of-img-layers-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/lots-of-img-layers-with-opacity-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/lots-of-img-layers-with-opacity-expected.png deleted file mode 100644 index 504660f..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/lots-of-img-layers-with-opacity-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/masks/mask-with-removed-filters-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/masks/mask-with-removed-filters-expected.png new file mode 100644 index 0000000..d74c112 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/masks/mask-with-removed-filters-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/overflow/clip-parent-reset-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/overflow/clip-parent-reset-expected.txt deleted file mode 100644 index a92c8bdc..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/overflow/clip-parent-reset-expected.txt +++ /dev/null
@@ -1,14 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x186 - LayoutBlockFlow {HTML} at (0,0) size 800x186 - LayoutBlockFlow {BODY} at (8,8) size 784x170 - LayoutBlockFlow (anonymous) at (0,150) size 784x20 - LayoutText {#text} at (0,0) size 624x19 - text run at (0,0) width 624: "This test verifies the clip parent of a layer gets correctly reset when it gained a non-composited clip." -layer at (8,8) size 150x150 transparent - LayoutBlockFlow {DIV} at (0,0) size 150x150 [bgcolor=#FF0000] -layer at (8,8) size 100x100 scrollWidth 200 scrollHeight 200 - LayoutBlockFlow {DIV} at (0,0) size 100x100 -layer at (8,8) size 200x200 backgroundClip at (8,8) size 100x100 clip at (8,8) size 100x100 - LayoutBlockFlow {DIV} at (0,0) size 200x200 [bgcolor=#008000]
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/overflow/mask-with-filter-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/overflow/mask-with-filter-expected.png deleted file mode 100644 index fff540df..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/overflow/mask-with-filter-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/overflow/overflow-compositing-descendant-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/overflow/overflow-compositing-descendant-expected.png deleted file mode 100644 index 1e09c67..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/overflow/overflow-compositing-descendant-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/overflow/scroll-ancestor-update-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/overflow/scroll-ancestor-update-expected.png deleted file mode 100644 index 8916901..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/overflow/scroll-ancestor-update-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/overflow/tiled-mask-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/overflow/tiled-mask-expected.png new file mode 100644 index 0000000..f0d3620c4 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/overflow/tiled-mask-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/perpendicular-layer-sorting-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/perpendicular-layer-sorting-expected.png deleted file mode 100644 index f6472ac..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/perpendicular-layer-sorting-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/reflections/load-video-in-reflection-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/reflections/load-video-in-reflection-expected.png deleted file mode 100644 index 62dcc8f..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/reflections/load-video-in-reflection-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-anchor-point-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-anchor-point-expected.png deleted file mode 100644 index 9505974..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-anchor-point-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-animated-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-animated-expected.png deleted file mode 100644 index a888506..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-animated-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-transition-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-transition-expected.png deleted file mode 100644 index 01df510..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-transition-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/self-painting-layers-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/self-painting-layers-expected.png deleted file mode 100644 index 2d921e07..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/self-painting-layers-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/shadows/shadow-drawing-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/shadows/shadow-drawing-expected.png deleted file mode 100644 index 4a5c54ff..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/shadows/shadow-drawing-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/sibling-positioning-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/sibling-positioning-expected.png deleted file mode 100644 index 845fbe1..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/sibling-positioning-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/squashing/selection-repaint-with-gaps-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/squashing/selection-repaint-with-gaps-expected.txt deleted file mode 100644 index c31a896..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/squashing/selection-repaint-with-gaps-expected.txt +++ /dev/null
@@ -1,135 +0,0 @@ -lorem ipsumlorem ipsumlorem ipsum -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "Squashing Containment Layer", - "shouldFlattenTransform": false - }, - { - "name": "LayoutBlockFlow DIV class='overlap'", - "position": [8, 8], - "bounds": [300, 500] - }, - { - "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (positioned) DIV class='item')", - "position": [15, 35], - "bounds": [100, 210], - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [0, 80, 40, 39], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='item1' class='item'", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV class='inline-block'", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'lorem'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'ipsum'", - "reason": "geometry" - } - ] -} -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "Squashing Containment Layer", - "shouldFlattenTransform": false - }, - { - "name": "LayoutBlockFlow DIV class='overlap'", - "position": [8, 8], - "bounds": [300, 500] - }, - { - "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (positioned) DIV class='item')", - "position": [15, 35], - "bounds": [100, 210], - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [0, 80, 42, 39], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [0, 160, 40, 39], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='item1' class='item'", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV class='inline-block'", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'lorem'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'ipsum'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='item2' class='item'", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV class='inline-block'", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'lorem'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'ipsum'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/text-on-scaled-surface-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/text-on-scaled-surface-expected.png new file mode 100644 index 0000000..c6129603 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/text-on-scaled-surface-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/video-frame-size-change-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/video-frame-size-change-expected.txt deleted file mode 100644 index a0940e4..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/video-frame-size-change-expected.txt +++ /dev/null
@@ -1,26 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x245 - LayoutBlockFlow {HTML} at (0,0) size 800x245 - LayoutBlockFlow {BODY} at (8,16) size 784x221 - LayoutBlockFlow {P} at (0,0) size 784x20 - LayoutText {#text} at (0,0) size 483x19 - text run at (0,0) width 483: "Tests decoding and rendering a video element that has a changing resolution." - LayoutBlockFlow (anonymous) at (0,36) size 784x185 - LayoutText {#text} at (320,165) size 4x19 - text run at (320,165) width 4: " " - LayoutText {#text} at (0,0) size 0x0 -layer at (8,52) size 320x180 - LayoutVideo {VIDEO} at (0,0) size 320x180 -layer at (332,52) size 320x180 - LayoutVideo {VIDEO} at (324,0) size 320x180 -layer at (8,52) size 320x180 - LayoutFlexibleBox (relative positioned) {DIV} at (0,0) size 320x180 - LayoutBlockFlow {DIV} at (0,148) size 320x32 -layer at (8,52) size 320x138 - LayoutFlexibleBox (relative positioned) {DIV} at (0,0) size 320x138 -layer at (332,52) size 320x180 - LayoutFlexibleBox (relative positioned) {DIV} at (0,0) size 320x180 - LayoutBlockFlow {DIV} at (0,148) size 320x32 -layer at (332,52) size 320x138 - LayoutFlexibleBox (relative positioned) {DIV} at (0,0) size 320x138
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/visibility/visibility-simple-video-layer-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/visibility/visibility-simple-video-layer-expected.png deleted file mode 100644 index 3d2a91a..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/compositing/visibility/visibility-simple-video-layer-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/4774354-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/4774354-expected.png deleted file mode 100644 index 3b75bf6..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/4774354-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/4774354-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/4774354-expected.txt deleted file mode 100644 index c48c5f6..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/4774354-expected.txt +++ /dev/null
@@ -1,15 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x584 - LayoutText {#text} at (0,0) size 0x0 -layer at (8,8) size 304x154 - LayoutIFrame {IFRAME} at (0,0) size 304x154 [border: (2px inset #EEEEEE)] - layer at (0,0) size 300x150 - 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=#FFFFE0] - LayoutText {#text} at (0,0) size 239x19 - text run at (0,0) width 239: "You should not see a caret in this text."
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/4776765-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/4776765-expected.png deleted file mode 100644 index 71c2c1e..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/4776765-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/backgroundSizeRepaint-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/backgroundSizeRepaint-expected.txt deleted file mode 100644 index 5fcf6d8a..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/backgroundSizeRepaint-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [19, 339, 200, 60], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [19, 177, 200, 60], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='b'", - "rect": [29, 379, 180, 20], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='a'", - "rect": [29, 217, 180, 20], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='a'", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='b'", - "reason": "incremental" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/block-layout-inline-children-float-positioned-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/block-layout-inline-children-float-positioned-expected.txt deleted file mode 100644 index 28dc52a2..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/block-layout-inline-children-float-positioned-expected.txt +++ /dev/null
@@ -1,67 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) SPAN", - "rect": [309, 37, 292, 20], - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow (positioned) SPAN", - "rect": [155, 37, 292, 20], - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "rect": [309, 37, 292, 19], - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "rect": [155, 37, 292, 19], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) SPAN", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'the quick brown fox jumped over the lazy dog'", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow (positioned) SPAN", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'the quick brown fox jumped over the lazy dog'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/block-no-inflow-children-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/block-no-inflow-children-expected.txt deleted file mode 100644 index bfdb1b1..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/block-no-inflow-children-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [0, 0, 63, 19], - "reason": "full" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [0, 0, 62, 20], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'La la la la'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/box-inline-resize-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/box-inline-resize-expected.txt deleted file mode 100644 index 65314c26..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/box-inline-resize-expected.txt +++ /dev/null
@@ -1,73 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow H2", - "rect": [40, 107, 113, 28], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow H2", - "rect": [8, 107, 113, 28], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [40, 107, 113, 27], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 107, 113, 27], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 88, 32, 67], - "reason": "geometry" - }, - { - "object": "LayoutImage IMG id='foo'", - "rect": [8, 88, 32, 32], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutImage IMG id='foo'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow H2", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Chromium'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/bugzilla-5699-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/bugzilla-5699-expected.txt deleted file mode 100644 index 663e27d..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/bugzilla-5699-expected.txt +++ /dev/null
@@ -1,93 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow P", - "rect": [8, 136, 784, 68], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 184, 35, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 156, 35, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='d'", - "rect": [8, 150, 4, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 150, 4, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 136, 4, 19], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='d'", - "reason": "style change" - }, - { - "object": "InlineFlowBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox '\u00A0'", - "reason": "style change" - }, - { - "object": "LayoutBR BR", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Hello'", - "reason": "geometry" - }, - { - "object": "LayoutBR BR", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/bugzilla-6278-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/bugzilla-6278-expected.txt deleted file mode 100644 index de9c7873..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/bugzilla-6278-expected.txt +++ /dev/null
@@ -1,124 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [10, 138, 292, 160], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [10, 138, 292, 159], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [10, 303, 292, 50], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [10, 138, 242, 200], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [10, 343, 242, 50], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD id='col1'", - "rect": [10, 353, 242, 40], - "reason": "incremental" - }, - { - "object": "LayoutText #text", - "rect": [9, 138, 236, 199], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD id='target'", - "rect": [254, 138, 52, 255], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD id='col1'", - "rect": [252, 138, 50, 215], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableCell TD id='col1'", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Curabitur pretium, quam quis semper'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'malesuada, est libero feugiat libero,'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'vel fringilla orci nibh sed neque.'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Quisque eu nulla non nisi molestie'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'accumsan. Etiam tellus urna, laoreet'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'ac, laoreet non, suscipit sed, sapien.'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Phasellus vehicula, sem at posuere'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'vehicula, augue nibh molestie nisl,'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'nec ullamcorper lacus ante vulputate'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'pede.'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD id='target'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/bugzilla-6473-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/bugzilla-6473-expected.txt deleted file mode 100644 index a087233..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/bugzilla-6473-expected.txt +++ /dev/null
@@ -1,60 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='allcontent'", - "rect": [8, 136, 784, 52], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (relative positioned) P", - "rect": [8, 152, 784, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) P", - "rect": [8, 136, 784, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 152, 71, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 136, 71, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='allcontent'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (relative positioned) P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'SUCCESS'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/bugzilla-7235-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/bugzilla-7235-expected.png deleted file mode 100644 index 12ce701f..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/bugzilla-7235-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/button-checkbox-click-method-repaint-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/button-checkbox-click-method-repaint-expected.png deleted file mode 100644 index 4e7f30a..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/button-checkbox-click-method-repaint-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/canvas-composite-repaint-by-all-imagesource-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/canvas-composite-repaint-by-all-imagesource-expected.txt deleted file mode 100644 index 97e19398..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/canvas-composite-repaint-by-all-imagesource-expected.txt +++ /dev/null
@@ -1,433 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 933], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#FFFFFF", - "paintInvalidations": [ - { - "object": "LayoutHTMLCanvas CANVAS id='copyvideo'", - "rect": [571, 515, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-atopvideo'", - "rect": [571, 415, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-invideo'", - "rect": [571, 315, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-outvideo'", - "rect": [571, 165, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-invideo'", - "rect": [571, 115, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='copycanvas'", - "rect": [429, 515, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-atopcanvas'", - "rect": [429, 415, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-incanvas'", - "rect": [429, 315, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-outcanvas'", - "rect": [429, 165, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-incanvas'", - "rect": [429, 115, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='copyimage'", - "rect": [287, 515, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-atopimage'", - "rect": [287, 415, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-inimage'", - "rect": [287, 315, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-outimage'", - "rect": [287, 165, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-inimage'", - "rect": [287, 115, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='copysolid color'", - "rect": [145, 515, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-atopsolid color'", - "rect": [145, 415, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-insolid color'", - "rect": [145, 315, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-outsolid color'", - "rect": [145, 165, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-insolid color'", - "rect": [145, 115, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='xorvideo'", - "rect": [601, 565, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='lightervideo'", - "rect": [601, 465, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-outvideo'", - "rect": [601, 365, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-overvideo'", - "rect": [601, 265, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-atopvideo'", - "rect": [601, 215, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-overvideo'", - "rect": [601, 65, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='xorcanvas'", - "rect": [459, 565, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='lightercanvas'", - "rect": [459, 465, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-outcanvas'", - "rect": [459, 365, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-overcanvas'", - "rect": [459, 265, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-atopcanvas'", - "rect": [459, 215, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-overcanvas'", - "rect": [459, 65, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='xorimage'", - "rect": [317, 565, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='lighterimage'", - "rect": [317, 465, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-outimage'", - "rect": [317, 365, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-overimage'", - "rect": [317, 265, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-atopimage'", - "rect": [317, 215, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-overimage'", - "rect": [317, 65, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='xorsolid color'", - "rect": [175, 565, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='lightersolid color'", - "rect": [175, 465, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-outsolid color'", - "rect": [175, 365, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-oversolid color'", - "rect": [175, 265, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-atopsolid color'", - "rect": [175, 215, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-oversolid color'", - "rect": [175, 65, 50, 40], - "reason": "invalidate paint rectangle" - } - ] - }, - { - "name": "LayoutVideo VIDEO id='video'", - "position": [15, 859], - "bounds": [150, 60] - }, - { - "name": "Squashing Containment Layer", - "shouldFlattenTransform": false - }, - { - "name": "LayoutFlexibleBox (relative positioned) DIV", - "position": [15, 859], - "bounds": [150, 60], - "drawsContent": true - }, - { - "name": "Squashing Layer (first squashed layer: LayoutFlexibleBox (relative positioned) DIV)", - "position": [15, 859], - "bounds": [150, 18], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutHTMLCanvas CANVAS id='source-oversolid color'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-overimage'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-overcanvas'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-overvideo'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-insolid color'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-inimage'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-incanvas'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-invideo'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-outsolid color'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-outimage'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-outcanvas'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-outvideo'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-atopsolid color'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-atopimage'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-atopcanvas'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-atopvideo'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-oversolid color'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-overimage'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-overcanvas'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-overvideo'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-insolid color'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-inimage'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-incanvas'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-invideo'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-outsolid color'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-outimage'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-outcanvas'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-outvideo'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-atopsolid color'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-atopimage'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-atopcanvas'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-atopvideo'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='lightersolid color'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='lighterimage'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='lightercanvas'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='lightervideo'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='copysolid color'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='copyimage'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='copycanvas'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='copyvideo'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='xorsolid color'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='xorimage'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='xorcanvas'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='xorvideo'", - "reason": "invalidate paint rectangle" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/canvas-resize-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/canvas-resize-expected.png deleted file mode 100644 index 5d8c82a0..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/canvas-resize-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/canvas-resize-no-full-invalidation-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/canvas-resize-no-full-invalidation-expected.png deleted file mode 100644 index 2ccd5ce3..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/canvas-resize-no-full-invalidation-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-contenteditable-content-after-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-contenteditable-content-after-expected.png deleted file mode 100644 index 75e7aa9..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-contenteditable-content-after-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-contenteditable-content-after-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-contenteditable-content-after-expected.txt deleted file mode 100644 index 0f0a14e..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-contenteditable-content-after-expected.txt +++ /dev/null
@@ -1,176 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='editor'", - "rect": [7, 47, 786, 22], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV id='editor'", - "rect": [7, 47, 786, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='editor'", - "rect": [7, 47, 786, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='editor'", - "rect": [7, 47, 786, 22], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 48, 22, 19], - "reason": "full" - }, - { - "object": "LayoutText #text", - "rect": [8, 48, 15, 19], - "reason": "full" - }, - { - "object": "LayoutTextFragment (anonymous)", - "rect": [30, 48, 8, 19], - "reason": "geometry" - }, - { - "object": "LayoutTextFragment (anonymous)", - "rect": [23, 48, 8, 19], - "reason": "geometry" - }, - { - "object": "LayoutTextFragment (anonymous)", - "rect": [23, 48, 8, 19], - "reason": "geometry" - }, - { - "object": "LayoutTextFragment (anonymous)", - "rect": [15, 48, 8, 19], - "reason": "geometry" - }, - { - "object": "LayoutTextFragment (anonymous)", - "rect": [15, 48, 8, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 48, 8, 19], - "reason": "appeared" - }, - { - "object": "LayoutTextFragment (anonymous)", - "rect": [8, 48, 8, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='editor'", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutBlockFlow DIV id='editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'a'", - "reason": "appeared" - }, - { - "object": "LayoutTextFragment (anonymous)", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'ab'", - "reason": "full" - }, - { - "object": "LayoutTextFragment (anonymous)", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'abc'", - "reason": "full" - }, - { - "object": "LayoutTextFragment (anonymous)", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.png deleted file mode 100644 index 14111df..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.txt deleted file mode 100644 index 49ed2f7a..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.txt +++ /dev/null
@@ -1,29 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [399, 11, 1, 16], - "reason": "caret" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [396, 11, 1, 16], - "reason": "caret" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "Caret", - "reason": "caret" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-outside-block-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-outside-block-expected.png deleted file mode 100644 index 19430d17..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-outside-block-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-outside-block-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-outside-block-expected.txt deleted file mode 100644 index b8644c03..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-outside-block-expected.txt +++ /dev/null
@@ -1,24 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [791, 8, 1, 19], - "reason": "caret" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "Caret", - "reason": "caret" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-with-composited-scroll-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-with-composited-scroll-expected.png deleted file mode 100644 index 2d6792e4..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-with-composited-scroll-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-with-composited-scroll-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-with-composited-scroll-expected.txt deleted file mode 100644 index d341afd0..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-with-composited-scroll-expected.txt +++ /dev/null
@@ -1,70 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutBlockFlow DIV id='scroller'", - "position": [8, 48], - "bounds": [100, 100], - "shouldFlattenTransform": false, - "drawsContent": true - }, - { - "name": "Scrolling Layer", - "bounds": [100, 100], - "shouldFlattenTransform": false - }, - { - "name": "Scrolling Contents Layer", - "bounds": [205, 1022], - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='text'", - "rect": [-1, 999, 207, 24], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [3, 1003, 200, 16], - "reason": "subtree" - } - ] - }, - { - "name": "Overflow Controls Host Layer", - "bounds": [100, 100] - }, - { - "name": "Horizontal Scrollbar Layer", - "position": [0, 100], - "bounds": [100, 0], - "drawsContent": true - }, - { - "name": "Vertical Scrollbar Layer", - "position": [100, 0], - "bounds": [0, 100], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='text'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "subtree" - }, - { - "object": "Caret", - "reason": "caret" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-with-transformation-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-with-transformation-expected.png deleted file mode 100644 index 134b5df..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-with-transformation-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-with-transformation-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-with-transformation-expected.txt deleted file mode 100644 index 5c43925..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/caret-with-transformation-expected.txt +++ /dev/null
@@ -1,29 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='div'", - "rect": [337, 206, 11, 18], - "reason": "caret" - }, - { - "object": "LayoutBlockFlow DIV id='div'", - "rect": [42, 36, 11, 18], - "reason": "caret" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "Caret", - "reason": "caret" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/change-text-content-and-background-color-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/change-text-content-and-background-color-expected.txt deleted file mode 100644 index 9f52812..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/change-text-content-and-background-color-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTextControl (positioned) INPUT id='input'", - "rect": [8, 8, 244, 68], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [30, 30, 200, 24], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [30, 30, 46, 23], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTextControl (positioned) INPUT id='input'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'NEW'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/column-rules-fixed-height-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/column-rules-fixed-height-expected.png deleted file mode 100644 index 06cb326..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/column-rules-fixed-height-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.png deleted file mode 100644 index f7f2a312..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt deleted file mode 100644 index 15a6444..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt +++ /dev/null
@@ -1,36 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTableRow TR", - "position": [8, 8], - "transformOrigin": [36.5, 11.5], - "bounds": [74, 24], - "drawsContent": true, - "backgroundColor": "#FF0000", - "paintInvalidations": [ - { - "object": "LayoutTableCell TD id='target'", - "rect": [0, 0, 37, 23], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableCell TD id='target'", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/compositing/become-overlay-composited-layer-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/compositing/become-overlay-composited-layer-expected.png deleted file mode 100644 index 6fd423e..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/compositing/become-overlay-composited-layer-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/compositing/fixed-pos-with-abs-pos-child-scroll-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/compositing/fixed-pos-with-abs-pos-child-scroll-expected.txt deleted file mode 100644 index 586fc21..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/compositing/fixed-pos-with-abs-pos-child-scroll-expected.txt +++ /dev/null
@@ -1,96 +0,0 @@ -Hi! -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 4021], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='abs'", - "rect": [425, 980, 360, 90], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='abs'", - "rect": [425, 980, 360, 90], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='abs'", - "rect": [425, 480, 360, 90], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='abs'", - "rect": [425, 480, 360, 90], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [425, 980, 21, 19], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [425, 980, 21, 19], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [425, 480, 21, 19], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [425, 480, 21, 19], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='fixed'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='abs'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Hi!'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='fixed'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='abs'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Hi!'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/compositing/text-match-highlight-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/compositing/text-match-highlight-expected.png deleted file mode 100644 index 67ed278..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/compositing/text-match-highlight-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/continuation-after-outline-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/continuation-after-outline-expected.png deleted file mode 100644 index ad9cac9..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/continuation-after-outline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/control-clip-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/control-clip-expected.txt deleted file mode 100644 index 75fa8acb..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/control-clip-expected.txt +++ /dev/null
@@ -1,67 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [9, 87, 198, 16], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [16, 117, 184, 16], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [76, 117, 64, 16], - "reason": "full" - }, - { - "object": "LayoutText (anonymous)", - "rect": [9, 87, 63, 16], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText (anonymous)", - "reason": "full" - }, - { - "object": "InlineTextBox 'SUCCESS'", - "reason": "full" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'SUCCESS'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/create-layer-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/create-layer-repaint-expected.txt deleted file mode 100644 index 4c352c66..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/create-layer-repaint-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='test' class='stretchy'", - "rect": [28, 56, 500, 50], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='test' class='stretchy'", - "rect": [28, 56, 250, 50], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='test' class='stretchy'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='test' class='stretchy'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/delete-into-nested-block-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/delete-into-nested-block-expected.png deleted file mode 100644 index be1467f2..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/delete-into-nested-block-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/delete-into-nested-block-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/delete-into-nested-block-expected.txt deleted file mode 100644 index 67443b7..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/delete-into-nested-block-expected.txt +++ /dev/null
@@ -1,115 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='two'", - "rect": [8, 147, 784, 41], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 167, 784, 21], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 147, 784, 21], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='one'", - "rect": [8, 127, 784, 21], - "reason": "full" - }, - { - "object": "LayoutText #text", - "rect": [8, 167, 31, 20], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 127, 31, 20], - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 147, 28, 20], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 127, 27, 20], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='two'", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutInline SPAN", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='one'", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'three'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/destroy-composited-scrollbar-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/destroy-composited-scrollbar-expected.png deleted file mode 100644 index 3e3ac70..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/destroy-composited-scrollbar-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/destroy-overlay-scrollbar-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/destroy-overlay-scrollbar-expected.png deleted file mode 100644 index 003e32c..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/destroy-overlay-scrollbar-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/destroy-scrollbar-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/destroy-scrollbar-expected.png deleted file mode 100644 index 02596304..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/destroy-scrollbar-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/details-open-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/details-open-repaint-expected.txt deleted file mode 100644 index 39b99f249..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/details-open-repaint-expected.txt +++ /dev/null
@@ -1,67 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='details-content'", - "rect": [8, 72, 784, 22], - "reason": "appeared" - }, - { - "object": "LayoutTextControl INPUT", - "rect": [8, 72, 154, 22], - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [10, 75, 150, 16], - "reason": "appeared" - }, - { - "object": "LayoutDetailsMarker DIV id='details-marker'", - "rect": [8, 56, 11, 11], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutDetailsMarker DIV id='details-marker'", - "reason": "full" - }, - { - "object": "LayoutBlockFlow DIV id='details-content'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutTextControl INPUT", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "HorizontalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/fixed-child-move-after-scroll-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/fixed-child-move-after-scroll-expected.png deleted file mode 100644 index 62defa6d..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/fixed-child-move-after-scroll-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/fixed-child-of-fixed-move-after-scroll-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/fixed-child-of-fixed-move-after-scroll-expected.png deleted file mode 100644 index 62defa6d..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/fixed-child-of-fixed-move-after-scroll-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/fixed-child-of-transformed-move-after-scroll-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/fixed-child-of-transformed-move-after-scroll-expected.png deleted file mode 100644 index d20655df..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/fixed-child-of-transformed-move-after-scroll-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/fixed-child-of-transformed-scrolled-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/fixed-child-of-transformed-scrolled-expected.png deleted file mode 100644 index 8170dff..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/fixed-child-of-transformed-scrolled-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/fixed-descendant-of-transformed-scrolled-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/fixed-descendant-of-transformed-scrolled-expected.png deleted file mode 100644 index 445bdad..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/fixed-descendant-of-transformed-scrolled-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/fixed-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/fixed-expected.png deleted file mode 100644 index 4164322..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/fixed-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/fixed-move-after-scroll-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/fixed-move-after-scroll-expected.png deleted file mode 100644 index 62defa6d..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/fixed-move-after-scroll-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-expected.txt deleted file mode 100644 index 50303dc..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-expected.txt +++ /dev/null
@@ -1,160 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='content'", - "rect": [138, 128, 654, 100], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow P", - "rect": [138, 128, 654, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='content'", - "rect": [148, 128, 644, 100], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow P", - "rect": [148, 128, 644, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [137, 128, 637, 99], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [147, 128, 636, 99], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [147, 128, 636, 99], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='content'", - "rect": [400, 128, 392, 180], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow P", - "rect": [400, 128, 392, 180], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='left'", - "rect": [8, 228, 392, 80], - "reason": "incremental" - }, - { - "object": "LayoutText #text", - "rect": [400, 128, 391, 179], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='left'", - "rect": [148, 128, 252, 180], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='left'", - "rect": [138, 128, 10, 100], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='left'", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='content'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean laoreet dolor id urna eleifend aliquet.'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Nulla vel dolor ipsum. Aliquam ut turpis nisl, in vulputate sapien. Cum sociis natoque penatibus et'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'magnis dis parturient montes, nascetur ridiculus mus. Sed congue magna vitae dolor feugiat vehicula.'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Sed volutpat, tellus vel varius vestibulum, purus quam mollis sapien, in condimentum leo neque sed'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'nulla. Nunc quis porta elit. Pellentesque erat lectus, ultricies a lobortis id, faucibus id quam.'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='left'", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='content'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean laoreet dolor id urna eleifend aliquet.'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Nulla vel dolor ipsum. Aliquam ut turpis nisl, in vulputate sapien. Cum sociis natoque penatibus et'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'magnis dis parturient montes, nascetur ridiculus mus. Sed congue magna vitae dolor feugiat vehicula.'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Sed volutpat, tellus vel varius vestibulum, purus quam mollis sapien, in condimentum leo neque sed'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'nulla. Nunc quis porta elit. Pellentesque erat lectus, ultricies a lobortis id, faucibus id quam.'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-expected.png deleted file mode 100644 index 833b4ec8..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-expected.txt deleted file mode 100644 index 1b3a288..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-expected.txt +++ /dev/null
@@ -1,43 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x552 - LayoutBlockFlow {P} at (0,0) size 784x40 - LayoutText {#text} at (0,0) size 226x19 - text run at (0,0) width 226: "This is a test for regressions against " - LayoutInline {I} at (0,0) size 761x39 - LayoutInline {A} at (0,0) size 348x19 [color=#0000EE] - LayoutText {#text} at (226,0) size 348x19 - text run at (226,0) width 348: "http://bugzilla.opendarwin.org/show_bug.cgi?id=8056" - LayoutText {#text} at (573,0) size 761x39 - text run at (573,0) width 5: " " - text run at (577,0) width 184: "Flexible boxes do not repaint" - text run at (0,20) width 238: "their top, left and children's overflows" - LayoutText {#text} at (237,20) size 5x19 - text run at (237,20) width 5: "." - LayoutBlockFlow {DIV} at (0,66) size 784x100 - LayoutDeprecatedFlexibleBox {DIV} at (10,10) size 80x80 [bgcolor=#FFFF00] - LayoutBlockFlow {DIV} at (-10,-10) size 100x100 [border: (1px solid #000000)] - LayoutText {#text} at (1,1) size 177x19 - text run at (1,1) width 177: "Lorem ipsum dolor sit amet." - LayoutBlockFlow {DIV} at (0,186) size 784x100 - LayoutDeprecatedFlexibleBox {DIV} at (10,10) size 80x80 [bgcolor=#FFFF00] - LayoutBlockFlow {DIV} at (-10,-10) size 100x100 [border: (1px solid #000000)] - LayoutBlockFlow {DIV} at (0,306) size 784x100 - LayoutDeprecatedFlexibleBox {DIV} at (10,10) size 80x80 [bgcolor=#FFFF00] - LayoutBlockFlow {DIV} at (-10,-10) size 100x100 [border: (1px solid #000000)] - LayoutBlockFlow {DIV} at (0,426) size 784x100 - LayoutDeprecatedFlexibleBox {DIV} at (10,10) size 80x80 [bgcolor=#FFFF00] - LayoutBlockFlow {DIV} at (-10,-10) size 100x100 [border: (1px solid #000000)] - LayoutText {#text} at (1,1) size 98x159 - text run at (1,1) width 84: "Lorem ipsum" - text run at (1,21) width 89: "dolor sit amet," - text run at (1,41) width 78: "consectetuer" - text run at (1,61) width 91: "adipiscing elit." - text run at (1,81) width 98: "Etiam et ipsum." - text run at (1,101) width 31: "Nam" - text run at (1,121) width 98: "consectetuer mi" - text run at (1,141) width 61: "eget velit." -layer at (8,64) size 784x2 clip at (0,0) size 0x0 - LayoutBlockFlow {HR} at (0,56) size 784x2 [border: (1px inset #EEEEEE)]
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-horizontal-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-horizontal-expected.png deleted file mode 100644 index 833b4ec8..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-horizontal-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-horizontal-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-horizontal-expected.txt deleted file mode 100644 index 1b3a288..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-horizontal-expected.txt +++ /dev/null
@@ -1,43 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x552 - LayoutBlockFlow {P} at (0,0) size 784x40 - LayoutText {#text} at (0,0) size 226x19 - text run at (0,0) width 226: "This is a test for regressions against " - LayoutInline {I} at (0,0) size 761x39 - LayoutInline {A} at (0,0) size 348x19 [color=#0000EE] - LayoutText {#text} at (226,0) size 348x19 - text run at (226,0) width 348: "http://bugzilla.opendarwin.org/show_bug.cgi?id=8056" - LayoutText {#text} at (573,0) size 761x39 - text run at (573,0) width 5: " " - text run at (577,0) width 184: "Flexible boxes do not repaint" - text run at (0,20) width 238: "their top, left and children's overflows" - LayoutText {#text} at (237,20) size 5x19 - text run at (237,20) width 5: "." - LayoutBlockFlow {DIV} at (0,66) size 784x100 - LayoutDeprecatedFlexibleBox {DIV} at (10,10) size 80x80 [bgcolor=#FFFF00] - LayoutBlockFlow {DIV} at (-10,-10) size 100x100 [border: (1px solid #000000)] - LayoutText {#text} at (1,1) size 177x19 - text run at (1,1) width 177: "Lorem ipsum dolor sit amet." - LayoutBlockFlow {DIV} at (0,186) size 784x100 - LayoutDeprecatedFlexibleBox {DIV} at (10,10) size 80x80 [bgcolor=#FFFF00] - LayoutBlockFlow {DIV} at (-10,-10) size 100x100 [border: (1px solid #000000)] - LayoutBlockFlow {DIV} at (0,306) size 784x100 - LayoutDeprecatedFlexibleBox {DIV} at (10,10) size 80x80 [bgcolor=#FFFF00] - LayoutBlockFlow {DIV} at (-10,-10) size 100x100 [border: (1px solid #000000)] - LayoutBlockFlow {DIV} at (0,426) size 784x100 - LayoutDeprecatedFlexibleBox {DIV} at (10,10) size 80x80 [bgcolor=#FFFF00] - LayoutBlockFlow {DIV} at (-10,-10) size 100x100 [border: (1px solid #000000)] - LayoutText {#text} at (1,1) size 98x159 - text run at (1,1) width 84: "Lorem ipsum" - text run at (1,21) width 89: "dolor sit amet," - text run at (1,41) width 78: "consectetuer" - text run at (1,61) width 91: "adipiscing elit." - text run at (1,81) width 98: "Etiam et ipsum." - text run at (1,101) width 31: "Nam" - text run at (1,121) width 98: "consectetuer mi" - text run at (1,141) width 61: "eget velit." -layer at (8,64) size 784x2 clip at (0,0) size 0x0 - LayoutBlockFlow {HR} at (0,56) size 784x2 [border: (1px inset #EEEEEE)]
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/float-overflow-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/float-overflow-expected.txt deleted file mode 100644 index 9380c0e..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/float-overflow-expected.txt +++ /dev/null
@@ -1,1273 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [11, 366, 778, 28], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [11, 360, 778, 28], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 537, 62, 37], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 531, 62, 37], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 498, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 492, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 459, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 453, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 420, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 414, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "rect": [61, 249, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "rect": [61, 243, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "rect": [61, 210, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "rect": [61, 204, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 171, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 165, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 132, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 126, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 93, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 87, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 54, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 48, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 15, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 9, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [61, 366, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [61, 360, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [61, 327, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [61, 321, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [61, 288, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [61, 282, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 504, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 498, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 465, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 459, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 426, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 420, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 216, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 210, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 177, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 171, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 138, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 132, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 99, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 93, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 60, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 54, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 21, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 15, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [69, 374, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [69, 368, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [69, 335, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [69, 329, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [69, 296, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [69, 290, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [70, 375, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [70, 369, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [70, 336, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [70, 330, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [70, 297, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [70, 291, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [67, 138, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [67, 132, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [65, 60, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [65, 54, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [65, 21, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [65, 15, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 543, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 537, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 504, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 498, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 465, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 459, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 426, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 420, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 255, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 249, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 216, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 210, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 177, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 171, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 99, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 93, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 543, 32, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 537, 32, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 255, 32, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 249, 32, 10], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [66, 297, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [66, 291, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [63, 21, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [63, 15, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 543, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 537, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 504, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 498, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 465, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 459, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 426, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 420, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 255, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 249, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 216, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 210, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 177, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 171, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 138, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 132, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [58, 375, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [58, 369, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [58, 336, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [58, 330, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [57, 99, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [57, 93, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [57, 60, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [57, 54, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [66, 299, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [66, 293, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [63, 23, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [63, 17, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 545, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 539, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 506, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 500, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 467, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 461, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 428, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 422, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 257, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 251, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 218, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 212, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 179, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 173, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 140, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 134, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [58, 377, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [58, 371, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [58, 338, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [58, 332, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [57, 101, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [57, 95, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [57, 62, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [57, 56, 16, 17], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/float-overflow-right-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/float-overflow-right-expected.txt deleted file mode 100644 index a72a4fa..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/float-overflow-right-expected.txt +++ /dev/null
@@ -1,1273 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [11, 366, 778, 28], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [11, 360, 778, 28], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 537, 62, 37], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 531, 62, 37], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 498, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 492, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 459, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 453, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 420, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 414, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "rect": [677, 249, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "rect": [677, 243, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "rect": [677, 210, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "rect": [677, 204, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 171, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 165, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 132, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 126, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 93, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 87, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 54, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 48, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 15, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 9, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [681, 366, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [681, 360, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [681, 327, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [681, 321, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [681, 288, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [681, 282, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 504, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 498, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 465, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 459, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 426, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 420, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 216, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 210, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 177, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 171, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 138, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 132, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 99, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 93, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 60, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 54, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 21, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 15, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [689, 374, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [689, 368, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [689, 335, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [689, 329, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [689, 296, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [689, 290, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 543, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 537, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 504, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 498, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 465, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 459, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 426, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 420, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 255, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 249, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 216, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 210, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 177, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 171, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 99, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 93, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [695, 60, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [695, 54, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [695, 21, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [695, 15, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [693, 138, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [693, 132, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [690, 375, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [690, 369, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [690, 336, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [690, 330, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [690, 297, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [690, 291, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [701, 543, 32, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [701, 537, 32, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [701, 255, 32, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [701, 249, 32, 10], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [727, 99, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [727, 93, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [727, 60, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [727, 54, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [726, 375, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [726, 369, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [726, 336, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [726, 330, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 543, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 537, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 504, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 498, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 465, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 459, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 426, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 420, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 255, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 249, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 216, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 210, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 177, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 171, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 138, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 132, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [721, 21, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [721, 15, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [718, 297, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [718, 291, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [727, 101, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [727, 95, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [727, 62, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [727, 56, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [726, 377, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [726, 371, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [726, 338, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [726, 332, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 545, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 539, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 506, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 500, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 467, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 461, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 428, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 422, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 257, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 251, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 218, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 212, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 179, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 173, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 140, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 134, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [721, 23, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [721, 17, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [718, 299, 16, 17], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [718, 293, 16, 17], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/focus-continuations-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/focus-continuations-expected.txt deleted file mode 100644 index 8f57277..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/focus-continuations-expected.txt +++ /dev/null
@@ -1,36 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutInline SPAN id='outer'", - "rect": [7, 87, 88, 22], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='outer'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='outer'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/focus-enable-continuations-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/focus-enable-continuations-expected.png deleted file mode 100644 index 1c09c6e..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/focus-enable-continuations-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/focus-enable-continuations-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/focus-enable-continuations-expected.txt deleted file mode 100644 index 8f57277..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/focus-enable-continuations-expected.txt +++ /dev/null
@@ -1,36 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutInline SPAN id='outer'", - "rect": [7, 87, 88, 22], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='outer'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='outer'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/focus-layers-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/focus-layers-expected.png deleted file mode 100644 index 3da4c54..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/focus-layers-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/focus-layers-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/focus-layers-expected.txt deleted file mode 100644 index 0d655cb..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/focus-layers-expected.txt +++ /dev/null
@@ -1,25 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -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 784x20 - LayoutText {#text} at (0,0) size 35x19 - text run at (0,0) width 35: "Both " - LayoutText {#text} at (0,0) size 0x0 -layer at (8,8) size 348x23 - LayoutInline (relative positioned) {A} at (0,0) size 348x23 [color=#0000EE] [border: (2px solid #FF0000)] - LayoutText {#text} at (37,0) size 53x19 - text run at (37,0) width 53: "this and " - LayoutText {#text} at (373,0) size 4x19 - text run at (373,0) width 4: " " - LayoutText {#text} at (377,0) size 4x19 - text run at (377,0) width 4: "." -layer at (8,168) size 283x23 - LayoutInline (relative positioned) {SPAN} at (0,0) size 283x23 [border: (2px solid #0000FF)] - LayoutText {#text} at (92,0) size 279x19 - text run at (92,0) width 279: "this should have correctly placed focus rings" -layer at (385,200) size 74x24 - LayoutBlockFlow (positioned) {SPAN} at (377,194) size 74x24 [border: (2px solid #008000)] - LayoutText {#text} at (2,2) size 70x19 - text run at (2,2) width 70: "but not this"
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.txt deleted file mode 100644 index f2712b7b..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutButton BUTTON", - "rect": [7, 7, 52, 24], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [16, 11, 34, 16], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [16, 11, 34, 16], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutButton BUTTON", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Reset'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt deleted file mode 100644 index 91a75a37..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutButton INPUT", - "rect": [7, 7, 59, 24], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [16, 11, 41, 16], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [16, 11, 41, 16], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutButton INPUT", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Submit'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.png deleted file mode 100644 index 17840a9f..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.png deleted file mode 100644 index d83a454..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/inline-block-overflow-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/inline-block-overflow-expected.png deleted file mode 100644 index 15bd21b..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/inline-block-overflow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/inline-block-overflow-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/inline-block-overflow-expected.txt deleted file mode 100644 index 3780744..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/inline-block-overflow-expected.txt +++ /dev/null
@@ -1,19 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x584 - LayoutBlockFlow {P} at (0,0) size 784x20 - LayoutText {#text} at (0,0) size 322x19 - text run at (0,0) width 322: "This is a repaint test of inline blocks with overflow." - LayoutBlockFlow (anonymous) at (0,46) size 784x20 - LayoutInline {SPAN} at (0,0) size 198x19 - LayoutText {#text} at (0,0) size 98x19 - text run at (0,0) width 98: "Here comes an " - LayoutBlockFlow {SPAN} at (98,0) size 100x20 [bgcolor=#C0C0C0] - LayoutText {#text} at (0,0) size 92x39 - text run at (0,0) width 74: "inline block" - text run at (0,20) width 92: "with overflow." - LayoutText {#text} at (0,0) size 0x0 -layer at (8,44) size 784x2 clip at (0,0) size 0x0 - LayoutBlockFlow {HR} at (0,36) size 784x2 [border: (1px inset #EEEEEE)]
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/inline-color-change-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/inline-color-change-expected.txt deleted file mode 100644 index 5054768d..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/inline-color-change-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutInline SPAN id='target'", - "rect": [8, 72, 38, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 72, 38, 19], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutInline SPAN id='target'", - "reason": "style change" - }, - { - "object": "InlineFlowBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/inline-focus-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/inline-focus-expected.png deleted file mode 100644 index f4d098b..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/inline-focus-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/inline-focus-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/inline-focus-expected.txt deleted file mode 100644 index aa3ed74..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/inline-focus-expected.txt +++ /dev/null
@@ -1,76 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow P", - "rect": [0, 36, 800, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [0, 0, 800, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [0, 36, 419, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline A id='link'", - "rect": [585, -1, 216, 234], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [0, 0, 39, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline A id='link'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Home'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'crbug.com/424078: ensure inline elements get their outline painted'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-expected.png deleted file mode 100644 index d565fabc..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-expected.txt deleted file mode 100644 index f507fe5..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-expected.txt +++ /dev/null
@@ -1,74 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 176, 100, 40], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='test'", - "rect": [5, 173, 95, 45], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 176, 89, 39], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutInline SPAN id='test'", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'Lorem ipsum'", - "reason": "full" - }, - { - "object": "InlineTextBox ' '", - "reason": "full" - }, - { - "object": "InlineTextBox 'dolor\u00A0'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/inline-style-change-in-scrolled-view-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/inline-style-change-in-scrolled-view-expected.png deleted file mode 100644 index c48d3b52..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/inline-style-change-in-scrolled-view-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/inline-style-change-in-scrolled-view-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/inline-style-change-in-scrolled-view-expected.txt deleted file mode 100644 index 06a0136..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/inline-style-change-in-scrolled-view-expected.txt +++ /dev/null
@@ -1,28 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [2000, 2000], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [0, 320, 411, 19], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'Text Text Text Text Text Text Text Text Text Text Text Text Text'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/invalidate-box-shadow-currentColor-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/invalidate-box-shadow-currentColor-expected.txt deleted file mode 100644 index f7b16a6..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/invalidate-box-shadow-currentColor-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutInline SPAN id='target'", - "rect": [8, 8, 29, 24], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 8, 29, 19], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutInline SPAN id='target'", - "reason": "style change" - }, - { - "object": "InlineFlowBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'Text'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt deleted file mode 100644 index f81e0e0..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt +++ /dev/null
@@ -1,79 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTextControl INPUT id='root'", - "position": [7, 7], - "bounds": [66, 24], - "drawsContent": true, - "backgroundColor": "#FFFFFF", - "paintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='root'", - "rect": [0, 0, 66, 24], - "reason": "subtree" - }, - { - "object": "LayoutTextControl INPUT id='root'", - "rect": [0, 0, 64, 22], - "reason": "full" - } - ] - }, - { - "name": "Child Containment Layer", - "position": [3, 3], - "bounds": [60, 18] - }, - { - "name": "LayoutBlockFlow DIV id='inner-editor'", - "position": [0, 1], - "bounds": [60, 16], - "shouldFlattenTransform": false, - "drawsContent": true - }, - { - "name": "Scrolling Layer", - "bounds": [60, 16], - "shouldFlattenTransform": false - }, - { - "name": "Scrolling Contents Layer", - "bounds": [75, 16], - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [73, 0, 1, 16], - "reason": "caret" - } - ] - }, - { - "name": "Overflow Controls Host Layer", - "bounds": [60, 16] - }, - { - "name": "Horizontal Scrollbar Layer", - "position": [0, 16], - "bounds": [60, 0], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='root'", - "reason": "subtree" - }, - { - "object": "Caret", - "reason": "caret" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt deleted file mode 100644 index 203026e..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt +++ /dev/null
@@ -1,70 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTextControl INPUT id='root'", - "position": [7, 7], - "bounds": [66, 24], - "drawsContent": true, - "backgroundColor": "#FFFFFF", - "paintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='root'", - "rect": [0, 0, 66, 24], - "reason": "subtree" - }, - { - "object": "LayoutTextControl INPUT id='root'", - "rect": [0, 0, 64, 22], - "reason": "full" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [3, 4, 60, 16], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [3, 4, 60, 16], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='root'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "HorizontalScrollbar", - "reason": "scroll control" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'test test test'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/invalidation-after-opacity-change-subtree-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/invalidation-after-opacity-change-subtree-expected.png deleted file mode 100644 index 038b890..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/invalidation-after-opacity-change-subtree-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/invalidation-after-opacity-change-subtree-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/invalidation-after-opacity-change-subtree-expected.txt deleted file mode 100644 index c9b03c65..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/invalidation-after-opacity-change-subtree-expected.txt +++ /dev/null
@@ -1,161 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 2350], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='absolute'", - "rect": [8, 2000, 777, 350], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='absolute'", - "rect": [8, 2000, 777, 350], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "rect": [8, 2200, 777, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "rect": [8, 2200, 777, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "rect": [8, 2050, 777, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "rect": [8, 2050, 777, 100], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [8, 2046, 774, 107], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [8, 2046, 774, 107], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [8, 2196, 655, 107], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [8, 2196, 655, 107], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='container'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='absolute'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'This test checks that switching opacity'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'invalidates the full subtree.'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'This text should be visible in the'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'output.'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='container'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='absolute'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'This test checks that switching opacity'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'invalidates the full subtree.'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'This text should be visible in the'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'output.'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-clear-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-clear-expected.png deleted file mode 100644 index bb5ec77..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-clear-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-clear-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-clear-expected.txt deleted file mode 100644 index 401c51f..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-clear-expected.txt +++ /dev/null
@@ -1,80 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [441, 123, 336, 404], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u305B\u3063\u304B\u304F\u898B\u3064\u3051\u305F\u3059\u3070\u3089\u3057\u3044\u8A18\u4E8B\u304C\u3069\u3053\u306B'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3042\u3063\u305F\u304B\u5FD8\u308C\u3066\u3057\u307E\u3063\u305F\u7D4C\u9A13\u306F\u3042\u308A\u307E\u3059\u304B'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u306A\u3089\u30BF\u30A4\u30C8\u30EB\u3068\u30A2\u30C9\u30EC\u30B9\u3060\u3051\u3067\u306A\u304F\u3001\u8A2A\u554F'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3057\u305F\u30A6\u30A7\u30D6\u30DA\u30FC\u30B8\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u304B\u3089\u3082\u691C\u7D22'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\u305B\u3063\u304B\u304F\u898B\u3064\u3051\u305F\u3059'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3070\u3089\u3057\u3044\u8A18\u4E8B\u304C\u3069\u3053\u306B\u3042\u3063\u305F\u304B\u5FD8\u308C\u3066\u3057\u307E'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3063\u305F\u7D4C\u9A13\u306F\u3042\u308A\u307E\u3059\u304B \u306A\u3089\u30BF\u30A4\u30C8\u30EB\u3068\u30A2'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u30C9\u30EC\u30B9\u3060\u3051\u3067\u306A\u304F\u3001\u8A2A\u554F\u3057\u305F\u30A6\u30A7\u30D6\u30DA\u30FC\u30B8'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u304B\u3089\u3082\u691C\u7D22\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3059\u3002\u8A2A\u554F\u3057\u305F\u30A6\u30A7\u30D6\u30DA\u30FC\u30B8\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u304B'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3089\u3082\u691C\u7D22\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\u305B\u3063\u304B\u304F\u898B'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3064\u3051\u305F\u3059\u3070\u3089\u3057\u3044\u8A18\u4E8B\u304C\u3069\u3053\u306B\u3042\u3063\u305F\u304B\u5FD8'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u308C\u3066\u3057\u307E\u3063\u305F\u7D4C\u9A13\u306F\u3042\u308A\u307E\u3059\u304B \u306A\u3089\u30BF\u30A4'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u30C8\u30EB\u3068\u30A2\u30C9\u30EC\u30B9\u3060\u3051\u3067\u306A\u304F\u3001\u8A2A\u554F'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-repaint-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-repaint-expected.png deleted file mode 100644 index f608f8a..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-repaint-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-repaint-expected.txt deleted file mode 100644 index 41c9863..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-repaint-expected.txt +++ /dev/null
@@ -1,72 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [537, 23, 240, 556], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u305B\u3063\u304B\u304F\u898B\u3064\u3051\u305F\u3059\u3070\u3089\u3057\u3044\u8A18\u4E8B\u304C\u3069\u3053\u306B\u3042\u3063\u305F\u304B\u5FD8\u308C\u3066'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3057\u307E\u3063\u305F\u7D4C\u9A13\u306F\u3042\u308A\u307E\u3059\u304B\u306A\u3089\u30BF\u30A4\u30C8\u30EB\u3068\u30A2\u30C9\u30EC\u30B9\u3060\u3051\u3067'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u306A\u304F\u3001\u8A2A\u554F\u3057\u305F\u30A6\u30A7\u30D6\u30DA\u30FC\u30B8\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u304B\u3089\u3082\u691C\u7D22\u3059\u308B'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\u305B\u3063\u304B\u304F\u898B\u3064\u3051\u305F\u3059\u3070\u3089\u3057\u3044\u8A18\u4E8B\u304C\u3069\u3053'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u306B\u3042\u3063\u305F\u304B\u5FD8\u308C\u3066\u3057\u307E\u3063\u305F\u7D4C\u9A13\u306F\u3042\u308A\u307E\u3059\u304B \u306A\u3089\u30BF\u30A4\u30C8\u30EB'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3068\u30A2\u30C9\u30EC\u30B9\u3060\u3051\u3067\u306A\u304F\u3001\u8A2A\u554F\u3057\u305F\u30A6\u30A7\u30D6\u30DA\u30FC\u30B8\u306E\u30B3\u30F3\u30C6\u30F3'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u30C4\u304B\u3089\u3082\u691C\u7D22\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\u8A2A\u554F\u3057\u305F\u30A6\u30A7\u30D6\u30DA\u30FC\u30B8'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u304B\u3089\u3082\u691C\u7D22\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\u305B\u3063\u304B\u304F\u898B'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3064\u3051\u305F\u3059\u3070\u3089\u3057\u3044\u8A18\u4E8B\u304C\u3069\u3053\u306B\u3042\u3063\u305F\u304B\u5FD8\u308C\u3066\u3057\u307E\u3063\u305F\u7D4C'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u9A13\u306F\u3042\u308A\u307E\u3059\u304B \u306A\u3089\u30BF\u30A4\u30C8\u30EB\u3068\u30A2\u30C9\u30EC\u30B9\u3060\u3051\u3067\u306A\u304F\u3001\u8A2A\u554F'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layer-child-outline-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layer-child-outline-expected.png deleted file mode 100644 index 5515ee26..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layer-child-outline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layer-child-outline-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layer-child-outline-expected.txt deleted file mode 100644 index 50deb47b4..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layer-child-outline-expected.txt +++ /dev/null
@@ -1,13 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x584 - LayoutBlockFlow {P} at (0,0) size 784x20 - LayoutText {#text} at (0,0) size 319x19 - text run at (0,0) width 319: "This tests repainting of a layer's children's outlines." -layer at (8,44) size 784x2 clip at (0,0) size 0x0 - LayoutBlockFlow {HR} at (0,36) size 784x2 [border: (1px inset #EEEEEE)] -layer at (8,54) size 100x100 - LayoutBlockFlow (relative positioned) {DIV} at (0,46) size 100x100 [bgcolor=#C0C0C0] - LayoutBlockFlow {DIV} at (0,0) size 100x100
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layer-outline-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layer-outline-expected.png deleted file mode 100644 index 58483bb..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layer-outline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layer-outline-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layer-outline-expected.txt deleted file mode 100644 index 10c2f0a..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layer-outline-expected.txt +++ /dev/null
@@ -1,36 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x584 - LayoutBlockFlow {P} at (0,0) size 784x20 - LayoutText {#text} at (0,0) size 207x19 - text run at (0,0) width 207: "This tests for regressions against " - LayoutInline {I} at (0,0) size 541x19 - LayoutInline {A} at (0,0) size 348x19 [color=#0000EE] - LayoutText {#text} at (207,0) size 348x19 - text run at (207,0) width 348: "http://bugzilla.opendarwin.org/show_bug.cgi?id=7943" - LayoutText {#text} at (554,0) size 194x19 - text run at (554,0) width 194: " Layer outline does not repaint" - LayoutText {#text} at (747,0) size 5x19 - text run at (747,0) width 5: "." -layer at (8,44) size 784x2 clip at (0,0) size 0x0 - LayoutBlockFlow {HR} at (0,36) size 784x2 [border: (1px inset #EEEEEE)] -layer at (18,194) size 100x100 clip at (19,195) size 98x98 - LayoutBlockFlow {DIV} at (10,186) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (8,54) size 784x130 - LayoutBlockFlow (relative positioned) {DIV} at (0,46) size 784x130 -layer at (18,64) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (10,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (148,64) size 100x100 backgroundClip at (138,54) size 100x100 clip at (138,54) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (140,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (278,64) size 100x100 backgroundClip at (268,54) size 5x5 clip at (268,54) size 5x5 - LayoutBlockFlow (positioned) {DIV} at (270,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (408,64) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (400,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (538,64) size 100x100 backgroundClip at (548,74) size 100x100 clip at (548,74) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (530,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (668,64) size 100x100 backgroundClip at (773,169) size 5x5 clip at (773,169) size 5x5 - LayoutBlockFlow (positioned) {DIV} at (660,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (18,324) size 100x100 - LayoutBlockFlow (relative positioned) {DIV} at (0,296) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)]
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layer-outline-horizontal-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layer-outline-horizontal-expected.png deleted file mode 100644 index 58483bb..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layer-outline-horizontal-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layer-outline-horizontal-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layer-outline-horizontal-expected.txt deleted file mode 100644 index 10c2f0a..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layer-outline-horizontal-expected.txt +++ /dev/null
@@ -1,36 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x584 - LayoutBlockFlow {P} at (0,0) size 784x20 - LayoutText {#text} at (0,0) size 207x19 - text run at (0,0) width 207: "This tests for regressions against " - LayoutInline {I} at (0,0) size 541x19 - LayoutInline {A} at (0,0) size 348x19 [color=#0000EE] - LayoutText {#text} at (207,0) size 348x19 - text run at (207,0) width 348: "http://bugzilla.opendarwin.org/show_bug.cgi?id=7943" - LayoutText {#text} at (554,0) size 194x19 - text run at (554,0) width 194: " Layer outline does not repaint" - LayoutText {#text} at (747,0) size 5x19 - text run at (747,0) width 5: "." -layer at (8,44) size 784x2 clip at (0,0) size 0x0 - LayoutBlockFlow {HR} at (0,36) size 784x2 [border: (1px inset #EEEEEE)] -layer at (18,194) size 100x100 clip at (19,195) size 98x98 - LayoutBlockFlow {DIV} at (10,186) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (8,54) size 784x130 - LayoutBlockFlow (relative positioned) {DIV} at (0,46) size 784x130 -layer at (18,64) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (10,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (148,64) size 100x100 backgroundClip at (138,54) size 100x100 clip at (138,54) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (140,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (278,64) size 100x100 backgroundClip at (268,54) size 5x5 clip at (268,54) size 5x5 - LayoutBlockFlow (positioned) {DIV} at (270,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (408,64) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (400,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (538,64) size 100x100 backgroundClip at (548,74) size 100x100 clip at (548,74) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (530,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (668,64) size 100x100 backgroundClip at (773,169) size 5x5 clip at (773,169) size 5x5 - LayoutBlockFlow (positioned) {DIV} at (660,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (18,324) size 100x100 - LayoutBlockFlow (relative positioned) {DIV} at (0,296) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)]
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layout-state-relative-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layout-state-relative-expected.txt deleted file mode 100644 index 3bb3026c..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layout-state-relative-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) DIV id='target'", - "rect": [8, 152, 784, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 152, 38, 19], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) DIV id='target'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset-expected.png deleted file mode 100644 index 81f8439..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset-expected.txt deleted file mode 100644 index e37c1ef..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [100, 120, 50, 50], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [100, 120, 40, 19], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'after'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset2-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset2-expected.png deleted file mode 100644 index 1bbc823..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset2-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset2-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset2-expected.txt deleted file mode 100644 index 499f5ac..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset2-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [102, 122, 50, 50], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [102, 122, 40, 19], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'after'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset3-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset3-expected.png deleted file mode 100644 index 26d89f2..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset3-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-1-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-1-expected.png deleted file mode 100644 index 6d5004c..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-1-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-1-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-1-expected.txt deleted file mode 100644 index 15f6569..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-1-expected.txt +++ /dev/null
@@ -1,73 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [14, 80, 406, 119], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV id='pinkFloat'", - "rect": [378, 138, 70, 30], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) DIV id='pinkFloat'", - "reason": "incremental" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The chief difficulty Alice found at first was in managing'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'her\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'flamingo: she succeeded in getting its body tucked'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'away,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'comfortably enough, under her arm, with its legs'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hanging down,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'but generally, just as she had got its'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'neck nicely straightened\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'out, and was going to give the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehog a blow with its head, it\n'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-10-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-10-expected.png deleted file mode 100644 index db38dfe..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-10-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-10-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-10-expected.txt deleted file mode 100644 index 2cb2c60..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-10-expected.txt +++ /dev/null
@@ -1,224 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [13, 520, 408, 80], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 240, 407, 139], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 360, 356, 39], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 460, 355, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 440, 355, 39], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 420, 355, 39], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 400, 304, 19], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "rect": [14, 363, 48, 65], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "rect": [14, 374, 48, 64], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'begin again, it was very'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'provoking to find that the hedgehog had\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'unrolled itself, and was'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'in the act of crawling away: besides all\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'this, there was generally'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a ridge or furrow in the way wherever\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she wanted to send the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehog to, and, as the doubled-up\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soldiers were always'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'getting up and walking off to other parts of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the ground, Alice'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soon came to the conclusion that it was a very\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'difficult'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'game indeed.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The players all played at once without waiting'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for turns,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'quarrelling all the while, and fighting'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for the hedgehogs; and in\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a very short time '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Queen'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' was in a furious passion, and went\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'stamping'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'about, and shouting \u2018Off with his head!\u2019 or \u2018Off with'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'her head!\u2019 about once in a minute.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Alice began to feel very uneasy: to be sure, she had not as\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'yet'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'had any dispute with the Queen, but she knew that it might'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'happen any minute, \u2018and then,\u2019 thought she, \u2018what would'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'become of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'me? They\u2019re dreadfully fond of beheading people'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'here; the great\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wonder is, that there\u2018s any one left alive!\u2019'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-2-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-2-expected.png deleted file mode 100644 index ad4a240..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-2-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-2-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-2-expected.txt deleted file mode 100644 index 3cad07b..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-2-expected.txt +++ /dev/null
@@ -1,394 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow P", - "rect": [8, 74, 418, 526], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 520, 408, 80], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 241, 407, 139], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 240, 407, 139], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 181, 407, 79], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 180, 407, 79], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 361, 356, 39], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 360, 356, 39], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 80, 355, 120], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 461, 355, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 460, 355, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 421, 355, 39], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 420, 355, 39], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 401, 304, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 400, 304, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [302, 441, 66, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [302, 440, 66, 19], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='greenFloat'", - "rect": [372, 404, 48, 81], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='greenFloat'", - "rect": [372, 403, 48, 81], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "rect": [14, 364, 48, 65], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "rect": [14, 363, 48, 65], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [235, 180, 45, 20], - "reason": "style change" - }, - { - "object": "LayoutView #document", - "rect": [485, 0, 15, 600], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The chief difficulty Alice found at first was in managing'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'her\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'flamingo: she succeeded in getting its body tucked'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'away,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'comfortably enough, under her arm, with its legs'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hanging down,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'but generally, just as she had got its'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'neck nicely straightened\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'out, and was going to give the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehog a blow with its head, it\n'", - "reason": "geometry" - }, - { - "object": "LayoutInline I id='would'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'would'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' twist itself round and'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'look up in her face, with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'such a puzzled expression that she'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'could not help bursting out\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'laughing: and when she had got its'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'head down, and was going to\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'begin again, it was very'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'provoking to find that the hedgehog had\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'unrolled itself, and was'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'in the act of crawling away: besides all\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'this, there was generally'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a ridge or furrow in the way wherever\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she wanted to send the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehog to, and, as the doubled-up\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soldiers were always'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'getting up and walking off to other parts of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the ground, Alice'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soon came to the conclusion that it was a very\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'difficult'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'game indeed.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The players all played at once without waiting'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='greenFloat'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for turns,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'quarrelling all the while, and fighting'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for the hedgehogs; and in\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a very short time '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the Queen'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'was in a furious passion, and went\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'stamping about, and'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'shouting \u2018Off with his head!\u2019 or \u2018Off with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'her head!\u2019'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'about once in a minute.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Alice began to feel very uneasy: to be sure, she had not as\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'yet'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'had any dispute with the Queen, but she knew that it might'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'happen any minute, \u2018and then,\u2019 thought she, \u2018what would'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'become of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'me? They\u2019re dreadfully fond of beheading people'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'here; the great\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wonder is, that there\u2018s any one left alive!\u2019'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-3-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-3-expected.png deleted file mode 100644 index 45c2ee0..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-3-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-3-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-3-expected.txt deleted file mode 100644 index 01bdd5a..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-3-expected.txt +++ /dev/null
@@ -1,238 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [13, 520, 408, 80], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 240, 407, 139], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 400, 406, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 360, 356, 39], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 460, 355, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 440, 339, 79], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 400, 304, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [302, 440, 66, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [242, 440, 65, 19], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='greenFloat'", - "rect": [356, 423, 64, 81], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='greenFloat'", - "rect": [372, 403, 48, 81], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'begin again, it was very'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'provoking to find that the hedgehog had\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'unrolled itself, and was'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'in the act of crawling away: besides all\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'this, there was generally'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a ridge or furrow in the way wherever\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she wanted to send the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehog to, and, as the doubled-up\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soldiers were always'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'getting up and walking off to other parts of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the ground, Alice'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soon came to the conclusion that it was a very\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'difficult'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'game indeed.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The players all played at once without waiting\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='greenFloat'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for turns,'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'quarrelling all the while, and fighting for the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehogs; and in\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a very short time '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the Queen'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' was in'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a furious passion, and went\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'stamping about, and'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'shouting \u2018Off with his head!\u2019 or \u2018Off with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'her head!\u2019'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'about once in a minute.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Alice began to feel very uneasy: to be sure, she had not as\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'yet'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'had any dispute with the Queen, but she knew that it might'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'happen any minute, \u2018and then,\u2019 thought she, \u2018what would'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'become of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'me? They\u2019re dreadfully fond of beheading people'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'here; the great\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wonder is, that there\u2018s any one left alive!\u2019'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-4-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-4-expected.png deleted file mode 100644 index 2074ad6..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-4-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-4-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-4-expected.txt deleted file mode 100644 index 74f8083..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-4-expected.txt +++ /dev/null
@@ -1,219 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [13, 520, 408, 80], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 240, 407, 139], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 460, 406, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 360, 356, 39], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 420, 355, 39], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 400, 304, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [302, 440, 66, 19], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='greenFloat'", - "rect": [372, 467, 48, 17], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'begin again, it was very'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'provoking to find that the hedgehog had\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'unrolled itself, and was'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'in the act of crawling away: besides all\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'this, there was generally'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a ridge or furrow in the way wherever\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she wanted to send the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehog to, and, as the doubled-up\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soldiers were always'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'getting up and walking off to other parts of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the ground, Alice'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soon came to the conclusion that it was a very\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'difficult'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'game indeed.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The players all played at once without waiting'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='greenFloat'", - "reason": "incremental" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for turns,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'quarrelling all the while, and fighting'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for the hedgehogs; and in\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a very short time '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the Queen'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'was in a furious passion, and went\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'stamping about, and'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'shouting \u2018Off with his head!\u2019 or \u2018Off with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'her head!\u2019 about once'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'in a minute.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Alice began to feel very uneasy: to be sure, she had not as\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'yet'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'had any dispute with the Queen, but she knew that it might'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'happen any minute, \u2018and then,\u2019 thought she, \u2018what would'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'become of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'me? They\u2019re dreadfully fond of beheading people'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'here; the great\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wonder is, that there\u2018s any one left alive!\u2019'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-5-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-5-expected.png deleted file mode 100644 index 11bc9db..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-5-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-5-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-5-expected.txt deleted file mode 100644 index c76aab6..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-5-expected.txt +++ /dev/null
@@ -1,237 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [13, 520, 408, 80], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 240, 407, 139], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [49, 360, 372, 39], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 400, 356, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 440, 355, 79], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 400, 304, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [49, 400, 302, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [302, 440, 66, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [245, 440, 65, 19], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "rect": [46, 363, 16, 65], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'begin again, it was very'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'provoking to find that the hedgehog had\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'unrolled itself, and was'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'in the act of crawling away: besides all\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'this, there was generally'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a ridge or furrow in the way wherever\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she wanted to send the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehog to, and, as the doubled-up\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soldiers were always'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'getting up and walking off to other parts of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the ground, Alice'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soon came to the conclusion that it was a very\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "reason": "incremental" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'difficult'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'game indeed.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The players all played at once without waiting\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'turns,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'quarrelling all the while, and fighting for the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehogs; and in\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a very short time '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the Queen'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' was in a'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'furious passion, and went\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'stamping about, and shouting'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u2018Off with his head!\u2019 or \u2018Off with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'her head!\u2019 about once'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'in a minute.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Alice began to feel very uneasy: to be sure, she had not as\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'yet'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'had any dispute with the Queen, but she knew that it might'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'happen any minute, \u2018and then,\u2019 thought she, \u2018what would'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'become of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'me? They\u2019re dreadfully fond of beheading people'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'here; the great\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wonder is, that there\u2018s any one left alive!\u2019'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-6-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-6-expected.png deleted file mode 100644 index 5e4939d..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-6-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-6-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-6-expected.txt deleted file mode 100644 index 8d9e3bd..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-6-expected.txt +++ /dev/null
@@ -1,115 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [13, 240, 407, 139], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 360, 356, 39], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "rect": [14, 363, 48, 65], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [27, 363, 22, 20], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'begin again, it was very'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'provoking to find that the hedgehog had\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'unrolled itself, and was'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'in the act of crawling away: besides all\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'this, there was generally'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a ridge or furrow in the way wherever\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she wanted to send the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehog to, and, as the doubled-up\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soldiers were always'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'getting up and walking off to other parts of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the ground, Alice'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soon came to the conclusion that it was a very\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'foo'", - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'difficult'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'game indeed.\n'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-7-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-7-expected.png deleted file mode 100644 index 2a85f22..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-7-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-7-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-7-expected.txt deleted file mode 100644 index 5395d56..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-7-expected.txt +++ /dev/null
@@ -1,57 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [14, 420, 355, 39], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [298, 440, 70, 19], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for turns,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'quarrelling all the while, and fighting'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for the hedgehogs; and in\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a very short time '", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='theQueen'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'the Queen'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-8-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-8-expected.png deleted file mode 100644 index d8cff8d..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-8-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-8-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-8-expected.txt deleted file mode 100644 index 4c14d16..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-8-expected.txt +++ /dev/null
@@ -1,310 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow P", - "rect": [8, 74, 418, 526], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 240, 407, 139], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 180, 407, 79], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 360, 406, 39], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 440, 358, 79], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 360, 356, 39], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 80, 355, 119], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 420, 355, 39], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 400, 354, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 400, 304, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 400, 297, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [184, 440, 68, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [302, 440, 66, 19], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "rect": [14, 363, 48, 65], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [238, 180, 40, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The chief difficulty Alice found at first was in managing'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'her\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'flamingo: she succeeded in getting its body tucked'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'away,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'comfortably enough, under her arm, with its legs'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hanging down,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'but generally, just as she had got its'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'neck nicely straightened\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'out, and was going to give the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehog a blow with its head, it\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'would'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' twist itself round and'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'look up in her face, with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'such a puzzled expression that she'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'could not help bursting out\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'laughing: and when she had got its'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'head down, and was going to\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'begin again, it was very'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'provoking to find that the hedgehog had\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'unrolled itself, and was'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'in the act of crawling away: besides all\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'this, there was generally'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a ridge or furrow in the way wherever\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she wanted to send the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehog to, and, as the doubled-up\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soldiers were always'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'getting up and walking off to other parts of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the ground, Alice'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soon came to the conclusion that it was a very\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'difficult game'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'indeed.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The players all played at once without waiting\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for turns,'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'quarrelling all the while, and fighting for the hedgehogs;'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'and in\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a very short time '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the Queen'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' was in a furious'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'passion, and went\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'stamping about, and shouting \u2018Off'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'with his head!\u2019 or \u2018Off with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'her head!\u2019 about once in a'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'minute.\n'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-9-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-9-expected.png deleted file mode 100644 index e9fb53b..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-9-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-9-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-9-expected.txt deleted file mode 100644 index 55afda8..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-9-expected.txt +++ /dev/null
@@ -1,262 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [13, 520, 408, 80], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 240, 407, 139], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 180, 407, 79], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 360, 356, 39], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 460, 355, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 440, 355, 39], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 420, 355, 39], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 400, 304, 19], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "rect": [14, 383, 48, 65], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "rect": [14, 363, 48, 65], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='yellowFloat'", - "rect": [372, 243, 48, 49], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' twist itself round and'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'look up in her face, with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'such a puzzled expression that she'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'could not help bursting out\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'laughing: and when she had got its'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'head down, and was going to\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='yellowFloat'", - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'begin again, it was very'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'provoking to find that the hedgehog had\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'unrolled itself,'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'and was in the act of crawling away: besides all\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'this,'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'there was generally a ridge or furrow in the way wherever\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wanted to send the hedgehog to, and, as the doubled-up\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soldiers'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'were always getting up and walking off to other parts of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'ground, Alice soon came to the conclusion that it was a very'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'difficult game indeed.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The players all played at once without waiting'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for turns,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'quarrelling all the while, and fighting'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for the hedgehogs; and in\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a very short time '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Queen'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' was in a furious passion, and went\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'stamping'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'about, and shouting \u2018Off with his head!\u2019 or \u2018Off with'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'her head!\u2019 about once in a minute.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Alice began to feel very uneasy: to be sure, she had not as\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'yet'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'had any dispute with the Queen, but she knew that it might'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'happen any minute, \u2018and then,\u2019 thought she, \u2018what would'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'become of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'me? They\u2019re dreadfully fond of beheading people'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'here; the great\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wonder is, that there\u2018s any one left alive!\u2019'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-in-scrolled-clipped-block-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-in-scrolled-clipped-block-expected.png deleted file mode 100644 index bcd57c2c..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-in-scrolled-clipped-block-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-overflow-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-overflow-expected.txt deleted file mode 100644 index 6551aba..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/line-overflow-expected.txt +++ /dev/null
@@ -1,105 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [7, 122, 197, 99], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 82, 192, 59], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='t'", - "rect": [113, 92, 36, 49], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [113, 122, 36, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='t'", - "rect": [37, 142, 36, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [37, 142, 36, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Cras faucibus. Nunc'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'adipiscing, enim in scelerisque'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'convallis,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'augue '", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='t'", - "reason": "style change" - }, - { - "object": "InlineFlowBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'purus'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' eleifend'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'lacus, at sagittis eros leo'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'pulvinar velit. Integer'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'sollicitudin nisi ut urna blandit'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'convallis.'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/lines-with-layout-delta-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/lines-with-layout-delta-expected.txt deleted file mode 100644 index 053b1ae..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/lines-with-layout-delta-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) DIV id='target'", - "rect": [8, 58, 200, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 58, 38, 19], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) DIV id='target'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/list-marker-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/list-marker-expected.png deleted file mode 100644 index 7745e41..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/list-marker-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/list-marker-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/list-marker-expected.txt deleted file mode 100644 index 5489d20..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/list-marker-expected.txt +++ /dev/null
@@ -1,46 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x576 - LayoutBlockFlow {P} at (0,0) size 784x40 - LayoutText {#text} at (0,0) size 52x19 - text run at (0,0) width 52: "Test for " - LayoutInline {I} at (0,0) size 728x39 - LayoutInline {A} at (0,0) size 302x19 [color=#0000EE] - LayoutText {#text} at (51,0) size 302x19 - text run at (51,0) width 302: "http://bugs.webkit.org/show_bug.cgi?id=12910" - LayoutText {#text} at (352,0) size 728x39 - text run at (352,0) width 5: " " - text run at (356,0) width 372: "REGRESSION (r18756-r18765): list-bullet doesn't redraw" - text run at (0,20) width 368: "properly when changing the list's content using JavaScript" - LayoutText {#text} at (367,20) size 5x19 - text run at (367,20) width 5: "." - LayoutBlockFlow {UL} at (0,56) size 784x20 - LayoutListItem {LI} at (40,0) size 744x20 - LayoutBlockFlow (anonymous) at (0,0) size 744x20 - LayoutListMarker (anonymous) at (-18,0) size 7x19: bullet - LayoutText {#text} at (0,0) size 21x19 - text run at (0,0) width 21: "foo" - LayoutBlockFlow {DIV} at (10,30) size 724x0 - LayoutBlockFlow {UL} at (0,92) size 784x20 - LayoutListItem {LI} at (40,0) size 744x20 - LayoutBlockFlow (anonymous) at (0,0) size 744x20 - LayoutListMarker (anonymous) at (-1,0) size 7x19: bullet - LayoutText {#text} at (22,0) size 20x19 - text run at (22,0) width 20: "bar" - LayoutBlockFlow {DIV} at (10,30) size 724x0 - LayoutBlockFlow {UL} at (0,128) size 784x20 - LayoutListItem {LI} at (0,0) size 744x20 - LayoutBlockFlow (anonymous) at (0,0) size 744x20 - LayoutListMarker (anonymous) at (755,0) size 7x19: bullet - LayoutText {#text} at (723,0) size 21x19 - text run at (723,0) width 21: "foo" - LayoutBlockFlow {DIV} at (10,30) size 724x0 - LayoutBlockFlow {UL} at (0,164) size 784x20 - LayoutListItem {LI} at (0,0) size 744x20 - LayoutBlockFlow (anonymous) at (0,0) size 744x20 - LayoutListMarker (anonymous) at (738,0) size 7x19: bullet - LayoutText {#text} at (702,0) size 20x19 - text run at (702,0) width 20: "bar" - LayoutBlockFlow {DIV} at (10,30) size 724x0
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/make-children-non-inline-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/make-children-non-inline-expected.txt deleted file mode 100644 index 77eb001e..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/make-children-non-inline-expected.txt +++ /dev/null
@@ -1,353 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 64, 784, 280], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 64, 784, 100], - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 264, 784, 80], - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 264, 111, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 164, 111, 19], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 144, 80, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 144, 80, 19], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 104, 79, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 104, 79, 19], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 284, 67, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 184, 67, 19], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 324, 62, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 224, 62, 19], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 124, 45, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 124, 45, 19], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 84, 43, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 84, 43, 19], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 64, 39, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 64, 39, 19], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 304, 29, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 204, 29, 19], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [8, 164, 10, 100], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'Word,'", - "reason": "style change" - }, - { - "object": "LayoutBR BR", - "reason": "style change" - }, - { - "object": "InlineTextBox '\n'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'words,'", - "reason": "style change" - }, - { - "object": "LayoutBR BR", - "reason": "style change" - }, - { - "object": "InlineTextBox '\n'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'more words.'", - "reason": "style change" - }, - { - "object": "LayoutBR BR", - "reason": "style change" - }, - { - "object": "InlineTextBox '\n'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'I could'", - "reason": "style change" - }, - { - "object": "LayoutBR BR", - "reason": "style change" - }, - { - "object": "InlineTextBox '\n'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'write a book'", - "reason": "style change" - }, - { - "object": "LayoutBR BR", - "reason": "style change" - }, - { - "object": "InlineTextBox '\n'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'about all the stuff'", - "reason": "style change" - }, - { - "object": "LayoutBR BR", - "reason": "style change" - }, - { - "object": "InlineTextBox '\n'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'that comes'", - "reason": "style change" - }, - { - "object": "LayoutBR BR", - "reason": "style change" - }, - { - "object": "InlineTextBox '\n'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'after'", - "reason": "style change" - }, - { - "object": "LayoutBR BR", - "reason": "style change" - }, - { - "object": "InlineTextBox '\n'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'the break.'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/multi-layout-one-frame-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/multi-layout-one-frame-expected.txt deleted file mode 100644 index a8ff6ad..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/multi-layout-one-frame-expected.txt +++ /dev/null
@@ -1,67 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [168, 11, 150, 16], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [10, 11, 150, 16], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [168, 11, 53, 16], - "reason": "full" - }, - { - "object": "LayoutText #text", - "rect": [10, 11, 53, 16], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASSED'", - "reason": "full" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASSED'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/multicol-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/multicol-repaint-expected.txt deleted file mode 100644 index a15c1bd..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/multicol-repaint-expected.txt +++ /dev/null
@@ -1,84 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutMultiColumnFlowThread (anonymous)", - "rect": [9, 9, 400, 100], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='a'", - "rect": [234, 10, 300, 57], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [234, 15, 300, 50], - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "rect": [234, 15, 50, 50], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [9, 10, 13, 57], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutMultiColumnFlowThread (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u00A0'", - "reason": "geometry" - }, - { - "object": "LayoutBR BR", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='a'", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'XXXXXX'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/no-caret-repaint-in-non-content-editable-element-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/no-caret-repaint-in-non-content-editable-element-expected.png deleted file mode 100644 index cb00abd1..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/no-caret-repaint-in-non-content-editable-element-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/non-text-link-invalidation-optimization-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/non-text-link-invalidation-optimization-expected.png deleted file mode 100644 index 86ef49c..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/non-text-link-invalidation-optimization-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/non-text-link-invalidation-optimization-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/non-text-link-invalidation-optimization-expected.txt deleted file mode 100644 index a4634db4..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/non-text-link-invalidation-optimization-expected.txt +++ /dev/null
@@ -1,93 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [164, 8, 145, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [75, 8, 61, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 8, 57, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [353, 8, 52, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [136, 8, 28, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [319, 8, 24, 19], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'This test '", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox ' passes if '", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'only'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox ' text is invalidated and '", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox ' no '", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox ' images.'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/outline-clip-change-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/outline-clip-change-expected.txt deleted file mode 100644 index 9193382..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/outline-clip-change-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) A id='link' class='updated'", - "rect": [43, 103, 95, 30], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [48, 108, 86, 19], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) A id='link' class='updated'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Lorem Ipsum'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/outline-continuations-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/outline-continuations-expected.png deleted file mode 100644 index b976c8a..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/outline-continuations-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/outline-continuations-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/outline-continuations-expected.txt deleted file mode 100644 index c42ad6a4..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/outline-continuations-expected.txt +++ /dev/null
@@ -1,101 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [18, 150, 200, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [18, 110, 200, 20], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='outer'", - "rect": [16, 108, 90, 63], - "reason": "style change" - }, - { - "object": "LayoutInline SPAN id='outer'", - "rect": [16, 148, 90, 23], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [18, 150, 86, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [18, 110, 86, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='outer'", - "reason": "style change" - }, - { - "object": "InlineFlowBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'CONTENTS'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='outer'", - "reason": "style change" - }, - { - "object": "InlineFlowBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'CONTENTS'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='outer'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/overflow-delete-line-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/overflow-delete-line-expected.txt deleted file mode 100644 index 904c5dd..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/overflow-delete-line-expected.txt +++ /dev/null
@@ -1,46 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='dv'", - "rect": [8, 74, 80, 36], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 74, 72, 19], - "reason": "full" - }, - { - "object": "LayoutText #text", - "rect": [8, 74, 46, 36], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='dv'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'Lorem ipsu'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/overflow-move-after-scroll-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/overflow-move-after-scroll-expected.png deleted file mode 100644 index ffb212d..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/overflow-move-after-scroll-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/overflow-outline-repaint-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/overflow-outline-repaint-expected.png deleted file mode 100644 index 59ec7eed..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/overflow-outline-repaint-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-after-move-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-after-move-expected.png deleted file mode 100644 index b3fd2f7b..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-after-move-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-body-appear-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-body-appear-expected.png deleted file mode 100644 index a55b4c5..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-body-appear-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-body-appear-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-body-appear-expected.txt deleted file mode 100644 index 14a9f78..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-body-appear-expected.txt +++ /dev/null
@@ -1,134 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [2008, 2096], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [0, 0, 2008, 2096], - "reason": "style change" - }, - { - "object": "LayoutView #document", - "rect": [0, 585, 785, 15], - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [8, 16, 784, 2072], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow P", - "rect": [8, 52, 784, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow P", - "rect": [8, 16, 784, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [124, 52, 383, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 16, 341, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 52, 116, 19], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [785, 0, 15, 585], - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "rect": [785, 585, 15, 15], - "reason": "scroll control" - }, - { - "object": "LayoutText #text", - "rect": [507, 52, 4, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'You should see both vertical and horizontal scrollbars.'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'This is the test for '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Bug 36461 - No vertical scrollbar after the CSS class change'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '.'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-delete-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-delete-expected.png deleted file mode 100644 index 072f741..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-delete-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-delete-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-delete-expected.txt deleted file mode 100644 index 52e5e5ee..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-delete-expected.txt +++ /dev/null
@@ -1,32 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [8, 136, 44, 17], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'Passed'", - "reason": "full" - }, - { - "object": "InlineTextBox 'Test'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-local-background-text-color-change-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-local-background-text-color-change-expected.png deleted file mode 100644 index cae5dd4a7..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-local-background-text-color-change-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/paged-with-overflowing-block-rl-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/paged-with-overflowing-block-rl-expected.png deleted file mode 100644 index be9624a..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/paged-with-overflowing-block-rl-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/paint-invalidation-with-reparent-across-frame-boundaries-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/paint-invalidation-with-reparent-across-frame-boundaries-expected.png deleted file mode 100644 index 8cfb1dd..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/paint-invalidation-with-reparent-across-frame-boundaries-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/positioned-document-element-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/positioned-document-element-expected.txt deleted file mode 100644 index 15dffc82d..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/positioned-document-element-expected.txt +++ /dev/null
@@ -1,79 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#008000", - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [0, 0, 800, 600], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) HTML class='changed'", - "rect": [0, 0, 800, 52], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow P", - "rect": [8, 16, 784, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) HTML class='changed'", - "rect": [100, 100, 440, 52], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow P", - "rect": [108, 116, 424, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [108, 116, 424, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 16, 424, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) HTML class='changed'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Tests that the entire viewport is painted with a floated html element.'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/positioned-great-grandparent-change-location-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/positioned-great-grandparent-change-location-expected.txt deleted file mode 100644 index d163e791..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/positioned-great-grandparent-change-location-expected.txt +++ /dev/null
@@ -1,59 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV", - "rect": [100, 200, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV", - "rect": [100, 100, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [100, 200, 40, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [100, 100, 40, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Target'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/quotes-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/quotes-expected.txt deleted file mode 100644 index ba11e45..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/quotes-expected.txt +++ /dev/null
@@ -1,97 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 28, 784, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [17, 28, 47, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [16, 28, 47, 19], - "reason": "style change" - }, - { - "object": "LayoutTextFragment (anonymous)", - "rect": [64, 28, 9, 19], - "reason": "style change" - }, - { - "object": "LayoutTextFragment (anonymous)", - "rect": [8, 28, 9, 19], - "reason": "style change" - }, - { - "object": "LayoutTextFragment (anonymous)", - "rect": [63, 28, 8, 19], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline Q id='q2' class='q-changed'", - "reason": "style change" - }, - { - "object": "LayoutInline \u003Cpseudo:before\u003E", - "reason": "style change" - }, - { - "object": "LayoutQuote (anonymous)", - "reason": "style change" - }, - { - "object": "LayoutTextFragment (anonymous)", - "reason": "style change" - }, - { - "object": "InlineTextBox '{'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'quote 2'", - "reason": "style change" - }, - { - "object": "LayoutInline \u003Cpseudo:after\u003E", - "reason": "style change" - }, - { - "object": "LayoutQuote (anonymous)", - "reason": "style change" - }, - { - "object": "LayoutTextFragment (anonymous)", - "reason": "style change" - }, - { - "object": "InlineTextBox '}'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/reflection-redraw-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/reflection-redraw-expected.txt deleted file mode 100644 index b23b7692..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/reflection-redraw-expected.txt +++ /dev/null
@@ -1,99 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [380, 267, 286, 59], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [70, 267, 286, 59], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [305, 34, 126, 182], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [305, 377, 126, 156], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'The color of this'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'text in the reflection'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'should be green'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'The color of this'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'text in the reflection'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'should be green'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'The color of this'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'text in the reflection'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'should be green'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'The color of this'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'text in the reflection'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'should be green'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/reflection-repaint-test-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/reflection-repaint-test-expected.txt deleted file mode 100644 index 098fd3c..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/reflection-repaint-test-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [22, 50, 226, 167], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [23, 51, 72, 110], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/relative-inline-positioned-movement-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/relative-inline-positioned-movement-repaint-expected.txt deleted file mode 100644 index 0056a28..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/relative-inline-positioned-movement-repaint-expected.txt +++ /dev/null
@@ -1,63 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "rect": [8, 8, 784, 20], - "reason": "geometry" - } - ] - }, - { - "name": "LayoutInline (relative positioned) DIV id='block'", - "position": [68, 7], - "bounds": [365, 21], - "drawsContent": true, - "backfaceVisibility": "hidden", - "paintInvalidations": [ - { - "object": "LayoutInline (relative positioned) DIV id='block'", - "rect": [0, 0, 365, 21], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [1, 1, 363, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline (relative positioned) DIV id='block'", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'When this layer moves it shouldn't generate a repaint rect.'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/remove-block-after-layout-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/remove-block-after-layout-expected.txt deleted file mode 100644 index 5d0204dc..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/remove-block-after-layout-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='target'", - "rect": [8, 108, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 108, 99, 39], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='target'", - "reason": "disappeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/remove-inline-after-layout-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/remove-inline-after-layout-expected.txt deleted file mode 100644 index 9852c68..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/remove-inline-after-layout-expected.txt +++ /dev/null
@@ -1,77 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 108, 784, 105], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [112, 193, 179, 19], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [290, 108, 101, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [112, 108, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 108, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [108, 193, 4, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutInline SPAN id='target'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/remove-inline-layer-after-layout-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/remove-inline-layer-after-layout-expected.txt deleted file mode 100644 index 625c6caa..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/remove-inline-layer-after-layout-expected.txt +++ /dev/null
@@ -1,82 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 108, 784, 105], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='target'", - "rect": [112, 108, 179, 104], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [112, 193, 179, 19], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [290, 108, 101, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [112, 108, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 108, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [108, 193, 4, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutInline SPAN id='target'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.png deleted file mode 100644 index cc7f8e0..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.txt deleted file mode 100644 index d4ff02d1..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.txt +++ /dev/null
@@ -1,15 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -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 784x22 - LayoutTextControl {INPUT} at (0,0) size 154x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)] - LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow (anonymous) at (0,22) size 784x20 - LayoutText {#text} at (0,0) size 4x19 - text run at (0,0) width 4: " " - LayoutBlockFlow {DIV} at (0,42) size 784x0 -layer at (10,11) size 150x16 - LayoutBlockFlow {DIV} at (2,3) size 150x16 -caret: position 0 of child 0 {DIV} of {#document-fragment} of child 1 {INPUT} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/repaint-across-writing-mode-boundary-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/repaint-across-writing-mode-boundary-expected.png deleted file mode 100644 index 4bb20d3..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/repaint-across-writing-mode-boundary-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/repaint-across-writing-mode-boundary-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/repaint-across-writing-mode-boundary-expected.txt deleted file mode 100644 index c2444832..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/repaint-across-writing-mode-boundary-expected.txt +++ /dev/null
@@ -1,48 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [548, 191, 23, 36], - "reason": "selection" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV class='lrblock'", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV class='basic d1 vert'", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow P", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '\u7B2C\u4E00\u6BB5\u843D paragraph 1'", - "reason": "selection" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/repaint-descandant-on-ancestor-layer-move-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/repaint-descandant-on-ancestor-layer-move-expected.txt deleted file mode 100644 index 23e47b3..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/repaint-descandant-on-ancestor-layer-move-expected.txt +++ /dev/null
@@ -1,73 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) DIV", - "rect": [428, 38, 300, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='container'", - "rect": [408, 18, 300, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV", - "rect": [28, 38, 300, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='container'", - "rect": [8, 18, 300, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [428, 38, 270, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [28, 38, 270, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='container'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'There should only be one copy of this text.'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/repaint-during-scroll-with-zoom-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/repaint-during-scroll-with-zoom-expected.png deleted file mode 100644 index f02a262d..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/repaint-during-scroll-with-zoom-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/repaint-during-scroll-with-zoom-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/repaint-during-scroll-with-zoom-expected.txt deleted file mode 100644 index e294094..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/repaint-during-scroll-with-zoom-expected.txt +++ /dev/null
@@ -1,107 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#C0C0C0", - "paintInvalidations": [ - { - "object": "LayoutIFrame (positioned) IFRAME", - "rect": [2, 65, 236, 235], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutView #document", - "rect": [2, 300, 236, 15], - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [3, 65, 235, 235], - "reason": "subtree" - }, - { - "object": "LayoutView #document", - "rect": [3, 65, 235, 235], - "reason": "subtree" - }, - { - "object": "LayoutView #document", - "rect": [3, 300, 235, 15], - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow HTML", - "rect": [3, 65, 225, 235], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [3, 65, 55, 17], - "reason": "subtree" - }, - { - "object": "LayoutView #document", - "rect": [237, 65, 16, 235], - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "rect": [237, 300, 16, 15], - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "rect": [238, 65, 15, 235], - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "rect": [238, 300, 15, 15], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutIFrame (positioned) IFRAME", - "reason": "invalidate paint rectangle" - }, - { - "object": "HorizontalScrollbar", - "reason": "scroll control" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow HTML", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'scroll me'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/repaint-resized-overflow-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/repaint-resized-overflow-expected.txt deleted file mode 100644 index d728e04..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/repaint-resized-overflow-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 212, 784, 52], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='s'", - "rect": [8, 208, 108, 56], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='s'", - "reason": "incremental" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/resize-iframe-text-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/resize-iframe-text-expected.png deleted file mode 100644 index 35c93a4..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/resize-iframe-text-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/resize-scrollable-div-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/resize-scrollable-div-expected.png deleted file mode 100644 index 1441421..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/resize-scrollable-div-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/resize-scrollable-iframe-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/resize-scrollable-iframe-expected.png deleted file mode 100644 index 371454f3..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/resize-scrollable-iframe-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/scale-page-shrink-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/scale-page-shrink-expected.png deleted file mode 100644 index eeb42b8a..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/scale-page-shrink-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/scroll-descendant-with-cached-cliprects-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/scroll-descendant-with-cached-cliprects-expected.txt deleted file mode 100644 index 97d288d..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/scroll-descendant-with-cached-cliprects-expected.txt +++ /dev/null
@@ -1,103 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 1895], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='scrollpanel'", - "rect": [677, 252, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='container'", - "rect": [677, 252, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='ul'", - "rect": [677, 252, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [677, 252, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='container'", - "rect": [677, 52, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='ul'", - "rect": [677, 52, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [677, 52, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='scrollpanel'", - "rect": [677, 52, 100, 100], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='scrollpanel'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='container'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='ul'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='scrollpanel'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='container'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='ul'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='scrollpanel'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='container'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='ul'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/scroll-stacking-context-backface-visiblity-leaves-traces-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/scroll-stacking-context-backface-visiblity-leaves-traces-expected.txt deleted file mode 100644 index 50e595a43..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/scroll-stacking-context-backface-visiblity-leaves-traces-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 5056], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutBlockFlow (relative positioned) HEADER", - "position": [8, 28], - "bounds": [769, 1972], - "drawsContent": true, - "backfaceVisibility": "hidden", - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='searchbar'", - "rect": [10, 1822, 150, 150], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='recentlink'", - "rect": [10, 1822, 150, 150], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='searchbar'", - "rect": [10, 1422, 150, 150], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='recentlink'", - "rect": [10, 1422, 150, 150], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='searchbar'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='recentlink'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/scrollbar-damage-and-full-viewport-repaint-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/scrollbar-damage-and-full-viewport-repaint-expected.png deleted file mode 100644 index 6970048..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/scrollbar-damage-and-full-viewport-repaint-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/scrollbar-invalidation-on-resize-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/scrollbar-invalidation-on-resize-expected.png deleted file mode 100644 index 414573c..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/scrollbar-invalidation-on-resize-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/scrollbar-invalidation-on-resize-with-border-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/scrollbar-invalidation-on-resize-with-border-expected.png deleted file mode 100644 index 6791f112..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/scrollbar-invalidation-on-resize-with-border-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/search-field-cancel-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/search-field-cancel-expected.txt deleted file mode 100644 index a446edbb..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/search-field-cancel-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [11, 47, 137, 16], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [11, 47, 58, 16], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'some text'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selected-replaced-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selected-replaced-expected.png deleted file mode 100644 index 08c4eb0..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selected-replaced-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-after-delete-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-after-delete-expected.png deleted file mode 100644 index 16a63c9..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-after-delete-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-after-delete-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-after-delete-expected.txt deleted file mode 100644 index de3175bc..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-after-delete-expected.txt +++ /dev/null
@@ -1,351 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [39, 79, 154, 99], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='test'", - "rect": [38, 78, 152, 102], - "reason": "geometry" - } - ], - "underPaintInvalidations": [ - { - "x": 194, - "y": 79, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 80, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 81, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 82, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 83, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 84, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 85, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 86, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 87, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 88, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 89, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 90, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 91, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 92, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 93, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 94, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 95, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 96, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 97, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 98, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 99, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 100, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 101, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 102, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 103, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 104, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 105, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 106, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 107, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 108, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 109, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 110, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 111, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 112, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 113, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 114, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 115, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 116, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 117, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 118, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 119, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 120, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 121, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 122, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 123, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 124, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 125, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 126, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 127, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 128, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='test'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutBR BR", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-after-remove-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-after-remove-expected.png deleted file mode 100644 index 7d60dd8d..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-after-remove-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-after-remove-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-after-remove-expected.txt deleted file mode 100644 index cbd44f10..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-after-remove-expected.txt +++ /dev/null
@@ -1,382 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [39, 79, 154, 99], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='test'", - "rect": [38, 78, 152, 102], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [70, 158, 42, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [74, 79, 38, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [39, 79, 35, 19], - "reason": "geometry" - } - ], - "underPaintInvalidations": [ - { - "x": 194, - "y": 79, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 80, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 81, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 82, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 83, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 84, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 85, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 86, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 87, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 88, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 89, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 90, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 91, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 92, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 93, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 94, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 95, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 96, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 97, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 98, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 99, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 100, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 101, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 102, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 103, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 104, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 105, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 106, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 107, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 108, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 109, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 110, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 111, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 112, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 113, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 114, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 115, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 116, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 117, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 118, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 119, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 120, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 121, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 122, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 123, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 124, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 125, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 126, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 127, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - }, - { - "x": 194, - "y": 128, - "oldPixel": "#3333FF", - "newPixel": "#FFFFFF" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutInline SPAN id='removeme'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='test'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hello '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'world'", - "reason": "geometry" - }, - { - "object": "LayoutBR BR", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-clear-after-move-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-clear-after-move-expected.png deleted file mode 100644 index d75f935..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-clear-after-move-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-clear-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-clear-expected.txt deleted file mode 100644 index 42c39f9..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-clear-expected.txt +++ /dev/null
@@ -1,105 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='firstLine'", - "rect": [8, 8, 100, 200], - "reason": "full" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 208, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='root'", - "rect": [8, 208, 100, 100], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 108, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 48, 97, 119], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 48, 8, 19], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV id='root'", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='root'", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV id='firstLine'", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox '\u00A0'", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBR BR", - "reason": "selection" - }, - { - "object": "InlineTextBox '\n'", - "reason": "selection" - }, - { - "object": "LayoutBR BR", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-partial-invalidation-between-blocks-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-partial-invalidation-between-blocks-expected.png deleted file mode 100644 index 2c4b5c6..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-partial-invalidation-between-blocks-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-partial-invalidation-between-blocks-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-partial-invalidation-between-blocks-expected.txt deleted file mode 100644 index 4f83d75..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-partial-invalidation-between-blocks-expected.txt +++ /dev/null
@@ -1,61 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [11, 35, 77, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [11, 11, 58, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutTable TABLE", - "reason": "selection" - }, - { - "object": "LayoutTableCell TD id='firstCell'", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'First cell'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD id='secondCell'", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Second cell'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-rl-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-rl-expected.png deleted file mode 100644 index c69da74..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-rl-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-rl-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-rl-expected.txt deleted file mode 100644 index b2ab127..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection-rl-expected.txt +++ /dev/null
@@ -1,36 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [773, 38, 19, 83], - "reason": "selection" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox 'Testing both hit testing'", - "reason": "selection" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-expected.txt deleted file mode 100644 index 7629349..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-expected.txt +++ /dev/null
@@ -1,44 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [8, 8, 48, 33], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV id='container'", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'xx'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'y'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-rtl-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-rtl-expected.txt deleted file mode 100644 index d3b455e6..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-rtl-expected.txt +++ /dev/null
@@ -1,44 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [-8, 8, 48, 33], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV id='container'", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'xx'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'y'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-lr-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-lr-expected.txt deleted file mode 100644 index b7355d9a0..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-lr-expected.txt +++ /dev/null
@@ -1,44 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [8, 8, 33, 48], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV id='container'", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'xx'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'y'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-rl-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-rl-expected.txt deleted file mode 100644 index 7bf4046..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-rl-expected.txt +++ /dev/null
@@ -1,44 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [7, 8, 33, 48], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV id='container'", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'xx'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'y'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt deleted file mode 100644 index 26bf4d9..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt +++ /dev/null
@@ -1,62 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='target'", - "rect": [7, 7, 66, 24], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [10, 11, 60, 16], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [10, 11, 60, 16], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutTextControl INPUT id='target'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "HorizontalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'test test test'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/shadow-multiple-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/shadow-multiple-expected.png deleted file mode 100644 index 8ebff79..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/shadow-multiple-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/shadow-multiple-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/shadow-multiple-expected.txt deleted file mode 100644 index cfcc12d..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/shadow-multiple-expected.txt +++ /dev/null
@@ -1,12 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,20) size 784x480 - LayoutBlockFlow {DIV} at (20,0) size 744x57 - LayoutInline {SPAN} at (0,0) size 290x55 - LayoutText {#text} at (0,1) size 290x55 - text run at (0,1) width 290: " multiple " - LayoutText {#text} at (290,1) size 307x55 - text run at (290,1) width 307: " shadows " - LayoutBlockFlow {DIV} at (100,157) size 100x100
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.png deleted file mode 100644 index bfcc558..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.txt deleted file mode 100644 index 3feb1fb9..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.txt +++ /dev/null
@@ -1,28 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [1059, 585], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [10, 72, 836, 190], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'Col 1'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/stacked-diacritics-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/stacked-diacritics-expected.txt deleted file mode 100644 index f1346a19..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/stacked-diacritics-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='stacked'", - "rect": [19, 167, 200, 43], - "reason": "full" - }, - { - "object": "LayoutText #text", - "rect": [19, 168, 130, 41], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='stacked'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.png deleted file mode 100644 index 7a19add8..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.txt deleted file mode 100644 index dc1edd0..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [10, 11, 150, 16], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [10, 11, 35, 16], - "reason": "full" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='div'", - "rect": [8, 288, 10, 20], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "full" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='div'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/absolute-sized-content-with-resources-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/absolute-sized-content-with-resources-expected.png deleted file mode 100644 index 20fd136..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/absolute-sized-content-with-resources-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/animated-path-inside-transformed-html-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/animated-path-inside-transformed-html-expected.png deleted file mode 100644 index 41911ac..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/animated-path-inside-transformed-html-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/animated-path-inside-transformed-html-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/animated-path-inside-transformed-html-expected.txt deleted file mode 100644 index 47e7b2f..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/animated-path-inside-transformed-html-expected.txt +++ /dev/null
@@ -1,80 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#FFFFFF", - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [203, 336, 126, 45], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text id='text'", - "rect": [203, 336, 126, 45], - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [246, 106, 124, 28], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text id='text'", - "rect": [246, 106, 124, 28], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [354, 127, 105, 102], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [111, 84, 101, 102], - "reason": "full" - }, - { - "object": "LayoutSVGImage image id='image'", - "rect": [352, 397, 98, 99], - "reason": "full" - }, - { - "object": "LayoutSVGImage image id='image'", - "rect": [90, 208, 98, 98], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "full" - }, - { - "object": "LayoutSVGText text id='text'", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'This is some text'", - "reason": "geometry" - }, - { - "object": "LayoutSVGImage image id='image'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-expected.png deleted file mode 100644 index 86ad1757..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-no-fixed-intrinsic-size-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-no-fixed-intrinsic-size-expected.png deleted file mode 100644 index 6887d2fa7..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-no-fixed-intrinsic-size-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-same-image-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-same-image-expected.png deleted file mode 100644 index 86ad1757..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-same-image-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/append-text-node-to-tspan-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/append-text-node-to-tspan-expected.png deleted file mode 100644 index fba000b..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/append-text-node-to-tspan-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/circle-move-invalidation-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/circle-move-invalidation-expected.png deleted file mode 100644 index 53edc38..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/circle-move-invalidation-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/embedded-svg-size-changes-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/embedded-svg-size-changes-expected.png deleted file mode 100644 index a366e42..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/embedded-svg-size-changes-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/ems-display-none-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/ems-display-none-expected.png deleted file mode 100644 index 657ecd8..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/ems-display-none-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/ems-display-none-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/ems-display-none-expected.txt deleted file mode 100644 index b8cc40b..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/ems-display-none-expected.txt +++ /dev/null
@@ -1,102 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "rect": [50, 54, 572, 86], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [50, 54, 572, 86], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [50, 54, 572, 86], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [50, 54, 572, 86], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [50, 54, 572, 86], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan id='tspan'", - "rect": [50, 54, 572, 86], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='text'", - "rect": [50, 54, 572, 86], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='text'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan id='tspan'", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Two lines of text should be visible.'", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox ' '", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Two lines of text should be visible.'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/exs-display-none-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/exs-display-none-expected.png deleted file mode 100644 index 9c7f510..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/exs-display-none-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/exs-display-none-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/exs-display-none-expected.txt deleted file mode 100644 index ca2788f..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/exs-display-none-expected.txt +++ /dev/null
@@ -1,102 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "rect": [50, 50, 572, 82], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [50, 50, 572, 82], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [50, 50, 572, 82], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [50, 50, 572, 82], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [50, 50, 572, 82], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan id='tspan'", - "rect": [50, 50, 572, 82], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='text'", - "rect": [50, 50, 572, 82], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='text'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan id='tspan'", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Two lines of text should be visible.'", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox ' '", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Two lines of text should be visible.'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/filter-repaint-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/filter-repaint-expected.png deleted file mode 100644 index 74ef382..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/filter-repaint-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/filter-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/filter-repaint-expected.txt deleted file mode 100644 index 8620d72..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/filter-repaint-expected.txt +++ /dev/null
@@ -1,59 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 400x400 - LayoutSVGRoot {svg} at (0,0) size 400x400 - LayoutSVGHiddenContainer {defs} at (0,0) size 0x0 - LayoutSVGResourceFilter {filter} [id="over"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox] - [feComposite operation="OVER"] - [feFlood flood-color="#0000FF" flood-opacity="0.50"] - [feFlood flood-color="#FF0000" flood-opacity="0.50"] - LayoutSVGResourceFilter {filter} [id="in"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox] - [feComposite operation="IN"] - [feFlood flood-color="#0000FF" flood-opacity="0.50"] - [feFlood flood-color="#FF0000" flood-opacity="0.50"] - LayoutSVGResourceFilter {filter} [id="out"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox] - [feComposite operation="OUT"] - [feFlood flood-color="#0000FF" flood-opacity="0.50"] - [feFlood flood-color="#FF0000" flood-opacity="0.50"] - LayoutSVGResourceFilter {filter} [id="atop"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox] - [feComposite operation="ATOP"] - [feFlood flood-color="#0000FF" flood-opacity="0.50"] - [feFlood flood-color="#FF0000" flood-opacity="0.50"] - LayoutSVGResourceFilter {filter} [id="xor"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox] - [feComposite operation="XOR"] - [feFlood flood-color="#0000FF" flood-opacity="0.50"] - [feFlood flood-color="#FF0000" flood-opacity="0.50"] - LayoutSVGResourceFilter {filter} [id="arithmetic"] [filterUnits=objectBoundingBox] [primitiveUnits=objectBoundingBox] - [feComposite operation="ARITHMETIC" k1="0.50" k2="0.50" k3="0.50" k4="0.50"] - [feFlood flood-color="#0000FF" flood-opacity="0.50"] - [feFlood flood-color="#FF0000" flood-opacity="0.20"] - LayoutSVGRect {rect} at (10,10) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=10.00] [y=10.00] [width=50.00] [height=50.00] - [filter="over"] LayoutSVGResourceFilter {filter} at (10,10) size 50x50 - LayoutSVGText {text} at (10,75) size 29x19 contains 1 chunk(s) - LayoutSVGInlineText {#text} at (10,75) size 29x19 - chunk 1 text run 1 at (10.00,90.00) startOffset 0 endOffset 4 width 28.00: "over" - LayoutSVGRect {rect} at (70,10) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=70.00] [y=10.00] [width=50.00] [height=50.00] - [filter="in"] LayoutSVGResourceFilter {filter} at (70,10) size 50x50 - LayoutSVGText {text} at (70,75) size 12x19 contains 1 chunk(s) - LayoutSVGInlineText {#text} at (70,75) size 12x19 - chunk 1 text run 1 at (70.00,90.00) startOffset 0 endOffset 2 width 12.00: "in" - LayoutSVGRect {rect} at (130,10) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=130.00] [y=10.00] [width=50.00] [height=50.00] - [filter="out"] LayoutSVGResourceFilter {filter} at (130,10) size 50x50 - LayoutSVGText {text} at (130,75) size 21x19 contains 1 chunk(s) - LayoutSVGInlineText {#text} at (130,75) size 21x19 - chunk 1 text run 1 at (130.00,90.00) startOffset 0 endOffset 3 width 20.00: "out" - LayoutSVGRect {rect} at (10,110) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=10.00] [y=110.00] [width=50.00] [height=50.00] - [filter="atop"] LayoutSVGResourceFilter {filter} at (10,110) size 50x50 - LayoutSVGText {text} at (10,175) size 27x19 contains 1 chunk(s) - LayoutSVGInlineText {#text} at (10,175) size 27x19 - chunk 1 text run 1 at (10.00,190.00) startOffset 0 endOffset 4 width 27.00: "atop" - LayoutSVGRect {rect} at (70,110) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=70.00] [y=110.00] [width=50.00] [height=50.00] - [filter="xor"] LayoutSVGResourceFilter {filter} at (70,110) size 50x50 - LayoutSVGText {text} at (70,175) size 22x19 contains 1 chunk(s) - LayoutSVGInlineText {#text} at (70,175) size 22x19 - chunk 1 text run 1 at (70.00,190.00) startOffset 0 endOffset 3 width 21.00: "xor" - LayoutSVGRect {rect} at (130,110) size 50x50 [fill={[type=SOLID] [color=#000000]}] [x=130.00] [y=110.00] [width=50.00] [height=50.00] - [filter="arithmetic"] LayoutSVGResourceFilter {filter} at (130,110) size 50x50 - LayoutSVGText {text} at (130,175) size 62x19 contains 1 chunk(s) - LayoutSVGInlineText {#text} at (130,175) size 62x19 - chunk 1 text run 1 at (130.00,190.00) startOffset 0 endOffset 10 width 62.00: "arithmetic"
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/filter-width-update-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/filter-width-update-expected.png deleted file mode 100644 index 512499e..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/filter-width-update-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/foreignObject-crash-on-hover-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/foreignObject-crash-on-hover-expected.png deleted file mode 100644 index 3955477..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/foreignObject-crash-on-hover-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/hit-test-unclosed-subpaths-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/hit-test-unclosed-subpaths-expected.png deleted file mode 100644 index 7545ed6..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/hit-test-unclosed-subpaths-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/hit-test-with-br-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/hit-test-with-br-expected.png deleted file mode 100644 index e019d6f..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/hit-test-with-br-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/inner-svg-change-viewPort-relative-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/inner-svg-change-viewPort-relative-expected.png deleted file mode 100644 index df4b377..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/inner-svg-change-viewPort-relative-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/inner-svg-change-viewPort-relative-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/inner-svg-change-viewPort-relative-expected.txt deleted file mode 100644 index 5b7716c..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/inner-svg-change-viewPort-relative-expected.txt +++ /dev/null
@@ -1,111 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 200, 200], - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='inner'", - "rect": [0, 0, 200, 200], - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [93, 85, 107, 19], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text", - "rect": [93, 85, 107, 19], - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 85, 101, 19], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 85, 101, 19], - "reason": "full" - }, - { - "object": "LayoutSVGContainer use", - "rect": [180, 120, 20, 20], - "reason": "full" - }, - { - "object": "LayoutSVGPath polygon id='triangle'", - "rect": [180, 120, 20, 20], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [180, 60, 20, 20], - "reason": "full" - }, - { - "object": "LayoutSVGContainer use", - "rect": [80, 120, 20, 20], - "reason": "full" - }, - { - "object": "LayoutSVGPath polygon id='triangle'", - "rect": [80, 120, 20, 20], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [80, 60, 20, 20], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGViewportContainer svg id='inner'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "full" - }, - { - "object": "LayoutSVGText text", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'right-aligned text'", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "reason": "full" - }, - { - "object": "LayoutSVGPath polygon id='triangle'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-clipPath-and-object-creation-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-clipPath-and-object-creation-expected.png deleted file mode 100644 index 931c320..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-clipPath-and-object-creation-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-clipPath-creation-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-clipPath-creation-expected.png deleted file mode 100644 index 931c320..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-clipPath-creation-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.png deleted file mode 100644 index b3ee172c..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.txt deleted file mode 100644 index ce91d8f..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.txt +++ /dev/null
@@ -1,122 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g id='content'", - "rect": [0, 15, 757, 364], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 247, 757, 132], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 247, 757, 132], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 130, 595, 133], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 130, 595, 133], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 15, 447, 129], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 15, 447, 129], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGResourceLinearGradient linearGradient id='fillLinearGradient'", - "reason": "appeared" - }, - { - "object": "LayoutSVGGradientStop stop", - "reason": "appeared" - }, - { - "object": "LayoutSVGGradientStop stop", - "reason": "appeared" - }, - { - "object": "LayoutSVGResourceLinearGradient linearGradient id='strokeLinearGradient'", - "reason": "appeared" - }, - { - "object": "LayoutSVGGradientStop stop", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Gradient on fill'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Gradient on stroke'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Gradient on fill/stroke'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-creation-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-creation-expected.png deleted file mode 100644 index 3e7fce2..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-creation-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.png deleted file mode 100644 index 95eaf4b6..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.txt deleted file mode 100644 index f70cd7f..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.txt +++ /dev/null
@@ -1,146 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g id='content'", - "rect": [0, 15, 681, 364], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 247, 681, 132], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 247, 681, 132], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 130, 519, 133], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 130, 519, 133], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 15, 371, 129], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 15, 371, 129], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [16, 16, 18, 18], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [16, 16, 18, 18], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [8, 8, 17, 17], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [8, 8, 17, 17], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGResourcePattern pattern id='fillPattern'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGResourcePattern pattern id='strokePattern'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Pattern on fill'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Pattern on stroke'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Pattern on fill/stroke'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-creation-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-creation-expected.png deleted file mode 100644 index ccfa7a9..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-creation-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-stop-linked-gradient-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-stop-linked-gradient-expected.png deleted file mode 100644 index a088fcc..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-stop-linked-gradient-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/modify-text-node-in-tspan-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/modify-text-node-in-tspan-expected.png deleted file mode 100644 index fba000b..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/modify-text-node-in-tspan-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/nested-embedded-svg-size-changes-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/nested-embedded-svg-size-changes-expected.png deleted file mode 100644 index 0dc9b81..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/nested-embedded-svg-size-changes-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/paintorder-filtered-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/paintorder-filtered-expected.png deleted file mode 100644 index 711e7f7..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/paintorder-filtered-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-expected.png deleted file mode 100644 index ef5c8ae..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-with-resources-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-with-resources-expected.png deleted file mode 100644 index b339c41..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-with-resources-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-deep-shadow-tree-content-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-deep-shadow-tree-content-expected.png deleted file mode 100644 index 4b3c325..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-deep-shadow-tree-content-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-image-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-image-expected.png deleted file mode 100644 index fe57f0a..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-image-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-inner-svg-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-inner-svg-expected.png deleted file mode 100644 index 7bc04da8..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-inner-svg-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content-expected.png deleted file mode 100644 index b541f63..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content-with-symbol-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content-with-symbol-expected.png deleted file mode 100644 index 8a9d3d5..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content-with-symbol-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-on-symbol-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-on-symbol-expected.png deleted file mode 100644 index f358fbc..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-on-symbol-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-without-attributes-on-symbol-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-without-attributes-on-symbol-expected.png deleted file mode 100644 index 7bc04da8..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-without-attributes-on-symbol-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/remove-text-node-from-tspan-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/remove-text-node-from-tspan-expected.png deleted file mode 100644 index 3330509..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/remove-text-node-from-tspan-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/remove-tspan-from-text-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/remove-tspan-from-text-expected.png deleted file mode 100644 index f1a5360..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/remove-tspan-from-text-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-non-scaling-stroke-text-decoration-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-non-scaling-stroke-text-decoration-expected.txt deleted file mode 100644 index 1273d94..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-non-scaling-stroke-text-decoration-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "rect": [9, 13, 48, 28], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [9, 13, 48, 28], - "reason": "style change" - }, - { - "object": "LayoutSVGText text id='t'", - "rect": [9, 13, 48, 28], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "reason": "geometry" - }, - { - "object": "LayoutSVGText text id='t'", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'Hello'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-non-scaling-stroke-text-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-non-scaling-stroke-text-expected.txt deleted file mode 100644 index 1273d94..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-non-scaling-stroke-text-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "rect": [9, 13, 48, 28], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [9, 13, 48, 28], - "reason": "style change" - }, - { - "object": "LayoutSVGText text id='t'", - "rect": [9, 13, 48, 28], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "reason": "geometry" - }, - { - "object": "LayoutSVGText text id='t'", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'Hello'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png deleted file mode 100644 index 7716315..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.txt deleted file mode 100644 index e293384..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.txt +++ /dev/null
@@ -1,106 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [1026, 1036], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow P", - "rect": [24, 1011, 737, 21], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [179, 1012, 202, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [435, 1012, 171, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline A", - "rect": [385, 1011, 46, 21], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [386, 1012, 44, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [429, 1012, 7, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [380, 1012, 7, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'pservers-pattern-01-b \u2190'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutInline A", - "reason": "style change" - }, - { - "object": "InlineFlowBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'index'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u2192 script-handle-01-b'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/svg-background-partial-redraw-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/svg-background-partial-redraw-expected.png deleted file mode 100644 index ec01d59..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/svg-background-partial-redraw-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/svg-image-change-content-size-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/svg-image-change-content-size-expected.png deleted file mode 100644 index 6ba1b7a..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/svg-image-change-content-size-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/tabgroup-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/tabgroup-expected.png deleted file mode 100644 index 36c4899..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/tabgroup-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/tabgroup-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/tabgroup-expected.txt deleted file mode 100644 index df37f3b..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/tabgroup-expected.txt +++ /dev/null
@@ -1,2186 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGPath path", - "rect": [389, 37, 316, 82], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [389, 37, 316, 82], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [389, 37, 316, 82], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [389, 37, 316, 82], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [390, 38, 314, 80], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [390, 38, 314, 80], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [390, 38, 314, 80], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [390, 38, 314, 80], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [390, 38, 314, 80], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRound'", - "rect": [390, 38, 314, 80], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [262, 278, 303, 303], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [262, 278, 303, 303], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [262, 278, 303, 303], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [262, 278, 303, 303], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [263, 279, 301, 301], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [263, 279, 301, 301], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [263, 279, 301, 301], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [263, 279, 301, 301], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [263, 279, 301, 301], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectRound'", - "rect": [263, 279, 301, 301], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [506, 232, 238, 161], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [506, 232, 238, 161], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [506, 232, 238, 161], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [506, 232, 238, 161], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [6, 256, 238, 160], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [6, 256, 238, 160], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [6, 256, 238, 160], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [6, 256, 238, 160], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [507, 233, 236, 159], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [507, 233, 236, 159], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [507, 233, 236, 159], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [507, 233, 236, 159], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [507, 233, 236, 159], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectTriangle'", - "rect": [507, 233, 236, 159], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [7, 257, 236, 158], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [7, 257, 236, 158], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [7, 257, 236, 158], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [7, 257, 236, 158], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [7, 257, 236, 158], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupTriangle'", - "rect": [7, 257, 236, 158], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupTriangle__0_content'", - "rect": [15, 291, 211, 37], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [15, 291, 211, 37], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [15, 291, 211, 37], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [15, 291, 211, 37], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [15, 291, 211, 37], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [15, 291, 211, 37], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='contentTabGroupTriangle0'", - "rect": [15, 291, 211, 37], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [31, 404, 188, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [23, 146, 188, 10], - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [37, 404, 176, 98], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [29, 147, 176, 97], - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [39, 404, 172, 96], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [31, 146, 172, 96], - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [37, 6, 160, 238], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [37, 6, 160, 238], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [37, 6, 160, 238], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [37, 6, 160, 238], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [38, 7, 158, 236], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [38, 7, 158, 236], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [38, 7, 158, 236], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [38, 7, 158, 236], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [38, 7, 158, 236], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRect'", - "rect": [38, 7, 158, 236], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [15, 291, 151, 25], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [15, 291, 151, 25], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [15, 291, 151, 25], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [15, 291, 151, 25], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [7, 33, 151, 25], - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [7, 33, 151, 25], - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [7, 33, 151, 25], - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "rect": [7, 33, 151, 25], - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectTriangle__0'", - "rect": [506, 232, 68, 20], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRound__0'", - "rect": [389, 37, 68, 20], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__1'", - "rect": [61, 256, 67, 31], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectRound__0'", - "rect": [362, 278, 66, 66], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectRound__1'", - "rect": [415, 332, 64, 63], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectTriangle__1'", - "rect": [570, 232, 64, 20], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRound__1'", - "rect": [453, 37, 64, 20], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__0'", - "rect": [6, 256, 58, 31], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__2'", - "rect": [125, 256, 57, 31], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [66, 257, 57, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [66, 257, 57, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [66, 257, 57, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [66, 257, 57, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [66, 257, 57, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [511, 234, 57, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [511, 234, 57, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [511, 234, 57, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [394, 38, 57, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [394, 38, 57, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [394, 38, 57, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectRound__3'", - "rect": [506, 422, 54, 55], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [575, 234, 53, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [575, 234, 53, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [575, 234, 53, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [458, 38, 53, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [458, 38, 53, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [458, 38, 53, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectRound__2'", - "rect": [466, 382, 52, 53], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRound__3'", - "rect": [557, 37, 52, 20], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [370, 285, 51, 51], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [370, 285, 51, 51], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [370, 285, 51, 51], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectTriangle__3'", - "rect": [675, 232, 51, 20], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [423, 339, 49, 48], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [423, 339, 49, 48], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [423, 339, 49, 48], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [11, 257, 48, 29], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [11, 257, 48, 29], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [11, 257, 48, 29], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [11, 257, 48, 29], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [11, 257, 48, 29], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectTriangle__2'", - "rect": [630, 232, 48, 20], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRound__2'", - "rect": [513, 37, 48, 20], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [130, 257, 47, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [130, 257, 47, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [130, 257, 47, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [130, 257, 47, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [130, 257, 47, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__3'", - "rect": [179, 256, 42, 31], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [680, 234, 41, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [680, 234, 41, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [680, 234, 41, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [563, 38, 41, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [563, 38, 41, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [563, 38, 41, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [514, 429, 40, 40], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [514, 429, 40, 40], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [514, 429, 40, 40], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [474, 389, 38, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [474, 389, 38, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [474, 389, 38, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [635, 234, 38, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [635, 234, 38, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [635, 234, 38, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [518, 38, 38, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [518, 38, 38, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [518, 38, 38, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [184, 257, 32, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [184, 257, 32, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [184, 257, 32, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [184, 257, 32, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [184, 257, 32, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGPath path id='tabgroupRect__0'", - "rect": [178, 6, 19, 68], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRect__1'", - "rect": [178, 70, 19, 64], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRect__3'", - "rect": [178, 175, 19, 51], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRect__2'", - "rect": [178, 130, 19, 48], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [180, 11, 16, 57], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [180, 11, 16, 57], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [180, 11, 16, 57], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [180, 75, 16, 53], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [180, 75, 16, 53], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [180, 75, 16, 53], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [180, 180, 16, 41], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [180, 180, 16, 41], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [180, 180, 16, 41], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [180, 135, 16, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [180, 135, 16, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [180, 135, 16, 38], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGPath path", - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRect__1'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRect__1_content'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Geodata'", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Browser'", - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Download'", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Folder'", - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Your'", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Account'", - "reason": "subtree" - }, - { - "object": "LayoutSVGPath path", - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__0'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGHiddenContainer g id='tabgroupTriangle__0_content'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Help'", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox '& Info'", - "reason": "subtree" - }, - { - "object": "LayoutSVGPath path", - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectTriangle__2'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectTriangle__2_content'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRound__1'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRound__1_content'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectRound__0'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectRound__0_content'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGHiddenContainer g id='oversizeContent'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__0'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupTriangle__0_content'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRect'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRect__0'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Biography'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRect__0_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRect__2'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Events'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRect__2_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRect__3'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Portrait'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRect__3_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRect__1'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Relations'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRect__1_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupTriangle'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__1'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Download'", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Folder'", - "reason": "subtree" - }, - { - "object": "LayoutSVGHiddenContainer g id='tabgroupTriangle__1_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGHiddenContainer g id='oversizeContent'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'This is oversize content that can be'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'hidden on tab-change'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__2'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Your'", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Account'", - "reason": "subtree" - }, - { - "object": "LayoutSVGHiddenContainer g id='tabgroupTriangle__2_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__3'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Help'", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox '& Info'", - "reason": "subtree" - }, - { - "object": "LayoutSVGHiddenContainer g id='tabgroupTriangle__3_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__0'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Geodata'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Browser'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupTriangle__0_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='contentTabGroupTriangle0'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'This is a tabgroup with triangular tab corners'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'and a double line tab. (use \"\\n\" as a line separator)'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Click on the second tab to see oversize content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectTriangle'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectTriangle__0'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Biography'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectTriangle__0_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectTriangle__1'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Relations'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectTriangle__1_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectTriangle__3'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Portrait'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectTriangle__3_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectTriangle__2'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Events'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectTriangle__2_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRound'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRound__0'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Biography'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRound__0_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRound__2'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Events'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRound__2_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRound__3'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Portrait'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRound__3_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRound__1'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Relations'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRound__1_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectRound'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectRound__1'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Relations'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectRound__1_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectRound__2'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Events'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectRound__2_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectRound__3'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Portrait'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectRound__3_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectRound__0'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Biography'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectRound__0_content'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-dom-removal-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-dom-removal-expected.txt deleted file mode 100644 index d837cf18..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-dom-removal-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g id='objectsToRemove'", - "rect": [0, 0, 212, 129], - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [50, 110, 162, 19], - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "rect": [50, 110, 162, 19], - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 20, 20], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='objectsToRemove'", - "reason": "disappeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-mask-update-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-mask-update-expected.png deleted file mode 100644 index 8f4b5c8..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-mask-update-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-mask-update-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-mask-update-expected.txt deleted file mode 100644 index e55b57d..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-mask-update-expected.txt +++ /dev/null
@@ -1,77 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 3, 46, 22], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [10, 3, 46, 22], - "reason": "style change" - }, - { - "object": "LayoutSVGText text id='text1'", - "rect": [10, 3, 46, 22], - "reason": "style change" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 33, 43, 22], - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text id='text2'", - "rect": [10, 33, 43, 22], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "rect": [10, 33, 43, 17], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text id='text1'", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='text2'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "style change" - }, - { - "object": "LayoutSVGRect rect", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-repaint-including-stroke-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-repaint-including-stroke-expected.png deleted file mode 100644 index 60611653..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-repaint-including-stroke-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-repaint-including-stroke-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-repaint-including-stroke-expected.txt deleted file mode 100644 index d6cb3420..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-repaint-including-stroke-expected.txt +++ /dev/null
@@ -1,67 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [80, 0, 553, 117], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text id='bounce'", - "rect": [80, 0, 553, 117], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [30, 0, 404, 59], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text id='bounce'", - "rect": [30, 0, 404, 59], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGText text id='bounce'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Repaint me!'", - "reason": "subtree" - }, - { - "object": "LayoutSVGText text id='bounce'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Repaint me!'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-rescale-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-rescale-expected.png deleted file mode 100644 index 97a5747..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-rescale-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-rescale-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-rescale-expected.txt deleted file mode 100644 index 7fb4946..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-rescale-expected.txt +++ /dev/null
@@ -1,424 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g id='text2g'", - "rect": [0, 63, 402, 100], - "reason": "full" - }, - { - "object": "LayoutSVGContainer g id='text1g'", - "rect": [0, 13, 402, 100], - "reason": "subtree" - }, - { - "object": "LayoutSVGContainer g id='text3g'", - "rect": [0, 113, 402, 87], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 114, 193, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 114, 193, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 114, 193, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [0, 114, 193, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 114, 193, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 14, 193, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 14, 193, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 14, 193, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [0, 14, 193, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 14, 193, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGForeignObject foreignObject", - "rect": [210, 13, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutSVGForeignObject foreignObject", - "rect": [210, 113, 100, 87], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "rect": [210, 113, 100, 48], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "rect": [210, 13, 100, 48], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [310, 114, 92, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [310, 114, 92, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGViewportContainer svg", - "rect": [310, 114, 92, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [310, 14, 92, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [310, 14, 92, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGViewportContainer svg", - "rect": [310, 14, 92, 46], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [210, 114, 92, 46], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [210, 14, 92, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGContainer g id='text3g'", - "rect": [0, 3, 14, 4], - "reason": "subtree" - }, - { - "object": "LayoutSVGContainer g id='text1g'", - "rect": [0, 0, 8, 2], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 0, 8, 2], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 0, 8, 2], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 0, 8, 2], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [0, 0, 8, 2], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 0, 8, 2], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 3, 7, 3], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 3, 7, 3], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 3, 7, 3], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [0, 3, 7, 3], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 3, 7, 3], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [9, 3, 5, 3], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [9, 3, 5, 3], - "reason": "subtree" - }, - { - "object": "LayoutSVGViewportContainer svg", - "rect": [9, 3, 5, 3], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 0, 5, 2], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 0, 5, 2], - "reason": "subtree" - }, - { - "object": "LayoutSVGViewportContainer svg", - "rect": [0, 0, 5, 2], - "reason": "subtree" - }, - { - "object": "LayoutSVGForeignObject foreignObject", - "rect": [6, 3, 4, 4], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "rect": [6, 3, 4, 2], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [6, 3, 4, 2], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "rect": [0, 0, 1, 1], - "reason": "subtree" - }, - { - "object": "LayoutSVGForeignObject foreignObject", - "rect": [0, 0, 1, 1], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [0, 0, 1, 1], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g id='text1g'", - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'PASS '", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "LayoutSVGForeignObject foreignObject", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "subtree" - }, - { - "object": "LayoutSVGViewportContainer svg", - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "subtree" - }, - { - "object": "LayoutSVGContainer g id='text2g'", - "reason": "full" - }, - { - "object": "LayoutSVGContainer g id='text3g'", - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'PASS '", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "LayoutSVGForeignObject foreignObject", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "subtree" - }, - { - "object": "LayoutSVGViewportContainer svg", - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-selection-text-05-t-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-selection-text-05-t-expected.png deleted file mode 100644 index 12a8b8f..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-selection-text-05-t-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-selection-text-05-t-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-selection-text-05-t-expected.txt deleted file mode 100644 index 7b9873c..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-selection-text-05-t-expected.txt +++ /dev/null
@@ -1,962 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [16, 523, 449, 77], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [186, 13, 128, 34], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [520, 13, 127, 34], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [353, 13, 127, 34], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [266, 485, 113, 29], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [266, 201, 113, 21], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [428, 485, 104, 29], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [428, 201, 104, 21], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [590, 485, 95, 29], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [590, 201, 95, 21], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [376, 36, 81, 34], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [16, 491, 79, 34], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [16, 441, 79, 34], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [16, 391, 79, 34], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [16, 341, 79, 34], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [16, 291, 79, 34], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [16, 241, 79, 34], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [16, 191, 79, 34], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [16, 141, 79, 34], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [16, 91, 79, 34], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [590, 285, 62, 54], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [590, 435, 62, 29], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [590, 151, 62, 21], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [428, 285, 61, 54], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [266, 285, 61, 54], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [428, 435, 61, 29], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [266, 435, 61, 29], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [428, 151, 61, 21], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [266, 151, 61, 21], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [225, 36, 50, 34], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [428, 335, 46, 54], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [590, 335, 45, 54], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [266, 335, 44, 54], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [563, 36, 41, 34], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [573, 235, 39, 54], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [411, 235, 39, 54], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [546, 101, 38, 21], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [250, 235, 37, 54], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [250, 385, 37, 45], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [398, 101, 37, 21], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [250, 101, 37, 21], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [565, 385, 29, 45], - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [411, 385, 29, 45], - "reason": "selection" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1.x 1.y'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '4.x 1.y'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '2.x 1.y'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1.x 4.y'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '4.x 4.y'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '2.x 4.y'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1.x 2.y'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '4.x 2.y'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '2.x 2.y'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox 'text-anchor'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox 'start'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1234'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1'", - "reason": "selection" - }, - { - "object": "InlineTextBox '2'", - "reason": "selection" - }, - { - "object": "InlineTextBox '3'", - "reason": "selection" - }, - { - "object": "InlineTextBox '4'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1'", - "reason": "selection" - }, - { - "object": "InlineTextBox '234'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1'", - "reason": "selection" - }, - { - "object": "InlineTextBox '2'", - "reason": "selection" - }, - { - "object": "InlineTextBox '3'", - "reason": "selection" - }, - { - "object": "InlineTextBox '4'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1'", - "reason": "selection" - }, - { - "object": "InlineTextBox '2'", - "reason": "selection" - }, - { - "object": "InlineTextBox '3'", - "reason": "selection" - }, - { - "object": "InlineTextBox '4'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1'", - "reason": "selection" - }, - { - "object": "InlineTextBox '2'", - "reason": "selection" - }, - { - "object": "InlineTextBox '3'", - "reason": "selection" - }, - { - "object": "InlineTextBox '4'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1'", - "reason": "selection" - }, - { - "object": "InlineTextBox '234'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1'", - "reason": "selection" - }, - { - "object": "InlineTextBox '2'", - "reason": "selection" - }, - { - "object": "InlineTextBox '3'", - "reason": "selection" - }, - { - "object": "InlineTextBox '4'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1'", - "reason": "selection" - }, - { - "object": "InlineTextBox '234'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox 'text-anchor'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox 'middle'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1234'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1'", - "reason": "selection" - }, - { - "object": "InlineTextBox '2'", - "reason": "selection" - }, - { - "object": "InlineTextBox '3'", - "reason": "selection" - }, - { - "object": "InlineTextBox '4'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1'", - "reason": "selection" - }, - { - "object": "InlineTextBox '234'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1'", - "reason": "selection" - }, - { - "object": "InlineTextBox '2'", - "reason": "selection" - }, - { - "object": "InlineTextBox '3'", - "reason": "selection" - }, - { - "object": "InlineTextBox '4'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1'", - "reason": "selection" - }, - { - "object": "InlineTextBox '2'", - "reason": "selection" - }, - { - "object": "InlineTextBox '3'", - "reason": "selection" - }, - { - "object": "InlineTextBox '4'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1'", - "reason": "selection" - }, - { - "object": "InlineTextBox '2'", - "reason": "selection" - }, - { - "object": "InlineTextBox '3'", - "reason": "selection" - }, - { - "object": "InlineTextBox '4'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1'", - "reason": "selection" - }, - { - "object": "InlineTextBox '234'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1'", - "reason": "selection" - }, - { - "object": "InlineTextBox '2'", - "reason": "selection" - }, - { - "object": "InlineTextBox '3'", - "reason": "selection" - }, - { - "object": "InlineTextBox '4'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1'", - "reason": "selection" - }, - { - "object": "InlineTextBox '234'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox 'text-anchor'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox 'end'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1234'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1'", - "reason": "selection" - }, - { - "object": "InlineTextBox '2'", - "reason": "selection" - }, - { - "object": "InlineTextBox '3'", - "reason": "selection" - }, - { - "object": "InlineTextBox '4'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1'", - "reason": "selection" - }, - { - "object": "InlineTextBox '234'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1'", - "reason": "selection" - }, - { - "object": "InlineTextBox '2'", - "reason": "selection" - }, - { - "object": "InlineTextBox '3'", - "reason": "selection" - }, - { - "object": "InlineTextBox '4'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1'", - "reason": "selection" - }, - { - "object": "InlineTextBox '2'", - "reason": "selection" - }, - { - "object": "InlineTextBox '3'", - "reason": "selection" - }, - { - "object": "InlineTextBox '4'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1'", - "reason": "selection" - }, - { - "object": "InlineTextBox '2'", - "reason": "selection" - }, - { - "object": "InlineTextBox '3'", - "reason": "selection" - }, - { - "object": "InlineTextBox '4'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1'", - "reason": "selection" - }, - { - "object": "InlineTextBox '234'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1'", - "reason": "selection" - }, - { - "object": "InlineTextBox '2'", - "reason": "selection" - }, - { - "object": "InlineTextBox '3'", - "reason": "selection" - }, - { - "object": "InlineTextBox '4'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '1'", - "reason": "selection" - }, - { - "object": "InlineTextBox '234'", - "reason": "selection" - }, - { - "object": "LayoutSVGText text id='revision'", - "reason": "selection" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox '$Revision: 1.8 $'", - "reason": "selection" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-viewbox-rescale-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-viewbox-rescale-expected.png deleted file mode 100644 index 8d0f253..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-viewbox-rescale-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-viewbox-rescale-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-viewbox-rescale-expected.txt deleted file mode 100644 index ee4b4ff..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-viewbox-rescale-expected.txt +++ /dev/null
@@ -1,176 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [59, 143, 95, 23], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [59, 143, 95, 23], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [59, 143, 95, 23], - "reason": "full" - }, - { - "object": "LayoutSVGText text", - "rect": [59, 143, 95, 23], - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='inner2'", - "rect": [59, 143, 95, 23], - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [59, 43, 95, 23], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [59, 43, 95, 23], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [59, 43, 95, 23], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [59, 43, 95, 23], - "reason": "full" - }, - { - "object": "LayoutSVGText text", - "rect": [59, 43, 95, 23], - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='inner1'", - "rect": [59, 43, 95, 23], - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 0, 8, 2], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 0, 8, 2], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 0, 8, 2], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [0, 0, 8, 2], - "reason": "full" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 0, 8, 2], - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='inner1'", - "rect": [0, 0, 8, 2], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGViewportContainer svg id='inner1'", - "reason": "full" - }, - { - "object": "LayoutSVGText text", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS '", - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "full" - }, - { - "object": "InlineFlowBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg id='inner2'", - "reason": "full" - }, - { - "object": "LayoutSVGText text", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS '", - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "full" - }, - { - "object": "InlineFlowBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-xy-updates-SVGList-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-xy-updates-SVGList-expected.png deleted file mode 100644 index 991085e..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-xy-updates-SVGList-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-xy-updates-SVGList-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-xy-updates-SVGList-expected.txt deleted file mode 100644 index 5a05ace..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/text-xy-updates-SVGList-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [808, 621], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [208, 13, 166, 19], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text id='ttt'", - "rect": [208, 13, 166, 19], - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [18, 193, 166, 19], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text id='ttt'", - "rect": [18, 193, 166, 19], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGText text id='ttt'", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Passes, if text is at 200x20'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/tspan-dynamic-positioning-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/tspan-dynamic-positioning-expected.png deleted file mode 100644 index 2889a15..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/tspan-dynamic-positioning-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/tspan-dynamic-positioning-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/tspan-dynamic-positioning-expected.txt deleted file mode 100644 index dc51262..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/tspan-dynamic-positioning-expected.txt +++ /dev/null
@@ -1,69 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [200, 185, 251, 19], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan id='ts'", - "rect": [200, 185, 251, 19], - "reason": "full" - }, - { - "object": "LayoutSVGText text", - "rect": [200, 185, 251, 19], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [20, 5, 251, 19], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan id='ts'", - "rect": [20, 5, 251, 19], - "reason": "full" - }, - { - "object": "LayoutSVGText text", - "rect": [20, 5, 251, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGText text", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan id='ts'", - "reason": "full" - }, - { - "object": "InlineFlowBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'This text should be at visible at 200,200'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/use-clipped-hit-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/use-clipped-hit-expected.png deleted file mode 100644 index 1afe540..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/use-clipped-hit-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/use-clipped-hit-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/use-clipped-hit-expected.txt deleted file mode 100644 index 340feec..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/use-clipped-hit-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [90, 115, 64, 19], - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text id='status'", - "rect": [90, 115, 64, 19], - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [90, 115, 44, 19], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text id='status'", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Passed'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/use-detach-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/use-detach-expected.png deleted file mode 100644 index 84a7fe53..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/use-detach-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/use-event-handler-on-use-element-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/use-event-handler-on-use-element-expected.png deleted file mode 100644 index 9940772..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/use-event-handler-on-use-element-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/window-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/window-expected.png deleted file mode 100644 index b60fc22..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/window-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/window-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/window-expected.txt deleted file mode 100644 index a9df1d4..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/window-expected.txt +++ /dev/null
@@ -1,2054 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g id='Windows'", - "rect": [38, 81, 760, 454], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g id='Windows'", - "rect": [38, 92, 760, 443], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [37, 142, 551, 394], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarbigWindow'", - "rect": [37, 142, 551, 17], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [37, 522, 551, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='bigWindow'", - "rect": [38, 143, 549, 392], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupbigWindow'", - "rect": [38, 143, 549, 392], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupbigWindow'", - "rect": [38, 143, 549, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [76, 181, 317, 238], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarnestedWindow'", - "rect": [76, 181, 317, 17], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [76, 405, 317, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='nestedWindow'", - "rect": [77, 182, 315, 236], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupnestedWindow'", - "rect": [77, 182, 315, 236], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupnestedWindow'", - "rect": [77, 182, 315, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='navWindow'", - "rect": [613, 81, 185, 169], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g id='decoGroupnavWindow'", - "rect": [613, 81, 185, 159], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupnavWindow'", - "rect": [613, 81, 185, 159], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='decoGroupMinimizednavWindow'", - "rect": [613, 81, 185, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [623, 91, 176, 160], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [76, 194, 176, 145], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarcolourPickerWindow'", - "rect": [76, 194, 176, 17], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [623, 237, 176, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [76, 325, 176, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='navWindow'", - "rect": [624, 92, 174, 158], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupnavWindow'", - "rect": [624, 92, 174, 158], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='colourPickerWindow'", - "rect": [77, 195, 174, 143], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupcolourPickerWindow'", - "rect": [77, 195, 174, 143], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupcolourPickerWindow'", - "rect": [77, 195, 174, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [311, 376, 160, 145], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarsmallWindow'", - "rect": [311, 376, 160, 17], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [311, 507, 160, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [632, 101, 159, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [632, 101, 159, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [632, 101, 159, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [632, 101, 159, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [632, 101, 159, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [632, 101, 159, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [632, 101, 159, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [632, 101, 159, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [632, 101, 159, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [632, 101, 159, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [632, 101, 159, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [632, 101, 159, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [632, 101, 159, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [632, 101, 159, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='textNavWindow'", - "rect": [632, 101, 159, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='smallWindow'", - "rect": [312, 377, 158, 143], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupsmallWindow'", - "rect": [312, 377, 158, 143], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupsmallWindow'", - "rect": [312, 377, 158, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [248, 343, 145, 66], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarstatusWindow'", - "rect": [248, 343, 145, 17], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='statusWindow'", - "rect": [249, 344, 143, 64], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupstatusWindow'", - "rect": [249, 344, 143, 64], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupstatusWindow'", - "rect": [249, 344, 143, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [320, 398, 136, 65], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [320, 398, 136, 65], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [320, 398, 136, 65], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [320, 398, 136, 65], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [320, 398, 136, 65], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [320, 398, 136, 65], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [320, 398, 136, 65], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [320, 398, 136, 65], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [320, 398, 136, 65], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [320, 398, 136, 65], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='textSmallWindow'", - "rect": [320, 398, 136, 65], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [80, 326, 133, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [80, 326, 133, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [80, 182, 131, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [80, 182, 131, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [80, 406, 125, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [80, 406, 125, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [38, 475, 121, 50], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [257, 364, 120, 40], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [257, 364, 120, 40], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [257, 364, 120, 40], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [257, 364, 120, 40], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [257, 364, 120, 40], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [257, 364, 120, 40], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='textStatusWindow'", - "rect": [257, 364, 120, 40], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='minimalWindow'", - "rect": [39, 476, 119, 48], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupminimalWindow'", - "rect": [39, 476, 119, 48], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [43, 480, 115, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [43, 480, 115, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [43, 480, 115, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [43, 480, 115, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [43, 480, 115, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [43, 480, 115, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='textMinimalWindow'", - "rect": [43, 480, 115, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [41, 524, 101, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [41, 524, 101, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [314, 508, 90, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [314, 508, 90, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [252, 344, 73, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [252, 344, 73, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [314, 378, 68, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [314, 378, 68, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [80, 196, 67, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [80, 196, 67, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [41, 143, 57, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [41, 143, 57, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupnavWindow'", - "rect": [757, 94, 36, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [627, 238, 33, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [627, 238, 33, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [613, 81, 16, 159], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [616, 153, 13, 81], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [616, 153, 13, 81], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [768, 93, 13, 13], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [768, 93, 13, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [557, 144, 13, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [362, 183, 13, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [440, 379, 13, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [375, 345, 13, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [376, 183, 12, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [376, 183, 12, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [782, 94, 12, 12], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath line", - "rect": [782, 94, 12, 12], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath line", - "rect": [782, 94, 12, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [782, 94, 12, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [615, 99, 12, 12], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath line", - "rect": [615, 83, 12, 12], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath line", - "rect": [615, 83, 12, 12], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath line", - "rect": [571, 144, 12, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [571, 144, 12, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [454, 379, 12, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [454, 379, 12, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [235, 197, 12, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [235, 197, 12, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [222, 197, 12, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [427, 387, 12, 4], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [349, 192, 12, 4], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [615, 123, 12, 3], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonnavWindow'", - "rect": [769, 94, 11, 11], - "reason": "full" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonnavWindow'", - "rect": [769, 94, 11, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "rect": [769, 94, 11, 11], - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "rect": [769, 94, 11, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonbigWindow'", - "rect": [558, 145, 11, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "rect": [558, 145, 11, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonnestedWindow'", - "rect": [363, 184, 11, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "rect": [363, 184, 11, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonsmallWindow'", - "rect": [441, 380, 11, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "rect": [441, 380, 11, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonstatusWindow'", - "rect": [376, 346, 11, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "rect": [376, 346, 11, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [756, 102, 11, 4], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath line", - "rect": [756, 102, 11, 4], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [545, 153, 11, 4], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [209, 205, 11, 4], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [363, 354, 11, 3], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtonnestedWindow'", - "rect": [377, 184, 10, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "rect": [377, 184, 10, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtonnavWindow'", - "rect": [783, 95, 10, 10], - "reason": "full" - }, - { - "object": "LayoutSVGContainer use id='closeButtonnavWindow'", - "rect": [783, 95, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "rect": [783, 95, 10, 10], - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "rect": [783, 95, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonnavWindow'", - "rect": [616, 100, 10, 10], - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "rect": [616, 100, 10, 10], - "reason": "full" - }, - { - "object": "LayoutSVGContainer use id='closeButtonnavWindow'", - "rect": [616, 84, 10, 10], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "rect": [616, 84, 10, 10], - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "rect": [616, 84, 10, 10], - "reason": "full" - }, - { - "object": "LayoutSVGContainer use id='closeButtonbigWindow'", - "rect": [572, 145, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "rect": [572, 145, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtonsmallWindow'", - "rect": [455, 380, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [455, 380, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "rect": [455, 380, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonsmallWindow'", - "rect": [428, 380, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [428, 380, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "rect": [428, 380, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonnestedWindow'", - "rect": [350, 185, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "rect": [350, 185, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtoncolourPickerWindow'", - "rect": [236, 198, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [236, 198, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "rect": [236, 198, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtoncolourPickerWindow'", - "rect": [223, 198, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "rect": [223, 198, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [783, 95, 10, 9], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [783, 95, 10, 9], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonnavWindow'", - "rect": [616, 116, 10, 9], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "rect": [616, 116, 10, 9], - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "rect": [616, 116, 10, 9], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "rect": [572, 146, 10, 9], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [350, 185, 10, 9], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonnavWindow'", - "rect": [757, 95, 9, 10], - "reason": "full" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonnavWindow'", - "rect": [757, 95, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "rect": [757, 95, 9, 10], - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "rect": [757, 95, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonbigWindow'", - "rect": [546, 146, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "rect": [546, 146, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonstatusWindow'", - "rect": [364, 346, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [364, 346, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "rect": [364, 346, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtoncolourPickerWindow'", - "rect": [210, 198, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [210, 198, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "rect": [210, 198, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [757, 95, 9, 9], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [757, 95, 9, 9], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [546, 146, 9, 9], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [377, 185, 9, 9], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [-1, 20, 7, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [-1, 20, 7, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [-1, 20, 7, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [-1, 29, 7, 4], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [0, 22, 5, 9], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [0, 22, 5, 9], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGHiddenContainer symbol id='closeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGHiddenContainer symbol id='maximizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGHiddenContainer symbol id='minimizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='Windows'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='navWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupnavWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='textNavWindow'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'This window should'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'contain navigation tools'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Click on button'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox ''Resize Navigation Window' for a'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'random resize of this Window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Note that this window also'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'features a window decoration'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Statusbar'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupnavWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtonnavWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonnavWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonnavWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='bigWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupbigWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'This is a big movable window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='nestedWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupnestedWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'This window contains other windows'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='colourPickerWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupcolourPickerWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Changing a colour changes background'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupcolourPickerWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarcolourPickerWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Colour Picker'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtoncolourPickerWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtoncolourPickerWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtoncolourPickerWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='statusWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupstatusWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='textStatusWindow'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'This is a none-moveable'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'none-closeable status'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupstatusWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarstatusWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Status Window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonstatusWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonstatusWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupnestedWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarnestedWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Nested middlesize Window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtonnestedWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonnestedWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonnestedWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='smallWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupsmallWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='textSmallWindow'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'This window has a callback'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'function indicating mouse'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'movements in the statusbar'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'and alerting window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'events'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Callback function is active'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupsmallWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarsmallWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Small Window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtonsmallWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonsmallWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonsmallWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='minimalWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupminimalWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='textMinimalWindow'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'This is a minimal window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'without title and status bar.'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'it is also not moveable'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupminimalWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupbigWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarbigWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Big Window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtonbigWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonbigWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonbigWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='Windows'", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g id='navWindow'", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupnavWindow'", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g id='decoGroupnavWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='decoGroupMinimizednavWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Navigation Window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtonnavWindow'", - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - }, - { - "object": "LayoutSVGPath line", - "reason": "geometry" - }, - { - "object": "LayoutSVGPath line", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonnavWindow'", - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonnavWindow'", - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - }, - { - "object": "LayoutSVGPath line", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/zoom-coords-viewattr-01-b-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/zoom-coords-viewattr-01-b-expected.png deleted file mode 100644 index 235f06c..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/zoom-coords-viewattr-01-b-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/zoom-foreignObject-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/zoom-foreignObject-expected.png deleted file mode 100644 index 5b32ee76..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/svg/zoom-foreignObject-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt deleted file mode 100644 index 6103ea4..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt +++ /dev/null
@@ -1,377 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTable TABLE", - "rect": [8, 194, 108, 82], - "reason": "full" - }, - { - "object": "LayoutTableSection TBODY", - "rect": [8, 194, 108, 82], - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR id='r2'", - "rect": [8, 224, 108, 22], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE", - "rect": [8, 102, 99, 82], - "reason": "full" - }, - { - "object": "LayoutTableSection TBODY", - "rect": [8, 102, 99, 82], - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 338, 99, 30], - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 286, 99, 30], - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 154, 99, 30], - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 102, 99, 30], - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 316, 99, 22], - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR id='r'", - "rect": [8, 132, 99, 22], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE id='t'", - "rect": [8, 10, 95, 82], - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 62, 95, 30], - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 10, 95, 30], - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 40, 95, 22], - "reason": "style change" - }, - { - "object": "LayoutTableCell TD id='d2'", - "rect": [22, 224, 90, 22], - "reason": "disappeared" - }, - { - "object": "LayoutTableCell TD", - "rect": [22, 338, 81, 26], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [22, 290, 81, 26], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [22, 154, 81, 26], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [22, 106, 81, 26], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD id='d3'", - "rect": [22, 316, 81, 22], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD id='d'", - "rect": [22, 132, 81, 22], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [23, 317, 76, 19], - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "rect": [23, 133, 76, 19], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [23, 339, 49, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [23, 155, 49, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [23, 295, 43, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [23, 111, 43, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [23, 225, 34, 19], - "reason": "disappeared" - }, - { - "object": "LayoutTable TABLE", - "rect": [76, 286, 31, 82], - "reason": "incremental" - }, - { - "object": "LayoutTableCell TD", - "rect": [12, 224, 10, 22], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [12, 132, 10, 22], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [17, 225, 4, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [17, 133, 4, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutTableCell TD id='d'", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutTableCell TD id='d2'", - "reason": "disappeared" - }, - { - "object": "LayoutTable TABLE id='t'", - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "reason": "style change" - }, - { - "object": "LayoutTable TABLE", - "reason": "full" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Lorem'", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR id='r'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u00A0'", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'sit amet'", - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE", - "reason": "full" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR id='r2'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u00A0'", - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE", - "reason": "incremental" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Lorem'", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD id='d3'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'ipsum dolor'", - "reason": "appeared" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'sit amet'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt deleted file mode 100644 index 186df46..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableRow TR", - "rect": [8, 8, 114, 54], - "reason": "style change" - }, - { - "object": "LayoutTableCell TD id='foo'", - "rect": [10, 10, 56, 50], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='blockDiv'", - "rect": [90, 30, 20, 20], - "reason": "full" - }, - { - "object": "LayoutText #text", - "rect": [90, 30, 12, 19], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutTableRow TR", - "reason": "style change" - }, - { - "object": "LayoutTableCell TD id='foo'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='blockDiv'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-expected.png deleted file mode 100644 index 81a3760..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-expected.txt deleted file mode 100644 index 996754c..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-expected.txt +++ /dev/null
@@ -1,34 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCol COL id='target'", - "rect": [8, 28, 186, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [72, 96], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY", - "reason": "style change" - }, - { - "object": "LayoutTableCol COL id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-initial-empty-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-initial-empty-expected.png deleted file mode 100644 index 81a3760..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-initial-empty-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-initial-empty-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-initial-empty-expected.txt deleted file mode 100644 index 996754c..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-initial-empty-expected.txt +++ /dev/null
@@ -1,34 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCol COL id='target'", - "rect": [8, 28, 186, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [72, 96], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY", - "reason": "style change" - }, - { - "object": "LayoutTableCol COL id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-expected.png deleted file mode 100644 index 7b758b0..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-expected.txt deleted file mode 100644 index 7a43ec71..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-expected.txt +++ /dev/null
@@ -1,40 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCol COL id='target'", - "rect": [8, 28, 186, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [72, 96], - "bounds": [59, 64], - "drawsContent": true - }, - { - "name": "LayoutTableCell TD", - "position": [133, 96], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY", - "reason": "style change" - }, - { - "object": "LayoutTableCol COL id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-initial-empty-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-initial-empty-expected.png deleted file mode 100644 index 7b758b0..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-initial-empty-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-initial-empty-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-initial-empty-expected.txt deleted file mode 100644 index 7a43ec71..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-initial-empty-expected.txt +++ /dev/null
@@ -1,40 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCol COL id='target'", - "rect": [8, 28, 186, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [72, 96], - "bounds": [59, 64], - "drawsContent": true - }, - { - "name": "LayoutTableCell TD", - "position": [133, 96], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY", - "reason": "style change" - }, - { - "object": "LayoutTableCol COL id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-expected.png deleted file mode 100644 index 81a3760..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-expected.txt deleted file mode 100644 index e3dd27ea..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-expected.txt +++ /dev/null
@@ -1,34 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCol COLGROUP id='target'", - "rect": [8, 28, 186, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD id='target'", - "position": [72, 96], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY", - "reason": "style change" - }, - { - "object": "LayoutTableCol COLGROUP id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-initial-empty-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-initial-empty-expected.png deleted file mode 100644 index 81a3760..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-initial-empty-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-initial-empty-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-initial-empty-expected.txt deleted file mode 100644 index e3dd27ea..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-initial-empty-expected.txt +++ /dev/null
@@ -1,34 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCol COLGROUP id='target'", - "rect": [8, 28, 186, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD id='target'", - "position": [72, 96], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY", - "reason": "style change" - }, - { - "object": "LayoutTableCol COLGROUP id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-expected.png deleted file mode 100644 index 5e5be73..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-expected.txt deleted file mode 100644 index 8e0f5005..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTableRow TR id='target'", - "position": [8, 96], - "bounds": [186, 64], - "drawsContent": true, - "backgroundColor": "#ADD8E6", - "paintInvalidations": [ - { - "object": "LayoutTableRow TR id='target'", - "rect": [0, 0, 186, 64], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [64, 0], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableRow TR id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-initial-empty-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-initial-empty-expected.png deleted file mode 100644 index 5e5be73..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-initial-empty-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-initial-empty-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-initial-empty-expected.txt deleted file mode 100644 index 8e0f5005..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-initial-empty-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTableRow TR id='target'", - "position": [8, 96], - "bounds": [186, 64], - "drawsContent": true, - "backgroundColor": "#ADD8E6", - "paintInvalidations": [ - { - "object": "LayoutTableRow TR id='target'", - "rect": [0, 0, 186, 64], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [64, 0], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableRow TR id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-expected.png deleted file mode 100644 index 5e5be73..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-expected.txt deleted file mode 100644 index 3aaba5e..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-expected.txt +++ /dev/null
@@ -1,30 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableRow TR id='target'", - "rect": [8, 96, 186, 64], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [72, 96], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableRow TR id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-initial-empty-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-initial-empty-expected.png deleted file mode 100644 index 5e5be73..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-initial-empty-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-initial-empty-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-initial-empty-expected.txt deleted file mode 100644 index 3aaba5e..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-initial-empty-expected.txt +++ /dev/null
@@ -1,30 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableRow TR id='target'", - "rect": [8, 96, 186, 64], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [72, 96], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableRow TR id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-expected.png deleted file mode 100644 index 37ed9c13..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-expected.txt deleted file mode 100644 index 576d0d4e..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-expected.txt +++ /dev/null
@@ -1,43 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTableSection TBODY id='target'", - "position": [8, 28], - "bounds": [186, 134], - "drawsContent": true, - "backgroundColor": "#ADD8E6", - "paintInvalidations": [ - { - "object": "LayoutTableSection TBODY id='target'", - "rect": [0, 0, 186, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableRow TR", - "position": [0, 68], - "bounds": [186, 64], - "drawsContent": true - }, - { - "name": "LayoutTableCell TD", - "position": [64, 0], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-initial-empty-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-initial-empty-expected.png deleted file mode 100644 index 37ed9c13..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-initial-empty-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-initial-empty-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-initial-empty-expected.txt deleted file mode 100644 index 576d0d4e..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-initial-empty-expected.txt +++ /dev/null
@@ -1,43 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTableSection TBODY id='target'", - "position": [8, 28], - "bounds": [186, 134], - "drawsContent": true, - "backgroundColor": "#ADD8E6", - "paintInvalidations": [ - { - "object": "LayoutTableSection TBODY id='target'", - "rect": [0, 0, 186, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableRow TR", - "position": [0, 68], - "bounds": [186, 64], - "drawsContent": true - }, - { - "name": "LayoutTableCell TD", - "position": [64, 0], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-expected.png deleted file mode 100644 index 07ced2e4..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-expected.txt deleted file mode 100644 index f604f53..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTableSection TBODY id='target'", - "position": [8, 28], - "bounds": [186, 134], - "drawsContent": true, - "backgroundColor": "#ADD8E6", - "paintInvalidations": [ - { - "object": "LayoutTableSection TBODY id='target'", - "rect": [0, 0, 186, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [64, 68], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-initial-empty-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-initial-empty-expected.png deleted file mode 100644 index 07ced2e4..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-initial-empty-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-initial-empty-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-initial-empty-expected.txt deleted file mode 100644 index f604f53..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-initial-empty-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTableSection TBODY id='target'", - "position": [8, 28], - "bounds": [186, 134], - "drawsContent": true, - "backgroundColor": "#ADD8E6", - "paintInvalidations": [ - { - "object": "LayoutTableSection TBODY id='target'", - "rect": [0, 0, 186, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [64, 68], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt deleted file mode 100644 index a68a906..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt +++ /dev/null
@@ -1,114 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableRow TR", - "rect": [0, 52, 106, 238], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutTableRow TR", - "rect": [0, 292, 106, 236], - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "rect": [0, 100, 106, 190], - "reason": "incremental" - }, - { - "object": "LayoutTableRow TR", - "rect": [0, 102, 106, 46], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [2, 52, 102, 238], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [2, 292, 102, 236], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [2, 102, 102, 46], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [3, 400, 46, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [3, 161, 46, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [3, 115, 46, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [3, 66, 46, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableRow TR", - "reason": "incremental" - }, - { - "object": "LayoutTableRow TR", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'ROW1'", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'ROW2'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-vertical-align-cell-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-vertical-align-cell-expected.txt deleted file mode 100644 index e2165062..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-vertical-align-cell-expected.txt +++ /dev/null
@@ -1,46 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCell TD", - "rect": [2, 52, 102, 476], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [3, 280, 63, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [3, 90, 63, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'MIDDLE'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-row-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-row-repaint-expected.txt deleted file mode 100644 index 1fe1a0f..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-row-repaint-expected.txt +++ /dev/null
@@ -1,46 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCell TD", - "rect": [2, 102, 102, 200], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [3, 192, 63, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [3, 142, 63, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'MIDDLE'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-append-dirty-lines-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-append-dirty-lines-expected.txt deleted file mode 100644 index 4770ec4..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-append-dirty-lines-expected.txt +++ /dev/null
@@ -1,52 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [7, 44, 757, 139], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse placerat. Morbi tristique. Mauris eu lacus sed felis'", - "reason": "full" - }, - { - "object": "InlineTextBox 'pellentesque cursus. Proin vitae nulla. Vivamus in ipsum. Etiam mi. Nam malesuada purus in sem. Sed eget elit vel erat'", - "reason": "full" - }, - { - "object": "InlineTextBox 'laoreet feugiat. Phasellus mollis pulvinar mi. Etiam ut neque sed eros egestas laoreet. Vestibulum ullamcorper, nulla non'", - "reason": "full" - }, - { - "object": "InlineTextBox 'feugiat molestie, mi lorem bibendum leo, ac gravida orci nunc nec nulla. Nunc nunc lorem, rhoncus et, rutrum ac,'", - "reason": "full" - }, - { - "object": "InlineTextBox 'fermentum ut, tortor. Sed rhoncus. Quisque enim metus, luctus tincidunt, vestibulum eu, vestibulum eu, libero. Mauris'", - "reason": "full" - }, - { - "object": "InlineTextBox 'sagittis aliquam nunc. Nullam pharetra molestie eros. Donec tempus purus ut ligula. Phasellus non nisl. Etiam eu mauris.'", - "reason": "full" - }, - { - "object": "InlineTextBox 'Curabitur a velit.'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-match-document-change-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-match-document-change-expected.png deleted file mode 100644 index 694e43a..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-match-document-change-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-match-document-change-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-match-document-change-expected.txt deleted file mode 100644 index ef8375fb..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-match-document-change-expected.txt +++ /dev/null
@@ -1,59 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='to-be-changed'", - "rect": [18, 130, 269, 40], - "reason": "full" - }, - { - "object": "LayoutText #text", - "rect": [18, 130, 251, 39], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [18, 130, 82, 19], - "reason": "appeared" - }, - { - "object": "LayoutView #document", - "rect": [295, 102, 15, 400], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow DIV id='to-be-changed'", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'After change'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-selection-rect-in-overflow-2-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-selection-rect-in-overflow-2-expected.png deleted file mode 100644 index 83befc3..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-selection-rect-in-overflow-2-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-selection-rect-in-overflow-2-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-selection-rect-in-overflow-2-expected.txt deleted file mode 100644 index bec801a..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-selection-rect-in-overflow-2-expected.txt +++ /dev/null
@@ -1,28 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [18, 18, 233, 19], - "reason": "selection" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox 'Should have blue, not gray, highlight'", - "reason": "selection" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-selection-rect-in-overflow-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-selection-rect-in-overflow-expected.png deleted file mode 100644 index 3df6c6f..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-selection-rect-in-overflow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-selection-rect-in-overflow-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-selection-rect-in-overflow-expected.txt deleted file mode 100644 index 90d1fb2..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-selection-rect-in-overflow-expected.txt +++ /dev/null
@@ -1,28 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [8, 8, 197, 19], - "reason": "selection" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "selection" - }, - { - "object": "InlineTextBox 'Should have green background'", - "reason": "selection" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-shadow-expected.png deleted file mode 100644 index bb582ed..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-shadow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-shadow-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-shadow-expected.txt deleted file mode 100644 index 076a8ffc..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-shadow-expected.txt +++ /dev/null
@@ -1,42 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x562 - LayoutBlockFlow {P} at (0,0) size 784x20 - LayoutText {#text} at (0,0) size 172x19 - text run at (0,0) width 172: "This is a regression test for " - LayoutInline {I} at (0,0) size 595x19 - LayoutInline {A} at (0,0) size 348x19 [color=#0000EE] - LayoutText {#text} at (172,0) size 348x19 - text run at (172,0) width 348: "http://bugzilla.opendarwin.org/show_bug.cgi?id=7301" - LayoutText {#text} at (519,0) size 248x19 - text run at (519,0) width 5: " " - text run at (523,0) width 244: "Text shadow does not repaint correctly" - LayoutText {#text} at (766,0) size 5x19 - text run at (766,0) width 5: "." - LayoutBlockFlow {DIV} at (30,68) size 724x21 - LayoutInline {SPAN} at (0,0) size 202x20 [bgcolor=#C0C0C0] - LayoutText {#text} at (0,0) size 202x20 - text run at (0,0) width 202: "Lorem ipsum dolor sit amet" - LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (30,119) size 724x21 - LayoutInline {SPAN} at (0,0) size 202x20 [bgcolor=#C0C0C0] - LayoutText {#text} at (0,0) size 202x20 - text run at (0,0) width 202: "Lorem ipsum dolor sit amet" - LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (30,170) size 724x21 - LayoutText {#text} at (0,1) size 88x19 - text run at (0,1) width 88: "Lorem ipsum " - LayoutInline {SPAN} at (0,0) size 100x20 [bgcolor=#C0C0C0] - LayoutText {#text} at (88,0) size 100x20 - text run at (88,0) width 100: "dolor sit amet" - LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (30,221) size 724x21 - LayoutInline {SPAN} at (0,0) size 97x20 [bgcolor=#C0C0C0] - LayoutText {#text} at (0,0) size 97x20 - text run at (0,0) width 97: "Lorem ipsum" - LayoutText {#text} at (97,1) size 89x19 - text run at (97,1) width 89: " dolor sit amet" -layer at (8,44) size 784x2 clip at (0,0) size 0x0 - LayoutBlockFlow {HR} at (0,36) size 784x2 [border: (1px inset #EEEEEE)]
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-shadow-horizontal-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-shadow-horizontal-expected.png deleted file mode 100644 index bb582ed..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-shadow-horizontal-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-shadow-horizontal-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-shadow-horizontal-expected.txt deleted file mode 100644 index 076a8ffc..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/text-shadow-horizontal-expected.txt +++ /dev/null
@@ -1,42 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x562 - LayoutBlockFlow {P} at (0,0) size 784x20 - LayoutText {#text} at (0,0) size 172x19 - text run at (0,0) width 172: "This is a regression test for " - LayoutInline {I} at (0,0) size 595x19 - LayoutInline {A} at (0,0) size 348x19 [color=#0000EE] - LayoutText {#text} at (172,0) size 348x19 - text run at (172,0) width 348: "http://bugzilla.opendarwin.org/show_bug.cgi?id=7301" - LayoutText {#text} at (519,0) size 248x19 - text run at (519,0) width 5: " " - text run at (523,0) width 244: "Text shadow does not repaint correctly" - LayoutText {#text} at (766,0) size 5x19 - text run at (766,0) width 5: "." - LayoutBlockFlow {DIV} at (30,68) size 724x21 - LayoutInline {SPAN} at (0,0) size 202x20 [bgcolor=#C0C0C0] - LayoutText {#text} at (0,0) size 202x20 - text run at (0,0) width 202: "Lorem ipsum dolor sit amet" - LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (30,119) size 724x21 - LayoutInline {SPAN} at (0,0) size 202x20 [bgcolor=#C0C0C0] - LayoutText {#text} at (0,0) size 202x20 - text run at (0,0) width 202: "Lorem ipsum dolor sit amet" - LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (30,170) size 724x21 - LayoutText {#text} at (0,1) size 88x19 - text run at (0,1) width 88: "Lorem ipsum " - LayoutInline {SPAN} at (0,0) size 100x20 [bgcolor=#C0C0C0] - LayoutText {#text} at (88,0) size 100x20 - text run at (88,0) width 100: "dolor sit amet" - LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (30,221) size 724x21 - LayoutInline {SPAN} at (0,0) size 97x20 [bgcolor=#C0C0C0] - LayoutText {#text} at (0,0) size 97x20 - text run at (0,0) width 97: "Lorem ipsum" - LayoutText {#text} at (97,1) size 89x19 - text run at (97,1) width 89: " dolor sit amet" -layer at (8,44) size 784x2 clip at (0,0) size 0x0 - LayoutBlockFlow {HR} at (0,36) size 784x2 [border: (1px inset #EEEEEE)]
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.png deleted file mode 100644 index 7965d244..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.txt deleted file mode 100644 index 40af8a0..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.txt +++ /dev/null
@@ -1,72 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTextControl TEXTAREA id='editor'", - "rect": [7, 7, 183, 40], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [9, 11, 179, 16], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [11, 11, 175, 16], - "reason": "subtree" - }, - { - "object": "LayoutTextControl TEXTAREA id='editor'", - "rect": [9, 30, 164, 15], - "reason": "scroll control" - }, - { - "object": "LayoutTextControl TEXTAREA id='editor'", - "rect": [173, 30, 15, 15], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTextControl TEXTAREA id='editor'", - "reason": "subtree" - }, - { - "object": "LayoutTextControl TEXTAREA id='editor'", - "reason": "geometry" - }, - { - "object": "HorizontalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox '------------------------------------------------------------'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/transform-inline-layered-child-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/transform-inline-layered-child-expected.txt deleted file mode 100644 index 95f325b..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/transform-inline-layered-child-expected.txt +++ /dev/null
@@ -1,229 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='box'", - "rect": [61, 87, 178, 206], - "reason": "subtree" - }, - { - "object": "LayoutInline (relative positioned) SPAN id='child'", - "rect": [135, 360, 160, 196], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [135, 361, 159, 195], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='box'", - "rect": [100, 100, 100, 180], - "reason": "subtree" - }, - { - "object": "LayoutInline (relative positioned) SPAN id='child'", - "rect": [300, 300, 80, 179], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [300, 302, 80, 177], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='box'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutInline (relative positioned) SPAN id='child'", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'A B C'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'D E F'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'G H I'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'J K L'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'M N O'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'P Q R'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'S T U'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'V W X'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Y Z'", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='box'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutInline (relative positioned) SPAN id='child'", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'A B C'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'D E F'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'G H I'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'J K L'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'M N O'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'P Q R'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'S T U'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'V W X'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Y Z'", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/transform-layout-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/transform-layout-repaint-expected.txt deleted file mode 100644 index 4c7eaf71..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/transform-layout-repaint-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [40, 50, 208, 118], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [52, 51, 43, 32], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/vertical-overflow-child-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/vertical-overflow-child-expected.png deleted file mode 100644 index 1bac3eb..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/vertical-overflow-child-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/vertical-overflow-parent-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/vertical-overflow-parent-expected.png deleted file mode 100644 index 1211482..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/vertical-overflow-parent-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/vertical-overflow-same-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/vertical-overflow-same-expected.png deleted file mode 100644 index eea0a192..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/vertical-overflow-same-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/window-resize-vertical-writing-mode-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/window-resize-vertical-writing-mode-expected.txt deleted file mode 100644 index 9a5a199..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/invalidation/window-resize-vertical-writing-mode-expected.txt +++ /dev/null
@@ -1,427 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [939, 235], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [0, 0, 939, 235], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [8, 8, 923, 219], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [10, 7, 920, 213], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [339, 0, 600, 500], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [0, 0, 600, 500], - "reason": "full" - }, - { - "object": "LayoutView #document", - "rect": [339, 235, 600, 15], - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [505, 8, 426, 484], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [507, 8, 423, 482], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AAAA'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'BBBB'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'CCCC'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'DDDD'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'EEEE'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'FFFF'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'GGGG'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'HHHH'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'IIII JJJJ'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'KKKK'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'LLLL'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'MMMM'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'NNNN'", - "reason": "geometry" - } - ] -} -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [939, 235], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [200, 0, 939, 235], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [0, 0, 939, 235], - "reason": "full" - }, - { - "object": "LayoutView #document", - "rect": [0, 0, 939, 235], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [208, 8, 923, 219], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [8, 8, 923, 219], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [210, 7, 920, 213], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [10, 7, 920, 213], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [539, 235, 600, 15], - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "rect": [539, 235, 400, 15], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AAAA'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'BBBB'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'CCCC'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'DDDD'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'EEEE'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'FFFF'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'GGGG'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'HHHH'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'IIII JJJJ'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'KKKK'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'LLLL'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'MMMM'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'NNNN'", - "reason": "geometry" - } - ] -} -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [400, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [0, 0, 939, 235], - "reason": "full" - }, - { - "object": "LayoutView #document", - "rect": [-539, 0, 939, 235], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [-531, 8, 923, 219], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [-529, 7, 920, 213], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [0, 0, 400, 600], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [0, 235, 400, 15], - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [37, 8, 355, 584], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [39, 7, 352, 563], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AAAA BBBB CCCC'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'DDDD EEEE FFFF'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'GGGG HHHH IIII JJJJ'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'KKKK LLLL MMMM'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'NNNN'", - "reason": "geometry" - } - ] -} -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [400, 0, 400, 600], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [437, 8, 355, 584], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [37, 8, 355, 584], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [439, 7, 352, 563], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [39, 7, 352, 563], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AAAA BBBB CCCC'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'DDDD EEEE FFFF'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'GGGG HHHH IIII JJJJ'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'KKKK LLLL MMMM'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'NNNN'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/selection/text-selection-inline-block-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/selection/text-selection-inline-block-expected.txt deleted file mode 100644 index 4581e60..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/selection/text-selection-inline-block-expected.txt +++ /dev/null
@@ -1,12 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x73 - LayoutBlockFlow {HTML} at (0,0) size 800x73 - LayoutBlockFlow {BODY} at (8,8) size 784x57 - LayoutBlockFlow {DIV} at (0,0) size 24x57 - LayoutText {#text} at (0,1) size 24x55 - text run at (0,1) width 24: "x" - LayoutText {#text} at (24,1) size 24x55 - text run at (24,1) width 24: "y" -selection start: position 0 of child 0 {#text} of child 0 {DIV} of body -selection end: position 1 of child 1 {#text} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/selection/text-selection-newline-mixed-ltr-rtl-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/selection/text-selection-newline-mixed-ltr-rtl-expected.png deleted file mode 100644 index 5060e32..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/selection/text-selection-newline-mixed-ltr-rtl-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/selection/text-selection-newline-mixed-ltr-rtl-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/selection/text-selection-newline-mixed-ltr-rtl-expected.txt deleted file mode 100644 index 26ea4478..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/selection/text-selection-newline-mixed-ltr-rtl-expected.txt +++ /dev/null
@@ -1,16 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x136 - LayoutBlockFlow {HTML} at (0,0) size 800x136 - LayoutBlockFlow {BODY} at (8,16) size 784x112 - LayoutBlockFlow {P} at (0,0) size 784x20 - LayoutText {#text} at (0,0) size 339x19 - text run at (0,0) width 339: "Passes if there are no overpainted selection highlights." - LayoutBlockFlow (anonymous) at (0,36) size 784x76 - LayoutInline {SPAN} at (0,0) size 189x73 - LayoutText {#text} at (0,1) size 189x73 - text run at (0,1) width 96: "text" - text run at (96,1) width 93 RTL: "\x{645}\x{62A}\x{646}:" - LayoutText {#text} at (0,0) size 0x0 -selection start: position 5 of child 0 {#text} of child 2 {SPAN} of body -selection end: position 13 of child 0 {#text} of child 2 {SPAN} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/selection/text-selection-newline-rtl-double-linebreak-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/selection/text-selection-newline-rtl-double-linebreak-expected.png deleted file mode 100644 index b3a7049..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/selection/text-selection-newline-rtl-double-linebreak-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/selection/text-selection-newline-rtl-double-linebreak-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/selection/text-selection-newline-rtl-double-linebreak-expected.txt deleted file mode 100644 index 3357200..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/selection/text-selection-newline-rtl-double-linebreak-expected.txt +++ /dev/null
@@ -1,15 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x212 - LayoutBlockFlow {HTML} at (0,0) size 800x212 - LayoutBlockFlow {BODY} at (8,16) size 784x188 - LayoutBlockFlow {P} at (0,0) size 784x20 - LayoutText {#text} at (0,0) size 339x19 - text run at (0,0) width 339: "Passes if there are no overpainted selection highlights." - LayoutBlockFlow {DIV} at (0,36) size 784x152 - LayoutText {#text} at (756,1) size 28x73 - text run at (756,1) width 28: "a" - LayoutBR {BR} at (756,1) size 0x73 - LayoutBR {BR} at (784,77) size 0x73 -selection start: position 0 of child 0 {#text} of child 2 {DIV} of body -selection end: position 1 of child 1 {BR} of child 2 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.png deleted file mode 100644 index 9309ddb..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.txt deleted file mode 100644 index 418dfdb..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.txt +++ /dev/null
@@ -1,13 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x38 - LayoutBlockFlow {HTML} at (0,0) size 800x38 - LayoutBlockFlow {BODY} at (8,8) size 784x22 - LayoutTextControl {INPUT} at (0,0) size 154x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)] - LayoutText {#text} at (0,0) size 0x0 -layer at (10,11) size 150x16 - LayoutBlockFlow {DIV} at (2,3) size 150x16 - LayoutText {#text} at (0,0) size 71x16 - text run at (0,0) width 71: "Hello, world!" -selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 1 {INPUT} of body -selection end: position 13 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 1 {INPUT} of body
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/spellmarkers/inline_spelling_markers-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/spellmarkers/inline_spelling_markers-expected.png deleted file mode 100644 index 67c1b5e..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/disable-spinvalidation/paint/spellmarkers/inline_spelling_markers-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/tiled-mask-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/tiled-mask-expected.png index ba320740..f0d3620c4 100644 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/tiled-mask-expected.png +++ b/third_party/WebKit/LayoutTests/platform/linux/virtual/prefer_compositing_to_lcd_text/compositing/overflow/tiled-mask-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.png deleted file mode 100644 index 89432d7..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.txt deleted file mode 100644 index 1c71be7..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.txt +++ /dev/null
@@ -1,42 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutIFrame IFRAME id='iframe'", - "rect": [8, 72, 732, 94], - "reason": "layoutObject removal" - }, - { - "object": "LayoutBlockFlow HTML", - "rect": [10, 74, 728, 90], - "reason": "layoutObject removal" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [18, 82, 712, 74], - "reason": "layoutObject removal" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutIFrame IFRAME id='iframe'", - "reason": "layoutObject removal" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "layoutObject removal" - }, - { - "object": "LayoutBlockFlow HTML", - "reason": "layoutObject removal" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.png b/third_party/WebKit/LayoutTests/platform/linux/virtual/spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.png deleted file mode 100644 index f8e095e1..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.txt deleted file mode 100644 index 46881d1..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutIFrame IFRAME id='iframe'", - "rect": [8, 72, 732, 94], - "reason": "layoutObject insertion" - }, - { - "object": "LayoutBlockFlow HTML", - "rect": [10, 74, 728, 90], - "reason": "layoutObject insertion" - }, - { - "object": "LayoutView #document", - "rect": [10, 74, 728, 90], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [18, 82, 712, 74], - "reason": "layoutObject insertion" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutIFrame IFRAME id='iframe'", - "reason": "layoutObject insertion" - }, - { - "object": "LayoutView #document", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow HTML", - "reason": "layoutObject insertion" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "layoutObject insertion" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/linux/virtual/spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt b/third_party/WebKit/LayoutTests/platform/linux/virtual/spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt deleted file mode 100644 index 929908f..0000000 --- a/third_party/WebKit/LayoutTests/platform/linux/virtual/spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt +++ /dev/null
@@ -1,100 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 742], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [0, 742, 785, 99], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='relative paddingTop'", - "rect": [8, 191, 769, 642], - "reason": "bounds change" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='relative paddingTop'", - "rect": [8, 92, 769, 642], - "reason": "bounds change" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 92, 769, 99], - "reason": "layoutObject removal" - }, - { - "object": "LayoutIFrame IFRAME id='iframe'", - "rect": [8, 92, 732, 94], - "reason": "layoutObject removal" - }, - { - "object": "LayoutBlockFlow HTML", - "rect": [10, 94, 728, 90], - "reason": "layoutObject removal" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [18, 102, 712, 74], - "reason": "layoutObject removal" - }, - { - "object": "LayoutImage IMG", - "rect": [58, 241, 489, 537], - "reason": "bounds change" - }, - { - "object": "LayoutImage IMG", - "rect": [58, 142, 489, 537], - "reason": "bounds change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutIFrame IFRAME id='iframe'", - "reason": "layoutObject removal" - }, - { - "object": "LayoutText #text", - "reason": "layoutObject removal" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "layoutObject removal" - }, - { - "object": "LayoutView #document", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='relative paddingTop'", - "reason": "bounds change" - }, - { - "object": "RootInlineBox", - "reason": "bounds change" - }, - { - "object": "LayoutImage IMG", - "reason": "bounds change" - }, - { - "object": "LayoutText #text", - "reason": "location change" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "layoutObject removal" - }, - { - "object": "LayoutBlockFlow HTML", - "reason": "layoutObject removal" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png deleted file mode 100644 index 94fef2a..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png deleted file mode 100644 index 128d7e4..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-pixel-transparent-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-pixel-transparent-expected.png deleted file mode 100644 index 0cea47d..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-pixel-transparent-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png deleted file mode 100644 index bc549723..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png deleted file mode 100644 index d7a3577..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-anchor-point-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-anchor-point-expected.png deleted file mode 100644 index f42e03499..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-anchor-point-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/compositing/shadows/shadow-drawing-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/compositing/shadows/shadow-drawing-expected.png deleted file mode 100644 index f43b481..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/compositing/shadows/shadow-drawing-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/button-checkbox-click-method-repaint-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/button-checkbox-click-method-repaint-expected.png deleted file mode 100644 index a5542ba4..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/button-checkbox-click-method-repaint-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.png deleted file mode 100644 index 195d8619..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/change-text-content-and-background-color-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/change-text-content-and-background-color-expected.txt deleted file mode 100644 index af4c52ed..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/change-text-content-and-background-color-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTextControl (positioned) INPUT id='input'", - "rect": [8, 8, 244, 67], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [30, 30, 200, 23], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [30, 30, 46, 23], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTextControl (positioned) INPUT id='input'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'NEW'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/control-clip-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/control-clip-expected.txt deleted file mode 100644 index 5c2a3eb..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/control-clip-expected.txt +++ /dev/null
@@ -1,67 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [9, 84, 198, 14], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [16, 114, 184, 13], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [81, 114, 54, 14], - "reason": "full" - }, - { - "object": "LayoutText (anonymous)", - "rect": [9, 84, 53, 14], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText (anonymous)", - "reason": "full" - }, - { - "object": "InlineTextBox 'SUCCESS'", - "reason": "full" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'SUCCESS'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.png deleted file mode 100644 index ab2589a..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.txt deleted file mode 100644 index a5dd2566..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutButton BUTTON", - "rect": [3, 4, 55, 29], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [16, 11, 29, 14], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [16, 11, 29, 13], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutButton BUTTON", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Reset'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.png deleted file mode 100644 index 5d379c3b..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt deleted file mode 100644 index 3fae418..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutButton INPUT", - "rect": [3, 4, 62, 29], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [16, 11, 36, 14], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [16, 11, 36, 13], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutButton INPUT", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Submit'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt deleted file mode 100644 index 2490106..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt +++ /dev/null
@@ -1,79 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTextControl INPUT id='root'", - "position": [5, 5], - "bounds": [47, 25], - "drawsContent": true, - "backgroundColor": "#FFFFFF", - "paintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='root'", - "rect": [0, 0, 47, 25], - "reason": "subtree" - }, - { - "object": "LayoutTextControl INPUT id='root'", - "rect": [0, 0, 41, 19], - "reason": "full" - } - ] - }, - { - "name": "Child Containment Layer", - "position": [5, 5], - "bounds": [37, 15] - }, - { - "name": "LayoutBlockFlow DIV id='inner-editor'", - "position": [1, 1], - "bounds": [35, 13], - "shouldFlattenTransform": false, - "drawsContent": true - }, - { - "name": "Scrolling Layer", - "bounds": [35, 13], - "shouldFlattenTransform": false - }, - { - "name": "Scrolling Contents Layer", - "bounds": [63, 13], - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [61, 0, 1, 13], - "reason": "caret" - } - ] - }, - { - "name": "Overflow Controls Host Layer", - "bounds": [35, 13] - }, - { - "name": "Horizontal Scrollbar Layer", - "position": [0, 13], - "bounds": [35, 0], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='root'", - "reason": "subtree" - }, - { - "object": "Caret", - "reason": "caret" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/search-field-cancel-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/search-field-cancel-expected.txt deleted file mode 100644 index 16332f3a..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/search-field-cancel-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [12, 45, 113, 13], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [12, 45, 50, 13], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'some text'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/select-option-background-color-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/select-option-background-color-expected.txt deleted file mode 100644 index f7aa4527..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/select-option-background-color-expected.txt +++ /dev/null
@@ -1,28 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow OPTION id='option'", - "rect": [1, 35, 12, 15], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow OPTION id='option'", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/shadow-multiple-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/shadow-multiple-expected.png deleted file mode 100644 index fa266bcb..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/shadow-multiple-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.png deleted file mode 100644 index 1be74c4..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.txt deleted file mode 100644 index a826c0f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [11, 11, 125, 13], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [11, 11, 29, 13], - "reason": "full" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='div'", - "rect": [8, 288, 10, 20], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "full" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='div'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/svg/use-detach-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/svg/use-detach-expected.png deleted file mode 100644 index e351886..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/svg/use-detach-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.png deleted file mode 100644 index 93ba5edb..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.png deleted file mode 100644 index 9ac0c32..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.txt deleted file mode 100644 index c77cc5a..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.txt +++ /dev/null
@@ -1,13 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x35 - LayoutBlockFlow {HTML} at (0,0) size 800x35 - LayoutBlockFlow {BODY} at (8,8) size 784x19 - LayoutTextControl {INPUT} at (0,0) size 131x19 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)] - LayoutText {#text} at (0,0) size 0x0 -layer at (11,11) size 125x13 - LayoutBlockFlow {DIV} at (3,3) size 125x13 - LayoutText {#text} at (0,0) size 63x13 - text run at (0,0) width 63: "Hello, world!" -selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 1 {INPUT} of body -selection end: position 13 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 1 {INPUT} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png deleted file mode 100644 index 580891d..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/compositing/overflow/theme-affects-visual-overflow-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/compositing/overflow/theme-affects-visual-overflow-expected.png deleted file mode 100644 index b9b45e8f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/compositing/overflow/theme-affects-visual-overflow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png deleted file mode 100644 index 2d26010..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-anchor-point-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-anchor-point-expected.png deleted file mode 100644 index 1ae5cb4..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-anchor-point-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-animated-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-animated-expected.png deleted file mode 100644 index c2eadc8..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-animated-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/invalidation/button-checkbox-click-method-repaint-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/invalidation/button-checkbox-click-method-repaint-expected.png deleted file mode 100644 index 65b42f3c..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/invalidation/button-checkbox-click-method-repaint-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.png deleted file mode 100644 index 36cb408..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.png deleted file mode 100644 index cf36a594..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.png deleted file mode 100644 index 4fb85f27..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/invalidation/search-field-cancel-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/invalidation/search-field-cancel-expected.txt deleted file mode 100644 index 37ff787..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/invalidation/search-field-cancel-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [12, 45, 113, 13], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [12, 45, 51, 13], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'some text'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.png deleted file mode 100644 index f8d1268..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.txt deleted file mode 100644 index b77f30f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [11, 11, 125, 13], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [11, 11, 28, 13], - "reason": "full" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='div'", - "rect": [8, 288, 10, 20], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "full" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='div'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.png deleted file mode 100644 index c78a22c..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.png deleted file mode 100644 index e1b66ad2..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.txt deleted file mode 100644 index edb3272..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.txt +++ /dev/null
@@ -1,13 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x35 - LayoutBlockFlow {HTML} at (0,0) size 800x35 - LayoutBlockFlow {BODY} at (8,8) size 784x19 - LayoutTextControl {INPUT} at (0,0) size 131x19 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)] - LayoutText {#text} at (0,0) size 0x0 -layer at (11,11) size 125x13 - LayoutBlockFlow {DIV} at (3,3) size 125x13 - LayoutText {#text} at (0,0) size 65x13 - text run at (0,0) width 65: "Hello, world!" -selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 1 {INPUT} of body -selection end: position 13 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 1 {INPUT} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/spellmarkers/document-markers-zoom-150-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/spellmarkers/document-markers-zoom-150-expected.png deleted file mode 100644 index 49dba773..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/disable-spinvalidation/paint/spellmarkers/document-markers-zoom-150-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/off-main-thread-fetch/external/wpt/service-workers/service-worker/fetch-canvas-tainting.https-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/off-main-thread-fetch/external/wpt/service-workers/service-worker/fetch-canvas-tainting.https-expected.txt new file mode 100644 index 0000000..d639d286 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/off-main-thread-fetch/external/wpt/service-workers/service-worker/fetch-canvas-tainting.https-expected.txt
@@ -0,0 +1,4 @@ +This is a testharness.js-based test. +FAIL Verify canvas tainting of fetched image in a Service Worker assert_equals: expected "finish" but got "failure:Result of url:https://web-platform.test:8444/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8444%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8444 cross_origin: use-credentials must be LOAD_ERROR but NOT_TAINTED" +Harness: the test ran to completion. +
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png deleted file mode 100644 index 042a7ef..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/compositing/overflow/theme-affects-visual-overflow-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/compositing/overflow/theme-affects-visual-overflow-expected.png deleted file mode 100644 index b57a67c..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/compositing/overflow/theme-affects-visual-overflow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png deleted file mode 100644 index c6f499e..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-anchor-point-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-anchor-point-expected.png deleted file mode 100644 index bf60b1c..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-anchor-point-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-animated-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-animated-expected.png deleted file mode 100644 index 95aedc2..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-animated-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/background-image-paint-invalidation-large-abspos-div-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/background-image-paint-invalidation-large-abspos-div-expected.png deleted file mode 100644 index 4116e4f78..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/background-image-paint-invalidation-large-abspos-div-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/button-checkbox-click-method-repaint-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/button-checkbox-click-method-repaint-expected.png deleted file mode 100644 index 1411a75..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/button-checkbox-click-method-repaint-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.png deleted file mode 100644 index 3bac5e1..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.txt deleted file mode 100644 index 41e6eca..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.txt +++ /dev/null
@@ -1,29 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [407, 11, 2, 13], - "reason": "caret" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [404, 11, 2, 13], - "reason": "caret" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "Caret", - "reason": "caret" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/caret-with-composited-scroll-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/caret-with-composited-scroll-expected.png deleted file mode 100644 index 74c963d..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/caret-with-composited-scroll-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/change-text-content-and-background-color-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/change-text-content-and-background-color-expected.txt deleted file mode 100644 index 022bcab..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/change-text-content-and-background-color-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTextControl (positioned) INPUT id='input'", - "rect": [8, 8, 244, 67], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [30, 30, 200, 23], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [30, 30, 43, 23], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTextControl (positioned) INPUT id='input'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'NEW'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/composited-overflow-with-borderbox-background-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/composited-overflow-with-borderbox-background-expected.png deleted file mode 100644 index 39258bdc..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/composited-overflow-with-borderbox-background-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/control-clip-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/control-clip-expected.txt deleted file mode 100644 index 6670a29..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/control-clip-expected.txt +++ /dev/null
@@ -1,67 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [9, 84, 198, 14], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [16, 114, 184, 13], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [84, 114, 48, 14], - "reason": "full" - }, - { - "object": "LayoutText (anonymous)", - "rect": [9, 84, 47, 14], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText (anonymous)", - "reason": "full" - }, - { - "object": "InlineTextBox 'SUCCESS'", - "reason": "full" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'SUCCESS'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/details-open-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/details-open-repaint-expected.txt deleted file mode 100644 index 530071a..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/details-open-repaint-expected.txt +++ /dev/null
@@ -1,67 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='details-content'", - "rect": [8, 68, 784, 19], - "reason": "appeared" - }, - { - "object": "LayoutTextControl INPUT", - "rect": [8, 68, 123, 19], - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [11, 71, 117, 13], - "reason": "appeared" - }, - { - "object": "LayoutDetailsMarker DIV id='details-marker'", - "rect": [8, 53, 11, 11], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutDetailsMarker DIV id='details-marker'", - "reason": "full" - }, - { - "object": "LayoutBlockFlow DIV id='details-content'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutTextControl INPUT", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "HorizontalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/fixed-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/fixed-expected.png deleted file mode 100644 index 53efe2c..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/fixed-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.png deleted file mode 100644 index c1470f6..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.png deleted file mode 100644 index ad2533e6..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt deleted file mode 100644 index 01125c7..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutButton INPUT", - "rect": [3, 4, 64, 29], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [16, 11, 38, 14], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [16, 11, 38, 13], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutButton INPUT", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Submit'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt deleted file mode 100644 index b3e9fda..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt +++ /dev/null
@@ -1,79 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTextControl INPUT id='root'", - "position": [5, 5], - "bounds": [54, 25], - "drawsContent": true, - "backgroundColor": "#FFFFFF", - "paintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='root'", - "rect": [0, 0, 54, 25], - "reason": "subtree" - }, - { - "object": "LayoutTextControl INPUT id='root'", - "rect": [0, 0, 48, 19], - "reason": "full" - } - ] - }, - { - "name": "Child Containment Layer", - "position": [5, 5], - "bounds": [44, 15] - }, - { - "name": "LayoutBlockFlow DIV id='inner-editor'", - "position": [1, 1], - "bounds": [42, 13], - "shouldFlattenTransform": false, - "drawsContent": true - }, - { - "name": "Scrolling Layer", - "bounds": [42, 13], - "shouldFlattenTransform": false - }, - { - "name": "Scrolling Contents Layer", - "bounds": [68, 13], - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [66, 0, 1, 13], - "reason": "caret" - } - ] - }, - { - "name": "Overflow Controls Host Layer", - "bounds": [42, 13] - }, - { - "name": "Horizontal Scrollbar Layer", - "position": [0, 13], - "bounds": [42, 0], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='root'", - "reason": "subtree" - }, - { - "object": "Caret", - "reason": "caret" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt deleted file mode 100644 index 049aa0d..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt +++ /dev/null
@@ -1,70 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTextControl INPUT id='root'", - "position": [5, 5], - "bounds": [54, 25], - "drawsContent": true, - "backgroundColor": "#FFFFFF", - "paintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='root'", - "rect": [0, 0, 54, 25], - "reason": "subtree" - }, - { - "object": "LayoutTextControl INPUT id='root'", - "rect": [0, 0, 48, 19], - "reason": "full" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [6, 6, 42, 13], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [6, 6, 42, 13], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='root'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "HorizontalScrollbar", - "reason": "scroll control" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'test test test'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-repaint-expected.txt deleted file mode 100644 index f0b07c5..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-repaint-expected.txt +++ /dev/null
@@ -1,76 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [416, 23, 356, 548], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u305B\u3063\u304B\u304F\u898B\u3064\u3051\u305F\u3059\u3070\u3089\u3057\u3044\u8A18\u4E8B\u304C\u3069\u3053\u306B\u3042\u3063\u305F\u304B\u5FD8\u308C'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3066\u3057\u307E\u3063\u305F\u7D4C\u9A13\u306F\u3042\u308A\u307E\u3059\u304B\u306A\u3089\u30BF\u30A4\u30C8\u30EB\u3068\u30A2\u30C9\u30EC\u30B9\u3060'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3051\u3067\u306A\u304F\u3001\u8A2A\u554F\u3057\u305F\u30A6\u30A7\u30D6\u30DA\u30FC\u30B8\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u304B\u3089\u3082\u691C'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u7D22\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\u305B\u3063\u304B\u304F\u898B\u3064\u3051\u305F\u3059\u3070\u3089\u3057\u3044\u8A18'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u4E8B\u304C\u3069\u3053\u306B\u3042\u3063\u305F\u304B\u5FD8\u308C\u3066\u3057\u307E\u3063\u305F\u7D4C\u9A13\u306F\u3042\u308A\u307E\u3059\u304B \u306A'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3089\u30BF\u30A4\u30C8\u30EB\u3068\u30A2\u30C9\u30EC\u30B9\u3060\u3051\u3067\u306A\u304F\u3001\u8A2A\u554F\u3057\u305F\u30A6\u30A7\u30D6\u30DA\u30FC'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u30B8\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u304B\u3089\u3082\u691C\u7D22\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\u8A2A\u554F\u3057'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u305F\u30A6\u30A7\u30D6\u30DA\u30FC\u30B8\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u304B\u3089\u3082\u691C\u7D22\u3059\u308B\u3053\u3068\u304C\u3067\u304D'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u307E\u3059\u3002\u305B\u3063\u304B\u304F\u898B\u3064\u3051\u305F\u3059\u3070\u3089\u3057\u3044\u8A18\u4E8B\u304C\u3069\u3053\u306B\u3042\u3063\u305F'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u304B\u5FD8\u308C\u3066\u3057\u307E\u3063\u305F\u7D4C\u9A13\u306F\u3042\u308A\u307E\u3059\u304B \u306A\u3089\u30BF\u30A4\u30C8\u30EB\u3068\u30A2\u30C9'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u30EC\u30B9\u3060\u3051\u3067\u306A\u304F\u3001\u8A2A\u554F'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/multi-layout-one-frame-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/multi-layout-one-frame-expected.txt deleted file mode 100644 index c20cfeb..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/multi-layout-one-frame-expected.txt +++ /dev/null
@@ -1,67 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [138, 11, 117, 13], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [11, 11, 117, 13], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [138, 11, 40, 13], - "reason": "full" - }, - { - "object": "LayoutText #text", - "rect": [11, 11, 40, 13], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASSED'", - "reason": "full" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASSED'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-body-appear-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-body-appear-expected.png deleted file mode 100644 index 5429537a..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-body-appear-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-delete-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-delete-expected.png deleted file mode 100644 index b3c80a58..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-delete-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/paged-with-overflowing-block-rl-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/paged-with-overflowing-block-rl-expected.png deleted file mode 100644 index a0553a3..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/paged-with-overflowing-block-rl-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.png deleted file mode 100644 index 5f441fd..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.txt deleted file mode 100644 index 5584eca..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.txt +++ /dev/null
@@ -1,15 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -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 784x19 - LayoutTextControl {INPUT} at (0,0) size 123x19 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)] - LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow (anonymous) at (0,19) size 784x18 - LayoutText {#text} at (0,0) size 4x18 - text run at (0,0) width 4: " " - LayoutBlockFlow {DIV} at (0,37) size 784x0 -layer at (11,11) size 117x13 - LayoutBlockFlow {DIV} at (3,3) size 117x13 -caret: position 0 of child 0 {DIV} of {#document-fragment} of child 1 {INPUT} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/repaint-across-writing-mode-boundary-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/repaint-across-writing-mode-boundary-expected.png deleted file mode 100644 index 0b24d14b..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/repaint-across-writing-mode-boundary-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/search-field-cancel-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/search-field-cancel-expected.txt deleted file mode 100644 index 2a57678..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/search-field-cancel-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [12, 45, 105, 13], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [12, 45, 54, 13], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'some text'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt deleted file mode 100644 index e4815bf..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt +++ /dev/null
@@ -1,62 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='target'", - "rect": [5, 5, 54, 25], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [11, 11, 42, 13], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [11, 11, 42, 13], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutTextControl INPUT id='target'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "HorizontalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'test test test'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/stacked-diacritics-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/stacked-diacritics-expected.txt deleted file mode 100644 index a9b337a..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/stacked-diacritics-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='stacked'", - "rect": [19, 159, 200, 41], - "reason": "full" - }, - { - "object": "LayoutText #text", - "rect": [19, 153, 131, 47], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='stacked'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.png deleted file mode 100644 index 4aac75a..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.txt deleted file mode 100644 index 06a9d36..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [11, 11, 117, 13], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [11, 11, 26, 13], - "reason": "full" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='div'", - "rect": [8, 288, 10, 20], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "full" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='div'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png deleted file mode 100644 index f066428e..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/text-match-document-change-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/text-match-document-change-expected.png deleted file mode 100644 index 744ffd4b..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/text-match-document-change-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.png deleted file mode 100644 index a47b535f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.txt deleted file mode 100644 index 03ffb43..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.txt +++ /dev/null
@@ -1,85 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTextControl TEXTAREA id='editor'", - "rect": [5, 5, 167, 38], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [11, 11, 155, 13], - "reason": "subtree" - }, - { - "object": "LayoutTextControl TEXTAREA id='editor'", - "rect": [9, 24, 144, 15], - "reason": "scroll control" - }, - { - "object": "LayoutText #text", - "rect": [9, 11, 144, 13], - "reason": "subtree" - }, - { - "object": "LayoutTextControl TEXTAREA id='editor'", - "rect": [153, 24, 15, 15], - "reason": "scroll control" - }, - { - "object": "LayoutTextControl TEXTAREA id='editor'", - "rect": [153, 9, 15, 15], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTextControl TEXTAREA id='editor'", - "reason": "subtree" - }, - { - "object": "LayoutTextControl TEXTAREA id='editor'", - "reason": "geometry" - }, - { - "object": "HorizontalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutTextControl TEXTAREA id='editor'", - "reason": "geometry" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox '------------------------------------------------------------'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.png deleted file mode 100644 index a1dcf3bd..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.txt deleted file mode 100644 index e5b72cb0..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.txt +++ /dev/null
@@ -1,13 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x35 - LayoutBlockFlow {HTML} at (0,0) size 800x35 - LayoutBlockFlow {BODY} at (8,8) size 784x19 - LayoutTextControl {INPUT} at (0,0) size 123x19 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)] - LayoutText {#text} at (0,0) size 0x0 -layer at (11,11) size 117x13 - LayoutBlockFlow {DIV} at (3,3) size 117x13 - LayoutText {#text} at (0,0) size 68x13 - text run at (0,0) width 68: "Hello, world!" -selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 1 {INPUT} of body -selection end: position 13 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 1 {INPUT} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/spinvalidation/paint/invalidation/composited-overflow-with-borderbox-background-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/spinvalidation/paint/invalidation/composited-overflow-with-borderbox-background-expected.png deleted file mode 100644 index 39258bdc..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/spinvalidation/paint/invalidation/composited-overflow-with-borderbox-background-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png b/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png deleted file mode 100644 index 580891d..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/compositing/overflow/theme-affects-visual-overflow-expected.png b/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/compositing/overflow/theme-affects-visual-overflow-expected.png deleted file mode 100644 index b9b45e8f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/compositing/overflow/theme-affects-visual-overflow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png b/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png deleted file mode 100644 index 2d26010..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-anchor-point-expected.png b/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-anchor-point-expected.png deleted file mode 100644 index e5c4dd7..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-anchor-point-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-animated-expected.png b/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-animated-expected.png deleted file mode 100644 index c2eadc8..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-animated-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/invalidation/button-checkbox-click-method-repaint-expected.png b/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/invalidation/button-checkbox-click-method-repaint-expected.png deleted file mode 100644 index 65b42f3c..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/invalidation/button-checkbox-click-method-repaint-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.png b/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.png deleted file mode 100644 index 36cb408..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.png b/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.png deleted file mode 100644 index cf36a594..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.png b/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.png deleted file mode 100644 index 4fb85f27..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/invalidation/search-field-cancel-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/invalidation/search-field-cancel-expected.txt deleted file mode 100644 index 37ff787..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/invalidation/search-field-cancel-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [12, 45, 113, 13], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [12, 45, 51, 13], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'some text'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.png b/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.png deleted file mode 100644 index f8d1268..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.txt deleted file mode 100644 index b77f30f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [11, 11, 125, 13], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [11, 11, 28, 13], - "reason": "full" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='div'", - "rect": [8, 288, 10, 20], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "full" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='div'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.png b/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.png deleted file mode 100644 index c78a22c..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.png b/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.png deleted file mode 100644 index e1b66ad2..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.txt deleted file mode 100644 index edb3272..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.txt +++ /dev/null
@@ -1,13 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x35 - LayoutBlockFlow {HTML} at (0,0) size 800x35 - LayoutBlockFlow {BODY} at (8,8) size 784x19 - LayoutTextControl {INPUT} at (0,0) size 131x19 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)] - LayoutText {#text} at (0,0) size 0x0 -layer at (11,11) size 125x13 - LayoutBlockFlow {DIV} at (3,3) size 125x13 - LayoutText {#text} at (0,0) size 65x13 - text run at (0,0) width 65: "Hello, world!" -selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 1 {INPUT} of body -selection end: position 13 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 1 {INPUT} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/spellmarkers/document-markers-zoom-150-expected.png b/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/spellmarkers/document-markers-zoom-150-expected.png deleted file mode 100644 index 49dba773..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/disable-spinvalidation/paint/spellmarkers/document-markers-zoom-150-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/off-main-thread-fetch/external/wpt/service-workers/service-worker/fetch-canvas-tainting.https-expected.txt b/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/off-main-thread-fetch/external/wpt/service-workers/service-worker/fetch-canvas-tainting.https-expected.txt new file mode 100644 index 0000000..d639d286 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/mac-retina/virtual/off-main-thread-fetch/external/wpt/service-workers/service-worker/fetch-canvas-tainting.https-expected.txt
@@ -0,0 +1,4 @@ +This is a testharness.js-based test. +FAIL Verify canvas tainting of fetched image in a Service Worker assert_equals: expected "finish" but got "failure:Result of url:https://web-platform.test:8444/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=cors&url=https%3A%2F%2Fwww1.web-platform.test%3A8444%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8444 cross_origin: use-credentials must be LOAD_ERROR but NOT_TAINTED" +Harness: the test ran to completion. +
diff --git a/third_party/WebKit/LayoutTests/platform/mac/compositing/masks/mask-with-removed-filters-expected.png b/third_party/WebKit/LayoutTests/platform/mac/compositing/masks/mask-with-removed-filters-expected.png index 5b568110..0481bdbb 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/compositing/masks/mask-with-removed-filters-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/compositing/masks/mask-with-removed-filters-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/compositing/overflow/tiled-mask-expected.png b/third_party/WebKit/LayoutTests/platform/mac/compositing/overflow/tiled-mask-expected.png index ba320740..f0d3620c4 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/compositing/overflow/tiled-mask-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/compositing/overflow/tiled-mask-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/compositing/text-on-scaled-surface-expected.png b/third_party/WebKit/LayoutTests/platform/mac/compositing/text-on-scaled-surface-expected.png new file mode 100644 index 0000000..94cb2fbf --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/mac/compositing/text-on-scaled-surface-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-video-ratio-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-video-ratio-expected.png index 7c9dd39..0ac166cc 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-video-ratio-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-video-ratio-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-video-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-video-shadow-expected.png index 34365e4d..a064404 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-video-shadow-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-radius-mask-video-shadow-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/backface-visibility/backface-visibility-image-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/backface-visibility/backface-visibility-image-expected.png deleted file mode 100644 index 5aa43460..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/backface-visibility/backface-visibility-image-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/color-matching/image-color-matching-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/color-matching/image-color-matching-expected.png deleted file mode 100644 index 46ef26a..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/color-matching/image-color-matching-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/culling/scrolled-within-boxshadow-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/culling/scrolled-within-boxshadow-expected.png deleted file mode 100644 index 1772f0c..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/culling/scrolled-within-boxshadow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/culling/translated-boxshadow-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/culling/translated-boxshadow-expected.png deleted file mode 100644 index 5ce3c41..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/culling/translated-boxshadow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/culling/unscrolled-within-boxshadow-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/culling/unscrolled-within-boxshadow-expected.png deleted file mode 100644 index 1772f0c..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/culling/unscrolled-within-boxshadow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/direct-image-compositing-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/direct-image-compositing-expected.png deleted file mode 100644 index 5f3772f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/direct-image-compositing-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/geometry/clipping-foreground-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/geometry/clipping-foreground-expected.txt deleted file mode 100644 index 6b2679d..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/geometry/clipping-foreground-expected.txt +++ /dev/null
@@ -1,52 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x584 - LayoutBlockFlow {P} at (0,0) size 784x18 - LayoutText {#text} at (0,0) size 442x18 - text run at (0,0) width 442: "The layering of the boxes should not be affected by overflow:hidden." - LayoutBlockFlow (anonymous) at (0,34) size 784x479 - LayoutText {#text} at (320,306) size 4x18 - text run at (320,306) width 4: " " - LayoutText {#text} at (0,0) size 0x0 -layer at (68,261) size 200x200 layerType: background only -layer at (28,221) size 150x150 - LayoutBlockFlow (positioned) zI: -1 {DIV} at (-40,-40) size 150x150 [color=#808080] [bgcolor=#C86464] [border: (2px solid #000000)] - LayoutText zI: -1 {#text} at (22,22) size 108x40 - text run at (22,22) width 108: "Behind" -layer at (50,303) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (22,82) size 100x100 [bgcolor=#008000] [border: (2px solid #000000)] - LayoutText {#text} at (22,22) size 54x40 - text run at (22,22) width 54: "Behind" - text run at (22,42) width 52: "behind" -layer at (68,261) size 200x200 layerType: foreground only - LayoutBlockFlow (relative positioned) {DIV} at (60,219) size 200x200 [color=#0000FF] [bgcolor=#FFFFFFCC] [border: (10px solid #000000)] - LayoutText {#text} at (30,30) size 126x80 - text run at (30,30) width 59: "Box" - text run at (30,70) width 126: "contents" -layer at (158,351) size 150x150 - LayoutBlockFlow (positioned) zI: 1 {DIV} at (90,90) size 150x150 [color=#808080] [bgcolor=#C8C880] [border: (2px solid #000000)] - LayoutText zI: 1 {#text} at (22,22) size 86x80 - text run at (22,22) width 34: "In" - text run at (22,62) width 86: "Front" -layer at (392,102) size 200x200 clip at (402,112) size 180x180 scrollWidth 230 scrollHeight 230 layerType: background only -layer at (352,62) size 150x150 backgroundClip at (402,112) size 180x180 clip at (402,112) size 180x180 - LayoutBlockFlow (positioned) zI: -1 {DIV} at (-40,-40) size 150x150 [color=#808080] [bgcolor=#C86464] [border: (2px solid #000000)] - LayoutText zI: -1 {#text} at (22,22) size 108x40 - text run at (22,22) width 108: "Behind" -layer at (374,144) size 100x100 backgroundClip at (402,112) size 180x180 clip at (402,112) size 180x180 - LayoutBlockFlow (positioned) {DIV} at (22,82) size 100x100 [bgcolor=#008000] [border: (2px solid #000000)] - LayoutText {#text} at (22,22) size 54x40 - text run at (22,22) width 54: "Behind" - text run at (22,42) width 52: "behind" -layer at (392,102) size 200x200 clip at (402,112) size 180x180 scrollWidth 230 scrollHeight 230 layerType: foreground only - LayoutBlockFlow (relative positioned) {DIV} at (384,60) size 200x200 [color=#0000FF] [bgcolor=#FFFFFFCC] [border: (10px solid #000000)] - LayoutText {#text} at (30,30) size 126x80 - text run at (30,30) width 59: "Box" - text run at (30,70) width 126: "contents" -layer at (482,192) size 150x150 backgroundClip at (402,112) size 180x180 clip at (402,112) size 180x180 - LayoutBlockFlow (positioned) zI: 1 {DIV} at (90,90) size 150x150 [color=#808080] [bgcolor=#C8C880] [border: (2px solid #000000)] - LayoutText zI: 1 {#text} at (22,22) size 86x80 - text run at (22,22) width 34: "In" - text run at (22,62) width 86: "Front"
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/geometry/video-fixed-scrolling-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/geometry/video-fixed-scrolling-expected.png deleted file mode 100644 index 663a5575..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/geometry/video-fixed-scrolling-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/geometry/video-opacity-overlay-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/geometry/video-opacity-overlay-expected.png deleted file mode 100644 index 31ef35b1..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/geometry/video-opacity-overlay-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png deleted file mode 100644 index 75f290f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-pixel-rotated-div-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png deleted file mode 100644 index e56d7700..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-pixel-transparent-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-pixel-transparent-expected.png deleted file mode 100644 index a7f6587d..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-pixel-transparent-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-skew-matrix-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-skew-matrix-expected.png deleted file mode 100644 index 8a9e6c7..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-skew-matrix-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-with-box-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-with-box-shadow-expected.png deleted file mode 100644 index 12e044e..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-with-box-shadow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-with-squashing-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-with-squashing-expected.png deleted file mode 100644 index b8c2c24..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-with-squashing-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/iframes/composited-iframe-alignment-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/iframes/composited-iframe-alignment-expected.txt deleted file mode 100644 index 95dd0d19..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/iframes/composited-iframe-alignment-expected.txt +++ /dev/null
@@ -1,21 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x70 - LayoutBlockFlow {HTML} at (0,0) size 800x70 - LayoutBlockFlow {BODY} at (8,8) size 784x54 - LayoutText {#text} at (0,0) size 783x36 - text run at (0,0) width 605: "Simple test of composited iframe content. There should be a blue box with a gray background " - text run at (604,0) width 179: "inside the black border. The" - text run at (0,18) width 391: "gray background should fit perfectly within the block border " - text run at (390,18) width 91: "with no gaps. " - LayoutBR {BR} at (0,0) size 0x0 - LayoutBR {BR} at (0,36) size 0x18 -layer at (100,100) size 440x340 - LayoutIFrame (positioned) {IFRAME} at (100,100) size 440x340 [border: (20px solid #000000)] - layer at (0,0) size 400x300 - LayoutView at (0,0) size 400x300 - layer at (0,0) size 400x230 - LayoutBlockFlow {HTML} at (0,0) size 400x230 - LayoutBlockFlow {BODY} at (8,10) size 384x210 [bgcolor=#C0C0C0] - layer at (18,10) size 210x210 - LayoutBlockFlow {DIV} at (10,0) size 210x210 [bgcolor=#0000FF]
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/layers-inside-overflow-scroll-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/layers-inside-overflow-scroll-expected.png deleted file mode 100644 index 7cef7c3..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/layers-inside-overflow-scroll-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/lots-of-img-layers-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/lots-of-img-layers-expected.png deleted file mode 100644 index 1d5e388..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/lots-of-img-layers-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/lots-of-img-layers-with-opacity-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/lots-of-img-layers-with-opacity-expected.png deleted file mode 100644 index 504660f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/lots-of-img-layers-with-opacity-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/masks/direct-image-mask-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/masks/direct-image-mask-expected.png deleted file mode 100644 index 2a47f72..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/masks/direct-image-mask-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/masks/mask-with-removed-filters-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/masks/mask-with-removed-filters-expected.png new file mode 100644 index 0000000..0481bdbb --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/masks/mask-with-removed-filters-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/overflow/border-radius-styles-with-composited-child-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/overflow/border-radius-styles-with-composited-child-expected.png deleted file mode 100644 index 5cf728d..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/overflow/border-radius-styles-with-composited-child-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/overflow/clip-parent-reset-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/overflow/clip-parent-reset-expected.txt deleted file mode 100644 index d55ca74..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/overflow/clip-parent-reset-expected.txt +++ /dev/null
@@ -1,14 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x184 - LayoutBlockFlow {HTML} at (0,0) size 800x184 - LayoutBlockFlow {BODY} at (8,8) size 784x168 - LayoutBlockFlow (anonymous) at (0,150) size 784x18 - LayoutText {#text} at (0,0) size 639x18 - text run at (0,0) width 639: "This test verifies the clip parent of a layer gets correctly reset when it gained a non-composited clip." -layer at (8,8) size 150x150 transparent - LayoutBlockFlow {DIV} at (0,0) size 150x150 [bgcolor=#FF0000] -layer at (8,8) size 100x100 scrollWidth 200 scrollHeight 200 - LayoutBlockFlow {DIV} at (0,0) size 100x100 -layer at (8,8) size 200x200 backgroundClip at (8,8) size 100x100 clip at (8,8) size 100x100 - LayoutBlockFlow {DIV} at (0,0) size 200x200 [bgcolor=#008000]
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png deleted file mode 100644 index e586fb1..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/overflow/overflow-compositing-descendant-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/overflow/overflow-compositing-descendant-expected.png deleted file mode 100644 index 516ff60..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/overflow/overflow-compositing-descendant-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/overflow/scroll-ancestor-update-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/overflow/scroll-ancestor-update-expected.png deleted file mode 100644 index a3d77e0..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/overflow/scroll-ancestor-update-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/overflow/scrollbar-layer-placement-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/overflow/scrollbar-layer-placement-expected.png deleted file mode 100644 index 2625ea2..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/overflow/scrollbar-layer-placement-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/overflow/theme-affects-visual-overflow-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/overflow/theme-affects-visual-overflow-expected.png deleted file mode 100644 index bb32dcb..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/overflow/theme-affects-visual-overflow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/overflow/tiled-mask-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/overflow/tiled-mask-expected.png new file mode 100644 index 0000000..f0d3620c4 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/overflow/tiled-mask-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png deleted file mode 100644 index 40840209..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/overflow/update-widget-positions-on-nested-frames-and-scrollers-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/reflections/load-video-in-reflection-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/reflections/load-video-in-reflection-expected.png deleted file mode 100644 index 8426d61..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/reflections/load-video-in-reflection-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-anchor-point-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-anchor-point-expected.png deleted file mode 100644 index bf60b1c..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-anchor-point-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-animated-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-animated-expected.png deleted file mode 100644 index 95aedc2..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-animated-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/reflections/simple-composited-reflections-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/reflections/simple-composited-reflections-expected.png deleted file mode 100644 index 9053b6d6..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/reflections/simple-composited-reflections-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/self-painting-layers-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/self-painting-layers-expected.png deleted file mode 100644 index 2abf9de..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/self-painting-layers-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/shadows/shadow-drawing-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/shadows/shadow-drawing-expected.png deleted file mode 100644 index 74b946f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/shadows/shadow-drawing-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/squashing/selection-repaint-with-gaps-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/squashing/selection-repaint-with-gaps-expected.txt deleted file mode 100644 index 9d822583..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/squashing/selection-repaint-with-gaps-expected.txt +++ /dev/null
@@ -1,135 +0,0 @@ -lorem ipsumlorem ipsumlorem ipsum -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "Squashing Containment Layer", - "shouldFlattenTransform": false - }, - { - "name": "LayoutBlockFlow DIV class='overlap'", - "position": [8, 8], - "bounds": [300, 500] - }, - { - "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (positioned) DIV class='item')", - "position": [15, 35], - "bounds": [100, 210], - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [0, 80, 42, 36], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='item1' class='item'", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV class='inline-block'", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'lorem'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'ipsum'", - "reason": "geometry" - } - ] -} -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "Squashing Containment Layer", - "shouldFlattenTransform": false - }, - { - "name": "LayoutBlockFlow DIV class='overlap'", - "position": [8, 8], - "bounds": [300, 500] - }, - { - "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (positioned) DIV class='item')", - "position": [15, 35], - "bounds": [100, 210], - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [0, 80, 44, 36], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [0, 160, 42, 36], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='item1' class='item'", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV class='inline-block'", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'lorem'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'ipsum'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='item2' class='item'", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV class='inline-block'", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'lorem'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'ipsum'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/text-on-scaled-surface-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/text-on-scaled-surface-expected.png new file mode 100644 index 0000000..94cb2fbf --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/text-on-scaled-surface-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/video-frame-size-change-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/video-frame-size-change-expected.txt deleted file mode 100644 index db2f0421..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/video-frame-size-change-expected.txt +++ /dev/null
@@ -1,26 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x242 - LayoutBlockFlow {HTML} at (0,0) size 800x242 - LayoutBlockFlow {BODY} at (8,16) size 784x218 - LayoutBlockFlow {P} at (0,0) size 784x18 - LayoutText {#text} at (0,0) size 493x18 - text run at (0,0) width 493: "Tests decoding and rendering a video element that has a changing resolution." - LayoutBlockFlow (anonymous) at (0,34) size 784x184 - LayoutText {#text} at (320,166) size 4x18 - text run at (320,166) width 4: " " - LayoutText {#text} at (0,0) size 0x0 -layer at (8,50) size 320x180 - LayoutVideo {VIDEO} at (0,0) size 320x180 -layer at (332,50) size 320x180 - LayoutVideo {VIDEO} at (324,0) size 320x180 -layer at (8,50) size 320x180 - LayoutFlexibleBox (relative positioned) {DIV} at (0,0) size 320x180 - LayoutBlockFlow {DIV} at (0,148) size 320x32 -layer at (8,50) size 320x138 - LayoutFlexibleBox (relative positioned) {DIV} at (0,0) size 320x138 -layer at (332,50) size 320x180 - LayoutFlexibleBox (relative positioned) {DIV} at (0,0) size 320x180 - LayoutBlockFlow {DIV} at (0,148) size 320x32 -layer at (332,50) size 320x138 - LayoutFlexibleBox (relative positioned) {DIV} at (0,0) size 320x138
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/visibility/visibility-image-layers-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/visibility/visibility-image-layers-expected.png deleted file mode 100644 index 9fdd267..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/visibility/visibility-image-layers-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/visibility/visibility-simple-video-layer-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/visibility/visibility-simple-video-layer-expected.png deleted file mode 100644 index 5f8d36aec..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/visibility/visibility-simple-video-layer-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/webgl/webgl-nonpremultiplied-blend-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/webgl/webgl-nonpremultiplied-blend-expected.txt deleted file mode 100644 index e636f6a..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/compositing/webgl/webgl-nonpremultiplied-blend-expected.txt +++ /dev/null
@@ -1,12 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x260 - LayoutBlockFlow {HTML} at (0,0) size 800x260 - LayoutBlockFlow {BODY} at (8,8) size 784x244 - LayoutText {#text} at (240,226) size 4x18 - text run at (240,226) width 4: " " - LayoutText {#text} at (0,0) size 0x0 -layer at (28,28) size 200x200 - LayoutHTMLCanvas {CANVAS} at (20,20) size 200x200 [bgcolor=#00008000] -layer at (272,28) size 200x200 - LayoutHTMLCanvas {CANVAS} at (264,20) size 200x200 [bgcolor=#00008000]
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/4776765-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/4776765-expected.png deleted file mode 100644 index ba620ef0..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/4776765-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/4776765-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/4776765-expected.txt deleted file mode 100644 index f3a86e58..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/4776765-expected.txt +++ /dev/null
@@ -1,58 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [3, 37, 794, 64], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='div'", - "rect": [8, 78, 784, 18], - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow DIV id='div'", - "rect": [8, 60, 1, 18], - "reason": "caret" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutBlockFlow DIV id='div'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutBR BR", - "reason": "appeared" - }, - { - "object": "InlineTextBox '\n'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/abspos-shift-image-incorrect-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/abspos-shift-image-incorrect-repaint-expected.txt deleted file mode 100644 index 37c76b3..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/abspos-shift-image-incorrect-repaint-expected.txt +++ /dev/null
@@ -1,136 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [1250, 585], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='shiftMe'", - "rect": [0, 0, 1500, 236], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='shiftMe'", - "rect": [-250, 0, 1500, 236], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='imageWrapper'", - "rect": [704, 0, 700, 236], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='imageWrapper'", - "rect": [454, 0, 700, 236], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='imageWrapper'", - "rect": [0, 0, 700, 236], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='imageWrapper'", - "rect": [-250, 0, 700, 236], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [1250, 0, 250, 585], - "reason": "incremental" - }, - { - "object": "LayoutImage IMG", - "rect": [704, 0, 214, 232], - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "rect": [454, 0, 214, 232], - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "rect": [0, 0, 214, 232], - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "rect": [-250, 0, 214, 232], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [700, 218, 4, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [450, 218, 4, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='shiftMe'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='imageWrapper'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='imageWrapper'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/background-image-paint-invalidation-large-abspos-div-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/background-image-paint-invalidation-large-abspos-div-expected.png deleted file mode 100644 index c16b0de5..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/background-image-paint-invalidation-large-abspos-div-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/background-image-paint-invalidation-small-document-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/background-image-paint-invalidation-small-document-expected.png deleted file mode 100644 index 608f01c4..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/background-image-paint-invalidation-small-document-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/backgroundSizeRepaint-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/backgroundSizeRepaint-expected.txt deleted file mode 100644 index c7ec4df..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/backgroundSizeRepaint-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [19, 329, 200, 60], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [19, 169, 200, 60], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='b'", - "rect": [29, 369, 180, 20], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='a'", - "rect": [29, 209, 180, 20], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='a'", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='b'", - "reason": "incremental" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/block-layout-inline-children-float-positioned-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/block-layout-inline-children-float-positioned-expected.txt deleted file mode 100644 index 375c2a2..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/block-layout-inline-children-float-positioned-expected.txt +++ /dev/null
@@ -1,67 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) SPAN", - "rect": [305, 35, 296, 18], - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "rect": [305, 35, 296, 18], - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow (positioned) SPAN", - "rect": [153, 35, 296, 18], - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "rect": [153, 35, 296, 18], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) SPAN", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'the quick brown fox jumped over the lazy dog'", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow (positioned) SPAN", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'the quick brown fox jumped over the lazy dog'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/block-no-inflow-children-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/block-no-inflow-children-expected.txt deleted file mode 100644 index 7d04804..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/block-no-inflow-children-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [0, 0, 64, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [0, 0, 64, 18], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'La la la la'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/block-selection-gap-stale-cache-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/block-selection-gap-stale-cache-expected.txt deleted file mode 100644 index 6e335035..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/block-selection-gap-stale-cache-expected.txt +++ /dev/null
@@ -1,11 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -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 784x100 - LayoutBlockFlow {DIV} at (0,0) size 100x100 - LayoutBR {BR} at (100,100) size 0x0 - LayoutBlockFlow (anonymous) at (0,100) size 784x18 - LayoutText {#text} at (0,0) size 4x18 - text run at (0,0) width 4: " "
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/border-radius-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/border-radius-repaint-expected.txt deleted file mode 100644 index c3ec47f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/border-radius-repaint-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [19, 239, 200, 88], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [19, 79, 200, 88], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='b'", - "rect": [33, 293, 172, 20], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='a'", - "rect": [33, 133, 172, 20], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='a'", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='b'", - "reason": "incremental" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/box-inline-resize-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/box-inline-resize-expected.txt deleted file mode 100644 index 5a6f239..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/box-inline-resize-expected.txt +++ /dev/null
@@ -1,73 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow H2", - "rect": [40, 103, 113, 29], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [40, 103, 113, 29], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow H2", - "rect": [8, 103, 113, 29], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 103, 113, 29], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 84, 32, 68], - "reason": "geometry" - }, - { - "object": "LayoutImage IMG id='foo'", - "rect": [8, 84, 32, 32], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutImage IMG id='foo'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow H2", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Chromium'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/box-shadow-dynamic-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/box-shadow-dynamic-expected.txt deleted file mode 100644 index 0f9972af..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/box-shadow-dynamic-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [18, 70, 55, 75], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [18, 190, 55, 55], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/bugzilla-3509-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/bugzilla-3509-expected.txt deleted file mode 100644 index bd92e0f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/bugzilla-3509-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='im'", - "rect": [11, 125, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [11, 125, 4, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='im'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u00A0'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/bugzilla-5699-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/bugzilla-5699-expected.txt deleted file mode 100644 index c156eb4..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/bugzilla-5699-expected.txt +++ /dev/null
@@ -1,93 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow P", - "rect": [8, 130, 784, 66], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 178, 36, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 148, 36, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='d'", - "rect": [8, 145, 4, 18], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 145, 4, 18], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 130, 4, 18], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='d'", - "reason": "style change" - }, - { - "object": "InlineFlowBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox '\u00A0'", - "reason": "style change" - }, - { - "object": "LayoutBR BR", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Hello'", - "reason": "geometry" - }, - { - "object": "LayoutBR BR", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/bugzilla-6278-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/bugzilla-6278-expected.txt deleted file mode 100644 index 12d1a1e..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/bugzilla-6278-expected.txt +++ /dev/null
@@ -1,124 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [10, 132, 292, 144], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [10, 281, 292, 50], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [10, 132, 276, 144], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [10, 132, 242, 180], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [10, 317, 242, 50], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD id='col1'", - "rect": [10, 331, 242, 36], - "reason": "incremental" - }, - { - "object": "LayoutText #text", - "rect": [10, 132, 240, 180], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD id='target'", - "rect": [254, 132, 52, 235], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD id='col1'", - "rect": [252, 132, 50, 199], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableCell TD id='col1'", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Curabitur pretium, quam quis semper'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'malesuada, est libero feugiat libero,'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'vel fringilla orci nibh sed neque.'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Quisque eu nulla non nisi molestie'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'accumsan. Etiam tellus urna, laoreet'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'ac, laoreet non, suscipit sed, sapien.'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Phasellus vehicula, sem at posuere'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'vehicula, augue nibh molestie nisl,'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'nec ullamcorper lacus ante vulputate'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'pede.'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD id='target'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/bugzilla-6388-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/bugzilla-6388-expected.txt deleted file mode 100644 index a28c1a4b..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/bugzilla-6388-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV", - "rect": [8, 130, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 130, 100, 100], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "disappeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/bugzilla-6473-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/bugzilla-6473-expected.txt deleted file mode 100644 index 17e05d7..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/bugzilla-6473-expected.txt +++ /dev/null
@@ -1,60 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='allcontent'", - "rect": [8, 130, 784, 50], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (relative positioned) P", - "rect": [8, 146, 784, 18], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) P", - "rect": [8, 130, 784, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 146, 70, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 130, 70, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='allcontent'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (relative positioned) P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'SUCCESS'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/bugzilla-7235-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/bugzilla-7235-expected.png deleted file mode 100644 index d33dc55..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/bugzilla-7235-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/bugzilla-7235-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/bugzilla-7235-expected.txt deleted file mode 100644 index 3fecbfe..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/bugzilla-7235-expected.txt +++ /dev/null
@@ -1,63 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 148, 784, 18], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='t'", - "rect": [8, 166, 100, 100], - "reason": "appeared" - }, - { - "object": "LayoutInline (relative positioned) SPAN id='p'", - "rect": [8, 148, 4, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 148, 4, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline (relative positioned) SPAN id='p'", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u00A0'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='t'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/button-checkbox-click-method-repaint-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/button-checkbox-click-method-repaint-expected.png deleted file mode 100644 index f7c30f9..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/button-checkbox-click-method-repaint-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/canvas-resize-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/canvas-resize-expected.png deleted file mode 100644 index 2617d24..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/canvas-resize-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/canvas-resize-no-full-invalidation-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/canvas-resize-no-full-invalidation-expected.png deleted file mode 100644 index 4359ac3..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/canvas-resize-no-full-invalidation-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-contenteditable-content-after-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-contenteditable-content-after-expected.png deleted file mode 100644 index 5674348..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-contenteditable-content-after-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-contenteditable-content-after-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-contenteditable-content-after-expected.txt deleted file mode 100644 index bae6e26..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-contenteditable-content-after-expected.txt +++ /dev/null
@@ -1,176 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='editor'", - "rect": [3, 39, 794, 28], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV id='editor'", - "rect": [3, 39, 794, 28], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='editor'", - "rect": [3, 39, 794, 28], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='editor'", - "rect": [3, 39, 794, 28], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 44, 23, 18], - "reason": "full" - }, - { - "object": "LayoutText #text", - "rect": [8, 44, 16, 18], - "reason": "full" - }, - { - "object": "LayoutTextFragment (anonymous)", - "rect": [30, 44, 9, 18], - "reason": "geometry" - }, - { - "object": "LayoutTextFragment (anonymous)", - "rect": [23, 44, 9, 18], - "reason": "geometry" - }, - { - "object": "LayoutTextFragment (anonymous)", - "rect": [23, 44, 9, 18], - "reason": "geometry" - }, - { - "object": "LayoutTextFragment (anonymous)", - "rect": [15, 44, 9, 18], - "reason": "geometry" - }, - { - "object": "LayoutTextFragment (anonymous)", - "rect": [15, 44, 9, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 44, 8, 18], - "reason": "appeared" - }, - { - "object": "LayoutTextFragment (anonymous)", - "rect": [8, 44, 8, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='editor'", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutBlockFlow DIV id='editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'a'", - "reason": "appeared" - }, - { - "object": "LayoutTextFragment (anonymous)", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'ab'", - "reason": "full" - }, - { - "object": "LayoutTextFragment (anonymous)", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'abc'", - "reason": "full" - }, - { - "object": "LayoutTextFragment (anonymous)", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.png deleted file mode 100644 index 8fbbd80..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.txt deleted file mode 100644 index cc332d1..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.txt +++ /dev/null
@@ -1,29 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [407, 11, 2, 13], - "reason": "caret" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [405, 11, 2, 13], - "reason": "caret" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "Caret", - "reason": "caret" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-outside-block-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-outside-block-expected.txt deleted file mode 100644 index 12a8fe8..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-outside-block-expected.txt +++ /dev/null
@@ -1,24 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [791, 8, 1, 18], - "reason": "caret" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "Caret", - "reason": "caret" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-subpixel-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-subpixel-expected.txt deleted file mode 100644 index 05c1760..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-subpixel-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='target'", - "rect": [8, 8, 225, 19], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [11, 11, 201, 13], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='target'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "subtree" - }, - { - "object": "Caret", - "reason": "caret" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-with-composited-scroll-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-with-composited-scroll-expected.png deleted file mode 100644 index cacf24b..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-with-composited-scroll-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-with-composited-scroll-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-with-composited-scroll-expected.txt deleted file mode 100644 index 69ee0c96f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-with-composited-scroll-expected.txt +++ /dev/null
@@ -1,70 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutBlockFlow DIV id='scroller'", - "position": [8, 44], - "bounds": [100, 100], - "shouldFlattenTransform": false, - "drawsContent": true - }, - { - "name": "Scrolling Layer", - "bounds": [100, 100], - "shouldFlattenTransform": false - }, - { - "name": "Scrolling Contents Layer", - "bounds": [205, 1019], - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='text'", - "rect": [-3, 997, 211, 25], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [3, 1003, 200, 13], - "reason": "subtree" - } - ] - }, - { - "name": "Overflow Controls Host Layer", - "bounds": [100, 100] - }, - { - "name": "Horizontal Scrollbar Layer", - "position": [0, 100], - "bounds": [100, 0], - "drawsContent": true - }, - { - "name": "Vertical Scrollbar Layer", - "position": [100, 0], - "bounds": [0, 100], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='text'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "subtree" - }, - { - "object": "Caret", - "reason": "caret" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-with-transformation-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-with-transformation-expected.png deleted file mode 100644 index 7be3536..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-with-transformation-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-with-transformation-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-with-transformation-expected.txt deleted file mode 100644 index 56b54e8..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/caret-with-transformation-expected.txt +++ /dev/null
@@ -1,29 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='div'", - "rect": [345, 211, 11, 17], - "reason": "caret" - }, - { - "object": "LayoutBlockFlow DIV id='div'", - "rect": [42, 36, 11, 17], - "reason": "caret" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "Caret", - "reason": "caret" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/change-text-content-and-background-color-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/change-text-content-and-background-color-expected.txt deleted file mode 100644 index 2638cda..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/change-text-content-and-background-color-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTextControl (positioned) INPUT id='input'", - "rect": [8, 8, 244, 67], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [30, 30, 200, 23], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [30, 30, 44, 23], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTextControl (positioned) INPUT id='input'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'NEW'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/clip-with-layout-delta-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/clip-with-layout-delta-expected.txt deleted file mode 100644 index db15dc3..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/clip-with-layout-delta-expected.txt +++ /dev/null
@@ -1,85 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) DIV", - "rect": [108, 8, 100, 100], - "reason": "background" - }, - { - "object": "LayoutBlockFlow SPAN id='t2' class='blue'", - "rect": [108, 8, 100, 100], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 8, 100, 100], - "reason": "background" - }, - { - "object": "LayoutBlockFlow SPAN id='t1'", - "rect": [8, 8, 100, 100], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [108, 8, 4, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 8, 4, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "reason": "background" - }, - { - "object": "LayoutBlockFlow SPAN id='t1'", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u00A0'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV", - "reason": "background" - }, - { - "object": "LayoutBlockFlow SPAN id='t2' class='blue'", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u00A0'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/clipped-relative-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/clipped-relative-expected.txt deleted file mode 100644 index d79b913..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/clipped-relative-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='inner'", - "rect": [8, 70, 204, 232], - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "rect": [8, 70, 204, 232], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='inner'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/composited-overflow-with-borderbox-background-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/composited-overflow-with-borderbox-background-expected.png deleted file mode 100644 index 21b0b3d9..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/composited-overflow-with-borderbox-background-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt deleted file mode 100644 index bb881861..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt +++ /dev/null
@@ -1,36 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTableRow TR", - "position": [8, 8], - "transformOrigin": [37.5, 10.5], - "bounds": [76, 22], - "drawsContent": true, - "backgroundColor": "#FF0000", - "paintInvalidations": [ - { - "object": "LayoutTableCell TD id='target'", - "rect": [0, 0, 38, 21], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableCell TD id='target'", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/compositing/become-overlay-composited-layer-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/compositing/become-overlay-composited-layer-expected.png deleted file mode 100644 index b857cab..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/compositing/become-overlay-composited-layer-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/compositing/fixed-pos-with-abs-pos-child-scroll-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/compositing/fixed-pos-with-abs-pos-child-scroll-expected.txt deleted file mode 100644 index 038fc3e..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/compositing/fixed-pos-with-abs-pos-child-scroll-expected.txt +++ /dev/null
@@ -1,96 +0,0 @@ -Hi! -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 4021], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='abs'", - "rect": [425, 980, 360, 90], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='abs'", - "rect": [425, 980, 360, 90], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='abs'", - "rect": [425, 480, 360, 90], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='abs'", - "rect": [425, 480, 360, 90], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [425, 980, 22, 18], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [425, 980, 22, 18], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [425, 480, 22, 18], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [425, 480, 22, 18], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='fixed'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='abs'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Hi!'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='fixed'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='abs'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Hi!'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/compositing/iframe-inside-squashed-layer-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/compositing/iframe-inside-squashed-layer-expected.txt deleted file mode 100644 index 08da9ec..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/compositing/iframe-inside-squashed-layer-expected.txt +++ /dev/null
@@ -1,86 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 1016], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "Squashing Containment Layer", - "shouldFlattenTransform": false - }, - { - "name": "LayoutBlockFlow DIV id='foo'", - "position": [8, 8], - "bounds": [200, 1000], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#D3D3D3" - }, - { - "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (positioned) DIV)", - "position": [8, 0], - "bounds": [300, 654], - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [0, 500, 300, 150], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [8, 508, 284, 18], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [8, 508, 269, 142], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 508, 31, 18], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [285, 500, 15, 150], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'test1'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/compositing/page-scale-repaint-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/compositing/page-scale-repaint-expected.png deleted file mode 100644 index 5b9106a8c..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/compositing/page-scale-repaint-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/compositing/remove-squashed-layer-plus-move-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/compositing/remove-squashed-layer-plus-move-expected.txt deleted file mode 100644 index 3ed5b0bd..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/compositing/remove-squashed-layer-plus-move-expected.txt +++ /dev/null
@@ -1,112 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [1418, 1008], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='container'", - "rect": [8, 8, 769, 108], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 116, 769, 54], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 62, 769, 54], - "reason": "geometry" - } - ] - }, - { - "name": "Squashing Containment Layer", - "shouldFlattenTransform": false - }, - { - "name": "LayoutBlockFlow (positioned) DIV", - "position": [8, 8], - "bounds": [1000, 1000] - }, - { - "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (relative positioned) DIV class='mv-tile')", - "position": [8, 8], - "bounds": [1000, 104], - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) DIV class='mv-tile'", - "rect": [0, 108, 1000, 50], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='mv-tile'", - "rect": [0, 54, 1000, 50], - "reason": "compositing update" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='mv-tile'", - "rect": [0, 54, 100, 50], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='mv-tile'", - "rect": [0, 0, 100, 50], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='foo' class='mv-tile'", - "rect": [0, 0, 100, 50], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) DIV id='foo' class='mv-tile'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='mv-tile'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='mv-tile'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='container'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='mv-tile'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='mv-tile'", - "reason": "compositing update" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/control-clip-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/control-clip-expected.txt deleted file mode 100644 index ac49867..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/control-clip-expected.txt +++ /dev/null
@@ -1,67 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [9, 84, 198, 14], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [16, 114, 184, 13], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [82, 114, 52, 14], - "reason": "full" - }, - { - "object": "LayoutText (anonymous)", - "rect": [9, 84, 52, 14], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText (anonymous)", - "reason": "full" - }, - { - "object": "InlineTextBox 'SUCCESS'", - "reason": "full" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'SUCCESS'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/crbug-371640-2-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/crbug-371640-2-expected.txt deleted file mode 100644 index 42f5fdf1..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/crbug-371640-2-expected.txt +++ /dev/null
@@ -1,62 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='keep' class='item'", - "rect": [348, 84, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='to_remove' class='item'", - "rect": [348, 84, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='keep' class='item'", - "rect": [88, 84, 100, 100], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='to_remove' class='item'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (relative positioned) (floating) DIV id='to_remove_inner' class='inner'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (floating) DIV id='node' class='outer'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (floating) DIV id='keep_outer' class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) (floating) DIV id='keep_inner' class='inner'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='abs_pos'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='keep' class='item'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/crbug-371640-3-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/crbug-371640-3-expected.txt deleted file mode 100644 index c554953..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/crbug-371640-3-expected.txt +++ /dev/null
@@ -1,54 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='keep_child'", - "rect": [508, 204, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='remove_child'", - "rect": [508, 84, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='keep_child'", - "rect": [408, 204, 100, 100], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='remove_child'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (floating) DIV id='remove' class='outer'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (floating) DIV id='keep_outer' class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='keep_inner'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='abs_pos'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='keep_child'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/crbug-371640-4-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/crbug-371640-4-expected.txt deleted file mode 100644 index ce84f18..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/crbug-371640-4-expected.txt +++ /dev/null
@@ -1,85 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='keep' class='item'", - "rect": [408, 84, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='to_remove' class='item'", - "rect": [408, 84, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='keep' class='item'", - "rect": [208, 84, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [408, 84, 4, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [408, 84, 4, 18], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [208, 84, 4, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='to_remove' class='item'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (relative positioned) (floating) DIV id='to_remove_inner' class='inner'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (relative positioned) (floating) DIV id='node' class='outer'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='abs_pos'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) (floating) DIV id='keep_inner' class='inner'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='keep' class='item'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u00A0'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/crbug-371640-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/crbug-371640-expected.txt deleted file mode 100644 index 36328e12..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/crbug-371640-expected.txt +++ /dev/null
@@ -1,89 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='keep' class='item'", - "rect": [348, 84, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='to_remove' class='item'", - "rect": [348, 84, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='keep' class='item'", - "rect": [88, 84, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [348, 84, 4, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [348, 84, 4, 18], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [88, 84, 4, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='to_remove' class='item'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (relative positioned) (floating) DIV id='to_remove_inner' class='inner'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (floating) DIV id='node' class='outer'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (floating) DIV id='keep_outer' class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) (floating) DIV id='keep_inner' class='inner'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='abs_pos'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='keep' class='item'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u00A0'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/delete-into-nested-block-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/delete-into-nested-block-expected.png deleted file mode 100644 index 2de9ffa..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/delete-into-nested-block-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/delete-into-nested-block-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/delete-into-nested-block-expected.txt deleted file mode 100644 index d1da7e2..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/delete-into-nested-block-expected.txt +++ /dev/null
@@ -1,115 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='two'", - "rect": [8, 137, 784, 37], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 155, 784, 19], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 137, 784, 19], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='one'", - "rect": [8, 119, 784, 19], - "reason": "full" - }, - { - "object": "LayoutText #text", - "rect": [8, 155, 32, 19], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 119, 32, 19], - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 137, 28, 19], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 119, 28, 19], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='two'", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutInline SPAN", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='one'", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'three'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/details-open-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/details-open-repaint-expected.txt deleted file mode 100644 index 7a1cade..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/details-open-repaint-expected.txt +++ /dev/null
@@ -1,67 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='details-content'", - "rect": [8, 68, 784, 19], - "reason": "appeared" - }, - { - "object": "LayoutTextControl INPUT", - "rect": [8, 68, 131, 19], - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [11, 71, 125, 13], - "reason": "appeared" - }, - { - "object": "LayoutDetailsMarker DIV id='details-marker'", - "rect": [8, 53, 11, 11], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutDetailsMarker DIV id='details-marker'", - "reason": "full" - }, - { - "object": "LayoutBlockFlow DIV id='details-content'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutTextControl INPUT", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "HorizontalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/dynamic-table-vertical-alignment-change-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/dynamic-table-vertical-alignment-change-expected.txt deleted file mode 100644 index 733955dc..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/dynamic-table-vertical-alignment-change-expected.txt +++ /dev/null
@@ -1,64 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [808, 585], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCell TD", - "rect": [10, 73, 102, 99], - "reason": "incremental" - }, - { - "object": "LayoutTableCell TD", - "rect": [12, 70, 100, 102], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow (floating) DIV id='target'", - "rect": [11, 71, 100, 100], - "reason": "style change" - }, - { - "object": "LayoutTableCell TD", - "rect": [114, 70, 2, 102], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [14, 70, 2, 3], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableCell TD", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow (floating) DIV id='target'", - "reason": "style change" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/fixed-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/fixed-expected.png deleted file mode 100644 index c42d6c2..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/fixed-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-expected.txt deleted file mode 100644 index 57f2eeb..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-expected.txt +++ /dev/null
@@ -1,179 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='content'", - "rect": [138, 116, 654, 90], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow P", - "rect": [138, 116, 654, 90], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [138, 116, 652, 90], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='content'", - "rect": [148, 116, 644, 108], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV id='content'", - "rect": [148, 116, 644, 108], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow P", - "rect": [148, 116, 644, 108], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow P", - "rect": [148, 116, 644, 108], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [148, 116, 632, 108], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [148, 116, 632, 108], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='content'", - "rect": [400, 116, 392, 162], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow P", - "rect": [400, 116, 392, 162], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='left'", - "rect": [8, 224, 392, 54], - "reason": "incremental" - }, - { - "object": "LayoutText #text", - "rect": [400, 116, 391, 162], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='left'", - "rect": [148, 116, 252, 162], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='left'", - "rect": [8, 206, 140, 18], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='left'", - "rect": [138, 116, 10, 108], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='left'", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='content'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean laoreet dolor id urna eleifend'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'aliquet. Nulla vel dolor ipsum. Aliquam ut turpis nisl, in vulputate sapien. Cum sociis natoque'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed congue magna vitae dolor'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'feugiat vehicula. Sed volutpat, tellus vel varius vestibulum, purus quam mollis sapien, in'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'condimentum leo neque sed nulla. Nunc quis porta elit. Pellentesque erat lectus, ultricies a lobortis'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'id, faucibus id quam.'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='left'", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='content'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean laoreet dolor id urna eleifend aliquet.'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Nulla vel dolor ipsum. Aliquam ut turpis nisl, in vulputate sapien. Cum sociis natoque penatibus et'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'magnis dis parturient montes, nascetur ridiculus mus. Sed congue magna vitae dolor feugiat vehicula.'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Sed volutpat, tellus vel varius vestibulum, purus quam mollis sapien, in condimentum leo neque sed'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'nulla. Nunc quis porta elit. Pellentesque erat lectus, ultricies a lobortis id, faucibus id quam.'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/flexbox/scrollbars-changed-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/flexbox/scrollbars-changed-expected.txt deleted file mode 100644 index 7f2b3e9..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/flexbox/scrollbars-changed-expected.txt +++ /dev/null
@@ -1,59 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='dynamic' class='content'", - "rect": [0, 0, 185, 30], - "reason": "full" - }, - { - "object": "LayoutBlockFlow DIV id='scroller'", - "rect": [185, 0, 15, 100], - "reason": "scroll control" - }, - { - "object": "LayoutText #text", - "rect": [0, 4, 15, 17], - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "rect": [0, 4, 15, 17], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow DIV id='dynamic' class='content'", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'z'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-expected.png deleted file mode 100644 index 39c8e64..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-expected.txt deleted file mode 100644 index 4455153..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-expected.txt +++ /dev/null
@@ -1,43 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x552 - LayoutBlockFlow {P} at (0,0) size 784x36 - LayoutText {#text} at (0,0) size 233x18 - text run at (0,0) width 233: "This is a test for regressions against " - LayoutInline {I} at (0,0) size 777x36 - LayoutInline {A} at (0,0) size 354x18 [color=#0000EE] - LayoutText {#text} at (232,0) size 354x18 - text run at (232,0) width 354: "http://bugzilla.opendarwin.org/show_bug.cgi?id=8056" - LayoutText {#text} at (585,0) size 777x36 - text run at (585,0) width 5: " " - text run at (589,0) width 188: "Flexible boxes do not repaint" - text run at (0,18) width 243: "their top, left and children's overflows" - LayoutText {#text} at (242,18) size 5x18 - text run at (242,18) width 5: "." - LayoutBlockFlow {DIV} at (0,62) size 784x100 - LayoutDeprecatedFlexibleBox {DIV} at (10,10) size 80x80 [bgcolor=#FFFF00] - LayoutBlockFlow {DIV} at (-10,-10) size 100x100 [border: (1px solid #000000)] - LayoutText {#text} at (1,1) size 182x18 - text run at (1,1) width 182: "Lorem ipsum dolor sit amet." - LayoutBlockFlow {DIV} at (0,182) size 784x100 - LayoutDeprecatedFlexibleBox {DIV} at (10,10) size 80x80 [bgcolor=#FFFF00] - LayoutBlockFlow {DIV} at (-10,-10) size 100x100 [border: (1px solid #000000)] - LayoutBlockFlow {DIV} at (0,302) size 784x100 - LayoutDeprecatedFlexibleBox {DIV} at (10,10) size 80x80 [bgcolor=#FFFF00] - LayoutBlockFlow {DIV} at (-10,-10) size 100x100 [border: (1px solid #000000)] - LayoutBlockFlow {DIV} at (0,422) size 784x100 - LayoutDeprecatedFlexibleBox {DIV} at (10,10) size 80x80 [bgcolor=#FFFF00] - LayoutBlockFlow {DIV} at (-10,-10) size 100x100 [border: (1px solid #000000)] - LayoutText {#text} at (1,1) size 95x144 - text run at (1,1) width 86: "Lorem ipsum" - text run at (1,19) width 92: "dolor sit amet," - text run at (1,37) width 80: "consectetuer" - text run at (1,55) width 95: "adipiscing elit." - text run at (1,73) width 54: "Etiam et" - text run at (1,91) width 79: "ipsum. Nam" - text run at (1,109) width 80: "consectetuer" - text run at (1,127) width 84: "mi eget velit." -layer at (8,60) size 784x2 clip at (0,0) size 0x0 - LayoutBlockFlow {HR} at (0,52) size 784x2 [border: (1px inset #EEEEEE)]
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-horizontal-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-horizontal-expected.png deleted file mode 100644 index 39c8e64..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-horizontal-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-horizontal-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-horizontal-expected.txt deleted file mode 100644 index 4455153..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-horizontal-expected.txt +++ /dev/null
@@ -1,43 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x552 - LayoutBlockFlow {P} at (0,0) size 784x36 - LayoutText {#text} at (0,0) size 233x18 - text run at (0,0) width 233: "This is a test for regressions against " - LayoutInline {I} at (0,0) size 777x36 - LayoutInline {A} at (0,0) size 354x18 [color=#0000EE] - LayoutText {#text} at (232,0) size 354x18 - text run at (232,0) width 354: "http://bugzilla.opendarwin.org/show_bug.cgi?id=8056" - LayoutText {#text} at (585,0) size 777x36 - text run at (585,0) width 5: " " - text run at (589,0) width 188: "Flexible boxes do not repaint" - text run at (0,18) width 243: "their top, left and children's overflows" - LayoutText {#text} at (242,18) size 5x18 - text run at (242,18) width 5: "." - LayoutBlockFlow {DIV} at (0,62) size 784x100 - LayoutDeprecatedFlexibleBox {DIV} at (10,10) size 80x80 [bgcolor=#FFFF00] - LayoutBlockFlow {DIV} at (-10,-10) size 100x100 [border: (1px solid #000000)] - LayoutText {#text} at (1,1) size 182x18 - text run at (1,1) width 182: "Lorem ipsum dolor sit amet." - LayoutBlockFlow {DIV} at (0,182) size 784x100 - LayoutDeprecatedFlexibleBox {DIV} at (10,10) size 80x80 [bgcolor=#FFFF00] - LayoutBlockFlow {DIV} at (-10,-10) size 100x100 [border: (1px solid #000000)] - LayoutBlockFlow {DIV} at (0,302) size 784x100 - LayoutDeprecatedFlexibleBox {DIV} at (10,10) size 80x80 [bgcolor=#FFFF00] - LayoutBlockFlow {DIV} at (-10,-10) size 100x100 [border: (1px solid #000000)] - LayoutBlockFlow {DIV} at (0,422) size 784x100 - LayoutDeprecatedFlexibleBox {DIV} at (10,10) size 80x80 [bgcolor=#FFFF00] - LayoutBlockFlow {DIV} at (-10,-10) size 100x100 [border: (1px solid #000000)] - LayoutText {#text} at (1,1) size 95x144 - text run at (1,1) width 86: "Lorem ipsum" - text run at (1,19) width 92: "dolor sit amet," - text run at (1,37) width 80: "consectetuer" - text run at (1,55) width 95: "adipiscing elit." - text run at (1,73) width 54: "Etiam et" - text run at (1,91) width 79: "ipsum. Nam" - text run at (1,109) width 80: "consectetuer" - text run at (1,127) width 84: "mi eget velit." -layer at (8,60) size 784x2 clip at (0,0) size 0x0 - LayoutBlockFlow {HR} at (0,52) size 784x2 [border: (1px inset #EEEEEE)]
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/float-move-during-layout-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/float-move-during-layout-expected.txt deleted file mode 100644 index 2422103d..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/float-move-during-layout-expected.txt +++ /dev/null
@@ -1,29 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [8, 204, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [8, 104, 100, 100], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/float-overflow-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/float-overflow-expected.txt deleted file mode 100644 index 54c439b..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/float-overflow-expected.txt +++ /dev/null
@@ -1,1273 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [11, 366, 778, 28], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [11, 360, 778, 28], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 537, 62, 36], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 531, 62, 36], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 498, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 492, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 459, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 453, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 420, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 414, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "rect": [61, 249, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "rect": [61, 243, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "rect": [61, 210, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "rect": [61, 204, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 171, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 165, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 132, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 126, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 93, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 87, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 54, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 48, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 15, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 9, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [61, 366, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [61, 360, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [61, 327, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [61, 321, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [61, 288, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [61, 282, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 504, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 498, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 465, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 459, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 426, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 420, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 216, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 210, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 177, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 171, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 138, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 132, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 99, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 93, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 60, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 54, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 21, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 15, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [69, 374, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [69, 368, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [69, 335, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [69, 329, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [69, 296, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [69, 290, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [70, 375, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [70, 369, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [70, 336, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [70, 330, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [70, 297, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [70, 291, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [67, 138, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [67, 132, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [65, 60, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [65, 54, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [65, 21, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [65, 15, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 543, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 537, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 504, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 498, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 465, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 459, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 426, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 420, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 255, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 249, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 216, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 210, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 177, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 171, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 99, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 93, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 543, 32, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 537, 32, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 255, 32, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 249, 32, 10], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [66, 298, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [66, 297, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [66, 292, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [66, 291, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [63, 22, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [63, 21, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [63, 16, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [63, 15, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 544, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 543, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 538, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 537, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 505, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 504, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 499, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 498, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 466, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 465, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 460, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 459, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 427, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 426, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 421, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 420, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 256, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 255, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 250, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 249, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 217, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 216, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 211, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 210, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 178, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 177, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 172, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 171, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 139, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 138, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 133, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 132, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [58, 376, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [58, 375, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [58, 370, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [58, 369, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [58, 337, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [58, 336, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [58, 331, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [58, 330, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [57, 100, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [57, 99, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [57, 94, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [57, 93, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [57, 61, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [57, 60, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [57, 55, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [57, 54, 16, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/float-overflow-right-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/float-overflow-right-expected.txt deleted file mode 100644 index 7865ee9..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/float-overflow-right-expected.txt +++ /dev/null
@@ -1,1273 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [11, 366, 778, 28], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [11, 360, 778, 28], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 537, 62, 36], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 531, 62, 36], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 498, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 492, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 459, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 453, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 420, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 414, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "rect": [677, 249, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "rect": [677, 243, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "rect": [677, 210, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "rect": [677, 204, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 171, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 165, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 132, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 126, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 93, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 87, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 54, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 48, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 15, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 9, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [681, 366, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [681, 360, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [681, 327, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [681, 321, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [681, 288, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [681, 282, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 504, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 498, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 465, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 459, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 426, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 420, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 216, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 210, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 177, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 171, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 138, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 132, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 99, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 93, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 60, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 54, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 21, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 15, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [689, 374, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [689, 368, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [689, 335, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [689, 329, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [689, 296, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [689, 290, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 543, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 537, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 504, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 498, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 465, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 459, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 426, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 420, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 255, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 249, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 216, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 210, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 177, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 171, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 99, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 93, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [695, 60, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [695, 54, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [695, 21, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [695, 15, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [693, 138, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [693, 132, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [690, 375, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [690, 369, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [690, 336, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [690, 330, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [690, 297, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [690, 291, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [701, 543, 32, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [701, 537, 32, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [701, 255, 32, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [701, 249, 32, 10], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [727, 100, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [727, 99, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [727, 94, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [727, 93, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [727, 61, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [727, 60, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [727, 55, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [727, 54, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [726, 376, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [726, 375, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [726, 370, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [726, 369, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [726, 337, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [726, 336, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [726, 331, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [726, 330, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 544, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 543, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 538, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 537, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 505, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 504, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 499, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 498, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 466, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 465, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 460, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 459, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 427, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 426, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 421, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 420, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 256, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 255, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 250, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 249, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 217, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 216, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 211, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 210, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 178, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 177, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 172, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 171, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 139, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 138, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 133, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 132, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [721, 22, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [721, 21, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [721, 16, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [721, 15, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [718, 298, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [718, 297, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [718, 292, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [718, 291, 16, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/focus-continuations-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/focus-continuations-expected.txt deleted file mode 100644 index 1e76a8b..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/focus-continuations-expected.txt +++ /dev/null
@@ -1,36 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutInline SPAN id='outer'", - "rect": [3, 83, 94, 30], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='outer'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='outer'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/focus-enable-continuations-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/focus-enable-continuations-expected.png deleted file mode 100644 index b6f677c..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/focus-enable-continuations-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/focus-enable-continuations-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/focus-enable-continuations-expected.txt deleted file mode 100644 index 1e76a8b..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/focus-enable-continuations-expected.txt +++ /dev/null
@@ -1,36 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutInline SPAN id='outer'", - "rect": [3, 83, 94, 30], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='outer'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='outer'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/focus-layers-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/focus-layers-expected.png deleted file mode 100644 index 7290f7290..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/focus-layers-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/focus-ring-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/focus-ring-expected.png deleted file mode 100644 index 2200319..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/focus-ring-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/focus-ring-on-child-move-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/focus-ring-on-child-move-expected.txt deleted file mode 100644 index 01655ade..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/focus-ring-on-child-move-expected.txt +++ /dev/null
@@ -1,38 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV", - "rect": [96, 46, 308, 308], - "reason": "outline" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='child'", - "rect": [300, 50, 20, 300], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='child'", - "rect": [150, 50, 20, 300], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV", - "reason": "outline" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='child'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/focus-ring-on-continuation-move-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/focus-ring-on-continuation-move-expected.txt deleted file mode 100644 index ed577a4..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/focus-ring-on-continuation-move-expected.txt +++ /dev/null
@@ -1,43 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutInline SPAN", - "rect": [204, 228, 108, 108], - "reason": "outline" - }, - { - "object": "LayoutInline SPAN", - "rect": [4, 228, 108, 108], - "reason": "outline" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='block'", - "rect": [208, 232, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='block'", - "rect": [8, 232, 100, 100], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutInline SPAN", - "reason": "outline" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='block'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/focus-ring-on-inline-continuation-move-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/focus-ring-on-inline-continuation-move-expected.txt deleted file mode 100644 index 330eb88..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/focus-ring-on-inline-continuation-move-expected.txt +++ /dev/null
@@ -1,64 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 8, 784, 104], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [4, 4, 108, 188], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [4, 4, 108, 188], - "reason": "outline" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='block'", - "rect": [8, 88, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='block'", - "rect": [8, 8, 100, 100], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutInline SPAN", - "reason": "outline" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='block'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.png deleted file mode 100644 index 82f02e5..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.txt deleted file mode 100644 index 031bb75..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutButton BUTTON", - "rect": [3, 4, 56, 29], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [16, 11, 30, 14], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [16, 11, 30, 13], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutButton BUTTON", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Reset'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/forms/range-focus-by-mouse-then-keydown-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/forms/range-focus-by-mouse-then-keydown-expected.png deleted file mode 100644 index 5301228..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/forms/range-focus-by-mouse-then-keydown-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/forms/range-focus-by-mouse-then-keydown-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/forms/range-focus-by-mouse-then-keydown-expected.txt deleted file mode 100644 index 05a2122..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/forms/range-focus-by-mouse-then-keydown-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSlider INPUT", - "rect": [7, 7, 135, 21], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='track'", - "rect": [10, 10, 129, 15], - "reason": "subtree" - }, - { - "object": "LayoutFlexibleBox DIV", - "rect": [10, 10, 129, 15], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='thumb'", - "rect": [67, 10, 15, 16], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSlider INPUT", - "reason": "subtree" - }, - { - "object": "LayoutFlexibleBox DIV", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='track'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='thumb'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.png deleted file mode 100644 index 12b2edd..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt deleted file mode 100644 index db0fa84..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutButton INPUT", - "rect": [3, 4, 63, 29], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [16, 11, 37, 14], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [16, 11, 37, 13], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutButton INPUT", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Submit'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/gradients-em-stops-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/gradients-em-stops-repaint-expected.txt deleted file mode 100644 index 39bf133..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/gradients-em-stops-repaint-expected.txt +++ /dev/null
@@ -1,68 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV class='em-units'", - "rect": [8, 8, 784, 146], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='box4' class='box'", - "rect": [344, 18, 302, 122], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV id='box3' class='box'", - "rect": [18, 18, 302, 122], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='indicator'", - "rect": [345, 19, 240, 20], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [330, 136, 4, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV class='em-units'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='box3' class='box'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='box4' class='box'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV class='indicator'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.txt deleted file mode 100644 index 6696c290..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.txt +++ /dev/null
@@ -1,46 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutIFrame IFRAME id='iframe'", - "rect": [8, 68, 732, 94], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow HTML", - "rect": [10, 70, 728, 90], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [18, 78, 712, 74], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutIFrame IFRAME id='iframe'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow HTML", - "reason": "disappeared" - }, - { - "object": "LayoutView #document", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.txt deleted file mode 100644 index 2ac03b3..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.txt +++ /dev/null
@@ -1,55 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutIFrame IFRAME id='iframe'", - "rect": [8, 68, 732, 94], - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow HTML", - "rect": [10, 70, 728, 90], - "reason": "appeared" - }, - { - "object": "LayoutView #document", - "rect": [10, 70, 728, 90], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [18, 78, 712, 74], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutIFrame IFRAME id='iframe'", - "reason": "appeared" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow HTML", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-block-overflow-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-block-overflow-expected.png deleted file mode 100644 index 9746f74..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-block-overflow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-block-overflow-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-block-overflow-expected.txt deleted file mode 100644 index f43f29e..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-block-overflow-expected.txt +++ /dev/null
@@ -1,19 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x584 - LayoutBlockFlow {P} at (0,0) size 784x18 - LayoutText {#text} at (0,0) size 329x18 - text run at (0,0) width 329: "This is a repaint test of inline blocks with overflow." - LayoutBlockFlow (anonymous) at (0,44) size 784x20 - LayoutInline {SPAN} at (0,0) size 200x18 - LayoutText {#text} at (0,0) size 100x18 - text run at (0,0) width 100: "Here comes an " - LayoutBlockFlow {SPAN} at (99.06,0) size 100x20 [bgcolor=#C0C0C0] - LayoutText {#text} at (0,0) size 93x36 - text run at (0,0) width 76: "inline block" - text run at (0,18) width 93: "with overflow." - LayoutText {#text} at (0,0) size 0x0 -layer at (8,42) size 784x2 clip at (0,0) size 0x0 - LayoutBlockFlow {HR} at (0,34) size 784x2 [border: (1px inset #EEEEEE)]
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-color-change-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-color-change-expected.txt deleted file mode 100644 index 4579293..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-color-change-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutInline SPAN id='target'", - "rect": [8, 68, 37, 18], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 68, 37, 18], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutInline SPAN id='target'", - "reason": "style change" - }, - { - "object": "InlineFlowBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-focus-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-focus-expected.png deleted file mode 100644 index 638fa78..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-focus-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-focus-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-focus-expected.txt deleted file mode 100644 index 7972811..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-focus-expected.txt +++ /dev/null
@@ -1,76 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow P", - "rect": [0, 34, 800, 18], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [0, 0, 800, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [0, 34, 429, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline A id='link'", - "rect": [581, -5, 224, 242], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [0, 0, 40, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline A id='link'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Home'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'crbug.com/424078: ensure inline elements get their outline painted'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-2-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-2-expected.txt deleted file mode 100644 index d3d1ec8..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-2-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutInline SPAN", - "rect": [210, -5, 50, 20], - "reason": "outline" - }, - { - "object": "LayoutText #text", - "rect": [215, -1, 40, 12], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutInline SPAN", - "reason": "outline" - }, - { - "object": "InlineFlowBox", - "reason": "outline" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'Test'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-expected.png deleted file mode 100644 index ece8b80..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-expected.txt deleted file mode 100644 index aec99b5..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-expected.txt +++ /dev/null
@@ -1,74 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 166, 100, 36], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='test'", - "rect": [5, 163, 98, 42], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 166, 92, 36], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutInline SPAN id='test'", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'Lorem ipsum'", - "reason": "full" - }, - { - "object": "InlineTextBox ' '", - "reason": "full" - }, - { - "object": "InlineTextBox 'dolor\u00A0'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-overflow-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-overflow-expected.txt deleted file mode 100644 index 1ae44d8..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-overflow-expected.txt +++ /dev/null
@@ -1,28 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [33, 32, 250, 102], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'A\u00A0\u00A0B'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-reflow-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-reflow-expected.txt deleted file mode 100644 index 0b68ab2..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-reflow-expected.txt +++ /dev/null
@@ -1,113 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [0, -1, 300, 202], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='div1' class='container'", - "rect": [0, 0, 300, 200], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='div2' class='container'", - "rect": [0, 300, 300, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [0, -1, 200, 302], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='div1' class='container'", - "rect": [0, 0, 200, 300], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [0, 299, 180, 22], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='div1' class='container'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'A A A A A AA AA'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AA AA AAA AAA'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AAA AAAA AAAA'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AAAAA AAAAA'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AAAAAA AAAAAAA'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AAAAAA AAAAA'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AAAAA AAAA AAAA'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AAA AAA AAA AA'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AA AA AA A A A'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'A A'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='div2' class='container'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'A A A A A'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-vertical-lr-overflow-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-vertical-lr-overflow-expected.txt deleted file mode 100644 index 7e292fe..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-vertical-lr-overflow-expected.txt +++ /dev/null
@@ -1,28 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [32, 33, 102, 250], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'A\u00A0\u00A0B'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-vertical-rl-overflow-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-vertical-rl-overflow-expected.txt deleted file mode 100644 index 1ce30cf..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/inline-vertical-rl-overflow-expected.txt +++ /dev/null
@@ -1,28 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [666, 33, 102, 250], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'A\u00A0\u00A0B'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/invalidate-box-shadow-currentColor-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/invalidate-box-shadow-currentColor-expected.txt deleted file mode 100644 index c47aa32..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/invalidate-box-shadow-currentColor-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutInline SPAN id='target'", - "rect": [8, 8, 29, 23], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 8, 29, 18], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutInline SPAN id='target'", - "reason": "style change" - }, - { - "object": "InlineFlowBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'Text'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-before-text-node-update-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-before-text-node-update-expected.png deleted file mode 100644 index b0de2cc..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-before-text-node-update-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-before-text-node-update-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-before-text-node-update-expected.txt deleted file mode 100644 index 3c283e37b..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-before-text-node-update-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='root' class='editing'", - "rect": [3, 3, 794, 28], - "reason": "full" - }, - { - "object": "LayoutText #text", - "rect": [8, 7, 10, 19], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='root' class='editing'", - "reason": "full" - }, - { - "object": "Caret", - "reason": "caret" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt deleted file mode 100644 index 461ce523..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt +++ /dev/null
@@ -1,79 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTextControl INPUT id='root'", - "position": [5, 5], - "bounds": [47, 25], - "drawsContent": true, - "backgroundColor": "#FFFFFF", - "paintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='root'", - "rect": [0, 0, 47, 25], - "reason": "subtree" - }, - { - "object": "LayoutTextControl INPUT id='root'", - "rect": [0, 0, 41, 19], - "reason": "full" - } - ] - }, - { - "name": "Child Containment Layer", - "position": [5, 5], - "bounds": [37, 15] - }, - { - "name": "LayoutBlockFlow DIV id='inner-editor'", - "position": [1, 1], - "bounds": [35, 13], - "shouldFlattenTransform": false, - "drawsContent": true - }, - { - "name": "Scrolling Layer", - "bounds": [35, 13], - "shouldFlattenTransform": false - }, - { - "name": "Scrolling Contents Layer", - "bounds": [67, 13], - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [65, 0, 1, 13], - "reason": "caret" - } - ] - }, - { - "name": "Overflow Controls Host Layer", - "bounds": [35, 13] - }, - { - "name": "Horizontal Scrollbar Layer", - "position": [0, 13], - "bounds": [35, 0], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='root'", - "reason": "subtree" - }, - { - "object": "Caret", - "reason": "caret" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt deleted file mode 100644 index 54051b3..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt +++ /dev/null
@@ -1,70 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTextControl INPUT id='root'", - "position": [5, 5], - "bounds": [47, 25], - "drawsContent": true, - "backgroundColor": "#FFFFFF", - "paintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='root'", - "rect": [0, 0, 47, 25], - "reason": "subtree" - }, - { - "object": "LayoutTextControl INPUT id='root'", - "rect": [0, 0, 41, 19], - "reason": "full" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [6, 6, 35, 13], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [6, 6, 35, 13], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='root'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "HorizontalScrollbar", - "reason": "scroll control" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'test test test'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/invalidation-after-opacity-change-subtree-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/invalidation-after-opacity-change-subtree-expected.txt deleted file mode 100644 index 5516cd9f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/invalidation-after-opacity-change-subtree-expected.txt +++ /dev/null
@@ -1,161 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 2350], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='absolute'", - "rect": [8, 2000, 777, 350], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='absolute'", - "rect": [8, 2000, 777, 350], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "rect": [8, 2200, 777, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "rect": [8, 2200, 777, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "rect": [8, 2050, 777, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "rect": [8, 2050, 777, 100], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [8, 2045, 774, 109], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [8, 2045, 774, 109], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [8, 2195, 653, 109], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [8, 2195, 653, 109], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='container'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='absolute'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'This test checks that switching opacity'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'invalidates the full subtree.'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'This text should be visible in the'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'output.'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='container'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='absolute'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'This test checks that switching opacity'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'invalidates the full subtree.'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'This text should be visible in the'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'output.'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-clear-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-clear-expected.txt deleted file mode 100644 index 5f5cdbc..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-clear-expected.txt +++ /dev/null
@@ -1,84 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [284, 123, 488, 399], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u305B\u3063\u304B\u304F\u898B\u3064\u3051\u305F\u3059\u3070\u3089\u3057\u3044\u8A18\u4E8B\u304C\u3069\u3053'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u306B\u3042\u3063\u305F\u304B\u5FD8\u308C\u3066\u3057\u307E\u3063\u305F\u7D4C\u9A13\u306F\u3042\u308A\u307E'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3059\u304B\u306A\u3089\u30BF\u30A4\u30C8\u30EB\u3068\u30A2\u30C9\u30EC\u30B9\u3060\u3051\u3067\u306A'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u304F\u3001\u8A2A\u554F\u3057\u305F\u30A6\u30A7\u30D6\u30DA\u30FC\u30B8\u306E\u30B3\u30F3\u30C6\u30F3\u30C4'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u304B\u3089\u3082\u691C\u7D22\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\u305B\u3063\u304B'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u304F\u898B\u3064\u3051\u305F\u3059\u3070\u3089\u3057\u3044\u8A18\u4E8B\u304C\u3069\u3053\u306B\u3042\u3063'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u305F\u304B\u5FD8\u308C\u3066\u3057\u307E\u3063\u305F\u7D4C\u9A13\u306F\u3042\u308A\u307E\u3059\u304B \u306A'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3089\u30BF\u30A4\u30C8\u30EB\u3068\u30A2\u30C9\u30EC\u30B9\u3060\u3051\u3067\u306A\u304F\u3001\u8A2A\u554F'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3057\u305F\u30A6\u30A7\u30D6\u30DA\u30FC\u30B8\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u304B\u3089\u3082\u691C'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u7D22\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\u8A2A\u554F\u3057\u305F\u30A6\u30A7\u30D6'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u30DA\u30FC\u30B8\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u304B\u3089\u3082\u691C\u7D22\u3059\u308B\u3053\u3068'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u304C\u3067\u304D\u307E\u3059\u3002\u305B\u3063\u304B\u304F\u898B\u3064\u3051\u305F\u3059\u3070\u3089\u3057'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3044\u8A18\u4E8B\u304C\u3069\u3053\u306B\u3042\u3063\u305F\u304B\u5FD8\u308C\u3066\u3057\u307E\u3063\u305F'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u7D4C\u9A13\u306F\u3042\u308A\u307E\u3059\u304B \u306A\u3089\u30BF\u30A4\u30C8\u30EB\u3068\u30A2\u30C9\u30EC'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u30B9\u3060\u3051\u3067\u306A\u304F\u3001\u8A2A\u554F'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-repaint-expected.txt deleted file mode 100644 index 13e0419..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-repaint-expected.txt +++ /dev/null
@@ -1,76 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [416, 23, 356, 560], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u305B\u3063\u304B\u304F\u898B\u3064\u3051\u305F\u3059\u3070\u3089\u3057\u3044\u8A18\u4E8B\u304C\u3069\u3053\u306B\u3042\u3063\u305F\u304B\u5FD8\u308C'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3066\u3057\u307E\u3063\u305F\u7D4C\u9A13\u306F\u3042\u308A\u307E\u3059\u304B\u306A\u3089\u30BF\u30A4\u30C8\u30EB\u3068\u30A2\u30C9\u30EC\u30B9\u3060'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3051\u3067\u306A\u304F\u3001\u8A2A\u554F\u3057\u305F\u30A6\u30A7\u30D6\u30DA\u30FC\u30B8\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u304B\u3089\u3082\u691C'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u7D22\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\u305B\u3063\u304B\u304F\u898B\u3064\u3051\u305F\u3059\u3070\u3089\u3057\u3044\u8A18\u4E8B'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u304C\u3069\u3053\u306B\u3042\u3063\u305F\u304B\u5FD8\u308C\u3066\u3057\u307E\u3063\u305F\u7D4C\u9A13\u306F\u3042\u308A\u307E\u3059\u304B \u306A\u3089'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u30BF\u30A4\u30C8\u30EB\u3068\u30A2\u30C9\u30EC\u30B9\u3060\u3051\u3067\u306A\u304F\u3001\u8A2A\u554F\u3057\u305F\u30A6\u30A7\u30D6\u30DA\u30FC\u30B8'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u304B\u3089\u3082\u691C\u7D22\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\u8A2A\u554F\u3057\u305F\u30A6'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u30A7\u30D6\u30DA\u30FC\u30B8\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u304B\u3089\u3082\u691C\u7D22\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u305B\u3063\u304B\u304F\u898B\u3064\u3051\u305F\u3059\u3070\u3089\u3057\u3044\u8A18\u4E8B\u304C\u3069\u3053\u306B\u3042\u3063\u305F\u304B\u5FD8\u308C'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3066\u3057\u307E\u3063\u305F\u7D4C\u9A13\u306F\u3042\u308A\u307E\u3059\u304B \u306A\u3089\u30BF\u30A4\u30C8\u30EB\u3068\u30A2\u30C9\u30EC\u30B9\u3060'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3051\u3067\u306A\u304F\u3001\u8A2A\u554F'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layer-child-outline-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layer-child-outline-expected.png deleted file mode 100644 index ab37dbd..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layer-child-outline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layer-child-outline-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layer-child-outline-expected.txt deleted file mode 100644 index 7dc0936f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layer-child-outline-expected.txt +++ /dev/null
@@ -1,13 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x584 - LayoutBlockFlow {P} at (0,0) size 784x18 - LayoutText {#text} at (0,0) size 328x18 - text run at (0,0) width 328: "This tests repainting of a layer's children's outlines." -layer at (8,42) size 784x2 clip at (0,0) size 0x0 - LayoutBlockFlow {HR} at (0,34) size 784x2 [border: (1px inset #EEEEEE)] -layer at (8,52) size 100x100 - LayoutBlockFlow (relative positioned) {DIV} at (0,44) size 100x100 [bgcolor=#C0C0C0] - LayoutBlockFlow {DIV} at (0,0) size 100x100
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layer-outline-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layer-outline-expected.png deleted file mode 100644 index b2383e30..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layer-outline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layer-outline-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layer-outline-expected.txt deleted file mode 100644 index ea35613..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layer-outline-expected.txt +++ /dev/null
@@ -1,36 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x584 - LayoutBlockFlow {P} at (0,0) size 784x18 - LayoutText {#text} at (0,0) size 213x18 - text run at (0,0) width 213: "This tests for regressions against " - LayoutInline {I} at (0,0) size 551x18 - LayoutInline {A} at (0,0) size 354x18 [color=#0000EE] - LayoutText {#text} at (212,0) size 354x18 - text run at (212,0) width 354: "http://bugzilla.opendarwin.org/show_bug.cgi?id=7943" - LayoutText {#text} at (565,0) size 198x18 - text run at (565,0) width 198: " Layer outline does not repaint" - LayoutText {#text} at (762,0) size 5x18 - text run at (762,0) width 5: "." -layer at (8,42) size 784x2 clip at (0,0) size 0x0 - LayoutBlockFlow {HR} at (0,34) size 784x2 [border: (1px inset #EEEEEE)] -layer at (18,192) size 100x100 clip at (19,193) size 98x98 - LayoutBlockFlow {DIV} at (10,184) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (8,52) size 784x130 - LayoutBlockFlow (relative positioned) {DIV} at (0,44) size 784x130 -layer at (18,62) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (10,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (148,62) size 100x100 backgroundClip at (138,52) size 100x100 clip at (138,52) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (140,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (278,62) size 100x100 backgroundClip at (268,52) size 5x5 clip at (268,52) size 5x5 - LayoutBlockFlow (positioned) {DIV} at (270,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (408,62) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (400,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (538,62) size 100x100 backgroundClip at (548,72) size 100x100 clip at (548,72) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (530,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (668,62) size 100x100 backgroundClip at (773,167) size 5x5 clip at (773,167) size 5x5 - LayoutBlockFlow (positioned) {DIV} at (660,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (18,322) size 100x100 - LayoutBlockFlow (relative positioned) {DIV} at (0,294) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)]
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layer-outline-horizontal-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layer-outline-horizontal-expected.png deleted file mode 100644 index b2383e30..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layer-outline-horizontal-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layer-outline-horizontal-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layer-outline-horizontal-expected.txt deleted file mode 100644 index ea35613..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layer-outline-horizontal-expected.txt +++ /dev/null
@@ -1,36 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x584 - LayoutBlockFlow {P} at (0,0) size 784x18 - LayoutText {#text} at (0,0) size 213x18 - text run at (0,0) width 213: "This tests for regressions against " - LayoutInline {I} at (0,0) size 551x18 - LayoutInline {A} at (0,0) size 354x18 [color=#0000EE] - LayoutText {#text} at (212,0) size 354x18 - text run at (212,0) width 354: "http://bugzilla.opendarwin.org/show_bug.cgi?id=7943" - LayoutText {#text} at (565,0) size 198x18 - text run at (565,0) width 198: " Layer outline does not repaint" - LayoutText {#text} at (762,0) size 5x18 - text run at (762,0) width 5: "." -layer at (8,42) size 784x2 clip at (0,0) size 0x0 - LayoutBlockFlow {HR} at (0,34) size 784x2 [border: (1px inset #EEEEEE)] -layer at (18,192) size 100x100 clip at (19,193) size 98x98 - LayoutBlockFlow {DIV} at (10,184) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (8,52) size 784x130 - LayoutBlockFlow (relative positioned) {DIV} at (0,44) size 784x130 -layer at (18,62) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (10,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (148,62) size 100x100 backgroundClip at (138,52) size 100x100 clip at (138,52) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (140,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (278,62) size 100x100 backgroundClip at (268,52) size 5x5 clip at (268,52) size 5x5 - LayoutBlockFlow (positioned) {DIV} at (270,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (408,62) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (400,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (538,62) size 100x100 backgroundClip at (548,72) size 100x100 clip at (548,72) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (530,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (668,62) size 100x100 backgroundClip at (773,167) size 5x5 clip at (773,167) size 5x5 - LayoutBlockFlow (positioned) {DIV} at (660,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (18,322) size 100x100 - LayoutBlockFlow (relative positioned) {DIV} at (0,294) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)]
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layout-state-relative-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layout-state-relative-expected.txt deleted file mode 100644 index 608fef2..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layout-state-relative-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) DIV id='target'", - "rect": [8, 150, 784, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 150, 37, 18], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) DIV id='target'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset-expected.txt deleted file mode 100644 index 67e684fb..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [100, 118, 50, 50], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [100, 118, 41, 18], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'after'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset2-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset2-expected.txt deleted file mode 100644 index 4ce0ea05..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset2-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [102, 120, 50, 50], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [102, 120, 41, 18], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'after'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset3-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset3-expected.txt deleted file mode 100644 index 3a6bb0c..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset3-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [100, 118, 34, 50], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [100, 118, 34, 18], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'after'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layoutstate-invalid-invalidation-inline-relative-positioned-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layoutstate-invalid-invalidation-inline-relative-positioned-expected.txt deleted file mode 100644 index c988172..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/layoutstate-invalid-invalidation-inline-relative-positioned-expected.txt +++ /dev/null
@@ -1,103 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 40, 784, 104], - "reason": "geometry" - }, - { - "object": "LayoutInline (relative positioned) SPAN id='target'", - "rect": [8, 220, 100, 104], - "reason": "geometry" - }, - { - "object": "LayoutInline (relative positioned) SPAN id='target'", - "rect": [8, 200, 100, 104], - "reason": "geometry" - }, - { - "object": "LayoutInline (relative positioned) SPAN", - "rect": [8, 120, 100, 104], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 220, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 220, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 200, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 200, 100, 100], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline (relative positioned) SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutInline (relative positioned) SPAN id='target'", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-1-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-1-expected.txt deleted file mode 100644 index 9ce997e6..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-1-expected.txt +++ /dev/null
@@ -1,344 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [14, 170, 407, 72], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 242, 406, 126], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 224, 406, 126], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 80, 406, 108], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 476, 406, 90], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 188, 406, 72], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 422, 355, 54], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 404, 355, 36], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 386, 355, 36], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 368, 304, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [178, 350, 145, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 350, 145, 18], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV id='pinkFloat'", - "rect": [378, 138, 70, 30], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "rect": [14, 353, 48, 65], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "rect": [14, 335, 48, 65], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [305, 170, 40, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 188, 40, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) DIV id='pinkFloat'", - "reason": "incremental" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The chief difficulty Alice found at first was in'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'managing her\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'flamingo: she succeeded in getting its'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'body tucked away,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'comfortably enough, under her'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'arm, with its legs hanging down,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'but generally, just as'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she had got its neck nicely straightened\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'out, and was going to'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'give the hedgehog a blow with its head, it\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'would'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' twist itself'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'round and look up in her face, with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'such a puzzled expression'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'that she could not help bursting out\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'laughing: and when she'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'had got its head down, and was going to\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'begin again, it was'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'very provoking to find that the hedgehog had\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'unrolled itself,'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'and was in the act of crawling away: besides all\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'this, there was'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'generally a ridge or furrow in the way wherever\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she wanted to'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'send the hedgehog to, and, as the doubled-up\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soldiers were'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'always getting up and walking off to other parts of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the ground,'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Alice soon came to the conclusion that it was a very'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'difficult game indeed.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The players all played at once without waiting'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for turns,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'quarrelling all the while, and fighting'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for the hedgehogs; and in\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a very short time '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the Queen'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'was in a furious passion, and went\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'stamping about, and'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'shouting \u2018Off with his head!\u2019 or \u2018Off with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'her head!\u2019'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'about once in a minute.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Alice began to feel very uneasy: to be sure, she had not as\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'yet'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'had any dispute with the Queen, but she knew that it might'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'happen any minute, \u2018and then,\u2019 thought she, \u2018what would'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'become of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'me? They\u2019re dreadfully fond of beheading people'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'here; the great\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wonder is, that there\u2018s any one left alive!\u2019'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-10-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-10-expected.txt deleted file mode 100644 index 9a9858e..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-10-expected.txt +++ /dev/null
@@ -1,220 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [14, 242, 406, 126], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 476, 406, 90], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 422, 355, 54], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 404, 355, 36], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 386, 304, 36], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 368, 304, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [178, 350, 145, 18], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "rect": [14, 353, 48, 65], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "rect": [14, 364, 48, 64], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'begin again, it was very provoking to find that the hedgehog'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'had\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'unrolled itself, and was in the act of crawling away:'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'besides all\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'this, there was generally a ridge or furrow in the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'way wherever\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she wanted to send the hedgehog to, and, as the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'doubled-up\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soldiers were always getting up and walking off to'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'other parts of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the ground, Alice soon came to the conclusion'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'that it was a very\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'difficult game indeed.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The players all played at once without waiting'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for turns,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'quarrelling all the while, and fighting'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for the hedgehogs; and in\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a very short time '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Queen'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' was in a furious passion, and went'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'stamping about, and shouting \u2018Off with his head!\u2019 or'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u2018Off with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'her head!\u2019 about once in a minute.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Alice began to feel very uneasy: to be sure, she had not as\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'yet'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'had any dispute with the Queen, but she knew that it might'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'happen any minute, \u2018and then,\u2019 thought she, \u2018what would'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'become of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'me? They\u2019re dreadfully fond of beheading people'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'here; the great\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wonder is, that there\u2018s any one left alive!\u2019'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-2-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-2-expected.txt deleted file mode 100644 index 8722cfce..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-2-expected.txt +++ /dev/null
@@ -1,382 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow P", - "rect": [8, 569, 418, 7], - "reason": "incremental" - }, - { - "object": "LayoutText #text", - "rect": [14, 246, 406, 126], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 242, 406, 126], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 480, 406, 90], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 476, 406, 90], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 191, 406, 73], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 188, 406, 72], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 426, 355, 54], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 422, 355, 54], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 408, 355, 36], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 404, 355, 36], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 80, 354, 108], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 390, 304, 36], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 386, 304, 36], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 372, 304, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 368, 304, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [178, 354, 145, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [178, 350, 145, 18], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='greenFloat'", - "rect": [372, 375, 48, 81], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='greenFloat'", - "rect": [372, 371, 48, 81], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "rect": [14, 357, 48, 65], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "rect": [14, 353, 48, 65], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 188, 45, 22], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow P", - "reason": "incremental" - }, - { - "object": "RootInlineBox", - "reason": "incremental" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The chief difficulty Alice found at first was in'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'managing her\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'flamingo: she succeeded in getting its'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'body tucked away,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'comfortably enough, under her'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'arm, with its legs hanging down,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'but generally, just as'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she had got its neck nicely straightened\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'out, and was'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'going to give the hedgehog a blow with its head, it'", - "reason": "geometry" - }, - { - "object": "LayoutInline I id='would'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'would'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' twist itself round and look up in her face, with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'such a'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'puzzled expression that she could not help bursting out'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'laughing: and when she had got its head down, and was going'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'to\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'begin again, it was very provoking to find that the hedgehog'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'had\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'unrolled itself, and was in the act of crawling away:'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'besides all\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'this, there was generally a ridge or furrow in the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'way wherever\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she wanted to send the hedgehog to, and, as the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'doubled-up\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soldiers were always getting up and walking off to'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'other parts of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the ground, Alice soon came to the conclusion'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'that it was a very\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'difficult game indeed.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The players all played at once without waiting'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='greenFloat'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for turns,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'quarrelling all the while, and fighting'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for the hedgehogs; and in\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a very short time '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Queen'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' was in a furious passion, and went\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'stamping'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'about, and shouting \u2018Off with his head!\u2019 or \u2018Off with'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'her head!\u2019 about once in a minute.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Alice began to feel very uneasy: to be sure, she had not as\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'yet'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'had any dispute with the Queen, but she knew that it might'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'happen any minute, \u2018and then,\u2019 thought she, \u2018what would'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'become of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'me? They\u2019re dreadfully fond of beheading people'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'here; the great\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wonder is, that there\u2018s any one left alive!\u2019'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-3-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-3-expected.txt deleted file mode 100644 index 2f8b05f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-3-expected.txt +++ /dev/null
@@ -1,220 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [14, 242, 406, 126], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 476, 406, 90], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 368, 355, 54], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 422, 355, 54], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 404, 355, 36], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 368, 336, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [178, 350, 145, 18], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='greenFloat'", - "rect": [356, 389, 64, 81], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='greenFloat'", - "rect": [372, 371, 48, 81], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'begin again, it was very provoking to find that the hedgehog'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'had\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'unrolled itself, and was in the act of crawling away:'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'besides all\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'this, there was generally a ridge or furrow in the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'way wherever\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she wanted to send the hedgehog to, and, as the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'doubled-up\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soldiers were always getting up and walking off to'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'other parts of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the ground, Alice soon came to the conclusion'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'that it was a very\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'difficult game indeed.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The players all played at once without waiting\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='greenFloat'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'turns,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'quarrelling all the while, and fighting'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for the hedgehogs; and in\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a very short time'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the Queen'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' was in a furious passion, and went'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'stamping about, and shouting \u2018Off with his head!\u2019 or'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u2018Off with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'her head!\u2019 about once in a minute.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Alice began to feel very uneasy: to be sure, she had not as\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'yet'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'had any dispute with the Queen, but she knew that it might'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'happen any minute, \u2018and then,\u2019 thought she, \u2018what would'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'become of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'me? They\u2019re dreadfully fond of beheading people'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'here; the great\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wonder is, that there\u2018s any one left alive!\u2019'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-4-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-4-expected.txt deleted file mode 100644 index a7687c36..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-4-expected.txt +++ /dev/null
@@ -1,219 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [14, 242, 406, 126], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 476, 406, 90], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 422, 406, 54], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 404, 355, 36], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 386, 304, 36], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 368, 304, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [178, 350, 145, 18], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='greenFloat'", - "rect": [372, 435, 48, 17], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'begin again, it was very provoking to find that the hedgehog'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'had\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'unrolled itself, and was in the act of crawling away:'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'besides all\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'this, there was generally a ridge or furrow in the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'way wherever\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she wanted to send the hedgehog to, and, as the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'doubled-up\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soldiers were always getting up and walking off to'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'other parts of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the ground, Alice soon came to the conclusion'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'that it was a very\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'difficult game indeed.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The players all played at once without waiting'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='greenFloat'", - "reason": "incremental" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for turns,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'quarrelling all the while, and fighting'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for the hedgehogs; and in\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a very short time '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Queen'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' was in a furious passion, and went\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'stamping'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'about, and shouting \u2018Off with his head!\u2019 or \u2018Off with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'her'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'head!\u2019 about once in a minute.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Alice began to feel very uneasy: to be sure, she had not as\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'yet'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'had any dispute with the Queen, but she knew that it might'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'happen any minute, \u2018and then,\u2019 thought she, \u2018what would'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'become of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'me? They\u2019re dreadfully fond of beheading people'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'here; the great\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wonder is, that there\u2018s any one left alive!\u2019'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-5-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-5-expected.txt deleted file mode 100644 index e38a551..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-5-expected.txt +++ /dev/null
@@ -1,229 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [14, 242, 406, 126], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 476, 406, 90], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 422, 355, 54], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 404, 355, 36], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [49, 368, 320, 54], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 368, 304, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [49, 368, 301, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [178, 350, 145, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [162, 350, 145, 18], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "rect": [46, 353, 16, 65], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'begin again, it was very provoking to find that the hedgehog'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'had\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'unrolled itself, and was in the act of crawling away:'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'besides all\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'this, there was generally a ridge or furrow in the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'way wherever\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she wanted to send the hedgehog to, and, as the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'doubled-up\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soldiers were always getting up and walking off to'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'other parts of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the ground, Alice soon came to the conclusion'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'that it was a very\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "reason": "incremental" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'difficult game indeed.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The players all played at once without waiting\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'turns,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'quarrelling all the while, and fighting for'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the hedgehogs; and in\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a very short time '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Queen'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' was in a furious passion, and went\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'stamping'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'about, and shouting \u2018Off with his head!\u2019 or \u2018Off with'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'her head!\u2019 about once in a minute.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Alice began to feel very uneasy: to be sure, she had not as\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'yet'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'had any dispute with the Queen, but she knew that it might'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'happen any minute, \u2018and then,\u2019 thought she, \u2018what would'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'become of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'me? They\u2019re dreadfully fond of beheading people'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'here; the great\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wonder is, that there\u2018s any one left alive!\u2019'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-6-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-6-expected.txt deleted file mode 100644 index c2a4aac..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-6-expected.txt +++ /dev/null
@@ -1,124 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [14, 242, 406, 126], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 368, 304, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [178, 350, 145, 18], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "rect": [14, 353, 48, 65], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [27, 353, 22, 19], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'begin again, it was very provoking to find that the hedgehog'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'had\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'unrolled itself, and was in the act of crawling away:'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'besides all\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'this, there was generally a ridge or furrow in the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'way wherever\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she wanted to send the hedgehog to, and, as the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'doubled-up\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soldiers were always getting up and walking off to'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'other parts of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the ground, Alice soon came to the conclusion'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'that it was a very\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'foo'", - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'difficult game indeed.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The players all played at once without waiting'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-7-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-7-expected.txt deleted file mode 100644 index 9d8c074..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-7-expected.txt +++ /dev/null
@@ -1,86 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [14, 422, 355, 54], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 404, 355, 36], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [65, 386, 304, 36], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for turns,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'quarrelling all the while, and fighting'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for the hedgehogs; and in\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a very short time '", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='theQueen'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'the'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'Queen'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' was in a furious passion, and went\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'stamping'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'about, and shouting \u2018Off with his head!\u2019 or \u2018Off with'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'her head!\u2019 about once in a minute.\n'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-8-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-8-expected.txt deleted file mode 100644 index e5e06b1f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-8-expected.txt +++ /dev/null
@@ -1,296 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow P", - "rect": [8, 74, 418, 498], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 242, 406, 126], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 188, 406, 72], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 404, 355, 72], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 368, 355, 54], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 404, 355, 36], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 80, 354, 108], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 368, 336, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 368, 304, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [178, 350, 145, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [127, 350, 145, 18], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "rect": [14, 353, 48, 65], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [14, 188, 40, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The chief difficulty Alice found at first was in'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'managing her\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'flamingo: she succeeded in getting its'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'body tucked away,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'comfortably enough, under her'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'arm, with its legs hanging down,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'but generally, just as'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she had got its neck nicely straightened\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'out, and was'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'going to give the hedgehog a blow with its head, it'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'would'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' twist itself round and look up in her face, with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'such a'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'puzzled expression that she could not help bursting out'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'laughing: and when she had got its head down, and was going'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'to\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'begin again, it was very provoking to find that the hedgehog'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'had\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'unrolled itself, and was in the act of crawling away:'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'besides all\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'this, there was generally a ridge or furrow in the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'way wherever\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she wanted to send the hedgehog to, and, as the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'doubled-up\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soldiers were always getting up and walking off to'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'other parts of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the ground, Alice soon came to the conclusion'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'that it was a very\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'difficult game indeed.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The players all played at once without waiting\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'turns,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'quarrelling all the while, and fighting for the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehogs; and in\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a very short time '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the Queen'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' was in a'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'furious passion, and went\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'stamping about, and'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'shouting \u2018Off with his head!\u2019 or \u2018Off with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'her head!\u2019'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'about once in a minute.\n'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-9-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-9-expected.txt deleted file mode 100644 index 796e6f0..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-9-expected.txt +++ /dev/null
@@ -1,318 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow P", - "rect": [8, 569, 418, 21], - "reason": "incremental" - }, - { - "object": "LayoutText #text", - "rect": [14, 242, 406, 126], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 494, 406, 90], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 476, 406, 90], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 188, 406, 72], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 440, 355, 54], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 422, 355, 54], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 404, 355, 36], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 404, 355, 36], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 386, 304, 36], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 386, 304, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 368, 304, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [178, 350, 145, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 368, 145, 18], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='greenFloat'", - "rect": [372, 389, 48, 81], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='greenFloat'", - "rect": [372, 371, 48, 81], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='yellowFloat'", - "rect": [372, 245, 48, 49], - "reason": "appeared" - }, - { - "object": "LayoutView #document", - "rect": [485, 0, 15, 600], - "reason": "incremental" - }, - { - "object": "LayoutView #document", - "rect": [485, 0, 15, 600], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow P", - "reason": "incremental" - }, - { - "object": "RootInlineBox", - "reason": "incremental" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' twist itself round and look up in her face, with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'such a'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'puzzled expression that she could not help bursting out'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'laughing: and when she had got its head down, and was going'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'to\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='yellowFloat'", - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'begin again, it was very provoking to find that the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehog had\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'unrolled itself, and was in the act of'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'crawling away: besides all\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'this, there was generally a'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'ridge or furrow in the way wherever\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she wanted to'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'send the hedgehog to, and, as the doubled-up\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soldiers were'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'always getting up and walking off to other parts of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the ground,'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Alice soon came to the conclusion that it was a very'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'difficult game indeed.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The players all played at once without waiting'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='greenFloat'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for turns,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'quarrelling all the while, and fighting'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for the hedgehogs; and in\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a very short time '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the Queen'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'was in a furious passion, and went\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'stamping about, and'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'shouting \u2018Off with his head!\u2019 or \u2018Off with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'her head!\u2019'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'about once in a minute.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Alice began to feel very uneasy: to be sure, she had not as\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'yet'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'had any dispute with the Queen, but she knew that it might'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'happen any minute, \u2018and then,\u2019 thought she, \u2018what would'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'become of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'me? They\u2019re dreadfully fond of beheading people'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'here; the great\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wonder is, that there\u2018s any one left alive!\u2019'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-in-scrolled-clipped-block-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-in-scrolled-clipped-block-expected.txt deleted file mode 100644 index e36facf..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-in-scrolled-clipped-block-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [8, 8, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 8, 100, 18], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox ' PASS .'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-overflow-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-overflow-expected.txt deleted file mode 100644 index 1e7f83f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/line-overflow-expected.txt +++ /dev/null
@@ -1,105 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [8, 114, 200, 90], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 78, 198, 54], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='t'", - "rect": [115, 84, 37, 48], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [115, 114, 37, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='t'", - "rect": [38, 132, 36, 18], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [38, 132, 36, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Cras faucibus. Nunc'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'adipiscing, enim in scelerisque'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'convallis,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'augue '", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='t'", - "reason": "style change" - }, - { - "object": "InlineFlowBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'purus'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' eleifend'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'lacus, at sagittis eros leo'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'pulvinar velit. Integer'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'sollicitudin nisi ut urna blandit'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'convallis.'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/lines-with-layout-delta-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/lines-with-layout-delta-expected.txt deleted file mode 100644 index 7f00824..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/lines-with-layout-delta-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) DIV id='target'", - "rect": [8, 58, 200, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 58, 37, 18], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) DIV id='target'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/list-marker-2-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/list-marker-2-expected.txt deleted file mode 100644 index 31c6e763..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/list-marker-2-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutListItem LI", - "rect": [48, 94, 744, 104], - "reason": "geometry" - }, - { - "object": "LayoutImage IMG id='target'", - "rect": [48, 94, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutListMarker (anonymous)", - "rect": [31, 180, 7, 18], - "reason": "geometry" - }, - { - "object": "LayoutListMarker (anonymous)", - "rect": [31, 130, 7, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutListItem LI", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutListMarker (anonymous)", - "reason": "geometry" - }, - { - "object": "LayoutImage IMG id='target'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/list-marker-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/list-marker-expected.png deleted file mode 100644 index f0e934f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/list-marker-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/list-marker-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/list-marker-expected.txt deleted file mode 100644 index d3ec300..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/list-marker-expected.txt +++ /dev/null
@@ -1,46 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x576 - LayoutBlockFlow {P} at (0,0) size 784x36 - LayoutText {#text} at (0,0) size 54x18 - text run at (0,0) width 54: "Test for " - LayoutInline {I} at (0,0) size 739x36 - LayoutInline {A} at (0,0) size 305x18 [color=#0000EE] - LayoutText {#text} at (53,0) size 305x18 - text run at (53,0) width 305: "http://bugs.webkit.org/show_bug.cgi?id=12910" - LayoutText {#text} at (357,0) size 739x36 - text run at (357,0) width 5: " " - text run at (361,0) width 378: "REGRESSION (r18756-r18765): list-bullet doesn't redraw" - text run at (0,18) width 375: "properly when changing the list's content using JavaScript" - LayoutText {#text} at (374,18) size 5x18 - text run at (374,18) width 5: "." - LayoutBlockFlow {UL} at (0,52) size 784x18 - LayoutListItem {LI} at (40,0) size 744x18 - LayoutBlockFlow (anonymous) at (0,0) size 744x18 - LayoutListMarker (anonymous) at (-17,0) size 7x18: bullet - LayoutText {#text} at (0,0) size 22x18 - text run at (0,0) width 22: "foo" - LayoutBlockFlow {DIV} at (10,28) size 724x0 - LayoutBlockFlow {UL} at (0,86) size 784x18 - LayoutListItem {LI} at (40,0) size 744x18 - LayoutBlockFlow (anonymous) at (0,0) size 744x18 - LayoutListMarker (anonymous) at (-1,0) size 7x18: bullet - LayoutText {#text} at (22,0) size 21x18 - text run at (22,0) width 21: "bar" - LayoutBlockFlow {DIV} at (10,28) size 724x0 - LayoutBlockFlow {UL} at (0,120) size 784x18 - LayoutListItem {LI} at (0,0) size 744x18 - LayoutBlockFlow (anonymous) at (0,0) size 744x18 - LayoutListMarker (anonymous) at (754,0) size 7x18: bullet - LayoutText {#text} at (722,0) size 22x18 - text run at (722,0) width 22: "foo" - LayoutBlockFlow {DIV} at (10,28) size 724x0 - LayoutBlockFlow {UL} at (0,154) size 784x18 - LayoutListItem {LI} at (0,0) size 744x18 - LayoutBlockFlow (anonymous) at (0,0) size 744x18 - LayoutListMarker (anonymous) at (738,0) size 7x18: bullet - LayoutText {#text} at (701,0) size 21x18 - text run at (701,0) width 21: "bar" - LayoutBlockFlow {DIV} at (10,28) size 724x0
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/make-children-non-inline-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/make-children-non-inline-expected.txt deleted file mode 100644 index 1525cde2..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/make-children-non-inline-expected.txt +++ /dev/null
@@ -1,353 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 60, 784, 262], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 60, 784, 90], - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 250, 784, 72], - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 250, 113, 18], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 150, 113, 18], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 132, 80, 18], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 132, 80, 18], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 96, 80, 18], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 96, 80, 18], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 268, 69, 18], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 168, 69, 18], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 304, 64, 18], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 204, 64, 18], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 114, 45, 18], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 114, 45, 18], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 78, 44, 18], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 78, 44, 18], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 60, 40, 18], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 60, 40, 18], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 286, 30, 18], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 186, 30, 18], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [8, 150, 10, 100], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'Word,'", - "reason": "style change" - }, - { - "object": "LayoutBR BR", - "reason": "style change" - }, - { - "object": "InlineTextBox '\n'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'words,'", - "reason": "style change" - }, - { - "object": "LayoutBR BR", - "reason": "style change" - }, - { - "object": "InlineTextBox '\n'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'more words.'", - "reason": "style change" - }, - { - "object": "LayoutBR BR", - "reason": "style change" - }, - { - "object": "InlineTextBox '\n'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'I could'", - "reason": "style change" - }, - { - "object": "LayoutBR BR", - "reason": "style change" - }, - { - "object": "InlineTextBox '\n'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'write a book'", - "reason": "style change" - }, - { - "object": "LayoutBR BR", - "reason": "style change" - }, - { - "object": "InlineTextBox '\n'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'about all the stuff'", - "reason": "style change" - }, - { - "object": "LayoutBR BR", - "reason": "style change" - }, - { - "object": "InlineTextBox '\n'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'that comes'", - "reason": "style change" - }, - { - "object": "LayoutBR BR", - "reason": "style change" - }, - { - "object": "InlineTextBox '\n'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'after'", - "reason": "style change" - }, - { - "object": "LayoutBR BR", - "reason": "style change" - }, - { - "object": "InlineTextBox '\n'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'the break.'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/multi-layout-one-frame-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/multi-layout-one-frame-expected.txt deleted file mode 100644 index 2bd23a5..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/multi-layout-one-frame-expected.txt +++ /dev/null
@@ -1,67 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [146, 11, 125, 13], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [11, 11, 125, 13], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [146, 11, 43, 13], - "reason": "full" - }, - { - "object": "LayoutText #text", - "rect": [11, 11, 43, 13], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASSED'", - "reason": "full" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASSED'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/multicol-as-paint-container-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/multicol-as-paint-container-expected.txt deleted file mode 100644 index fa7976d8..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/multicol-as-paint-container-expected.txt +++ /dev/null
@@ -1,108 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutBlockFlow DIV id='target'", - "position": [8, 8], - "bounds": [630, 180], - "drawsContent": true, - "backfaceVisibility": "hidden", - "paintInvalidations": [ - { - "object": "LayoutMultiColumnSet (anonymous)", - "rect": [0, 0, 630, 180], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [0, -1, 625, 181], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'Lorem ipsum'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'dolor sit amet,'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'consectetur'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'adipiscing'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'elit. Fusce'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'varius, metus'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'eu fringilla'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'pulvinar, ipsum'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'sapien'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'ultricies arcu,'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'non condimentum'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'quam est eu'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'purus. Ut nisl'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'libero,'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'suscipit ut leo'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'eget, dapibus'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'ultrices dolor.'", - "reason": "style change" - }, - { - "object": "LayoutMultiColumnSet (anonymous)", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/multicol-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/multicol-repaint-expected.txt deleted file mode 100644 index 4f9ffa2..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/multicol-repaint-expected.txt +++ /dev/null
@@ -1,84 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutMultiColumnFlowThread (anonymous)", - "rect": [9, 9, 400, 100], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='a'", - "rect": [234, 9, 300, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [234, 14, 300, 52], - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "rect": [234, 14, 50, 52], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [9, 9, 13, 59], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutMultiColumnFlowThread (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u00A0'", - "reason": "geometry" - }, - { - "object": "LayoutBR BR", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='a'", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'XXXXXX'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/multicol-with-abspos-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/multicol-with-abspos-expected.txt deleted file mode 100644 index 4a4a951..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/multicol-with-abspos-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [0, 579, 80, 22], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='target'", - "rect": [0, 580, 80, 20], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='target'", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/multicol-with-abspos-in-relpos-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/multicol-with-abspos-in-relpos-expected.txt deleted file mode 100644 index d62e8b5..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/multicol-with-abspos-in-relpos-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [508, 27, 80, 22], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='target'", - "rect": [508, 28, 80, 20], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='target'", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/multicol-with-block-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/multicol-with-block-expected.txt deleted file mode 100644 index 6329003..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/multicol-with-block-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [328, 8, 240, 21], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [488, 8, 150, 20], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/multicol-with-inline-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/multicol-with-inline-expected.txt deleted file mode 100644 index 556de9c9..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/multicol-with-inline-expected.txt +++ /dev/null
@@ -1,32 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [328, 8, 240, 21], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutInline SPAN id='target'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/multicol-with-text-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/multicol-with-text-expected.txt deleted file mode 100644 index 302f5dc5..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/multicol-with-text-expected.txt +++ /dev/null
@@ -1,57 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutMultiColumnFlowThread (anonymous)", - "rect": [8, 8, 630, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [328, 8, 240, 21], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutMultiColumnFlowThread (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBR BR", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutBR BR", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/non-text-link-invalidation-optimization-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/non-text-link-invalidation-optimization-expected.png deleted file mode 100644 index 472bc2a..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/non-text-link-invalidation-optimization-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/offset-change-wrong-invalidation-with-float-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/offset-change-wrong-invalidation-with-float-expected.txt deleted file mode 100644 index 53c16ff..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/offset-change-wrong-invalidation-with-float-expected.txt +++ /dev/null
@@ -1,80 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) UL id='submenu'", - "rect": [48, 92, 40, 18], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) UL id='submenu'", - "rect": [48, -158, 40, 18], - "reason": "geometry" - }, - { - "object": "LayoutListMarker (anonymous)", - "rect": [71, 92, 7, 18], - "reason": "geometry" - }, - { - "object": "LayoutListMarker (anonymous)", - "rect": [71, -158, 7, 18], - "reason": "geometry" - } - ] - }, - { - "name": "LayoutListItem (floating) LI id='watches'", - "position": [31, 42], - "transformOrigin": [17, 9], - "bounds": [24, 18], - "drawsContent": true - }, - { - "name": "LayoutInline (relative positioned) SPAN id='placeholder'", - "position": [17, 0], - "backfaceVisibility": "hidden" - }, - { - "name": "LayoutListItem (relative positioned) (floating) LI id='menu'", - "position": [31, 42], - "bounds": [17, 18], - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutListMarker (anonymous)", - "rect": [0, 0, 7, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutListMarker (anonymous)", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) UL id='submenu'", - "reason": "geometry" - }, - { - "object": "LayoutListItem LI", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutListMarker (anonymous)", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/opacity-change-on-overflow-float-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/opacity-change-on-overflow-float-expected.txt deleted file mode 100644 index c86dd1a..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/opacity-change-on-overflow-float-expected.txt +++ /dev/null
@@ -1,42 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) DIV class='green'", - "rect": [8, 78, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (floating) DIV class='green'", - "rect": [8, 78, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (floating) DIV class='red'", - "rect": [8, 78, 100, 100], - "reason": "background" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) DIV class='green'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (floating) DIV class='red'", - "reason": "background" - }, - { - "object": "LayoutBlockFlow (floating) DIV class='green'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/outline-become-affected-by-descendant-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/outline-become-affected-by-descendant-expected.txt deleted file mode 100644 index ced01b4..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/outline-become-affected-by-descendant-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='outline'", - "rect": [4, 4, 158, 108], - "reason": "outline" - }, - { - "object": "LayoutBlockFlow DIV id='child'", - "rect": [58, 8, 100, 50], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='outline'", - "reason": "outline" - }, - { - "object": "LayoutBlockFlow DIV id='child'", - "reason": "incremental" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/outline-become-not-affected-by-descendant-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/outline-become-not-affected-by-descendant-expected.txt deleted file mode 100644 index 9d2ead9..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/outline-become-not-affected-by-descendant-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='outline'", - "rect": [4, 4, 158, 108], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='child'", - "rect": [58, 8, 100, 50], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='outline'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='child'", - "reason": "incremental" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/outline-clip-change-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/outline-clip-change-expected.txt deleted file mode 100644 index 194f2ce..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/outline-clip-change-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) A id='link' class='updated'", - "rect": [43, 97, 97, 28], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [48, 102, 87, 18], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) A id='link' class='updated'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Lorem Ipsum'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/outline-continuations-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/outline-continuations-expected.txt deleted file mode 100644 index 9a51e19..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/outline-continuations-expected.txt +++ /dev/null
@@ -1,101 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [18, 148, 200, 18], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [18, 110, 200, 18], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='outer'", - "rect": [16, 108, 88, 60], - "reason": "style change" - }, - { - "object": "LayoutInline SPAN id='outer'", - "rect": [16, 146, 88, 22], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [18, 148, 84, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [18, 110, 84, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='outer'", - "reason": "style change" - }, - { - "object": "InlineFlowBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'CONTENTS'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='outer'", - "reason": "style change" - }, - { - "object": "InlineFlowBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'CONTENTS'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='outer'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/outline-inset-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/outline-inset-expected.txt deleted file mode 100644 index 3932fe25..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/outline-inset-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [19, 189, 200, 60], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [19, 29, 200, 60], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='b'", - "rect": [29, 229, 180, 20], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='a'", - "rect": [29, 69, 180, 20], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='a'", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='b'", - "reason": "incremental" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/outline-repaint-glitch-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/outline-repaint-glitch-expected.txt deleted file mode 100644 index 73478787..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/outline-repaint-glitch-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [15, 377, 208, 68], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [15, 217, 208, 68], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='b'", - "rect": [29, 421, 180, 20], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='a'", - "rect": [29, 261, 180, 20], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='a'", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='b'", - "reason": "incremental" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/overflow-delete-line-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/overflow-delete-line-expected.txt deleted file mode 100644 index 480b7f7..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/overflow-delete-line-expected.txt +++ /dev/null
@@ -1,46 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='dv'", - "rect": [8, 70, 80, 36], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 70, 74, 18], - "reason": "full" - }, - { - "object": "LayoutText #text", - "rect": [8, 70, 47, 36], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='dv'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'Lorem ipsu'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-body-appear-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-body-appear-expected.png deleted file mode 100644 index 3c6e9c9..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-body-appear-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-body-appear-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-body-appear-expected.txt deleted file mode 100644 index b1af0dc..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-body-appear-expected.txt +++ /dev/null
@@ -1,134 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [2008, 2092], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [0, 0, 2008, 2092], - "reason": "style change" - }, - { - "object": "LayoutView #document", - "rect": [0, 585, 785, 15], - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [8, 16, 784, 2068], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow P", - "rect": [8, 50, 784, 18], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow P", - "rect": [8, 16, 784, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [127, 50, 390, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 16, 348, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 50, 120, 18], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [785, 0, 15, 585], - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "rect": [785, 585, 15, 15], - "reason": "scroll control" - }, - { - "object": "LayoutText #text", - "rect": [516, 50, 5, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'You should see both vertical and horizontal scrollbars.'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'This is the test for '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Bug 36461 - No vertical scrollbar after the CSS class change'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '.'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-delete-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-delete-expected.png deleted file mode 100644 index ce6ebee..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-delete-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/overhanging-float-detach-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/overhanging-float-detach-repaint-expected.txt deleted file mode 100644 index af9835e..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/overhanging-float-detach-repaint-expected.txt +++ /dev/null
@@ -1,28 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) DIV class='float'", - "rect": [8, 62, 100, 100], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) DIV class='float'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='floatContainer'", - "reason": "disappeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/paged-with-overflowing-block-rl-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/paged-with-overflowing-block-rl-expected.png deleted file mode 100644 index 857d8c6..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/paged-with-overflowing-block-rl-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/paint-invalidation-with-reparent-across-frame-boundaries-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/paint-invalidation-with-reparent-across-frame-boundaries-expected.txt deleted file mode 100644 index df59711..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/paint-invalidation-with-reparent-across-frame-boundaries-expected.txt +++ /dev/null
@@ -1,59 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-target'", - "rect": [8, 184, 784, 18], - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow DIV id='inner-target'", - "rect": [18, 18, 284, 18], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [18, 18, 23, 18], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 184, 23, 18], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-target'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'abc'", - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='inner-target'", - "reason": "disappeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/positioned-document-element-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/positioned-document-element-expected.txt deleted file mode 100644 index 266a428..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/positioned-document-element-expected.txt +++ /dev/null
@@ -1,79 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#008000", - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [0, 0, 800, 600], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) HTML class='changed'", - "rect": [0, 0, 800, 50], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow P", - "rect": [8, 16, 784, 18], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) HTML class='changed'", - "rect": [100, 100, 451, 50], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow P", - "rect": [108, 116, 435, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [108, 116, 435, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 16, 435, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) HTML class='changed'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Tests that the entire viewport is painted with a floated html element.'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/positioned-great-grandparent-change-location-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/positioned-great-grandparent-change-location-expected.txt deleted file mode 100644 index 7dcc98b..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/positioned-great-grandparent-change-location-expected.txt +++ /dev/null
@@ -1,59 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV", - "rect": [100, 200, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV", - "rect": [100, 100, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [100, 200, 41, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [100, 100, 41, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Target'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/positioned-list-offset-change-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/positioned-list-offset-change-repaint-expected.txt deleted file mode 100644 index e0414b76..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/positioned-list-offset-change-repaint-expected.txt +++ /dev/null
@@ -1,45 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutListItem (positioned) LI", - "rect": [8, 60, 214, 236], - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "rect": [8, 60, 214, 232], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutListItem (positioned) LI", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutListMarker (anonymous)", - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/push-block-with-first-line-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/push-block-with-first-line-expected.txt deleted file mode 100644 index ec35408..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/push-block-with-first-line-expected.txt +++ /dev/null
@@ -1,60 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='spacer'", - "rect": [8, 8, 784, 60], - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow DIV class='test'", - "rect": [8, 68, 784, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='test'", - "rect": [8, 8, 784, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 67, 140, 22], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 7, 140, 22], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='spacer'", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow DIV class='test'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'JOCULAR'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/quotes-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/quotes-expected.txt deleted file mode 100644 index 6b2921ad..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/quotes-expected.txt +++ /dev/null
@@ -1,97 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 26, 784, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [15, 26, 49, 18], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [17, 26, 48, 18], - "reason": "style change" - }, - { - "object": "LayoutTextFragment (anonymous)", - "rect": [64, 26, 10, 18], - "reason": "style change" - }, - { - "object": "LayoutTextFragment (anonymous)", - "rect": [8, 26, 10, 18], - "reason": "style change" - }, - { - "object": "LayoutTextFragment (anonymous)", - "rect": [63, 26, 8, 18], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline Q id='q2' class='q-changed'", - "reason": "style change" - }, - { - "object": "LayoutInline \u003Cpseudo:before\u003E", - "reason": "style change" - }, - { - "object": "LayoutQuote (anonymous)", - "reason": "style change" - }, - { - "object": "LayoutTextFragment (anonymous)", - "reason": "style change" - }, - { - "object": "InlineTextBox '{'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'quote 2'", - "reason": "style change" - }, - { - "object": "LayoutInline \u003Cpseudo:after\u003E", - "reason": "style change" - }, - { - "object": "LayoutQuote (anonymous)", - "reason": "style change" - }, - { - "object": "LayoutTextFragment (anonymous)", - "reason": "style change" - }, - { - "object": "InlineTextBox '}'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/relative-inline-positioned-movement-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/relative-inline-positioned-movement-repaint-expected.txt deleted file mode 100644 index 39fd066f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/relative-inline-positioned-movement-repaint-expected.txt +++ /dev/null
@@ -1,63 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "rect": [8, 8, 784, 18], - "reason": "geometry" - } - ] - }, - { - "name": "LayoutInline (relative positioned) DIV id='block'", - "position": [68, 7], - "bounds": [374, 20], - "drawsContent": true, - "backfaceVisibility": "hidden", - "paintInvalidations": [ - { - "object": "LayoutInline (relative positioned) DIV id='block'", - "rect": [0, 0, 374, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [1, 1, 372, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline (relative positioned) DIV id='block'", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'When this layer moves it shouldn't generate a repaint rect.'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/remove-block-after-layout-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/remove-block-after-layout-expected.txt deleted file mode 100644 index 524ac10..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/remove-block-after-layout-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='target'", - "rect": [8, 108, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 108, 100, 36], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='target'", - "reason": "disappeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/remove-inline-after-layout-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/remove-inline-after-layout-expected.txt deleted file mode 100644 index e0ebf8d..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/remove-inline-after-layout-expected.txt +++ /dev/null
@@ -1,77 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 108, 784, 104], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [112, 194, 181, 18], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [292, 108, 101, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [112, 108, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 108, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [108, 194, 4, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutInline SPAN id='target'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/remove-inline-layer-after-layout-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/remove-inline-layer-after-layout-expected.txt deleted file mode 100644 index fa532a2..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/remove-inline-layer-after-layout-expected.txt +++ /dev/null
@@ -1,82 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 108, 784, 104], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='target'", - "rect": [112, 108, 181, 104], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [112, 194, 181, 18], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [292, 108, 101, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [112, 108, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 108, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [108, 194, 4, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutInline SPAN id='target'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.png deleted file mode 100644 index 2d855c9..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.txt deleted file mode 100644 index aa99299..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.txt +++ /dev/null
@@ -1,15 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -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 784x19 - LayoutTextControl {INPUT} at (0,0) size 131x19 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)] - LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow (anonymous) at (0,19) size 784x18 - LayoutText {#text} at (0,0) size 4x18 - text run at (0,0) width 4: " " - LayoutBlockFlow {DIV} at (0,37) size 784x0 -layer at (11,11) size 125x13 - LayoutBlockFlow {DIV} at (3,3) size 125x13 -caret: position 0 of child 0 {DIV} of {#document-fragment} of child 1 {INPUT} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/repaint-across-writing-mode-boundary-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/repaint-across-writing-mode-boundary-expected.png deleted file mode 100644 index 60e0862..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/repaint-across-writing-mode-boundary-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/repaint-descandant-on-ancestor-layer-move-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/repaint-descandant-on-ancestor-layer-move-expected.txt deleted file mode 100644 index aa7cbd7f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/repaint-descandant-on-ancestor-layer-move-expected.txt +++ /dev/null
@@ -1,73 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) DIV", - "rect": [428, 38, 300, 18], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='container'", - "rect": [408, 18, 300, 18], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV", - "rect": [28, 38, 300, 18], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='container'", - "rect": [8, 18, 300, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [428, 38, 275, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [28, 38, 275, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='container'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'There should only be one copy of this text.'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/repaint-during-scroll-with-zoom-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/repaint-during-scroll-with-zoom-expected.txt deleted file mode 100644 index 96b7207c..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/repaint-during-scroll-with-zoom-expected.txt +++ /dev/null
@@ -1,107 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#C0C0C0", - "paintInvalidations": [ - { - "object": "LayoutIFrame (positioned) IFRAME", - "rect": [2, 65, 236, 235], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutView #document", - "rect": [2, 300, 236, 15], - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [3, 65, 235, 235], - "reason": "subtree" - }, - { - "object": "LayoutView #document", - "rect": [3, 65, 235, 235], - "reason": "subtree" - }, - { - "object": "LayoutView #document", - "rect": [3, 300, 235, 15], - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow HTML", - "rect": [3, 65, 225, 235], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [3, 65, 58, 16], - "reason": "subtree" - }, - { - "object": "LayoutView #document", - "rect": [237, 65, 16, 235], - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "rect": [237, 300, 16, 15], - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "rect": [238, 65, 15, 235], - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "rect": [238, 300, 15, 15], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutIFrame (positioned) IFRAME", - "reason": "invalidate paint rectangle" - }, - { - "object": "HorizontalScrollbar", - "reason": "scroll control" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow HTML", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'scroll me'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/repaint-svg-after-style-change-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/repaint-svg-after-style-change-expected.txt deleted file mode 100644 index 633dffb..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/repaint-svg-after-style-change-expected.txt +++ /dev/null
@@ -1,10 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x221 - LayoutBlockFlow {HTML} at (0,0) size 800x221 - LayoutBlockFlow {BODY} at (8,8) size 784x205 - LayoutSVGRoot {svg} at (0,0) size 201x201 - LayoutSVGContainer {g} at (0,0) size 200x200 - LayoutSVGPath {path} at (0,0) size 200x200 [fill={[type=SOLID] [color=#FF0000]}] [data="M 0 0 L 0 200 L 200 200 L 200 0 Z"] - LayoutSVGPath {path} at (0,0) size 200x200 [fill={[type=SOLID] [color=#008000]}] [data="M 0 0 L 0 200 L 200 200 L 200 0 Z"] - LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/replaced-clipped-positioned-not-wrong-incremental-repainting-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/replaced-clipped-positioned-not-wrong-incremental-repainting-expected.txt deleted file mode 100644 index 182e242..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/replaced-clipped-positioned-not-wrong-incremental-repainting-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) (floating) DIV class='imgContainer'", - "rect": [8, 8, 194, 236], - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "rect": [8, 8, 194, 232], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) (floating) DIV class='imgContainer'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/resize-iframe-text-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/resize-iframe-text-expected.png deleted file mode 100644 index 63b64fc9..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/resize-iframe-text-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/resize-iframe-text-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/resize-iframe-text-expected.txt deleted file mode 100644 index 89c929d..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/resize-iframe-text-expected.txt +++ /dev/null
@@ -1,59 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [500, 400], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutIFrame (positioned) IFRAME", - "rect": [0, 200, 500, 200], - "reason": "incremental" - }, - { - "object": "LayoutView #document", - "rect": [0, 200, 500, 200], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow H3", - "rect": [8, 300, 400, 22], - "reason": "appeared" - }, - { - "object": "LayoutView #document", - "rect": [485, 0, 15, 200], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "incremental" - }, - { - "object": "LayoutIFrame (positioned) IFRAME", - "reason": "incremental" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow H3", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/resize-scrollable-iframe-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/resize-scrollable-iframe-expected.txt deleted file mode 100644 index 82485c5..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/resize-scrollable-iframe-expected.txt +++ /dev/null
@@ -1,97 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 108, 784, 304], - "reason": "geometry" - }, - { - "object": "LayoutIFrame IFRAME id='iframe'", - "rect": [8, 108, 300, 300], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [8, 193, 285, 200], - "reason": "incremental" - }, - { - "object": "LayoutView #document", - "rect": [8, 393, 285, 15], - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "rect": [93, 108, 200, 285], - "reason": "incremental" - }, - { - "object": "LayoutView #document", - "rect": [8, 193, 85, 15], - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "rect": [293, 108, 15, 285], - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "rect": [93, 108, 15, 85], - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "rect": [293, 393, 15, 15], - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "rect": [93, 193, 15, 15], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutIFrame IFRAME id='iframe'", - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "HorizontalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "reason": "incremental" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/ruby-flipped-blocks-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/ruby-flipped-blocks-expected.txt deleted file mode 100644 index 28dc7c0..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/ruby-flipped-blocks-expected.txt +++ /dev/null
@@ -1,89 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 8, 30, 40], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [7, 28, 22, 20], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [7, 8, 22, 20], - "reason": "geometry" - }, - { - "object": "LayoutRubyBase (anonymous)", - "rect": [8, 28, 20, 20], - "reason": "style change" - }, - { - "object": "LayoutRubyRun (anonymous)", - "rect": [8, 28, 20, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [27, 33, 12, 10], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a'", - "reason": "geometry" - }, - { - "object": "LayoutRubyRun (anonymous)", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'c'", - "reason": "style change" - }, - { - "object": "LayoutRubyBase (anonymous)", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'b'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/search-field-cancel-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/search-field-cancel-expected.txt deleted file mode 100644 index d01718aa..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/search-field-cancel-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [12, 45, 113, 13], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [12, 45, 52, 13], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'some text'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/select-option-background-color-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/select-option-background-color-expected.txt deleted file mode 100644 index f7aa4527..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/select-option-background-color-expected.txt +++ /dev/null
@@ -1,28 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow OPTION id='option'", - "rect": [1, 35, 12, 15], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow OPTION id='option'", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selected-replaced-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selected-replaced-expected.png deleted file mode 100644 index e6c5a9c..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selected-replaced-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selected-replaced-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selected-replaced-expected.txt deleted file mode 100644 index fb64076..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selected-replaced-expected.txt +++ /dev/null
@@ -1,42 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 68, 784, 236], - "reason": "geometry" - }, - { - "object": "LayoutImage (relative positioned) IMG id='test' class='moved'", - "rect": [8, 148, 214, 232], - "reason": "geometry" - }, - { - "object": "LayoutImage (relative positioned) IMG id='test' class='moved'", - "rect": [8, 68, 214, 232], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutImage (relative positioned) IMG id='test' class='moved'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selection-after-delete-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selection-after-delete-expected.txt deleted file mode 100644 index 1152674..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selection-after-delete-expected.txt +++ /dev/null
@@ -1,49 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='test'", - "rect": [38, 74, 152, 110], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [39, 75, 123, 108], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='test'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutBR BR", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selection-after-remove-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selection-after-remove-expected.txt deleted file mode 100644 index 1b49198..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selection-after-remove-expected.txt +++ /dev/null
@@ -1,80 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='test'", - "rect": [38, 74, 152, 110], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [39, 75, 123, 108], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [112, 165, 42, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [74, 75, 39, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [39, 75, 36, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutInline SPAN id='removeme'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='test'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hello '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'world'", - "reason": "geometry" - }, - { - "object": "LayoutBR BR", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selection-clear-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selection-clear-expected.txt deleted file mode 100644 index 5f8988d..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selection-clear-expected.txt +++ /dev/null
@@ -1,105 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='firstLine'", - "rect": [8, 8, 100, 200], - "reason": "full" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 208, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='root'", - "rect": [8, 208, 100, 100], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 108, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 49, 98, 118], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 49, 8, 18], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV id='root'", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='root'", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV id='firstLine'", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox '\u00A0'", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBR BR", - "reason": "selection" - }, - { - "object": "InlineTextBox '\n'", - "reason": "selection" - }, - { - "object": "LayoutBR BR", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selection-partial-invalidation-between-blocks-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selection-partial-invalidation-between-blocks-expected.txt deleted file mode 100644 index 5c4650c..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selection-partial-invalidation-between-blocks-expected.txt +++ /dev/null
@@ -1,61 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [11, 33, 79, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [11, 11, 61, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutTable TABLE", - "reason": "selection" - }, - { - "object": "LayoutTableCell TD id='firstCell'", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'First cell'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD id='secondCell'", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Second cell'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-expected.txt deleted file mode 100644 index b87573e2..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-expected.txt +++ /dev/null
@@ -1,44 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [8, 8, 48, 34], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV id='container'", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'xx'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'y'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-rtl-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-rtl-expected.txt deleted file mode 100644 index af23a82..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-rtl-expected.txt +++ /dev/null
@@ -1,44 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [-8, 8, 48, 34], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV id='container'", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'xx'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'y'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-rl-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-rl-expected.txt deleted file mode 100644 index 3941c57..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-rl-expected.txt +++ /dev/null
@@ -1,44 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [6, 8, 34, 48], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV id='container'", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'xx'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'y'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt deleted file mode 100644 index 7143be3..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt +++ /dev/null
@@ -1,62 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='target'", - "rect": [5, 5, 47, 25], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [11, 11, 35, 13], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [11, 11, 35, 13], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutTextControl INPUT id='target'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "HorizontalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'test test test'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/shadow-multiple-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/shadow-multiple-expected.png deleted file mode 100644 index 12bb45c..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/shadow-multiple-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-addition-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-addition-expected.txt deleted file mode 100644 index 360222a..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-addition-expected.txt +++ /dev/null
@@ -1,100 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 829], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [0, 735, 785, 94], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='relative paddingTop'", - "rect": [8, 180, 769, 641], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='relative paddingTop'", - "rect": [8, 86, 769, 641], - "reason": "geometry" - }, - { - "object": "LayoutIFrame IFRAME id='iframe'", - "rect": [8, 86, 732, 94], - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow HTML", - "rect": [10, 88, 728, 90], - "reason": "appeared" - }, - { - "object": "LayoutView #document", - "rect": [10, 88, 728, 90], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [18, 96, 712, 74], - "reason": "appeared" - }, - { - "object": "LayoutImage IMG", - "rect": [58, 230, 489, 537], - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "rect": [58, 136, 489, 537], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "incremental" - }, - { - "object": "LayoutIFrame IFRAME id='iframe'", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='relative paddingTop'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow HTML", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt deleted file mode 100644 index 47d47419..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt +++ /dev/null
@@ -1,104 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 735], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [0, 735, 785, 98], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='relative paddingTop'", - "rect": [8, 184, 769, 641], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='relative paddingTop'", - "rect": [8, 86, 769, 641], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 86, 769, 98], - "reason": "disappeared" - }, - { - "object": "LayoutIFrame IFRAME id='iframe'", - "rect": [8, 86, 732, 94], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow HTML", - "rect": [10, 88, 728, 90], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [18, 96, 712, 74], - "reason": "disappeared" - }, - { - "object": "LayoutImage IMG", - "rect": [58, 234, 489, 537], - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "rect": [58, 136, 489, 537], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutIFrame IFRAME id='iframe'", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "disappeared" - }, - { - "object": "LayoutView #document", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='relative paddingTop'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow HTML", - "reason": "disappeared" - }, - { - "object": "LayoutView #document", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.txt deleted file mode 100644 index 6dcb8d97..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.txt +++ /dev/null
@@ -1,28 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [1059, 585], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [10, 68, 836, 190], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'Col 1'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/slider-thumb-drag-release-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/slider-thumb-drag-release-expected.png deleted file mode 100644 index d6e2d0d..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/slider-thumb-drag-release-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/slider-thumb-float-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/slider-thumb-float-expected.png deleted file mode 100644 index 42e74b8b..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/slider-thumb-float-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/stacked-diacritics-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/stacked-diacritics-expected.txt deleted file mode 100644 index 3e371ed..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/stacked-diacritics-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='stacked'", - "rect": [19, 159, 200, 41], - "reason": "full" - }, - { - "object": "LayoutText #text", - "rect": [18, 153, 132, 47], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='stacked'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/subtree-layoutstate-transform-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/subtree-layoutstate-transform-expected.txt deleted file mode 100644 index b635d68..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/subtree-layoutstate-transform-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV class='layoutroot'", - "rect": [28, 46, 200, 200], - "reason": "background" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [28, 46, 200, 200], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV class='layoutroot'", - "reason": "background" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.png deleted file mode 100644 index 0dc02402..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.txt deleted file mode 100644 index a826c0f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [11, 11, 125, 13], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [11, 11, 29, 13], - "reason": "full" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='div'", - "rect": [8, 288, 10, 20], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "full" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='div'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/absolute-sized-content-with-resources-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/absolute-sized-content-with-resources-expected.png deleted file mode 100644 index 1d26551..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/absolute-sized-content-with-resources-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/absolute-sized-content-with-resources-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/absolute-sized-content-with-resources-expected.txt deleted file mode 100644 index 6edb515..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/absolute-sized-content-with-resources-expected.txt +++ /dev/null
@@ -1,116 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "rect": [8, 50, 402, 402], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g", - "rect": [42, 117, 334, 268], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [42, 117, 334, 268], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [42, 117, 334, 268], - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "rect": [242, 251, 167, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "rect": [242, 51, 167, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "rect": [9, 251, 167, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "rect": [9, 51, 167, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g", - "rect": [17, 217, 84, 68], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [17, 217, 84, 68], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [17, 217, 84, 68], - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "rect": [67, 251, 42, 67], - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "rect": [67, 184, 42, 67], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "reason": "SVG resource change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/add-outline-property-on-root-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/add-outline-property-on-root-expected.txt deleted file mode 100644 index ee2f9aa9..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/add-outline-property-on-root-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "rect": [8, 8, 784, 104], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [-2, -2, 120, 120], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/animated-path-inside-transformed-html-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/animated-path-inside-transformed-html-expected.png deleted file mode 100644 index c2ded6e8..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/animated-path-inside-transformed-html-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/animated-path-inside-transformed-html-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/animated-path-inside-transformed-html-expected.txt deleted file mode 100644 index 6e536a6..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/animated-path-inside-transformed-html-expected.txt +++ /dev/null
@@ -1,80 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#FFFFFF", - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [203, 335, 121, 43], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text id='text'", - "rect": [203, 335, 121, 43], - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [246, 104, 119, 28], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text id='text'", - "rect": [246, 104, 119, 28], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [354, 125, 105, 102], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [111, 82, 101, 102], - "reason": "full" - }, - { - "object": "LayoutSVGImage image id='image'", - "rect": [352, 395, 98, 99], - "reason": "full" - }, - { - "object": "LayoutSVGImage image id='image'", - "rect": [90, 206, 98, 98], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "full" - }, - { - "object": "LayoutSVGText text id='text'", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'This is some text'", - "reason": "geometry" - }, - { - "object": "LayoutSVGImage image id='image'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-expected.png deleted file mode 100644 index 3dec8f1c..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-no-fixed-intrinsic-size-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-no-fixed-intrinsic-size-expected.png deleted file mode 100644 index fc6d481..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-no-fixed-intrinsic-size-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-same-image-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-same-image-expected.png deleted file mode 100644 index 3dec8f1c..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-same-image-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/append-text-node-to-tspan-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/append-text-node-to-tspan-expected.txt deleted file mode 100644 index ba9bf2c5..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/append-text-node-to-tspan-expected.txt +++ /dev/null
@@ -1,145 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 62, 306, 378], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 62, 306, 378], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 62, 306, 378], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 62, 306, 378], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 62, 306, 378], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 62, 306, 378], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [10, 62, 306, 378], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [10, 62, 306, 378], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan id='modify'", - "rect": [10, 62, 306, 378], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text", - "rect": [10, 62, 306, 378], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGText text", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutSVGTSpan tspan id='modify'", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PA'", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'SS'", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' '", - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' '", - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/circle-move-invalidation-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/circle-move-invalidation-expected.png deleted file mode 100644 index b912a5d..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/circle-move-invalidation-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/ems-display-none-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/ems-display-none-expected.txt deleted file mode 100644 index 43539c0e..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/ems-display-none-expected.txt +++ /dev/null
@@ -1,102 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "rect": [50, 54, 571, 86], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [50, 54, 571, 86], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [50, 54, 571, 86], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [50, 54, 571, 86], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [50, 54, 571, 86], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan id='tspan'", - "rect": [50, 54, 571, 86], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='text'", - "rect": [50, 54, 571, 86], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='text'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan id='tspan'", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Two lines of text should be visible.'", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox ' '", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Two lines of text should be visible.'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/exs-display-none-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/exs-display-none-expected.txt deleted file mode 100644 index ce1c377..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/exs-display-none-expected.txt +++ /dev/null
@@ -1,102 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "rect": [50, 50, 571, 82], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [50, 50, 571, 82], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [50, 50, 571, 82], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [50, 50, 571, 82], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [50, 50, 571, 82], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan id='tspan'", - "rect": [50, 50, 571, 82], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='text'", - "rect": [50, 50, 571, 82], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='text'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan id='tspan'", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Two lines of text should be visible.'", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox ' '", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Two lines of text should be visible.'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/foreignObject-crash-on-hover-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/foreignObject-crash-on-hover-expected.png deleted file mode 100644 index 727bce3..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/foreignObject-crash-on-hover-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/hit-test-unclosed-subpaths-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/hit-test-unclosed-subpaths-expected.png deleted file mode 100644 index d57d94b..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/hit-test-unclosed-subpaths-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/image-href-change-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/image-href-change-expected.png deleted file mode 100644 index 1887fe7..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/image-href-change-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/inner-svg-change-viewPort-relative-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/inner-svg-change-viewPort-relative-expected.png deleted file mode 100644 index b32b5dd..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/inner-svg-change-viewPort-relative-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/inner-svg-change-viewPort-relative-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/inner-svg-change-viewPort-relative-expected.txt deleted file mode 100644 index d3b9564..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/inner-svg-change-viewPort-relative-expected.txt +++ /dev/null
@@ -1,111 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 200, 200], - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='inner'", - "rect": [0, 0, 200, 200], - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [89, 86, 111, 18], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text", - "rect": [89, 86, 111, 18], - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 86, 101, 18], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 86, 101, 18], - "reason": "full" - }, - { - "object": "LayoutSVGContainer use", - "rect": [180, 120, 20, 20], - "reason": "full" - }, - { - "object": "LayoutSVGPath polygon id='triangle'", - "rect": [180, 120, 20, 20], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [180, 60, 20, 20], - "reason": "full" - }, - { - "object": "LayoutSVGContainer use", - "rect": [80, 120, 20, 20], - "reason": "full" - }, - { - "object": "LayoutSVGPath polygon id='triangle'", - "rect": [80, 120, 20, 20], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [80, 60, 20, 20], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGViewportContainer svg id='inner'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "full" - }, - { - "object": "LayoutSVGText text", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'right-aligned text'", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "reason": "full" - }, - { - "object": "LayoutSVGPath polygon id='triangle'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-clipPath-and-object-creation-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-clipPath-and-object-creation-expected.txt deleted file mode 100644 index 5d6af69..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-clipPath-and-object-creation-expected.txt +++ /dev/null
@@ -1,98 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g id='content'", - "rect": [16, 39, 784, 174], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g id='content'", - "rect": [16, 39, 784, 174], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [16, 39, 784, 174], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [16, 39, 784, 174], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [16, 39, 784, 174], - "reason": "style change" - }, - { - "object": "LayoutSVGText text", - "rect": [16, 39, 784, 174], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [0, 0, 334, 500], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g id='content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Clipped. INVISIBLE.'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='content'", - "reason": "geometry" - }, - { - "object": "LayoutSVGText text", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Clipped. INVISIBLE.'", - "reason": "geometry" - }, - { - "object": "LayoutSVGResourceClipper clipPath id='dynClip'", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-clipPath-creation-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-clipPath-creation-expected.txt deleted file mode 100644 index d9efbeac..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-clipPath-creation-expected.txt +++ /dev/null
@@ -1,63 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g id='content'", - "rect": [16, 39, 784, 174], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [16, 39, 784, 174], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text", - "rect": [16, 39, 784, 174], - "reason": "style change" - }, - { - "object": "LayoutSVGPath path", - "rect": [0, 0, 334, 500], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g id='content'", - "reason": "geometry" - }, - { - "object": "LayoutSVGText text", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Clipped. INVISIBLE.'", - "reason": "geometry" - }, - { - "object": "LayoutSVGResourceClipper clipPath id='dynClip'", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.png deleted file mode 100644 index ce2061c..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.txt deleted file mode 100644 index 60d19d00..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.txt +++ /dev/null
@@ -1,122 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g id='content'", - "rect": [0, 14, 753, 366], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 246, 753, 134], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 246, 753, 134], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 129, 596, 135], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 129, 596, 135], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 14, 443, 131], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 14, 443, 131], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGResourceLinearGradient linearGradient id='fillLinearGradient'", - "reason": "appeared" - }, - { - "object": "LayoutSVGGradientStop stop", - "reason": "appeared" - }, - { - "object": "LayoutSVGGradientStop stop", - "reason": "appeared" - }, - { - "object": "LayoutSVGResourceLinearGradient linearGradient id='strokeLinearGradient'", - "reason": "appeared" - }, - { - "object": "LayoutSVGGradientStop stop", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Gradient on fill'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Gradient on stroke'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Gradient on fill/stroke'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-creation-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-creation-expected.txt deleted file mode 100644 index f60c801..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-creation-expected.txt +++ /dev/null
@@ -1,53 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [33, 22, 693, 196], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text", - "rect": [33, 22, 693, 196], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGText text", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Gradient on fill'", - "reason": "geometry" - }, - { - "object": "LayoutSVGResourceLinearGradient linearGradient id='dynGrad'", - "reason": "appeared" - }, - { - "object": "LayoutSVGGradientStop stop", - "reason": "appeared" - }, - { - "object": "LayoutSVGGradientStop stop", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.png deleted file mode 100644 index 7224eb3..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.txt deleted file mode 100644 index a38ca8e4..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.txt +++ /dev/null
@@ -1,146 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g id='content'", - "rect": [0, 14, 678, 366], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 246, 678, 134], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 246, 678, 134], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 129, 520, 135], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 129, 520, 135], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 14, 368, 131], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 14, 368, 131], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [16, 16, 18, 18], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [16, 16, 18, 18], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [8, 8, 17, 17], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [8, 8, 17, 17], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGResourcePattern pattern id='fillPattern'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGResourcePattern pattern id='strokePattern'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Pattern on fill'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Pattern on stroke'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Pattern on fill/stroke'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-creation-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-creation-expected.txt deleted file mode 100644 index 260b6c9..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-creation-expected.txt +++ /dev/null
@@ -1,63 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [33, 22, 618, 196], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text", - "rect": [33, 22, 618, 196], - "reason": "style change" - }, - { - "object": "LayoutSVGRect rect", - "rect": [16, 25, 18, 25], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [8, 12, 17, 26], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGText text", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Pattern on fill'", - "reason": "geometry" - }, - { - "object": "LayoutSVGResourcePattern pattern id='dynPattern'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/modify-text-node-in-tspan-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/modify-text-node-in-tspan-expected.txt deleted file mode 100644 index 73fc3bb0..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/modify-text-node-in-tspan-expected.txt +++ /dev/null
@@ -1,132 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 62, 306, 378], - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 62, 306, 378], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 62, 306, 378], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 62, 306, 378], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 62, 306, 378], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [10, 62, 306, 378], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [10, 62, 306, 378], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan id='modify'", - "rect": [10, 62, 306, 378], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text", - "rect": [10, 62, 306, 378], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGText text", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGTSpan tspan id='modify'", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' '", - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' '", - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/modify-transferred-listitem-different-attr-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/modify-transferred-listitem-different-attr-expected.txt deleted file mode 100644 index 704978ff..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/modify-transferred-listitem-different-attr-expected.txt +++ /dev/null
@@ -1,71 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [23, 8, 85, 24], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text id='target'", - "rect": [23, 8, 85, 24], - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [58, 45, 50, 27], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text id='source'", - "rect": [58, 45, 50, 27], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGText text id='target'", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'A'", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' B C'", - "reason": "geometry" - }, - { - "object": "LayoutSVGText text id='source'", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'X Y Z'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/outline-offset-text-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/outline-offset-text-expected.txt deleted file mode 100644 index 3e9887d..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/outline-offset-text-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [103, 24, 160, 116], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text", - "rect": [103, 24, 160, 116], - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [63, 24, 160, 116], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text", - "rect": [63, 24, 160, 116], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGText text", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Foo'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/paintorder-filtered-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/paintorder-filtered-expected.png deleted file mode 100644 index 711e7f7..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/paintorder-filtered-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-expected.txt deleted file mode 100644 index bc11cbe8..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-expected.txt +++ /dev/null
@@ -1,46 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "rect": [8, 68, 402, 402], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "rect": [9, 69, 400, 400], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [9, 69, 400, 400], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-with-resources-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-with-resources-expected.png deleted file mode 100644 index ec18128..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-with-resources-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-with-resources-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-with-resources-expected.txt deleted file mode 100644 index 435fa1f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-with-resources-expected.txt +++ /dev/null
@@ -1,56 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "rect": [8, 68, 402, 402], - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "rect": [47, 107, 324, 324], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [48, 108, 322, 322], - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "rect": [8, 150, 102, 238], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [9, 151, 100, 236], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "reason": "SVG resource change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-deep-shadow-tree-content-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-deep-shadow-tree-content-expected.txt deleted file mode 100644 index d7a45535..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-deep-shadow-tree-content-expected.txt +++ /dev/null
@@ -1,121 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "rect": [8, 68, 402, 402], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g id='targetUse'", - "rect": [209, 269, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "rect": [209, 269, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "rect": [209, 269, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [209, 269, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use id='targetUse'", - "rect": [109, 169, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "rect": [109, 169, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "rect": [9, 169, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g id='targetUse'", - "rect": [59, 269, 50, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "rect": [59, 269, 50, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "rect": [59, 269, 50, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [59, 269, 50, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use id='targetUse'", - "rect": [34, 169, 50, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "rect": [34, 169, 50, 200], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use id='targetUse'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g id='targetUse'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-image-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-image-expected.png deleted file mode 100644 index ac4d7260..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-image-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-image-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-image-expected.txt deleted file mode 100644 index 501e2a5..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-image-expected.txt +++ /dev/null
@@ -1,46 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "rect": [8, 68, 402, 402], - "reason": "geometry" - }, - { - "object": "LayoutSVGImage image", - "rect": [9, 69, 400, 400], - "reason": "image" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [9, 69, 400, 400], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "geometry" - }, - { - "object": "LayoutSVGImage image", - "reason": "image" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-inner-svg-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-inner-svg-expected.png deleted file mode 100644 index 179d5f6..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-inner-svg-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-inner-svg-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-inner-svg-expected.txt deleted file mode 100644 index f3c82f8..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-inner-svg-expected.txt +++ /dev/null
@@ -1,70 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "rect": [8, 50, 402, 402], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath path", - "rect": [27, 67, 364, 364], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [27, 67, 364, 364], - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg", - "rect": [27, 67, 364, 364], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath path", - "rect": [13, 205, 92, 91], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [13, 205, 92, 91], - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg", - "rect": [13, 205, 92, 91], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg", - "reason": "geometry" - }, - { - "object": "LayoutSVGPath path", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content-expected.txt deleted file mode 100644 index 4f74cb3..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content-expected.txt +++ /dev/null
@@ -1,128 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "rect": [8, 68, 402, 402], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [9, 69, 400, 400], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "rect": [209, 269, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "rect": [209, 269, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "rect": [9, 269, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g id='targetUse'", - "rect": [9, 69, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "rect": [9, 69, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use id='targetUse'", - "rect": [9, 69, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect1'", - "rect": [9, 69, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect1'", - "rect": [9, 69, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect1'", - "rect": [9, 69, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "rect": [59, 269, 50, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "rect": [59, 269, 50, 200], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect1'", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use id='targetUse'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect1'", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g id='targetUse'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect1'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content-with-symbol-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content-with-symbol-expected.txt deleted file mode 100644 index 92844b53..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content-with-symbol-expected.txt +++ /dev/null
@@ -1,78 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "rect": [8, 68, 402, 402], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "rect": [9, 69, 400, 400], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [9, 69, 400, 400], - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg id='targetSymbol'", - "rect": [9, 69, 400, 400], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [209, 269, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [9, 69, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [59, 269, 50, 50], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg id='targetSymbol'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-on-symbol-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-on-symbol-expected.png deleted file mode 100644 index 682d773..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-on-symbol-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-on-symbol-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-on-symbol-expected.txt deleted file mode 100644 index 92766785..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-on-symbol-expected.txt +++ /dev/null
@@ -1,93 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "rect": [8, 50, 402, 402], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "rect": [45, 85, 328, 328], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath path", - "rect": [45, 85, 328, 328], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [45, 85, 328, 328], - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg id='gamesBorder'", - "rect": [45, 85, 328, 328], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath path", - "rect": [16, 57, 136, 137], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "rect": [18, 209, 82, 83], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath path", - "rect": [18, 209, 82, 83], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [18, 209, 82, 83], - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg id='gamesBorder'", - "rect": [18, 209, 82, 83], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "geometry" - }, - { - "object": "LayoutSVGPath path", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg id='gamesBorder'", - "reason": "geometry" - }, - { - "object": "LayoutSVGPath path", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-without-attributes-on-symbol-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-without-attributes-on-symbol-expected.png deleted file mode 100644 index 179d5f6..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-without-attributes-on-symbol-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-without-attributes-on-symbol-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-without-attributes-on-symbol-expected.txt deleted file mode 100644 index 2129a7899..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-without-attributes-on-symbol-expected.txt +++ /dev/null
@@ -1,93 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "rect": [8, 50, 402, 402], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "rect": [27, 67, 364, 364], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath path", - "rect": [27, 67, 364, 364], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [27, 67, 364, 364], - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg id='gamesBorder'", - "rect": [27, 67, 364, 364], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath path", - "rect": [16, 57, 136, 137], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "rect": [13, 205, 92, 91], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath path", - "rect": [13, 205, 92, 91], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [13, 205, 92, 91], - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg id='gamesBorder'", - "rect": [13, 205, 92, 91], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "geometry" - }, - { - "object": "LayoutSVGPath path", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg id='gamesBorder'", - "reason": "geometry" - }, - { - "object": "LayoutSVGPath path", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/remove-outline-property-on-root-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/remove-outline-property-on-root-expected.txt deleted file mode 100644 index ee2f9aa9..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/remove-outline-property-on-root-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "rect": [8, 8, 784, 104], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [-2, -2, 120, 120], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/remove-text-node-from-tspan-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/remove-text-node-from-tspan-expected.txt deleted file mode 100644 index 34fccca..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/remove-text-node-from-tspan-expected.txt +++ /dev/null
@@ -1,129 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 62, 306, 378], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 62, 306, 378], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 62, 306, 378], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 62, 306, 378], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 62, 306, 378], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 62, 306, 378], - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [10, 62, 306, 378], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [10, 62, 306, 378], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan id='modify'", - "rect": [10, 62, 306, 378], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text", - "rect": [10, 62, 306, 378], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGTSpan tspan id='modify'", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' '", - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/remove-tspan-from-text-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/remove-tspan-from-text-expected.txt deleted file mode 100644 index d02155a..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/remove-tspan-from-text-expected.txt +++ /dev/null
@@ -1,120 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 62, 306, 258], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 62, 306, 258], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 62, 306, 258], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 62, 306, 258], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 62, 306, 258], - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [10, 62, 306, 258], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [10, 62, 306, 258], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan id='remove'", - "rect": [10, 62, 306, 258], - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text id='text'", - "rect": [10, 62, 306, 258], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan id='remove'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text id='text'", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' '", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-non-scaling-stroke-text-decoration-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-non-scaling-stroke-text-decoration-expected.txt deleted file mode 100644 index 6563260..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-non-scaling-stroke-text-decoration-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "rect": [9, 12, 48, 30], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [9, 12, 48, 30], - "reason": "style change" - }, - { - "object": "LayoutSVGText text id='t'", - "rect": [9, 12, 48, 30], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "reason": "geometry" - }, - { - "object": "LayoutSVGText text id='t'", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'Hello'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-non-scaling-stroke-text-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-non-scaling-stroke-text-expected.txt deleted file mode 100644 index 6563260..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-non-scaling-stroke-text-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "rect": [9, 12, 48, 30], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [9, 12, 48, 30], - "reason": "style change" - }, - { - "object": "LayoutSVGText text id='t'", - "rect": [9, 12, 48, 30], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "reason": "geometry" - }, - { - "object": "LayoutSVGText text id='t'", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'Hello'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-shadow-expected.png deleted file mode 100644 index a168dd3..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-shadow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png deleted file mode 100644 index 4337e0be..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.txt deleted file mode 100644 index 9878f365..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.txt +++ /dev/null
@@ -1,106 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [1026, 1016], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow P", - "rect": [24, 991, 737, 21], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [177, 991, 202, 22], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [432, 991, 176, 22], - "reason": "geometry" - }, - { - "object": "LayoutInline A", - "rect": [378, 987, 55, 29], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [383, 991, 45, 21], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [427, 991, 6, 21], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [378, 991, 6, 21], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'pservers-pattern-01-b \u2190'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutInline A", - "reason": "style change" - }, - { - "object": "InlineFlowBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'index'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u2192 script-handle-01-b'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/svg-background-partial-redraw-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/svg-background-partial-redraw-expected.png deleted file mode 100644 index 7e3653f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/svg-background-partial-redraw-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/svg-background-partial-redraw-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/svg-background-partial-redraw-expected.txt deleted file mode 100644 index 9977b5f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/svg-background-partial-redraw-expected.txt +++ /dev/null
@@ -1,24 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='revealer'", - "rect": [9, 151, 200, 100], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='revealer'", - "reason": "disappeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/svg-image-change-content-size-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/svg-image-change-content-size-expected.png deleted file mode 100644 index 50c3177..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/svg-image-change-content-size-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/svg-image-change-content-size-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/svg-image-change-content-size-expected.txt deleted file mode 100644 index 2c12db07..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/svg-image-change-content-size-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "rect": [8, 50, 602, 422], - "reason": "geometry" - }, - { - "object": "LayoutImage img", - "rect": [9, 51, 420, 420], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutImage img", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/tabgroup-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/tabgroup-expected.png deleted file mode 100644 index aa3d62632..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/tabgroup-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/tabgroup-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/tabgroup-expected.txt deleted file mode 100644 index 510fcc0..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/tabgroup-expected.txt +++ /dev/null
@@ -1,2186 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGPath path", - "rect": [389, 37, 316, 82], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [389, 37, 316, 82], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [389, 37, 316, 82], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [389, 37, 316, 82], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [390, 38, 314, 80], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [390, 38, 314, 80], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [390, 38, 314, 80], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [390, 38, 314, 80], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [390, 38, 314, 80], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRound'", - "rect": [390, 38, 314, 80], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [262, 278, 303, 303], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [262, 278, 303, 303], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [262, 278, 303, 303], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [262, 278, 303, 303], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [263, 279, 301, 301], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [263, 279, 301, 301], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [263, 279, 301, 301], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [263, 279, 301, 301], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [263, 279, 301, 301], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectRound'", - "rect": [263, 279, 301, 301], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [506, 232, 238, 161], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [506, 232, 238, 161], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [506, 232, 238, 161], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [506, 232, 238, 161], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [6, 256, 238, 160], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [6, 256, 238, 160], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [6, 256, 238, 160], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [6, 256, 238, 160], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [507, 233, 236, 159], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [507, 233, 236, 159], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [507, 233, 236, 159], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [507, 233, 236, 159], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [507, 233, 236, 159], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectTriangle'", - "rect": [507, 233, 236, 159], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [7, 257, 236, 158], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [7, 257, 236, 158], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [7, 257, 236, 158], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [7, 257, 236, 158], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [7, 257, 236, 158], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupTriangle'", - "rect": [7, 257, 236, 158], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupTriangle__0_content'", - "rect": [15, 292, 211, 35], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [15, 292, 211, 35], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [15, 292, 211, 35], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [15, 292, 211, 35], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [15, 292, 211, 35], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [15, 292, 211, 35], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='contentTabGroupTriangle0'", - "rect": [15, 292, 211, 35], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [31, 404, 188, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [23, 146, 188, 10], - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [37, 404, 176, 98], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [29, 147, 176, 97], - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [39, 404, 172, 96], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [31, 146, 172, 96], - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [37, 6, 160, 238], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [37, 6, 160, 238], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [37, 6, 160, 238], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [37, 6, 160, 238], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [38, 7, 158, 236], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [38, 7, 158, 236], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [38, 7, 158, 236], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [38, 7, 158, 236], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [38, 7, 158, 236], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRect'", - "rect": [38, 7, 158, 236], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [15, 292, 148, 23], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [15, 292, 148, 23], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [15, 292, 148, 23], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [15, 292, 148, 23], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [7, 34, 148, 23], - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [7, 34, 148, 23], - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [7, 34, 148, 23], - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "rect": [7, 34, 148, 23], - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__1'", - "rect": [59, 256, 64, 31], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectTriangle__0'", - "rect": [506, 232, 64, 20], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRound__0'", - "rect": [389, 37, 64, 20], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectRound__0'", - "rect": [362, 278, 63, 63], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectRound__1'", - "rect": [413, 329, 60, 60], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectTriangle__1'", - "rect": [566, 232, 60, 20], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRound__1'", - "rect": [449, 37, 60, 20], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__0'", - "rect": [6, 256, 57, 31], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__2'", - "rect": [119, 256, 54, 31], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [394, 39, 54, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [394, 39, 54, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [394, 39, 54, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [511, 235, 54, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [511, 235, 54, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [511, 235, 54, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectRound__3'", - "rect": [500, 416, 53, 53], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [64, 258, 53, 27], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [64, 258, 53, 27], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [64, 258, 53, 27], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [64, 258, 53, 27], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [64, 258, 53, 27], - "reason": "subtree" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectRound__2'", - "rect": [461, 377, 51, 52], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [571, 235, 50, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [571, 235, 50, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [571, 235, 50, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [454, 39, 50, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [454, 39, 50, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [454, 39, 50, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectTriangle__3'", - "rect": [666, 232, 49, 20], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRound__3'", - "rect": [549, 37, 49, 20], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [370, 286, 48, 47], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [370, 286, 48, 47], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [370, 286, 48, 47], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectTriangle__2'", - "rect": [622, 232, 48, 20], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRound__2'", - "rect": [505, 37, 48, 20], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [11, 258, 46, 27], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [11, 258, 46, 27], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [11, 258, 46, 27], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [11, 258, 46, 27], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [11, 258, 46, 27], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [421, 336, 45, 45], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [421, 336, 45, 45], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [421, 336, 45, 45], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [124, 258, 44, 27], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [124, 258, 44, 27], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [124, 258, 44, 27], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [124, 258, 44, 27], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [124, 258, 44, 27], - "reason": "subtree" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__3'", - "rect": [169, 256, 42, 31], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [671, 235, 39, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [671, 235, 39, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [671, 235, 39, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [554, 39, 39, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [554, 39, 39, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [554, 39, 39, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [508, 424, 37, 37], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [508, 424, 37, 37], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [508, 424, 37, 37], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [510, 39, 37, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [510, 39, 37, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [510, 39, 37, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [469, 385, 36, 35], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [469, 385, 36, 35], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [469, 385, 36, 35], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [628, 235, 36, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [628, 235, 36, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [628, 235, 36, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [174, 258, 32, 27], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [174, 258, 32, 27], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [174, 258, 32, 27], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [174, 258, 32, 27], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [174, 258, 32, 27], - "reason": "subtree" - }, - { - "object": "LayoutSVGPath path id='tabgroupRect__0'", - "rect": [178, 6, 19, 64], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRect__1'", - "rect": [178, 66, 19, 60], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRect__3'", - "rect": [178, 166, 19, 49], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRect__2'", - "rect": [178, 122, 19, 48], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [181, 11, 14, 54], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [181, 11, 14, 54], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [181, 11, 14, 54], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [181, 71, 14, 50], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [181, 71, 14, 50], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [181, 71, 14, 50], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [181, 171, 14, 39], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [181, 171, 14, 39], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [181, 171, 14, 39], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [181, 128, 14, 36], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [181, 128, 14, 36], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [181, 128, 14, 36], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGPath path", - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRect__1'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRect__1_content'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Geodata'", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Browser'", - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Download'", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Folder'", - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Your'", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Account'", - "reason": "subtree" - }, - { - "object": "LayoutSVGPath path", - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__0'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGHiddenContainer g id='tabgroupTriangle__0_content'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Help'", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox '& Info'", - "reason": "subtree" - }, - { - "object": "LayoutSVGPath path", - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectTriangle__2'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectTriangle__2_content'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRound__1'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRound__1_content'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectRound__0'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectRound__0_content'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGHiddenContainer g id='oversizeContent'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__0'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupTriangle__0_content'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRect'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRect__0'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Biography'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRect__0_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRect__2'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Events'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRect__2_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRect__3'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Portrait'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRect__3_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRect__1'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Relations'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRect__1_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupTriangle'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__1'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Download'", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Folder'", - "reason": "subtree" - }, - { - "object": "LayoutSVGHiddenContainer g id='tabgroupTriangle__1_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGHiddenContainer g id='oversizeContent'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'This is oversize content that can be'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'hidden on tab-change'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__2'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Your'", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Account'", - "reason": "subtree" - }, - { - "object": "LayoutSVGHiddenContainer g id='tabgroupTriangle__2_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__3'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Help'", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox '& Info'", - "reason": "subtree" - }, - { - "object": "LayoutSVGHiddenContainer g id='tabgroupTriangle__3_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__0'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Geodata'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Browser'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupTriangle__0_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='contentTabGroupTriangle0'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'This is a tabgroup with triangular tab corners'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'and a double line tab. (use \"\\n\" as a line separator)'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Click on the second tab to see oversize content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectTriangle'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectTriangle__0'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Biography'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectTriangle__0_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectTriangle__1'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Relations'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectTriangle__1_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectTriangle__3'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Portrait'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectTriangle__3_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectTriangle__2'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Events'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectTriangle__2_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRound'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRound__0'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Biography'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRound__0_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRound__2'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Events'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRound__2_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRound__3'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Portrait'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRound__3_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRound__1'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Relations'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRound__1_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectRound'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectRound__1'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Relations'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectRound__1_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectRound__2'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Events'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectRound__2_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectRound__3'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Portrait'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectRound__3_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectRound__0'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Biography'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectRound__0_content'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/text-dom-removal-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/text-dom-removal-expected.txt deleted file mode 100644 index 76d5931..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/text-dom-removal-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g id='objectsToRemove'", - "rect": [0, 0, 216, 129], - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [50, 111, 166, 18], - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "rect": [50, 111, 166, 18], - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 20, 20], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='objectsToRemove'", - "reason": "disappeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/text-mask-update-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/text-mask-update-expected.txt deleted file mode 100644 index 5c9fb177..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/text-mask-update-expected.txt +++ /dev/null
@@ -1,77 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 2, 46, 23], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [10, 2, 46, 23], - "reason": "style change" - }, - { - "object": "LayoutSVGText text id='text1'", - "rect": [10, 2, 46, 23], - "reason": "style change" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 32, 43, 23], - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text id='text2'", - "rect": [10, 32, 43, 23], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "rect": [10, 32, 43, 18], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text id='text1'", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='text2'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "style change" - }, - { - "object": "LayoutSVGRect rect", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/text-repaint-including-stroke-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/text-repaint-including-stroke-expected.png deleted file mode 100644 index f3c03dca..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/text-repaint-including-stroke-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/text-repaint-including-stroke-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/text-repaint-including-stroke-expected.txt deleted file mode 100644 index 0da7d71..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/text-repaint-including-stroke-expected.txt +++ /dev/null
@@ -1,67 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [80, 0, 551, 118], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text id='bounce'", - "rect": [80, 0, 551, 118], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [30, 0, 404, 60], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text id='bounce'", - "rect": [30, 0, 404, 60], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGText text id='bounce'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Repaint me!'", - "reason": "subtree" - }, - { - "object": "LayoutSVGText text id='bounce'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Repaint me!'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/text-rescale-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/text-rescale-expected.txt deleted file mode 100644 index ac48b84..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/text-rescale-expected.txt +++ /dev/null
@@ -1,424 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g id='text2g'", - "rect": [0, 63, 402, 100], - "reason": "full" - }, - { - "object": "LayoutSVGContainer g id='text1g'", - "rect": [0, 13, 402, 100], - "reason": "subtree" - }, - { - "object": "LayoutSVGContainer g id='text3g'", - "rect": [0, 113, 402, 87], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 114, 194, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 114, 194, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 114, 194, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [0, 114, 194, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 114, 194, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 14, 194, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 14, 194, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 14, 194, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [0, 14, 194, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 14, 194, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGForeignObject foreignObject", - "rect": [210, 13, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutSVGForeignObject foreignObject", - "rect": [210, 113, 100, 87], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "rect": [210, 113, 100, 46], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "rect": [210, 13, 100, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [310, 114, 92, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [310, 114, 92, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGViewportContainer svg", - "rect": [310, 114, 92, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [310, 14, 92, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [310, 14, 92, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGViewportContainer svg", - "rect": [310, 14, 92, 46], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [210, 113, 92, 46], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [210, 13, 92, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGContainer g id='text3g'", - "rect": [0, 3, 13, 4], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 3, 6, 2], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 3, 6, 2], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 3, 6, 2], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [0, 3, 6, 2], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 3, 6, 2], - "reason": "subtree" - }, - { - "object": "LayoutSVGForeignObject foreignObject", - "rect": [6, 3, 4, 4], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [9, 3, 4, 2], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [9, 3, 4, 2], - "reason": "subtree" - }, - { - "object": "LayoutSVGViewportContainer svg", - "rect": [9, 3, 4, 2], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "rect": [6, 3, 4, 2], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [6, 3, 4, 2], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "rect": [0, 0, 1, 1], - "reason": "subtree" - }, - { - "object": "LayoutSVGContainer g id='text1g'", - "rect": [0, 0, 1, 1], - "reason": "subtree" - }, - { - "object": "LayoutSVGForeignObject foreignObject", - "rect": [0, 0, 1, 1], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 0, 1, 1], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 0, 1, 1], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 0, 1, 1], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 0, 1, 1], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [0, 0, 1, 1], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 0, 1, 1], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 0, 1, 1], - "reason": "subtree" - }, - { - "object": "LayoutSVGViewportContainer svg", - "rect": [0, 0, 1, 1], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [0, 0, 1, 1], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g id='text1g'", - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'PASS '", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "LayoutSVGForeignObject foreignObject", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "subtree" - }, - { - "object": "LayoutSVGViewportContainer svg", - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "subtree" - }, - { - "object": "LayoutSVGContainer g id='text2g'", - "reason": "full" - }, - { - "object": "LayoutSVGContainer g id='text3g'", - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'PASS '", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "LayoutSVGForeignObject foreignObject", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "subtree" - }, - { - "object": "LayoutSVGViewportContainer svg", - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/text-selection-text-05-t-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/text-selection-text-05-t-expected.png deleted file mode 100644 index 285567f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/text-selection-text-05-t-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/text-viewbox-rescale-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/text-viewbox-rescale-expected.txt deleted file mode 100644 index 76cb637..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/text-viewbox-rescale-expected.txt +++ /dev/null
@@ -1,176 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [59, 143, 95, 23], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [59, 143, 95, 23], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [59, 143, 95, 23], - "reason": "full" - }, - { - "object": "LayoutSVGText text", - "rect": [59, 143, 95, 23], - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='inner2'", - "rect": [59, 143, 95, 23], - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [59, 43, 95, 23], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [59, 43, 95, 23], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [59, 43, 95, 23], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [59, 43, 95, 23], - "reason": "full" - }, - { - "object": "LayoutSVGText text", - "rect": [59, 43, 95, 23], - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='inner1'", - "rect": [59, 43, 95, 23], - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 0, 2, 1], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 0, 2, 1], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 0, 2, 1], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [0, 0, 2, 1], - "reason": "full" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 0, 2, 1], - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='inner1'", - "rect": [0, 0, 2, 1], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGViewportContainer svg id='inner1'", - "reason": "full" - }, - { - "object": "LayoutSVGText text", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS '", - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "full" - }, - { - "object": "InlineFlowBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg id='inner2'", - "reason": "full" - }, - { - "object": "LayoutSVGText text", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS '", - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "full" - }, - { - "object": "InlineFlowBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/text-xy-updates-SVGList-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/text-xy-updates-SVGList-expected.txt deleted file mode 100644 index b033e18..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/text-xy-updates-SVGList-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [808, 620], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [208, 14, 170, 18], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text id='ttt'", - "rect": [208, 14, 170, 18], - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [18, 194, 170, 18], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text id='ttt'", - "rect": [18, 194, 170, 18], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGText text id='ttt'", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Passes, if text is at 200x20'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/tspan-dynamic-positioning-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/tspan-dynamic-positioning-expected.txt deleted file mode 100644 index 8088331..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/tspan-dynamic-positioning-expected.txt +++ /dev/null
@@ -1,69 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [200, 186, 256, 18], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan id='ts'", - "rect": [200, 186, 256, 18], - "reason": "full" - }, - { - "object": "LayoutSVGText text", - "rect": [200, 186, 256, 18], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [20, 6, 256, 18], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan id='ts'", - "rect": [20, 6, 256, 18], - "reason": "full" - }, - { - "object": "LayoutSVGText text", - "rect": [20, 6, 256, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGText text", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan id='ts'", - "reason": "full" - }, - { - "object": "InlineFlowBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'This text should be at visible at 200,200'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/use-clipped-hit-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/use-clipped-hit-expected.png deleted file mode 100644 index 90b553d7..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/use-clipped-hit-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/use-clipped-hit-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/use-clipped-hit-expected.txt deleted file mode 100644 index 623db28..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/use-clipped-hit-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [90, 116, 64, 18], - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text id='status'", - "rect": [90, 116, 64, 18], - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [90, 116, 44, 18], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text id='status'", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Passed'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/use-detach-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/use-detach-expected.png deleted file mode 100644 index f90ee13..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/use-detach-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/use-event-handler-on-use-element-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/use-event-handler-on-use-element-expected.png deleted file mode 100644 index 39342ee..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/use-event-handler-on-use-element-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/use-setAttribute-crash-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/use-setAttribute-crash-expected.txt deleted file mode 100644 index 54b0bd2f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/use-setAttribute-crash-expected.txt +++ /dev/null
@@ -1,91 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow body", - "rect": [8, 8, 784, 204], - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse svg:circle id='circle'", - "rect": [32, 32, 52, 52], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer svg:use id='use'", - "rect": [33, 33, 50, 50], - "reason": "full" - }, - { - "object": "LayoutSVGRoot svg:svg id='svg'", - "rect": [33, 33, 50, 50], - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='symbol'", - "rect": [33, 33, 50, 50], - "reason": "appeared" - }, - { - "object": "LayoutSVGEllipse svg:circle id='circle'", - "rect": [7, 7, 27, 27], - "reason": "subtree" - }, - { - "object": "LayoutSVGEllipse svg:circle id='circle'", - "rect": [52, 52, 12, 12], - "reason": "disappeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='symbol'", - "rect": [53, 53, 10, 10], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGEllipse svg:circle id='circle'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='symbol'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow body", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg:svg id='svg'", - "reason": "full" - }, - { - "object": "LayoutSVGEllipse svg:circle id='circle'", - "reason": "subtree" - }, - { - "object": "LayoutSVGContainer svg:use id='use'", - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='symbol'", - "reason": "appeared" - }, - { - "object": "LayoutSVGEllipse svg:circle id='circle'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/window-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/window-expected.png deleted file mode 100644 index 00d090fa..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/window-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/window-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/window-expected.txt deleted file mode 100644 index 775e8372..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/window-expected.txt +++ /dev/null
@@ -1,2054 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g id='Windows'", - "rect": [38, 81, 760, 454], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g id='Windows'", - "rect": [38, 92, 760, 443], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [37, 142, 551, 394], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarbigWindow'", - "rect": [37, 142, 551, 17], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [37, 522, 551, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='bigWindow'", - "rect": [38, 143, 549, 392], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupbigWindow'", - "rect": [38, 143, 549, 392], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupbigWindow'", - "rect": [38, 143, 549, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [76, 181, 317, 238], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarnestedWindow'", - "rect": [76, 181, 317, 17], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [76, 405, 317, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='nestedWindow'", - "rect": [77, 182, 315, 236], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupnestedWindow'", - "rect": [77, 182, 315, 236], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupnestedWindow'", - "rect": [77, 182, 315, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='navWindow'", - "rect": [613, 81, 185, 169], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g id='decoGroupnavWindow'", - "rect": [613, 81, 185, 159], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupnavWindow'", - "rect": [613, 81, 185, 159], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='decoGroupMinimizednavWindow'", - "rect": [613, 81, 185, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [623, 91, 176, 160], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [76, 194, 176, 145], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarcolourPickerWindow'", - "rect": [76, 194, 176, 17], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [623, 237, 176, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [76, 325, 176, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='navWindow'", - "rect": [624, 92, 174, 158], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupnavWindow'", - "rect": [624, 92, 174, 158], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='colourPickerWindow'", - "rect": [77, 195, 174, 143], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupcolourPickerWindow'", - "rect": [77, 195, 174, 143], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupcolourPickerWindow'", - "rect": [77, 195, 174, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [311, 376, 160, 145], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [632, 102, 160, 97], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [632, 102, 160, 97], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [632, 102, 160, 97], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [632, 102, 160, 97], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [632, 102, 160, 97], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [632, 102, 160, 97], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [632, 102, 160, 97], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [632, 102, 160, 97], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [632, 102, 160, 97], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [632, 102, 160, 97], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [632, 102, 160, 97], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [632, 102, 160, 97], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [632, 102, 160, 97], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [632, 102, 160, 97], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='textNavWindow'", - "rect": [632, 102, 160, 97], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarsmallWindow'", - "rect": [311, 376, 160, 17], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [311, 507, 160, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='smallWindow'", - "rect": [312, 377, 158, 143], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupsmallWindow'", - "rect": [312, 377, 158, 143], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupsmallWindow'", - "rect": [312, 377, 158, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [248, 343, 145, 66], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarstatusWindow'", - "rect": [248, 343, 145, 17], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='statusWindow'", - "rect": [249, 344, 143, 64], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupstatusWindow'", - "rect": [249, 344, 143, 64], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupstatusWindow'", - "rect": [249, 344, 143, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [80, 327, 139, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [80, 327, 139, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [320, 399, 135, 63], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [320, 399, 135, 63], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [320, 399, 135, 63], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [320, 399, 135, 63], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [320, 399, 135, 63], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [320, 399, 135, 63], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [320, 399, 135, 63], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [320, 399, 135, 63], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [320, 399, 135, 63], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [320, 399, 135, 63], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='textSmallWindow'", - "rect": [320, 399, 135, 63], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [80, 183, 132, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [80, 183, 132, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [80, 407, 127, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [80, 407, 127, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [38, 475, 121, 50], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [257, 365, 120, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [257, 365, 120, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [257, 365, 120, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [257, 365, 120, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [257, 365, 120, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [257, 365, 120, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='textStatusWindow'", - "rect": [257, 365, 120, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='minimalWindow'", - "rect": [39, 476, 119, 48], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupminimalWindow'", - "rect": [39, 476, 119, 48], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [43, 481, 112, 36], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [43, 481, 112, 36], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [43, 481, 112, 36], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [43, 481, 112, 36], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [43, 481, 112, 36], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [43, 481, 112, 36], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='textMinimalWindow'", - "rect": [43, 481, 112, 36], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [41, 525, 102, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [41, 525, 102, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [314, 509, 91, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [314, 509, 91, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [252, 345, 74, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [252, 345, 74, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [314, 379, 71, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [314, 379, 71, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [80, 197, 67, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [80, 197, 67, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [41, 144, 59, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [41, 144, 59, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupnavWindow'", - "rect": [757, 94, 36, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [627, 239, 34, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [627, 239, 34, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [613, 81, 16, 159], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [768, 93, 13, 13], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [768, 93, 13, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [557, 144, 13, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [362, 183, 13, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [440, 379, 13, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [375, 345, 13, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [376, 183, 12, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [376, 183, 12, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [782, 94, 12, 12], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath line", - "rect": [782, 94, 12, 12], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath line", - "rect": [782, 94, 12, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [782, 94, 12, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [615, 99, 12, 12], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath line", - "rect": [615, 83, 12, 12], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath line", - "rect": [615, 83, 12, 12], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath line", - "rect": [571, 144, 12, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [571, 144, 12, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [454, 379, 12, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [454, 379, 12, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [235, 197, 12, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [235, 197, 12, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [222, 197, 12, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [427, 387, 12, 4], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [349, 192, 12, 4], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [615, 123, 12, 3], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [617, 153, 11, 81], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [617, 153, 11, 81], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonnavWindow'", - "rect": [769, 94, 11, 11], - "reason": "full" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonnavWindow'", - "rect": [769, 94, 11, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "rect": [769, 94, 11, 11], - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "rect": [769, 94, 11, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonbigWindow'", - "rect": [558, 145, 11, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "rect": [558, 145, 11, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonnestedWindow'", - "rect": [363, 184, 11, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "rect": [363, 184, 11, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonsmallWindow'", - "rect": [441, 380, 11, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "rect": [441, 380, 11, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonstatusWindow'", - "rect": [376, 346, 11, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "rect": [376, 346, 11, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [756, 102, 11, 4], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath line", - "rect": [756, 102, 11, 4], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [545, 153, 11, 4], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [209, 205, 11, 4], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [363, 354, 11, 3], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtonnestedWindow'", - "rect": [377, 184, 10, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "rect": [377, 184, 10, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtonnavWindow'", - "rect": [783, 95, 10, 10], - "reason": "full" - }, - { - "object": "LayoutSVGContainer use id='closeButtonnavWindow'", - "rect": [783, 95, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "rect": [783, 95, 10, 10], - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "rect": [783, 95, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonnavWindow'", - "rect": [616, 100, 10, 10], - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "rect": [616, 100, 10, 10], - "reason": "full" - }, - { - "object": "LayoutSVGContainer use id='closeButtonnavWindow'", - "rect": [616, 84, 10, 10], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "rect": [616, 84, 10, 10], - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "rect": [616, 84, 10, 10], - "reason": "full" - }, - { - "object": "LayoutSVGContainer use id='closeButtonbigWindow'", - "rect": [572, 145, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "rect": [572, 145, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtonsmallWindow'", - "rect": [455, 380, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [455, 380, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "rect": [455, 380, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonsmallWindow'", - "rect": [428, 380, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [428, 380, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "rect": [428, 380, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonnestedWindow'", - "rect": [350, 185, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "rect": [350, 185, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtoncolourPickerWindow'", - "rect": [236, 198, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [236, 198, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "rect": [236, 198, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtoncolourPickerWindow'", - "rect": [223, 198, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "rect": [223, 198, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [783, 95, 10, 9], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [783, 95, 10, 9], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonnavWindow'", - "rect": [616, 116, 10, 9], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "rect": [616, 116, 10, 9], - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "rect": [616, 116, 10, 9], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "rect": [572, 146, 10, 9], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [350, 185, 10, 9], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonnavWindow'", - "rect": [757, 95, 9, 10], - "reason": "full" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonnavWindow'", - "rect": [757, 95, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "rect": [757, 95, 9, 10], - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "rect": [757, 95, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonbigWindow'", - "rect": [546, 146, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "rect": [546, 146, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonstatusWindow'", - "rect": [364, 346, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [364, 346, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "rect": [364, 346, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtoncolourPickerWindow'", - "rect": [210, 198, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [210, 198, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "rect": [210, 198, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [757, 95, 9, 9], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [757, 95, 9, 9], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [546, 146, 9, 9], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [377, 185, 9, 9], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [-1, 20, 7, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [-1, 20, 7, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [-1, 20, 7, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [-1, 29, 7, 4], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [0, 22, 5, 9], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [0, 22, 5, 9], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGHiddenContainer symbol id='closeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGHiddenContainer symbol id='maximizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGHiddenContainer symbol id='minimizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='Windows'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='navWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupnavWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='textNavWindow'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'This window should'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'contain navigation tools'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Click on button'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox ''Resize Navigation Window' for a'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'random resize of this Window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Note that this window also'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'features a window decoration'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Statusbar'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupnavWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtonnavWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonnavWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonnavWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='bigWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupbigWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'This is a big movable window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='nestedWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupnestedWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'This window contains other windows'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='colourPickerWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupcolourPickerWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Changing a colour changes background'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupcolourPickerWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarcolourPickerWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Colour Picker'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtoncolourPickerWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtoncolourPickerWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtoncolourPickerWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='statusWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupstatusWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='textStatusWindow'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'This is a none-moveable'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'none-closeable status'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupstatusWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarstatusWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Status Window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonstatusWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonstatusWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupnestedWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarnestedWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Nested middlesize Window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtonnestedWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonnestedWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonnestedWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='smallWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupsmallWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='textSmallWindow'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'This window has a callback'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'function indicating mouse'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'movements in the statusbar'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'and alerting window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'events'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Callback function is active'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupsmallWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarsmallWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Small Window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtonsmallWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonsmallWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonsmallWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='minimalWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupminimalWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='textMinimalWindow'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'This is a minimal window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'without title and status bar.'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'it is also not moveable'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupminimalWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupbigWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarbigWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Big Window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtonbigWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonbigWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonbigWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='Windows'", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g id='navWindow'", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupnavWindow'", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g id='decoGroupnavWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='decoGroupMinimizednavWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Navigation Window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtonnavWindow'", - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - }, - { - "object": "LayoutSVGPath line", - "reason": "geometry" - }, - { - "object": "LayoutSVGPath line", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonnavWindow'", - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonnavWindow'", - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - }, - { - "object": "LayoutSVGPath line", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/zoom-coords-viewattr-01-b-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/zoom-coords-viewattr-01-b-expected.png deleted file mode 100644 index 7a4ac6c..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/zoom-coords-viewattr-01-b-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/zoom-foreignObject-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/zoom-foreignObject-expected.png deleted file mode 100644 index 3078cd64..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/svg/zoom-foreignObject-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table-cell-collapsed-border-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table-cell-collapsed-border-expected.txt deleted file mode 100644 index e0f1112..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table-cell-collapsed-border-expected.txt +++ /dev/null
@@ -1,78 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableRow TR", - "rect": [3, 260, 441, 110], - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "rect": [3, 162, 441, 108], - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "rect": [3, 360, 441, 105], - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 60, 436, 108], - "reason": "style change" - }, - { - "object": "LayoutTableCell TD id='t3'", - "rect": [225, 265, 112, 100], - "reason": "style change" - }, - { - "object": "LayoutTableCell TD id='t1'", - "rect": [225, 65, 112, 100], - "reason": "style change" - }, - { - "object": "LayoutTableCell TD id='t2'", - "rect": [8, 265, 110, 100], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableRow TR", - "reason": "style change" - }, - { - "object": "LayoutTableCell TD id='t1'", - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "reason": "style change" - }, - { - "object": "LayoutTableCell TD id='t2'", - "reason": "style change" - }, - { - "object": "LayoutTableCell TD id='t3'", - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table-cell-move-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table-cell-move-expected.txt deleted file mode 100644 index 8a6ac9e..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table-cell-move-expected.txt +++ /dev/null
@@ -1,69 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCell TD", - "rect": [8, 200, 60, 180], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 140, 60, 180], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 320, 60, 60], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 260, 60, 60], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 200, 60, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 140, 60, 60], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableCell TD", - "reason": "appeared" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "disappeared" - }, - { - "object": "LayoutTableCell TD id='s'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt deleted file mode 100644 index 023ebc2f..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt +++ /dev/null
@@ -1,377 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTable TABLE", - "rect": [8, 182, 110, 76], - "reason": "full" - }, - { - "object": "LayoutTableSection TBODY", - "rect": [8, 182, 110, 76], - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR id='r2'", - "rect": [8, 210, 110, 20], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE", - "rect": [8, 96, 101, 76], - "reason": "full" - }, - { - "object": "LayoutTableSection TBODY", - "rect": [8, 96, 101, 76], - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 316, 101, 28], - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 268, 101, 28], - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 144, 101, 28], - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 96, 101, 28], - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 296, 101, 20], - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR id='r'", - "rect": [8, 124, 101, 20], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE id='t'", - "rect": [8, 10, 97, 76], - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 58, 97, 28], - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 10, 97, 28], - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 38, 97, 20], - "reason": "style change" - }, - { - "object": "LayoutTableCell TD id='d2'", - "rect": [22, 210, 92, 20], - "reason": "disappeared" - }, - { - "object": "LayoutTableCell TD", - "rect": [22, 316, 83, 24], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [22, 272, 83, 24], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [22, 144, 83, 24], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [22, 100, 83, 24], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD id='d3'", - "rect": [22, 296, 83, 20], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD id='d'", - "rect": [22, 124, 83, 20], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [23, 297, 77, 18], - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "rect": [23, 125, 77, 18], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [23, 317, 51, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [23, 145, 51, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [23, 277, 43, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [23, 105, 43, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [23, 211, 34, 18], - "reason": "disappeared" - }, - { - "object": "LayoutTable TABLE", - "rect": [79, 268, 30, 76], - "reason": "incremental" - }, - { - "object": "LayoutTableCell TD", - "rect": [12, 210, 10, 20], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [12, 124, 10, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [17, 211, 4, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [17, 125, 4, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutTableCell TD id='d'", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutTableCell TD id='d2'", - "reason": "disappeared" - }, - { - "object": "LayoutTable TABLE id='t'", - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "reason": "style change" - }, - { - "object": "LayoutTable TABLE", - "reason": "full" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Lorem'", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR id='r'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u00A0'", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'sit amet'", - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE", - "reason": "full" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR id='r2'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u00A0'", - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE", - "reason": "incremental" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Lorem'", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD id='d3'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'ipsum dolor'", - "reason": "appeared" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'sit amet'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table-shrink-row-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table-shrink-row-repaint-expected.txt deleted file mode 100644 index da19063..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table-shrink-row-repaint-expected.txt +++ /dev/null
@@ -1,465 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 848], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [0, 848, 785, 200], - "reason": "incremental" - }, - { - "object": "LayoutTableCell TD id='resizeMe'", - "rect": [8, 115, 769, 205], - "reason": "incremental" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 980, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 920, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 860, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 800, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 780, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 740, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 720, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 680, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 660, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 620, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 600, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 560, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 540, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 500, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 480, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 440, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 420, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 380, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 360, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 320, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 300, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 240, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 180, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 120, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 1001, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 941, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 881, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 821, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 801, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 741, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 681, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 621, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 761, 8, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 701, 8, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 641, 8, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 581, 8, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 561, 8, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 521, 8, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 501, 8, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 461, 8, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 441, 8, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 401, 8, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 381, 8, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 341, 8, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 321, 8, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 261, 8, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 201, 8, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 141, 8, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "incremental" - }, - { - "object": "LayoutTableCell TD id='resizeMe'", - "reason": "incremental" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '2'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '3'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '4'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '5'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '6'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '7'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '8'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '9'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '10'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '11'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '12'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '13'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt deleted file mode 100644 index 478d197..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableRow TR", - "rect": [8, 8, 114, 54], - "reason": "style change" - }, - { - "object": "LayoutTableCell TD id='foo'", - "rect": [10, 10, 56, 50], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='blockDiv'", - "rect": [90, 30, 20, 20], - "reason": "full" - }, - { - "object": "LayoutText #text", - "rect": [90, 30, 12, 18], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutTableRow TR", - "reason": "style change" - }, - { - "object": "LayoutTableCell TD id='foo'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='blockDiv'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-expected.txt deleted file mode 100644 index 53b4af6..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-expected.txt +++ /dev/null
@@ -1,34 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCol COL id='target'", - "rect": [8, 26, 186, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [72, 94], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY", - "reason": "style change" - }, - { - "object": "LayoutTableCol COL id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-initial-empty-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-initial-empty-expected.txt deleted file mode 100644 index 53b4af6..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-initial-empty-expected.txt +++ /dev/null
@@ -1,34 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCol COL id='target'", - "rect": [8, 26, 186, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [72, 94], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY", - "reason": "style change" - }, - { - "object": "LayoutTableCol COL id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-expected.txt deleted file mode 100644 index 0ea67829..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-expected.txt +++ /dev/null
@@ -1,40 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCol COL id='target'", - "rect": [8, 26, 186, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [72, 94], - "bounds": [59, 64], - "drawsContent": true - }, - { - "name": "LayoutTableCell TD", - "position": [133, 94], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY", - "reason": "style change" - }, - { - "object": "LayoutTableCol COL id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-initial-empty-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-initial-empty-expected.txt deleted file mode 100644 index 0ea67829..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-initial-empty-expected.txt +++ /dev/null
@@ -1,40 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCol COL id='target'", - "rect": [8, 26, 186, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [72, 94], - "bounds": [59, 64], - "drawsContent": true - }, - { - "name": "LayoutTableCell TD", - "position": [133, 94], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY", - "reason": "style change" - }, - { - "object": "LayoutTableCol COL id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-expected.txt deleted file mode 100644 index b30e988..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-expected.txt +++ /dev/null
@@ -1,34 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCol COLGROUP id='target'", - "rect": [8, 26, 186, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD id='target'", - "position": [72, 94], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY", - "reason": "style change" - }, - { - "object": "LayoutTableCol COLGROUP id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-initial-empty-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-initial-empty-expected.txt deleted file mode 100644 index b30e988..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-initial-empty-expected.txt +++ /dev/null
@@ -1,34 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCol COLGROUP id='target'", - "rect": [8, 26, 186, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD id='target'", - "position": [72, 94], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY", - "reason": "style change" - }, - { - "object": "LayoutTableCol COLGROUP id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-expected.txt deleted file mode 100644 index e7a75d7..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTableRow TR id='target'", - "position": [8, 94], - "bounds": [186, 64], - "drawsContent": true, - "backgroundColor": "#ADD8E6", - "paintInvalidations": [ - { - "object": "LayoutTableRow TR id='target'", - "rect": [0, 0, 186, 64], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [64, 0], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableRow TR id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-initial-empty-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-initial-empty-expected.txt deleted file mode 100644 index e7a75d7..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-initial-empty-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTableRow TR id='target'", - "position": [8, 94], - "bounds": [186, 64], - "drawsContent": true, - "backgroundColor": "#ADD8E6", - "paintInvalidations": [ - { - "object": "LayoutTableRow TR id='target'", - "rect": [0, 0, 186, 64], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [64, 0], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableRow TR id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-expected.txt deleted file mode 100644 index 933118c..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-expected.txt +++ /dev/null
@@ -1,30 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableRow TR id='target'", - "rect": [8, 94, 186, 64], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [72, 94], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableRow TR id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-initial-empty-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-initial-empty-expected.txt deleted file mode 100644 index 933118c..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-initial-empty-expected.txt +++ /dev/null
@@ -1,30 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableRow TR id='target'", - "rect": [8, 94, 186, 64], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [72, 94], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableRow TR id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-expected.txt deleted file mode 100644 index d1f8357..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-expected.txt +++ /dev/null
@@ -1,43 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTableSection TBODY id='target'", - "position": [8, 26], - "bounds": [186, 134], - "drawsContent": true, - "backgroundColor": "#ADD8E6", - "paintInvalidations": [ - { - "object": "LayoutTableSection TBODY id='target'", - "rect": [0, 0, 186, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableRow TR", - "position": [0, 68], - "bounds": [186, 64], - "drawsContent": true - }, - { - "name": "LayoutTableCell TD", - "position": [64, 0], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-initial-empty-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-initial-empty-expected.txt deleted file mode 100644 index d1f8357..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-initial-empty-expected.txt +++ /dev/null
@@ -1,43 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTableSection TBODY id='target'", - "position": [8, 26], - "bounds": [186, 134], - "drawsContent": true, - "backgroundColor": "#ADD8E6", - "paintInvalidations": [ - { - "object": "LayoutTableSection TBODY id='target'", - "rect": [0, 0, 186, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableRow TR", - "position": [0, 68], - "bounds": [186, 64], - "drawsContent": true - }, - { - "name": "LayoutTableCell TD", - "position": [64, 0], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-expected.txt deleted file mode 100644 index 307c2ce0..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTableSection TBODY id='target'", - "position": [8, 26], - "bounds": [186, 134], - "drawsContent": true, - "backgroundColor": "#ADD8E6", - "paintInvalidations": [ - { - "object": "LayoutTableSection TBODY id='target'", - "rect": [0, 0, 186, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [64, 68], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-initial-empty-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-initial-empty-expected.txt deleted file mode 100644 index 307c2ce0..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-initial-empty-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTableSection TBODY id='target'", - "position": [8, 26], - "bounds": [186, 134], - "drawsContent": true, - "backgroundColor": "#ADD8E6", - "paintInvalidations": [ - { - "object": "LayoutTableSection TBODY id='target'", - "rect": [0, 0, 186, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [64, 68], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt deleted file mode 100644 index 45f854fd..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt +++ /dev/null
@@ -1,114 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableRow TR", - "rect": [0, 52, 106, 238], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutTableRow TR", - "rect": [0, 292, 106, 236], - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "rect": [0, 100, 106, 190], - "reason": "incremental" - }, - { - "object": "LayoutTableRow TR", - "rect": [0, 102, 106, 46], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [2, 52, 102, 238], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [2, 292, 102, 236], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [2, 102, 102, 46], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [3, 401, 46, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [3, 162, 46, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [3, 116, 46, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [3, 67, 46, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableRow TR", - "reason": "incremental" - }, - { - "object": "LayoutTableRow TR", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'ROW1'", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'ROW2'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-vertical-align-cell-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-vertical-align-cell-expected.txt deleted file mode 100644 index d2a137f0..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-vertical-align-cell-expected.txt +++ /dev/null
@@ -1,46 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCell TD", - "rect": [2, 52, 102, 476], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [3, 281, 63, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [3, 91, 63, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'MIDDLE'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-row-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-row-repaint-expected.txt deleted file mode 100644 index b97fae5..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-row-repaint-expected.txt +++ /dev/null
@@ -1,46 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCell TD", - "rect": [2, 102, 102, 200], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [3, 193, 63, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [3, 143, 63, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'MIDDLE'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/text-in-relative-positioned-inline-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/text-in-relative-positioned-inline-expected.txt deleted file mode 100644 index a9312aa..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/text-in-relative-positioned-inline-expected.txt +++ /dev/null
@@ -1,46 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [108, 8, 684, 100], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 7, 200, 102], - "reason": "disappeared" - }, - { - "object": "LayoutInline (relative positioned) SPAN id='target'", - "rect": [8, 8, 200, 100], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutInline (relative positioned) SPAN id='target'", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/text-match-document-change-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/text-match-document-change-expected.png deleted file mode 100644 index a843a3e..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/text-match-document-change-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/text-match-document-change-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/text-match-document-change-expected.txt deleted file mode 100644 index 714fd9a..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/text-match-document-change-expected.txt +++ /dev/null
@@ -1,59 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='to-be-changed'", - "rect": [18, 128, 269, 36], - "reason": "full" - }, - { - "object": "LayoutText #text", - "rect": [18, 128, 256, 36], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [18, 128, 84, 18], - "reason": "appeared" - }, - { - "object": "LayoutView #document", - "rect": [295, 102, 15, 400], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow DIV id='to-be-changed'", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'After change'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/text-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/text-shadow-expected.png deleted file mode 100644 index 1848b2b..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/text-shadow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/text-shadow-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/text-shadow-expected.txt deleted file mode 100644 index 9065a7b..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/text-shadow-expected.txt +++ /dev/null
@@ -1,43 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x562 - LayoutBlockFlow {P} at (0,0) size 784x36 - LayoutText {#text} at (0,0) size 177x18 - text run at (0,0) width 177: "This is a regression test for " - LayoutInline {I} at (0,0) size 721x36 - LayoutInline {A} at (0,0) size 354x18 [color=#0000EE] - LayoutText {#text} at (176,0) size 354x18 - text run at (176,0) width 354: "http://bugzilla.opendarwin.org/show_bug.cgi?id=7301" - LayoutText {#text} at (529,0) size 721x36 - text run at (529,0) width 5: " " - text run at (533,0) width 188: "Text shadow does not repaint" - text run at (0,18) width 58: "correctly" - LayoutText {#text} at (57,18) size 5x18 - text run at (57,18) width 5: "." - LayoutBlockFlow {DIV} at (30,84) size 724x22 - LayoutInline {SPAN} at (0,0) size 200x22 [bgcolor=#C0C0C0] - LayoutText {#text} at (0,0) size 200x22 - text run at (0,0) width 200: "Lorem ipsum dolor sit amet" - LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (30,136) size 724x22 - LayoutInline {SPAN} at (0,0) size 200x22 [bgcolor=#C0C0C0] - LayoutText {#text} at (0,0) size 200x22 - text run at (0,0) width 200: "Lorem ipsum dolor sit amet" - LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (30,188) size 724x22 - LayoutText {#text} at (0,3) size 90x18 - text run at (0,3) width 90: "Lorem ipsum " - LayoutInline {SPAN} at (0,0) size 100x22 [bgcolor=#C0C0C0] - LayoutText {#text} at (89,0) size 100x22 - text run at (89,0) width 100: "dolor sit amet" - LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (30,240) size 724x22 - LayoutInline {SPAN} at (0,0) size 97x22 [bgcolor=#C0C0C0] - LayoutText {#text} at (0,0) size 97x22 - text run at (0,0) width 97: "Lorem ipsum" - LayoutText {#text} at (96,3) size 93x18 - text run at (96,3) width 93: " dolor sit amet" -layer at (8,60) size 784x2 clip at (0,0) size 0x0 - LayoutBlockFlow {HR} at (0,52) size 784x2 [border: (1px inset #EEEEEE)]
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/text-shadow-horizontal-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/text-shadow-horizontal-expected.png deleted file mode 100644 index 1848b2b..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/text-shadow-horizontal-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/text-shadow-horizontal-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/text-shadow-horizontal-expected.txt deleted file mode 100644 index 9065a7b..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/text-shadow-horizontal-expected.txt +++ /dev/null
@@ -1,43 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x562 - LayoutBlockFlow {P} at (0,0) size 784x36 - LayoutText {#text} at (0,0) size 177x18 - text run at (0,0) width 177: "This is a regression test for " - LayoutInline {I} at (0,0) size 721x36 - LayoutInline {A} at (0,0) size 354x18 [color=#0000EE] - LayoutText {#text} at (176,0) size 354x18 - text run at (176,0) width 354: "http://bugzilla.opendarwin.org/show_bug.cgi?id=7301" - LayoutText {#text} at (529,0) size 721x36 - text run at (529,0) width 5: " " - text run at (533,0) width 188: "Text shadow does not repaint" - text run at (0,18) width 58: "correctly" - LayoutText {#text} at (57,18) size 5x18 - text run at (57,18) width 5: "." - LayoutBlockFlow {DIV} at (30,84) size 724x22 - LayoutInline {SPAN} at (0,0) size 200x22 [bgcolor=#C0C0C0] - LayoutText {#text} at (0,0) size 200x22 - text run at (0,0) width 200: "Lorem ipsum dolor sit amet" - LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (30,136) size 724x22 - LayoutInline {SPAN} at (0,0) size 200x22 [bgcolor=#C0C0C0] - LayoutText {#text} at (0,0) size 200x22 - text run at (0,0) width 200: "Lorem ipsum dolor sit amet" - LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (30,188) size 724x22 - LayoutText {#text} at (0,3) size 90x18 - text run at (0,3) width 90: "Lorem ipsum " - LayoutInline {SPAN} at (0,0) size 100x22 [bgcolor=#C0C0C0] - LayoutText {#text} at (89,0) size 100x22 - text run at (89,0) width 100: "dolor sit amet" - LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (30,240) size 724x22 - LayoutInline {SPAN} at (0,0) size 97x22 [bgcolor=#C0C0C0] - LayoutText {#text} at (0,0) size 97x22 - text run at (0,0) width 97: "Lorem ipsum" - LayoutText {#text} at (96,3) size 93x18 - text run at (96,3) width 93: " dolor sit amet" -layer at (8,60) size 784x2 clip at (0,0) size 0x0 - LayoutBlockFlow {HR} at (0,52) size 784x2 [border: (1px inset #EEEEEE)]
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.png deleted file mode 100644 index d12f195..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.txt deleted file mode 100644 index 909ff1e..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.txt +++ /dev/null
@@ -1,85 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTextControl TEXTAREA id='editor'", - "rect": [5, 5, 147, 38], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [11, 11, 135, 13], - "reason": "subtree" - }, - { - "object": "LayoutTextControl TEXTAREA id='editor'", - "rect": [9, 24, 124, 15], - "reason": "scroll control" - }, - { - "object": "LayoutText #text", - "rect": [9, 11, 124, 13], - "reason": "subtree" - }, - { - "object": "LayoutTextControl TEXTAREA id='editor'", - "rect": [133, 24, 15, 15], - "reason": "scroll control" - }, - { - "object": "LayoutTextControl TEXTAREA id='editor'", - "rect": [133, 9, 15, 15], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTextControl TEXTAREA id='editor'", - "reason": "subtree" - }, - { - "object": "LayoutTextControl TEXTAREA id='editor'", - "reason": "geometry" - }, - { - "object": "HorizontalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutTextControl TEXTAREA id='editor'", - "reason": "geometry" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox '------------------------------------------------------------'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/transform-inline-layered-child-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/transform-inline-layered-child-expected.txt deleted file mode 100644 index ddd4957..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/transform-inline-layered-child-expected.txt +++ /dev/null
@@ -1,229 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='box'", - "rect": [66, 85, 168, 192], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [138, 359, 152, 182], - "reason": "subtree" - }, - { - "object": "LayoutInline (relative positioned) SPAN id='child'", - "rect": [139, 359, 151, 181], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='box'", - "rect": [100, 100, 100, 162], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [300, 301, 80, 162], - "reason": "subtree" - }, - { - "object": "LayoutInline (relative positioned) SPAN id='child'", - "rect": [300, 300, 80, 162], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='box'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutInline (relative positioned) SPAN id='child'", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'A B C'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'D E F'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'G H I'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'J K L'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'M N O'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'P Q R'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'S T U'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'V W X'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Y Z'", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='box'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutInline (relative positioned) SPAN id='child'", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'A B C'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'D E F'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'G H I'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'J K L'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'M N O'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'P Q R'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'S T U'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'V W X'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Y Z'", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/transform-layout-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/transform-layout-repaint-expected.txt deleted file mode 100644 index 3b0de273..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/transform-layout-repaint-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [40, 50, 208, 118], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [52, 51, 42, 30], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/vertical-align-length1-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/vertical-align-length1-expected.txt deleted file mode 100644 index adb46fe6..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/vertical-align-length1-expected.txt +++ /dev/null
@@ -1,65 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "rect": [0, 0, 800, 154], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [20, 0, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "rect": [120, 130, 20, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "rect": [120, 100, 20, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "rect": [0, 130, 20, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "rect": [0, 100, 20, 20], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/vertical-align-length2-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/vertical-align-length2-expected.txt deleted file mode 100644 index 65fb534..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/vertical-align-length2-expected.txt +++ /dev/null
@@ -1,60 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "rect": [0, 0, 800, 204], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "rect": [300, 0, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "rect": [0, 0, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [200, 80, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [200, 50, 100, 100], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/vertical-align1-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/vertical-align1-expected.txt deleted file mode 100644 index fd0c9422..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/vertical-align1-expected.txt +++ /dev/null
@@ -1,65 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "rect": [0, 0, 800, 104], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [20, 0, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "rect": [120, 80, 20, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "rect": [120, 34, 20, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "rect": [0, 80, 20, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "rect": [0, 34, 20, 20], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/vertical-align2-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/vertical-align2-expected.txt deleted file mode 100644 index c68eb83..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/vertical-align2-expected.txt +++ /dev/null
@@ -1,60 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "rect": [0, 0, 800, 246], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "rect": [300, 0, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "rect": [0, 0, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [200, 146, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [200, 100, 100, 100], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/vertical-rl-as-paint-container-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/vertical-rl-as-paint-container-expected.txt deleted file mode 100644 index 3b13242..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/vertical-rl-as-paint-container-expected.txt +++ /dev/null
@@ -1,47 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutBlockFlow DIV id='target'", - "position": [8, 8], - "bounds": [600, 400], - "drawsContent": true, - "backfaceVisibility": "hidden", - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [519, 0, 82, 340], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'Lorem ipsum dolor'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'sit amet,'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'consectetur'", - "reason": "style change" - }, - { - "object": "InlineTextBox 'adipiscing elit.'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/window-resize-vertical-writing-mode-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/window-resize-vertical-writing-mode-expected.txt deleted file mode 100644 index d7399e7..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/invalidation/window-resize-vertical-writing-mode-expected.txt +++ /dev/null
@@ -1,427 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [913, 235], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [0, 0, 913, 235], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [8, 8, 897, 219], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 8, 897, 214], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [313, 0, 600, 500], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [0, 0, 600, 500], - "reason": "full" - }, - { - "object": "LayoutView #document", - "rect": [313, 235, 600, 15], - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [491, 8, 414, 484], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [491, 8, 414, 484], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AAAA'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'BBBB'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'CCCC'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'DDDD'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'EEEE'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'FFFF'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'GGGG'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'HHHH'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'IIII JJJJ'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'KKKK'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'LLLL'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'MMMM'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'NNNN'", - "reason": "geometry" - } - ] -} -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [913, 235], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [200, 0, 913, 235], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [0, 0, 913, 235], - "reason": "full" - }, - { - "object": "LayoutView #document", - "rect": [0, 0, 913, 235], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [208, 8, 897, 219], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [8, 8, 897, 219], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [208, 8, 897, 214], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 8, 897, 214], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [513, 235, 600, 15], - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "rect": [513, 235, 400, 15], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AAAA'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'BBBB'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'CCCC'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'DDDD'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'EEEE'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'FFFF'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'GGGG'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'HHHH'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'IIII JJJJ'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'KKKK'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'LLLL'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'MMMM'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'NNNN'", - "reason": "geometry" - } - ] -} -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [400, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [0, 0, 913, 235], - "reason": "full" - }, - { - "object": "LayoutView #document", - "rect": [-513, 0, 913, 235], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [-505, 8, 897, 219], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [-505, 8, 897, 214], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [0, 0, 400, 600], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [0, 235, 400, 15], - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [47, 8, 345, 584], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [47, 8, 345, 565], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AAAA BBBB CCCC'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'DDDD EEEE FFFF'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'GGGG HHHH IIII JJJJ'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'KKKK LLLL MMMM'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'NNNN'", - "reason": "geometry" - } - ] -} -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [400, 0, 400, 600], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [447, 8, 345, 584], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [47, 8, 345, 584], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [447, 8, 345, 565], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [47, 8, 345, 565], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AAAA BBBB CCCC'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'DDDD EEEE FFFF'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'GGGG HHHH IIII JJJJ'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'KKKK LLLL MMMM'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'NNNN'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/pagination/pagination-change-clip-crash-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/pagination/pagination-change-clip-crash-expected.txt deleted file mode 100644 index 693c3e5..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/pagination/pagination-change-clip-crash-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 734], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [0, 634, 785, 100], - "reason": "incremental" - } - ] - }, - { - "name": "LayoutBlockFlow DIV id='background'", - "position": [8, 426], - "bounds": [769, 300] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='background'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/printing/print-box-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/printing/print-box-shadow-expected.png deleted file mode 100644 index 78f222d8..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/printing/print-box-shadow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/roundedrects/circle-with-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/roundedrects/circle-with-shadow-expected.png deleted file mode 100644 index 60aaf578..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/roundedrects/circle-with-shadow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/roundedrects/input-with-rounded-rect-and-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/roundedrects/input-with-rounded-rect-and-shadow-expected.png deleted file mode 100644 index 2674eef6..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/roundedrects/input-with-rounded-rect-and-shadow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/selection/text-selection-inline-block-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/selection/text-selection-inline-block-expected.png deleted file mode 100644 index d89a157..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/selection/text-selection-inline-block-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/selection/text-selection-inline-block-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/selection/text-selection-inline-block-expected.txt deleted file mode 100644 index 0b7003a..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/selection/text-selection-inline-block-expected.txt +++ /dev/null
@@ -1,12 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x71 - LayoutBlockFlow {HTML} at (0,0) size 800x71 - LayoutBlockFlow {BODY} at (8,8) size 784x55 - LayoutBlockFlow {DIV} at (0,0) size 24x55 - LayoutText {#text} at (0,0) size 24x55 - text run at (0,0) width 24: "x" - LayoutText {#text} at (24,0) size 24x55 - text run at (24,0) width 24: "y" -selection start: position 0 of child 0 {#text} of child 0 {DIV} of body -selection end: position 1 of child 1 {#text} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/selection/text-selection-inline-block-rtl-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/selection/text-selection-inline-block-rtl-expected.png deleted file mode 100644 index b4ce93ab..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/selection/text-selection-inline-block-rtl-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/selection/text-selection-inline-block-rtl-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/selection/text-selection-inline-block-rtl-expected.txt deleted file mode 100644 index 1e15aa9b..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/selection/text-selection-inline-block-rtl-expected.txt +++ /dev/null
@@ -1,13 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x71 - LayoutBlockFlow {HTML} at (0,0) size 800x71 - LayoutBlockFlow {BODY} at (8,8) size 784x55 - LayoutBlockFlow {DIV} at (0,0) size 784x55 - LayoutBlockFlow {DIV} at (760,0) size 24x55 - LayoutText {#text} at (0,0) size 24x55 - text run at (0,0) width 24 RTL override: "x" - LayoutText {#text} at (736,0) size 24x55 - text run at (736,0) width 24 RTL override: "y" -selection start: position 0 of child 0 {#text} of child 1 {DIV} of child 0 {DIV} of body -selection end: position 1 of child 2 {#text} of child 0 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/selection/text-selection-newline-mixed-ltr-rtl-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/selection/text-selection-newline-mixed-ltr-rtl-expected.txt deleted file mode 100644 index cffbb62..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/selection/text-selection-newline-mixed-ltr-rtl-expected.txt +++ /dev/null
@@ -1,16 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x145 - LayoutBlockFlow {HTML} at (0,0) size 800x145 - LayoutBlockFlow {BODY} at (8,16) size 784x121 - LayoutBlockFlow {P} at (0,0) size 784x18 - LayoutText {#text} at (0,0) size 348x18 - text run at (0,0) width 348: "Passes if there are no overpainted selection highlights." - LayoutBlockFlow (anonymous) at (0,34) size 784x87 - LayoutInline {SPAN} at (0,0) size 189x74 - LayoutText {#text} at (0,3) size 189x74 - text run at (0,3) width 96: "text" - text run at (95,3) width 94 RTL: "\x{645}\x{62A}\x{646}:" - LayoutText {#text} at (0,0) size 0x0 -selection start: position 5 of child 0 {#text} of child 2 {SPAN} of body -selection end: position 13 of child 0 {#text} of child 2 {SPAN} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/selection/text-selection-newline-rtl-double-linebreak-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/selection/text-selection-newline-rtl-double-linebreak-expected.png deleted file mode 100644 index 84bbb0a..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/selection/text-selection-newline-rtl-double-linebreak-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.png deleted file mode 100644 index eea1972..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.txt deleted file mode 100644 index 6469e68..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.txt +++ /dev/null
@@ -1,13 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x35 - LayoutBlockFlow {HTML} at (0,0) size 800x35 - LayoutBlockFlow {BODY} at (8,8) size 784x19 - LayoutTextControl {INPUT} at (0,0) size 131x19 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)] - LayoutText {#text} at (0,0) size 0x0 -layer at (11,11) size 125x13 - LayoutBlockFlow {DIV} at (3,3) size 125x13 - LayoutText {#text} at (0,0) size 66x13 - text run at (0,0) width 66: "Hello, world!" -selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 1 {INPUT} of body -selection end: position 13 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 1 {INPUT} of body
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/spellmarkers/document-markers-zoom-150-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/spellmarkers/document-markers-zoom-150-expected.png deleted file mode 100644 index 77e3dd99..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/disable-spinvalidation/paint/spellmarkers/document-markers-zoom-150-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/off-main-thread-fetch/external/wpt/service-workers/service-worker/fetch-canvas-tainting.https-expected.txt b/third_party/WebKit/LayoutTests/platform/mac/virtual/off-main-thread-fetch/external/wpt/service-workers/service-worker/fetch-canvas-tainting.https-expected.txt new file mode 100644 index 0000000..a4b6320 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/off-main-thread-fetch/external/wpt/service-workers/service-worker/fetch-canvas-tainting.https-expected.txt
@@ -0,0 +1,4 @@ +This is a testharness.js-based test. +FAIL Verify canvas tainting of fetched image in a Service Worker assert_equals: expected "finish" but got "failure:Result of url:https://www1.web-platform.test:8444/service-workers/service-worker/resources/fetch-access-control.py?PNGIMAGE&mode=cors&credentials=same-origin&url=https%3A%2F%2Fwww1.web-platform.test%3A8444%2Fservice-workers%2Fservice-worker%2Fresources%2Ffetch-access-control.py%3FPNGIMAGE%26ACAOrigin%3Dhttps%3A%2F%2Fweb-platform.test%3A8444 cross_origin: must be TAINTED but NOT_TAINTED" +Harness: the test ran to completion. +
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/prefer_compositing_to_lcd_text/compositing/overflow/tiled-mask-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/prefer_compositing_to_lcd_text/compositing/overflow/tiled-mask-expected.png index ba320740..f0d3620c4 100644 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/prefer_compositing_to_lcd_text/compositing/overflow/tiled-mask-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac/virtual/prefer_compositing_to_lcd_text/compositing/overflow/tiled-mask-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 deleted file mode 100644 index 21b0b3d9..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/spinvalidation/paint/invalidation/composited-overflow-with-borderbox-background-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.png deleted file mode 100644 index 372c2024..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/mac/virtual/spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.png b/third_party/WebKit/LayoutTests/platform/mac/virtual/spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.png deleted file mode 100644 index 7d328184..0000000 --- a/third_party/WebKit/LayoutTests/platform/mac/virtual/spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/masks/mask-with-removed-filters-expected.png b/third_party/WebKit/LayoutTests/platform/win/compositing/masks/mask-with-removed-filters-expected.png index 8079d94b..a469aba 100644 --- a/third_party/WebKit/LayoutTests/platform/win/compositing/masks/mask-with-removed-filters-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/compositing/masks/mask-with-removed-filters-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/overflow/tiled-mask-expected.png b/third_party/WebKit/LayoutTests/platform/win/compositing/overflow/tiled-mask-expected.png index 005e10d..c79b681 100644 --- a/third_party/WebKit/LayoutTests/platform/win/compositing/overflow/tiled-mask-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/compositing/overflow/tiled-mask-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/compositing/text-on-scaled-surface-expected.png b/third_party/WebKit/LayoutTests/platform/win/compositing/text-on-scaled-surface-expected.png new file mode 100644 index 0000000..7dad5c3 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/win/compositing/text-on-scaled-surface-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-video-ratio-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-video-ratio-expected.png index 4959247..3bb34d3 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-video-ratio-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-video-ratio-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-video-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-video-shadow-expected.png index 4ad5437..86f6aca 100644 --- a/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-video-shadow-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-radius-mask-video-shadow-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/color-matching/image-color-matching-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/color-matching/image-color-matching-expected.png deleted file mode 100644 index 27d6eae..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/color-matching/image-color-matching-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/culling/scrolled-within-boxshadow-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/culling/scrolled-within-boxshadow-expected.png deleted file mode 100644 index 317fef7d7..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/culling/scrolled-within-boxshadow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/culling/translated-boxshadow-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/culling/translated-boxshadow-expected.png deleted file mode 100644 index 6e3f377..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/culling/translated-boxshadow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/culling/unscrolled-within-boxshadow-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/culling/unscrolled-within-boxshadow-expected.png deleted file mode 100644 index 317fef7d7..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/culling/unscrolled-within-boxshadow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/direct-image-compositing-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/direct-image-compositing-expected.png deleted file mode 100644 index 629be2fc2..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/direct-image-compositing-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/direct-image-compositing-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/direct-image-compositing-expected.txt deleted file mode 100644 index 6de5f39..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/direct-image-compositing-expected.txt +++ /dev/null
@@ -1,65 +0,0 @@ -layer at (0,0) size 800x600 clip at (0,0) size 785x600 scrollHeight 756 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 785x756 backgroundClip at (0,0) size 785x600 clip at (0,0) size 785x600 - LayoutBlockFlow {HTML} at (0,0) size 785x755.88 - LayoutBlockFlow {BODY} at (8,21.44) size 769x118.44 - LayoutBlockFlow {H1} at (0,0) size 769x37 - LayoutText {#text} at (0,0) size 387x36 - text run at (0,0) width 387: "Image optimisation in layers" - LayoutBlockFlow {P} at (0,58.44) size 769x60 - LayoutText {#text} at (0,0) size 745x59 - text run at (0,0) width 564: "This test exercises direct compositing of images with hardware acceleration. The visual results " - text run at (564,0) width 30: "using" - text run at (0,20) width 639: "ACCELERATED_COMPOSITING and regular TOT should be identical. Running this test manually with " - text run at (638,20) width 107: "the correct debug" - text run at (0,40) width 379: "options will show which elements are directly composited. See " - LayoutInline {A} at (0,0) size 291x19 [color=#0000EE] - LayoutText {#text} at (379,40) size 291x19 - text run at (379,40) width 291: "https://bugs.webkit.org/show_bug.cgi?id=23361" - LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow (floating) {DIV} at (0,134.44) size 260x200 - LayoutText {#text} at (150,0) size 101x79 - text run at (150,0) width 101: "Basic image - no" - text run at (150,20) width 81: "style - can be" - text run at (150,40) width 44: "directly" - text run at (150,60) width 70: "composited" - LayoutBlockFlow (floating) {DIV} at (260,134.44) size 260x200 - LayoutText {#text} at (160,0) size 97x79 - text run at (160,0) width 97: "5px blue border" - text run at (160,20) width 87: "- can NOT be" - text run at (160,40) width 44: "directly" - text run at (160,60) width 70: "composited" - LayoutBlockFlow (floating) {DIV} at (0,334.44) size 260x200 - LayoutText {#text} at (160,0) size 100x59 - text run at (160,0) width 75: "margin - can" - text run at (160,20) width 100: "NOT be directly" - text run at (160,40) width 70: "composited" - LayoutBlockFlow (floating) {DIV} at (260,334.44) size 260x200 - LayoutText {#text} at (150,0) size 104x59 - text run at (150,0) width 104: "solid background" - text run at (150,20) width 98: "- can be directly" - text run at (150,40) width 70: "composited" - LayoutBlockFlow (floating) {DIV} at (0,534.44) size 260x200 - LayoutText {#text} at (150,0) size 107x79 - text run at (150,0) width 72: "background" - text run at (150,20) width 107: "image - can NOT" - text run at (150,40) width 63: "be directly" - text run at (150,60) width 70: "composited" - LayoutBlockFlow (floating) {DIV} at (260,534.44) size 260x200 - LayoutText {#text} at (150,0) size 108x79 - text run at (150,0) width 66: "rotated but" - text run at (150,20) width 108: "otherwise no style" - text run at (150,40) width 98: "- can be directly" - text run at (150,60) width 70: "composited" -layer at (8,156) size 150x150 - LayoutImage (floating) {IMG} at (0,0) size 150x150 -layer at (268,156) size 160x160 - LayoutImage (floating) {IMG} at (0,0) size 160x160 [border: (5px solid #0000FF)] -layer at (13,361) size 150x150 - LayoutImage (floating) {IMG} at (5,5) size 150x150 -layer at (268,356) size 150x150 - LayoutImage (floating) {IMG} at (0,0) size 150x150 [bgcolor=#808080] -layer at (8,556) size 150x150 backgroundClip at (0,0) size 785x600 clip at (0,0) size 785x600 - LayoutImage (floating) {IMG} at (0,0) size 150x150 [bgcolor=#FFA500] -layer at (268,556) size 150x150 backgroundClip at (0,0) size 785x600 clip at (0,0) size 785x600 - LayoutImage (floating) {IMG} at (0,0) size 150x150
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt deleted file mode 100644 index 3810e8c..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt +++ /dev/null
@@ -1,35 +0,0 @@ - - -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutBlockFlow (positioned) DIV class='composited'", - "position": [10, 10], - "transformOrigin": [-10, -10], - "bounds": [590, 210], - "drawsContent": true - }, - { - "name": "LayoutBlockFlow (positioned) DIV class='composited'", - "position": [10, 260], - "transformOrigin": [-10, -10], - "bounds": [590, 210], - "drawsContent": true - }, - { - "name": "LayoutBlockFlow (relative positioned) DIV class='composited inner box'", - "position": [490, 110], - "bounds": [100, 100], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#0000FF" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/geometry/clipping-foreground-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/geometry/clipping-foreground-expected.txt deleted file mode 100644 index 667ca01..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/geometry/clipping-foreground-expected.txt +++ /dev/null
@@ -1,52 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x584 - LayoutBlockFlow {P} at (0,0) size 784x20 - LayoutText {#text} at (0,0) size 411x19 - text run at (0,0) width 411: "The layering of the boxes should not be affected by overflow:hidden." - LayoutBlockFlow (anonymous) at (0,36) size 784x477 - LayoutText {#text} at (320,305) size 4x19 - text run at (320,305) width 4: " " - LayoutText {#text} at (0,0) size 0x0 -layer at (68,261) size 200x200 layerType: background only -layer at (28,221) size 150x150 - LayoutBlockFlow (positioned) zI: -1 {DIV} at (-40,-40) size 150x150 [color=#808080] [bgcolor=#C86464] [border: (2px solid #000000)] - LayoutText zI: -1 {#text} at (22,22) size 106x40 - text run at (22,22) width 106: "Behind" -layer at (50,303) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (22,82) size 100x100 [bgcolor=#008000] [border: (2px solid #000000)] - LayoutText {#text} at (22,22) size 55x41 - text run at (22,22) width 55: "Behind" - text run at (22,43) width 53: "behind" -layer at (68,261) size 200x200 layerType: foreground only - LayoutBlockFlow (relative positioned) {DIV} at (60,217) size 200x200 [color=#0000FF] [bgcolor=#FFFFFFCC] [border: (10px solid #000000)] - LayoutText {#text} at (30,30) size 126x81 - text run at (30,30) width 60: "Box" - text run at (30,71) width 126: "contents" -layer at (158,351) size 150x150 - LayoutBlockFlow (positioned) zI: 1 {DIV} at (90,90) size 150x150 [color=#808080] [bgcolor=#C8C880] [border: (2px solid #000000)] - LayoutText zI: 1 {#text} at (22,22) size 87x81 - text run at (22,22) width 33: "In" - text run at (22,63) width 87: "Front" -layer at (392,104) size 200x200 clip at (402,114) size 180x180 scrollWidth 230 scrollHeight 230 layerType: background only -layer at (352,64) size 150x150 backgroundClip at (402,114) size 180x180 clip at (402,114) size 180x180 - LayoutBlockFlow (positioned) zI: -1 {DIV} at (-40,-40) size 150x150 [color=#808080] [bgcolor=#C86464] [border: (2px solid #000000)] - LayoutText zI: -1 {#text} at (22,22) size 106x40 - text run at (22,22) width 106: "Behind" -layer at (374,146) size 100x100 backgroundClip at (402,114) size 180x180 clip at (402,114) size 180x180 - LayoutBlockFlow (positioned) {DIV} at (22,82) size 100x100 [bgcolor=#008000] [border: (2px solid #000000)] - LayoutText {#text} at (22,22) size 55x41 - text run at (22,22) width 55: "Behind" - text run at (22,43) width 53: "behind" -layer at (392,104) size 200x200 clip at (402,114) size 180x180 scrollWidth 230 scrollHeight 230 layerType: foreground only - LayoutBlockFlow (relative positioned) {DIV} at (384,60) size 200x200 [color=#0000FF] [bgcolor=#FFFFFFCC] [border: (10px solid #000000)] - LayoutText {#text} at (30,30) size 126x81 - text run at (30,30) width 60: "Box" - text run at (30,71) width 126: "contents" -layer at (482,194) size 150x150 backgroundClip at (402,114) size 180x180 clip at (402,114) size 180x180 - LayoutBlockFlow (positioned) zI: 1 {DIV} at (90,90) size 150x150 [color=#808080] [bgcolor=#C8C880] [border: (2px solid #000000)] - LayoutText zI: 1 {#text} at (22,22) size 87x81 - text run at (22,22) width 33: "In" - text run at (22,63) width 87: "Front"
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/geometry/composited-in-columns-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/geometry/composited-in-columns-expected.png deleted file mode 100644 index 6f897b6..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/geometry/composited-in-columns-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/geometry/composited-in-columns-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/geometry/composited-in-columns-expected.txt deleted file mode 100644 index d9d29ac3a..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/geometry/composited-in-columns-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ - { - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutBlockFlow DIV class='composited block'", - "position": [14, 164], - "bounds": [210, 60], - "drawsContent": true, - "backgroundColor": "#0000FF" - }, - { - "name": "LayoutBlockFlow DIV class='composited box'", - "position": [5, 5], - "bounds": [50, 50], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#008000" - }, - { - "name": "LayoutBlockFlow DIV class='composited block'", - "position": [272, 89], - "bounds": [210, 60], - "drawsContent": true, - "backgroundColor": "#0000FF" - }, - { - "name": "LayoutBlockFlow DIV class='composited box'", - "position": [5, 5], - "bounds": [50, 50], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#008000" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/geometry/layer-due-to-layer-children-deep-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/geometry/layer-due-to-layer-children-deep-expected.png deleted file mode 100644 index 31c891b..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/geometry/layer-due-to-layer-children-deep-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/geometry/video-fixed-scrolling-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/geometry/video-fixed-scrolling-expected.png deleted file mode 100644 index 3171b5f..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/geometry/video-fixed-scrolling-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/geometry/video-opacity-overlay-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/geometry/video-opacity-overlay-expected.png deleted file mode 100644 index ce82027..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/geometry/video-opacity-overlay-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png deleted file mode 100644 index a78e47d..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-pixel-rotated-link-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-with-box-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-with-box-shadow-expected.png deleted file mode 100644 index acfc168..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/gestures/gesture-tapHighlight-with-box-shadow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/iframes/composited-iframe-alignment-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/iframes/composited-iframe-alignment-expected.txt deleted file mode 100644 index 00c4f95f..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/iframes/composited-iframe-alignment-expected.txt +++ /dev/null
@@ -1,21 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x76 - LayoutBlockFlow {HTML} at (0,0) size 800x76 - LayoutBlockFlow {BODY} at (8,8) size 784x60 - LayoutText {#text} at (0,0) size 766x39 - text run at (0,0) width 567: "Simple test of composited iframe content. There should be a blue box with a gray background " - text run at (567,0) width 199: "inside the black border. The gray" - text run at (0,20) width 334: "background should fit perfectly within the block border " - text run at (334,20) width 84: "with no gaps. " - LayoutBR {BR} at (0,0) size 0x0 - LayoutBR {BR} at (0,40) size 0x19 -layer at (100,100) size 440x340 - LayoutIFrame (positioned) {IFRAME} at (100,100) size 440x340 [border: (20px solid #000000)] - layer at (0,0) size 400x300 - LayoutView at (0,0) size 400x300 - layer at (0,0) size 400x230 - LayoutBlockFlow {HTML} at (0,0) size 400x230 - LayoutBlockFlow {BODY} at (8,10) size 384x210 [bgcolor=#C0C0C0] - layer at (18,10) size 210x210 - LayoutBlockFlow {DIV} at (10,0) size 210x210 [bgcolor=#0000FF]
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/iframes/composited-iframe-scroll-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/iframes/composited-iframe-scroll-expected.png deleted file mode 100644 index 1d36f1c..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/iframes/composited-iframe-scroll-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/iframes/composited-iframe-scroll-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/iframes/composited-iframe-scroll-expected.txt deleted file mode 100644 index cd79b23a..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/iframes/composited-iframe-scroll-expected.txt +++ /dev/null
@@ -1,19 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x0 - LayoutBlockFlow {HTML} at (0,0) size 800x0 - LayoutBlockFlow {BODY} at (0,0) size 800x0 -layer at (120,120) size 200x200 - LayoutBlockFlow (positioned) {DIV} at (120,120) size 200x200 [bgcolor=#FF0000] -layer at (0,100) size 240x245 - LayoutBlockFlow (positioned) {DIV} at (0,100) size 240x245 - LayoutText {#text} at (0,0) size 0x0 -layer at (10,110) size 220x220 - LayoutIFrame {IFRAME} at (10,10) size 220x220 - layer at (0,0) size 200x200 scrollY 200.00 scrollHeight 400 - LayoutView at (0,0) size 200x200 - layer at (0,0) size 200x400 backgroundClip at (0,0) size 200x200 clip at (0,0) size 200x200 - LayoutBlockFlow {HTML} at (0,0) size 200x400 - LayoutBlockFlow {BODY} at (0,0) size 200x400 - LayoutBlockFlow {DIV} at (0,0) size 200x200 [bgcolor=#FF0000] - LayoutBlockFlow {DIV} at (0,200) size 200x200 [bgcolor=#008000]
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/iframes/iframe-content-flipping-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/iframes/iframe-content-flipping-expected.png deleted file mode 100644 index e12ad2f..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/iframes/iframe-content-flipping-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/iframes/iframe-content-flipping-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/iframes/iframe-content-flipping-expected.txt deleted file mode 100644 index 010a7d8c..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/iframes/iframe-content-flipping-expected.txt +++ /dev/null
@@ -1,17 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x263 - LayoutBlockFlow {HTML} at (0,0) size 800x263 - LayoutBlockFlow {BODY} at (8,8) size 784x247 - LayoutText {#text} at (0,0) size 0x0 -layer at (28,28) size 202x202 - LayoutIFrame {IFRAME} at (20,20) size 202x202 [border: (1px solid #000000)] - layer at (0,0) size 200x200 scrollHeight 400 - LayoutView at (0,0) size 200x200 - layer at (0,0) size 200x400 backgroundClip at (0,0) size 200x200 clip at (0,0) size 200x200 - LayoutBlockFlow {HTML} at (0,0) size 200x400 - LayoutBlockFlow {BODY} at (0,0) size 200x400 - layer at (0,0) size 200x200 - LayoutBlockFlow {DIV} at (0,0) size 200x200 [bgcolor=#008000] - layer at (0,200) size 200x200 backgroundClip at (0,0) size 200x200 clip at (0,0) size 200x200 - LayoutBlockFlow {DIV} at (0,200) size 200x200 [bgcolor=#FF0000]
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/iframes/invisible-nested-iframe-show-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/iframes/invisible-nested-iframe-show-expected.txt deleted file mode 100644 index f11cd18..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/iframes/invisible-nested-iframe-show-expected.txt +++ /dev/null
@@ -1,94 +0,0 @@ - -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutIFrame IFRAME", - "position": [-11, -11], - "bounds": [368, 218], - "drawsContent": true - }, - { - "name": "Frame Overflow Controls Host Layer", - "position": [34, 34], - "bounds": [300, 150] - }, - { - "name": "Frame Clipping Layer", - "bounds": [285, 150] - }, - { - "name": "Frame Scrolling Layer" - }, - { - "name": "Content Root Layer", - "bounds": [285, 193] - }, - { - "name": "LayoutView #document", - "bounds": [285, 193], - "drawsContent": true - }, - { - "name": "LayoutIFrame IFRAME", - "position": [8, 8], - "bounds": [252, 172], - "drawsContent": true - }, - { - "name": "Frame Overflow Controls Host Layer", - "position": [1, 1], - "bounds": [250, 170] - }, - { - "name": "Frame Clipping Layer", - "bounds": [250, 170] - }, - { - "name": "Frame Scrolling Layer" - }, - { - "name": "Content Root Layer", - "bounds": [250, 230] - }, - { - "name": "LayoutView #document", - "bounds": [250, 230], - "drawsContent": true, - "backgroundColor": "#C0C0C0" - }, - { - "name": "LayoutBlockFlow DIV id='iframe-content' class='box'", - "position": [18, 10], - "bounds": [210, 210], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#0000FF" - }, - { - "name": "Frame Vertical Scrollbar Layer", - "position": [285, 0], - "bounds": [15, 150] - }, - { - "name": "LayoutBlockFlow DIV class='box'", - "position": [18, 203], - "bounds": [210, 210], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#0000FF", - "transform": [ - [1, 0, 0, 0], - [0, 1, 0, 0], - [0, 0, 1, 0], - [0, 0, 1, 1] - ] - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/img-layer-object-fit-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/img-layer-object-fit-expected.png deleted file mode 100644 index 0f98aad..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/img-layer-object-fit-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/img-layer-object-fit-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/img-layer-object-fit-expected.txt deleted file mode 100644 index 65d36b2..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/img-layer-object-fit-expected.txt +++ /dev/null
@@ -1,17 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x156 - LayoutBlockFlow {HTML} at (0,0) size 800x156 - LayoutBlockFlow {BODY} at (8,8) size 784x140 - LayoutBR {BR} at (100,15) size 0x19 - LayoutBR {BR} at (100,50) size 0x19 - LayoutBR {BR} at (100,85) size 0x19 - LayoutBR {BR} at (100,120) size 0x19 -layer at (8,8) size 100x30 - LayoutImage {IMG} at (0,0) size 100x30 -layer at (8,43) size 100x30 - LayoutImage {IMG} at (0,35) size 100x30 -layer at (8,78) size 100x30 - LayoutImage {IMG} at (0,70) size 100x30 -layer at (8,113) size 100x30 - LayoutImage {IMG} at (0,105) size 100x30
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-nonscrollable-body-mismatch-containers-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-nonscrollable-body-mismatch-containers-expected.txt deleted file mode 100644 index ebc73b8..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/layer-creation/fixed-position-nonscrollable-body-mismatch-containers-expected.txt +++ /dev/null
@@ -1,59 +0,0 @@ -Even though the fixed-position element's container is nonscrollable, it should still be composited because one of its ancestors is scrolling. - -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutBlockFlow DIV class='scrollable bigBox'", - "position": [8, 72], - "bounds": [302, 302], - "shouldFlattenTransform": false, - "drawsContent": true - }, - { - "name": "Scrolling Layer", - "position": [1, 1], - "bounds": [285, 285], - "shouldFlattenTransform": false - }, - { - "name": "Scrolling Contents Layer", - "bounds": [285, 800], - "drawsContent": true - }, - { - "name": "Overflow Controls Host Layer", - "bounds": [302, 302] - }, - { - "name": "Horizontal Scrollbar Layer", - "position": [1, 286], - "bounds": [285, 15] - }, - { - "name": "Vertical Scrollbar Layer", - "position": [286, 1], - "bounds": [15, 285] - }, - { - "name": "Scroll Corner Layer", - "position": [286, 286], - "bounds": [15, 15], - "drawsContent": true - }, - { - "name": "LayoutBlockFlow (positioned) DIV class='fixed lime box'", - "position": [10, 100], - "bounds": [100, 100], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#00FF00" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/layers-inside-overflow-scroll-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/layers-inside-overflow-scroll-expected.png deleted file mode 100644 index e4f918e..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/layers-inside-overflow-scroll-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/lots-of-img-layers-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/lots-of-img-layers-expected.png deleted file mode 100644 index a8afe292..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/lots-of-img-layers-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/lots-of-img-layers-with-opacity-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/lots-of-img-layers-with-opacity-expected.png deleted file mode 100644 index b9471ee1..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/lots-of-img-layers-with-opacity-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/masks/mask-with-removed-filters-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/masks/mask-with-removed-filters-expected.png new file mode 100644 index 0000000..a469aba --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/masks/mask-with-removed-filters-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/overflow/clip-parent-reset-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/overflow/clip-parent-reset-expected.txt deleted file mode 100644 index 408e517..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/overflow/clip-parent-reset-expected.txt +++ /dev/null
@@ -1,14 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x186 - LayoutBlockFlow {HTML} at (0,0) size 800x186 - LayoutBlockFlow {BODY} at (8,8) size 784x170 - LayoutBlockFlow (anonymous) at (0,150) size 784x20 - LayoutText {#text} at (0,0) size 595x19 - text run at (0,0) width 595: "This test verifies the clip parent of a layer gets correctly reset when it gained a non-composited clip." -layer at (8,8) size 150x150 transparent - LayoutBlockFlow {DIV} at (0,0) size 150x150 [bgcolor=#FF0000] -layer at (8,8) size 100x100 scrollWidth 200 scrollHeight 200 - LayoutBlockFlow {DIV} at (0,0) size 100x100 -layer at (8,8) size 200x200 backgroundClip at (8,8) size 100x100 clip at (8,8) size 100x100 - LayoutBlockFlow {DIV} at (0,0) size 200x200 [bgcolor=#008000]
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/overflow/mask-with-filter-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/overflow/mask-with-filter-expected.png deleted file mode 100644 index 6e9aeb8..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/overflow/mask-with-filter-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/overflow/mask-with-filter-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/overflow/mask-with-filter-expected.txt deleted file mode 100644 index 3974072b..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/overflow/mask-with-filter-expected.txt +++ /dev/null
@@ -1,12 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x229 - LayoutBlockFlow {HTML} at (0,0) size 800x229 - LayoutBlockFlow {BODY} at (8,8) size 784x213 - LayoutText {#text} at (0,0) size 0x0 -layer at (108,8) size 208x208 - LayoutBlockFlow (relative positioned) {DIV} at (0,0) size 208x208 -layer at (108,8) size 208x208 clip at (112,12) size 200x200 scrollWidth 500 scrollHeight 500 - LayoutBlockFlow {DIV} at (0,0) size 208x208 [bgcolor=#808080] [border: (4px solid #FF0000)] -layer at (112,12) size 500x500 backgroundClip at (112,12) size 200x200 clip at (112,12) size 200x200 - LayoutBlockFlow {DIV} at (4,4) size 500x500 [bgcolor=#000000]
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/overflow/overflow-compositing-descendant-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/overflow/overflow-compositing-descendant-expected.png deleted file mode 100644 index 3e8e9d8..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/overflow/overflow-compositing-descendant-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/overflow/scroll-ancestor-update-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/overflow/scroll-ancestor-update-expected.png deleted file mode 100644 index 9bc0a5a4e..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/overflow/scroll-ancestor-update-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/overflow/scrollbar-layer-placement-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/overflow/scrollbar-layer-placement-expected.png deleted file mode 100644 index 125c5fc..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/overflow/scrollbar-layer-placement-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/overflow/tiled-mask-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/overflow/tiled-mask-expected.png new file mode 100644 index 0000000..c79b681 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/overflow/tiled-mask-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/perpendicular-layer-sorting-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/perpendicular-layer-sorting-expected.png deleted file mode 100644 index 364c128..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/perpendicular-layer-sorting-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/perpendicular-layer-sorting-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/perpendicular-layer-sorting-expected.txt deleted file mode 100644 index 8b13789..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/perpendicular-layer-sorting-expected.txt +++ /dev/null
@@ -1 +0,0 @@ -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/reflections/load-video-in-reflection-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/reflections/load-video-in-reflection-expected.png deleted file mode 100644 index cb9d3b0b..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/reflections/load-video-in-reflection-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-anchor-point-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-anchor-point-expected.png deleted file mode 100644 index 3e23b3b..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-anchor-point-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-animated-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-animated-expected.png deleted file mode 100644 index df49599..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-animated-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/scrollbars/custom-composited-different-track-parts-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/scrollbars/custom-composited-different-track-parts-expected.png deleted file mode 100644 index 2c7f7e5..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/scrollbars/custom-composited-different-track-parts-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/self-painting-layers-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/self-painting-layers-expected.png deleted file mode 100644 index cd3c05da..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/self-painting-layers-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/shadows/shadow-drawing-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/shadows/shadow-drawing-expected.png deleted file mode 100644 index 1a1d0fc..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/shadows/shadow-drawing-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/squashing/selection-repaint-with-gaps-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/squashing/selection-repaint-with-gaps-expected.txt deleted file mode 100644 index ac59b00a..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/squashing/selection-repaint-with-gaps-expected.txt +++ /dev/null
@@ -1,135 +0,0 @@ -lorem ipsumlorem ipsumlorem ipsum -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "Squashing Containment Layer", - "shouldFlattenTransform": false - }, - { - "name": "LayoutBlockFlow DIV class='overlap'", - "position": [8, 8], - "bounds": [300, 500] - }, - { - "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (positioned) DIV class='item')", - "position": [15, 35], - "bounds": [100, 210], - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [0, 80, 38, 39], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='item1' class='item'", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV class='inline-block'", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'lorem'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'ipsum'", - "reason": "geometry" - } - ] -} -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "Squashing Containment Layer", - "shouldFlattenTransform": false - }, - { - "name": "LayoutBlockFlow DIV class='overlap'", - "position": [8, 8], - "bounds": [300, 500] - }, - { - "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (positioned) DIV class='item')", - "position": [15, 35], - "bounds": [100, 210], - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [0, 80, 39, 39], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [0, 160, 38, 39], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='item1' class='item'", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV class='inline-block'", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'lorem'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'ipsum'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='item2' class='item'", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV class='inline-block'", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'lorem'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'ipsum'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/squashing/squashing-print-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/squashing/squashing-print-expected.png deleted file mode 100644 index 56b0d96..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/squashing/squashing-print-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/text-on-scaled-surface-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/text-on-scaled-surface-expected.png new file mode 100644 index 0000000..7dad5c3 --- /dev/null +++ b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/text-on-scaled-surface-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/video-frame-size-change-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/video-frame-size-change-expected.txt deleted file mode 100644 index 8cda59d..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/video-frame-size-change-expected.txt +++ /dev/null
@@ -1,26 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x245 - LayoutBlockFlow {HTML} at (0,0) size 800x245 - LayoutBlockFlow {BODY} at (8,16) size 784x221 - LayoutBlockFlow {P} at (0,0) size 784x20 - LayoutText {#text} at (0,0) size 457x19 - text run at (0,0) width 457: "Tests decoding and rendering a video element that has a changing resolution." - LayoutBlockFlow (anonymous) at (0,36) size 784x185 - LayoutText {#text} at (320,165) size 4x19 - text run at (320,165) width 4: " " - LayoutText {#text} at (0,0) size 0x0 -layer at (8,52) size 320x180 - LayoutVideo {VIDEO} at (0,0) size 320x180 -layer at (332,52) size 320x180 - LayoutVideo {VIDEO} at (324,0) size 320x180 -layer at (8,52) size 320x180 - LayoutFlexibleBox (relative positioned) {DIV} at (0,0) size 320x180 - LayoutBlockFlow {DIV} at (0,148) size 320x32 -layer at (8,52) size 320x138 - LayoutFlexibleBox (relative positioned) {DIV} at (0,0) size 320x138 -layer at (332,52) size 320x180 - LayoutFlexibleBox (relative positioned) {DIV} at (0,0) size 320x180 - LayoutBlockFlow {DIV} at (0,148) size 320x32 -layer at (332,52) size 320x138 - LayoutFlexibleBox (relative positioned) {DIV} at (0,0) size 320x138
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/visibility/visibility-simple-video-layer-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/visibility/visibility-simple-video-layer-expected.png deleted file mode 100644 index c40738eb..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/visibility/visibility-simple-video-layer-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/webgl/webgl-nonpremultiplied-blend-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/webgl/webgl-nonpremultiplied-blend-expected.txt deleted file mode 100644 index b4a2a21..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/compositing/webgl/webgl-nonpremultiplied-blend-expected.txt +++ /dev/null
@@ -1,12 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x261 - LayoutBlockFlow {HTML} at (0,0) size 800x261 - LayoutBlockFlow {BODY} at (8,8) size 784x245 - LayoutText {#text} at (240,225) size 4x19 - text run at (240,225) width 4: " " - LayoutText {#text} at (0,0) size 0x0 -layer at (28,28) size 200x200 - LayoutHTMLCanvas {CANVAS} at (20,20) size 200x200 [bgcolor=#00008000] -layer at (272,28) size 200x200 - LayoutHTMLCanvas {CANVAS} at (264,20) size 200x200 [bgcolor=#00008000]
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/clipath/clip-path-with-background-and-box-behind-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/clipath/clip-path-with-background-and-box-behind-expected.png deleted file mode 100644 index dbc6b93..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/clipath/clip-path-with-background-and-box-behind-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/clipath/clip-path-with-background-and-box-behind-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/clipath/clip-path-with-background-and-box-behind-expected.txt deleted file mode 100644 index 0dce973..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/clipath/clip-path-with-background-and-box-behind-expected.txt +++ /dev/null
@@ -1,13 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x171 - LayoutBlockFlow {HTML} at (0,0) size 800x171 - LayoutBlockFlow {BODY} at (8,8) size 784x155 - LayoutSVGRoot {svg} at (0,0) size 300x150 - LayoutSVGResourceClipper {clipPath} [id="equitri"] [clipPathUnits=objectBoundingBox] - LayoutSVGPath {polygon} at (0,0) size 1x0.86 [fill={[type=SOLID] [color=#000000]}] [points="0.5 0 0 0.86 1 0.86 0.5 0"] - LayoutText {#text} at (0,0) size 0x0 -layer at (8,8) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (8,8) size 100x100 [bgcolor=#008000] -layer at (8,8) size 100x100 - LayoutBlockFlow (relative positioned) {DIV} at (0,0) size 100x100 [bgcolor=#FF0000]
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/4776765-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/4776765-expected.png deleted file mode 100644 index 34d0c0c..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/4776765-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/4776765-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/4776765-expected.txt deleted file mode 100644 index 21f8ac6..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/4776765-expected.txt +++ /dev/null
@@ -1,58 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [7, 43, 786, 62], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='div'", - "rect": [8, 84, 784, 20], - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow DIV id='div'", - "rect": [8, 64, 1, 19], - "reason": "caret" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutBlockFlow DIV id='div'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutBR BR", - "reason": "appeared" - }, - { - "object": "InlineTextBox '\n'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/abspos-shift-image-incorrect-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/abspos-shift-image-incorrect-repaint-expected.txt deleted file mode 100644 index f9024cd..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/abspos-shift-image-incorrect-repaint-expected.txt +++ /dev/null
@@ -1,136 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [1250, 585], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='shiftMe'", - "rect": [0, 0, 1500, 237], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='shiftMe'", - "rect": [-250, 0, 1500, 237], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='imageWrapper'", - "rect": [704, 0, 700, 237], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='imageWrapper'", - "rect": [454, 0, 700, 237], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='imageWrapper'", - "rect": [0, 0, 700, 237], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='imageWrapper'", - "rect": [-250, 0, 700, 237], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [1250, 0, 250, 585], - "reason": "incremental" - }, - { - "object": "LayoutImage IMG", - "rect": [704, 0, 214, 232], - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "rect": [454, 0, 214, 232], - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "rect": [0, 0, 214, 232], - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "rect": [-250, 0, 214, 232], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [700, 217, 4, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [450, 217, 4, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='shiftMe'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='imageWrapper'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='imageWrapper'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/background-image-paint-invalidation-large-abspos-div-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/background-image-paint-invalidation-large-abspos-div-expected.png deleted file mode 100644 index 03c93a3..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/background-image-paint-invalidation-large-abspos-div-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/background-image-paint-invalidation-large-abspos-div-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/background-image-paint-invalidation-large-abspos-div-expected.txt deleted file mode 100644 index c6943ad9..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/background-image-paint-invalidation-large-abspos-div-expected.txt +++ /dev/null
@@ -1,10 +0,0 @@ -layer at (0,0) size 800x600 clip at (0,0) size 785x600 scrollY 3000.00 scrollHeight 4008 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 785x558 - LayoutBlockFlow {HTML} at (0,0) size 785x558 - LayoutBlockFlow {BODY} at (8,8) size 769x542 - LayoutImage {IMG} at (0,0) size 489x537 - LayoutText {#text} at (0,0) size 0x0 -layer at (8,8) size 100x4000 backgroundClip at (0,0) size 785x600 clip at (0,0) size 785x600 - LayoutBlockFlow (positioned) {DIV} at (8,8) size 100x4000 -scrolled to 0,3000
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/backgroundSizeRepaint-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/backgroundSizeRepaint-expected.txt deleted file mode 100644 index 50e7ed17..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/backgroundSizeRepaint-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [19, 319, 200, 60], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [19, 157, 200, 60], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='b'", - "rect": [29, 359, 180, 20], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='a'", - "rect": [29, 197, 180, 20], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='a'", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='b'", - "reason": "incremental" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/block-layout-inline-children-float-positioned-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/block-layout-inline-children-float-positioned-expected.txt deleted file mode 100644 index 9500ea47..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/block-layout-inline-children-float-positioned-expected.txt +++ /dev/null
@@ -1,67 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) SPAN", - "rect": [162, 37, 278, 20], - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "rect": [162, 37, 278, 19], - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow (floating) SPAN", - "rect": [324, 37, 277, 20], - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "rect": [324, 37, 277, 19], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) SPAN", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'the quick brown fox jumped over the lazy dog'", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow (positioned) SPAN", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'the quick brown fox jumped over the lazy dog'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/block-no-inflow-children-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/block-no-inflow-children-expected.txt deleted file mode 100644 index e7d4848..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/block-no-inflow-children-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [0, 0, 58, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [0, 0, 58, 19], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'La la la la'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/block-selection-gap-stale-cache-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/block-selection-gap-stale-cache-expected.txt deleted file mode 100644 index dd2559c..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/block-selection-gap-stale-cache-expected.txt +++ /dev/null
@@ -1,11 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -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 784x100 - LayoutBlockFlow {DIV} at (0,0) size 100x100 - LayoutBR {BR} at (100,100) size 0x0 - LayoutBlockFlow (anonymous) at (0,100) size 784x20 - LayoutText {#text} at (0,0) size 4x19 - text run at (0,0) width 4: " "
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/body-background-image-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/body-background-image-expected.txt deleted file mode 100644 index 5fecb3b..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/body-background-image-expected.txt +++ /dev/null
@@ -1,34 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#FFFFFF", - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [0, 0, 800, 600], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [8, 240, 784, 288], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/border-radius-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/border-radius-repaint-expected.txt deleted file mode 100644 index fadd8e7..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/border-radius-repaint-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [19, 245, 200, 88], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [19, 83, 200, 88], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='b'", - "rect": [33, 299, 172, 20], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='a'", - "rect": [33, 137, 172, 20], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='a'", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='b'", - "reason": "incremental" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/border-repaint-glitch-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/border-repaint-glitch-expected.txt deleted file mode 100644 index a42e135..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/border-repaint-glitch-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [19, 413, 200, 24], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [19, 251, 200, 24], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='b'", - "rect": [33, 403, 172, 20], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='a'", - "rect": [33, 241, 172, 20], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='a'", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='b'", - "reason": "incremental" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/box-inline-resize-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/box-inline-resize-expected.txt deleted file mode 100644 index 0055b5f0..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/box-inline-resize-expected.txt +++ /dev/null
@@ -1,73 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow H2", - "rect": [40, 107, 111, 28], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [40, 107, 111, 28], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow H2", - "rect": [8, 107, 111, 28], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 107, 111, 28], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 88, 32, 67], - "reason": "geometry" - }, - { - "object": "LayoutImage IMG id='foo'", - "rect": [8, 88, 32, 32], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutImage IMG id='foo'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow H2", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Chromium'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/box-shadow-dynamic-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/box-shadow-dynamic-expected.txt deleted file mode 100644 index fcbda12..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/box-shadow-dynamic-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [18, 72, 55, 75], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [18, 192, 55, 55], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/bugzilla-3509-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/bugzilla-3509-expected.txt deleted file mode 100644 index b7bb3fd..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/bugzilla-3509-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='im'", - "rect": [11, 131, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [11, 131, 4, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='im'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u00A0'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/bugzilla-5699-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/bugzilla-5699-expected.txt deleted file mode 100644 index 8cb3e45..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/bugzilla-5699-expected.txt +++ /dev/null
@@ -1,93 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow P", - "rect": [8, 136, 784, 68], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 184, 32, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 156, 32, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='d'", - "rect": [8, 150, 4, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 150, 4, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 136, 4, 19], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='d'", - "reason": "style change" - }, - { - "object": "InlineFlowBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox '\u00A0'", - "reason": "style change" - }, - { - "object": "LayoutBR BR", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Hello'", - "reason": "geometry" - }, - { - "object": "LayoutBR BR", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/bugzilla-6278-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/bugzilla-6278-expected.txt deleted file mode 100644 index b777bb7..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/bugzilla-6278-expected.txt +++ /dev/null
@@ -1,120 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [10, 138, 292, 160], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [10, 303, 292, 50], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [10, 138, 289, 159], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [10, 138, 242, 180], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [10, 323, 242, 50], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD id='col1'", - "rect": [10, 353, 242, 20], - "reason": "incremental" - }, - { - "object": "LayoutText #text", - "rect": [10, 138, 239, 179], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD id='target'", - "rect": [254, 138, 52, 235], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD id='col1'", - "rect": [252, 138, 50, 215], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableCell TD id='col1'", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Curabitur pretium, quam quis semper'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'malesuada, est libero feugiat libero, vel'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'fringilla orci nibh sed neque. Quisque eu'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'nulla non nisi molestie accumsan. Etiam'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'tellus urna, laoreet ac, laoreet non,'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'suscipit sed, sapien. Phasellus vehicula,'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'sem at posuere vehicula, augue nibh'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'molestie nisl, nec ullamcorper lacus ante'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'vulputate pede.'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD id='target'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/bugzilla-6388-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/bugzilla-6388-expected.txt deleted file mode 100644 index 9d86ba8..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/bugzilla-6388-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV", - "rect": [8, 136, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 136, 100, 100], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "disappeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/bugzilla-6473-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/bugzilla-6473-expected.txt deleted file mode 100644 index 3f348d5..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/bugzilla-6473-expected.txt +++ /dev/null
@@ -1,60 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='allcontent'", - "rect": [8, 136, 784, 52], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (relative positioned) P", - "rect": [8, 152, 784, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) P", - "rect": [8, 136, 784, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 152, 69, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 136, 69, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='allcontent'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (relative positioned) P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'SUCCESS'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/bugzilla-7235-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/bugzilla-7235-expected.png deleted file mode 100644 index 4129c1e..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/bugzilla-7235-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/bugzilla-7235-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/bugzilla-7235-expected.txt deleted file mode 100644 index 805268d..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/bugzilla-7235-expected.txt +++ /dev/null
@@ -1,63 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 156, 784, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='t'", - "rect": [8, 176, 100, 100], - "reason": "appeared" - }, - { - "object": "LayoutInline (relative positioned) SPAN id='p'", - "rect": [8, 156, 4, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 156, 4, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline (relative positioned) SPAN id='p'", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u00A0'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='t'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/canvas-composite-repaint-by-all-imagesource-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/canvas-composite-repaint-by-all-imagesource-expected.txt deleted file mode 100644 index 911d579b..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/canvas-composite-repaint-by-all-imagesource-expected.txt +++ /dev/null
@@ -1,433 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 933], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#FFFFFF", - "paintInvalidations": [ - { - "object": "LayoutHTMLCanvas CANVAS id='copyvideo'", - "rect": [569, 515, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-atopvideo'", - "rect": [569, 415, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-invideo'", - "rect": [569, 315, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-outvideo'", - "rect": [569, 165, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-invideo'", - "rect": [569, 115, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='copycanvas'", - "rect": [427, 515, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-atopcanvas'", - "rect": [427, 415, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-incanvas'", - "rect": [427, 315, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-outcanvas'", - "rect": [427, 165, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-incanvas'", - "rect": [427, 115, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='copyimage'", - "rect": [285, 515, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-atopimage'", - "rect": [285, 415, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-inimage'", - "rect": [285, 315, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-outimage'", - "rect": [285, 165, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-inimage'", - "rect": [285, 115, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='copysolid color'", - "rect": [143, 515, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-atopsolid color'", - "rect": [143, 415, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-insolid color'", - "rect": [143, 315, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-outsolid color'", - "rect": [143, 165, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-insolid color'", - "rect": [143, 115, 80, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='xorvideo'", - "rect": [599, 565, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='lightervideo'", - "rect": [599, 465, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-outvideo'", - "rect": [599, 365, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-overvideo'", - "rect": [599, 265, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-atopvideo'", - "rect": [599, 215, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-overvideo'", - "rect": [599, 65, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='xorcanvas'", - "rect": [457, 565, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='lightercanvas'", - "rect": [457, 465, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-outcanvas'", - "rect": [457, 365, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-overcanvas'", - "rect": [457, 265, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-atopcanvas'", - "rect": [457, 215, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-overcanvas'", - "rect": [457, 65, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='xorimage'", - "rect": [315, 565, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='lighterimage'", - "rect": [315, 465, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-outimage'", - "rect": [315, 365, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-overimage'", - "rect": [315, 265, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-atopimage'", - "rect": [315, 215, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-overimage'", - "rect": [315, 65, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='xorsolid color'", - "rect": [173, 565, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='lightersolid color'", - "rect": [173, 465, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-outsolid color'", - "rect": [173, 365, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-oversolid color'", - "rect": [173, 265, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-atopsolid color'", - "rect": [173, 215, 50, 40], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-oversolid color'", - "rect": [173, 65, 50, 40], - "reason": "invalidate paint rectangle" - } - ] - }, - { - "name": "LayoutVideo VIDEO id='video'", - "position": [15, 859], - "bounds": [150, 60] - }, - { - "name": "Squashing Containment Layer", - "shouldFlattenTransform": false - }, - { - "name": "LayoutFlexibleBox (relative positioned) DIV", - "position": [15, 859], - "bounds": [150, 60], - "drawsContent": true - }, - { - "name": "Squashing Layer (first squashed layer: LayoutFlexibleBox (relative positioned) DIV)", - "position": [15, 859], - "bounds": [150, 18], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutHTMLCanvas CANVAS id='source-oversolid color'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-overimage'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-overcanvas'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-overvideo'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-insolid color'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-inimage'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-incanvas'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-invideo'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-outsolid color'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-outimage'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-outcanvas'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-outvideo'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-atopsolid color'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-atopimage'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-atopcanvas'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='source-atopvideo'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-oversolid color'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-overimage'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-overcanvas'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-overvideo'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-insolid color'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-inimage'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-incanvas'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-invideo'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-outsolid color'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-outimage'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-outcanvas'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-outvideo'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-atopsolid color'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-atopimage'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-atopcanvas'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='destination-atopvideo'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='lightersolid color'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='lighterimage'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='lightercanvas'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='lightervideo'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='copysolid color'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='copyimage'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='copycanvas'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='copyvideo'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='xorsolid color'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='xorimage'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='xorcanvas'", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutHTMLCanvas CANVAS id='xorvideo'", - "reason": "invalidate paint rectangle" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/canvas-resize-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/canvas-resize-expected.png deleted file mode 100644 index c2f7dbc..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/canvas-resize-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/canvas-resize-no-full-invalidation-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/canvas-resize-no-full-invalidation-expected.png deleted file mode 100644 index 029122fd..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/canvas-resize-no-full-invalidation-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-contenteditable-content-after-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-contenteditable-content-after-expected.png deleted file mode 100644 index 6594da91..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-contenteditable-content-after-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-contenteditable-content-after-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-contenteditable-content-after-expected.txt deleted file mode 100644 index 1d5bf0d0..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-contenteditable-content-after-expected.txt +++ /dev/null
@@ -1,176 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='editor'", - "rect": [7, 47, 786, 22], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV id='editor'", - "rect": [7, 47, 786, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='editor'", - "rect": [7, 47, 786, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='editor'", - "rect": [7, 47, 786, 22], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 48, 22, 19], - "reason": "full" - }, - { - "object": "LayoutText #text", - "rect": [8, 48, 15, 19], - "reason": "full" - }, - { - "object": "LayoutTextFragment (anonymous)", - "rect": [30, 48, 7, 19], - "reason": "geometry" - }, - { - "object": "LayoutTextFragment (anonymous)", - "rect": [23, 48, 7, 19], - "reason": "geometry" - }, - { - "object": "LayoutTextFragment (anonymous)", - "rect": [23, 48, 7, 19], - "reason": "geometry" - }, - { - "object": "LayoutTextFragment (anonymous)", - "rect": [15, 48, 7, 19], - "reason": "geometry" - }, - { - "object": "LayoutTextFragment (anonymous)", - "rect": [15, 48, 7, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 48, 7, 19], - "reason": "appeared" - }, - { - "object": "LayoutTextFragment (anonymous)", - "rect": [8, 48, 7, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='editor'", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutBlockFlow DIV id='editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'a'", - "reason": "appeared" - }, - { - "object": "LayoutTextFragment (anonymous)", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'ab'", - "reason": "full" - }, - { - "object": "LayoutTextFragment (anonymous)", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'abc'", - "reason": "full" - }, - { - "object": "LayoutTextFragment (anonymous)", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.png deleted file mode 100644 index a4f4f4b..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.txt deleted file mode 100644 index 9ec59101..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-invalidation-in-overflow-scroll-expected.txt +++ /dev/null
@@ -1,29 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [381, 11, 1, 16], - "reason": "caret" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [378, 11, 1, 16], - "reason": "caret" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "Caret", - "reason": "caret" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-outside-block-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-outside-block-expected.txt deleted file mode 100644 index b8644c03..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-outside-block-expected.txt +++ /dev/null
@@ -1,24 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [791, 8, 1, 19], - "reason": "caret" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "Caret", - "reason": "caret" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-subpixel-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-subpixel-expected.txt deleted file mode 100644 index ea861c1f..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-subpixel-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='target'", - "rect": [8, 8, 224, 22], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [10, 11, 201, 16], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='target'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "subtree" - }, - { - "object": "Caret", - "reason": "caret" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-with-composited-scroll-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-with-composited-scroll-expected.png deleted file mode 100644 index d76702a..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-with-composited-scroll-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-with-composited-scroll-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-with-composited-scroll-expected.txt deleted file mode 100644 index d341afd0..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-with-composited-scroll-expected.txt +++ /dev/null
@@ -1,70 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutBlockFlow DIV id='scroller'", - "position": [8, 48], - "bounds": [100, 100], - "shouldFlattenTransform": false, - "drawsContent": true - }, - { - "name": "Scrolling Layer", - "bounds": [100, 100], - "shouldFlattenTransform": false - }, - { - "name": "Scrolling Contents Layer", - "bounds": [205, 1022], - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='text'", - "rect": [-1, 999, 207, 24], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [3, 1003, 200, 16], - "reason": "subtree" - } - ] - }, - { - "name": "Overflow Controls Host Layer", - "bounds": [100, 100] - }, - { - "name": "Horizontal Scrollbar Layer", - "position": [0, 100], - "bounds": [100, 0], - "drawsContent": true - }, - { - "name": "Vertical Scrollbar Layer", - "position": [100, 0], - "bounds": [0, 100], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='text'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "subtree" - }, - { - "object": "Caret", - "reason": "caret" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-with-transformation-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-with-transformation-expected.png deleted file mode 100644 index 5c754c5..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-with-transformation-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-with-transformation-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-with-transformation-expected.txt deleted file mode 100644 index 5530feac..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/caret-with-transformation-expected.txt +++ /dev/null
@@ -1,29 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='div'", - "rect": [42, 36, 11, 18], - "reason": "caret" - }, - { - "object": "LayoutBlockFlow DIV id='div'", - "rect": [324, 199, 11, 17], - "reason": "caret" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "Caret", - "reason": "caret" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/change-text-content-and-background-color-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/change-text-content-and-background-color-expected.txt deleted file mode 100644 index 10ad675..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/change-text-content-and-background-color-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTextControl (positioned) INPUT id='input'", - "rect": [8, 8, 244, 68], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [30, 30, 200, 24], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [30, 30, 45, 24], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTextControl (positioned) INPUT id='input'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'NEW'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/clip-with-layout-delta-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/clip-with-layout-delta-expected.txt deleted file mode 100644 index 08f31ad31..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/clip-with-layout-delta-expected.txt +++ /dev/null
@@ -1,85 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) DIV", - "rect": [108, 8, 100, 100], - "reason": "background" - }, - { - "object": "LayoutBlockFlow SPAN id='t2' class='blue'", - "rect": [108, 8, 100, 100], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 8, 100, 100], - "reason": "background" - }, - { - "object": "LayoutBlockFlow SPAN id='t1'", - "rect": [8, 8, 100, 100], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [108, 8, 4, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 8, 4, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "reason": "background" - }, - { - "object": "LayoutBlockFlow SPAN id='t1'", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u00A0'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV", - "reason": "background" - }, - { - "object": "LayoutBlockFlow SPAN id='t2' class='blue'", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u00A0'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/clipped-relative-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/clipped-relative-expected.txt deleted file mode 100644 index f2edf81..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/clipped-relative-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='inner'", - "rect": [8, 74, 204, 232], - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "rect": [8, 74, 204, 232], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='inner'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/column-rules-fixed-height-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/column-rules-fixed-height-expected.png deleted file mode 100644 index 6ac4dc6..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/column-rules-fixed-height-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/column-rules-fixed-height-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/column-rules-fixed-height-expected.txt deleted file mode 100644 index ed77b09..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/column-rules-fixed-height-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutMultiColumnSet (anonymous)", - "rect": [8, 52, 525, 315], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [8, 52, 310, 315], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "style change" - }, - { - "object": "LayoutMultiColumnSet (anonymous)", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.png deleted file mode 100644 index 94c5e0bd..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt deleted file mode 100644 index 7a21c5a..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/composited-table-row-expected.txt +++ /dev/null
@@ -1,36 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTableRow TR", - "position": [8, 8], - "transformOrigin": [34.5, 11.5], - "bounds": [70, 24], - "drawsContent": true, - "backgroundColor": "#FF0000", - "paintInvalidations": [ - { - "object": "LayoutTableCell TD id='target'", - "rect": [0, 0, 35, 23], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableCell TD id='target'", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/compositing/become-overlay-composited-layer-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/compositing/become-overlay-composited-layer-expected.png deleted file mode 100644 index 66b89ff..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/compositing/become-overlay-composited-layer-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/compositing/fixed-pos-with-abs-pos-child-scroll-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/compositing/fixed-pos-with-abs-pos-child-scroll-expected.txt deleted file mode 100644 index 2c1913c..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/compositing/fixed-pos-with-abs-pos-child-scroll-expected.txt +++ /dev/null
@@ -1,96 +0,0 @@ -Hi! -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 4021], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='abs'", - "rect": [425, 980, 360, 90], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='abs'", - "rect": [425, 980, 360, 90], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='abs'", - "rect": [425, 480, 360, 90], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='abs'", - "rect": [425, 480, 360, 90], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [425, 980, 19, 19], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [425, 980, 19, 19], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [425, 480, 19, 19], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [425, 480, 19, 19], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='fixed'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='abs'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Hi!'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='fixed'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='abs'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Hi!'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/compositing/iframe-inside-squashed-layer-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/compositing/iframe-inside-squashed-layer-expected.txt deleted file mode 100644 index 208e30d..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/compositing/iframe-inside-squashed-layer-expected.txt +++ /dev/null
@@ -1,86 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 1016], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "Squashing Containment Layer", - "shouldFlattenTransform": false - }, - { - "name": "LayoutBlockFlow DIV id='foo'", - "position": [8, 8], - "bounds": [200, 1000], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#D3D3D3" - }, - { - "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (positioned) DIV)", - "position": [8, 0], - "bounds": [300, 654], - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [0, 500, 300, 150], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [8, 508, 284, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [8, 508, 269, 142], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 508, 29, 19], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [285, 500, 15, 150], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'test1'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/compositing/newly-composited-on-scroll-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/compositing/newly-composited-on-scroll-expected.png deleted file mode 100644 index 70a05c2..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/compositing/newly-composited-on-scroll-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/compositing/newly-composited-on-scroll-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/compositing/newly-composited-on-scroll-expected.txt deleted file mode 100644 index 139597f9..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/compositing/newly-composited-on-scroll-expected.txt +++ /dev/null
@@ -1,2 +0,0 @@ - -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/compositing/remove-squashed-layer-plus-move-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/compositing/remove-squashed-layer-plus-move-expected.txt deleted file mode 100644 index 5c1b5b89c..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/compositing/remove-squashed-layer-plus-move-expected.txt +++ /dev/null
@@ -1,112 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [1418, 1008], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='container'", - "rect": [8, 8, 769, 110], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 118, 769, 55], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 63, 769, 55], - "reason": "geometry" - } - ] - }, - { - "name": "Squashing Containment Layer", - "shouldFlattenTransform": false - }, - { - "name": "LayoutBlockFlow (positioned) DIV", - "position": [8, 8], - "bounds": [1000, 1000] - }, - { - "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (relative positioned) DIV class='mv-tile')", - "position": [8, 8], - "bounds": [1000, 105], - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) DIV class='mv-tile'", - "rect": [0, 110, 1000, 50], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='mv-tile'", - "rect": [0, 55, 1000, 50], - "reason": "compositing update" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='mv-tile'", - "rect": [0, 55, 100, 50], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='mv-tile'", - "rect": [0, 0, 100, 50], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='foo' class='mv-tile'", - "rect": [0, 0, 100, 50], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) DIV id='foo' class='mv-tile'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='mv-tile'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='mv-tile'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='container'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='mv-tile'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='mv-tile'", - "reason": "compositing update" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/containing-block-position-change-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/containing-block-position-change-expected.txt deleted file mode 100644 index 56b33fc..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/containing-block-position-change-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV", - "rect": [158, 74, 50, 50], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) DIV", - "rect": [100, 74, 50, 50], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='t'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) DIV", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/control-clip-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/control-clip-expected.txt deleted file mode 100644 index d9652ff1..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/control-clip-expected.txt +++ /dev/null
@@ -1,67 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [9, 87, 198, 16], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [16, 117, 184, 16], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [76, 116, 64, 18], - "reason": "full" - }, - { - "object": "LayoutText (anonymous)", - "rect": [9, 87, 63, 16], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText (anonymous)", - "reason": "full" - }, - { - "object": "InlineTextBox 'SUCCESS'", - "reason": "full" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'SUCCESS'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/crbug-371640-2-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/crbug-371640-2-expected.txt deleted file mode 100644 index ac8de219..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/crbug-371640-2-expected.txt +++ /dev/null
@@ -1,62 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='keep' class='item'", - "rect": [348, 88, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='to_remove' class='item'", - "rect": [348, 88, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='keep' class='item'", - "rect": [88, 88, 100, 100], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='to_remove' class='item'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (relative positioned) (floating) DIV id='to_remove_inner' class='inner'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (floating) DIV id='node' class='outer'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (floating) DIV id='keep_outer' class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) (floating) DIV id='keep_inner' class='inner'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='abs_pos'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='keep' class='item'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/crbug-371640-3-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/crbug-371640-3-expected.txt deleted file mode 100644 index 785f0be5..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/crbug-371640-3-expected.txt +++ /dev/null
@@ -1,54 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='keep_child'", - "rect": [508, 208, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='remove_child'", - "rect": [508, 88, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='keep_child'", - "rect": [408, 208, 100, 100], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='remove_child'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (floating) DIV id='remove' class='outer'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (floating) DIV id='keep_outer' class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='keep_inner'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='abs_pos'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='keep_child'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/crbug-371640-4-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/crbug-371640-4-expected.txt deleted file mode 100644 index 0acc4ff..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/crbug-371640-4-expected.txt +++ /dev/null
@@ -1,85 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='keep' class='item'", - "rect": [408, 88, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='to_remove' class='item'", - "rect": [408, 88, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='keep' class='item'", - "rect": [208, 88, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [408, 88, 4, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [408, 88, 4, 19], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [208, 88, 4, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='to_remove' class='item'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (relative positioned) (floating) DIV id='to_remove_inner' class='inner'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (relative positioned) (floating) DIV id='node' class='outer'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='abs_pos'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) (floating) DIV id='keep_inner' class='inner'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='keep' class='item'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u00A0'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/crbug-371640-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/crbug-371640-expected.txt deleted file mode 100644 index 216235d..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/crbug-371640-expected.txt +++ /dev/null
@@ -1,89 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='keep' class='item'", - "rect": [348, 88, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='to_remove' class='item'", - "rect": [348, 88, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='keep' class='item'", - "rect": [88, 88, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [348, 88, 4, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [348, 88, 4, 19], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [88, 88, 4, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='to_remove' class='item'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (relative positioned) (floating) DIV id='to_remove_inner' class='inner'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (floating) DIV id='node' class='outer'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (floating) DIV id='keep_outer' class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) (floating) DIV id='keep_inner' class='inner'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='abs_pos'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='keep' class='item'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u00A0'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/create-layer-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/create-layer-repaint-expected.txt deleted file mode 100644 index 4c352c66..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/create-layer-repaint-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='test' class='stretchy'", - "rect": [28, 56, 500, 50], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='test' class='stretchy'", - "rect": [28, 56, 250, 50], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='test' class='stretchy'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='test' class='stretchy'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/delete-into-nested-block-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/delete-into-nested-block-expected.png deleted file mode 100644 index 5f2b794..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/delete-into-nested-block-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/delete-into-nested-block-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/delete-into-nested-block-expected.txt deleted file mode 100644 index a3fe3de..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/delete-into-nested-block-expected.txt +++ /dev/null
@@ -1,115 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='two'", - "rect": [8, 147, 784, 41], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 167, 784, 21], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 147, 784, 21], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='one'", - "rect": [8, 127, 784, 21], - "reason": "full" - }, - { - "object": "LayoutText #text", - "rect": [8, 167, 30, 20], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 127, 30, 20], - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 147, 27, 20], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 127, 26, 20], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='two'", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutInline SPAN", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='one'", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'three'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/details-open-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/details-open-repaint-expected.txt deleted file mode 100644 index 28dd4c89..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/details-open-repaint-expected.txt +++ /dev/null
@@ -1,67 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='details-content'", - "rect": [8, 72, 784, 22], - "reason": "appeared" - }, - { - "object": "LayoutTextControl INPUT", - "rect": [8, 72, 173, 22], - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [10, 75, 169, 16], - "reason": "appeared" - }, - { - "object": "LayoutDetailsMarker DIV id='details-marker'", - "rect": [8, 56, 11, 11], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutDetailsMarker DIV id='details-marker'", - "reason": "full" - }, - { - "object": "LayoutBlockFlow DIV id='details-content'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutTextControl INPUT", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "HorizontalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/dynamic-table-vertical-alignment-change-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/dynamic-table-vertical-alignment-change-expected.txt deleted file mode 100644 index df8e236..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/dynamic-table-vertical-alignment-change-expected.txt +++ /dev/null
@@ -1,64 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [808, 585], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCell TD", - "rect": [10, 77, 102, 99], - "reason": "incremental" - }, - { - "object": "LayoutTableCell TD", - "rect": [12, 74, 100, 102], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow (floating) DIV id='target'", - "rect": [11, 75, 100, 100], - "reason": "style change" - }, - { - "object": "LayoutTableCell TD", - "rect": [114, 74, 2, 102], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [14, 74, 2, 3], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableCell TD", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow (floating) DIV id='target'", - "reason": "style change" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/fixed-element-repaint-after-compositing-update-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/fixed-element-repaint-after-compositing-update-expected.txt deleted file mode 100644 index 2f1876c..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/fixed-element-repaint-after-compositing-update-expected.txt +++ /dev/null
@@ -1,29 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutBlockFlow (positioned) DIV id='fixedTransformed'", - "position": [8, 88], - "contentsOpaque": true - }, - { - "name": "LayoutBlockFlow (positioned) DIV id='fixedOverlapping'", - "position": [8, 88], - "bounds": [800, 600] - }, - { - "name": "LayoutBlockFlow (positioned) DIV id='moveMe'", - "position": [150, 150], - "bounds": [100, 100], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#008000" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/fixed-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/fixed-expected.png deleted file mode 100644 index 054f8ce..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/fixed-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/fixed-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/fixed-expected.txt deleted file mode 100644 index 0bfeedd1..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/fixed-expected.txt +++ /dev/null
@@ -1,24 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 2016], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='t'", - "rect": [8, 84, 100, 100], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='t'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-expected.txt deleted file mode 100644 index 8f038da8..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/flexbox/repaint-expected.txt +++ /dev/null
@@ -1,155 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='content'", - "rect": [138, 128, 654, 100], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow P", - "rect": [138, 128, 654, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [138, 128, 651, 99], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='content'", - "rect": [148, 128, 644, 100], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow P", - "rect": [148, 128, 644, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [148, 128, 640, 99], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='content'", - "rect": [400, 128, 392, 160], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow P", - "rect": [400, 128, 392, 160], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='left'", - "rect": [8, 228, 392, 60], - "reason": "incremental" - }, - { - "object": "LayoutText #text", - "rect": [400, 128, 389, 159], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='left'", - "rect": [148, 128, 252, 160], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='left'", - "rect": [138, 128, 10, 100], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='left'", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='content'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean laoreet dolor id urna eleifend aliquet. Nulla'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'vel dolor ipsum. Aliquam ut turpis nisl, in vulputate sapien. Cum sociis natoque penatibus et magnis dis'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'parturient montes, nascetur ridiculus mus. Sed congue magna vitae dolor feugiat vehicula. Sed volutpat,'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'tellus vel varius vestibulum, purus quam mollis sapien, in condimentum leo neque sed nulla. Nunc quis porta'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'elit. Pellentesque erat lectus, ultricies a lobortis id, faucibus id quam.'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='left'", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='content'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean laoreet dolor id urna eleifend aliquet. Nulla'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'vel dolor ipsum. Aliquam ut turpis nisl, in vulputate sapien. Cum sociis natoque penatibus et magnis dis'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'parturient montes, nascetur ridiculus mus. Sed congue magna vitae dolor feugiat vehicula. Sed volutpat, tellus'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'vel varius vestibulum, purus quam mollis sapien, in condimentum leo neque sed nulla. Nunc quis porta elit.'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Pellentesque erat lectus, ultricies a lobortis id, faucibus id quam.'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/flexbox/scrollbars-changed-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/flexbox/scrollbars-changed-expected.txt deleted file mode 100644 index 758723d2..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/flexbox/scrollbars-changed-expected.txt +++ /dev/null
@@ -1,59 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='dynamic' class='content'", - "rect": [0, 0, 185, 30], - "reason": "full" - }, - { - "object": "LayoutBlockFlow DIV id='scroller'", - "rect": [185, 0, 15, 100], - "reason": "scroll control" - }, - { - "object": "LayoutText #text", - "rect": [0, 5, 15, 15], - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "rect": [0, 5, 15, 15], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow DIV id='dynamic' class='content'", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'z'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-expected.png deleted file mode 100644 index 32c3ebd..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-expected.txt deleted file mode 100644 index cd7a020..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-expected.txt +++ /dev/null
@@ -1,43 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x552 - LayoutBlockFlow {P} at (0,0) size 784x40 - LayoutText {#text} at (0,0) size 215x19 - text run at (0,0) width 215: "This is a test for regressions against " - LayoutInline {I} at (0,0) size 756x39 - LayoutInline {A} at (0,0) size 350x19 [color=#0000EE] - LayoutText {#text} at (215,0) size 350x19 - text run at (215,0) width 350: "http://bugzilla.opendarwin.org/show_bug.cgi?id=8056" - LayoutText {#text} at (564,0) size 756x39 - text run at (564,0) width 5: " " - text run at (568,0) width 188: "Flexible boxes do not repaint" - text run at (0,20) width 244: "their top, left and children's overflows" - LayoutText {#text} at (243,20) size 5x19 - text run at (243,20) width 5: "." - LayoutBlockFlow {DIV} at (0,66) size 784x100 - LayoutDeprecatedFlexibleBox {DIV} at (10,10) size 80x80 [bgcolor=#FFFF00] - LayoutBlockFlow {DIV} at (-10,-10) size 100x100 [border: (1px solid #000000)] - LayoutText {#text} at (1,1) size 169x19 - text run at (1,1) width 169: "Lorem ipsum dolor sit amet." - LayoutBlockFlow {DIV} at (0,186) size 784x100 - LayoutDeprecatedFlexibleBox {DIV} at (10,10) size 80x80 [bgcolor=#FFFF00] - LayoutBlockFlow {DIV} at (-10,-10) size 100x100 [border: (1px solid #000000)] - LayoutBlockFlow {DIV} at (0,306) size 784x100 - LayoutDeprecatedFlexibleBox {DIV} at (10,10) size 80x80 [bgcolor=#FFFF00] - LayoutBlockFlow {DIV} at (-10,-10) size 100x100 [border: (1px solid #000000)] - LayoutBlockFlow {DIV} at (0,426) size 784x100 - LayoutDeprecatedFlexibleBox {DIV} at (10,10) size 80x80 [bgcolor=#FFFF00] - LayoutBlockFlow {DIV} at (-10,-10) size 100x100 [border: (1px solid #000000)] - LayoutText {#text} at (1,1) size 94x159 - text run at (1,1) width 79: "Lorem ipsum" - text run at (1,21) width 86: "dolor sit amet," - text run at (1,41) width 76: "consectetuer" - text run at (1,61) width 84: "adipiscing elit." - text run at (1,81) width 92: "Etiam et ipsum." - text run at (1,101) width 30: "Nam" - text run at (1,121) width 94: "consectetuer mi" - text run at (1,141) width 57: "eget velit." -layer at (8,64) size 784x2 clip at (0,0) size 0x0 - LayoutBlockFlow {HR} at (0,56) size 784x2 [border: (1px inset #EEEEEE)]
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-horizontal-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-horizontal-expected.png deleted file mode 100644 index 32c3ebd..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-horizontal-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-horizontal-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-horizontal-expected.txt deleted file mode 100644 index cd7a020..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/flexible-box-overflow-horizontal-expected.txt +++ /dev/null
@@ -1,43 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x552 - LayoutBlockFlow {P} at (0,0) size 784x40 - LayoutText {#text} at (0,0) size 215x19 - text run at (0,0) width 215: "This is a test for regressions against " - LayoutInline {I} at (0,0) size 756x39 - LayoutInline {A} at (0,0) size 350x19 [color=#0000EE] - LayoutText {#text} at (215,0) size 350x19 - text run at (215,0) width 350: "http://bugzilla.opendarwin.org/show_bug.cgi?id=8056" - LayoutText {#text} at (564,0) size 756x39 - text run at (564,0) width 5: " " - text run at (568,0) width 188: "Flexible boxes do not repaint" - text run at (0,20) width 244: "their top, left and children's overflows" - LayoutText {#text} at (243,20) size 5x19 - text run at (243,20) width 5: "." - LayoutBlockFlow {DIV} at (0,66) size 784x100 - LayoutDeprecatedFlexibleBox {DIV} at (10,10) size 80x80 [bgcolor=#FFFF00] - LayoutBlockFlow {DIV} at (-10,-10) size 100x100 [border: (1px solid #000000)] - LayoutText {#text} at (1,1) size 169x19 - text run at (1,1) width 169: "Lorem ipsum dolor sit amet." - LayoutBlockFlow {DIV} at (0,186) size 784x100 - LayoutDeprecatedFlexibleBox {DIV} at (10,10) size 80x80 [bgcolor=#FFFF00] - LayoutBlockFlow {DIV} at (-10,-10) size 100x100 [border: (1px solid #000000)] - LayoutBlockFlow {DIV} at (0,306) size 784x100 - LayoutDeprecatedFlexibleBox {DIV} at (10,10) size 80x80 [bgcolor=#FFFF00] - LayoutBlockFlow {DIV} at (-10,-10) size 100x100 [border: (1px solid #000000)] - LayoutBlockFlow {DIV} at (0,426) size 784x100 - LayoutDeprecatedFlexibleBox {DIV} at (10,10) size 80x80 [bgcolor=#FFFF00] - LayoutBlockFlow {DIV} at (-10,-10) size 100x100 [border: (1px solid #000000)] - LayoutText {#text} at (1,1) size 94x159 - text run at (1,1) width 79: "Lorem ipsum" - text run at (1,21) width 86: "dolor sit amet," - text run at (1,41) width 76: "consectetuer" - text run at (1,61) width 84: "adipiscing elit." - text run at (1,81) width 92: "Etiam et ipsum." - text run at (1,101) width 30: "Nam" - text run at (1,121) width 94: "consectetuer mi" - text run at (1,141) width 57: "eget velit." -layer at (8,64) size 784x2 clip at (0,0) size 0x0 - LayoutBlockFlow {HR} at (0,56) size 784x2 [border: (1px inset #EEEEEE)]
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/float-move-during-layout-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/float-move-during-layout-expected.txt deleted file mode 100644 index 554e921..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/float-move-during-layout-expected.txt +++ /dev/null
@@ -1,29 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [8, 210, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [8, 110, 100, 100], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/float-overflow-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/float-overflow-expected.txt deleted file mode 100644 index cfdcccf..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/float-overflow-expected.txt +++ /dev/null
@@ -1,1273 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [11, 366, 778, 28], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [11, 360, 778, 28], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 537, 62, 37], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 531, 62, 37], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 498, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 492, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 459, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 453, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 420, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 414, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "rect": [61, 249, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "rect": [61, 243, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "rect": [61, 210, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "rect": [61, 204, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 171, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 165, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 132, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 126, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 93, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 87, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 54, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 48, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 15, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [61, 9, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [61, 366, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [61, 360, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [61, 327, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [61, 321, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [61, 288, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [61, 282, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 504, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 498, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 465, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 459, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 426, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 420, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 216, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 210, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 177, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 171, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 138, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 132, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 99, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 93, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 60, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 54, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 21, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 15, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [69, 374, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [69, 368, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [69, 335, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [69, 329, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [69, 296, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [69, 290, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [70, 375, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [70, 369, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [70, 336, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [70, 330, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [70, 297, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [70, 291, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [67, 138, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [67, 132, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [65, 60, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [65, 54, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [65, 21, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [65, 15, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 543, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 537, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 504, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 498, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 465, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 459, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 426, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 420, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 255, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 249, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 216, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 210, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 177, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 171, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 99, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [59, 93, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 543, 32, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 537, 32, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 255, 32, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [67, 249, 32, 10], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [66, 297, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [66, 291, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [63, 21, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [63, 15, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 543, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 537, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 504, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 498, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 465, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 459, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 426, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 420, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 255, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 249, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 216, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 210, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 177, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 171, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 138, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [59, 132, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [58, 375, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [58, 369, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [58, 336, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [58, 330, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [57, 99, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [57, 93, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [57, 60, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [57, 54, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [66, 298, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [66, 292, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [63, 22, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [63, 16, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 544, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 538, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 505, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 499, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 466, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 460, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 427, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 421, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 256, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 250, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 217, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 211, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 178, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 172, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 139, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [59, 133, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [58, 376, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [58, 370, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [58, 337, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [58, 331, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [57, 100, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [57, 94, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [57, 61, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [57, 55, 16, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/float-overflow-right-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/float-overflow-right-expected.txt deleted file mode 100644 index c4e5b5b..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/float-overflow-right-expected.txt +++ /dev/null
@@ -1,1273 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [11, 366, 778, 28], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [11, 360, 778, 28], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 537, 62, 37], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 531, 62, 37], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 498, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 492, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 459, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 453, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 420, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 414, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "rect": [677, 249, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "rect": [677, 243, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "rect": [677, 210, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "rect": [677, 204, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 171, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 165, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 132, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 126, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 93, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 87, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 54, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 48, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 15, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "rect": [677, 9, 62, 22], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [681, 366, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [681, 360, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [681, 327, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [681, 321, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [681, 288, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "rect": [681, 282, 58, 28], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 504, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 498, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 465, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 459, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 426, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 420, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 216, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 210, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 177, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 171, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 138, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 132, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 99, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 93, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 60, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 54, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 21, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [683, 15, 50, 10], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [689, 374, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [689, 368, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [689, 335, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [689, 329, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [689, 296, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [689, 290, 42, 12], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 543, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 537, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 504, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 498, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 465, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 459, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 426, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 420, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 255, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 249, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 216, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 210, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 177, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 171, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 99, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [701, 93, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [695, 60, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [695, 54, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [695, 21, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [695, 15, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [693, 138, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [693, 132, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [690, 375, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [690, 369, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [690, 336, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [690, 330, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [690, 297, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [690, 291, 40, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [701, 543, 32, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [701, 537, 32, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [701, 255, 32, 10], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [701, 249, 32, 10], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [727, 99, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [727, 93, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [727, 60, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [727, 54, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [726, 375, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [726, 369, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [726, 336, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [726, 330, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 543, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 537, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 504, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 498, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 465, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 459, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 426, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 420, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 255, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 249, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 216, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 210, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 177, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 171, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 138, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [725, 132, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [721, 21, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [721, 15, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [718, 297, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [718, 291, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [727, 100, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [727, 94, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [727, 61, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [727, 55, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [726, 376, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [726, 370, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [726, 337, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [726, 331, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 544, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 538, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 505, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 499, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 466, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 460, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 427, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 421, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 256, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 250, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 217, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 211, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 178, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 172, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 139, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [725, 133, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [721, 22, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [721, 16, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [718, 298, 16, 18], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [718, 292, 16, 18], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutDeprecatedFlexibleBox DIV class='outer box'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='outer'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/focus-continuations-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/focus-continuations-expected.txt deleted file mode 100644 index e3273ab..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/focus-continuations-expected.txt +++ /dev/null
@@ -1,36 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutInline SPAN id='outer'", - "rect": [7, 87, 85, 22], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='outer'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='outer'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/focus-enable-continuations-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/focus-enable-continuations-expected.png deleted file mode 100644 index 0c781fc..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/focus-enable-continuations-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/focus-enable-continuations-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/focus-enable-continuations-expected.txt deleted file mode 100644 index e3273ab..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/focus-enable-continuations-expected.txt +++ /dev/null
@@ -1,36 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutInline SPAN id='outer'", - "rect": [7, 87, 85, 22], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='outer'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='outer'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/focus-layers-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/focus-layers-expected.png deleted file mode 100644 index 29ee2cc..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/focus-layers-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/focus-ring-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/focus-ring-expected.png deleted file mode 100644 index 02e9d72..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/focus-ring-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/focus-ring-on-child-move-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/focus-ring-on-child-move-expected.txt deleted file mode 100644 index a1fc96f8..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/focus-ring-on-child-move-expected.txt +++ /dev/null
@@ -1,38 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV", - "rect": [99, 49, 302, 302], - "reason": "outline" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='child'", - "rect": [300, 50, 20, 300], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='child'", - "rect": [150, 50, 20, 300], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV", - "reason": "outline" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='child'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/focus-ring-on-continuation-move-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/focus-ring-on-continuation-move-expected.txt deleted file mode 100644 index 64e9bdf..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/focus-ring-on-continuation-move-expected.txt +++ /dev/null
@@ -1,43 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutInline SPAN", - "rect": [207, 231, 102, 102], - "reason": "outline" - }, - { - "object": "LayoutInline SPAN", - "rect": [7, 231, 102, 102], - "reason": "outline" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='block'", - "rect": [208, 232, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='block'", - "rect": [8, 232, 100, 100], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutInline SPAN", - "reason": "outline" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='block'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/focus-ring-on-inline-continuation-move-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/focus-ring-on-inline-continuation-move-expected.txt deleted file mode 100644 index 01ee39c..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/focus-ring-on-inline-continuation-move-expected.txt +++ /dev/null
@@ -1,64 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 8, 784, 105], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [7, 7, 102, 182], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "rect": [7, 7, 102, 182], - "reason": "outline" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='block'", - "rect": [8, 88, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='block'", - "rect": [8, 8, 100, 100], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutInline SPAN", - "reason": "outline" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='block'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.txt deleted file mode 100644 index 2e8299c..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutButton BUTTON", - "rect": [7, 7, 52, 24], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [16, 10, 34, 18], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [16, 11, 34, 16], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutButton BUTTON", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Reset'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/forms/checkbox-focus-by-mouse-then-keydown-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/forms/checkbox-focus-by-mouse-then-keydown-expected.png deleted file mode 100644 index 32d2deb..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/forms/checkbox-focus-by-mouse-then-keydown-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/forms/radio-focus-by-mouse-then-keydown-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/forms/radio-focus-by-mouse-then-keydown-expected.png deleted file mode 100644 index a873b21..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/forms/radio-focus-by-mouse-then-keydown-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/forms/range-focus-by-mouse-then-keydown-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/forms/range-focus-by-mouse-then-keydown-expected.png deleted file mode 100644 index 42f8191..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/forms/range-focus-by-mouse-then-keydown-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/forms/range-focus-by-mouse-then-keydown-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/forms/range-focus-by-mouse-then-keydown-expected.txt deleted file mode 100644 index 33de40d..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/forms/range-focus-by-mouse-then-keydown-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSlider INPUT", - "rect": [9, 9, 131, 23], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='track'", - "rect": [10, 10, 129, 21], - "reason": "subtree" - }, - { - "object": "LayoutFlexibleBox DIV", - "rect": [10, 10, 129, 21], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='thumb'", - "rect": [69, 10, 11, 21], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSlider INPUT", - "reason": "subtree" - }, - { - "object": "LayoutFlexibleBox DIV", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='track'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='thumb'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt deleted file mode 100644 index 3f9b0857..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/forms/submit-focus-by-mouse-then-keydown-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutButton INPUT", - "rect": [7, 7, 59, 24], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [16, 10, 41, 18], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [16, 11, 41, 16], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutButton INPUT", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Submit'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/gradients-em-stops-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/gradients-em-stops-repaint-expected.txt deleted file mode 100644 index f391b70..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/gradients-em-stops-repaint-expected.txt +++ /dev/null
@@ -1,68 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV class='em-units'", - "rect": [8, 8, 784, 147], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='box4' class='box'", - "rect": [344, 18, 302, 122], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV id='box3' class='box'", - "rect": [18, 18, 302, 122], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='indicator'", - "rect": [345, 19, 240, 20], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [330, 135, 4, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV class='em-units'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='box3' class='box'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='box4' class='box'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV class='indicator'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.png deleted file mode 100644 index 545f7127..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.txt deleted file mode 100644 index c6103ec..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.txt +++ /dev/null
@@ -1,46 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutIFrame IFRAME id='iframe'", - "rect": [8, 72, 732, 94], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow HTML", - "rect": [10, 74, 728, 90], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [18, 82, 712, 74], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutIFrame IFRAME id='iframe'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow HTML", - "reason": "disappeared" - }, - { - "object": "LayoutView #document", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.png deleted file mode 100644 index bcf3a560..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.txt deleted file mode 100644 index 31f7e7b3..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.txt +++ /dev/null
@@ -1,55 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutIFrame IFRAME id='iframe'", - "rect": [8, 72, 732, 94], - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow HTML", - "rect": [10, 74, 728, 90], - "reason": "appeared" - }, - { - "object": "LayoutView #document", - "rect": [10, 74, 728, 90], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [18, 82, 712, 74], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutIFrame IFRAME id='iframe'", - "reason": "appeared" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow HTML", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/in-scaled-iframe-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/in-scaled-iframe-expected.txt deleted file mode 100644 index 1ca05c1e..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/in-scaled-iframe-expected.txt +++ /dev/null
@@ -1,24 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 825], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='div'", - "rect": [209, 209, 100, 100], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='div'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-block-overflow-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-block-overflow-expected.png deleted file mode 100644 index 23e55b8dc..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-block-overflow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-block-overflow-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-block-overflow-expected.txt deleted file mode 100644 index a1ad30c7..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-block-overflow-expected.txt +++ /dev/null
@@ -1,19 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x584 - LayoutBlockFlow {P} at (0,0) size 784x20 - LayoutText {#text} at (0,0) size 302x19 - text run at (0,0) width 302: "This is a repaint test of inline blocks with overflow." - LayoutBlockFlow (anonymous) at (0,46) size 784x20 - LayoutInline {SPAN} at (0,0) size 195x19 - LayoutText {#text} at (0,0) size 95x19 - text run at (0,0) width 95: "Here comes an " - LayoutBlockFlow {SPAN} at (95,0) size 100x20 [bgcolor=#C0C0C0] - LayoutText {#text} at (0,0) size 97x39 - text run at (0,0) width 97: "inline block with" - text run at (0,20) width 56: "overflow." - LayoutText {#text} at (0,0) size 0x0 -layer at (8,44) size 784x2 clip at (0,0) size 0x0 - LayoutBlockFlow {HR} at (0,36) size 784x2 [border: (1px inset #EEEEEE)]
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-color-change-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-color-change-expected.txt deleted file mode 100644 index 8b3642e..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-color-change-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutInline SPAN id='target'", - "rect": [8, 72, 37, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 72, 37, 19], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutInline SPAN id='target'", - "reason": "style change" - }, - { - "object": "InlineFlowBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-focus-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-focus-expected.png deleted file mode 100644 index f0703530..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-focus-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-focus-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-focus-expected.txt deleted file mode 100644 index 9280eb67..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-focus-expected.txt +++ /dev/null
@@ -1,76 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow P", - "rect": [0, 36, 800, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [0, 0, 800, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [0, 36, 395, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline A id='link'", - "rect": [585, -1, 216, 234], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [0, 0, 37, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline A id='link'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Home'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'crbug.com/424078: ensure inline elements get their outline painted'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-2-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-2-expected.txt deleted file mode 100644 index ebacbef..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-2-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutInline SPAN", - "rect": [210, -5, 50, 20], - "reason": "outline" - }, - { - "object": "LayoutText #text", - "rect": [215, 0, 40, 10], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutInline SPAN", - "reason": "outline" - }, - { - "object": "InlineFlowBox", - "reason": "outline" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'Test'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-expected.png deleted file mode 100644 index 8bf77b7..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-expected.txt deleted file mode 100644 index f654178..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-outline-repaint-expected.txt +++ /dev/null
@@ -1,74 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 156, 100, 40], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='test'", - "rect": [5, 153, 92, 45], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 156, 86, 39], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutInline SPAN id='test'", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'Lorem ipsum'", - "reason": "full" - }, - { - "object": "InlineTextBox ' '", - "reason": "full" - }, - { - "object": "InlineTextBox 'dolor\u00A0'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-reflow-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-reflow-expected.txt deleted file mode 100644 index 887f07f..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/inline-reflow-expected.txt +++ /dev/null
@@ -1,113 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='div1' class='container'", - "rect": [0, 0, 300, 200], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [0, 0, 300, 200], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='div2' class='container'", - "rect": [0, 300, 300, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='div1' class='container'", - "rect": [0, 0, 200, 300], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [0, 0, 200, 300], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [0, 300, 180, 20], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='div1' class='container'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'A A A A A AA AA'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AA AA AAA AAA'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AAA AAAA AAAA'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AAAAA AAAAA'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AAAAAA AAAAAAA'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AAAAAA AAAAA'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AAAAA AAAA AAAA'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AAA AAA AAA AA'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AA AA AA A A A'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'A A'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='div2' class='container'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'A A A A A'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/invalidate-after-composited-scroll-of-window-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/invalidate-after-composited-scroll-of-window-expected.txt deleted file mode 100644 index 7342bca..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/invalidate-after-composited-scroll-of-window-expected.txt +++ /dev/null
@@ -1,24 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 4936], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [8, 2408, 100, 100], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/invalidate-box-shadow-currentColor-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/invalidate-box-shadow-currentColor-expected.txt deleted file mode 100644 index 32c822d..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/invalidate-box-shadow-currentColor-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutInline SPAN id='target'", - "rect": [8, 8, 26, 24], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 8, 26, 19], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutInline SPAN id='target'", - "reason": "style change" - }, - { - "object": "InlineFlowBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'Text'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-before-text-node-update-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-before-text-node-update-expected.png deleted file mode 100644 index 0fb345c..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-before-text-node-update-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-before-text-node-update-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-before-text-node-update-expected.txt deleted file mode 100644 index 5d7596e..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-before-text-node-update-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='root' class='editing'", - "rect": [7, 7, 786, 20], - "reason": "full" - }, - { - "object": "LayoutText #text", - "rect": [8, 8, 10, 18], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='root' class='editing'", - "reason": "full" - }, - { - "object": "Caret", - "reason": "caret" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt deleted file mode 100644 index 0aae2c6e5..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-composited-scrolling-container-expected.txt +++ /dev/null
@@ -1,79 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTextControl INPUT id='root'", - "position": [7, 7], - "bounds": [70, 24], - "drawsContent": true, - "backgroundColor": "#FFFFFF", - "paintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='root'", - "rect": [0, 0, 70, 24], - "reason": "subtree" - }, - { - "object": "LayoutTextControl INPUT id='root'", - "rect": [0, 0, 68, 22], - "reason": "full" - } - ] - }, - { - "name": "Child Containment Layer", - "position": [3, 3], - "bounds": [64, 18] - }, - { - "name": "LayoutBlockFlow DIV id='inner-editor'", - "position": [0, 1], - "bounds": [64, 16], - "shouldFlattenTransform": false, - "drawsContent": true - }, - { - "name": "Scrolling Layer", - "bounds": [64, 16], - "shouldFlattenTransform": false - }, - { - "name": "Scrolling Contents Layer", - "bounds": [75, 16], - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [73, 0, 1, 16], - "reason": "caret" - } - ] - }, - { - "name": "Overflow Controls Host Layer", - "bounds": [64, 16] - }, - { - "name": "Horizontal Scrollbar Layer", - "position": [0, 16], - "bounds": [64, 0], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='root'", - "reason": "subtree" - }, - { - "object": "Caret", - "reason": "caret" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt deleted file mode 100644 index 72994ca..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/invalidate-caret-in-non-composited-scrolling-container-expected.txt +++ /dev/null
@@ -1,70 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTextControl INPUT id='root'", - "position": [7, 7], - "bounds": [70, 24], - "drawsContent": true, - "backgroundColor": "#FFFFFF", - "paintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='root'", - "rect": [0, 0, 70, 24], - "reason": "subtree" - }, - { - "object": "LayoutTextControl INPUT id='root'", - "rect": [0, 0, 68, 22], - "reason": "full" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [3, 4, 64, 16], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [3, 4, 64, 16], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='root'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "HorizontalScrollbar", - "reason": "scroll control" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'test test test'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/invalidation-after-opacity-change-subtree-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/invalidation-after-opacity-change-subtree-expected.txt deleted file mode 100644 index ce8f3fcd..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/invalidation-after-opacity-change-subtree-expected.txt +++ /dev/null
@@ -1,161 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 2350], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='absolute'", - "rect": [8, 2000, 777, 350], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='absolute'", - "rect": [8, 2000, 777, 350], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "rect": [8, 2200, 777, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "rect": [8, 2200, 777, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "rect": [8, 2050, 777, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "rect": [8, 2050, 777, 100], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [8, 2046, 766, 108], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [8, 2046, 766, 108], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [8, 2196, 639, 108], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [8, 2196, 639, 108], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='container'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='absolute'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'This test checks that switching opacity'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'invalidates the full subtree.'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'This text should be visible in the'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'output.'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='container'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='absolute'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'This test checks that switching opacity'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'invalidates the full subtree.'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'This text should be visible in the'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'output.'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-clear-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-clear-expected.png deleted file mode 100644 index b17aa4e..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-clear-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-clear-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-clear-expected.txt deleted file mode 100644 index 612ba88..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-clear-expected.txt +++ /dev/null
@@ -1,84 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [228, 123, 543, 394], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u305B\u3063\u304B\u304F\u898B\u3064\u3051\u305F\u3059\u3070\u3089\u3057\u3044\u8A18\u4E8B\u304C\u3069\u3053'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u306B\u3042\u3063\u305F\u304B\u5FD8\u308C\u3066\u3057\u307E\u3063\u305F\u7D4C\u9A13\u306F\u3042\u308A\u307E'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3059\u304B\u306A\u3089\u30BF\u30A4\u30C8\u30EB\u3068\u30A2\u30C9\u30EC\u30B9\u3060\u3051\u3067\u306A'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u304F\u3001\u8A2A\u554F\u3057\u305F\u30A6\u30A7\u30D6\u30DA\u30FC\u30B8\u306E\u30B3\u30F3\u30C6\u30F3\u30C4'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u304B\u3089\u3082\u691C\u7D22\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\u305B\u3063\u304B'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u304F\u898B\u3064\u3051\u305F\u3059\u3070\u3089\u3057\u3044\u8A18\u4E8B\u304C\u3069\u3053\u306B\u3042\u3063'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u305F\u304B\u5FD8\u308C\u3066\u3057\u307E\u3063\u305F\u7D4C\u9A13\u306F\u3042\u308A\u307E\u3059\u304B \u306A'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3089\u30BF\u30A4\u30C8\u30EB\u3068\u30A2\u30C9\u30EC\u30B9\u3060\u3051\u3067\u306A\u304F\u3001\u8A2A\u554F'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3057\u305F\u30A6\u30A7\u30D6\u30DA\u30FC\u30B8\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u304B\u3089\u3082\u691C'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u7D22\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\u8A2A\u554F\u3057\u305F\u30A6\u30A7\u30D6'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u30DA\u30FC\u30B8\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u304B\u3089\u3082\u691C\u7D22\u3059\u308B\u3053\u3068'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u304C\u3067\u304D\u307E\u3059\u3002\u305B\u3063\u304B\u304F\u898B\u3064\u3051\u305F\u3059\u3070\u3089\u3057'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3044\u8A18\u4E8B\u304C\u3069\u3053\u306B\u3042\u3063\u305F\u304B\u5FD8\u308C\u3066\u3057\u307E\u3063\u305F'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u7D4C\u9A13\u306F\u3042\u308A\u307E\u3059\u304B \u306A\u3089\u30BF\u30A4\u30C8\u30EB\u3068\u30A2\u30C9\u30EC'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u30B9\u3060\u3051\u3067\u306A\u304F\u3001\u8A2A\u554F'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-repaint-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-repaint-expected.png deleted file mode 100644 index e88abe3..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-repaint-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-repaint-expected.txt deleted file mode 100644 index a74a4b6..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-repaint-expected.txt +++ /dev/null
@@ -1,76 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [376, 23, 395, 544], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u305B\u3063\u304B\u304F\u898B\u3064\u3051\u305F\u3059\u3070\u3089\u3057\u3044\u8A18\u4E8B\u304C\u3069\u3053\u306B\u3042\u3063\u305F\u304B\u5FD8\u308C'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3066\u3057\u307E\u3063\u305F\u7D4C\u9A13\u306F\u3042\u308A\u307E\u3059\u304B\u306A\u3089\u30BF\u30A4\u30C8\u30EB\u3068\u30A2\u30C9\u30EC\u30B9\u3060'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3051\u3067\u306A\u304F\u3001\u8A2A\u554F\u3057\u305F\u30A6\u30A7\u30D6\u30DA\u30FC\u30B8\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u304B\u3089\u3082\u691C'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u7D22\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\u305B\u3063\u304B\u304F\u898B\u3064\u3051\u305F\u3059\u3070\u3089\u3057\u3044\u8A18'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u4E8B\u304C\u3069\u3053\u306B\u3042\u3063\u305F\u304B\u5FD8\u308C\u3066\u3057\u307E\u3063\u305F\u7D4C\u9A13\u306F\u3042\u308A\u307E\u3059\u304B \u306A'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3089\u30BF\u30A4\u30C8\u30EB\u3068\u30A2\u30C9\u30EC\u30B9\u3060\u3051\u3067\u306A\u304F\u3001\u8A2A\u554F\u3057\u305F\u30A6\u30A7\u30D6\u30DA\u30FC'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u30B8\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u304B\u3089\u3082\u691C\u7D22\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\u8A2A\u554F\u3057'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u305F\u30A6\u30A7\u30D6\u30DA\u30FC\u30B8\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u304B\u3089\u3082\u691C\u7D22\u3059\u308B\u3053\u3068\u304C\u3067\u304D'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u307E\u3059\u3002\u305B\u3063\u304B\u304F\u898B\u3064\u3051\u305F\u3059\u3070\u3089\u3057\u3044\u8A18\u4E8B\u304C\u3069\u3053\u306B\u3042\u3063\u305F'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u304B\u5FD8\u308C\u3066\u3057\u307E\u3063\u305F\u7D4C\u9A13\u306F\u3042\u308A\u307E\u3059\u304B \u306A\u3089\u30BF\u30A4\u30C8\u30EB\u3068\u30A2\u30C9'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u30EC\u30B9\u3060\u3051\u3067\u306A\u304F\u3001\u8A2A\u554F'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layer-child-outline-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layer-child-outline-expected.png deleted file mode 100644 index 519fcb3..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layer-child-outline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layer-child-outline-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layer-child-outline-expected.txt deleted file mode 100644 index 776f481..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layer-child-outline-expected.txt +++ /dev/null
@@ -1,13 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x584 - LayoutBlockFlow {P} at (0,0) size 784x20 - LayoutText {#text} at (0,0) size 300x19 - text run at (0,0) width 300: "This tests repainting of a layer's children's outlines." -layer at (8,44) size 784x2 clip at (0,0) size 0x0 - LayoutBlockFlow {HR} at (0,36) size 784x2 [border: (1px inset #EEEEEE)] -layer at (8,54) size 100x100 - LayoutBlockFlow (relative positioned) {DIV} at (0,46) size 100x100 [bgcolor=#C0C0C0] - LayoutBlockFlow {DIV} at (0,0) size 100x100
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layer-outline-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layer-outline-expected.png deleted file mode 100644 index 6b363d9..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layer-outline-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layer-outline-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layer-outline-expected.txt deleted file mode 100644 index a3fda7e7..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layer-outline-expected.txt +++ /dev/null
@@ -1,36 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x584 - LayoutBlockFlow {P} at (0,0) size 784x20 - LayoutText {#text} at (0,0) size 197x19 - text run at (0,0) width 197: "This tests for regressions against " - LayoutInline {I} at (0,0) size 546x19 - LayoutInline {A} at (0,0) size 350x19 [color=#0000EE] - LayoutText {#text} at (197,0) size 350x19 - text run at (197,0) width 350: "http://bugzilla.opendarwin.org/show_bug.cgi?id=7943" - LayoutText {#text} at (546,0) size 197x19 - text run at (546,0) width 197: " Layer outline does not repaint" - LayoutText {#text} at (742,0) size 5x19 - text run at (742,0) width 5: "." -layer at (8,44) size 784x2 clip at (0,0) size 0x0 - LayoutBlockFlow {HR} at (0,36) size 784x2 [border: (1px inset #EEEEEE)] -layer at (18,194) size 100x100 clip at (19,195) size 98x98 - LayoutBlockFlow {DIV} at (10,186) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (8,54) size 784x130 - LayoutBlockFlow (relative positioned) {DIV} at (0,46) size 784x130 -layer at (18,64) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (10,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (148,64) size 100x100 backgroundClip at (138,54) size 100x100 clip at (138,54) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (140,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (278,64) size 100x100 backgroundClip at (268,54) size 5x5 clip at (268,54) size 5x5 - LayoutBlockFlow (positioned) {DIV} at (270,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (408,64) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (400,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (538,64) size 100x100 backgroundClip at (548,74) size 100x100 clip at (548,74) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (530,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (668,64) size 100x100 backgroundClip at (773,169) size 5x5 clip at (773,169) size 5x5 - LayoutBlockFlow (positioned) {DIV} at (660,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (18,324) size 100x100 - LayoutBlockFlow (relative positioned) {DIV} at (0,296) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)]
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layer-outline-horizontal-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layer-outline-horizontal-expected.png deleted file mode 100644 index 6b363d9..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layer-outline-horizontal-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layer-outline-horizontal-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layer-outline-horizontal-expected.txt deleted file mode 100644 index a3fda7e7..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layer-outline-horizontal-expected.txt +++ /dev/null
@@ -1,36 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x584 - LayoutBlockFlow {P} at (0,0) size 784x20 - LayoutText {#text} at (0,0) size 197x19 - text run at (0,0) width 197: "This tests for regressions against " - LayoutInline {I} at (0,0) size 546x19 - LayoutInline {A} at (0,0) size 350x19 [color=#0000EE] - LayoutText {#text} at (197,0) size 350x19 - text run at (197,0) width 350: "http://bugzilla.opendarwin.org/show_bug.cgi?id=7943" - LayoutText {#text} at (546,0) size 197x19 - text run at (546,0) width 197: " Layer outline does not repaint" - LayoutText {#text} at (742,0) size 5x19 - text run at (742,0) width 5: "." -layer at (8,44) size 784x2 clip at (0,0) size 0x0 - LayoutBlockFlow {HR} at (0,36) size 784x2 [border: (1px inset #EEEEEE)] -layer at (18,194) size 100x100 clip at (19,195) size 98x98 - LayoutBlockFlow {DIV} at (10,186) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (8,54) size 784x130 - LayoutBlockFlow (relative positioned) {DIV} at (0,46) size 784x130 -layer at (18,64) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (10,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (148,64) size 100x100 backgroundClip at (138,54) size 100x100 clip at (138,54) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (140,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (278,64) size 100x100 backgroundClip at (268,54) size 5x5 clip at (268,54) size 5x5 - LayoutBlockFlow (positioned) {DIV} at (270,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (408,64) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (400,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (538,64) size 100x100 backgroundClip at (548,74) size 100x100 clip at (548,74) size 100x100 - LayoutBlockFlow (positioned) {DIV} at (530,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (668,64) size 100x100 backgroundClip at (773,169) size 5x5 clip at (773,169) size 5x5 - LayoutBlockFlow (positioned) {DIV} at (660,10) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)] -layer at (18,324) size 100x100 - LayoutBlockFlow (relative positioned) {DIV} at (0,296) size 100x100 [bgcolor=#EEEEEE] [border: (1px solid #000000)]
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layout-state-relative-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layout-state-relative-expected.txt deleted file mode 100644 index 15609ae6..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layout-state-relative-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) DIV id='target'", - "rect": [8, 152, 784, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 152, 37, 19], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) DIV id='target'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset-expected.txt deleted file mode 100644 index f52e721..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [100, 120, 50, 50], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [100, 120, 39, 19], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'after'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset2-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset2-expected.txt deleted file mode 100644 index 9dabf5a1..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset2-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [102, 122, 50, 50], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [102, 122, 39, 19], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'after'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset3-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset3-expected.txt deleted file mode 100644 index 15c924c..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layout-state-scrolloffset3-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [100, 120, 34, 50], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [100, 120, 34, 19], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'after'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layoutstate-invalid-invalidation-inline-relative-positioned-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layoutstate-invalid-invalidation-inline-relative-positioned-expected.txt deleted file mode 100644 index e912a1c2..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/layoutstate-invalid-invalidation-inline-relative-positioned-expected.txt +++ /dev/null
@@ -1,103 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 40, 784, 105], - "reason": "geometry" - }, - { - "object": "LayoutInline (relative positioned) SPAN id='target'", - "rect": [8, 220, 100, 104], - "reason": "geometry" - }, - { - "object": "LayoutInline (relative positioned) SPAN id='target'", - "rect": [8, 200, 100, 104], - "reason": "geometry" - }, - { - "object": "LayoutInline (relative positioned) SPAN", - "rect": [8, 120, 100, 104], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 220, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 220, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 200, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 200, 100, 100], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline (relative positioned) SPAN", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutInline (relative positioned) SPAN id='target'", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'x'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-1-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-1-expected.txt deleted file mode 100644 index 4fc3cd5..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-1-expected.txt +++ /dev/null
@@ -1,319 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [14, 240, 406, 139], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 80, 406, 119], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 500, 406, 99], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 180, 406, 79], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 420, 355, 79], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 380, 355, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 380, 287, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [134, 360, 131, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 360, 131, 19], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) DIV id='pinkFloat'", - "rect": [378, 138, 70, 30], - "reason": "incremental" - }, - { - "object": "LayoutText #text", - "rect": [303, 420, 66, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [244, 420, 64, 19], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "rect": [14, 363, 48, 65], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "rect": [14, 343, 48, 65], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [151, 180, 39, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [84, 180, 39, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) DIV id='pinkFloat'", - "reason": "incremental" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The chief difficulty Alice found at first was in managing her'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'flamingo: she succeeded in getting its body tucked away,'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'comfortably enough, under her arm, with its legs hanging'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'down,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'but generally, just as she had got its neck nicely'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'straightened\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'out, and was going to give the hedgehog a blow with'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'its head, it\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'would'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' twist itself round and look up in her face, with'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'such a puzzled expression that she could not help bursting out'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'laughing: and when she had got its head down, and was going to'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'begin again, it was very provoking to find that the hedgehog had'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'unrolled itself, and was in the act of crawling away: besides all\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'this,'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'there was generally a ridge or furrow in the way wherever\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wanted to send the hedgehog to, and, as the doubled-up\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soldiers'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'were always getting up and walking off to other parts of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the ground,'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Alice soon came to the conclusion that it was a very'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'difficult game indeed.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The players all played at once without waiting\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'turns,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'quarrelling all the while, and fighting for the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehogs; and in\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a very short time '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the Queen'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' was in a'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'furious passion, and went\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'stamping about, and shouting'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u2018Off with his head!\u2019 or \u2018Off with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'her head!\u2019 about once in a'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'minute.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Alice began to feel very uneasy: to be sure, she had not as\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'yet had'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'any dispute with the Queen, but she knew that it might\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'happen any'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'minute, \u2018and then,\u2019 thought she, \u2018what would become of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'me?'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'They\u2019re dreadfully fond of beheading people here; the great'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wonder is, that there\u2018s any one left alive!\u2019'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-10-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-10-expected.txt deleted file mode 100644 index 9b1d774..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-10-expected.txt +++ /dev/null
@@ -1,224 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [14, 240, 406, 139], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 500, 406, 99], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 440, 355, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 380, 304, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 380, 287, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [134, 360, 131, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [303, 420, 66, 19], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "rect": [14, 363, 48, 65], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "rect": [14, 374, 48, 64], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'begin again, it was very provoking to find that the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehog had\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'unrolled itself, and was in the act of crawling away:'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'besides all\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'this, there was generally a ridge or furrow in the way'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wherever\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she wanted to send the hedgehog to, and, as the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'doubled-up\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soldiers were always getting up and walking off to'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'other parts of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the ground, Alice soon came to the conclusion that it'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'was a very\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'difficult game indeed.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The players all played at once without waiting\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'turns,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'quarrelling all the while, and fighting for the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehogs; and in\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a very short time '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the Queen'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'was in a furious passion, and went\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'stamping'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'about, and shouting \u2018Off with his head!\u2019 or \u2018Off with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'her'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'head!\u2019 about once in a minute.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Alice began to feel very uneasy: to be sure, she had not as\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'yet had'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'any dispute with the Queen, but she knew that it might\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'happen any'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'minute, \u2018and then,\u2019 thought she, \u2018what would become of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'me?'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'They\u2019re dreadfully fond of beheading people here; the great'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wonder is, that there\u2018s any one left alive!\u2019'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-2-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-2-expected.txt deleted file mode 100644 index 599120b..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-2-expected.txt +++ /dev/null
@@ -1,391 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow P", - "rect": [8, 74, 418, 526], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 241, 406, 139], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 240, 406, 139], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 501, 406, 99], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 500, 406, 99], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 181, 406, 79], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 180, 406, 79], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 441, 355, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 440, 355, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 80, 354, 120], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 381, 304, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 380, 304, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 381, 287, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 380, 287, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [134, 361, 131, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [134, 360, 131, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [303, 421, 66, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [303, 420, 66, 19], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='greenFloat'", - "rect": [372, 384, 48, 81], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='greenFloat'", - "rect": [372, 383, 48, 81], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "rect": [14, 364, 48, 65], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "rect": [14, 363, 48, 65], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [149, 180, 44, 20], - "reason": "style change" - }, - { - "object": "LayoutView #document", - "rect": [485, 0, 15, 600], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The chief difficulty Alice found at first was in managing her'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'flamingo: she succeeded in getting its body tucked away,'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'comfortably enough, under her arm, with its legs hanging'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'down,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'but generally, just as she had got its neck nicely'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'straightened\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'out, and was going to give the hedgehog a'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'blow with its head, it\n'", - "reason": "geometry" - }, - { - "object": "LayoutInline I id='would'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'would'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' twist itself round and look up in her'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'face, with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'such a puzzled expression that she could not help'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'bursting out\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'laughing: and when she had got its head down, and was'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'going to\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'begin again, it was very provoking to find that the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehog had\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'unrolled itself, and was in the act of crawling away:'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'besides all\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'this, there was generally a ridge or furrow in the way'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wherever\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she wanted to send the hedgehog to, and, as the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'doubled-up\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soldiers were always getting up and walking off to'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'other parts of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the ground, Alice soon came to the conclusion that it'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'was a very\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'difficult game indeed.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The players all played at once without waiting\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='greenFloat'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'turns,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'quarrelling all the while, and fighting for the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehogs; and in\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a very short time '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the Queen'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'was in a furious passion, and went\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'stamping about, and'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'shouting \u2018Off with his head!\u2019 or \u2018Off with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'her head!\u2019 about'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'once in a minute.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Alice began to feel very uneasy: to be sure, she had not as\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'yet had'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'any dispute with the Queen, but she knew that it might\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'happen any'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'minute, \u2018and then,\u2019 thought she, \u2018what would become of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'me?'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'They\u2019re dreadfully fond of beheading people here; the great'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wonder is, that there\u2018s any one left alive!\u2019'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-3-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-3-expected.txt deleted file mode 100644 index 1ab8062d..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-3-expected.txt +++ /dev/null
@@ -1,224 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [14, 240, 406, 139], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 500, 406, 99], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 440, 355, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 420, 339, 39], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 380, 304, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 380, 288, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [134, 360, 131, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [303, 420, 66, 19], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='greenFloat'", - "rect": [356, 383, 64, 81], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'begin again, it was very provoking to find that the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehog had\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'unrolled itself, and was in the act of crawling away:'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'besides all\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'this, there was generally a ridge or furrow in the way'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wherever\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she wanted to send the hedgehog to, and, as the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'doubled-up\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soldiers were always getting up and walking off to'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'other parts of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the ground, Alice soon came to the conclusion that it'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'was a very\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'difficult game indeed.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The players all played at once without waiting'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='greenFloat'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for turns,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'quarrelling all the while, and fighting'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for the hedgehogs; and in\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a very short time '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Queen'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' was in a furious passion, and went\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'stamping'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'about, and shouting \u2018Off with his head!\u2019 or \u2018Off with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'her'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'head!\u2019 about once in a minute.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Alice began to feel very uneasy: to be sure, she had not as\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'yet had'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'any dispute with the Queen, but she knew that it might\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'happen any'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'minute, \u2018and then,\u2019 thought she, \u2018what would become of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'me?'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'They\u2019re dreadfully fond of beheading people here; the great'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wonder is, that there\u2018s any one left alive!\u2019'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-4-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-4-expected.txt deleted file mode 100644 index bb410edd..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-4-expected.txt +++ /dev/null
@@ -1,219 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [14, 240, 406, 139], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 500, 406, 99], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 440, 406, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 380, 304, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 380, 287, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [134, 360, 131, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [303, 420, 66, 19], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='greenFloat'", - "rect": [372, 447, 48, 17], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'begin again, it was very provoking to find that the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehog had\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'unrolled itself, and was in the act of crawling away:'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'besides all\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'this, there was generally a ridge or furrow in the way'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wherever\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she wanted to send the hedgehog to, and, as the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'doubled-up\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soldiers were always getting up and walking off to'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'other parts of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the ground, Alice soon came to the conclusion that it'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'was a very\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'difficult game indeed.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The players all played at once without waiting\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='greenFloat'", - "reason": "incremental" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'turns,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'quarrelling all the while, and fighting for the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehogs; and in\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a very short time '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the Queen'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'was in a furious passion, and went\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'stamping about, and'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'shouting \u2018Off with his head!\u2019 or \u2018Off with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'her head!\u2019 about once in'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a minute.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Alice began to feel very uneasy: to be sure, she had not as\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'yet had'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'any dispute with the Queen, but she knew that it might\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'happen any'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'minute, \u2018and then,\u2019 thought she, \u2018what would become of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'me?'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'They\u2019re dreadfully fond of beheading people here; the great'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wonder is, that there\u2018s any one left alive!\u2019'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-5-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-5-expected.txt deleted file mode 100644 index 95b5211..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-5-expected.txt +++ /dev/null
@@ -1,233 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [14, 240, 406, 139], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 500, 406, 99], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 420, 355, 79], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [49, 380, 320, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [49, 380, 303, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [134, 360, 131, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [118, 360, 131, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [303, 420, 66, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [275, 420, 64, 19], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "rect": [46, 363, 16, 65], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'begin again, it was very provoking to find that the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehog had\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'unrolled itself, and was in the act of crawling away:'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'besides all\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'this, there was generally a ridge or furrow in the way'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wherever\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she wanted to send the hedgehog to, and, as the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'doubled-up\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soldiers were always getting up and walking off to'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'other parts of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the ground, Alice soon came to the conclusion that it'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'was a very\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "reason": "incremental" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'difficult game indeed.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The players all played at once without waiting\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'turns,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'quarrelling all the while, and fighting for the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehogs; and in\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a very short time '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the Queen'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' was'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'in a furious passion, and went\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'stamping about, and'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'shouting \u2018Off with his head!\u2019 or \u2018Off with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'her head!\u2019 about'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'once in a minute.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Alice began to feel very uneasy: to be sure, she had not as\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'yet had'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'any dispute with the Queen, but she knew that it might\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'happen any'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'minute, \u2018and then,\u2019 thought she, \u2018what would become of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'me?'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'They\u2019re dreadfully fond of beheading people here; the great'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wonder is, that there\u2018s any one left alive!\u2019'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-6-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-6-expected.txt deleted file mode 100644 index 909bb10..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-6-expected.txt +++ /dev/null
@@ -1,153 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [14, 240, 406, 139], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 380, 304, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 380, 287, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [134, 360, 131, 19], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "rect": [14, 363, 48, 65], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [28, 363, 20, 20], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'begin again, it was very provoking to find that the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehog had\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'unrolled itself, and was in the act of crawling away:'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'besides all\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'this, there was generally a ridge or furrow in the way'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wherever\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she wanted to send the hedgehog to, and, as the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'doubled-up\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soldiers were always getting up and walking off to'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'other parts of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the ground, Alice soon came to the conclusion that it'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'was a very\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'foo'", - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'difficult game indeed.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The players all played at once without waiting\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'turns,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'quarrelling all the while, and fighting for the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehogs; and in\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a very short time '", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-7-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-7-expected.txt deleted file mode 100644 index 4cab783..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-7-expected.txt +++ /dev/null
@@ -1,61 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [65, 380, 304, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [297, 420, 72, 19], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'turns,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'quarrelling all the while, and fighting for the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehogs; and in\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a very short time '", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='theQueen'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'the Queen'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-8-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-8-expected.txt deleted file mode 100644 index 7350247b..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-8-expected.txt +++ /dev/null
@@ -1,354 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow P", - "rect": [8, 74, 418, 526], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 240, 406, 139], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 500, 406, 99], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 480, 406, 99], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 180, 406, 79], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 440, 355, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 420, 355, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 80, 354, 119], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 380, 354, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 380, 304, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 380, 298, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 380, 287, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [134, 360, 131, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [83, 360, 131, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [303, 420, 66, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [143, 420, 64, 19], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "rect": [14, 363, 48, 65], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [151, 180, 39, 19], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [485, 0, 15, 600], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) SPAN id='blueFloat'", - "reason": "disappeared" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The chief difficulty Alice found at first was in managing her'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'flamingo: she succeeded in getting its body tucked away,'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'comfortably enough, under her arm, with its legs hanging'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'down,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'but generally, just as she had got its neck nicely'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'straightened\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'out, and was going to give the hedgehog a'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'blow with its head, it\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'would'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' twist itself round and look up in her'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'face, with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'such a puzzled expression that she could not help'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'bursting out\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'laughing: and when she had got its head down, and was'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'going to\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'begin again, it was very provoking to find that the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehog had\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'unrolled itself, and was in the act of crawling away:'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'besides all\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'this, there was generally a ridge or furrow in the way'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wherever\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she wanted to send the hedgehog to, and, as the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'doubled-up\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soldiers were always getting up and walking off to'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'other parts of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the ground, Alice soon came to the conclusion that it'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'was a very\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'difficult game indeed.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The players all played at once without waiting\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for turns,'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'quarrelling all the while, and fighting for the hedgehogs; and'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'in\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a very short time '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the Queen'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' was in a furious passion,'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'and went\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'stamping about, and shouting \u2018Off with his head!\u2019'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'or \u2018Off with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'her head!\u2019 about once in a minute.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Alice began to feel very uneasy: to be sure, she had not as\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'yet had'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'any dispute with the Queen, but she knew that it might\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'happen any'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'minute, \u2018and then,\u2019 thought she, \u2018what would become of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'me?'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'They\u2019re dreadfully fond of beheading people here; the great'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wonder is, that there\u2018s any one left alive!\u2019'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-9-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-9-expected.txt deleted file mode 100644 index 892c3ab..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-flow-with-floats-9-expected.txt +++ /dev/null
@@ -1,252 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [14, 240, 406, 139], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 500, 406, 99], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 180, 406, 79], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [14, 440, 355, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 380, 304, 59], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [65, 380, 287, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [134, 360, 131, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [303, 420, 66, 19], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='yellowFloat'", - "rect": [372, 243, 48, 49], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' twist itself round and look up in her'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'face, with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'such a puzzled expression that she could not help'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'bursting out\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'laughing: and when she had got its head down, and was'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'going to\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (floating) SPAN id='yellowFloat'", - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'begin again, it was very provoking to find that the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehog had\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'unrolled itself, and was in the act of crawling'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'away: besides all\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'this, there was generally a ridge or furrow'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'in the way wherever\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'she wanted to send the hedgehog to, and, as'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the doubled-up\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'soldiers were always getting up and walking off to'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'other parts of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the ground, Alice soon came to the conclusion that it'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'was a very\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'difficult game indeed.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'The players all played at once without waiting\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'for'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'turns,\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'quarrelling all the while, and fighting for the'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hedgehogs; and in\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a very short time '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'the Queen'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'was in a furious passion, and went\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'stamping about, and'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'shouting \u2018Off with his head!\u2019 or \u2018Off with\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'her head!\u2019 about'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'once in a minute.\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Alice began to feel very uneasy: to be sure, she had not as\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'yet had'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'any dispute with the Queen, but she knew that it might\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'happen any'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'minute, \u2018and then,\u2019 thought she, \u2018what would become of\n'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'me?'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'They\u2019re dreadfully fond of beheading people here; the great'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'wonder is, that there\u2018s any one left alive!\u2019'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-in-scrolled-clipped-block-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-in-scrolled-clipped-block-expected.txt deleted file mode 100644 index 05a0a97c..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-in-scrolled-clipped-block-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [8, 8, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 8, 100, 19], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox ' PASS .'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-overflow-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-overflow-expected.txt deleted file mode 100644 index 98007ed..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/line-overflow-expected.txt +++ /dev/null
@@ -1,97 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [8, 122, 196, 79], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 82, 190, 59], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='t'", - "rect": [47, 92, 33, 49], - "reason": "style change" - }, - { - "object": "LayoutInline SPAN id='t'", - "rect": [77, 122, 33, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [77, 122, 33, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [47, 122, 33, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Cras faucibus. Nunc adipiscing,'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'enim in scelerisque convallis,'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'augue '", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='t'", - "reason": "style change" - }, - { - "object": "InlineFlowBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'purus'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' eleifend lacus, at'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'sagittis eros leo pulvinar velit.'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Integer sollicitudin nisi ut urna'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'blandit convallis.'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/lines-with-layout-delta-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/lines-with-layout-delta-expected.txt deleted file mode 100644 index 10296fae..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/lines-with-layout-delta-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) DIV id='target'", - "rect": [8, 58, 200, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 58, 37, 19], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) DIV id='target'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/list-marker-2-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/list-marker-2-expected.txt deleted file mode 100644 index 31746317..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/list-marker-2-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutListItem LI", - "rect": [48, 100, 744, 105], - "reason": "geometry" - }, - { - "object": "LayoutImage IMG id='target'", - "rect": [48, 100, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutListMarker (anonymous)", - "rect": [30, 185, 7, 19], - "reason": "geometry" - }, - { - "object": "LayoutListMarker (anonymous)", - "rect": [30, 135, 7, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutListItem LI", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutListMarker (anonymous)", - "reason": "geometry" - }, - { - "object": "LayoutImage IMG id='target'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/list-marker-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/list-marker-expected.png deleted file mode 100644 index 62c9b65..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/list-marker-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/list-marker-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/list-marker-expected.txt deleted file mode 100644 index f608903..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/list-marker-expected.txt +++ /dev/null
@@ -1,46 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x576 - LayoutBlockFlow {P} at (0,0) size 784x40 - LayoutText {#text} at (0,0) size 50x19 - text run at (0,0) width 50: "Test for " - LayoutInline {I} at (0,0) size 730x39 - LayoutInline {A} at (0,0) size 306x19 [color=#0000EE] - LayoutText {#text} at (49,0) size 306x19 - text run at (49,0) width 306: "http://bugs.webkit.org/show_bug.cgi?id=12910" - LayoutText {#text} at (354,0) size 730x39 - text run at (354,0) width 5: " " - text run at (358,0) width 372: "REGRESSION (r18756-r18765): list-bullet doesn't redraw" - text run at (0,20) width 374: "properly when changing the list's content using JavaScript" - LayoutText {#text} at (373,20) size 5x19 - text run at (373,20) width 5: "." - LayoutBlockFlow {UL} at (0,56) size 784x20 - LayoutListItem {LI} at (40,0) size 744x20 - LayoutBlockFlow (anonymous) at (0,0) size 744x20 - LayoutListMarker (anonymous) at (-18,0) size 7x19: bullet - LayoutText {#text} at (0,0) size 20x19 - text run at (0,0) width 20: "foo" - LayoutBlockFlow {DIV} at (10,30) size 724x0 - LayoutBlockFlow {UL} at (0,92) size 784x20 - LayoutListItem {LI} at (40,0) size 744x20 - LayoutBlockFlow (anonymous) at (0,0) size 744x20 - LayoutListMarker (anonymous) at (-1,0) size 7x19: bullet - LayoutText {#text} at (22,0) size 20x19 - text run at (22,0) width 20: "bar" - LayoutBlockFlow {DIV} at (10,30) size 724x0 - LayoutBlockFlow {UL} at (0,128) size 784x20 - LayoutListItem {LI} at (0,0) size 744x20 - LayoutBlockFlow (anonymous) at (0,0) size 744x20 - LayoutListMarker (anonymous) at (755,0) size 7x19: bullet - LayoutText {#text} at (724,0) size 20x19 - text run at (724,0) width 20: "foo" - LayoutBlockFlow {DIV} at (10,30) size 724x0 - LayoutBlockFlow {UL} at (0,164) size 784x20 - LayoutListItem {LI} at (0,0) size 744x20 - LayoutBlockFlow (anonymous) at (0,0) size 744x20 - LayoutListMarker (anonymous) at (738,0) size 7x19: bullet - LayoutText {#text} at (702,0) size 20x19 - text run at (702,0) width 20: "bar" - LayoutBlockFlow {DIV} at (10,30) size 724x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/make-children-non-inline-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/make-children-non-inline-expected.txt deleted file mode 100644 index 1094d9b..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/make-children-non-inline-expected.txt +++ /dev/null
@@ -1,353 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 64, 784, 280], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 64, 784, 100], - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 264, 784, 80], - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 264, 104, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 164, 104, 19], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 144, 77, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 144, 77, 19], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 104, 77, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 104, 77, 19], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 284, 65, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 184, 65, 19], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 324, 61, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 224, 61, 19], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 124, 42, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 124, 42, 19], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 84, 42, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 84, 42, 19], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 64, 39, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 64, 39, 19], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 304, 27, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 204, 27, 19], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [8, 164, 10, 100], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBR BR", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'Word,'", - "reason": "style change" - }, - { - "object": "LayoutBR BR", - "reason": "style change" - }, - { - "object": "InlineTextBox '\n'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'words,'", - "reason": "style change" - }, - { - "object": "LayoutBR BR", - "reason": "style change" - }, - { - "object": "InlineTextBox '\n'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'more words.'", - "reason": "style change" - }, - { - "object": "LayoutBR BR", - "reason": "style change" - }, - { - "object": "InlineTextBox '\n'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'I could'", - "reason": "style change" - }, - { - "object": "LayoutBR BR", - "reason": "style change" - }, - { - "object": "InlineTextBox '\n'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'write a book'", - "reason": "style change" - }, - { - "object": "LayoutBR BR", - "reason": "style change" - }, - { - "object": "InlineTextBox '\n'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'about all the stuff'", - "reason": "style change" - }, - { - "object": "LayoutBR BR", - "reason": "style change" - }, - { - "object": "InlineTextBox '\n'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'that comes'", - "reason": "style change" - }, - { - "object": "LayoutBR BR", - "reason": "style change" - }, - { - "object": "InlineTextBox '\n'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'after'", - "reason": "style change" - }, - { - "object": "LayoutBR BR", - "reason": "style change" - }, - { - "object": "InlineTextBox '\n'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'the break.'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/multi-layout-one-frame-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/multi-layout-one-frame-expected.txt deleted file mode 100644 index 823fd0e..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/multi-layout-one-frame-expected.txt +++ /dev/null
@@ -1,67 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [187, 11, 169, 16], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [10, 11, 169, 16], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [187, 11, 53, 16], - "reason": "full" - }, - { - "object": "LayoutText #text", - "rect": [10, 11, 53, 16], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASSED'", - "reason": "full" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASSED'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/multicol-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/multicol-repaint-expected.txt deleted file mode 100644 index 05a01378..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/multicol-repaint-expected.txt +++ /dev/null
@@ -1,84 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutMultiColumnFlowThread (anonymous)", - "rect": [9, 9, 400, 100], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='a'", - "rect": [234, 10, 300, 57], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [234, 15, 300, 50], - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "rect": [234, 15, 50, 50], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [9, 10, 13, 58], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutMultiColumnFlowThread (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u00A0'", - "reason": "geometry" - }, - { - "object": "LayoutBR BR", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='a'", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'XXXXXX'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/multicol-with-text-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/multicol-with-text-expected.txt deleted file mode 100644 index 1c001d7..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/multicol-with-text-expected.txt +++ /dev/null
@@ -1,57 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutMultiColumnFlowThread (anonymous)", - "rect": [8, 8, 630, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [488, 8, 80, 20], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutMultiColumnFlowThread (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBR BR", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutBR BR", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/non-text-link-invalidation-optimization-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/non-text-link-invalidation-optimization-expected.png deleted file mode 100644 index 8f5f1c1e..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/non-text-link-invalidation-optimization-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/offset-change-wrong-invalidation-with-float-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/offset-change-wrong-invalidation-with-float-expected.txt deleted file mode 100644 index 19157495..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/offset-change-wrong-invalidation-with-float-expected.txt +++ /dev/null
@@ -1,80 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) UL id='submenu'", - "rect": [48, 94, 40, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) UL id='submenu'", - "rect": [48, -156, 40, 20], - "reason": "geometry" - }, - { - "object": "LayoutListMarker (anonymous)", - "rect": [70, 94, 7, 19], - "reason": "geometry" - }, - { - "object": "LayoutListMarker (anonymous)", - "rect": [70, -156, 7, 19], - "reason": "geometry" - } - ] - }, - { - "name": "LayoutListItem (floating) LI id='watches'", - "position": [30, 44], - "transformOrigin": [18, 10], - "bounds": [25, 19], - "drawsContent": true - }, - { - "name": "LayoutInline (relative positioned) SPAN id='placeholder'", - "position": [18, 0], - "backfaceVisibility": "hidden" - }, - { - "name": "LayoutListItem (relative positioned) (floating) LI id='menu'", - "position": [30, 44], - "bounds": [18, 19], - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutListMarker (anonymous)", - "rect": [0, 0, 7, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutListMarker (anonymous)", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) UL id='submenu'", - "reason": "geometry" - }, - { - "object": "LayoutListItem LI", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutListMarker (anonymous)", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/opacity-change-on-overflow-float-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/opacity-change-on-overflow-float-expected.txt deleted file mode 100644 index 5a0911b..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/opacity-change-on-overflow-float-expected.txt +++ /dev/null
@@ -1,42 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) DIV class='green'", - "rect": [8, 84, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (floating) DIV class='green'", - "rect": [8, 84, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (floating) DIV class='red'", - "rect": [8, 84, 100, 100], - "reason": "background" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) DIV class='green'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (floating) DIV class='red'", - "reason": "background" - }, - { - "object": "LayoutBlockFlow (floating) DIV class='green'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/outline-become-affected-by-descendant-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/outline-become-affected-by-descendant-expected.txt deleted file mode 100644 index de9fdc2..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/outline-become-affected-by-descendant-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='outline'", - "rect": [7, 7, 152, 102], - "reason": "outline" - }, - { - "object": "LayoutBlockFlow DIV id='child'", - "rect": [58, 8, 100, 50], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='outline'", - "reason": "outline" - }, - { - "object": "LayoutBlockFlow DIV id='child'", - "reason": "incremental" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/outline-become-not-affected-by-descendant-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/outline-become-not-affected-by-descendant-expected.txt deleted file mode 100644 index a318da6..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/outline-become-not-affected-by-descendant-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='outline'", - "rect": [7, 7, 152, 102], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='child'", - "rect": [58, 8, 100, 50], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='outline'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='child'", - "reason": "incremental" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/outline-clip-change-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/outline-clip-change-expected.txt deleted file mode 100644 index 59d348b4..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/outline-clip-change-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) A id='link' class='updated'", - "rect": [43, 103, 91, 30], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [48, 108, 81, 19], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) A id='link' class='updated'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Lorem Ipsum'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/outline-continuations-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/outline-continuations-expected.txt deleted file mode 100644 index 8e51ae7..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/outline-continuations-expected.txt +++ /dev/null
@@ -1,101 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [18, 150, 200, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [18, 110, 200, 20], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='outer'", - "rect": [16, 108, 87, 63], - "reason": "style change" - }, - { - "object": "LayoutInline SPAN id='outer'", - "rect": [16, 148, 87, 23], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [18, 150, 83, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [18, 110, 83, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='outer'", - "reason": "style change" - }, - { - "object": "InlineFlowBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'CONTENTS'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='outer'", - "reason": "style change" - }, - { - "object": "InlineFlowBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'CONTENTS'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='outer'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/outline-inset-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/outline-inset-expected.txt deleted file mode 100644 index e26873f..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/outline-inset-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [19, 191, 200, 60], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [19, 29, 200, 60], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='b'", - "rect": [29, 231, 180, 20], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='a'", - "rect": [29, 69, 180, 20], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='a'", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='b'", - "reason": "incremental" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/outline-repaint-glitch-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/outline-repaint-glitch-expected.txt deleted file mode 100644 index 003f9e5..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/outline-repaint-glitch-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [15, 391, 208, 68], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [15, 229, 208, 68], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='b'", - "rect": [29, 435, 180, 20], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='a'", - "rect": [29, 273, 180, 20], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='a'", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='b'", - "reason": "incremental" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/outline-shrinking-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/outline-shrinking-expected.txt deleted file mode 100644 index 612b62a..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/outline-shrinking-expected.txt +++ /dev/null
@@ -1,24 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='t'", - "rect": [4, 114, 108, 108], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='t'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/overflow-delete-line-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/overflow-delete-line-expected.txt deleted file mode 100644 index acae3da..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/overflow-delete-line-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='dv'", - "rect": [8, 74, 80, 36], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 74, 80, 19], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='dv'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'Lorem ipsu'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-body-appear-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-body-appear-expected.png deleted file mode 100644 index e69493ae..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-body-appear-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-body-appear-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-body-appear-expected.txt deleted file mode 100644 index 7797986b4..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-body-appear-expected.txt +++ /dev/null
@@ -1,134 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [2008, 2096], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [0, 0, 2008, 2096], - "reason": "style change" - }, - { - "object": "LayoutView #document", - "rect": [0, 585, 785, 15], - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [8, 16, 784, 2072], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow P", - "rect": [8, 52, 784, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow P", - "rect": [8, 16, 784, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [118, 52, 370, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 16, 324, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 52, 110, 19], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [785, 0, 15, 585], - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "rect": [785, 585, 15, 15], - "reason": "scroll control" - }, - { - "object": "LayoutText #text", - "rect": [488, 52, 4, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'You should see both vertical and horizontal scrollbars.'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'This is the test for '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Bug 36461 - No vertical scrollbar after the CSS class change'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '.'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-delete-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-delete-expected.png deleted file mode 100644 index decf9de..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-delete-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-delete-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-delete-expected.txt deleted file mode 100644 index 3768835..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-delete-expected.txt +++ /dev/null
@@ -1,32 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [8, 136, 43, 17], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'Passed'", - "reason": "full" - }, - { - "object": "InlineTextBox 'Test'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-local-background-text-color-change-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-local-background-text-color-change-expected.png deleted file mode 100644 index 541971ec..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-local-background-text-color-change-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-local-background-text-color-change-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-local-background-text-color-change-expected.txt deleted file mode 100644 index 1df54e65..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-local-background-text-color-change-expected.txt +++ /dev/null
@@ -1,93 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutBlockFlow DIV id='scroller'", - "position": [8, 8], - "bounds": [200, 200], - "shouldFlattenTransform": false, - "drawsContent": true, - "backgroundColor": "#0000FF", - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='scroller'", - "rect": [0, 0, 200, 200], - "reason": "style change" - } - ] - }, - { - "name": "Scrolling Layer", - "bounds": [185, 185], - "shouldFlattenTransform": false - }, - { - "name": "Scrolling Contents Layer", - "bounds": [185, 552], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='scroller'", - "rect": [0, 0, 185, 552], - "reason": "background on scrolling contents layer" - } - ] - }, - { - "name": "Overflow Controls Host Layer", - "bounds": [200, 200] - }, - { - "name": "Horizontal Scrollbar Layer", - "position": [0, 185], - "bounds": [185, 15], - "paintInvalidations": [ - { - "object": "Horizontal Scrollbar Layer", - "rect": [0, 0, 185, 15], - "reason": "full" - } - ] - }, - { - "name": "Vertical Scrollbar Layer", - "position": [185, 0], - "bounds": [15, 185], - "paintInvalidations": [ - { - "object": "Vertical Scrollbar Layer", - "rect": [0, 0, 15, 185], - "reason": "full" - }, - { - "object": "Vertical Scrollbar Layer", - "rect": [0, 0, 15, 185], - "reason": "full" - } - ] - }, - { - "name": "Scroll Corner Layer", - "position": [185, 185], - "bounds": [15, 15], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "Scrolling Contents Layer", - "reason": "background on scrolling contents layer" - }, - { - "object": "LayoutBlockFlow DIV id='scroller'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/overhanging-float-detach-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/overhanging-float-detach-repaint-expected.txt deleted file mode 100644 index 1e650a2..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/overhanging-float-detach-repaint-expected.txt +++ /dev/null
@@ -1,28 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) DIV class='float'", - "rect": [8, 68, 100, 100], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) DIV class='float'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='floatContainer'", - "reason": "disappeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/paged-with-overflowing-block-rl-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/paged-with-overflowing-block-rl-expected.png deleted file mode 100644 index fb9d8a2..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/paged-with-overflowing-block-rl-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/paint-invalidation-with-reparent-across-frame-boundaries-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/paint-invalidation-with-reparent-across-frame-boundaries-expected.txt deleted file mode 100644 index 1214d37..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/paint-invalidation-with-reparent-across-frame-boundaries-expected.txt +++ /dev/null
@@ -1,59 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-target'", - "rect": [8, 187, 784, 20], - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow DIV id='inner-target'", - "rect": [18, 18, 284, 20], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [18, 18, 22, 19], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 187, 22, 19], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-target'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'abc'", - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='inner-target'", - "reason": "disappeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/positioned-document-element-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/positioned-document-element-expected.txt deleted file mode 100644 index c357a772..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/positioned-document-element-expected.txt +++ /dev/null
@@ -1,79 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#008000", - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [0, 0, 800, 600], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) HTML class='changed'", - "rect": [0, 0, 800, 52], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow P", - "rect": [8, 16, 784, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) HTML class='changed'", - "rect": [100, 100, 418, 52], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow P", - "rect": [108, 116, 402, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [108, 116, 402, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 16, 402, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) HTML class='changed'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Tests that the entire viewport is painted with a floated html element.'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/positioned-great-grandparent-change-location-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/positioned-great-grandparent-change-location-expected.txt deleted file mode 100644 index 394cb4d..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/positioned-great-grandparent-change-location-expected.txt +++ /dev/null
@@ -1,59 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV", - "rect": [100, 200, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV", - "rect": [100, 100, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [100, 200, 38, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [100, 100, 38, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Target'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/positioned-list-offset-change-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/positioned-list-offset-change-repaint-expected.txt deleted file mode 100644 index 94fa46b1..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/positioned-list-offset-change-repaint-expected.txt +++ /dev/null
@@ -1,45 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutListItem (positioned) LI", - "rect": [8, 64, 214, 237], - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "rect": [8, 64, 214, 232], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutListItem (positioned) LI", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutListMarker (anonymous)", - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/push-block-with-first-line-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/push-block-with-first-line-expected.txt deleted file mode 100644 index 195826e..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/push-block-with-first-line-expected.txt +++ /dev/null
@@ -1,60 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='spacer'", - "rect": [8, 8, 784, 60], - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow DIV class='test'", - "rect": [8, 68, 784, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='test'", - "rect": [8, 8, 784, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 68, 140, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 8, 140, 20], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='spacer'", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow DIV class='test'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'JOCULAR'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/quotes-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/quotes-expected.txt deleted file mode 100644 index 4667862..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/quotes-expected.txt +++ /dev/null
@@ -1,97 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 28, 784, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [17, 28, 46, 19], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [15, 28, 46, 19], - "reason": "style change" - }, - { - "object": "LayoutTextFragment (anonymous)", - "rect": [63, 28, 9, 19], - "reason": "style change" - }, - { - "object": "LayoutTextFragment (anonymous)", - "rect": [8, 28, 9, 19], - "reason": "style change" - }, - { - "object": "LayoutTextFragment (anonymous)", - "rect": [61, 28, 8, 19], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline Q id='q2' class='q-changed'", - "reason": "style change" - }, - { - "object": "LayoutInline \u003Cpseudo:before\u003E", - "reason": "style change" - }, - { - "object": "LayoutQuote (anonymous)", - "reason": "style change" - }, - { - "object": "LayoutTextFragment (anonymous)", - "reason": "style change" - }, - { - "object": "InlineTextBox '{'", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'quote 2'", - "reason": "style change" - }, - { - "object": "LayoutInline \u003Cpseudo:after\u003E", - "reason": "style change" - }, - { - "object": "LayoutQuote (anonymous)", - "reason": "style change" - }, - { - "object": "LayoutTextFragment (anonymous)", - "reason": "style change" - }, - { - "object": "InlineTextBox '}'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/rel-positioned-inline-with-overflow-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/rel-positioned-inline-with-overflow-expected.txt deleted file mode 100644 index f08a997..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/rel-positioned-inline-with-overflow-expected.txt +++ /dev/null
@@ -1,24 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [8, 94, 100, 50], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/relative-inline-positioned-movement-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/relative-inline-positioned-movement-repaint-expected.txt deleted file mode 100644 index 9e357bc..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/relative-inline-positioned-movement-repaint-expected.txt +++ /dev/null
@@ -1,63 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "rect": [8, 8, 784, 20], - "reason": "geometry" - } - ] - }, - { - "name": "LayoutInline (relative positioned) DIV id='block'", - "position": [68, 7], - "bounds": [348, 21], - "drawsContent": true, - "backfaceVisibility": "hidden", - "paintInvalidations": [ - { - "object": "LayoutInline (relative positioned) DIV id='block'", - "rect": [0, 0, 348, 21], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [1, 1, 346, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline (relative positioned) DIV id='block'", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'When this layer moves it shouldn't generate a repaint rect.'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/remove-block-after-layout-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/remove-block-after-layout-expected.txt deleted file mode 100644 index 6d0c88d..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/remove-block-after-layout-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='target'", - "rect": [8, 108, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 108, 90, 39], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='target'", - "reason": "disappeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/remove-inline-after-layout-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/remove-inline-after-layout-expected.txt deleted file mode 100644 index 5a51ab8..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/remove-inline-after-layout-expected.txt +++ /dev/null
@@ -1,77 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 108, 784, 105], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [112, 193, 171, 19], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [282, 108, 101, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [112, 108, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 108, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [108, 193, 4, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutInline SPAN id='target'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/remove-inline-layer-after-layout-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/remove-inline-layer-after-layout-expected.txt deleted file mode 100644 index 117c946..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/remove-inline-layer-after-layout-expected.txt +++ /dev/null
@@ -1,82 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 108, 784, 105], - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='target'", - "rect": [112, 108, 171, 104], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [112, 193, 171, 19], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [282, 108, 101, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [112, 108, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 108, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [108, 193, 4, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutInline SPAN id='target'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.png deleted file mode 100644 index 39edb73..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.txt deleted file mode 100644 index d18be3a..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/renderer-destruction-by-invalidateSelection-crash-expected.txt +++ /dev/null
@@ -1,15 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -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 784x22 - LayoutTextControl {INPUT} at (0,0) size 173x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)] - LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow (anonymous) at (0,22) size 784x20 - LayoutText {#text} at (0,0) size 4x19 - text run at (0,0) width 4: " " - LayoutBlockFlow {DIV} at (0,42) size 784x0 -layer at (10,11) size 169x16 - LayoutBlockFlow {DIV} at (2,3) size 169x16 -caret: position 0 of child 0 {DIV} of {#document-fragment} of child 1 {INPUT} of child 1 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/repaint-across-writing-mode-boundary-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/repaint-across-writing-mode-boundary-expected.png deleted file mode 100644 index 56b1fee..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/repaint-across-writing-mode-boundary-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/repaint-descandant-on-ancestor-layer-move-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/repaint-descandant-on-ancestor-layer-move-expected.txt deleted file mode 100644 index fb6ab09..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/repaint-descandant-on-ancestor-layer-move-expected.txt +++ /dev/null
@@ -1,73 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) DIV", - "rect": [428, 38, 300, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='container'", - "rect": [408, 18, 300, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV", - "rect": [28, 38, 300, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='container'", - "rect": [8, 18, 300, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [428, 38, 256, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [28, 38, 256, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='container'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'There should only be one copy of this text.'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/repaint-during-scroll-with-zoom-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/repaint-during-scroll-with-zoom-expected.txt deleted file mode 100644 index b2baae1eb..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/repaint-during-scroll-with-zoom-expected.txt +++ /dev/null
@@ -1,107 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#C0C0C0", - "paintInvalidations": [ - { - "object": "LayoutIFrame (positioned) IFRAME", - "rect": [2, 65, 236, 235], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutView #document", - "rect": [2, 300, 236, 15], - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [3, 65, 235, 235], - "reason": "subtree" - }, - { - "object": "LayoutView #document", - "rect": [3, 65, 235, 235], - "reason": "subtree" - }, - { - "object": "LayoutView #document", - "rect": [3, 300, 235, 15], - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow HTML", - "rect": [3, 65, 225, 235], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [3, 65, 52, 17], - "reason": "subtree" - }, - { - "object": "LayoutView #document", - "rect": [237, 65, 16, 235], - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "rect": [237, 300, 16, 15], - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "rect": [238, 65, 15, 235], - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "rect": [238, 300, 15, 15], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutIFrame (positioned) IFRAME", - "reason": "invalidate paint rectangle" - }, - { - "object": "HorizontalScrollbar", - "reason": "scroll control" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow HTML", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'scroll me'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/repaint-resized-overflow-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/repaint-resized-overflow-expected.txt deleted file mode 100644 index 49951bb..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/repaint-resized-overflow-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 192, 784, 52], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='s'", - "rect": [8, 188, 108, 56], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='s'", - "reason": "incremental" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/repaint-svg-after-style-change-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/repaint-svg-after-style-change-expected.png deleted file mode 100644 index dda9832..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/repaint-svg-after-style-change-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/repaint-svg-after-style-change-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/repaint-svg-after-style-change-expected.txt deleted file mode 100644 index a530f35..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/repaint-svg-after-style-change-expected.txt +++ /dev/null
@@ -1,10 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x222 - LayoutBlockFlow {HTML} at (0,0) size 800x222 - LayoutBlockFlow {BODY} at (8,8) size 784x206 - LayoutSVGRoot {svg} at (0,0) size 201x201 - LayoutSVGContainer {g} at (0,0) size 200x200 - LayoutSVGPath {path} at (0,0) size 200x200 [fill={[type=SOLID] [color=#FF0000]}] [data="M 0 0 L 0 200 L 200 200 L 200 0 Z"] - LayoutSVGPath {path} at (0,0) size 200x200 [fill={[type=SOLID] [color=#008000]}] [data="M 0 0 L 0 200 L 200 200 L 200 0 Z"] - LayoutText {#text} at (0,0) size 0x0
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/replaced-clipped-positioned-not-wrong-incremental-repainting-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/replaced-clipped-positioned-not-wrong-incremental-repainting-expected.txt deleted file mode 100644 index 42f9e6b..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/replaced-clipped-positioned-not-wrong-incremental-repainting-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) (floating) DIV class='imgContainer'", - "rect": [8, 8, 194, 237], - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "rect": [8, 8, 194, 232], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) (floating) DIV class='imgContainer'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/resize-iframe-text-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/resize-iframe-text-expected.png deleted file mode 100644 index f85b5d5..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/resize-iframe-text-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/resize-iframe-text-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/resize-iframe-text-expected.txt deleted file mode 100644 index 9070eb9..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/resize-iframe-text-expected.txt +++ /dev/null
@@ -1,59 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [500, 400], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutIFrame (positioned) IFRAME", - "rect": [0, 200, 500, 200], - "reason": "incremental" - }, - { - "object": "LayoutView #document", - "rect": [0, 200, 500, 200], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow H3", - "rect": [8, 300, 400, 23], - "reason": "appeared" - }, - { - "object": "LayoutView #document", - "rect": [485, 0, 15, 200], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "incremental" - }, - { - "object": "LayoutIFrame (positioned) IFRAME", - "reason": "incremental" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow H3", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/resize-scrollable-iframe-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/resize-scrollable-iframe-expected.png deleted file mode 100644 index f85c570..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/resize-scrollable-iframe-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/resize-scrollable-iframe-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/resize-scrollable-iframe-expected.txt deleted file mode 100644 index ca3c261..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/resize-scrollable-iframe-expected.txt +++ /dev/null
@@ -1,97 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 108, 784, 305], - "reason": "geometry" - }, - { - "object": "LayoutIFrame IFRAME id='iframe'", - "rect": [8, 108, 300, 300], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [8, 193, 285, 200], - "reason": "incremental" - }, - { - "object": "LayoutView #document", - "rect": [8, 393, 285, 15], - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "rect": [93, 108, 200, 285], - "reason": "incremental" - }, - { - "object": "LayoutView #document", - "rect": [8, 193, 85, 15], - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "rect": [293, 108, 15, 285], - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "rect": [93, 108, 15, 85], - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "rect": [293, 393, 15, 15], - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "rect": [93, 193, 15, 15], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutIFrame IFRAME id='iframe'", - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "HorizontalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "reason": "incremental" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/ruby-flipped-blocks-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/ruby-flipped-blocks-expected.txt deleted file mode 100644 index e84520b2a..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/ruby-flipped-blocks-expected.txt +++ /dev/null
@@ -1,89 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 8, 30, 40], - "reason": "geometry" - }, - { - "object": "LayoutRubyBase (anonymous)", - "rect": [8, 28, 20, 20], - "reason": "style change" - }, - { - "object": "LayoutRubyRun (anonymous)", - "rect": [8, 28, 20, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 28, 20, 20], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [8, 8, 20, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [28, 33, 10, 10], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'a'", - "reason": "geometry" - }, - { - "object": "LayoutRubyRun (anonymous)", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'c'", - "reason": "style change" - }, - { - "object": "LayoutRubyBase (anonymous)", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'b'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/scroll-descendant-with-cached-cliprects-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/scroll-descendant-with-cached-cliprects-expected.png deleted file mode 100644 index 62e5363..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/scroll-descendant-with-cached-cliprects-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/scroll-descendant-with-cached-cliprects-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/scroll-descendant-with-cached-cliprects-expected.txt deleted file mode 100644 index 97d288d..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/scroll-descendant-with-cached-cliprects-expected.txt +++ /dev/null
@@ -1,103 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 1895], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='scrollpanel'", - "rect": [677, 252, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='container'", - "rect": [677, 252, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='ul'", - "rect": [677, 252, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [677, 252, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='container'", - "rect": [677, 52, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='ul'", - "rect": [677, 52, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [677, 52, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='scrollpanel'", - "rect": [677, 52, 100, 100], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='scrollpanel'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='container'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='ul'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='scrollpanel'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='container'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='ul'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='scrollpanel'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='container'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='ul'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/scroll-stacking-context-backface-visiblity-leaves-traces-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/scroll-stacking-context-backface-visiblity-leaves-traces-expected.png deleted file mode 100644 index 2bd2b1d..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/scroll-stacking-context-backface-visiblity-leaves-traces-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/scroll-stacking-context-backface-visiblity-leaves-traces-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/scroll-stacking-context-backface-visiblity-leaves-traces-expected.txt deleted file mode 100644 index 50e595a43..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/scroll-stacking-context-backface-visiblity-leaves-traces-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 5056], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutBlockFlow (relative positioned) HEADER", - "position": [8, 28], - "bounds": [769, 1972], - "drawsContent": true, - "backfaceVisibility": "hidden", - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='searchbar'", - "rect": [10, 1822, 150, 150], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='recentlink'", - "rect": [10, 1822, 150, 150], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='searchbar'", - "rect": [10, 1422, 150, 150], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='recentlink'", - "rect": [10, 1422, 150, 150], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='searchbar'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='recentlink'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/search-field-cancel-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/search-field-cancel-expected.txt deleted file mode 100644 index 7977cd1..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/search-field-cancel-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [11, 47, 156, 16], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [11, 47, 58, 16], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'some text'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selected-replaced-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selected-replaced-expected.png deleted file mode 100644 index d0b48ced..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selected-replaced-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selected-replaced-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selected-replaced-expected.txt deleted file mode 100644 index 8870e32f..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selected-replaced-expected.txt +++ /dev/null
@@ -1,42 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 52, 784, 237], - "reason": "geometry" - }, - { - "object": "LayoutImage (relative positioned) IMG id='test' class='moved'", - "rect": [8, 132, 214, 232], - "reason": "geometry" - }, - { - "object": "LayoutImage (relative positioned) IMG id='test' class='moved'", - "rect": [8, 52, 214, 232], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutImage (relative positioned) IMG id='test' class='moved'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selection-after-delete-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selection-after-delete-expected.txt deleted file mode 100644 index 46d3e1d..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selection-after-delete-expected.txt +++ /dev/null
@@ -1,49 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='test'", - "rect": [38, 78, 152, 102], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [39, 79, 146, 99], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='test'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutBR BR", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selection-after-remove-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selection-after-remove-expected.txt deleted file mode 100644 index 1afee59..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selection-after-remove-expected.txt +++ /dev/null
@@ -1,80 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='test'", - "rect": [38, 78, 152, 102], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [39, 79, 146, 99], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [67, 158, 39, 20], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [71, 79, 35, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [39, 79, 32, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutInline SPAN id='removeme'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='test'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'hello '", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'world'", - "reason": "geometry" - }, - { - "object": "LayoutBR BR", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selection-clear-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selection-clear-expected.txt deleted file mode 100644 index ae8bf2b..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selection-clear-expected.txt +++ /dev/null
@@ -1,105 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='firstLine'", - "rect": [8, 8, 100, 200], - "reason": "full" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 208, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='root'", - "rect": [8, 208, 100, 100], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 108, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 48, 92, 119], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 48, 8, 19], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV id='root'", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV id='root'", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV id='firstLine'", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox '\u00A0'", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBR BR", - "reason": "selection" - }, - { - "object": "InlineTextBox '\n'", - "reason": "selection" - }, - { - "object": "LayoutBR BR", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selection-partial-invalidation-between-blocks-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selection-partial-invalidation-between-blocks-expected.txt deleted file mode 100644 index 8682db9..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selection-partial-invalidation-between-blocks-expected.txt +++ /dev/null
@@ -1,61 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [11, 35, 74, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [11, 11, 55, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutTable TABLE", - "reason": "selection" - }, - { - "object": "LayoutTableCell TD id='firstCell'", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'First cell'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD id='secondCell'", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Second cell'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-expected.txt deleted file mode 100644 index 6057095..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-expected.txt +++ /dev/null
@@ -1,44 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [8, 7, 48, 34], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV id='container'", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'xx'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'y'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-rtl-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-rtl-expected.txt deleted file mode 100644 index ce1eaab..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-rtl-expected.txt +++ /dev/null
@@ -1,44 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [-8, 7, 48, 34], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV id='container'", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'xx'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'y'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-rl-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-rl-expected.txt deleted file mode 100644 index fe20478..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-rl-expected.txt +++ /dev/null
@@ -1,44 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [7, 8, 34, 48], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV id='container'", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'xx'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'y'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt deleted file mode 100644 index a81a817..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt +++ /dev/null
@@ -1,62 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTextControl INPUT id='target'", - "rect": [7, 7, 70, 24], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [10, 11, 64, 16], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [10, 11, 64, 16], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutTextControl INPUT id='target'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "HorizontalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'test test test'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/shadow-multiple-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/shadow-multiple-expected.png deleted file mode 100644 index b7aab3d..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/shadow-multiple-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-addition-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-addition-expected.txt deleted file mode 100644 index 5e26327..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-addition-expected.txt +++ /dev/null
@@ -1,100 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 836], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [0, 742, 785, 94], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='relative paddingTop'", - "rect": [8, 186, 769, 642], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='relative paddingTop'", - "rect": [8, 92, 769, 642], - "reason": "geometry" - }, - { - "object": "LayoutIFrame IFRAME id='iframe'", - "rect": [8, 92, 732, 94], - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow HTML", - "rect": [10, 94, 728, 90], - "reason": "appeared" - }, - { - "object": "LayoutView #document", - "rect": [10, 94, 728, 90], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [18, 102, 712, 74], - "reason": "appeared" - }, - { - "object": "LayoutImage IMG", - "rect": [58, 236, 489, 537], - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "rect": [58, 142, 489, 537], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "incremental" - }, - { - "object": "LayoutIFrame IFRAME id='iframe'", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='relative paddingTop'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow HTML", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt deleted file mode 100644 index da89271..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt +++ /dev/null
@@ -1,104 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 742], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [0, 742, 785, 99], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='relative paddingTop'", - "rect": [8, 191, 769, 642], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='relative paddingTop'", - "rect": [8, 92, 769, 642], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 92, 769, 99], - "reason": "disappeared" - }, - { - "object": "LayoutIFrame IFRAME id='iframe'", - "rect": [8, 92, 732, 94], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow HTML", - "rect": [10, 94, 728, 90], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [18, 102, 712, 74], - "reason": "disappeared" - }, - { - "object": "LayoutImage IMG", - "rect": [58, 241, 489, 537], - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "rect": [58, 142, 489, 537], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutIFrame IFRAME id='iframe'", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "disappeared" - }, - { - "object": "LayoutView #document", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='relative paddingTop'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow HTML", - "reason": "disappeared" - }, - { - "object": "LayoutView #document", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.png deleted file mode 100644 index 2bb6c8d..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.txt deleted file mode 100644 index 51f8ce3..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/single-line-cells-repeating-thead-break-inside-on-thead-only-expected.txt +++ /dev/null
@@ -1,28 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [1059, 585], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [10, 72, 835, 190], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'Col 1'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/slider-thumb-float-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/slider-thumb-float-expected.png deleted file mode 100644 index 7057a68..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/slider-thumb-float-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/stacked-diacritics-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/stacked-diacritics-expected.txt deleted file mode 100644 index 0522b23..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/stacked-diacritics-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='stacked'", - "rect": [19, 147, 200, 43], - "reason": "full" - }, - { - "object": "LayoutText #text", - "rect": [18, 148, 126, 41], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV id='stacked'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/static-to-positioned-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/static-to-positioned-expected.txt deleted file mode 100644 index 32f0eab..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/static-to-positioned-expected.txt +++ /dev/null
@@ -1,43 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='t'", - "rect": [8, 332, 100, 100], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='t'", - "rect": [8, 282, 100, 100], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='a'", - "rect": [8, 132, 100, 100], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='a'", - "rect": [8, 82, 100, 100], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) DIV id='a'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='t'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/subtree-layoutstate-transform-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/subtree-layoutstate-transform-expected.txt deleted file mode 100644 index 60291bfc..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/subtree-layoutstate-transform-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV class='layoutroot'", - "rect": [28, 48, 200, 200], - "reason": "background" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [28, 48, 200, 200], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV class='layoutroot'", - "reason": "background" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.txt deleted file mode 100644 index ab140a3c..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/subtree-root-skipped-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [10, 11, 169, 16], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [10, 11, 35, 16], - "reason": "full" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='div'", - "rect": [8, 288, 10, 20], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "full" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='div'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/absolute-sized-content-with-resources-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/absolute-sized-content-with-resources-expected.png deleted file mode 100644 index a5883e8d..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/absolute-sized-content-with-resources-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/absolute-sized-content-with-resources-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/absolute-sized-content-with-resources-expected.txt deleted file mode 100644 index 4965d46..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/absolute-sized-content-with-resources-expected.txt +++ /dev/null
@@ -1,116 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "rect": [8, 52, 402, 402], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g", - "rect": [42, 119, 334, 268], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [42, 119, 334, 268], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [42, 119, 334, 268], - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "rect": [242, 253, 167, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "rect": [242, 53, 167, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "rect": [9, 253, 167, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "rect": [9, 53, 167, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g", - "rect": [17, 219, 84, 68], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [17, 219, 84, 68], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [17, 219, 84, 68], - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "rect": [67, 253, 42, 67], - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "rect": [67, 186, 42, 67], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "reason": "SVG resource change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/add-outline-property-on-root-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/add-outline-property-on-root-expected.txt deleted file mode 100644 index d76bf880..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/add-outline-property-on-root-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "rect": [8, 8, 784, 105], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [-2, -2, 120, 120], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/animated-path-inside-transformed-html-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/animated-path-inside-transformed-html-expected.png deleted file mode 100644 index a281ad5..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/animated-path-inside-transformed-html-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/animated-path-inside-transformed-html-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/animated-path-inside-transformed-html-expected.txt deleted file mode 100644 index bf8341d7..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/animated-path-inside-transformed-html-expected.txt +++ /dev/null
@@ -1,80 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#FFFFFF", - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [203, 336, 123, 44], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text id='text'", - "rect": [203, 336, 123, 44], - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [246, 106, 121, 28], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text id='text'", - "rect": [246, 106, 121, 28], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [354, 127, 105, 102], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [111, 84, 101, 102], - "reason": "full" - }, - { - "object": "LayoutSVGImage image id='image'", - "rect": [352, 397, 98, 99], - "reason": "full" - }, - { - "object": "LayoutSVGImage image id='image'", - "rect": [90, 208, 98, 98], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "full" - }, - { - "object": "LayoutSVGText text id='text'", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'This is some text'", - "reason": "geometry" - }, - { - "object": "LayoutSVGImage image id='image'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-expected.png deleted file mode 100644 index 296d1f1..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-no-fixed-intrinsic-size-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-no-fixed-intrinsic-size-expected.png deleted file mode 100644 index c4d4892..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-no-fixed-intrinsic-size-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-same-image-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-same-image-expected.png deleted file mode 100644 index 296d1f1..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/animated-svg-as-image-same-image-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/append-text-node-to-tspan-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/append-text-node-to-tspan-expected.txt deleted file mode 100644 index 19bafb5..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/append-text-node-to-tspan-expected.txt +++ /dev/null
@@ -1,145 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 63, 307, 377], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 63, 307, 377], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 63, 307, 377], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 63, 307, 377], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 63, 307, 377], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 63, 307, 377], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [10, 63, 307, 377], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [10, 63, 307, 377], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan id='modify'", - "rect": [10, 63, 307, 377], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text", - "rect": [10, 63, 307, 377], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGText text", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutSVGTSpan tspan id='modify'", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PA'", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'SS'", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' '", - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' '", - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/circle-move-invalidation-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/circle-move-invalidation-expected.png deleted file mode 100644 index 198b4cf..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/circle-move-invalidation-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/ems-display-none-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/ems-display-none-expected.txt deleted file mode 100644 index daddbc7..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/ems-display-none-expected.txt +++ /dev/null
@@ -1,102 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "rect": [50, 54, 561, 86], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [50, 54, 561, 86], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [50, 54, 561, 86], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [50, 54, 561, 86], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [50, 54, 561, 86], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan id='tspan'", - "rect": [50, 54, 561, 86], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='text'", - "rect": [50, 54, 561, 86], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='text'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan id='tspan'", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Two lines of text should be visible.'", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox ' '", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Two lines of text should be visible.'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/exs-display-none-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/exs-display-none-expected.txt deleted file mode 100644 index 69c22c4..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/exs-display-none-expected.txt +++ /dev/null
@@ -1,102 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "rect": [50, 52, 561, 84], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [50, 52, 561, 84], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [50, 52, 561, 84], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [50, 52, 561, 84], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [50, 52, 561, 84], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan id='tspan'", - "rect": [50, 52, 561, 84], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='text'", - "rect": [50, 52, 561, 84], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='text'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan id='tspan'", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Two lines of text should be visible.'", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox ' '", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Two lines of text should be visible.'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/focus-element-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/focus-element-expected.png deleted file mode 100644 index 8d2fee6..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/focus-element-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/foreignObject-crash-on-hover-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/foreignObject-crash-on-hover-expected.png deleted file mode 100644 index b6922e01b..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/foreignObject-crash-on-hover-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/hit-test-unclosed-subpaths-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/hit-test-unclosed-subpaths-expected.png deleted file mode 100644 index 3aa2de6..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/hit-test-unclosed-subpaths-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/inner-svg-change-viewPort-relative-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/inner-svg-change-viewPort-relative-expected.png deleted file mode 100644 index 7335e6c0..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/inner-svg-change-viewPort-relative-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/inner-svg-change-viewPort-relative-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/inner-svg-change-viewPort-relative-expected.txt deleted file mode 100644 index d916d43..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/inner-svg-change-viewPort-relative-expected.txt +++ /dev/null
@@ -1,111 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 200, 200], - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='inner'", - "rect": [0, 0, 200, 200], - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [100, 85, 100, 19], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text", - "rect": [100, 85, 100, 19], - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 85, 100, 19], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 85, 100, 19], - "reason": "full" - }, - { - "object": "LayoutSVGContainer use", - "rect": [180, 120, 20, 20], - "reason": "full" - }, - { - "object": "LayoutSVGPath polygon id='triangle'", - "rect": [180, 120, 20, 20], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [180, 60, 20, 20], - "reason": "full" - }, - { - "object": "LayoutSVGContainer use", - "rect": [80, 120, 20, 20], - "reason": "full" - }, - { - "object": "LayoutSVGPath polygon id='triangle'", - "rect": [80, 120, 20, 20], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [80, 60, 20, 20], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGViewportContainer svg id='inner'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "full" - }, - { - "object": "LayoutSVGText text", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'right-aligned text'", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "reason": "full" - }, - { - "object": "LayoutSVGPath polygon id='triangle'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-clipPath-and-object-creation-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-clipPath-and-object-creation-expected.txt deleted file mode 100644 index ddca1b72..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-clipPath-and-object-creation-expected.txt +++ /dev/null
@@ -1,98 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g id='content'", - "rect": [16, 42, 784, 170], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g id='content'", - "rect": [16, 42, 784, 170], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [16, 42, 784, 170], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [16, 42, 784, 170], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [16, 42, 784, 170], - "reason": "style change" - }, - { - "object": "LayoutSVGText text", - "rect": [16, 42, 784, 170], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [0, 0, 334, 500], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g id='content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Clipped. INVISIBLE.'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='content'", - "reason": "geometry" - }, - { - "object": "LayoutSVGText text", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Clipped. INVISIBLE.'", - "reason": "geometry" - }, - { - "object": "LayoutSVGResourceClipper clipPath id='dynClip'", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-clipPath-creation-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-clipPath-creation-expected.txt deleted file mode 100644 index 2d30f2a..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-clipPath-creation-expected.txt +++ /dev/null
@@ -1,63 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g id='content'", - "rect": [16, 42, 784, 170], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [16, 42, 784, 170], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text", - "rect": [16, 42, 784, 170], - "reason": "style change" - }, - { - "object": "LayoutSVGPath path", - "rect": [0, 0, 334, 500], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g id='content'", - "reason": "geometry" - }, - { - "object": "LayoutSVGText text", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Clipped. INVISIBLE.'", - "reason": "geometry" - }, - { - "object": "LayoutSVGResourceClipper clipPath id='dynClip'", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.png deleted file mode 100644 index b008652..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.txt deleted file mode 100644 index 722759cf..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-and-object-creation-expected.txt +++ /dev/null
@@ -1,122 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g id='content'", - "rect": [0, 15, 756, 364], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 247, 756, 132], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 247, 756, 132], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 130, 595, 133], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 130, 595, 133], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 15, 446, 129], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 15, 446, 129], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGResourceLinearGradient linearGradient id='fillLinearGradient'", - "reason": "appeared" - }, - { - "object": "LayoutSVGGradientStop stop", - "reason": "appeared" - }, - { - "object": "LayoutSVGGradientStop stop", - "reason": "appeared" - }, - { - "object": "LayoutSVGResourceLinearGradient linearGradient id='strokeLinearGradient'", - "reason": "appeared" - }, - { - "object": "LayoutSVGGradientStop stop", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Gradient on fill'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Gradient on stroke'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Gradient on fill/stroke'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-creation-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-creation-expected.txt deleted file mode 100644 index f703958c..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-gradient-creation-expected.txt +++ /dev/null
@@ -1,53 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [33, 23, 697, 194], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text", - "rect": [33, 23, 697, 194], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGText text", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Gradient on fill'", - "reason": "geometry" - }, - { - "object": "LayoutSVGResourceLinearGradient linearGradient id='dynGrad'", - "reason": "appeared" - }, - { - "object": "LayoutSVGGradientStop stop", - "reason": "appeared" - }, - { - "object": "LayoutSVGGradientStop stop", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.png deleted file mode 100644 index 800b472..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.txt deleted file mode 100644 index df02fd6..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-and-object-creation-expected.txt +++ /dev/null
@@ -1,146 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g id='content'", - "rect": [0, 15, 680, 364], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 247, 680, 132], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 247, 680, 132], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 130, 519, 133], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 130, 519, 133], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 15, 370, 129], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 15, 370, 129], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [16, 16, 18, 18], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [16, 16, 18, 18], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [8, 8, 17, 17], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [8, 8, 17, 17], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGResourcePattern pattern id='fillPattern'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGResourcePattern pattern id='strokePattern'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Pattern on fill'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Pattern on stroke'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Pattern on fill/stroke'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-creation-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-creation-expected.txt deleted file mode 100644 index cca64e7..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-pattern-creation-expected.txt +++ /dev/null
@@ -1,63 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [33, 23, 622, 194], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text", - "rect": [33, 23, 622, 194], - "reason": "style change" - }, - { - "object": "LayoutSVGRect rect", - "rect": [16, 25, 18, 25], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [8, 12, 17, 26], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGText text", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Pattern on fill'", - "reason": "geometry" - }, - { - "object": "LayoutSVGResourcePattern pattern id='dynPattern'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/modify-text-node-in-tspan-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/modify-text-node-in-tspan-expected.txt deleted file mode 100644 index 511b6aa..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/modify-text-node-in-tspan-expected.txt +++ /dev/null
@@ -1,132 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 63, 307, 377], - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 63, 307, 377], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 63, 307, 377], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 63, 307, 377], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 63, 307, 377], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [10, 63, 307, 377], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [10, 63, 307, 377], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan id='modify'", - "rect": [10, 63, 307, 377], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text", - "rect": [10, 63, 307, 377], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGText text", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGTSpan tspan id='modify'", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' '", - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' '", - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/modify-transferred-listitem-different-attr-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/modify-transferred-listitem-different-attr-expected.txt deleted file mode 100644 index 91fab0e..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/modify-transferred-listitem-different-attr-expected.txt +++ /dev/null
@@ -1,71 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [23, 8, 85, 23], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text id='target'", - "rect": [23, 8, 85, 23], - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [58, 45, 50, 26], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text id='source'", - "rect": [58, 45, 50, 26], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGText text id='target'", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'A'", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' B C'", - "reason": "geometry" - }, - { - "object": "LayoutSVGText text id='source'", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'X Y Z'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/outline-offset-text-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/outline-offset-text-expected.txt deleted file mode 100644 index e13d392..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/outline-offset-text-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [103, 26, 160, 113], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text", - "rect": [103, 26, 160, 113], - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [63, 26, 160, 113], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text", - "rect": [63, 26, 160, 113], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGText text", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Foo'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/paintorder-filtered-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/paintorder-filtered-expected.png deleted file mode 100644 index 297f9f97..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/paintorder-filtered-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-expected.png deleted file mode 100644 index e8d3e49..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-expected.txt deleted file mode 100644 index 8a66db7..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-expected.txt +++ /dev/null
@@ -1,46 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "rect": [8, 72, 402, 402], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "rect": [9, 73, 400, 400], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [9, 73, 400, 400], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-with-resources-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-with-resources-expected.png deleted file mode 100644 index d61037d..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-with-resources-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-with-resources-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-with-resources-expected.txt deleted file mode 100644 index c479a6b..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-content-with-resources-expected.txt +++ /dev/null
@@ -1,56 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "rect": [8, 72, 402, 402], - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "rect": [47, 111, 324, 324], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [48, 112, 322, 322], - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "rect": [8, 154, 102, 238], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [9, 155, 100, 236], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "reason": "SVG resource change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-deep-shadow-tree-content-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-deep-shadow-tree-content-expected.png deleted file mode 100644 index dc58ac3..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-deep-shadow-tree-content-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-deep-shadow-tree-content-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-deep-shadow-tree-content-expected.txt deleted file mode 100644 index 31e8127..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-deep-shadow-tree-content-expected.txt +++ /dev/null
@@ -1,121 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "rect": [8, 72, 402, 402], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g id='targetUse'", - "rect": [209, 273, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "rect": [209, 273, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "rect": [209, 273, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [209, 273, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use id='targetUse'", - "rect": [109, 173, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "rect": [109, 173, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "rect": [9, 173, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g id='targetUse'", - "rect": [59, 273, 50, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "rect": [59, 273, 50, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "rect": [59, 273, 50, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [59, 273, 50, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use id='targetUse'", - "rect": [34, 173, 50, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "rect": [34, 173, 50, 200], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use id='targetUse'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g id='targetUse'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-image-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-image-expected.png deleted file mode 100644 index 0566b8fa..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-image-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-image-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-image-expected.txt deleted file mode 100644 index e7a73e93..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-image-expected.txt +++ /dev/null
@@ -1,46 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "rect": [8, 72, 402, 402], - "reason": "geometry" - }, - { - "object": "LayoutSVGImage image", - "rect": [9, 73, 400, 400], - "reason": "image" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [9, 73, 400, 400], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "geometry" - }, - { - "object": "LayoutSVGImage image", - "reason": "image" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-inner-svg-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-inner-svg-expected.png deleted file mode 100644 index 973cef02..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-inner-svg-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-inner-svg-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-inner-svg-expected.txt deleted file mode 100644 index 5c444a2..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-inner-svg-expected.txt +++ /dev/null
@@ -1,70 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "rect": [8, 52, 402, 402], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath path", - "rect": [27, 69, 364, 364], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [27, 69, 364, 364], - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg", - "rect": [27, 69, 364, 364], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath path", - "rect": [13, 207, 92, 91], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [13, 207, 92, 91], - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg", - "rect": [13, 207, 92, 91], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg", - "reason": "geometry" - }, - { - "object": "LayoutSVGPath path", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content-expected.png deleted file mode 100644 index 500773b4..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content-expected.txt deleted file mode 100644 index 10dedc8..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content-expected.txt +++ /dev/null
@@ -1,128 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "rect": [8, 72, 402, 402], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [9, 73, 400, 400], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "rect": [209, 273, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "rect": [209, 273, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "rect": [9, 273, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g id='targetUse'", - "rect": [9, 73, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "rect": [9, 73, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use id='targetUse'", - "rect": [9, 73, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect1'", - "rect": [9, 73, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect1'", - "rect": [9, 73, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect1'", - "rect": [9, 73, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "rect": [59, 273, 50, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "rect": [59, 273, 50, 200], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect1'", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use id='targetUse'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect1'", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect'", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g id='targetUse'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='targetRect1'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content-with-symbol-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content-with-symbol-expected.png deleted file mode 100644 index a812c5d2..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content-with-symbol-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content-with-symbol-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content-with-symbol-expected.txt deleted file mode 100644 index 11e00d1..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-shadow-tree-content-with-symbol-expected.txt +++ /dev/null
@@ -1,78 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "rect": [8, 72, 402, 402], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "rect": [9, 73, 400, 400], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [9, 73, 400, 400], - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg id='targetSymbol'", - "rect": [9, 73, 400, 400], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [209, 273, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [9, 73, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [59, 273, 50, 50], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg id='targetSymbol'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-on-symbol-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-on-symbol-expected.png deleted file mode 100644 index 1071d5c1..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-on-symbol-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-on-symbol-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-on-symbol-expected.txt deleted file mode 100644 index 6e26041..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-on-symbol-expected.txt +++ /dev/null
@@ -1,93 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "rect": [8, 52, 402, 402], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "rect": [45, 87, 328, 328], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath path", - "rect": [45, 87, 328, 328], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [45, 87, 328, 328], - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg id='gamesBorder'", - "rect": [45, 87, 328, 328], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath path", - "rect": [16, 59, 136, 137], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "rect": [18, 211, 82, 83], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath path", - "rect": [18, 211, 82, 83], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [18, 211, 82, 83], - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg id='gamesBorder'", - "rect": [18, 211, 82, 83], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "geometry" - }, - { - "object": "LayoutSVGPath path", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg id='gamesBorder'", - "reason": "geometry" - }, - { - "object": "LayoutSVGPath path", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-without-attributes-on-symbol-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-without-attributes-on-symbol-expected.png deleted file mode 100644 index 973cef02..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-without-attributes-on-symbol-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-without-attributes-on-symbol-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-without-attributes-on-symbol-expected.txt deleted file mode 100644 index bdacfa0..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-use-without-attributes-on-symbol-expected.txt +++ /dev/null
@@ -1,93 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "rect": [8, 52, 402, 402], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "rect": [27, 69, 364, 364], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath path", - "rect": [27, 69, 364, 364], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [27, 69, 364, 364], - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg id='gamesBorder'", - "rect": [27, 69, 364, 364], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath path", - "rect": [16, 59, 136, 137], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "rect": [13, 207, 92, 91], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath path", - "rect": [13, 207, 92, 91], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [13, 207, 92, 91], - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg id='gamesBorder'", - "rect": [13, 207, 92, 91], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "geometry" - }, - { - "object": "LayoutSVGPath path", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use", - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg id='gamesBorder'", - "reason": "geometry" - }, - { - "object": "LayoutSVGPath path", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/remove-outline-property-on-root-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/remove-outline-property-on-root-expected.txt deleted file mode 100644 index d76bf880..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/remove-outline-property-on-root-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "rect": [8, 8, 784, 105], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [-2, -2, 120, 120], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/remove-text-node-from-tspan-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/remove-text-node-from-tspan-expected.txt deleted file mode 100644 index 9a82b8ab..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/remove-text-node-from-tspan-expected.txt +++ /dev/null
@@ -1,129 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 63, 307, 377], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 63, 307, 377], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 63, 307, 377], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 63, 307, 377], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 63, 307, 377], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 63, 307, 377], - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [10, 63, 307, 377], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [10, 63, 307, 377], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan id='modify'", - "rect": [10, 63, 307, 377], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text", - "rect": [10, 63, 307, 377], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGTSpan tspan id='modify'", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' '", - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/remove-tspan-from-text-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/remove-tspan-from-text-expected.txt deleted file mode 100644 index 0f34e267..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/remove-tspan-from-text-expected.txt +++ /dev/null
@@ -1,120 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 63, 307, 257], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 63, 307, 257], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 63, 307, 257], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 63, 307, 257], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 63, 307, 257], - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [10, 63, 307, 257], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [10, 63, 307, 257], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan id='remove'", - "rect": [10, 63, 307, 257], - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text id='text'", - "rect": [10, 63, 307, 257], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan id='remove'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text id='text'", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox ' '", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "geometry" - }, - { - "object": "InlineFlowBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-non-scaling-stroke-text-decoration-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-non-scaling-stroke-text-decoration-expected.txt deleted file mode 100644 index 7d6e5160..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-non-scaling-stroke-text-decoration-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "rect": [9, 13, 46, 28], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [9, 13, 46, 28], - "reason": "style change" - }, - { - "object": "LayoutSVGText text id='t'", - "rect": [9, 13, 46, 28], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "reason": "geometry" - }, - { - "object": "LayoutSVGText text id='t'", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'Hello'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-non-scaling-stroke-text-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-non-scaling-stroke-text-expected.txt deleted file mode 100644 index 7d6e5160..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-non-scaling-stroke-text-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "rect": [9, 13, 46, 28], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [9, 13, 46, 28], - "reason": "style change" - }, - { - "object": "LayoutSVGText text id='t'", - "rect": [9, 13, 46, 28], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "reason": "geometry" - }, - { - "object": "LayoutSVGText text id='t'", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'Hello'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png deleted file mode 100644 index 5710651..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.txt deleted file mode 100644 index fb8a647..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.txt +++ /dev/null
@@ -1,106 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [1026, 1036], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow P", - "rect": [24, 1011, 737, 21], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [177, 1012, 203, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [435, 1012, 173, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline A", - "rect": [384, 1011, 47, 21], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [385, 1012, 45, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [429, 1012, 7, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [379, 1012, 7, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'pservers-pattern-01-b \u2190'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutInline A", - "reason": "style change" - }, - { - "object": "InlineFlowBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'index'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u2192 script-handle-01-b'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/svg-background-partial-redraw-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/svg-background-partial-redraw-expected.png deleted file mode 100644 index d69c49e..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/svg-background-partial-redraw-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/svg-background-partial-redraw-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/svg-background-partial-redraw-expected.txt deleted file mode 100644 index 7707a369..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/svg-background-partial-redraw-expected.txt +++ /dev/null
@@ -1,24 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='revealer'", - "rect": [9, 153, 200, 100], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='revealer'", - "reason": "disappeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/svg-image-change-content-size-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/svg-image-change-content-size-expected.png deleted file mode 100644 index 7843ecf54c..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/svg-image-change-content-size-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/svg-image-change-content-size-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/svg-image-change-content-size-expected.txt deleted file mode 100644 index 47c47468..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/svg-image-change-content-size-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "rect": [8, 52, 602, 422], - "reason": "geometry" - }, - { - "object": "LayoutImage img", - "rect": [9, 53, 420, 420], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutImage img", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/tabgroup-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/tabgroup-expected.png deleted file mode 100644 index 7733c19..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/tabgroup-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/tabgroup-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/tabgroup-expected.txt deleted file mode 100644 index 01a9e7a..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/tabgroup-expected.txt +++ /dev/null
@@ -1,2186 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGPath path", - "rect": [389, 37, 316, 82], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [389, 37, 316, 82], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [389, 37, 316, 82], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [389, 37, 316, 82], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [390, 38, 314, 80], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [390, 38, 314, 80], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [390, 38, 314, 80], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [390, 38, 314, 80], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [390, 38, 314, 80], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRound'", - "rect": [390, 38, 314, 80], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [262, 278, 303, 303], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [262, 278, 303, 303], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [262, 278, 303, 303], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [262, 278, 303, 303], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [263, 279, 301, 301], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [263, 279, 301, 301], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [263, 279, 301, 301], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [263, 279, 301, 301], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [263, 279, 301, 301], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectRound'", - "rect": [263, 279, 301, 301], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [506, 232, 238, 161], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [506, 232, 238, 161], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [506, 232, 238, 161], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [506, 232, 238, 161], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [6, 256, 238, 160], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [6, 256, 238, 160], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [6, 256, 238, 160], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [6, 256, 238, 160], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [507, 233, 236, 159], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [507, 233, 236, 159], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [507, 233, 236, 159], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [507, 233, 236, 159], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [507, 233, 236, 159], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectTriangle'", - "rect": [507, 233, 236, 159], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [7, 257, 236, 158], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [7, 257, 236, 158], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [7, 257, 236, 158], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [7, 257, 236, 158], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [7, 257, 236, 158], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupTriangle'", - "rect": [7, 257, 236, 158], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupTriangle__0_content'", - "rect": [15, 291, 211, 37], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [15, 291, 211, 37], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [15, 291, 211, 37], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [15, 291, 211, 37], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [15, 291, 211, 37], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [15, 291, 211, 37], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='contentTabGroupTriangle0'", - "rect": [15, 291, 211, 37], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [31, 404, 188, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [23, 146, 188, 10], - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [37, 404, 176, 98], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [29, 147, 176, 97], - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [39, 404, 172, 96], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [31, 146, 172, 96], - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [37, 6, 160, 238], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [37, 6, 160, 238], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [37, 6, 160, 238], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "rect": [37, 6, 160, 238], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [38, 7, 158, 236], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [38, 7, 158, 236], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [38, 7, 158, 236], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [38, 7, 158, 236], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [38, 7, 158, 236], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRect'", - "rect": [38, 7, 158, 236], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [15, 291, 150, 25], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [15, 291, 150, 25], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [15, 291, 150, 25], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [15, 291, 150, 25], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [7, 33, 150, 25], - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [7, 33, 150, 25], - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [7, 33, 150, 25], - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "rect": [7, 33, 150, 25], - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__1'", - "rect": [61, 256, 67, 31], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectTriangle__0'", - "rect": [506, 232, 66, 20], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRound__0'", - "rect": [389, 37, 66, 20], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectRound__0'", - "rect": [362, 278, 65, 65], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectTriangle__1'", - "rect": [568, 232, 65, 20], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRound__1'", - "rect": [451, 37, 65, 20], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectRound__1'", - "rect": [414, 331, 64, 63], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__0'", - "rect": [6, 256, 58, 31], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [66, 257, 57, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [66, 257, 57, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [66, 257, 57, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [66, 257, 57, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [66, 257, 57, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [511, 234, 56, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [511, 234, 56, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [511, 234, 56, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [394, 38, 56, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [394, 38, 56, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [394, 38, 56, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__2'", - "rect": [125, 256, 54, 31], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [574, 234, 54, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [574, 234, 54, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [574, 234, 54, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [457, 38, 54, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [457, 38, 54, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [457, 38, 54, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectRound__3'", - "rect": [506, 422, 53, 54], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectRound__2'", - "rect": [466, 382, 52, 52], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectTriangle__3'", - "rect": [674, 232, 51, 20], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [370, 285, 50, 50], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [370, 285, 50, 50], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [370, 285, 50, 50], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRound__3'", - "rect": [557, 37, 50, 20], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [422, 337, 49, 50], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [422, 337, 49, 50], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [422, 337, 49, 50], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectTriangle__2'", - "rect": [629, 232, 49, 20], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [11, 257, 48, 29], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [11, 257, 48, 29], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [11, 257, 48, 29], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [11, 257, 48, 29], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [11, 257, 48, 29], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRound__2'", - "rect": [512, 37, 48, 20], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [130, 257, 44, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [130, 257, 44, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [130, 257, 44, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [130, 257, 44, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [130, 257, 44, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__3'", - "rect": [175, 256, 43, 31], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [679, 234, 40, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [679, 234, 40, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [679, 234, 40, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [562, 38, 40, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [562, 38, 40, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [562, 38, 40, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [513, 429, 39, 39], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [513, 429, 39, 39], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [513, 429, 39, 39], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [473, 389, 38, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [473, 389, 38, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [473, 389, 38, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [635, 234, 38, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [635, 234, 38, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [635, 234, 38, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [517, 38, 38, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [517, 38, 38, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [517, 38, 38, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [181, 257, 32, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [181, 257, 32, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [181, 257, 32, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [181, 257, 32, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [181, 257, 32, 29], - "reason": "subtree" - }, - { - "object": "LayoutSVGPath path id='tabgroupRect__0'", - "rect": [178, 6, 19, 66], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRect__1'", - "rect": [178, 68, 19, 65], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRect__3'", - "rect": [178, 174, 19, 51], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRect__2'", - "rect": [178, 129, 19, 49], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [180, 11, 16, 56], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [180, 11, 16, 56], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [180, 11, 16, 56], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [180, 74, 16, 54], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [180, 74, 16, 54], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [180, 74, 16, 54], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [180, 179, 16, 40], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [180, 179, 16, 40], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [180, 179, 16, 40], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [180, 135, 16, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [180, 135, 16, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [180, 135, 16, 38], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGPath path", - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRect__1'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRect__1_content'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Geodata'", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Browser'", - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Download'", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Folder'", - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Your'", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Account'", - "reason": "subtree" - }, - { - "object": "LayoutSVGPath path", - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__0'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGHiddenContainer g id='tabgroupTriangle__0_content'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Help'", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox '& Info'", - "reason": "subtree" - }, - { - "object": "LayoutSVGPath path", - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectTriangle__2'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectTriangle__2_content'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRound__1'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRound__1_content'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectRound__0'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectRound__0_content'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGHiddenContainer g id='oversizeContent'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__0'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupTriangle__0_content'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRect'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRect__0'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Biography'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRect__0_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRect__2'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Events'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRect__2_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRect__3'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Portrait'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRect__3_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRect__1'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Relations'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRect__1_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupTriangle'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__1'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Download'", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Folder'", - "reason": "subtree" - }, - { - "object": "LayoutSVGHiddenContainer g id='tabgroupTriangle__1_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGHiddenContainer g id='oversizeContent'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'This is oversize content that can be'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'hidden on tab-change'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__2'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Your'", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Account'", - "reason": "subtree" - }, - { - "object": "LayoutSVGHiddenContainer g id='tabgroupTriangle__2_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__3'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Help'", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox '& Info'", - "reason": "subtree" - }, - { - "object": "LayoutSVGHiddenContainer g id='tabgroupTriangle__3_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupTriangle__0'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Geodata'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Browser'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupTriangle__0_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='contentTabGroupTriangle0'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'This is a tabgroup with triangular tab corners'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'and a double line tab. (use \"\\n\" as a line separator)'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Click on the second tab to see oversize content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectTriangle'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectTriangle__0'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Biography'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectTriangle__0_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectTriangle__1'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Relations'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectTriangle__1_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectTriangle__3'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Portrait'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectTriangle__3_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectTriangle__2'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Events'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectTriangle__2_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRound'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRound__0'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Biography'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRound__0_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRound__2'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Events'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRound__2_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRound__3'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Portrait'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRound__3_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRound__1'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Relations'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRound__1_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectRound'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectRound__1'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Relations'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectRound__1_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectRound__2'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Events'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectRound__2_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectRound__3'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Portrait'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectRound__3_content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='tabgroupRectRound__0'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Biography'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='tabgroupRectRound__0_content'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/text-dom-removal-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/text-dom-removal-expected.txt deleted file mode 100644 index ce8a718..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/text-dom-removal-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g id='objectsToRemove'", - "rect": [0, 0, 201, 129], - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [50, 110, 151, 19], - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "rect": [50, 110, 151, 19], - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 20, 20], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='objectsToRemove'", - "reason": "disappeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/text-mask-update-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/text-mask-update-expected.txt deleted file mode 100644 index 2a5d70a..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/text-mask-update-expected.txt +++ /dev/null
@@ -1,77 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 3, 46, 22], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [10, 3, 46, 22], - "reason": "style change" - }, - { - "object": "LayoutSVGText text id='text1'", - "rect": [10, 3, 46, 22], - "reason": "style change" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [10, 33, 41, 22], - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text id='text2'", - "rect": [10, 33, 41, 22], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "rect": [10, 33, 41, 17], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text id='text1'", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='text2'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "style change" - }, - { - "object": "LayoutSVGRect rect", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/text-repaint-including-stroke-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/text-repaint-including-stroke-expected.png deleted file mode 100644 index 2f584e33..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/text-repaint-including-stroke-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/text-repaint-including-stroke-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/text-repaint-including-stroke-expected.txt deleted file mode 100644 index fdb836b5..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/text-repaint-including-stroke-expected.txt +++ /dev/null
@@ -1,67 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [80, 0, 550, 117], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text id='bounce'", - "rect": [80, 0, 550, 117], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [30, 0, 403, 59], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text id='bounce'", - "rect": [30, 0, 403, 59], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGText text id='bounce'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Repaint me!'", - "reason": "subtree" - }, - { - "object": "LayoutSVGText text id='bounce'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Repaint me!'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/text-rescale-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/text-rescale-expected.txt deleted file mode 100644 index c531206..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/text-rescale-expected.txt +++ /dev/null
@@ -1,384 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g id='text2g'", - "rect": [0, 63, 402, 100], - "reason": "full" - }, - { - "object": "LayoutSVGContainer g id='text1g'", - "rect": [0, 13, 402, 100], - "reason": "subtree" - }, - { - "object": "LayoutSVGContainer g id='text3g'", - "rect": [0, 113, 402, 87], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 114, 193, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 114, 193, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 114, 193, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [0, 114, 193, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 114, 193, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 14, 193, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 14, 193, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 14, 193, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [0, 14, 193, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 14, 193, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGForeignObject foreignObject", - "rect": [210, 13, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutSVGForeignObject foreignObject", - "rect": [210, 113, 100, 87], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "rect": [210, 113, 100, 48], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "rect": [210, 13, 100, 48], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [310, 114, 92, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [310, 114, 92, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGViewportContainer svg", - "rect": [310, 114, 92, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [310, 14, 92, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [310, 14, 92, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGViewportContainer svg", - "rect": [310, 14, 92, 46], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [210, 114, 92, 46], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [210, 14, 92, 46], - "reason": "subtree" - }, - { - "object": "LayoutSVGContainer g id='text3g'", - "rect": [0, 3, 14, 4], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 3, 7, 2], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 3, 7, 2], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [0, 3, 7, 2], - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [0, 3, 7, 2], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [0, 3, 7, 2], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [9, 3, 5, 2], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [9, 3, 5, 2], - "reason": "subtree" - }, - { - "object": "LayoutSVGViewportContainer svg", - "rect": [9, 3, 5, 2], - "reason": "subtree" - }, - { - "object": "LayoutSVGForeignObject foreignObject", - "rect": [6, 3, 4, 4], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "rect": [6, 3, 4, 2], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [6, 3, 4, 2], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "rect": [0, 0, 1, 1], - "reason": "subtree" - }, - { - "object": "LayoutSVGContainer g id='text1g'", - "rect": [0, 0, 1, 1], - "reason": "subtree" - }, - { - "object": "LayoutSVGForeignObject foreignObject", - "rect": [0, 0, 1, 1], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [0, 0, 1, 1], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g id='text1g'", - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'PASS '", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "LayoutSVGForeignObject foreignObject", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "subtree" - }, - { - "object": "LayoutSVGViewportContainer svg", - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "subtree" - }, - { - "object": "LayoutSVGContainer g id='text2g'", - "reason": "full" - }, - { - "object": "LayoutSVGContainer g id='text3g'", - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'PASS '", - "reason": "subtree" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "LayoutSVGForeignObject foreignObject", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow P", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "subtree" - }, - { - "object": "LayoutSVGViewportContainer svg", - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/text-selection-text-05-t-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/text-selection-text-05-t-expected.png deleted file mode 100644 index 4172c83..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/text-selection-text-05-t-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/text-viewbox-rescale-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/text-viewbox-rescale-expected.txt deleted file mode 100644 index e392b91..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/text-viewbox-rescale-expected.txt +++ /dev/null
@@ -1,146 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [59, 143, 95, 23], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [59, 143, 95, 23], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [59, 143, 95, 23], - "reason": "full" - }, - { - "object": "LayoutSVGText text", - "rect": [59, 143, 95, 23], - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='inner2'", - "rect": [59, 143, 95, 23], - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [59, 43, 95, 23], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [59, 43, 95, 23], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [59, 43, 95, 23], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [59, 43, 95, 23], - "reason": "full" - }, - { - "object": "LayoutSVGText text", - "rect": [59, 43, 95, 23], - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='inner1'", - "rect": [59, 43, 95, 23], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGViewportContainer svg id='inner1'", - "reason": "full" - }, - { - "object": "LayoutSVGText text", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS '", - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "full" - }, - { - "object": "InlineFlowBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='inner2'", - "reason": "full" - }, - { - "object": "LayoutSVGText text", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS '", - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "full" - }, - { - "object": "InlineFlowBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/text-xy-updates-SVGList-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/text-xy-updates-SVGList-expected.txt deleted file mode 100644 index 0a95217..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/text-xy-updates-SVGList-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [808, 621], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [208, 13, 161, 19], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text id='ttt'", - "rect": [208, 13, 161, 19], - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [18, 193, 161, 19], - "reason": "geometry" - }, - { - "object": "LayoutSVGText text id='ttt'", - "rect": [18, 193, 161, 19], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGText text id='ttt'", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Passes, if text is at 200x20'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/tspan-dynamic-positioning-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/tspan-dynamic-positioning-expected.txt deleted file mode 100644 index d4d9911..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/tspan-dynamic-positioning-expected.txt +++ /dev/null
@@ -1,69 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [200, 185, 240, 19], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan id='ts'", - "rect": [200, 185, 240, 19], - "reason": "full" - }, - { - "object": "LayoutSVGText text", - "rect": [200, 185, 240, 19], - "reason": "geometry" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [20, 5, 240, 19], - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan id='ts'", - "rect": [20, 5, 240, 19], - "reason": "full" - }, - { - "object": "LayoutSVGText text", - "rect": [20, 5, 240, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGText text", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGTSpan tspan id='ts'", - "reason": "full" - }, - { - "object": "InlineFlowBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'This text should be at visible at 200,200'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/use-clipped-hit-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/use-clipped-hit-expected.png deleted file mode 100644 index fbb5663..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/use-clipped-hit-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/use-clipped-hit-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/use-clipped-hit-expected.txt deleted file mode 100644 index 6b7ce2227..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/use-clipped-hit-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [90, 115, 59, 19], - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text id='status'", - "rect": [90, 115, 59, 19], - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [90, 115, 43, 19], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text id='status'", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Passed'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/use-event-handler-on-use-element-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/use-event-handler-on-use-element-expected.png deleted file mode 100644 index 1a3abeb..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/use-event-handler-on-use-element-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/use-setAttribute-crash-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/use-setAttribute-crash-expected.png deleted file mode 100644 index 242b051c..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/use-setAttribute-crash-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/use-setAttribute-crash-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/use-setAttribute-crash-expected.txt deleted file mode 100644 index d84fc5a9c..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/use-setAttribute-crash-expected.txt +++ /dev/null
@@ -1,91 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow body", - "rect": [8, 8, 784, 205], - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse svg:circle id='circle'", - "rect": [32, 32, 52, 52], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer svg:use id='use'", - "rect": [33, 33, 50, 50], - "reason": "full" - }, - { - "object": "LayoutSVGRoot svg:svg id='svg'", - "rect": [33, 33, 50, 50], - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='symbol'", - "rect": [33, 33, 50, 50], - "reason": "appeared" - }, - { - "object": "LayoutSVGEllipse svg:circle id='circle'", - "rect": [7, 7, 27, 27], - "reason": "subtree" - }, - { - "object": "LayoutSVGEllipse svg:circle id='circle'", - "rect": [52, 52, 12, 12], - "reason": "disappeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='symbol'", - "rect": [53, 53, 10, 10], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGEllipse svg:circle id='circle'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='symbol'", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow body", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg:svg id='svg'", - "reason": "full" - }, - { - "object": "LayoutSVGEllipse svg:circle id='circle'", - "reason": "subtree" - }, - { - "object": "LayoutSVGContainer svg:use id='use'", - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='symbol'", - "reason": "appeared" - }, - { - "object": "LayoutSVGEllipse svg:circle id='circle'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/window-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/window-expected.png deleted file mode 100644 index ad610ed..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/window-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/window-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/window-expected.txt deleted file mode 100644 index 6ace4ab..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/window-expected.txt +++ /dev/null
@@ -1,2054 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g id='Windows'", - "rect": [38, 81, 760, 454], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g id='Windows'", - "rect": [38, 92, 760, 443], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [37, 142, 551, 394], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarbigWindow'", - "rect": [37, 142, 551, 17], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [37, 522, 551, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='bigWindow'", - "rect": [38, 143, 549, 392], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupbigWindow'", - "rect": [38, 143, 549, 392], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupbigWindow'", - "rect": [38, 143, 549, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [76, 181, 317, 238], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarnestedWindow'", - "rect": [76, 181, 317, 17], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [76, 405, 317, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='nestedWindow'", - "rect": [77, 182, 315, 236], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupnestedWindow'", - "rect": [77, 182, 315, 236], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupnestedWindow'", - "rect": [77, 182, 315, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='navWindow'", - "rect": [613, 81, 185, 169], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g id='decoGroupnavWindow'", - "rect": [613, 81, 185, 159], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupnavWindow'", - "rect": [613, 81, 185, 159], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='decoGroupMinimizednavWindow'", - "rect": [613, 81, 185, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [623, 91, 176, 160], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [76, 194, 176, 145], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarcolourPickerWindow'", - "rect": [76, 194, 176, 17], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [623, 237, 176, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [76, 325, 176, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='navWindow'", - "rect": [624, 92, 174, 158], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupnavWindow'", - "rect": [624, 92, 174, 158], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='colourPickerWindow'", - "rect": [77, 195, 174, 143], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupcolourPickerWindow'", - "rect": [77, 195, 174, 143], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupcolourPickerWindow'", - "rect": [77, 195, 174, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [311, 376, 160, 145], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [632, 101, 160, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [632, 101, 160, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [632, 101, 160, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [632, 101, 160, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [632, 101, 160, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [632, 101, 160, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [632, 101, 160, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [632, 101, 160, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [632, 101, 160, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [632, 101, 160, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [632, 101, 160, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [632, 101, 160, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [632, 101, 160, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [632, 101, 160, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='textNavWindow'", - "rect": [632, 101, 160, 99], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarsmallWindow'", - "rect": [311, 376, 160, 17], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [311, 507, 160, 14], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='smallWindow'", - "rect": [312, 377, 158, 143], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupsmallWindow'", - "rect": [312, 377, 158, 143], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupsmallWindow'", - "rect": [312, 377, 158, 16], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [248, 343, 145, 66], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarstatusWindow'", - "rect": [248, 343, 145, 17], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='statusWindow'", - "rect": [249, 344, 143, 64], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupstatusWindow'", - "rect": [249, 344, 143, 64], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupstatusWindow'", - "rect": [249, 344, 143, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [320, 398, 136, 65], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [320, 398, 136, 65], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [320, 398, 136, 65], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [320, 398, 136, 65], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [320, 398, 136, 65], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [320, 398, 136, 65], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [320, 398, 136, 65], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [320, 398, 136, 65], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [320, 398, 136, 65], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [320, 398, 136, 65], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='textSmallWindow'", - "rect": [320, 398, 136, 65], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [80, 326, 136, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [80, 326, 136, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [80, 182, 131, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [80, 182, 131, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [38, 475, 121, 50], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [80, 406, 121, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [80, 406, 121, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='minimalWindow'", - "rect": [39, 476, 119, 48], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupminimalWindow'", - "rect": [39, 476, 119, 48], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [257, 364, 118, 40], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [257, 364, 118, 40], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [257, 364, 118, 40], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [257, 364, 118, 40], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [257, 364, 118, 40], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [257, 364, 118, 40], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='textStatusWindow'", - "rect": [257, 364, 118, 40], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [43, 480, 114, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [43, 480, 114, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [43, 480, 114, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [43, 480, 114, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [43, 480, 114, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "rect": [43, 480, 114, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='textMinimalWindow'", - "rect": [43, 480, 114, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [41, 524, 98, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [41, 524, 98, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [314, 508, 87, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [314, 508, 87, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [252, 344, 75, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [252, 344, 75, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [314, 378, 69, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [314, 378, 69, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [80, 196, 64, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [80, 196, 64, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [41, 143, 59, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [41, 143, 59, 15], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupnavWindow'", - "rect": [757, 94, 36, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [627, 238, 33, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [627, 238, 33, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [613, 81, 16, 159], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [616, 153, 13, 81], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "rect": [616, 153, 13, 81], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [768, 93, 13, 13], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [768, 93, 13, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [557, 144, 13, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [362, 183, 13, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [440, 379, 13, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [375, 345, 13, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [376, 183, 12, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [376, 183, 12, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [782, 94, 12, 12], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath line", - "rect": [782, 94, 12, 12], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath line", - "rect": [782, 94, 12, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [782, 94, 12, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [615, 99, 12, 12], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath line", - "rect": [615, 83, 12, 12], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath line", - "rect": [615, 83, 12, 12], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath line", - "rect": [571, 144, 12, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [571, 144, 12, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [454, 379, 12, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [454, 379, 12, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [235, 197, 12, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [235, 197, 12, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [222, 197, 12, 12], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [427, 387, 12, 4], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [349, 192, 12, 4], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [615, 123, 12, 3], - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonnavWindow'", - "rect": [769, 94, 11, 11], - "reason": "full" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonnavWindow'", - "rect": [769, 94, 11, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "rect": [769, 94, 11, 11], - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "rect": [769, 94, 11, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonbigWindow'", - "rect": [558, 145, 11, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "rect": [558, 145, 11, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonnestedWindow'", - "rect": [363, 184, 11, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "rect": [363, 184, 11, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonsmallWindow'", - "rect": [441, 380, 11, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "rect": [441, 380, 11, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonstatusWindow'", - "rect": [376, 346, 11, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "rect": [376, 346, 11, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [756, 102, 11, 4], - "reason": "geometry" - }, - { - "object": "LayoutSVGPath line", - "rect": [756, 102, 11, 4], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [545, 153, 11, 4], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [209, 205, 11, 4], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [363, 354, 11, 3], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtonnestedWindow'", - "rect": [377, 184, 10, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "rect": [377, 184, 10, 11], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtonnavWindow'", - "rect": [783, 95, 10, 10], - "reason": "full" - }, - { - "object": "LayoutSVGContainer use id='closeButtonnavWindow'", - "rect": [783, 95, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "rect": [783, 95, 10, 10], - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "rect": [783, 95, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonnavWindow'", - "rect": [616, 100, 10, 10], - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "rect": [616, 100, 10, 10], - "reason": "full" - }, - { - "object": "LayoutSVGContainer use id='closeButtonnavWindow'", - "rect": [616, 84, 10, 10], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "rect": [616, 84, 10, 10], - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "rect": [616, 84, 10, 10], - "reason": "full" - }, - { - "object": "LayoutSVGContainer use id='closeButtonbigWindow'", - "rect": [572, 145, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "rect": [572, 145, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtonsmallWindow'", - "rect": [455, 380, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [455, 380, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "rect": [455, 380, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonsmallWindow'", - "rect": [428, 380, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [428, 380, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "rect": [428, 380, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonnestedWindow'", - "rect": [350, 185, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "rect": [350, 185, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtoncolourPickerWindow'", - "rect": [236, 198, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [236, 198, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "rect": [236, 198, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtoncolourPickerWindow'", - "rect": [223, 198, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "rect": [223, 198, 10, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [783, 95, 10, 9], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [783, 95, 10, 9], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonnavWindow'", - "rect": [616, 116, 10, 9], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "rect": [616, 116, 10, 9], - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "rect": [616, 116, 10, 9], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "rect": [572, 146, 10, 9], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [350, 185, 10, 9], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonnavWindow'", - "rect": [757, 95, 9, 10], - "reason": "full" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonnavWindow'", - "rect": [757, 95, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "rect": [757, 95, 9, 10], - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "rect": [757, 95, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonbigWindow'", - "rect": [546, 146, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "rect": [546, 146, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonstatusWindow'", - "rect": [364, 346, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [364, 346, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "rect": [364, 346, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtoncolourPickerWindow'", - "rect": [210, 198, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [210, 198, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "rect": [210, 198, 9, 10], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [757, 95, 9, 9], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [757, 95, 9, 9], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [546, 146, 9, 9], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [377, 185, 9, 9], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [-1, 20, 7, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [-1, 20, 7, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [-1, 20, 7, 13], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "rect": [-1, 29, 7, 4], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [0, 22, 5, 9], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [0, 22, 5, 9], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGHiddenContainer symbol id='closeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGHiddenContainer symbol id='maximizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGHiddenContainer symbol id='minimizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='Windows'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='navWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupnavWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='textNavWindow'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'This window should'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'contain navigation tools'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Click on button'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox ''Resize Navigation Window' for a'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'random resize of this Window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Note that this window also'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'features a window decoration'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Statusbar'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupnavWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtonnavWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonnavWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonnavWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='bigWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupbigWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'This is a big movable window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='nestedWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupnestedWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'This window contains other windows'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='colourPickerWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupcolourPickerWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Changing a colour changes background'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupcolourPickerWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarcolourPickerWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Colour Picker'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtoncolourPickerWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtoncolourPickerWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtoncolourPickerWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='statusWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupstatusWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='textStatusWindow'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'This is a none-moveable'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'none-closeable status'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupstatusWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarstatusWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Status Window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonstatusWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonstatusWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupnestedWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarnestedWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Nested middlesize Window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtonnestedWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonnestedWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonnestedWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='smallWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupsmallWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='textSmallWindow'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'This window has a callback'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'function indicating mouse'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'movements in the statusbar'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'and alerting window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'events'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Callback function is active'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupsmallWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarsmallWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Small Window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtonsmallWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonsmallWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonsmallWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='minimalWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowMainGroupminimalWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='textMinimalWindow'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'This is a minimal window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'without title and status bar.'", - "reason": "appeared" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "appeared" - }, - { - "object": "InlineFlowBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'it is also not moveable'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupminimalWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupbigWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='titleBarbigWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Big Window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtonbigWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonbigWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonbigWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath line", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='Windows'", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g id='navWindow'", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g id='windowTitlebarGroupnavWindow'", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g id='decoGroupnavWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='decoGroupMinimizednavWindow'", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'Navigation Window'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use id='closeButtonnavWindow'", - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='closeButton'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - }, - { - "object": "LayoutSVGPath line", - "reason": "geometry" - }, - { - "object": "LayoutSVGPath line", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use id='maximizeButtonnavWindow'", - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='maximizeButton'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer use id='minimizeButtonnavWindow'", - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='minimizeButton'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - }, - { - "object": "LayoutSVGPath line", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/zoom-coords-viewattr-01-b-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/zoom-coords-viewattr-01-b-expected.png deleted file mode 100644 index 122fc1d..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/zoom-coords-viewattr-01-b-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/zoom-foreignObject-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/zoom-foreignObject-expected.png deleted file mode 100644 index 6b24b0ce82..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/svg/zoom-foreignObject-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table-cell-collapsed-border-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table-cell-collapsed-border-expected.txt deleted file mode 100644 index 2221092..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table-cell-collapsed-border-expected.txt +++ /dev/null
@@ -1,78 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableRow TR", - "rect": [3, 264, 441, 110], - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "rect": [3, 166, 441, 108], - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "rect": [3, 364, 441, 105], - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 64, 436, 108], - "reason": "style change" - }, - { - "object": "LayoutTableCell TD id='t3'", - "rect": [225, 269, 112, 100], - "reason": "style change" - }, - { - "object": "LayoutTableCell TD id='t1'", - "rect": [225, 69, 112, 100], - "reason": "style change" - }, - { - "object": "LayoutTableCell TD id='t2'", - "rect": [8, 269, 110, 100], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableRow TR", - "reason": "style change" - }, - { - "object": "LayoutTableCell TD id='t1'", - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "reason": "style change" - }, - { - "object": "LayoutTableCell TD id='t2'", - "reason": "style change" - }, - { - "object": "LayoutTableCell TD id='t3'", - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table-cell-move-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table-cell-move-expected.txt deleted file mode 100644 index b5db181..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table-cell-move-expected.txt +++ /dev/null
@@ -1,69 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCell TD", - "rect": [8, 206, 60, 180], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 146, 60, 180], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 326, 60, 60], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 266, 60, 60], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 206, 60, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 146, 60, 60], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableCell TD", - "reason": "appeared" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "disappeared" - }, - { - "object": "LayoutTableCell TD id='s'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt deleted file mode 100644 index 2452b49..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table-collapsed-border-expected.txt +++ /dev/null
@@ -1,377 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTable TABLE", - "rect": [8, 194, 103, 82], - "reason": "full" - }, - { - "object": "LayoutTableSection TBODY", - "rect": [8, 194, 103, 82], - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR id='r2'", - "rect": [8, 224, 103, 22], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE", - "rect": [8, 102, 95, 82], - "reason": "full" - }, - { - "object": "LayoutTableSection TBODY", - "rect": [8, 102, 95, 82], - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 338, 95, 30], - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 286, 95, 30], - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 154, 95, 30], - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 102, 95, 30], - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 316, 95, 22], - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR id='r'", - "rect": [8, 132, 95, 22], - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE id='t'", - "rect": [8, 10, 91, 82], - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 62, 91, 30], - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 10, 91, 30], - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 40, 91, 22], - "reason": "style change" - }, - { - "object": "LayoutTableCell TD id='d2'", - "rect": [22, 224, 85, 22], - "reason": "disappeared" - }, - { - "object": "LayoutTableCell TD", - "rect": [22, 338, 77, 26], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [22, 290, 77, 26], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [22, 154, 77, 26], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [22, 106, 77, 26], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD id='d3'", - "rect": [22, 316, 77, 22], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD id='d'", - "rect": [22, 132, 77, 22], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [23, 317, 71, 19], - "reason": "appeared" - }, - { - "object": "LayoutText #text", - "rect": [23, 133, 71, 19], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [23, 339, 46, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [23, 155, 46, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [23, 295, 40, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [23, 111, 40, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [23, 225, 32, 19], - "reason": "disappeared" - }, - { - "object": "LayoutTable TABLE", - "rect": [74, 286, 29, 82], - "reason": "incremental" - }, - { - "object": "LayoutTableCell TD", - "rect": [12, 224, 10, 22], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [12, 132, 10, 22], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [17, 225, 4, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [17, 133, 4, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutTableCell TD id='d'", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutTableCell TD id='d2'", - "reason": "disappeared" - }, - { - "object": "LayoutTable TABLE id='t'", - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "reason": "style change" - }, - { - "object": "LayoutTableRow TR", - "reason": "style change" - }, - { - "object": "LayoutTable TABLE", - "reason": "full" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Lorem'", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR id='r'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u00A0'", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'sit amet'", - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE", - "reason": "full" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR id='r2'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u00A0'", - "reason": "geometry" - }, - { - "object": "LayoutTable TABLE", - "reason": "incremental" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'Lorem'", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD id='d3'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'ipsum dolor'", - "reason": "appeared" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'sit amet'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table-shrink-row-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table-shrink-row-repaint-expected.txt deleted file mode 100644 index 6795100..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table-shrink-row-repaint-expected.txt +++ /dev/null
@@ -1,465 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 850], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [0, 850, 785, 200], - "reason": "incremental" - }, - { - "object": "LayoutTableCell TD id='resizeMe'", - "rect": [8, 117, 769, 205], - "reason": "incremental" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 982, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 922, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 862, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 802, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 782, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 742, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 722, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 682, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 662, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 622, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 602, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 562, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 542, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 502, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 482, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 442, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 422, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 382, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 362, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 322, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 302, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 242, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 182, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [8, 122, 769, 60], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 1002, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 942, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 882, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 822, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 802, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 742, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 682, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 622, 16, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 762, 8, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 702, 8, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 642, 8, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 582, 8, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 562, 8, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 522, 8, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 502, 8, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 462, 8, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 442, 8, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 402, 8, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 382, 8, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 342, 8, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 322, 8, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 262, 8, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 202, 8, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [13, 142, 8, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "incremental" - }, - { - "object": "LayoutTableCell TD id='resizeMe'", - "reason": "incremental" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '2'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '3'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '4'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '5'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '6'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '7'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '8'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '9'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '10'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '11'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '12'", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '13'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt deleted file mode 100644 index 9d1fa083..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/cached-change-cell-sl-border-color-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableRow TR", - "rect": [8, 8, 114, 54], - "reason": "style change" - }, - { - "object": "LayoutTableCell TD id='foo'", - "rect": [10, 10, 56, 50], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='blockDiv'", - "rect": [90, 30, 20, 20], - "reason": "full" - }, - { - "object": "LayoutText #text", - "rect": [90, 30, 11, 19], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutTableRow TR", - "reason": "style change" - }, - { - "object": "LayoutTableCell TD id='foo'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='blockDiv'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-expected.png deleted file mode 100644 index 68435226..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-expected.txt deleted file mode 100644 index 0764dcc3..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-expected.txt +++ /dev/null
@@ -1,34 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCol COL id='target'", - "rect": [8, 28, 184, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [71, 96], - "bounds": [58, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY", - "reason": "style change" - }, - { - "object": "LayoutTableCol COL id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-initial-empty-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-initial-empty-expected.png deleted file mode 100644 index 68435226..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-initial-empty-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-initial-empty-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-initial-empty-expected.txt deleted file mode 100644 index 0764dcc3..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-initial-empty-expected.txt +++ /dev/null
@@ -1,34 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCol COL id='target'", - "rect": [8, 28, 184, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [71, 96], - "bounds": [58, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY", - "reason": "style change" - }, - { - "object": "LayoutTableCol COL id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-expected.png deleted file mode 100644 index b82f195..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-expected.txt deleted file mode 100644 index 1e45130a..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-expected.txt +++ /dev/null
@@ -1,40 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCol COL id='target'", - "rect": [8, 28, 184, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [71, 96], - "bounds": [58, 64], - "drawsContent": true - }, - { - "name": "LayoutTableCell TD", - "position": [131, 96], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY", - "reason": "style change" - }, - { - "object": "LayoutTableCol COL id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-initial-empty-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-initial-empty-expected.png deleted file mode 100644 index b82f195..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-initial-empty-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-initial-empty-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-initial-empty-expected.txt deleted file mode 100644 index 1e45130a..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-col-span-initial-empty-expected.txt +++ /dev/null
@@ -1,40 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCol COL id='target'", - "rect": [8, 28, 184, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [71, 96], - "bounds": [58, 64], - "drawsContent": true - }, - { - "name": "LayoutTableCell TD", - "position": [131, 96], - "bounds": [59, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY", - "reason": "style change" - }, - { - "object": "LayoutTableCol COL id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-expected.png deleted file mode 100644 index 68435226..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-expected.txt deleted file mode 100644 index 524341c..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-expected.txt +++ /dev/null
@@ -1,34 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCol COLGROUP id='target'", - "rect": [8, 28, 184, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD id='target'", - "position": [71, 96], - "bounds": [58, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY", - "reason": "style change" - }, - { - "object": "LayoutTableCol COLGROUP id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-initial-empty-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-initial-empty-expected.png deleted file mode 100644 index 68435226..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-initial-empty-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-initial-empty-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-initial-empty-expected.txt deleted file mode 100644 index 524341c..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-colgroup-initial-empty-expected.txt +++ /dev/null
@@ -1,34 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCol COLGROUP id='target'", - "rect": [8, 28, 184, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD id='target'", - "position": [71, 96], - "bounds": [58, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY", - "reason": "style change" - }, - { - "object": "LayoutTableCol COLGROUP id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-expected.png deleted file mode 100644 index b04d774..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-expected.txt deleted file mode 100644 index f6ccb23f..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTableRow TR id='target'", - "position": [8, 96], - "bounds": [184, 64], - "drawsContent": true, - "backgroundColor": "#ADD8E6", - "paintInvalidations": [ - { - "object": "LayoutTableRow TR id='target'", - "rect": [0, 0, 184, 64], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [63, 0], - "bounds": [58, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableRow TR id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-initial-empty-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-initial-empty-expected.png deleted file mode 100644 index b04d774..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-initial-empty-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-initial-empty-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-initial-empty-expected.txt deleted file mode 100644 index f6ccb23f..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-composited-row-initial-empty-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTableRow TR id='target'", - "position": [8, 96], - "bounds": [184, 64], - "drawsContent": true, - "backgroundColor": "#ADD8E6", - "paintInvalidations": [ - { - "object": "LayoutTableRow TR id='target'", - "rect": [0, 0, 184, 64], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [63, 0], - "bounds": [58, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableRow TR id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-expected.png deleted file mode 100644 index b04d774..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-expected.txt deleted file mode 100644 index 8ca944d..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-expected.txt +++ /dev/null
@@ -1,30 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableRow TR id='target'", - "rect": [8, 96, 184, 64], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [71, 96], - "bounds": [58, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableRow TR id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-initial-empty-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-initial-empty-expected.png deleted file mode 100644 index b04d774..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-initial-empty-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-initial-empty-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-initial-empty-expected.txt deleted file mode 100644 index 8ca944d..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-initial-empty-expected.txt +++ /dev/null
@@ -1,30 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableRow TR id='target'", - "rect": [8, 96, 184, 64], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [71, 96], - "bounds": [58, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableRow TR id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-expected.png deleted file mode 100644 index 0468ab2..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-expected.txt deleted file mode 100644 index 1faa0f8..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-expected.txt +++ /dev/null
@@ -1,43 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTableSection TBODY id='target'", - "position": [8, 28], - "bounds": [184, 134], - "drawsContent": true, - "backgroundColor": "#ADD8E6", - "paintInvalidations": [ - { - "object": "LayoutTableSection TBODY id='target'", - "rect": [0, 0, 184, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableRow TR", - "position": [0, 68], - "bounds": [184, 64], - "drawsContent": true - }, - { - "name": "LayoutTableCell TD", - "position": [63, 0], - "bounds": [58, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-initial-empty-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-initial-empty-expected.png deleted file mode 100644 index 0468ab2..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-initial-empty-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-initial-empty-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-initial-empty-expected.txt deleted file mode 100644 index 1faa0f8..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-composited-row-initial-empty-expected.txt +++ /dev/null
@@ -1,43 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTableSection TBODY id='target'", - "position": [8, 28], - "bounds": [184, 134], - "drawsContent": true, - "backgroundColor": "#ADD8E6", - "paintInvalidations": [ - { - "object": "LayoutTableSection TBODY id='target'", - "rect": [0, 0, 184, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableRow TR", - "position": [0, 68], - "bounds": [184, 64], - "drawsContent": true - }, - { - "name": "LayoutTableCell TD", - "position": [63, 0], - "bounds": [58, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-expected.png deleted file mode 100644 index 0468ab2..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-expected.txt deleted file mode 100644 index 488d0669..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTableSection TBODY id='target'", - "position": [8, 28], - "bounds": [184, 134], - "drawsContent": true, - "backgroundColor": "#ADD8E6", - "paintInvalidations": [ - { - "object": "LayoutTableSection TBODY id='target'", - "rect": [0, 0, 184, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [63, 68], - "bounds": [58, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-initial-empty-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-initial-empty-expected.png deleted file mode 100644 index 0468ab2..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-initial-empty-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-initial-empty-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-initial-empty-expected.txt deleted file mode 100644 index 488d0669..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/composited-table-background-section-initial-empty-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutTableSection TBODY id='target'", - "position": [8, 28], - "bounds": [184, 134], - "drawsContent": true, - "backgroundColor": "#ADD8E6", - "paintInvalidations": [ - { - "object": "LayoutTableSection TBODY id='target'", - "rect": [0, 0, 184, 134], - "reason": "style change" - } - ] - }, - { - "name": "LayoutTableCell TD", - "position": [63, 68], - "bounds": [58, 64], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableSection TBODY id='target'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt deleted file mode 100644 index c2a1999e..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-percent-size-cell-expected.txt +++ /dev/null
@@ -1,114 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableRow TR", - "rect": [0, 52, 106, 238], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutTableRow TR", - "rect": [0, 292, 106, 236], - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "rect": [0, 100, 106, 190], - "reason": "incremental" - }, - { - "object": "LayoutTableRow TR", - "rect": [0, 102, 106, 46], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [2, 52, 102, 238], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [2, 292, 102, 236], - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "rect": [2, 102, 102, 46], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [3, 400, 45, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [3, 161, 45, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [3, 115, 45, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [3, 66, 45, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableRow TR", - "reason": "incremental" - }, - { - "object": "LayoutTableRow TR", - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'ROW1'", - "reason": "geometry" - }, - { - "object": "LayoutTableRow TR", - "reason": "geometry" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'ROW2'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-vertical-align-cell-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-vertical-align-cell-expected.txt deleted file mode 100644 index edda347..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-repaint-vertical-align-cell-expected.txt +++ /dev/null
@@ -1,46 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCell TD", - "rect": [2, 52, 102, 476], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [3, 280, 59, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [3, 90, 59, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'MIDDLE'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-row-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-row-repaint-expected.txt deleted file mode 100644 index 504929a5..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/table/resize-table-row-repaint-expected.txt +++ /dev/null
@@ -1,46 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCell TD", - "rect": [2, 102, 102, 200], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [3, 192, 59, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [3, 142, 59, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableCell TD", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'MIDDLE'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/text-in-relative-positioned-inline-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/text-in-relative-positioned-inline-expected.txt deleted file mode 100644 index a01ad78..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/text-in-relative-positioned-inline-expected.txt +++ /dev/null
@@ -1,46 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [108, 8, 684, 100], - "reason": "style change" - }, - { - "object": "LayoutInline (relative positioned) SPAN id='target'", - "rect": [8, 8, 200, 100], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [8, 8, 200, 100], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutInline (relative positioned) SPAN id='target'", - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/text-match-document-change-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/text-match-document-change-expected.png deleted file mode 100644 index 1ae5695..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/text-match-document-change-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/text-match-document-change-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/text-match-document-change-expected.txt deleted file mode 100644 index 0327b11..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/text-match-document-change-expected.txt +++ /dev/null
@@ -1,59 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='to-be-changed'", - "rect": [18, 130, 269, 40], - "reason": "full" - }, - { - "object": "LayoutText #text", - "rect": [18, 130, 235, 39], - "reason": "disappeared" - }, - { - "object": "LayoutText #text", - "rect": [18, 130, 77, 19], - "reason": "appeared" - }, - { - "object": "LayoutView #document", - "rect": [295, 102, 15, 400], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "disappeared" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow DIV id='to-be-changed'", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - }, - { - "object": "LayoutText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'After change'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/text-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/text-shadow-expected.png deleted file mode 100644 index ff7246d..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/text-shadow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/text-shadow-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/text-shadow-expected.txt deleted file mode 100644 index 7b95a4c..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/text-shadow-expected.txt +++ /dev/null
@@ -1,42 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x562 - LayoutBlockFlow {P} at (0,0) size 784x20 - LayoutText {#text} at (0,0) size 164x19 - text run at (0,0) width 164: "This is a regression test for " - LayoutInline {I} at (0,0) size 602x19 - LayoutInline {A} at (0,0) size 350x19 [color=#0000EE] - LayoutText {#text} at (164,0) size 350x19 - text run at (164,0) width 350: "http://bugzilla.opendarwin.org/show_bug.cgi?id=7301" - LayoutText {#text} at (513,0) size 253x19 - text run at (513,0) width 5: " " - text run at (517,0) width 249: "Text shadow does not repaint correctly" - LayoutText {#text} at (765,0) size 5x19 - text run at (765,0) width 5: "." - LayoutBlockFlow {DIV} at (30,68) size 724x21 - LayoutInline {SPAN} at (0,0) size 199x20 [bgcolor=#C0C0C0] - LayoutText {#text} at (0,0) size 199x20 - text run at (0,0) width 199: "Lorem ipsum dolor sit amet" - LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (30,119) size 724x21 - LayoutInline {SPAN} at (0,0) size 199x20 [bgcolor=#C0C0C0] - LayoutText {#text} at (0,0) size 199x20 - text run at (0,0) width 199: "Lorem ipsum dolor sit amet" - LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (30,170) size 724x21 - LayoutText {#text} at (0,1) size 83x19 - text run at (0,1) width 83: "Lorem ipsum " - LayoutInline {SPAN} at (0,0) size 98x20 [bgcolor=#C0C0C0] - LayoutText {#text} at (83,0) size 98x20 - text run at (83,0) width 98: "dolor sit amet" - LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (30,221) size 724x21 - LayoutInline {SPAN} at (0,0) size 96x20 [bgcolor=#C0C0C0] - LayoutText {#text} at (0,0) size 96x20 - text run at (0,0) width 96: "Lorem ipsum" - LayoutText {#text} at (96,1) size 86x19 - text run at (96,1) width 86: " dolor sit amet" -layer at (8,44) size 784x2 clip at (0,0) size 0x0 - LayoutBlockFlow {HR} at (0,36) size 784x2 [border: (1px inset #EEEEEE)]
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/text-shadow-horizontal-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/text-shadow-horizontal-expected.png deleted file mode 100644 index ff7246d..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/text-shadow-horizontal-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/text-shadow-horizontal-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/text-shadow-horizontal-expected.txt deleted file mode 100644 index 7b95a4c..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/text-shadow-horizontal-expected.txt +++ /dev/null
@@ -1,42 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x600 - LayoutBlockFlow {HTML} at (0,0) size 800x600 - LayoutBlockFlow {BODY} at (8,8) size 784x562 - LayoutBlockFlow {P} at (0,0) size 784x20 - LayoutText {#text} at (0,0) size 164x19 - text run at (0,0) width 164: "This is a regression test for " - LayoutInline {I} at (0,0) size 602x19 - LayoutInline {A} at (0,0) size 350x19 [color=#0000EE] - LayoutText {#text} at (164,0) size 350x19 - text run at (164,0) width 350: "http://bugzilla.opendarwin.org/show_bug.cgi?id=7301" - LayoutText {#text} at (513,0) size 253x19 - text run at (513,0) width 5: " " - text run at (517,0) width 249: "Text shadow does not repaint correctly" - LayoutText {#text} at (765,0) size 5x19 - text run at (765,0) width 5: "." - LayoutBlockFlow {DIV} at (30,68) size 724x21 - LayoutInline {SPAN} at (0,0) size 199x20 [bgcolor=#C0C0C0] - LayoutText {#text} at (0,0) size 199x20 - text run at (0,0) width 199: "Lorem ipsum dolor sit amet" - LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (30,119) size 724x21 - LayoutInline {SPAN} at (0,0) size 199x20 [bgcolor=#C0C0C0] - LayoutText {#text} at (0,0) size 199x20 - text run at (0,0) width 199: "Lorem ipsum dolor sit amet" - LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (30,170) size 724x21 - LayoutText {#text} at (0,1) size 83x19 - text run at (0,1) width 83: "Lorem ipsum " - LayoutInline {SPAN} at (0,0) size 98x20 [bgcolor=#C0C0C0] - LayoutText {#text} at (83,0) size 98x20 - text run at (83,0) width 98: "dolor sit amet" - LayoutText {#text} at (0,0) size 0x0 - LayoutBlockFlow {DIV} at (30,221) size 724x21 - LayoutInline {SPAN} at (0,0) size 96x20 [bgcolor=#C0C0C0] - LayoutText {#text} at (0,0) size 96x20 - text run at (0,0) width 96: "Lorem ipsum" - LayoutText {#text} at (96,1) size 86x19 - text run at (96,1) width 86: " dolor sit amet" -layer at (8,44) size 784x2 clip at (0,0) size 0x0 - LayoutBlockFlow {HR} at (0,36) size 784x2 [border: (1px inset #EEEEEE)]
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.png deleted file mode 100644 index b461f467..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.txt deleted file mode 100644 index 80ed3cde..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/textarea-caret-expected.txt +++ /dev/null
@@ -1,72 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTextControl TEXTAREA id='editor'", - "rect": [7, 7, 183, 40], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [9, 10, 179, 18], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [11, 11, 175, 16], - "reason": "subtree" - }, - { - "object": "LayoutTextControl TEXTAREA id='editor'", - "rect": [9, 30, 164, 15], - "reason": "scroll control" - }, - { - "object": "LayoutTextControl TEXTAREA id='editor'", - "rect": [173, 30, 15, 15], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTextControl TEXTAREA id='editor'", - "reason": "subtree" - }, - { - "object": "LayoutTextControl TEXTAREA id='editor'", - "reason": "geometry" - }, - { - "object": "HorizontalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "Caret", - "reason": "caret" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox '------------------------------------------------------------'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/transform-absolute-in-positioned-container-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/transform-absolute-in-positioned-container-expected.txt deleted file mode 100644 index 71bccce5..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/transform-absolute-in-positioned-container-expected.txt +++ /dev/null
@@ -1,24 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [802, 585], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) DIV id='box' class='rotated'", - "rect": [76, 190, 286, 286], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) DIV id='box' class='rotated'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/transform-inline-layered-child-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/transform-inline-layered-child-expected.txt deleted file mode 100644 index 9bb7e0e..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/transform-inline-layered-child-expected.txt +++ /dev/null
@@ -1,229 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='box'", - "rect": [61, 87, 178, 206], - "reason": "subtree" - }, - { - "object": "LayoutInline (relative positioned) SPAN id='child'", - "rect": [135, 360, 160, 196], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [135, 361, 159, 195], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='box'", - "rect": [100, 100, 100, 180], - "reason": "subtree" - }, - { - "object": "LayoutInline (relative positioned) SPAN id='child'", - "rect": [300, 300, 80, 179], - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "rect": [300, 301, 80, 178], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='box'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutInline (relative positioned) SPAN id='child'", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'A B C'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'D E F'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'G H I'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'J K L'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'M N O'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'P Q R'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'S T U'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'V W X'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Y Z'", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='box'", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutInline (relative positioned) SPAN id='child'", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "InlineFlowBox", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'A B C'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'D E F'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'G H I'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'J K L'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'M N O'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'P Q R'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'S T U'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'V W X'", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Y Z'", - "reason": "subtree" - }, - { - "object": "LayoutText #text", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/transform-layout-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/transform-layout-repaint-expected.txt deleted file mode 100644 index a6ac6af..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/transform-layout-repaint-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [40, 50, 208, 118], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [52, 51, 42, 31], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/transform-relative-position-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/transform-relative-position-expected.txt deleted file mode 100644 index abd3106..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/transform-relative-position-expected.txt +++ /dev/null
@@ -1,24 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) DIV id='box' class='rotated'", - "rect": [66, 110, 286, 286], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) DIV id='box' class='rotated'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/transform-repaint-descendants-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/transform-repaint-descendants-expected.txt deleted file mode 100644 index 3959428..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/transform-repaint-descendants-expected.txt +++ /dev/null
@@ -1,38 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV", - "rect": [176, 220, 394, 185], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV", - "rect": [176, 220, 388, 203], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='box'", - "rect": [76, 120, 266, 266], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) DIV id='box'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/vertical-align-length1-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/vertical-align-length1-expected.txt deleted file mode 100644 index b19c97dd..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/vertical-align-length1-expected.txt +++ /dev/null
@@ -1,65 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "rect": [0, 0, 800, 155], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [20, 0, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "rect": [120, 130, 20, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "rect": [120, 100, 20, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "rect": [0, 130, 20, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "rect": [0, 100, 20, 20], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/vertical-align-length2-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/vertical-align-length2-expected.txt deleted file mode 100644 index e238289..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/vertical-align-length2-expected.txt +++ /dev/null
@@ -1,60 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "rect": [0, 0, 800, 205], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "rect": [300, 0, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "rect": [0, 0, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [200, 80, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [200, 50, 100, 100], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/vertical-align1-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/vertical-align1-expected.txt deleted file mode 100644 index 67a88df..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/vertical-align1-expected.txt +++ /dev/null
@@ -1,65 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "rect": [0, 0, 800, 105], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [20, 0, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "rect": [120, 80, 20, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "rect": [120, 33, 20, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "rect": [0, 80, 20, 20], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "rect": [0, 33, 20, 20], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/vertical-align2-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/vertical-align2-expected.txt deleted file mode 100644 index 8927c5a..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/vertical-align2-expected.txt +++ /dev/null
@@ -1,60 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "rect": [0, 0, 800, 247], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "rect": [300, 0, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "rect": [0, 0, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [200, 147, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [200, 100, 100, 100], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='other'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/video-paint-invalidation-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/video-paint-invalidation-expected.txt deleted file mode 100644 index 9fa92010..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/video-paint-invalidation-expected.txt +++ /dev/null
@@ -1,38 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutVideo VIDEO id='video'", - "position": [8, 8], - "bounds": [320, 240] - }, - { - "name": "Squashing Containment Layer", - "shouldFlattenTransform": false - }, - { - "name": "LayoutFlexibleBox (relative positioned) DIV", - "position": [8, 8], - "bounds": [320, 240], - "drawsContent": true - }, - { - "name": "Squashing Layer (first squashed layer: LayoutFlexibleBox (relative positioned) DIV)", - "position": [8, 8], - "bounds": [320, 240], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutVideo VIDEO id='video'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/window-resize-vertical-writing-mode-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/window-resize-vertical-writing-mode-expected.txt deleted file mode 100644 index e67e6c4..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/invalidation/window-resize-vertical-writing-mode-expected.txt +++ /dev/null
@@ -1,427 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [939, 235], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [0, 0, 939, 235], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [8, 8, 923, 219], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [9, 7, 921, 213], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [339, 0, 600, 500], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [0, 0, 600, 500], - "reason": "full" - }, - { - "object": "LayoutView #document", - "rect": [339, 235, 600, 15], - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [505, 8, 426, 484], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [506, 8, 424, 470], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AAAA'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'BBBB'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'CCCC'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'DDDD'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'EEEE'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'FFFF'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'GGGG'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'HHHH'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'IIII JJJJ'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'KKKK'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'LLLL'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'MMMM'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'NNNN'", - "reason": "geometry" - } - ] -} -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [939, 235], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [200, 0, 939, 235], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [0, 0, 939, 235], - "reason": "full" - }, - { - "object": "LayoutView #document", - "rect": [0, 0, 939, 235], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [208, 8, 923, 219], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [8, 8, 923, 219], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [209, 7, 921, 213], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [9, 7, 921, 213], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [539, 235, 600, 15], - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "rect": [539, 235, 400, 15], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AAAA'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'BBBB'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'CCCC'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'DDDD'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'EEEE'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'FFFF'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'GGGG'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'HHHH'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'IIII JJJJ'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'KKKK'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'LLLL'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'MMMM'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'NNNN'", - "reason": "geometry" - } - ] -} -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [400, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [0, 0, 939, 235], - "reason": "full" - }, - { - "object": "LayoutView #document", - "rect": [-539, 0, 939, 235], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [-531, 8, 923, 219], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [-530, 7, 921, 213], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [0, 0, 400, 600], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [0, 235, 400, 15], - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [37, 8, 355, 584], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [38, 7, 353, 554], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AAAA BBBB CCCC'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'DDDD EEEE FFFF'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'GGGG HHHH IIII JJJJ'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'KKKK LLLL MMMM'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'NNNN'", - "reason": "geometry" - } - ] -} -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [400, 0, 400, 600], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [437, 8, 355, 584], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [37, 8, 355, 584], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [438, 7, 353, 554], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [38, 7, 353, 554], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'AAAA BBBB CCCC'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'DDDD EEEE FFFF'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'GGGG HHHH IIII JJJJ'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'KKKK LLLL MMMM'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'NNNN'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/printing/print-box-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/printing/print-box-shadow-expected.png deleted file mode 100644 index 2e24bc09..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/printing/print-box-shadow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/roundedrects/input-with-rounded-rect-and-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/roundedrects/input-with-rounded-rect-and-shadow-expected.png deleted file mode 100644 index eaf6305b..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/roundedrects/input-with-rounded-rect-and-shadow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/selection/text-selection-inline-block-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/selection/text-selection-inline-block-expected.txt deleted file mode 100644 index 4e5ac97..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/selection/text-selection-inline-block-expected.txt +++ /dev/null
@@ -1,12 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x73 - LayoutBlockFlow {HTML} at (0,0) size 800x73 - LayoutBlockFlow {BODY} at (8,8) size 784x57 - LayoutBlockFlow {DIV} at (0,0) size 24x57 - LayoutText {#text} at (0,1) size 24x55 - text run at (0,1) width 24: "x" - LayoutText {#text} at (24,1) size 22x55 - text run at (24,1) width 22: "y" -selection start: position 0 of child 0 {#text} of child 0 {DIV} of body -selection end: position 1 of child 1 {#text} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/selection/text-selection-newline-mixed-ltr-rtl-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/selection/text-selection-newline-mixed-ltr-rtl-expected.txt deleted file mode 100644 index 7038969..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/selection/text-selection-newline-mixed-ltr-rtl-expected.txt +++ /dev/null
@@ -1,16 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x136 - LayoutBlockFlow {HTML} at (0,0) size 800x136 - LayoutBlockFlow {BODY} at (8,16) size 784x112 - LayoutBlockFlow {P} at (0,0) size 784x20 - LayoutText {#text} at (0,0) size 321x19 - text run at (0,0) width 321: "Passes if there are no overpainted selection highlights." - LayoutBlockFlow (anonymous) at (0,36) size 784x76 - LayoutInline {SPAN} at (0,0) size 188x73 - LayoutText {#text} at (0,1) size 188x73 - text run at (0,1) width 96: "text" - text run at (96,1) width 92 RTL: "\x{645}\x{62A}\x{646}:" - LayoutText {#text} at (0,0) size 0x0 -selection start: position 5 of child 0 {#text} of child 2 {SPAN} of body -selection end: position 13 of child 0 {#text} of child 2 {SPAN} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/selection/text-selection-newline-rtl-double-linebreak-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/selection/text-selection-newline-rtl-double-linebreak-expected.png deleted file mode 100644 index aee99a8a..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/selection/text-selection-newline-rtl-double-linebreak-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/selection/text-selection-newline-rtl-double-linebreak-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/selection/text-selection-newline-rtl-double-linebreak-expected.txt deleted file mode 100644 index 803f395..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/selection/text-selection-newline-rtl-double-linebreak-expected.txt +++ /dev/null
@@ -1,15 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x212 - LayoutBlockFlow {HTML} at (0,0) size 800x212 - LayoutBlockFlow {BODY} at (8,16) size 784x188 - LayoutBlockFlow {P} at (0,0) size 784x20 - LayoutText {#text} at (0,0) size 321x19 - text run at (0,0) width 321: "Passes if there are no overpainted selection highlights." - LayoutBlockFlow {DIV} at (0,36) size 784x152 - LayoutText {#text} at (756,1) size 28x73 - text run at (756,1) width 28: "a" - LayoutBR {BR} at (756,1) size 0x73 - LayoutBR {BR} at (784,77) size 0x73 -selection start: position 0 of child 0 {#text} of child 2 {DIV} of body -selection end: position 1 of child 1 {BR} of child 2 {DIV} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.png deleted file mode 100644 index 603e24f..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.txt b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.txt deleted file mode 100644 index b7fff3f..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/selection/text-selection-with-composition-expected.txt +++ /dev/null
@@ -1,13 +0,0 @@ -layer at (0,0) size 800x600 - LayoutView at (0,0) size 800x600 -layer at (0,0) size 800x38 - LayoutBlockFlow {HTML} at (0,0) size 800x38 - LayoutBlockFlow {BODY} at (8,8) size 784x22 - LayoutTextControl {INPUT} at (0,0) size 173x22 [bgcolor=#FFFFFF] [border: (2px inset #EEEEEE)] - LayoutText {#text} at (0,0) size 0x0 -layer at (10,11) size 169x16 - LayoutBlockFlow {DIV} at (2,3) size 169x16 - LayoutText {#text} at (0,0) size 70x16 - text run at (0,0) width 70: "Hello, world!" -selection start: position 0 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 1 {INPUT} of body -selection end: position 13 of child 0 {#text} of child 0 {DIV} of {#document-fragment} of child 1 {INPUT} of body
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/spellmarkers/inline_spelling_markers-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/spellmarkers/inline_spelling_markers-expected.png deleted file mode 100644 index 253eca56..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/disable-spinvalidation/paint/spellmarkers/inline_spelling_markers-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/tiled-mask-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/tiled-mask-expected.png index 005e10d..c79b681 100644 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/tiled-mask-expected.png +++ b/third_party/WebKit/LayoutTests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/tiled-mask-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.png deleted file mode 100644 index a1927788..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win/virtual/spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.png b/third_party/WebKit/LayoutTests/platform/win/virtual/spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.png deleted file mode 100644 index 1177c4ef..0000000 --- a/third_party/WebKit/LayoutTests/platform/win/virtual/spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-anchor-point-expected.png b/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-anchor-point-expected.png deleted file mode 100644 index 9a16aac..0000000 --- a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-anchor-point-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-animated-expected.png b/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-animated-expected.png deleted file mode 100644 index d2e01345..0000000 --- a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-animated-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-transition-expected.png b/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-transition-expected.png deleted file mode 100644 index 7be0eb6..0000000 --- a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/compositing/reflections/nested-reflection-transition-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/compositing/shadows/shadow-drawing-expected.png b/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/compositing/shadows/shadow-drawing-expected.png deleted file mode 100644 index 53dcac8..0000000 --- a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/compositing/shadows/shadow-drawing-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/compositing/text-match-highlight-expected.png b/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/compositing/text-match-highlight-expected.png deleted file mode 100644 index 9f37224..0000000 --- a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/compositing/text-match-highlight-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-clear-expected.png b/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-clear-expected.png deleted file mode 100644 index 57ef84b..0000000 --- a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-clear-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-clear-expected.txt b/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-clear-expected.txt deleted file mode 100644 index c6d0e9e..0000000 --- a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-clear-expected.txt +++ /dev/null
@@ -1,84 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [299, 123, 474, 394], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u305B\u3063\u304B\u304F\u898B\u3064\u3051\u305F\u3059\u3070\u3089\u3057\u3044\u8A18\u4E8B\u304C\u3069\u3053'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u306B\u3042\u3063\u305F\u304B\u5FD8\u308C\u3066\u3057\u307E\u3063\u305F\u7D4C\u9A13\u306F\u3042\u308A\u307E'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3059\u304B\u306A\u3089\u30BF\u30A4\u30C8\u30EB\u3068\u30A2\u30C9\u30EC\u30B9\u3060\u3051\u3067\u306A'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u304F\u3001\u8A2A\u554F\u3057\u305F\u30A6\u30A7\u30D6\u30DA\u30FC\u30B8\u306E\u30B3\u30F3\u30C6\u30F3\u30C4'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u304B\u3089\u3082\u691C\u7D22\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\u305B\u3063\u304B'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u304F\u898B\u3064\u3051\u305F\u3059\u3070\u3089\u3057\u3044\u8A18\u4E8B\u304C\u3069\u3053\u306B\u3042\u3063'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u305F\u304B\u5FD8\u308C\u3066\u3057\u307E\u3063\u305F\u7D4C\u9A13\u306F\u3042\u308A\u307E\u3059\u304B \u306A'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3089\u30BF\u30A4\u30C8\u30EB\u3068\u30A2\u30C9\u30EC\u30B9\u3060\u3051\u3067\u306A\u304F\u3001\u8A2A\u554F'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3057\u305F\u30A6\u30A7\u30D6\u30DA\u30FC\u30B8\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u304B\u3089\u3082\u691C'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u7D22\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\u8A2A\u554F\u3057\u305F\u30A6\u30A7\u30D6'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u30DA\u30FC\u30B8\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u304B\u3089\u3082\u691C\u7D22\u3059\u308B\u3053\u3068'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u304C\u3067\u304D\u307E\u3059\u3002\u305B\u3063\u304B\u304F\u898B\u3064\u3051\u305F\u3059\u3070\u3089\u3057'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3044\u8A18\u4E8B\u304C\u3069\u3053\u306B\u3042\u3063\u305F\u304B\u5FD8\u308C\u3066\u3057\u307E\u3063\u305F'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u7D4C\u9A13\u306F\u3042\u308A\u307E\u3059\u304B \u306A\u3089\u30BF\u30A4\u30C8\u30EB\u3068\u30A2\u30C9\u30EC'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u30B9\u3060\u3051\u3067\u306A\u304F\u3001\u8A2A\u554F'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-repaint-expected.png b/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-repaint-expected.png deleted file mode 100644 index 862c0b2..0000000 --- a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-repaint-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-repaint-expected.txt b/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-repaint-expected.txt deleted file mode 100644 index f9f2256d..0000000 --- a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/japanese-rl-selection-repaint-expected.txt +++ /dev/null
@@ -1,76 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [427, 23, 346, 544], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u305B\u3063\u304B\u304F\u898B\u3064\u3051\u305F\u3059\u3070\u3089\u3057\u3044\u8A18\u4E8B\u304C\u3069\u3053\u306B\u3042\u3063\u305F\u304B\u5FD8\u308C'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3066\u3057\u307E\u3063\u305F\u7D4C\u9A13\u306F\u3042\u308A\u307E\u3059\u304B\u306A\u3089\u30BF\u30A4\u30C8\u30EB\u3068\u30A2\u30C9\u30EC\u30B9\u3060'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3051\u3067\u306A\u304F\u3001\u8A2A\u554F\u3057\u305F\u30A6\u30A7\u30D6\u30DA\u30FC\u30B8\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u304B\u3089\u3082\u691C'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u7D22\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\u305B\u3063\u304B\u304F\u898B\u3064\u3051\u305F\u3059\u3070\u3089\u3057\u3044\u8A18'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u4E8B\u304C\u3069\u3053\u306B\u3042\u3063\u305F\u304B\u5FD8\u308C\u3066\u3057\u307E\u3063\u305F\u7D4C\u9A13\u306F\u3042\u308A\u307E\u3059\u304B \u306A'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u3089\u30BF\u30A4\u30C8\u30EB\u3068\u30A2\u30C9\u30EC\u30B9\u3060\u3051\u3067\u306A\u304F\u3001\u8A2A\u554F\u3057\u305F\u30A6\u30A7\u30D6\u30DA\u30FC'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u30B8\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u304B\u3089\u3082\u691C\u7D22\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002\u8A2A\u554F\u3057'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u305F\u30A6\u30A7\u30D6\u30DA\u30FC\u30B8\u306E\u30B3\u30F3\u30C6\u30F3\u30C4\u304B\u3089\u3082\u691C\u7D22\u3059\u308B\u3053\u3068\u304C\u3067\u304D'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u307E\u3059\u3002\u305B\u3063\u304B\u304F\u898B\u3064\u3051\u305F\u3059\u3070\u3089\u3057\u3044\u8A18\u4E8B\u304C\u3069\u3053\u306B\u3042\u3063\u305F'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u304B\u5FD8\u308C\u3066\u3057\u307E\u3063\u305F\u7D4C\u9A13\u306F\u3042\u308A\u307E\u3059\u304B \u306A\u3089\u30BF\u30A4\u30C8\u30EB\u3068\u30A2\u30C9'", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u30EC\u30B9\u3060\u3051\u3067\u306A\u304F\u3001\u8A2A\u554F'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/repaint-across-writing-mode-boundary-expected.png b/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/repaint-across-writing-mode-boundary-expected.png deleted file mode 100644 index f6420a5..0000000 --- a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/repaint-across-writing-mode-boundary-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/shadow-multiple-expected.png b/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/shadow-multiple-expected.png deleted file mode 100644 index bf997ed0..0000000 --- a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/shadow-multiple-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-shadow-expected.png b/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-shadow-expected.png deleted file mode 100644 index 4d593408..0000000 --- a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-shadow-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png b/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png deleted file mode 100644 index ab66168..0000000 --- a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.txt b/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.txt deleted file mode 100644 index 25864979..0000000 --- a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/svg/scrolling-embedded-svg-file-image-repaint-problem-expected.txt +++ /dev/null
@@ -1,106 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [1026, 1036], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow P", - "rect": [24, 1011, 737, 21], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [177, 1012, 202, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [435, 1012, 173, 19], - "reason": "geometry" - }, - { - "object": "LayoutInline A", - "rect": [384, 1011, 46, 21], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [385, 1012, 44, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [429, 1012, 6, 19], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [379, 1012, 6, 19], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow P", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'pservers-pattern-01-b \u2190'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutInline A", - "reason": "style change" - }, - { - "object": "InlineFlowBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'index'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\n'", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox '\u2192 script-handle-01-b'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/video-paint-invalidation-expected.txt b/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/video-paint-invalidation-expected.txt deleted file mode 100644 index 71bb46e4..0000000 --- a/third_party/WebKit/LayoutTests/platform/win7/virtual/disable-spinvalidation/paint/invalidation/video-paint-invalidation-expected.txt +++ /dev/null
@@ -1,91 +0,0 @@ -{ - "bounds": [800, 600], - "children": [ - { - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "children": [ - { - "position": [8, 8], - "bounds": [320, 240] - }, - { - "shouldFlattenTransform": false, - "children": [ - { - "position": [8, 8], - "bounds": [320, 240], - "drawsContent": true - }, - { - "position": [8, 8], - "bounds": [320, 240], - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutFlexibleBox DIV", - "rect": [96, 223, 81, 2], - "reason": "forced by layout" - }, - { - "object": "LayoutSlider INPUT", - "rect": [96, 223, 81, 2], - "reason": "full" - }, - { - "object": "LayoutBlockFlow DIV id='thumb'", - "rect": [159, 208, 36, 32], - "reason": "full" - }, - { - "object": "LayoutBlockFlow DIV id='thumb'", - "rect": [78, 208, 36, 32], - "reason": "full" - }, - { - "object": "LayoutButton INPUT", - "rect": [195, 208, 32, 32], - "reason": "full" - }, - { - "object": "LayoutButton INPUT", - "rect": [0, 208, 32, 32], - "reason": "full" - }, - { - "object": "LayoutSlider INPUT", - "rect": [245, 223, 25, 2], - "reason": "full" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [32, 208, 18, 23], - "reason": "invalidate paint rectangle" - }, - { - "object": "LayoutText #text", - "rect": [32, 217, 18, 14], - "reason": "full" - }, - { - "object": "InlineTextBox ''", - "reason": "full" - }, - { - "object": "InlineTextBox '0:00'", - "reason": "full" - }, - { - "object": "RootInlineBox", - "reason": "full" - } - ] - } - ] - } - ] - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/android/fast/rootscroller/README.txt b/third_party/WebKit/LayoutTests/virtual/android/fast/rootscroller/README.txt new file mode 100644 index 0000000..b183ef81 --- /dev/null +++ b/third_party/WebKit/LayoutTests/virtual/android/fast/rootscroller/README.txt
@@ -0,0 +1,2 @@ +# This suite runs the tests in rootscroller with additional flags. +# See the virtual_test_suites() method in Tools/Scripts/webkitpy/layout_tests/port/base.py.
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/compositing/README.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/compositing/README.txt deleted file mode 100644 index edc3930e..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/compositing/README.txt +++ /dev/null
@@ -1 +0,0 @@ -# This suite runs the tests in compositing/ with --disable-slimming-paint-invalidation.
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/compositing/overflow/nested-render-surfaces-with-rotation-expected.png b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/compositing/overflow/nested-render-surfaces-with-rotation-expected.png deleted file mode 100644 index 7e616b7..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/compositing/overflow/nested-render-surfaces-with-rotation-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/compositing/squashing/squash-transform-repainting-child-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/compositing/squashing/squash-transform-repainting-child-expected.txt deleted file mode 100644 index a5e7976c..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/compositing/squashing/squash-transform-repainting-child-expected.txt +++ /dev/null
@@ -1,165 +0,0 @@ -CASE 1, original layer tree -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutBlockFlow (positioned) DIV class='composited box behind'", - "position": [100, 100], - "bounds": [100, 100], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#0000FF" - }, - { - "name": "Squashing Containment Layer", - "shouldFlattenTransform": false - }, - { - "name": "LayoutBlockFlow (positioned) DIV class='box middle'", - "position": [20, 20], - "bounds": [100, 100], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#00FF00", - "transform": [ - [0.707106781186548, 0.707106781186548, 0, 0], - [-0.707106781186548, 0.707106781186548, 0, 0], - [0, 0, 1, 0], - [0, 0, 0, 1] - ] - }, - { - "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (positioned) DIV class='box top')", - "position": [180, 180], - "bounds": [100, 100], - "drawsContent": true - } - ] -} -CASE 2, hovering over the outer div -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutBlockFlow (positioned) DIV class='composited box behind'", - "position": [100, 100], - "bounds": [100, 100], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#0000FF" - }, - { - "name": "Squashing Containment Layer", - "shouldFlattenTransform": false - }, - { - "name": "LayoutBlockFlow (positioned) DIV class='box middle'", - "position": [20, 20], - "bounds": [100, 100], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#008000", - "transform": [ - [0.707106781186548, 0.707106781186548, 0, 0], - [-0.707106781186548, 0.707106781186548, 0, 0], - [0, 0, 1, 0], - [0, 0, 0, 1] - ], - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV class='box middle'", - "rect": [0, 0, 100, 100], - "reason": "style change" - } - ] - }, - { - "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (positioned) DIV class='box top')", - "position": [180, 180], - "bounds": [100, 100], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV class='box middle'", - "reason": "style change" - } - ] -} -CASE 3, hovering over the inner div -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutBlockFlow (positioned) DIV class='composited box behind'", - "position": [100, 100], - "bounds": [100, 100], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#0000FF" - }, - { - "name": "Squashing Containment Layer", - "shouldFlattenTransform": false - }, - { - "name": "LayoutBlockFlow (positioned) DIV class='box middle'", - "position": [20, 20], - "bounds": [100, 100], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#008000", - "transform": [ - [0.707106781186548, 0.707106781186548, 0, 0], - [-0.707106781186548, 0.707106781186548, 0, 0], - [0, 0, 1, 0], - [0, 0, 0, 1] - ], - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV class='box middle'", - "rect": [0, 0, 100, 100], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='smallbox'", - "rect": [20, 25, 50, 50], - "reason": "style change" - } - ] - }, - { - "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (positioned) DIV class='box top')", - "position": [180, 180], - "bounds": [100, 100], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV class='box middle'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='smallbox'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/compositing/squashing/squash-transform-repainting-transformed-child-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/compositing/squashing/squash-transform-repainting-transformed-child-expected.txt deleted file mode 100644 index d2a68910..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/compositing/squashing/squash-transform-repainting-transformed-child-expected.txt +++ /dev/null
@@ -1,165 +0,0 @@ -CASE 1, original layer tree -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutBlockFlow (positioned) DIV class='composited box behind'", - "position": [100, 100], - "bounds": [100, 100], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#0000FF" - }, - { - "name": "Squashing Containment Layer", - "shouldFlattenTransform": false - }, - { - "name": "LayoutBlockFlow (positioned) DIV class='box middle'", - "position": [20, 20], - "bounds": [100, 100], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#00FF00", - "transform": [ - [0.927183854566787, 0.374606593415912, 0, 0], - [-0.374606593415912, 0.927183854566787, 0, 0], - [0, 0, 1, 0], - [0, 0, 0, 1] - ] - }, - { - "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (positioned) DIV class='box top')", - "position": [180, 180], - "bounds": [100, 100], - "drawsContent": true - } - ] -} -CASE 2, hovering over the outer div -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutBlockFlow (positioned) DIV class='composited box behind'", - "position": [100, 100], - "bounds": [100, 100], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#0000FF" - }, - { - "name": "Squashing Containment Layer", - "shouldFlattenTransform": false - }, - { - "name": "LayoutBlockFlow (positioned) DIV class='box middle'", - "position": [20, 20], - "bounds": [100, 100], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#008000", - "transform": [ - [0.927183854566787, 0.374606593415912, 0, 0], - [-0.374606593415912, 0.927183854566787, 0, 0], - [0, 0, 1, 0], - [0, 0, 0, 1] - ], - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV class='box middle'", - "rect": [0, 0, 100, 100], - "reason": "style change" - } - ] - }, - { - "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (positioned) DIV class='box top')", - "position": [180, 180], - "bounds": [100, 100], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV class='box middle'", - "reason": "style change" - } - ] -} -CASE 3, hovering over the inner div -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutBlockFlow (positioned) DIV class='composited box behind'", - "position": [100, 100], - "bounds": [100, 100], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#0000FF" - }, - { - "name": "Squashing Containment Layer", - "shouldFlattenTransform": false - }, - { - "name": "LayoutBlockFlow (positioned) DIV class='box middle'", - "position": [20, 20], - "bounds": [100, 100], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#008000", - "transform": [ - [0.927183854566787, 0.374606593415912, 0, 0], - [-0.374606593415912, 0.927183854566787, 0, 0], - [0, 0, 1, 0], - [0, 0, 0, 1] - ], - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV class='box middle'", - "rect": [0, 0, 100, 100], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='smallbox'", - "rect": [12, 17, 66, 66], - "reason": "style change" - } - ] - }, - { - "name": "Squashing Layer (first squashed layer: LayoutBlockFlow (positioned) DIV class='box top')", - "position": [180, 180], - "bounds": [100, 100], - "drawsContent": true - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV class='box middle'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='smallbox'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/README.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/README.txt deleted file mode 100644 index 4304347b..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/README.txt +++ /dev/null
@@ -1 +0,0 @@ -# This suite runs the tests in paint/ with --disable-slimming-paint-invalidation.
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/absolute-position-change-containing-block-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/absolute-position-change-containing-block-expected.txt deleted file mode 100644 index b7e4583..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/absolute-position-change-containing-block-expected.txt +++ /dev/null
@@ -1,72 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 2016], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "rect": [8, 8, 784, 2000], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green'", - "rect": [108, 5100, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green'", - "rect": [100, 100, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='container' class='fixed blue'", - "rect": [8, 5000, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='container' class='fixed blue'", - "rect": [8, 8, 100, 100], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='container' class='fixed blue'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='container' class='fixed blue'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV id='container' class='fixed blue'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/add-table-overpaint-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/add-table-overpaint-expected.txt deleted file mode 100644 index 2bf62fd..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/add-table-overpaint-expected.txt +++ /dev/null
@@ -1,60 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [0, 312, 800, 156], - "reason": "appeared" - }, - { - "object": "LayoutTable TABLE", - "rect": [0, 312, 156, 156], - "reason": "appeared" - }, - { - "object": "LayoutTableSection TBODY", - "rect": [0, 312, 156, 156], - "reason": "appeared" - }, - { - "object": "LayoutTableRow TR", - "rect": [0, 314, 156, 152], - "reason": "appeared" - }, - { - "object": "LayoutTableCell TD", - "rect": [2, 314, 152, 152], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "reason": "appeared" - }, - { - "object": "LayoutTable TABLE", - "reason": "appeared" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "appeared" - }, - { - "object": "LayoutTableRow TR", - "reason": "appeared" - }, - { - "object": "LayoutTableCell TD", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/block-layout-inline-children-replaced-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/block-layout-inline-children-replaced-expected.txt deleted file mode 100644 index b1d114df..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/block-layout-inline-children-replaced-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target' class='target'", - "rect": [0, 116, 402, 152], - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "rect": [151, 117, 100, 100], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target' class='target'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutImage IMG", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/border-radius-repaint-2-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/border-radius-repaint-2-expected.txt deleted file mode 100644 index f11ac874..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/border-radius-repaint-2-expected.txt +++ /dev/null
@@ -1,52 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [874, 600], - "contentsOpaque": true, - "drawsContent": true, - "backgroundColor": "#3F3F3F", - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [0, 600, 874, 180], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 8, 866, 764], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [8, 224, 784, 548], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [137, 88, 607, 604], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/box-shadow-inset-repaint-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/box-shadow-inset-repaint-expected.txt deleted file mode 100644 index 5eb0ba73..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/box-shadow-inset-repaint-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='container'", - "rect": [8, 8, 230, 130], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [23, 23, 100, 100], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='container'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-composited-descendants-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-composited-descendants-expected.txt deleted file mode 100644 index ce5ebd7a..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/compositing/should-not-repaint-composited-descendants-expected.txt +++ /dev/null
@@ -1,60 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutBlockFlow (positioned) DIV id='composited-box'", - "position": [38, 38], - "bounds": [20, 70], - "contentsOpaque": true, - "drawsContent": true, - "backfaceVisibility": "hidden", - "backgroundColor": "#008000", - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='composited-box'", - "rect": [-30, -30, 50, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV class='child'", - "rect": [-30, -30, 50, 50], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='composited-box'", - "rect": [0, 0, 10, 60], - "reason": "full" - } - ] - }, - { - "name": "Child Containment Layer", - "bounds": [90, 90] - }, - { - "name": "LayoutBlockFlow DIV class='composited child'", - "position": [-30, 20], - "bounds": [50, 50], - "contentsOpaque": true, - "drawsContent": true, - "backfaceVisibility": "hidden", - "backgroundColor": "#008000" - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='composited-box'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV class='child'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/content-into-overflow-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/content-into-overflow-expected.txt deleted file mode 100644 index 3d842cc..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/content-into-overflow-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV", - "rect": [8, 211, 106, 53], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 308, 100, 100], - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow DIV id='target3'", - "rect": [8, 388, 100, 20], - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow (positioned) DIV", - "rect": [61, 8, 53, 106], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow (positioned) DIV", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow DIV id='target3'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/create-layer-repaint-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/create-layer-repaint-expected.txt deleted file mode 100644 index 866d316..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/create-layer-repaint-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='test' class='stretchy'", - "rect": [28, 54, 500, 50], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='test' class='stretchy'", - "rect": [28, 54, 250, 50], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='test' class='stretchy'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='test' class='stretchy'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/css-grid-layout/grid-element-change-columns-repaint-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/css-grid-layout/grid-element-change-columns-repaint-expected.txt deleted file mode 100644 index 991af30..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/css-grid-layout/grid-element-change-columns-repaint-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutGrid DIV class='grid min-content'", - "rect": [8, 48, 250, 50], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV class='sizedToGridArea'", - "rect": [58, 48, 50, 50], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutGrid DIV class='grid min-content'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV class='sizedToGridArea'", - "reason": "incremental" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/css-grid-layout/grid-element-change-rows-repaint-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/css-grid-layout/grid-element-change-rows-repaint-expected.txt deleted file mode 100644 index 8730123..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/css-grid-layout/grid-element-change-rows-repaint-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutGrid DIV class='grid fit-content'", - "rect": [8, 48, 100, 150], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV class='sizedToGridArea'", - "rect": [8, 98, 100, 50], - "reason": "incremental" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutGrid DIV class='grid fit-content'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV class='sizedToGridArea'", - "reason": "incremental" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/fixed-table-cell-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/fixed-table-cell-expected.txt deleted file mode 100644 index d04f948..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/fixed-table-cell-expected.txt +++ /dev/null
@@ -1,60 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 2016], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTable (positioned) TABLE", - "rect": [0, 0, 350, 350], - "reason": "style change" - }, - { - "object": "LayoutTableSection TBODY", - "rect": [0, 0, 350, 350], - "reason": "geometry" - }, - { - "object": "LayoutTableCell (anonymous)", - "rect": [200, 200, 100, 100], - "reason": "appeared" - }, - { - "object": "LayoutTableCell TD id='moveMe' class='fixed'", - "rect": [200, 200, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (positioned) TD id='moveMe' class='fixed'", - "rect": [50, 200, 100, 100], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableCell TD id='moveMe' class='fixed'", - "reason": "disappeared" - }, - { - "object": "LayoutTable (positioned) TABLE", - "reason": "style change" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "geometry" - }, - { - "object": "LayoutTableCell (anonymous)", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow (positioned) TD id='moveMe' class='fixed'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/fixed-table-overflow-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/fixed-table-overflow-expected.txt deleted file mode 100644 index 4aea44a..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/fixed-table-overflow-expected.txt +++ /dev/null
@@ -1,78 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 2016], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTable (positioned) TABLE", - "rect": [0, 0, 200, 200], - "reason": "style change" - }, - { - "object": "LayoutTableSection TBODY", - "rect": [0, 0, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) TD id='moveMe' class='fixed'", - "rect": [100, 100, 100, 100], - "reason": "appeared" - }, - { - "object": "LayoutTableCell (anonymous)", - "rect": [100, 100, 100, 100], - "reason": "appeared" - }, - { - "object": "LayoutTableCell TD id='moveMe' class='fixed'", - "rect": [100, 100, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='green'", - "rect": [0, 100, 100, 100], - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='green'", - "rect": [0, 100, 100, 100], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) DIV class='green'", - "reason": "disappeared" - }, - { - "object": "LayoutTableCell TD id='moveMe' class='fixed'", - "reason": "disappeared" - }, - { - "object": "LayoutTable (positioned) TABLE", - "reason": "style change" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "geometry" - }, - { - "object": "LayoutTableCell (anonymous)", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow (positioned) TD id='moveMe' class='fixed'", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='green'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/fixed-table-overflow-zindex-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/fixed-table-overflow-zindex-expected.txt deleted file mode 100644 index 45eec58..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/fixed-table-overflow-zindex-expected.txt +++ /dev/null
@@ -1,60 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 2016], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTable (positioned) TABLE", - "rect": [0, 0, 200, 200], - "reason": "style change" - }, - { - "object": "LayoutTableSection TBODY", - "rect": [0, 0, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) TD id='moveMe' class='fixed'", - "rect": [100, 100, 100, 100], - "reason": "appeared" - }, - { - "object": "LayoutTableCell (anonymous)", - "rect": [0, 100, 100, 100], - "reason": "appeared" - }, - { - "object": "LayoutTableCell TD id='moveMe' class='fixed'", - "rect": [0, 100, 100, 100], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableCell TD id='moveMe' class='fixed'", - "reason": "disappeared" - }, - { - "object": "LayoutTable (positioned) TABLE", - "reason": "style change" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "geometry" - }, - { - "object": "LayoutTableCell (anonymous)", - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow (positioned) TD id='moveMe' class='fixed'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/fixed-to-relative-position-with-absolute-child-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/fixed-to-relative-position-with-absolute-child-expected.txt deleted file mode 100644 index 3d89906..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/fixed-to-relative-position-with-absolute-child-expected.txt +++ /dev/null
@@ -1,68 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 2016], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "rect": [8, 8, 784, 2000], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green'", - "rect": [108, 308, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green'", - "rect": [108, 300, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='container' class='fixed blue'", - "rect": [8, 208, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='container' class='fixed blue'", - "rect": [8, 200, 100, 100], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='container' class='fixed blue'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='container' class='fixed blue'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='container' class='fixed blue'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/inline-relative-positioned-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/inline-relative-positioned-expected.txt deleted file mode 100644 index b31892b..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/inline-relative-positioned-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [8, 88, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [8, 88, 100, 100], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'a'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/insert-frame-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/insert-frame-expected.txt deleted file mode 100644 index 559a6677..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/insert-frame-expected.txt +++ /dev/null
@@ -1,52 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "rect": [0, 0, 800, 200], - "reason": "geometry" - }, - { - "object": "LayoutIFrame IFRAME", - "rect": [0, 0, 104, 104], - "reason": "appeared" - }, - { - "object": "LayoutBlockFlow HTML", - "rect": [2, 2, 100, 100], - "reason": "appeared" - }, - { - "object": "LayoutView #document", - "rect": [2, 2, 100, 100], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [10, 10, 84, 84], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutIFrame IFRAME", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/multicol-with-abspos-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/multicol-with-abspos-expected.txt deleted file mode 100644 index f0b7d56..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/multicol-with-abspos-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='target'", - "rect": [0, 580, 80, 20], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [0, 580, 80, 20], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='target'", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/multicol-with-abspos-in-relpos-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/multicol-with-abspos-in-relpos-expected.txt deleted file mode 100644 index b35e2e8..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/multicol-with-abspos-in-relpos-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='target'", - "rect": [508, 28, 80, 20], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [508, 28, 80, 20], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='target'", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/multicol-with-block-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/multicol-with-block-expected.txt deleted file mode 100644 index 0be81a2..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/multicol-with-block-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [488, 8, 150, 20], - "reason": "style change" - }, - { - "object": "LayoutText #text", - "rect": [488, 8, 80, 20], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "style change" - }, - { - "object": "RootInlineBox", - "reason": "style change" - }, - { - "object": "LayoutText #text", - "reason": "style change" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/negative-shadow-box-expand-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/negative-shadow-box-expand-expected.txt deleted file mode 100644 index 3171c51..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/negative-shadow-box-expand-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='outer'", - "rect": [100, 60, 640, 240], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='inner2'", - "rect": [100, 200, 600, 100], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='outer'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV id='inner2'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/outline-containing-image-in-non-standard-mode-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/outline-containing-image-in-non-standard-mode-expected.txt deleted file mode 100644 index d86d386..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/outline-containing-image-in-non-standard-mode-expected.txt +++ /dev/null
@@ -1,45 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutInline SPAN id='target'", - "rect": [6, 6, 204, 58], - "reason": "style change" - }, - { - "object": "LayoutImage IMG", - "rect": [8, 8, 200, 50], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutInline SPAN id='target'", - "reason": "style change" - }, - { - "object": "InlineFlowBox", - "reason": "style change" - }, - { - "object": "LayoutImage IMG", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/overflow-auto-in-overflow-auto-scrolled-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/overflow-auto-in-overflow-auto-scrolled-expected.txt deleted file mode 100644 index 5d42637..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/overflow-auto-in-overflow-auto-scrolled-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='innerDiv'", - "rect": [8, 8, 769, 300], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 8, 300, 300], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 8, 300, 300], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='innerDiv'", - "rect": [762, 8, 15, 300], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='innerDiv'", - "reason": "subtree" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/overflow-hidden-in-overflow-hidden-scrolled-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/overflow-hidden-in-overflow-hidden-scrolled-expected.txt deleted file mode 100644 index af7f859..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/overflow-hidden-in-overflow-hidden-scrolled-expected.txt +++ /dev/null
@@ -1,42 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV class='innerWrapper'", - "rect": [8, 18, 100, 190], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV class='red'", - "rect": [8, 18, 100, 190], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='ucp' class='green'", - "rect": [8, 18, 100, 190], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV class='innerWrapper'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV class='red'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='ucp' class='green'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/overflow-hidden-yet-scrolled-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/overflow-hidden-yet-scrolled-expected.txt deleted file mode 100644 index 35c9ba28..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/overflow-hidden-yet-scrolled-expected.txt +++ /dev/null
@@ -1,59 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutBlockFlow DIV id='scroller'", - "position": [8, 8], - "bounds": [302, 302], - "drawsContent": true, - "backfaceVisibility": "hidden", - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='scroller'", - "rect": [0, 0, 302, 302], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [1, 1, 300, 600], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [1, -399, 300, 600], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [1, 601, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [1, 201, 100, 100], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='scroller'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/overflow-hidden-yet-scrolled-with-custom-scrollbar-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/overflow-hidden-yet-scrolled-with-custom-scrollbar-expected.txt deleted file mode 100644 index e280dd9..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/overflow-hidden-yet-scrolled-with-custom-scrollbar-expected.txt +++ /dev/null
@@ -1,105 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutBlockFlow DIV id='scroller'", - "position": [8, 8], - "bounds": [302, 302], - "drawsContent": true, - "backfaceVisibility": "hidden", - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='scroller'", - "rect": [0, 0, 302, 302], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [1, 1, 300, 600], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [1, -399, 300, 600], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [1, 601, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [1, 201, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [1, 689, 88, 12], - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [1, 289, 88, 12], - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [89, 601, 12, 88], - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [89, 201, 12, 88], - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [89, 689, 12, 12], - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [89, 289, 12, 12], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='scroller'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "subtree" - }, - { - "object": "HorizontalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutScrollbarPart (anonymous)", - "reason": "scroll control" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutScrollbarPart (anonymous)", - "reason": "scroll control" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-in-overflow-scroll-scrolled-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-in-overflow-scroll-scrolled-expected.txt deleted file mode 100644 index 5d42637..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/overflow-scroll-in-overflow-scroll-scrolled-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='innerDiv'", - "rect": [8, 8, 769, 300], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 8, 300, 300], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 8, 300, 300], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='innerDiv'", - "rect": [762, 8, 15, 300], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='innerDiv'", - "reason": "subtree" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/padding-keeping-content-size-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/padding-keeping-content-size-expected.txt deleted file mode 100644 index d9e5da9..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/padding-keeping-content-size-expected.txt +++ /dev/null
@@ -1,47 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='target2' class='outer'", - "rect": [0, 200, 140, 140], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='target1' class='outer'", - "rect": [0, 0, 140, 140], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV class='inner'", - "rect": [20, 220, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='inner'", - "rect": [0, 200, 100, 100], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='target1' class='outer'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='target2' class='outer'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV class='inner'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/padding-keeping-visual-size-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/padding-keeping-visual-size-expected.txt deleted file mode 100644 index bdcd9152..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/padding-keeping-visual-size-expected.txt +++ /dev/null
@@ -1,42 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='target2' class='outer'", - "rect": [0, 200, 100, 100], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV class='inner'", - "rect": [0, 200, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='target1' class='outer'", - "rect": [0, 0, 100, 100], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='target1' class='outer'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='target2' class='outer'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV class='inner'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/reflection-repaint-test-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/reflection-repaint-test-expected.txt deleted file mode 100644 index 652b63e..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/reflection-repaint-test-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [22, 50, 226, 167], - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "rect": [23, 51, 71, 109], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "full" - }, - { - "object": "InlineTextBox 'PASS'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-absolute-layer-with-reflection-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-absolute-layer-with-reflection-expected.txt deleted file mode 100644 index 03eb4e6f..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-absolute-layer-with-reflection-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 2016], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute red'", - "rect": [250, 230, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='moveMe' class='absolute clipped'", - "rect": [250, 230, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='relative reflected'", - "rect": [250, 230, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV class='green'", - "rect": [250, 230, 100, 100], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='moveMe' class='absolute clipped'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='relative reflected'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV class='green'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute red'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-descendant-with-cached-cliprects-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-descendant-with-cached-cliprects-expected.txt deleted file mode 100644 index 18a5be6a..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-descendant-with-cached-cliprects-expected.txt +++ /dev/null
@@ -1,103 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 1893], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='scrollpanel'", - "rect": [677, 250, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='container'", - "rect": [677, 250, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='ul'", - "rect": [677, 250, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [677, 250, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='container'", - "rect": [677, 50, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='ul'", - "rect": [677, 50, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [677, 50, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='scrollpanel'", - "rect": [677, 50, 100, 100], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='scrollpanel'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='container'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='ul'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='scrollpanel'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='container'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='ul'", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='scrollpanel'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='container'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV id='ul'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-fixed-layer-with-no-visible-content-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-fixed-layer-with-no-visible-content-expected.txt deleted file mode 100644 index 28ae4a6e..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-fixed-layer-with-no-visible-content-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 2016], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green'", - "rect": [100, 1150, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='moveMe' class='fixed clipped'", - "rect": [100, 1150, 100, 100], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='moveMe' class='fixed clipped'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-fixed-layer-with-reflection-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-fixed-layer-with-reflection-expected.txt deleted file mode 100644 index 20a9c14c..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-fixed-layer-with-reflection-expected.txt +++ /dev/null
@@ -1,42 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 2016], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green reflected'", - "rect": [250, 280, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute red'", - "rect": [250, 280, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='moveMe' class='fixed clipped'", - "rect": [250, 280, 100, 100], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='moveMe' class='fixed clipped'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green reflected'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute red'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-fixed-layer-with-transformed-parent-layer-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-fixed-layer-with-transformed-parent-layer-expected.txt deleted file mode 100644 index 7f67f9f0..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-fixed-layer-with-transformed-parent-layer-expected.txt +++ /dev/null
@@ -1,42 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 2016], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green'", - "rect": [93, 234, 142, 143], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute red'", - "rect": [93, 234, 142, 143], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='moveMe' class='fixed clipped'", - "rect": [93, 234, 142, 143], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='moveMe' class='fixed clipped'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute red'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-in-clipped-layer-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-in-clipped-layer-expected.txt deleted file mode 100644 index 38ad5852..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-in-clipped-layer-expected.txt +++ /dev/null
@@ -1,42 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 2016], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute red'", - "rect": [100, 150, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='moveMe' class='absolute clipped'", - "rect": [100, 150, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='relative green'", - "rect": [100, 150, 100, 100], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='moveMe' class='absolute clipped'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='relative green'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute red'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-in-fixed-layer-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-in-fixed-layer-expected.txt deleted file mode 100644 index 2319fc1..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-in-fixed-layer-expected.txt +++ /dev/null
@@ -1,42 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 2016], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green'", - "rect": [100, 1150, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute red'", - "rect": [100, 1150, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='moveMe' class='fixed clipped'", - "rect": [100, 1150, 100, 100], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='moveMe' class='fixed clipped'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute red'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-in-transformed-layer-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-in-transformed-layer-expected.txt deleted file mode 100644 index 0baea79..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-in-transformed-layer-expected.txt +++ /dev/null
@@ -1,59 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 2016], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green'", - "rect": [79, 129, 142, 142], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='moveMe' class='absolute clipped rotated'", - "rect": [79, 129, 142, 142], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute red'", - "rect": [100, 150, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='moveMe' class='absolute clipped rotated'", - "rect": [100, 150, 100, 100], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='moveMe' class='absolute clipped rotated'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute red'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='moveMe' class='absolute clipped rotated'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute red'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-inside-table-cell-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-inside-table-cell-expected.txt deleted file mode 100644 index 794836c..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-inside-table-cell-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCell (relative positioned) TD id='cellToScroll' class='relative'", - "rect": [312, 112, 454, 469], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green'", - "rect": [314, 114, 435, 450], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='relative red'", - "rect": [314, 114, 435, 450], - "reason": "subtree" - }, - { - "object": "LayoutTableCell (relative positioned) TD id='cellToScroll' class='relative'", - "rect": [314, 564, 435, 15], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableCell (relative positioned) TD id='cellToScroll' class='relative'", - "reason": "subtree" - }, - { - "object": "HorizontalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='relative red'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-relative-table-inside-table-cell-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-relative-table-inside-table-cell-expected.txt deleted file mode 100644 index 7f7d19f..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-relative-table-inside-table-cell-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [1566, 1781], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableCell (relative positioned) TD id='cellToScroll' class='relative'", - "rect": [1112, 1312, 454, 469], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green'", - "rect": [1114, 1314, 435, 450], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='relative red'", - "rect": [1114, 1314, 435, 450], - "reason": "subtree" - }, - { - "object": "LayoutTableCell (relative positioned) TD id='cellToScroll' class='relative'", - "rect": [1114, 1764, 435, 15], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableCell (relative positioned) TD id='cellToScroll' class='relative'", - "reason": "subtree" - }, - { - "object": "HorizontalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='relative red'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-stacking-context-backface-visiblity-leaves-traces-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-stacking-context-backface-visiblity-leaves-traces-expected.txt deleted file mode 100644 index d11313f..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-stacking-context-backface-visiblity-leaves-traces-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 5054], - "contentsOpaque": true, - "drawsContent": true - }, - { - "name": "LayoutBlockFlow (relative positioned) HEADER", - "position": [8, 26], - "bounds": [769, 1974], - "drawsContent": true, - "backfaceVisibility": "hidden", - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='searchbar'", - "rect": [10, 1824, 150, 150], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='recentlink'", - "rect": [10, 1824, 150, 150], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='searchbar'", - "rect": [10, 1424, 150, 150], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='recentlink'", - "rect": [10, 1424, 150, 150], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='searchbar'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='recentlink'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-with-transformed-parent-layer-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-with-transformed-parent-layer-expected.txt deleted file mode 100644 index 0127242..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/scroll-with-transformed-parent-layer-expected.txt +++ /dev/null
@@ -1,42 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 2016], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green'", - "rect": [79, 129, 142, 142], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute red'", - "rect": [79, 129, 142, 142], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV id='moveMe' class='absolute clipped'", - "rect": [79, 129, 142, 142], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV id='moveMe' class='absolute clipped'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute green'", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='absolute red'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-lr-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-lr-expected.txt deleted file mode 100644 index fe20478..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/selection/invalidation-rect-includes-newline-for-vertical-lr-expected.txt +++ /dev/null
@@ -1,44 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutText #text", - "rect": [7, 8, 34, 48], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow HTML", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "selection" - }, - { - "object": "LayoutBlockFlow DIV id='container'", - "reason": "selection" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'xx'", - "reason": "geometry" - }, - { - "object": "InlineTextBox 'y'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/subpixel-offset-scaled-transform-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/subpixel-offset-scaled-transform-expected.txt deleted file mode 100644 index a614d2ac..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/subpixel-offset-scaled-transform-expected.txt +++ /dev/null
@@ -1,43 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) DIV class='child'", - "rect": [8, 8, 81, 40], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='child'", - "rect": [8, 8, 80, 40], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='child scale'", - "rect": [8, 58, 41, 40], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='child scale'", - "rect": [8, 58, 41, 40], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (relative positioned) DIV class='child'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='child scale'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/subtree-root-clip-2-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/subtree-root-clip-2-expected.txt deleted file mode 100644 index 879d0b4..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/subtree-root-clip-2-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [8, 8, 100, 100], - "reason": "background" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [8, 8, 100, 100], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "background" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/subtree-root-clip-3-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/subtree-root-clip-3-expected.txt deleted file mode 100644 index 8246087..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/subtree-root-clip-3-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [15, 60, 100, 100], - "reason": "background" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "rect": [15, 60, 100, 100], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "reason": "background" - }, - { - "object": "LayoutBlockFlow DIV id='target'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/subtree-root-clip-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/subtree-root-clip-expected.txt deleted file mode 100644 index 341ea81..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/subtree-root-clip-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) DIV", - "rect": [8, 8, 100, 100], - "reason": "background" - }, - { - "object": "LayoutBlockFlow DIV id='inner'", - "rect": [8, 8, 100, 100], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow (floating) DIV", - "reason": "background" - }, - { - "object": "LayoutBlockFlow DIV id='inner'", - "reason": "disappeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/absolute-sized-document-no-scrollbars-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/absolute-sized-document-no-scrollbars-expected.txt deleted file mode 100644 index 9f8f37c..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/absolute-sized-document-no-scrollbars-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [-1, -1, 578, 434], - "reason": "style change" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [0, 0, 576, 432], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGRoot svg", - "reason": "style change" - }, - { - "object": "LayoutSVGRect rect", - "reason": "style change" - }, - { - "object": "LayoutSVGHiddenContainer defs", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/add-background-property-on-root-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/add-background-property-on-root-expected.txt deleted file mode 100644 index 270ebbe..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/add-background-property-on-root-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 8, 100, 100], - "reason": "background" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [8, 8, 100, 100], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "reason": "background" - }, - { - "object": "RootInlineBox", - "reason": "background" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/clip-path-child-changes-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/clip-path-child-changes-expected.txt deleted file mode 100644 index 2af4a2e..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/clip-path-child-changes-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "rect": [0, 0, 200, 200], - "reason": "full" - }, - { - "object": "LayoutSVGPath path", - "rect": [0, 0, 200, 200], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGPath path", - "reason": "subtree" - }, - { - "object": "LayoutSVGContainer g", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/clip-path-units-changes-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/clip-path-units-changes-expected.txt deleted file mode 100644 index b1e2570..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/clip-path-units-changes-expected.txt +++ /dev/null
@@ -1,28 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "rect": [0, 0, 200, 200], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGResourceClipper clipPath id='myclip'", - "reason": "full" - }, - { - "object": "LayoutSVGContainer g", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/container-repaint-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/container-repaint-expected.txt deleted file mode 100644 index e75973f..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/container-repaint-expected.txt +++ /dev/null
@@ -1,43 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 100, 100, 50], - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg id='mover'", - "rect": [0, 100, 100, 50], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "rect": [0, 50, 100, 50], - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg id='mover'", - "rect": [0, 50, 100, 50], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGViewportContainer svg id='mover'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/deep-dynamic-updates-expected.png b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/deep-dynamic-updates-expected.png deleted file mode 100644 index e7ee6100..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/deep-dynamic-updates-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/deep-dynamic-updates-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/deep-dynamic-updates-expected.txt deleted file mode 100644 index 3fcce902..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/deep-dynamic-updates-expected.txt +++ /dev/null
@@ -1,46 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [23, 23, 404, 404], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect", - "rect": [-1, -1, 403, 403], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect", - "rect": [-1, -1, 123, 23], - "reason": "SVG resource change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGGradientStop stop id='stop1'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect", - "reason": "SVG resource change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/embedded-svg-size-changes-no-layout-triggers-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/embedded-svg-size-changes-no-layout-triggers-expected.txt deleted file mode 100644 index 8c61365..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/embedded-svg-size-changes-no-layout-triggers-expected.txt +++ /dev/null
@@ -1,69 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "rect": [0, 0, 800, 600], - "reason": "geometry" - }, - { - "object": "LayoutEmbeddedObject OBJECT", - "rect": [0, 0, 402, 202], - "reason": "style change" - }, - { - "object": "LayoutSVGRect rect", - "rect": [211, 11, 180, 180], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [210, 10, 180, 180], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [11, 11, 180, 180], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [10, 10, 180, 180], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutEmbeddedObject OBJECT", - "reason": "style change" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-change-target-id-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-change-target-id-expected.txt deleted file mode 100644 index faa4fdb6..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-change-target-id-expected.txt +++ /dev/null
@@ -1,28 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 110, 110], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGResourceFilterPrimitive feImage id='feimage'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-multiple-targets-id-change-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-multiple-targets-id-change-expected.txt deleted file mode 100644 index c52f626..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-multiple-targets-id-change-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [0, 0, 100, 100], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "rect": [45, 0, 60, 110], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 55, 110], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "full" - }, - { - "object": "LayoutSVGResourceFilterPrimitive feImage id='feimage1'", - "reason": "full" - }, - { - "object": "LayoutSVGResourceFilterPrimitive feImage id='feimage2'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-reference-invalidation-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-reference-invalidation-expected.txt deleted file mode 100644 index faa4fdb6..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-reference-invalidation-expected.txt +++ /dev/null
@@ -1,28 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 110, 110], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGResourceFilterPrimitive feImage id='feimage'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-remove-target-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-remove-target-expected.txt deleted file mode 100644 index d4330a2..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-remove-target-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 110, 110], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [0, 0, 100, 100], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGResourceFilterPrimitive feImage id='feimage'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-add-to-document-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-add-to-document-expected.txt deleted file mode 100644 index b275cfcd..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-add-to-document-expected.txt +++ /dev/null
@@ -1,32 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 110, 110], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGResourceFilter filter id='filter'", - "reason": "full" - }, - { - "object": "LayoutSVGResourceFilterPrimitive feImage", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-attribute-change-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-attribute-change-expected.txt deleted file mode 100644 index cedf322..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-attribute-change-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 110, 110], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [0, 0, 100, 100], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "full" - }, - { - "object": "LayoutSVGResourceFilterPrimitive feImage id='feimage'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-attribute-change-with-use-indirection-2-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-attribute-change-with-use-indirection-2-expected.txt deleted file mode 100644 index 634b501..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-attribute-change-with-use-indirection-2-expected.txt +++ /dev/null
@@ -1,46 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 110, 110], - "reason": "full" - }, - { - "object": "LayoutSVGContainer use id='use'", - "rect": [0, 0, 100, 100], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [0, 0, 100, 100], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer use id='use'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "geometry" - }, - { - "object": "LayoutSVGResourceFilterPrimitive feImage id='feimage'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-attribute-change-with-use-indirection-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-attribute-change-with-use-indirection-expected.txt deleted file mode 100644 index 4cdc2de..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-attribute-change-with-use-indirection-expected.txt +++ /dev/null
@@ -1,60 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 110, 110], - "reason": "full" - }, - { - "object": "LayoutSVGContainer use id='use'", - "rect": [0, 0, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [0, 0, 100, 100], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [0, 0, 100, 100], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [0, 0, 1, 100], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "full" - }, - { - "object": "LayoutSVGContainer use id='use'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-changes-id-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-changes-id-expected.txt deleted file mode 100644 index faa4fdb6..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-changes-id-expected.txt +++ /dev/null
@@ -1,28 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 110, 110], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGResourceFilterPrimitive feImage id='feimage'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-id-change-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-id-change-expected.txt deleted file mode 100644 index faa4fdb6..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-id-change-expected.txt +++ /dev/null
@@ -1,28 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 110, 110], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGResourceFilterPrimitive feImage id='feimage'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-inline-style-change-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-inline-style-change-expected.txt deleted file mode 100644 index 6753cb0b..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-inline-style-change-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 110, 110], - "reason": "style change" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [0, 0, 100, 100], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "style change" - }, - { - "object": "LayoutSVGRect rect", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-property-change-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-property-change-expected.txt deleted file mode 100644 index cedf322..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-property-change-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 110, 110], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [0, 0, 100, 100], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "full" - }, - { - "object": "LayoutSVGResourceFilterPrimitive feImage id='feimage'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-reappend-to-document-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-reappend-to-document-expected.txt deleted file mode 100644 index fa36e9b4..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-reappend-to-document-expected.txt +++ /dev/null
@@ -1,49 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 110, 110], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 110, 110], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGResourceFilterPrimitive feImage id='feimage-green'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGResourceFilter filter id='filter'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "full" - }, - { - "object": "LayoutSVGResourceFilter filter id='filter'", - "reason": "full" - }, - { - "object": "LayoutSVGResourceFilterPrimitive feImage id='feimage-green'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-remove-from-document-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-remove-from-document-expected.txt deleted file mode 100644 index 6f1f954..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-remove-from-document-expected.txt +++ /dev/null
@@ -1,32 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 110, 110], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGResourceFilterPrimitive feImage id='feimage-red'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGResourceFilter filter id='filter'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-style-change-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-style-change-expected.txt deleted file mode 100644 index 6753cb0b..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/feImage-target-style-change-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 110, 110], - "reason": "style change" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [0, 0, 100, 100], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "style change" - }, - { - "object": "LayoutSVGRect rect", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/fecomponenttransfer-in1-change-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/fecomponenttransfer-in1-change-expected.txt deleted file mode 100644 index aa4832d..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/fecomponenttransfer-in1-change-expected.txt +++ /dev/null
@@ -1,28 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 100, 100], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGResourceFilterPrimitive feComponentTransfer id='fe'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/filter-child-repaint-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/filter-child-repaint-expected.txt deleted file mode 100644 index 69f28641..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/filter-child-repaint-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "rect": [0, 0, 106, 106], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect id='poke'", - "rect": [32, 32, 64, 64], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect id='poke'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/filter-refresh-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/filter-refresh-expected.txt deleted file mode 100644 index 7c24f0d..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/filter-refresh-expected.txt +++ /dev/null
@@ -1,468 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "rect": [10, 170, 132, 36], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer g", - "rect": [10, 130, 132, 36], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect id='separate2'", - "rect": [140, 140, 36, 36], - "reason": "style change" - }, - { - "object": "LayoutSVGRect rect id='filtered'", - "rect": [140, 100, 36, 36], - "reason": "subtree" - }, - { - "object": "LayoutSVGContainer g", - "rect": [140, 60, 36, 36], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer g", - "rect": [90, 170, 36, 36], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer g", - "rect": [90, 130, 36, 36], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer g", - "rect": [90, 90, 36, 36], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer g", - "rect": [90, 90, 36, 36], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer g", - "rect": [90, 50, 36, 36], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer g", - "rect": [90, 50, 36, 36], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer g", - "rect": [50, 170, 36, 36], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer g", - "rect": [50, 130, 36, 36], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer g", - "rect": [50, 90, 36, 36], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer g", - "rect": [50, 90, 36, 36], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer g", - "rect": [50, 50, 36, 36], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer g", - "rect": [50, 50, 36, 36], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer g", - "rect": [10, 90, 36, 36], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer g", - "rect": [10, 50, 36, 36], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect id='separate1'", - "rect": [140, 60, 30, 30], - "reason": "style change" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [90, 170, 30, 30], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [90, 170, 30, 30], - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [90, 130, 30, 30], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [90, 130, 30, 30], - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [90, 90, 30, 30], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [90, 90, 30, 30], - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [90, 50, 30, 30], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [90, 50, 30, 30], - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [50, 170, 30, 30], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [50, 170, 30, 30], - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [50, 130, 30, 30], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [50, 130, 30, 30], - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [50, 90, 30, 30], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [50, 90, 30, 30], - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [50, 50, 30, 30], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [50, 50, 30, 30], - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [10, 170, 30, 30], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [10, 170, 30, 30], - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [10, 130, 30, 30], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [10, 130, 30, 30], - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [10, 90, 30, 30], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [10, 90, 30, 30], - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [10, 50, 30, 30], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [10, 50, 30, 30], - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [0, 10, 30, 30], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "style change" - }, - { - "object": "LayoutSVGContainer g", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer use", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer g", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer use", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer g", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer use", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer use", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer g", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer use", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer g", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer use", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer use", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer use", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer use", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer use", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer use", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer use", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect id='separate1'", - "reason": "style change" - }, - { - "object": "LayoutSVGRect rect id='filtered'", - "reason": "subtree" - }, - { - "object": "LayoutSVGRect rect id='separate2'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/filter-width-update-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/filter-width-update-expected.txt deleted file mode 100644 index 62d46a4..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/filter-width-update-expected.txt +++ /dev/null
@@ -1,28 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 140, 140], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGResourceFilter filter id='blur'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/gradient-add-stops-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/gradient-add-stops-expected.txt deleted file mode 100644 index b6d5b7d..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/gradient-add-stops-expected.txt +++ /dev/null
@@ -1,32 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 100, 100], - "reason": "SVG resource change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGResourceLinearGradient linearGradient id='test'", - "reason": "full" - }, - { - "object": "LayoutSVGGradientStop stop", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "SVG resource change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/gradient-stop-style-change-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/gradient-stop-style-change-expected.txt deleted file mode 100644 index 717ca40f3..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/gradient-stop-style-change-expected.txt +++ /dev/null
@@ -1,28 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 100, 100], - "reason": "SVG resource change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGGradientStop stop id='stop'", - "reason": "style change" - }, - { - "object": "LayoutSVGRect rect", - "reason": "SVG resource change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/image-with-clip-path-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/image-with-clip-path-expected.txt deleted file mode 100644 index a0fe8056..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/image-with-clip-path-expected.txt +++ /dev/null
@@ -1,110 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect id='r'", - "rect": [0, 0, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutSVGRect rect id='r'", - "rect": [0, 0, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutSVGContainer g id='g'", - "rect": [20, 20, 60, 60], - "reason": "subtree" - }, - { - "object": "LayoutSVGContainer g id='g'", - "rect": [20, 20, 60, 60], - "reason": "subtree" - }, - { - "object": "LayoutSVGImage image", - "rect": [20, 20, 60, 60], - "reason": "subtree" - }, - { - "object": "LayoutSVGImage image", - "rect": [20, 20, 60, 60], - "reason": "subtree" - }, - { - "object": "LayoutSVGContainer g id='g'", - "rect": [175, 25, 50, 50], - "reason": "subtree" - }, - { - "object": "LayoutSVGImage image", - "rect": [175, 25, 50, 50], - "reason": "subtree" - }, - { - "object": "LayoutSVGRect rect id='r'", - "rect": [175, 25, 50, 50], - "reason": "subtree" - }, - { - "object": "LayoutSVGContainer g id='g'", - "rect": [0, 0, 10, 10], - "reason": "subtree" - }, - { - "object": "LayoutSVGImage image", - "rect": [0, 0, 10, 10], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g id='g'", - "reason": "subtree" - }, - { - "object": "LayoutSVGHiddenContainer defs", - "reason": "subtree" - }, - { - "object": "LayoutSVGResourceClipper clipPath id='p'", - "reason": "subtree" - }, - { - "object": "LayoutSVGRect rect id='r'", - "reason": "subtree" - }, - { - "object": "LayoutSVGImage image", - "reason": "subtree" - }, - { - "object": "LayoutSVGContainer g id='g'", - "reason": "subtree" - }, - { - "object": "LayoutSVGHiddenContainer defs", - "reason": "subtree" - }, - { - "object": "LayoutSVGResourceClipper clipPath id='p'", - "reason": "subtree" - }, - { - "object": "LayoutSVGRect rect id='r'", - "reason": "subtree" - }, - { - "object": "LayoutSVGImage image", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/inner-svg-change-viewBox-contract-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/inner-svg-change-viewBox-contract-expected.txt deleted file mode 100644 index 0b1196d..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/inner-svg-change-viewBox-contract-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 200, 200], - "reason": "geometry" - }, - { - "object": "LayoutSVGViewportContainer svg id='inner'", - "rect": [0, 0, 200, 200], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGViewportContainer svg id='inner'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/inner-svg-change-viewBox-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/inner-svg-change-viewBox-expected.txt deleted file mode 100644 index 0830470..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/inner-svg-change-viewBox-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 100, 100], - "reason": "full" - }, - { - "object": "LayoutSVGViewportContainer svg id='s'", - "rect": [0, 0, 100, 100], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGViewportContainer svg id='s'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/invalidate-on-child-layout-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/invalidate-on-child-layout-expected.txt deleted file mode 100644 index 11db7d5..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/invalidate-on-child-layout-expected.txt +++ /dev/null
@@ -1,43 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "rect": [40, 40, 120, 120], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer g", - "rect": [0, 0, 110, 110], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGEllipse circle id='circle'", - "rect": [50, 50, 100, 100], - "reason": "full" - }, - { - "object": "LayoutSVGEllipse circle id='circle'", - "rect": [0, 0, 100, 100], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGEllipse circle id='circle'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-marker-and-object-creation-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-marker-and-object-creation-expected.txt deleted file mode 100644 index 2bccb31..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-marker-and-object-creation-expected.txt +++ /dev/null
@@ -1,55 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGPath path", - "rect": [202, 210, 113, 113], - "reason": "style change" - }, - { - "object": "LayoutSVGPath path", - "rect": [202, 210, 113, 113], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='content'", - "rect": [203, 211, 111, 111], - "reason": "appeared" - }, - { - "object": "LayoutSVGEllipse circle", - "rect": [0, 0, 4, 4], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g id='content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "appeared" - }, - { - "object": "LayoutSVGResourceMarker marker id='markerMiddle'", - "reason": "appeared" - }, - { - "object": "LayoutSVGEllipse circle", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-marker-creation-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-marker-creation-expected.txt deleted file mode 100644 index 5bf172c..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-marker-creation-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGPath path", - "rect": [202, 210, 113, 113], - "reason": "style change" - }, - { - "object": "LayoutSVGEllipse circle", - "rect": [0, 0, 4, 4], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGResourceMarker marker id='markerMiddle'", - "reason": "appeared" - }, - { - "object": "LayoutSVGEllipse circle", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-mask-and-object-creation-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-mask-and-object-creation-expected.txt deleted file mode 100644 index 0a8da08..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-mask-and-object-creation-expected.txt +++ /dev/null
@@ -1,55 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 800, 300], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='content'", - "rect": [0, 100, 800, 100], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [0, 100, 800, 100], - "reason": "style change" - }, - { - "object": "LayoutSVGRect rect", - "rect": [0, 100, 800, 100], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g id='content'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "style change" - }, - { - "object": "LayoutSVGResourceMasker mask id='dynMask'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-mask-creation-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-mask-creation-expected.txt deleted file mode 100644 index a3b6e16d..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-late-mask-creation-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 800, 300], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [0, 100, 800, 100], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "reason": "style change" - }, - { - "object": "LayoutSVGResourceMasker mask id='dynMask'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-bounce-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-bounce-expected.txt deleted file mode 100644 index a8d85e55..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-bounce-expected.txt +++ /dev/null
@@ -1,29 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGEllipse circle id='bounce'", - "rect": [101, 101, 68, 68], - "reason": "subtree" - }, - { - "object": "LayoutSVGEllipse circle id='bounce'", - "rect": [1, 1, 68, 68], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGEllipse circle id='bounce'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-container-expected.png b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-container-expected.png deleted file mode 100644 index 77b2fd9..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-container-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-container-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-container-expected.txt deleted file mode 100644 index 517ea10..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-container-expected.txt +++ /dev/null
@@ -1,38 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g id='group'", - "rect": [0, 0, 76, 76], - "reason": "subtree" - }, - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 76, 76], - "reason": "subtree" - }, - { - "object": "LayoutSVGRect rect", - "rect": [-1, -1, 42, 42], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g id='group'", - "reason": "subtree" - }, - { - "object": "LayoutSVGRect rect", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-gradient-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-gradient-expected.txt deleted file mode 100644 index e97c49f4..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-gradient-expected.txt +++ /dev/null
@@ -1,41 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [10, 100, 430, 80], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect", - "rect": [10, 10, 430, 80], - "reason": "SVG resource change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGResourceLinearGradient linearGradient id='Gradient'", - "reason": "full" - }, - { - "object": "LayoutSVGGradientStop stop id='stop1'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect", - "reason": "SVG resource change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-pattern-child-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-pattern-child-expected.txt deleted file mode 100644 index 8cbbce6..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-pattern-child-expected.txt +++ /dev/null
@@ -1,47 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [10, 100, 430, 80], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect", - "rect": [10, 10, 430, 80], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [10, 10, 10, 10], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [0, 10, 10, 10], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect", - "reason": "SVG resource change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-pattern-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-pattern-expected.txt deleted file mode 100644 index 405f473..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-pattern-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [10, 100, 430, 80], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect", - "rect": [10, 10, 430, 80], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [10, 10, 10, 10], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [0, 10, 10, 10], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGResourcePattern pattern id='Pattern'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect", - "reason": "SVG resource change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-polygon-changes-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-polygon-changes-expected.txt deleted file mode 100644 index c6e87f28..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-polygon-changes-expected.txt +++ /dev/null
@@ -1,29 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGPath polygon id='polygon'", - "rect": [264, 218, 164, 107], - "reason": "full" - }, - { - "object": "LayoutSVGPath polygon id='polygon'", - "rect": [264, 208, 164, 107], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGPath polygon id='polygon'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-polygon-removal-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-polygon-removal-expected.txt deleted file mode 100644 index c9bdce0..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-polygon-removal-expected.txt +++ /dev/null
@@ -1,29 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGPath polygon id='polygon'", - "rect": [264, 258, 165, 67], - "reason": "full" - }, - { - "object": "LayoutSVGPath polygon id='polygon'", - "rect": [264, 218, 164, 107], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGPath polygon id='polygon'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-stop-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-stop-expected.txt deleted file mode 100644 index e238d011..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-stop-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [10, 100, 430, 80], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect", - "rect": [10, 10, 430, 80], - "reason": "SVG resource change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGGradientStop stop id='stop1'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect", - "reason": "SVG resource change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-stop-linked-gradient-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-stop-linked-gradient-expected.txt deleted file mode 100644 index 4f99969..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-stop-linked-gradient-expected.txt +++ /dev/null
@@ -1,50 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [10, 210, 430, 80], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect", - "rect": [10, 110, 430, 80], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect", - "rect": [10, 10, 430, 80], - "reason": "SVG resource change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGGradientStop stop id='stop1'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGResourceLinearGradient linearGradient id='gradient'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect", - "reason": "SVG resource change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-transform-addition-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-transform-addition-expected.txt deleted file mode 100644 index bd5f3d49..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-transform-addition-expected.txt +++ /dev/null
@@ -1,24 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGPath polygon id='polygon'", - "rect": [264, 218, 164, 107], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGPath polygon id='polygon'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-transform-changes-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-transform-changes-expected.txt deleted file mode 100644 index bd5f3d49..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/js-update-transform-changes-expected.txt +++ /dev/null
@@ -1,24 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGPath polygon id='polygon'", - "rect": [264, 218, 164, 107], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGPath polygon id='polygon'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/marker-child-changes-css-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/marker-child-changes-css-expected.txt deleted file mode 100644 index 717a6b2..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/marker-child-changes-css-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGPath path", - "rect": [121, 126, 68, 68], - "reason": "style change" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [0, 0, 2, 2], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "style change" - }, - { - "object": "LayoutSVGPath path", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/marker-child-changes-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/marker-child-changes-expected.txt deleted file mode 100644 index 717a6b2..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/marker-child-changes-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGPath path", - "rect": [121, 126, 68, 68], - "reason": "style change" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [0, 0, 2, 2], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "style change" - }, - { - "object": "LayoutSVGPath path", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/marker-viewBox-changes-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/marker-viewBox-changes-expected.txt deleted file mode 100644 index c72fd58e..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/marker-viewBox-changes-expected.txt +++ /dev/null
@@ -1,46 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGPath path id='go'", - "rect": [89, 94, 100, 100], - "reason": "full" - }, - { - "object": "LayoutSVGContainer g", - "rect": [90, 95, 98, 98], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 10, 10], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGResourceMarker marker id='markerStart'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - }, - { - "object": "LayoutSVGContainer g", - "reason": "geometry" - }, - { - "object": "LayoutSVGPath path id='go'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/mask-child-changes-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/mask-child-changes-expected.txt deleted file mode 100644 index c33edd7c..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/mask-child-changes-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 800, 300], - "reason": "style change" - }, - { - "object": "LayoutSVGRect rect", - "rect": [0, 100, 800, 100], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "reason": "style change" - }, - { - "object": "LayoutSVGRect rect", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/mask-invalidation-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/mask-invalidation-expected.txt deleted file mode 100644 index ea54f1e..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/mask-invalidation-expected.txt +++ /dev/null
@@ -1,56 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect id='maskRect'", - "rect": [100, 100, 460, 316], - "reason": "subtree" - }, - { - "object": "LayoutSVGRect rect id='maskRect'", - "rect": [50, 50, 460, 316], - "reason": "subtree" - }, - { - "object": "LayoutSVGContainer g id='root'", - "rect": [50, 50, 453, 299], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [50, 50, 453, 299], - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [100, 100, 403, 249], - "reason": "appeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='maskRect'", - "reason": "subtree" - }, - { - "object": "LayoutSVGContainer g id='root'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/nested-embedded-svg-size-changes-no-layout-triggers-1-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/nested-embedded-svg-size-changes-no-layout-triggers-1-expected.txt deleted file mode 100644 index 4d6177e..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/nested-embedded-svg-size-changes-no-layout-triggers-1-expected.txt +++ /dev/null
@@ -1,144 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "rect": [0, 0, 800, 600], - "reason": "geometry" - }, - { - "object": "LayoutEmbeddedObject OBJECT", - "rect": [0, 0, 402, 202], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [1, 1, 400, 200], - "reason": "geometry" - }, - { - "object": "LayoutEmbeddedObject OBJECT", - "rect": [1, 1, 400, 200], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [0, 0, 285, 135], - "reason": "geometry" - }, - { - "object": "LayoutEmbeddedObject OBJECT", - "rect": [0, 0, 285, 135], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [0, 135, 285, 15], - "reason": "scroll control" - }, - { - "object": "LayoutSVGRect rect", - "rect": [211, 11, 180, 180], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [11, 11, 180, 180], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [10, 10, 180, 125], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [210, 10, 75, 125], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [285, 0, 15, 135], - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "rect": [285, 135, 15, 15], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutEmbeddedObject OBJECT", - "reason": "style change" - }, - { - "object": "HorizontalScrollbar", - "reason": "scroll control" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow HTML", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutEmbeddedObject OBJECT", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/nested-embedded-svg-size-changes-no-layout-triggers-2-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/nested-embedded-svg-size-changes-no-layout-triggers-2-expected.txt deleted file mode 100644 index 4d6177e..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/nested-embedded-svg-size-changes-no-layout-triggers-2-expected.txt +++ /dev/null
@@ -1,144 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "rect": [0, 0, 800, 600], - "reason": "geometry" - }, - { - "object": "LayoutEmbeddedObject OBJECT", - "rect": [0, 0, 402, 202], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [1, 1, 400, 200], - "reason": "geometry" - }, - { - "object": "LayoutEmbeddedObject OBJECT", - "rect": [1, 1, 400, 200], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [0, 0, 285, 135], - "reason": "geometry" - }, - { - "object": "LayoutEmbeddedObject OBJECT", - "rect": [0, 0, 285, 135], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [0, 135, 285, 15], - "reason": "scroll control" - }, - { - "object": "LayoutSVGRect rect", - "rect": [211, 11, 180, 180], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [11, 11, 180, 180], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [10, 10, 180, 125], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [210, 10, 75, 125], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [285, 0, 15, 135], - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "rect": [285, 135, 15, 15], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutEmbeddedObject OBJECT", - "reason": "style change" - }, - { - "object": "HorizontalScrollbar", - "reason": "scroll control" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow HTML", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutEmbeddedObject OBJECT", - "reason": "geometry" - }, - { - "object": "LayoutText #text", - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/object-sizing-no-width-height-change-content-box-size-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/object-sizing-no-width-height-change-content-box-size-expected.txt deleted file mode 100644 index 74f12af..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/object-sizing-no-width-height-change-content-box-size-expected.txt +++ /dev/null
@@ -1,69 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "rect": [8, 8, 402, 402], - "reason": "geometry" - }, - { - "object": "LayoutEmbeddedObject object", - "rect": [9, 9, 400, 400], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [9, 9, 400, 400], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [9, 9, 400, 400], - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "rect": [169, 169, 80, 80], - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "rect": [89, 189, 40, 40], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow div id='contentBox'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutEmbeddedObject object", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - }, - { - "object": "LayoutSVGEllipse circle", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/paintorder-filtered-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/paintorder-filtered-expected.txt deleted file mode 100644 index 02fe4f0..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/paintorder-filtered-expected.txt +++ /dev/null
@@ -1,127 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGPath polygon", - "rect": [136, 36, 582, 565], - "reason": "style change" - }, - { - "object": "LayoutSVGContainer use id='t2'", - "rect": [181, 163, 138, 137], - "reason": "style change" - }, - { - "object": "LayoutSVGContainer use", - "rect": [454, 163, 137, 137], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGViewportContainer svg", - "rect": [318, 163, 137, 137], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer use id='t1'", - "rect": [45, 163, 137, 137], - "reason": "style change" - }, - { - "object": "LayoutSVGPath polygon", - "rect": [455, 165, 135, 134], - "reason": "style change" - }, - { - "object": "LayoutSVGPath polygon id='t3'", - "rect": [319, 165, 135, 134], - "reason": "style change" - }, - { - "object": "LayoutSVGPath polygon", - "rect": [46, 165, 135, 134], - "reason": "style change" - }, - { - "object": "LayoutSVGPath polygon", - "rect": [183, 165, 134, 134], - "reason": "style change" - }, - { - "object": "LayoutSVGViewportContainer svg id='poly'", - "rect": [47, 166, 133, 132], - "reason": "style change" - }, - { - "object": "LayoutSVGViewportContainer svg id='poly'", - "rect": [184, 166, 132, 132], - "reason": "style change" - }, - { - "object": "LayoutSVGEllipse circle id='t4'", - "rect": [45, 27, 9, 9], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGEllipse circle id='t4'", - "reason": "style change" - }, - { - "object": "LayoutSVGPath polygon", - "reason": "style change" - }, - { - "object": "LayoutSVGContainer use id='t1'", - "reason": "style change" - }, - { - "object": "LayoutSVGViewportContainer svg id='poly'", - "reason": "style change" - }, - { - "object": "LayoutSVGPath polygon", - "reason": "style change" - }, - { - "object": "LayoutSVGContainer use id='t2'", - "reason": "style change" - }, - { - "object": "LayoutSVGViewportContainer svg id='poly'", - "reason": "style change" - }, - { - "object": "LayoutSVGPath polygon", - "reason": "style change" - }, - { - "object": "LayoutSVGViewportContainer svg", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGPath polygon id='t3'", - "reason": "style change" - }, - { - "object": "LayoutSVGContainer use", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGViewportContainer svg id='poly2'", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGPath polygon", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/pending-resource-after-removal-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/pending-resource-after-removal-expected.txt deleted file mode 100644 index 32b8319..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/pending-resource-after-removal-expected.txt +++ /dev/null
@@ -1,72 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 200, 200], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 200, 200], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "rect": [0, 0, 200, 200], - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='shape'", - "rect": [0, 0, 200, 200], - "reason": "style change" - }, - { - "object": "LayoutSVGRect rect id='shape'", - "rect": [0, 0, 200, 200], - "reason": "SVG resource change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGResourcePattern pattern id='pat'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='shape'", - "reason": "style change" - }, - { - "object": "LayoutSVGRect rect", - "reason": "disappeared" - }, - { - "object": "LayoutSVGResourcePattern pattern id='pat'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGResourcePattern pattern id='pat'", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect", - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='shape'", - "reason": "SVG resource change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-document-scrollbars-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-document-scrollbars-expected.txt deleted file mode 100644 index 6311810..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/relative-sized-document-scrollbars-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGRect rect", - "rect": [6, 4, 788, 592], - "reason": "style change" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [7, 5, 786, 590], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGRoot svg", - "reason": "style change" - }, - { - "object": "LayoutSVGRect rect", - "reason": "style change" - }, - { - "object": "LayoutSVGHiddenContainer defs", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/remove-background-property-on-root-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/remove-background-property-on-root-expected.txt deleted file mode 100644 index 270ebbe..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/remove-background-property-on-root-expected.txt +++ /dev/null
@@ -1,37 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 8, 100, 100], - "reason": "background" - }, - { - "object": "LayoutSVGRoot svg", - "rect": [8, 8, 100, 100], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "reason": "background" - }, - { - "object": "RootInlineBox", - "reason": "background" - }, - { - "object": "LayoutSVGRoot svg", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-moving-svg-and-div-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-moving-svg-and-div-expected.txt deleted file mode 100644 index 4c6f705..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-moving-svg-and-div-expected.txt +++ /dev/null
@@ -1,519 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) div id='html' class='outerBox'", - "rect": [550, 350, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) div id='html' class='outerBox'", - "rect": [535, 325, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) div id='html' class='outerBox'", - "rect": [535, 325, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) div id='html' class='outerBox'", - "rect": [520, 300, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) div id='html' class='outerBox'", - "rect": [520, 300, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) div id='html' class='outerBox'", - "rect": [505, 275, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) div id='html' class='outerBox'", - "rect": [505, 275, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) div id='html' class='outerBox'", - "rect": [490, 250, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) div id='html' class='outerBox'", - "rect": [490, 250, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) div id='html' class='outerBox'", - "rect": [475, 225, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) div id='html' class='outerBox'", - "rect": [475, 225, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) div id='html' class='outerBox'", - "rect": [460, 200, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) div id='html' class='outerBox'", - "rect": [460, 200, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) div id='html' class='outerBox'", - "rect": [445, 175, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) div id='html' class='outerBox'", - "rect": [445, 175, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) div id='html' class='outerBox'", - "rect": [430, 150, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) div id='html' class='outerBox'", - "rect": [430, 150, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) div id='html' class='outerBox'", - "rect": [400, 100, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot (positioned) svg id='svg'", - "rect": [250, 350, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot (positioned) svg id='svg'", - "rect": [235, 325, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot (positioned) svg id='svg'", - "rect": [235, 325, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot (positioned) svg id='svg'", - "rect": [220, 300, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot (positioned) svg id='svg'", - "rect": [220, 300, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot (positioned) svg id='svg'", - "rect": [205, 275, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot (positioned) svg id='svg'", - "rect": [205, 275, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot (positioned) svg id='svg'", - "rect": [190, 250, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot (positioned) svg id='svg'", - "rect": [190, 250, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot (positioned) svg id='svg'", - "rect": [175, 225, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot (positioned) svg id='svg'", - "rect": [175, 225, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot (positioned) svg id='svg'", - "rect": [160, 200, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot (positioned) svg id='svg'", - "rect": [160, 200, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot (positioned) svg id='svg'", - "rect": [145, 175, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot (positioned) svg id='svg'", - "rect": [145, 175, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot (positioned) svg id='svg'", - "rect": [130, 150, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot (positioned) svg id='svg'", - "rect": [130, 150, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot (positioned) svg id='svg'", - "rect": [100, 100, 150, 150], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow div class='innerBox'", - "rect": [575, 375, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow div class='innerBox'", - "rect": [560, 350, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow div class='innerBox'", - "rect": [560, 350, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow div class='innerBox'", - "rect": [545, 325, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow div class='innerBox'", - "rect": [545, 325, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow div class='innerBox'", - "rect": [530, 300, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow div class='innerBox'", - "rect": [530, 300, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow div class='innerBox'", - "rect": [515, 275, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow div class='innerBox'", - "rect": [515, 275, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow div class='innerBox'", - "rect": [500, 250, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow div class='innerBox'", - "rect": [500, 250, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow div class='innerBox'", - "rect": [485, 225, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow div class='innerBox'", - "rect": [485, 225, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow div class='innerBox'", - "rect": [470, 200, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow div class='innerBox'", - "rect": [470, 200, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow div class='innerBox'", - "rect": [455, 175, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow div class='innerBox'", - "rect": [455, 175, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow div class='innerBox'", - "rect": [425, 125, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [275, 375, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [260, 350, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [260, 350, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [245, 325, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [245, 325, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [230, 300, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [230, 300, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [215, 275, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [215, 275, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [200, 250, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [200, 250, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [185, 225, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [185, 225, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [170, 200, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [170, 200, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [155, 175, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [155, 175, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [125, 125, 100, 100], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGRoot (positioned) svg id='svg'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) div id='html' class='outerBox'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow div class='innerBox'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot (positioned) svg id='svg'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) div id='html' class='outerBox'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow div class='innerBox'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot (positioned) svg id='svg'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) div id='html' class='outerBox'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow div class='innerBox'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot (positioned) svg id='svg'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) div id='html' class='outerBox'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow div class='innerBox'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot (positioned) svg id='svg'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) div id='html' class='outerBox'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow div class='innerBox'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot (positioned) svg id='svg'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) div id='html' class='outerBox'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow div class='innerBox'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot (positioned) svg id='svg'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) div id='html' class='outerBox'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow div class='innerBox'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot (positioned) svg id='svg'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) div id='html' class='outerBox'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow div class='innerBox'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRoot (positioned) svg id='svg'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (positioned) div id='html' class='outerBox'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow div class='innerBox'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-paintorder-expected.png b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-paintorder-expected.png deleted file mode 100644 index f869be7..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-paintorder-expected.png +++ /dev/null Binary files differ
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-paintorder-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-paintorder-expected.txt deleted file mode 100644 index e000876..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/repaint-paintorder-expected.txt +++ /dev/null
@@ -1,105 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGPath polygon", - "rect": [136, 36, 582, 565], - "reason": "style change" - }, - { - "object": "LayoutSVGPath polygon", - "rect": [455, 165, 135, 134], - "reason": "style change" - }, - { - "object": "LayoutSVGPath polygon id='t3'", - "rect": [319, 165, 135, 134], - "reason": "style change" - }, - { - "object": "LayoutSVGPath polygon", - "rect": [46, 165, 135, 134], - "reason": "style change" - }, - { - "object": "LayoutSVGPath polygon", - "rect": [183, 165, 134, 134], - "reason": "style change" - }, - { - "object": "LayoutSVGContainer use id='t1'", - "rect": [47, 166, 133, 132], - "reason": "style change" - }, - { - "object": "LayoutSVGViewportContainer svg id='poly'", - "rect": [47, 166, 133, 132], - "reason": "style change" - }, - { - "object": "LayoutSVGContainer use id='t2'", - "rect": [184, 166, 132, 132], - "reason": "style change" - }, - { - "object": "LayoutSVGViewportContainer svg id='poly'", - "rect": [184, 166, 132, 132], - "reason": "style change" - }, - { - "object": "LayoutSVGEllipse circle id='t4'", - "rect": [45, 27, 9, 9], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGEllipse circle id='t4'", - "reason": "style change" - }, - { - "object": "LayoutSVGPath polygon", - "reason": "style change" - }, - { - "object": "LayoutSVGContainer use id='t1'", - "reason": "style change" - }, - { - "object": "LayoutSVGViewportContainer svg id='poly'", - "reason": "style change" - }, - { - "object": "LayoutSVGPath polygon", - "reason": "style change" - }, - { - "object": "LayoutSVGContainer use id='t2'", - "reason": "style change" - }, - { - "object": "LayoutSVGViewportContainer svg id='poly'", - "reason": "style change" - }, - { - "object": "LayoutSVGPath polygon", - "reason": "style change" - }, - { - "object": "LayoutSVGPath polygon id='t3'", - "reason": "style change" - }, - { - "object": "LayoutSVGPath polygon", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/resource-client-removal-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/resource-client-removal-expected.txt deleted file mode 100644 index bcea57c6..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/resource-client-removal-expected.txt +++ /dev/null
@@ -1,395 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "rect": [0, 0, 100, 100], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [0, 0, 100, 100], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [0, 0, 100, 100], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [0, 0, 100, 100], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [0, 0, 100, 100], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [0, 0, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [0, 0, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [0, 0, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [0, 0, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g", - "rect": [0, 0, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "rect": [0, 0, 100, 100], - "reason": "full" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "rect": [0, 0, 100, 100], - "reason": "full" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "rect": [0, 0, 100, 100], - "reason": "full" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "rect": [0, 0, 100, 100], - "reason": "full" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "rect": [0, 0, 100, 100], - "reason": "full" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "rect": [0, 0, 100, 100], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "rect": [0, 0, 100, 100], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "rect": [0, 0, 100, 100], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "rect": [0, 0, 100, 100], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "rect": [0, 0, 100, 100], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "rect": [0, 0, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "rect": [0, 0, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "rect": [0, 0, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "rect": [0, 0, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "rect": [0, 0, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path id='hp'", - "rect": [0, 0, 100, 100], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='hp'", - "rect": [0, 0, 100, 100], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='hp'", - "rect": [0, 0, 100, 100], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='hp'", - "rect": [0, 0, 100, 100], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='hp'", - "rect": [0, 0, 100, 100], - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='hp'", - "rect": [0, 0, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path id='hp'", - "rect": [0, 0, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path id='hp'", - "rect": [0, 0, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path id='hp'", - "rect": [0, 0, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path id='hp'", - "rect": [0, 0, 100, 100], - "reason": "disappeared" - }, - { - "object": "LayoutSVGPath path id='hp'", - "rect": [0, 0, 100, 100], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGPath path id='hp'", - "rect": [0, 0, 100, 100], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGPath path id='hp'", - "rect": [0, 0, 100, 100], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGPath path id='hp'", - "rect": [0, 0, 100, 100], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGPath path id='hp'", - "rect": [0, 0, 100, 100], - "reason": "SVG resource change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGPath path id='hp'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGGradientStop stop id='offset'", - "reason": "full" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "reason": "full" - }, - { - "object": "LayoutSVGPath path id='hp'", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='hp'", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='hp'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGGradientStop stop id='offset'", - "reason": "full" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "reason": "full" - }, - { - "object": "LayoutSVGPath path id='hp'", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='hp'", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='hp'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGGradientStop stop id='offset'", - "reason": "full" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "reason": "full" - }, - { - "object": "LayoutSVGPath path id='hp'", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='hp'", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='hp'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGGradientStop stop id='offset'", - "reason": "full" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "reason": "full" - }, - { - "object": "LayoutSVGPath path id='hp'", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='hp'", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='hp'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGGradientStop stop id='offset'", - "reason": "full" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "reason": "full" - }, - { - "object": "LayoutSVGPath path id='hp'", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGContainer g id='inneruse'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g", - "reason": "appeared" - }, - { - "object": "LayoutSVGPath path id='hp'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/resource-invalidate-on-target-update-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/resource-invalidate-on-target-update-expected.txt deleted file mode 100644 index 0ed3851..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/resource-invalidate-on-target-update-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g id='box'", - "rect": [0, 10, 230, 350], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='rect3'", - "rect": [0, 240, 230, 120], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect id='rect2'", - "rect": [10, 130, 200, 100], - "reason": "full" - }, - { - "object": "LayoutSVGRect rect id='rect1'", - "rect": [10, 10, 200, 100], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g id='box'", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect id='rect1'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect id='rect2'", - "reason": "full" - }, - { - "object": "LayoutSVGRect rect id='rect3'", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/shape-with-nested-outline-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/shape-with-nested-outline-expected.txt deleted file mode 100644 index 98a6f62..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/shape-with-nested-outline-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "rect": [8, 8, 500, 500], - "reason": "outline" - }, - { - "object": "LayoutSVGRect rect id='r'", - "rect": [108, 108, 300, 300], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "reason": "outline" - }, - { - "object": "LayoutSVGRect rect id='r'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/stroke-opacity-update-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/stroke-opacity-update-expected.txt deleted file mode 100644 index b0a9dd1b..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/stroke-opacity-update-expected.txt +++ /dev/null
@@ -1,24 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGEllipse circle", - "rect": [-1, -1, 205, 205], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGEllipse circle", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/text-pattern-update-2-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/text-pattern-update-2-expected.txt deleted file mode 100644 index 2cf3827..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/text-pattern-update-2-expected.txt +++ /dev/null
@@ -1,64 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGText text", - "rect": [8, 8, 300, 100], - "reason": "SVG resource change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGResourcePattern pattern id='pat'", - "reason": "full" - }, - { - "object": "LayoutSVGText text", - "reason": "SVG resource change" - }, - { - "object": "RootInlineBox", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "SVG resource change" - }, - { - "object": "InlineTextBox 'X'", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "SVG resource change" - }, - { - "object": "InlineFlowBox", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "SVG resource change" - }, - { - "object": "InlineTextBox 'Y'", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "SVG resource change" - }, - { - "object": "InlineTextBox 'Z'", - "reason": "SVG resource change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/text-pattern-update-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/text-pattern-update-expected.txt deleted file mode 100644 index c61ad367..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/text-pattern-update-expected.txt +++ /dev/null
@@ -1,40 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGText text", - "rect": [8, 8, 100, 100], - "reason": "SVG resource change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGResourcePattern pattern id='pat'", - "reason": "full" - }, - { - "object": "LayoutSVGText text", - "reason": "SVG resource change" - }, - { - "object": "RootInlineBox", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "SVG resource change" - }, - { - "object": "InlineTextBox 'X'", - "reason": "SVG resource change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/transform-changed-state-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/transform-changed-state-expected.txt deleted file mode 100644 index e5fdcd3..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/transform-changed-state-expected.txt +++ /dev/null
@@ -1,43 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "rect": [108, 108, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [108, 108, 100, 100], - "reason": "full" - }, - { - "object": "LayoutSVGContainer g", - "rect": [108, 8, 100, 100], - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "rect": [108, 8, 100, 100], - "reason": "full" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g", - "reason": "geometry" - }, - { - "object": "LayoutSVGRect rect", - "reason": "full" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/transform-foreign-object-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/transform-foreign-object-expected.txt deleted file mode 100644 index 524e40f..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/transform-foreign-object-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV", - "rect": [108, 8, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutSVGForeignObject foreignObject", - "rect": [108, 8, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "rect": [8, 8, 100, 100], - "reason": "subtree" - }, - { - "object": "LayoutSVGForeignObject foreignObject", - "rect": [8, 8, 100, 100], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGForeignObject foreignObject", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "subtree" - }, - { - "object": "LayoutSVGForeignObject foreignObject", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/transform-text-element-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/transform-text-element-expected.txt deleted file mode 100644 index ef7d1ca..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/transform-text-element-expected.txt +++ /dev/null
@@ -1,67 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "rect": [8, 58, 400, 100], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [8, 58, 400, 100], - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [8, 8, 400, 100], - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "rect": [8, 8, 400, 100], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Test'", - "reason": "subtree" - }, - { - "object": "LayoutSVGText text", - "reason": "subtree" - }, - { - "object": "RootInlineBox", - "reason": "subtree" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "subtree" - }, - { - "object": "InlineTextBox 'Test'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/tspan-pattern-update-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/tspan-pattern-update-expected.txt deleted file mode 100644 index caa5d50f..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/tspan-pattern-update-expected.txt +++ /dev/null
@@ -1,40 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGTSpan tspan", - "rect": [8, 8, 300, 100], - "reason": "SVG resource change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGResourcePattern pattern id='pat'", - "reason": "full" - }, - { - "object": "LayoutSVGTSpan tspan", - "reason": "SVG resource change" - }, - { - "object": "InlineFlowBox", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "SVG resource change" - }, - { - "object": "InlineTextBox 'Y'", - "reason": "SVG resource change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/use-detach-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/use-detach-expected.txt deleted file mode 100644 index 558d176..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/use-detach-expected.txt +++ /dev/null
@@ -1,348 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g id='use'", - "rect": [210, 58, 44, 64], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='use'", - "rect": [210, 58, 44, 64], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer g id='use'", - "rect": [210, 58, 44, 64], - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer use", - "rect": [210, 58, 44, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use", - "rect": [210, 58, 44, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use", - "rect": [210, 58, 44, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use", - "rect": [210, 58, 44, 38], - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer use", - "rect": [210, 58, 44, 38], - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer use", - "rect": [210, 58, 44, 38], - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [210, 58, 44, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [210, 58, 44, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [210, 58, 44, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [210, 58, 44, 38], - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [210, 58, 44, 38], - "reason": "disappeared" - }, - { - "object": "LayoutSVGInlineText #text", - "rect": [210, 58, 44, 38], - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text id='use_text'", - "rect": [210, 58, 44, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='use_text'", - "rect": [210, 58, 44, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='use_text'", - "rect": [210, 58, 44, 38], - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='use_text'", - "rect": [210, 58, 44, 38], - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text id='use_text'", - "rect": [210, 58, 44, 38], - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text id='use_text'", - "rect": [210, 58, 44, 38], - "reason": "disappeared" - }, - { - "object": "LayoutSVGEllipse circle id='use_circle'", - "rect": [217, 93, 30, 30], - "reason": "appeared" - }, - { - "object": "LayoutSVGEllipse circle id='use_circle'", - "rect": [217, 93, 30, 30], - "reason": "appeared" - }, - { - "object": "LayoutSVGEllipse circle id='use_circle'", - "rect": [217, 93, 30, 30], - "reason": "appeared" - }, - { - "object": "LayoutSVGEllipse circle id='use_circle'", - "rect": [217, 93, 30, 30], - "reason": "disappeared" - }, - { - "object": "LayoutSVGEllipse circle id='use_circle'", - "rect": [217, 93, 30, 30], - "reason": "disappeared" - }, - { - "object": "LayoutSVGEllipse circle id='use_circle'", - "rect": [217, 93, 30, 30], - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer use", - "rect": [218, 94, 28, 28], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use", - "rect": [218, 94, 28, 28], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use", - "rect": [218, 94, 28, 28], - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use", - "rect": [218, 94, 28, 28], - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer use", - "rect": [218, 94, 28, 28], - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer use", - "rect": [218, 94, 28, 28], - "reason": "disappeared" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text id='use_text'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer use", - "reason": "disappeared" - }, - { - "object": "LayoutSVGEllipse circle id='use_circle'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer use", - "reason": "disappeared" - }, - { - "object": "LayoutSVGHiddenContainer g id='use'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='use'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='use_text'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'use'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use", - "reason": "appeared" - }, - { - "object": "LayoutSVGEllipse circle id='use_circle'", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text id='use_text'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer use", - "reason": "disappeared" - }, - { - "object": "LayoutSVGEllipse circle id='use_circle'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer use", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='use'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGHiddenContainer g id='use'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='use_text'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'use'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use", - "reason": "appeared" - }, - { - "object": "LayoutSVGEllipse circle id='use_circle'", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "disappeared" - }, - { - "object": "LayoutSVGText text id='use_text'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer use", - "reason": "disappeared" - }, - { - "object": "LayoutSVGEllipse circle id='use_circle'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer use", - "reason": "disappeared" - }, - { - "object": "LayoutSVGHiddenContainer g id='use'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGContainer g id='use'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use", - "reason": "appeared" - }, - { - "object": "LayoutSVGText text id='use_text'", - "reason": "appeared" - }, - { - "object": "RootInlineBox", - "reason": "appeared" - }, - { - "object": "LayoutSVGInlineText #text", - "reason": "appeared" - }, - { - "object": "InlineTextBox 'use'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use", - "reason": "appeared" - }, - { - "object": "LayoutSVGEllipse circle id='use_circle'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/use-disappears-after-style-update-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/use-disappears-after-style-update-expected.txt deleted file mode 100644 index 70e6629..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/use-disappears-after-style-update-expected.txt +++ /dev/null
@@ -1,69 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer use", - "rect": [50, 10, 36, 36], - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [50, 10, 30, 30], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [50, 10, 30, 30], - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [10, 10, 30, 30], - "reason": "appeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [10, 10, 30, 30], - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [0, 10, 30, 30], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "disappeared" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "style change" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "appeared" - }, - { - "object": "LayoutSVGContainer use", - "reason": "SVG resource change" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "appeared" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/use-inherit-style-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/use-inherit-style-expected.txt deleted file mode 100644 index 4b166e4b4..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/svg/use-inherit-style-expected.txt +++ /dev/null
@@ -1,42 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutSVGContainer g id='g'", - "rect": [0, 0, 100, 60], - "reason": "style change" - }, - { - "object": "LayoutSVGContainer use", - "rect": [0, 0, 100, 60], - "reason": "style change" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "rect": [0, 0, 100, 60], - "reason": "style change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutSVGContainer g id='g'", - "reason": "style change" - }, - { - "object": "LayoutSVGContainer use", - "reason": "style change" - }, - { - "object": "LayoutSVGRect rect id='rect'", - "reason": "style change" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table-overflow-auto-in-overflow-auto-scrolled-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table-overflow-auto-in-overflow-auto-scrolled-expected.txt deleted file mode 100644 index 41664e6..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table-overflow-auto-in-overflow-auto-scrolled-expected.txt +++ /dev/null
@@ -1,87 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='innerDiv'", - "rect": [8, 8, 769, 300], - "reason": "subtree" - }, - { - "object": "LayoutTable TABLE", - "rect": [8, 8, 306, 300], - "reason": "subtree" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 8, 306, 300], - "reason": "subtree" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 8, 306, 300], - "reason": "subtree" - }, - { - "object": "LayoutTableSection TBODY", - "rect": [8, 8, 306, 300], - "reason": "subtree" - }, - { - "object": "LayoutTableCell TD", - "rect": [10, 8, 302, 300], - "reason": "subtree" - }, - { - "object": "LayoutTableCell TD", - "rect": [10, 8, 302, 300], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='innerDiv'", - "rect": [762, 8, 15, 300], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='innerDiv'", - "reason": "subtree" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutTable TABLE", - "reason": "subtree" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "subtree" - }, - { - "object": "LayoutTableRow TR", - "reason": "subtree" - }, - { - "object": "LayoutTableCell TD", - "reason": "subtree" - }, - { - "object": "LayoutTableRow TR", - "reason": "subtree" - }, - { - "object": "LayoutTableCell TD", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table-overflow-scroll-in-overflow-scroll-scrolled-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table-overflow-scroll-in-overflow-scroll-scrolled-expected.txt deleted file mode 100644 index 41664e6..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table-overflow-scroll-in-overflow-scroll-scrolled-expected.txt +++ /dev/null
@@ -1,87 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='innerDiv'", - "rect": [8, 8, 769, 300], - "reason": "subtree" - }, - { - "object": "LayoutTable TABLE", - "rect": [8, 8, 306, 300], - "reason": "subtree" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 8, 306, 300], - "reason": "subtree" - }, - { - "object": "LayoutTableRow TR", - "rect": [8, 8, 306, 300], - "reason": "subtree" - }, - { - "object": "LayoutTableSection TBODY", - "rect": [8, 8, 306, 300], - "reason": "subtree" - }, - { - "object": "LayoutTableCell TD", - "rect": [10, 8, 302, 300], - "reason": "subtree" - }, - { - "object": "LayoutTableCell TD", - "rect": [10, 8, 302, 300], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='innerDiv'", - "rect": [762, 8, 15, 300], - "reason": "scroll control" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutBlockFlow DIV id='innerDiv'", - "reason": "subtree" - }, - { - "object": "VerticalScrollbar", - "reason": "scroll control" - }, - { - "object": "LayoutTable TABLE", - "reason": "subtree" - }, - { - "object": "LayoutTableSection TBODY", - "reason": "subtree" - }, - { - "object": "LayoutTableRow TR", - "reason": "subtree" - }, - { - "object": "LayoutTableCell TD", - "reason": "subtree" - }, - { - "object": "LayoutTableRow TR", - "reason": "subtree" - }, - { - "object": "LayoutTableCell TD", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table-row-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table-row-expected.txt deleted file mode 100644 index 8ce3fe2..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/table-row-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTableRow TR id='target' class='green'", - "rect": [8, 10, 106, 100], - "reason": "style change" - }, - { - "object": "LayoutTableCell TD", - "rect": [10, 10, 102, 100], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTableRow TR id='target' class='green'", - "reason": "style change" - }, - { - "object": "LayoutTableCell TD", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/textarea-set-disabled-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/textarea-set-disabled-expected.txt deleted file mode 100644 index 1fe9d5a..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/textarea-set-disabled-expected.txt +++ /dev/null
@@ -1,33 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutTextControl TEXTAREA", - "rect": [8, 8, 106, 106], - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "rect": [11, 11, 100, 10], - "reason": "subtree" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutTextControl TEXTAREA", - "reason": "subtree" - }, - { - "object": "LayoutBlockFlow DIV id='inner-editor'", - "reason": "subtree" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/window-resize-centered-inline-under-fixed-pos-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/window-resize-centered-inline-under-fixed-pos-expected.txt deleted file mode 100644 index 0c1a1a15..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/window-resize-centered-inline-under-fixed-pos-expected.txt +++ /dev/null
@@ -1,227 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [600, 250], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV class='container'", - "rect": [0, 0, 600, 500], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [0, 250, 600, 250], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV class='parent'", - "rect": [0, 0, 6, 500], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='child'", - "rect": [0, 250, 6, 30], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='child'", - "rect": [0, 125, 6, 30], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='container'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='parent'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='child'", - "reason": "geometry" - } - ] -} -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [400, 250], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV class='container'", - "rect": [0, 0, 600, 250], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [400, 0, 200, 250], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV class='parent'", - "rect": [0, 0, 6, 250], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='child'", - "rect": [0, 125, 6, 30], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='container'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='parent'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='child'", - "reason": "geometry" - } - ] -} -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [400, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV class='container'", - "rect": [0, 0, 400, 600], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [0, 250, 400, 350], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV class='parent'", - "rect": [0, 0, 6, 600], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='child'", - "rect": [0, 300, 6, 30], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='child'", - "rect": [0, 125, 6, 30], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='container'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='parent'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='child'", - "reason": "geometry" - } - ] -} -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutBlockFlow (positioned) DIV class='container'", - "rect": [0, 0, 800, 600], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [400, 0, 400, 600], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow DIV class='parent'", - "rect": [0, 0, 6, 600], - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='child'", - "rect": [0, 300, 6, 30], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow (positioned) DIV class='container'", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow DIV class='parent'", - "reason": "geometry" - }, - { - "object": "RootInlineBox", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='child'", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/window-resize-frameset-expected.txt b/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/window-resize-frameset-expected.txt deleted file mode 100644 index b66fe1e..0000000 --- a/third_party/WebKit/LayoutTests/virtual/disable-spinvalidation/paint/invalidation/window-resize-frameset-expected.txt +++ /dev/null
@@ -1,305 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [600, 250], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutFrameSet FRAMESET", - "rect": [0, 0, 600, 500], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [0, 250, 600, 250], - "reason": "incremental" - }, - { - "object": "LayoutFrame FRAME", - "rect": [153, 0, 294, 500], - "reason": "geometry" - }, - { - "object": "LayoutFrame FRAME", - "rect": [453, 0, 147, 500], - "reason": "geometry" - }, - { - "object": "LayoutFrame FRAME", - "rect": [0, 0, 147, 500], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "incremental" - }, - { - "object": "LayoutFrameSet FRAMESET", - "reason": "geometry" - }, - { - "object": "LayoutFrame FRAME", - "reason": "geometry" - }, - { - "object": "LayoutFrame FRAME", - "reason": "geometry" - }, - { - "object": "LayoutFrame FRAME", - "reason": "geometry" - } - ] -} -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [400, 250], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutFrameSet FRAMESET", - "rect": [0, 0, 600, 250], - "reason": "geometry" - }, - { - "object": "LayoutFrame FRAME", - "rect": [153, 0, 294, 250], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [400, 0, 200, 250], - "reason": "incremental" - }, - { - "object": "LayoutFrame FRAME", - "rect": [103, 0, 194, 250], - "reason": "geometry" - }, - { - "object": "LayoutFrame FRAME", - "rect": [453, 0, 147, 250], - "reason": "geometry" - }, - { - "object": "LayoutFrame FRAME", - "rect": [0, 0, 147, 250], - "reason": "geometry" - }, - { - "object": "LayoutFrame FRAME", - "rect": [303, 0, 97, 250], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "incremental" - }, - { - "object": "LayoutFrameSet FRAMESET", - "reason": "geometry" - }, - { - "object": "LayoutFrame FRAME", - "reason": "geometry" - }, - { - "object": "LayoutFrame FRAME", - "reason": "geometry" - }, - { - "object": "LayoutFrame FRAME", - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow HTML", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow HTML", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - } - ] -} -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [400, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutFrameSet FRAMESET", - "rect": [0, 0, 400, 600], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [0, 250, 400, 350], - "reason": "incremental" - }, - { - "object": "LayoutFrame FRAME", - "rect": [103, 0, 194, 600], - "reason": "geometry" - }, - { - "object": "LayoutFrame FRAME", - "rect": [303, 0, 97, 600], - "reason": "geometry" - }, - { - "object": "LayoutFrame FRAME", - "rect": [0, 0, 97, 600], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "incremental" - }, - { - "object": "LayoutFrameSet FRAMESET", - "reason": "geometry" - }, - { - "object": "LayoutFrame FRAME", - "reason": "geometry" - }, - { - "object": "LayoutFrame FRAME", - "reason": "geometry" - }, - { - "object": "LayoutFrame FRAME", - "reason": "geometry" - } - ] -} -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutFrameSet FRAMESET", - "rect": [0, 0, 800, 600], - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "rect": [400, 0, 400, 600], - "reason": "incremental" - }, - { - "object": "LayoutFrame FRAME", - "rect": [203, 0, 394, 600], - "reason": "geometry" - }, - { - "object": "LayoutFrame FRAME", - "rect": [603, 0, 197, 600], - "reason": "geometry" - }, - { - "object": "LayoutFrame FRAME", - "rect": [0, 0, 197, 600], - "reason": "geometry" - }, - { - "object": "LayoutFrame FRAME", - "rect": [103, 0, 194, 600], - "reason": "geometry" - }, - { - "object": "LayoutFrame FRAME", - "rect": [303, 0, 97, 600], - "reason": "geometry" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutView #document", - "reason": "incremental" - }, - { - "object": "LayoutFrameSet FRAMESET", - "reason": "geometry" - }, - { - "object": "LayoutFrame FRAME", - "reason": "geometry" - }, - { - "object": "LayoutFrame FRAME", - "reason": "geometry" - }, - { - "object": "LayoutFrame FRAME", - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow HTML", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - }, - { - "object": "LayoutView #document", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow HTML", - "reason": "geometry" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "geometry" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/rootlayerscrolls/fast/rootscroller/README.txt b/third_party/WebKit/LayoutTests/virtual/rootlayerscrolls/fast/rootscroller/README.txt new file mode 100644 index 0000000..e07220831 --- /dev/null +++ b/third_party/WebKit/LayoutTests/virtual/rootlayerscrolls/fast/rootscroller/README.txt
@@ -0,0 +1,2 @@ +# This suite runs the tests in fast/rootscroller with the --root-layer-scrolls +flag. Root layer scrolling is tracked in http://crbug.com/417782.
diff --git a/third_party/WebKit/LayoutTests/virtual/spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.txt b/third_party/WebKit/LayoutTests/virtual/spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.txt deleted file mode 100644 index 0d83874..0000000 --- a/third_party/WebKit/LayoutTests/virtual/spinvalidation/paint/invalidation/iframe-display-block-to-display-none-expected.txt +++ /dev/null
@@ -1,42 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutIFrame IFRAME id='iframe'", - "rect": [8, 68, 732, 94], - "reason": "layoutObject removal" - }, - { - "object": "LayoutBlockFlow HTML", - "rect": [10, 70, 728, 90], - "reason": "layoutObject removal" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [18, 78, 712, 74], - "reason": "layoutObject removal" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutIFrame IFRAME id='iframe'", - "reason": "layoutObject removal" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "layoutObject removal" - }, - { - "object": "LayoutBlockFlow HTML", - "reason": "layoutObject removal" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.txt b/third_party/WebKit/LayoutTests/virtual/spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.txt deleted file mode 100644 index f122360..0000000 --- a/third_party/WebKit/LayoutTests/virtual/spinvalidation/paint/invalidation/iframe-display-none-to-display-block-expected.txt +++ /dev/null
@@ -1,51 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [800, 600], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutIFrame IFRAME id='iframe'", - "rect": [8, 68, 732, 94], - "reason": "layoutObject insertion" - }, - { - "object": "LayoutBlockFlow HTML", - "rect": [10, 70, 728, 90], - "reason": "layoutObject insertion" - }, - { - "object": "LayoutView #document", - "rect": [10, 70, 728, 90], - "reason": "style change" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [18, 78, 712, 74], - "reason": "layoutObject insertion" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutIFrame IFRAME id='iframe'", - "reason": "layoutObject insertion" - }, - { - "object": "LayoutView #document", - "reason": "style change" - }, - { - "object": "LayoutBlockFlow HTML", - "reason": "layoutObject insertion" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "layoutObject insertion" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/virtual/spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt b/third_party/WebKit/LayoutTests/virtual/spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt deleted file mode 100644 index ef4e9d2..0000000 --- a/third_party/WebKit/LayoutTests/virtual/spinvalidation/paint/invalidation/shift-relative-positioned-container-with-image-removal-expected.txt +++ /dev/null
@@ -1,100 +0,0 @@ -{ - "layers": [ - { - "name": "LayoutView #document", - "bounds": [785, 735], - "contentsOpaque": true, - "drawsContent": true, - "paintInvalidations": [ - { - "object": "LayoutView #document", - "rect": [0, 735, 785, 98], - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='relative paddingTop'", - "rect": [8, 184, 769, 641], - "reason": "bounds change" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='relative paddingTop'", - "rect": [8, 86, 769, 641], - "reason": "bounds change" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "rect": [8, 86, 769, 98], - "reason": "layoutObject removal" - }, - { - "object": "LayoutIFrame IFRAME id='iframe'", - "rect": [8, 86, 732, 94], - "reason": "layoutObject removal" - }, - { - "object": "LayoutBlockFlow HTML", - "rect": [10, 88, 728, 90], - "reason": "layoutObject removal" - }, - { - "object": "LayoutBlockFlow BODY", - "rect": [18, 96, 712, 74], - "reason": "layoutObject removal" - }, - { - "object": "LayoutImage IMG", - "rect": [58, 234, 489, 537], - "reason": "bounds change" - }, - { - "object": "LayoutImage IMG", - "rect": [58, 136, 489, 537], - "reason": "bounds change" - } - ] - } - ], - "objectPaintInvalidations": [ - { - "object": "LayoutIFrame IFRAME id='iframe'", - "reason": "layoutObject removal" - }, - { - "object": "LayoutText #text", - "reason": "layoutObject removal" - }, - { - "object": "LayoutBlockFlow (anonymous)", - "reason": "layoutObject removal" - }, - { - "object": "LayoutView #document", - "reason": "incremental" - }, - { - "object": "LayoutBlockFlow (relative positioned) DIV class='relative paddingTop'", - "reason": "bounds change" - }, - { - "object": "RootInlineBox", - "reason": "bounds change" - }, - { - "object": "LayoutImage IMG", - "reason": "bounds change" - }, - { - "object": "LayoutText #text", - "reason": "location change" - }, - { - "object": "LayoutBlockFlow BODY", - "reason": "layoutObject removal" - }, - { - "object": "LayoutBlockFlow HTML", - "reason": "layoutObject removal" - } - ] -} -
diff --git a/third_party/WebKit/LayoutTests/vr/events_vrdisplayactivate.html b/third_party/WebKit/LayoutTests/vr/events_vrdisplayactivate.html index 1e6f0de..6a4845e 100644 --- a/third_party/WebKit/LayoutTests/vr/events_vrdisplayactivate.html +++ b/third_party/WebKit/LayoutTests/vr/events_vrdisplayactivate.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <canvas id="webgl-canvas"></canvas> <script src="resources/presentation-setup.js"></script>
diff --git a/third_party/WebKit/LayoutTests/vr/events_vrdisplayconnect.html b/third_party/WebKit/LayoutTests/vr/events_vrdisplayconnect.html index f1341b7..1f46450 100644 --- a/third_party/WebKit/LayoutTests/vr/events_vrdisplayconnect.html +++ b/third_party/WebKit/LayoutTests/vr/events_vrdisplayconnect.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <canvas id="webgl-canvas"></canvas> <script src="resources/presentation-setup.js"></script>
diff --git a/third_party/WebKit/LayoutTests/vr/events_vrdisplaypresentchange.html b/third_party/WebKit/LayoutTests/vr/events_vrdisplaypresentchange.html index 73d7ae9..6a28f68c 100644 --- a/third_party/WebKit/LayoutTests/vr/events_vrdisplaypresentchange.html +++ b/third_party/WebKit/LayoutTests/vr/events_vrdisplaypresentchange.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <canvas id="webgl-canvas"></canvas> <script src="resources/presentation-setup.js"></script>
diff --git a/third_party/WebKit/LayoutTests/vr/exitPresent_reject_notpresenting.html b/third_party/WebKit/LayoutTests/vr/exitPresent_reject_notpresenting.html index 810d1b2..50f10d34 100644 --- a/third_party/WebKit/LayoutTests/vr/exitPresent_reject_notpresenting.html +++ b/third_party/WebKit/LayoutTests/vr/exitPresent_reject_notpresenting.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <canvas id="webgl-canvas"></canvas> <script src="resources/presentation-setup.js"></script>
diff --git a/third_party/WebKit/LayoutTests/vr/exitPresent_resolve.html b/third_party/WebKit/LayoutTests/vr/exitPresent_resolve.html index e0410699..994e7b6b 100644 --- a/third_party/WebKit/LayoutTests/vr/exitPresent_resolve.html +++ b/third_party/WebKit/LayoutTests/vr/exitPresent_resolve.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <canvas id="webgl-canvas"></canvas> <script src="resources/presentation-setup.js"></script>
diff --git a/third_party/WebKit/LayoutTests/vr/getEyeParameters_match.html b/third_party/WebKit/LayoutTests/vr/getEyeParameters_match.html index 90d9e5c..f8d5f45 100644 --- a/third_party/WebKit/LayoutTests/vr/getEyeParameters_match.html +++ b/third_party/WebKit/LayoutTests/vr/getEyeParameters_match.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <script src="resources/test-constants.js"></script> <canvas id="webgl-canvas"></canvas>
diff --git a/third_party/WebKit/LayoutTests/vr/getFrameData_noupdate.html b/third_party/WebKit/LayoutTests/vr/getFrameData_noupdate.html index edfc5ef..a837910 100644 --- a/third_party/WebKit/LayoutTests/vr/getFrameData_noupdate.html +++ b/third_party/WebKit/LayoutTests/vr/getFrameData_noupdate.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <script src="resources/test-constants.js"></script> <script>
diff --git a/third_party/WebKit/LayoutTests/vr/getFrameData_oneframeupdate.html b/third_party/WebKit/LayoutTests/vr/getFrameData_oneframeupdate.html index d1ea97b9..fecf571a 100644 --- a/third_party/WebKit/LayoutTests/vr/getFrameData_oneframeupdate.html +++ b/third_party/WebKit/LayoutTests/vr/getFrameData_oneframeupdate.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <script src="resources/test-constants.js"></script> <script>
diff --git a/third_party/WebKit/LayoutTests/vr/getFrameData_samewithinframe.html b/third_party/WebKit/LayoutTests/vr/getFrameData_samewithinframe.html index b3f10feb..0a376e3 100644 --- a/third_party/WebKit/LayoutTests/vr/getFrameData_samewithinframe.html +++ b/third_party/WebKit/LayoutTests/vr/getFrameData_samewithinframe.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <script src="resources/test-constants.js"></script> <script>
diff --git a/third_party/WebKit/LayoutTests/vr/getLayers_notpresenting.html b/third_party/WebKit/LayoutTests/vr/getLayers_notpresenting.html index 0e576be..2d28a76 100644 --- a/third_party/WebKit/LayoutTests/vr/getLayers_notpresenting.html +++ b/third_party/WebKit/LayoutTests/vr/getLayers_notpresenting.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <canvas id="webgl-canvas"></canvas> <script src="resources/presentation-setup.js"></script>
diff --git a/third_party/WebKit/LayoutTests/vr/getLayers_presenting.html b/third_party/WebKit/LayoutTests/vr/getLayers_presenting.html index 6450cc1..cbf73f9 100644 --- a/third_party/WebKit/LayoutTests/vr/getLayers_presenting.html +++ b/third_party/WebKit/LayoutTests/vr/getLayers_presenting.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <script src="resources/test-constants.js"></script> <canvas id="webgl-canvas"></canvas>
diff --git a/third_party/WebKit/LayoutTests/vr/getLayers_presenting_nondefaultbounds.html b/third_party/WebKit/LayoutTests/vr/getLayers_presenting_nondefaultbounds.html index ef251b7..85b1747e 100644 --- a/third_party/WebKit/LayoutTests/vr/getLayers_presenting_nondefaultbounds.html +++ b/third_party/WebKit/LayoutTests/vr/getLayers_presenting_nondefaultbounds.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <script src="resources/test-constants.js"></script> <canvas id="webgl-canvas"></canvas>
diff --git a/third_party/WebKit/LayoutTests/vr/getLayers_update.html b/third_party/WebKit/LayoutTests/vr/getLayers_update.html index fd30209a..3bc21d2 100644 --- a/third_party/WebKit/LayoutTests/vr/getLayers_update.html +++ b/third_party/WebKit/LayoutTests/vr/getLayers_update.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <script src="resources/test-constants.js"></script> <canvas id="webgl-canvas"></canvas>
diff --git a/third_party/WebKit/LayoutTests/vr/getVRDisplays_one_display.html b/third_party/WebKit/LayoutTests/vr/getVRDisplays_one_display.html index 4a72b90..93b33ba1 100644 --- a/third_party/WebKit/LayoutTests/vr/getVRDisplays_one_display.html +++ b/third_party/WebKit/LayoutTests/vr/getVRDisplays_one_display.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <script src="resources/test-constants.js"></script> <script>
diff --git a/third_party/WebKit/LayoutTests/vr/getVRDisplays_two_display.html b/third_party/WebKit/LayoutTests/vr/getVRDisplays_two_display.html index 087b8d7..b0d88f4 100644 --- a/third_party/WebKit/LayoutTests/vr/getVRDisplays_two_display.html +++ b/third_party/WebKit/LayoutTests/vr/getVRDisplays_two_display.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <script src="resources/test-constants.js"></script> <script>
diff --git a/third_party/WebKit/LayoutTests/vr/getVRDisplays_zero_display.html b/third_party/WebKit/LayoutTests/vr/getVRDisplays_zero_display.html index 9b95cff2..54fabb72 100644 --- a/third_party/WebKit/LayoutTests/vr/getVRDisplays_zero_display.html +++ b/third_party/WebKit/LayoutTests/vr/getVRDisplays_zero_display.html
@@ -1,7 +1,8 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <script>
diff --git a/third_party/WebKit/LayoutTests/vr/multiple_requestAnimationFrame_called.html b/third_party/WebKit/LayoutTests/vr/multiple_requestAnimationFrame_called.html index 1aa923b..de3e4dd 100644 --- a/third_party/WebKit/LayoutTests/vr/multiple_requestAnimationFrame_called.html +++ b/third_party/WebKit/LayoutTests/vr/multiple_requestAnimationFrame_called.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <script> let fakeDisplays = fakeVRDisplays();
diff --git a/third_party/WebKit/LayoutTests/vr/requestAnimationFrame_called.html b/third_party/WebKit/LayoutTests/vr/requestAnimationFrame_called.html index 29a8381..3e123ef1 100644 --- a/third_party/WebKit/LayoutTests/vr/requestAnimationFrame_called.html +++ b/third_party/WebKit/LayoutTests/vr/requestAnimationFrame_called.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <script> let fakeDisplays = fakeVRDisplays();
diff --git a/third_party/WebKit/LayoutTests/vr/requestAnimationFrame_consistentTimestamps.html b/third_party/WebKit/LayoutTests/vr/requestAnimationFrame_consistentTimestamps.html index 71dc384..d819c8b8 100644 --- a/third_party/WebKit/LayoutTests/vr/requestAnimationFrame_consistentTimestamps.html +++ b/third_party/WebKit/LayoutTests/vr/requestAnimationFrame_consistentTimestamps.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <canvas id="webgl-canvas"></canvas> <script src="resources/presentation-setup.js"></script>
diff --git a/third_party/WebKit/LayoutTests/vr/requestAnimationFrame_handoff.html b/third_party/WebKit/LayoutTests/vr/requestAnimationFrame_handoff.html index c173930..06812c5e 100644 --- a/third_party/WebKit/LayoutTests/vr/requestAnimationFrame_handoff.html +++ b/third_party/WebKit/LayoutTests/vr/requestAnimationFrame_handoff.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <canvas id="webgl-canvas"></canvas> <script src="resources/presentation-setup.js"></script>
diff --git a/third_party/WebKit/LayoutTests/vr/requestAnimationFrame_invalidhandle.html b/third_party/WebKit/LayoutTests/vr/requestAnimationFrame_invalidhandle.html index 5ce86969..eeb9a4a 100644 --- a/third_party/WebKit/LayoutTests/vr/requestAnimationFrame_invalidhandle.html +++ b/third_party/WebKit/LayoutTests/vr/requestAnimationFrame_invalidhandle.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <script> let fakeDisplays = fakeVRDisplays();
diff --git a/third_party/WebKit/LayoutTests/vr/requestAnimationFrame_submitFrame_combinations.html b/third_party/WebKit/LayoutTests/vr/requestAnimationFrame_submitFrame_combinations.html index df37846..804f645c 100644 --- a/third_party/WebKit/LayoutTests/vr/requestAnimationFrame_submitFrame_combinations.html +++ b/third_party/WebKit/LayoutTests/vr/requestAnimationFrame_submitFrame_combinations.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <canvas id="webgl-canvas"></canvas> <script src="resources/presentation-setup.js"></script>
diff --git a/third_party/WebKit/LayoutTests/vr/requestAnimationFrame_unregister.html b/third_party/WebKit/LayoutTests/vr/requestAnimationFrame_unregister.html index 142d583..b72c302 100644 --- a/third_party/WebKit/LayoutTests/vr/requestAnimationFrame_unregister.html +++ b/third_party/WebKit/LayoutTests/vr/requestAnimationFrame_unregister.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <script> let fakeDisplays = fakeVRDisplays();
diff --git a/third_party/WebKit/LayoutTests/vr/requestPresent_reject_badleftbounds.html b/third_party/WebKit/LayoutTests/vr/requestPresent_reject_badleftbounds.html index a2c9b69..91ef348 100644 --- a/third_party/WebKit/LayoutTests/vr/requestPresent_reject_badleftbounds.html +++ b/third_party/WebKit/LayoutTests/vr/requestPresent_reject_badleftbounds.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <canvas id="webgl-canvas"></canvas> <script src="resources/presentation-setup.js"></script>
diff --git a/third_party/WebKit/LayoutTests/vr/requestPresent_reject_badrightbounds.html b/third_party/WebKit/LayoutTests/vr/requestPresent_reject_badrightbounds.html index 8fa5169f..17ee377 100644 --- a/third_party/WebKit/LayoutTests/vr/requestPresent_reject_badrightbounds.html +++ b/third_party/WebKit/LayoutTests/vr/requestPresent_reject_badrightbounds.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <canvas id="webgl-canvas"></canvas> <script src="resources/presentation-setup.js"></script>
diff --git a/third_party/WebKit/LayoutTests/vr/requestPresent_reject_nogesture.html b/third_party/WebKit/LayoutTests/vr/requestPresent_reject_nogesture.html index eabc0f7..f9eae589 100644 --- a/third_party/WebKit/LayoutTests/vr/requestPresent_reject_nogesture.html +++ b/third_party/WebKit/LayoutTests/vr/requestPresent_reject_nogesture.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <canvas id="webgl-canvas"></canvas> <script src="resources/presentation-setup.js"></script>
diff --git a/third_party/WebKit/LayoutTests/vr/requestPresent_reject_nolayers.html b/third_party/WebKit/LayoutTests/vr/requestPresent_reject_nolayers.html index 4cf110e..8da11fe 100644 --- a/third_party/WebKit/LayoutTests/vr/requestPresent_reject_nolayers.html +++ b/third_party/WebKit/LayoutTests/vr/requestPresent_reject_nolayers.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <canvas id="webgl-canvas"></canvas> <script src="resources/presentation-setup.js"></script>
diff --git a/third_party/WebKit/LayoutTests/vr/requestPresent_reject_nosource.html b/third_party/WebKit/LayoutTests/vr/requestPresent_reject_nosource.html index 39b28bc..8232cb6b 100644 --- a/third_party/WebKit/LayoutTests/vr/requestPresent_reject_nosource.html +++ b/third_party/WebKit/LayoutTests/vr/requestPresent_reject_nosource.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <canvas id="webgl-canvas"></canvas> <script src="resources/presentation-setup.js"></script>
diff --git a/third_party/WebKit/LayoutTests/vr/requestPresent_reject_notsupported.html b/third_party/WebKit/LayoutTests/vr/requestPresent_reject_notsupported.html index a4fed932..bcec9fd 100644 --- a/third_party/WebKit/LayoutTests/vr/requestPresent_reject_notsupported.html +++ b/third_party/WebKit/LayoutTests/vr/requestPresent_reject_notsupported.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <canvas id="webgl-canvas"></canvas> <script src="resources/presentation-setup.js"></script>
diff --git a/third_party/WebKit/LayoutTests/vr/requestPresent_reject_nowebgl.html b/third_party/WebKit/LayoutTests/vr/requestPresent_reject_nowebgl.html index f256959..779a90b 100644 --- a/third_party/WebKit/LayoutTests/vr/requestPresent_reject_nowebgl.html +++ b/third_party/WebKit/LayoutTests/vr/requestPresent_reject_nowebgl.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <canvas id="webgl-canvas"></canvas> <canvas id="canvas-2d"></canvas>
diff --git a/third_party/WebKit/LayoutTests/vr/requestPresent_reject_nullsource.html b/third_party/WebKit/LayoutTests/vr/requestPresent_reject_nullsource.html index dc9568e..10b7f2c 100644 --- a/third_party/WebKit/LayoutTests/vr/requestPresent_reject_nullsource.html +++ b/third_party/WebKit/LayoutTests/vr/requestPresent_reject_nullsource.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <canvas id="webgl-canvas"></canvas> <script src="resources/presentation-setup.js"></script>
diff --git a/third_party/WebKit/LayoutTests/vr/requestPresent_reject_toomanylayers.html b/third_party/WebKit/LayoutTests/vr/requestPresent_reject_toomanylayers.html index a15642eb..41c80d4 100644 --- a/third_party/WebKit/LayoutTests/vr/requestPresent_reject_toomanylayers.html +++ b/third_party/WebKit/LayoutTests/vr/requestPresent_reject_toomanylayers.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <canvas id="webgl-canvas"></canvas> <script src="resources/presentation-setup.js"></script>
diff --git a/third_party/WebKit/LayoutTests/vr/requestPresent_resolve.html b/third_party/WebKit/LayoutTests/vr/requestPresent_resolve.html index 5f23410b..1053973 100644 --- a/third_party/WebKit/LayoutTests/vr/requestPresent_resolve.html +++ b/third_party/WebKit/LayoutTests/vr/requestPresent_resolve.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <canvas id="webgl-canvas"></canvas> <script src="resources/presentation-setup.js"></script>
diff --git a/third_party/WebKit/LayoutTests/vr/requestPresent_resolve_repeatwithgesture.html b/third_party/WebKit/LayoutTests/vr/requestPresent_resolve_repeatwithgesture.html index b4951dad..620e1abc 100644 --- a/third_party/WebKit/LayoutTests/vr/requestPresent_resolve_repeatwithgesture.html +++ b/third_party/WebKit/LayoutTests/vr/requestPresent_resolve_repeatwithgesture.html
@@ -2,8 +2,9 @@ <!-- Specific regression test for crbug.com/654909 --> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <canvas id="webgl-canvas"></canvas> <script src="resources/presentation-setup.js"></script>
diff --git a/third_party/WebKit/LayoutTests/vr/requestPresent_resolve_repeatwithoutgesture.html b/third_party/WebKit/LayoutTests/vr/requestPresent_resolve_repeatwithoutgesture.html index 7e381b3a..7967cda9 100644 --- a/third_party/WebKit/LayoutTests/vr/requestPresent_resolve_repeatwithoutgesture.html +++ b/third_party/WebKit/LayoutTests/vr/requestPresent_resolve_repeatwithoutgesture.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <canvas id="webgl-canvas"></canvas> <script src="resources/presentation-setup.js"></script>
diff --git a/third_party/WebKit/LayoutTests/vr/requestPresent_resolve_then_reject.html b/third_party/WebKit/LayoutTests/vr/requestPresent_resolve_then_reject.html index 043a71b5..a5f5532 100644 --- a/third_party/WebKit/LayoutTests/vr/requestPresent_resolve_then_reject.html +++ b/third_party/WebKit/LayoutTests/vr/requestPresent_resolve_then_reject.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <canvas id="webgl-canvas"></canvas> <script src="resources/presentation-setup.js"></script>
diff --git a/third_party/WebKit/LayoutTests/vr/requestPresent_resolve_webgl2.html b/third_party/WebKit/LayoutTests/vr/requestPresent_resolve_webgl2.html index 48db70b5..0c7375b 100644 --- a/third_party/WebKit/LayoutTests/vr/requestPresent_resolve_webgl2.html +++ b/third_party/WebKit/LayoutTests/vr/requestPresent_resolve_webgl2.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <canvas id="webgl2-canvas"></canvas> <script src="resources/presentation-setup.js"></script>
diff --git a/third_party/WebKit/LayoutTests/vr/resources/mock-vr-service.js b/third_party/WebKit/LayoutTests/vr/resources/mock-vr-service.js index 040f98d4..f514009 100644 --- a/third_party/WebKit/LayoutTests/vr/resources/mock-vr-service.js +++ b/third_party/WebKit/LayoutTests/vr/resources/mock-vr-service.js
@@ -1,181 +1,169 @@ 'use strict'; -let mockVRService = loadMojoModules( - 'mockVRService', - ['mojo/public/js/bindings', - 'device/vr/vr_service.mojom', - ]).then(mojo => { - let [bindings, vr_service] = mojo.modules; +class MockVRDisplay { + constructor(displayInfo, service) { + this.bindingSet_ = new mojo.BindingSet(device.mojom.VRDisplay); + this.displayClient_ = new device.mojom.VRDisplayClientPtr(); + this.displayInfo_ = displayInfo; + this.service_ = service; + this.presentation_provider_ = new MockVRPresentationProvider(); - class MockVRDisplay { - constructor(interfaceProvider, displayInfo, service) { - this.bindingSet_ = new bindings.BindingSet(vr_service.VRDisplay); - this.displayClient_ = new vr_service.VRDisplayClientPtr(); - this.displayInfo_ = displayInfo; - this.service_ = service; - this.presentation_provider_ = new MockVRPresentationProvider(); - - interfaceProvider.addInterfaceOverrideForTesting( - vr_service.VRDisplay.name, - handle => this.bindingSet_.addBinding(this, handle)); - - if (service.client_) { - this.notifyClientOfDisplay(); - } - } - - requestPresent(secureOrigin, submitFrameClient, request) { - this.presentation_provider_.bind(submitFrameClient, request); - return Promise.resolve({success: true}); - } - - setPose(pose) { - if (pose == null) { - this.presentation_provider_.pose_ = null; - } else { - this.presentation_provider_.initPose(); - this.presentation_provider_.fillPose(pose); - } - } - - getNextMagicWindowPose() { - return Promise.resolve({ - pose: this.presentation_provider_.pose_, - }); - } - - forceActivate(reason) { - this.displayClient_.onActivate(reason); - } - - notifyClientOfDisplay() { - let displayPtr = new vr_service.VRDisplayPtr(); - let request = bindings.makeRequest(displayPtr); - let binding = new bindings.Binding( - vr_service.VRDisplay, - this, request); - let clientRequest = bindings.makeRequest(this.displayClient_); - this.service_.client_.onDisplayConnected(displayPtr, clientRequest, - this.displayInfo_); + if (service.client_) { + this.notifyClientOfDisplay(); } } - class MockVRPresentationProvider { - constructor() { - this.binding_ = new bindings.Binding(vr_service.VRPresentationProvider, - this); - this.pose_ = null; - } - bind(client, request) { - this.submitFrameClient_ = client; - this.binding_.close(); - this.binding_.bind(request); - } - submitFrame(frameId, mailboxHolder) { - // Trigger the submit completion callbacks here. WARNING: The - // Javascript-based mojo mocks are *not* re-entrant. In the current - // default implementation, Javascript calls display.submitFrame, and the - // corresponding C++ code uses a reentrant mojo call that waits for - // onSubmitFrameTransferred to indicate completion. This never finishes - // when using the mocks since the incoming calls are queued until the - // current execution context finishes. As a workaround, use the alternate - // "WebVRExperimentalRendering" mode which works without reentrant calls, - // the code only checks for completion on the *next* frame, see the - // corresponding option setting in RuntimeEnabledFeatures.json5. - this.submitFrameClient_.onSubmitFrameTransferred(); - this.submitFrameClient_.onSubmitFrameRendered(); - } - getVSync() { - if (this.pose_) { - this.pose_.poseIndex++; - } + requestPresent(secureOrigin, submitFrameClient, request) { + this.presentation_provider_.bind(submitFrameClient, request); + return Promise.resolve({success: true}); + } - // Convert current document time to monotonic time. - var now = window.performance.now() / 1000.0; - var diff = - now - window.internals.monotonicTimeToZeroBasedDocumentTime(now); - now += diff; - now *= 1000000; - - let retval = Promise.resolve({ - pose: this.pose_, - time: { - microseconds: now, - }, - frame_id: 0, - status: vr_service.VRPresentationProvider.VSyncStatus.SUCCESS, - }); - - return retval; - } - initPose() { - this.pose_ = { - orientation: null, - position: null, - angularVelocity: null, - linearVelocity: null, - angularAcceleration: null, - linearAcceleration: null, - poseIndex: 0 - }; - } - fillPose(pose) { - for (var field in pose) { - if (this.pose_.hasOwnProperty(field)) { - this.pose_[field] = pose[field]; - } - } + setPose(pose) { + if (pose == null) { + this.presentation_provider_.pose_ = null; + } else { + this.presentation_provider_.initPose(); + this.presentation_provider_.fillPose(pose); } } - class MockVRService { - constructor(interfaceProvider) { - this.bindingSet_ = new bindings.BindingSet(vr_service.VRService); - this.mockVRDisplays_ = []; + getNextMagicWindowPose() { + return Promise.resolve({ + pose: this.presentation_provider_.pose_, + }); + } - interfaceProvider.addInterfaceOverrideForTesting( - vr_service.VRService.name, - handle => this.bindingSet_.addBinding(this, handle)); + forceActivate(reason) { + this.displayClient_.onActivate(reason); + } + + notifyClientOfDisplay() { + let displayPtr = new device.mojom.VRDisplayPtr(); + let request = mojo.makeRequest(displayPtr); + let binding = new mojo.Binding(device.mojom.VRDisplay, this, request); + let clientRequest = mojo.makeRequest(this.displayClient_); + this.service_.client_.onDisplayConnected(displayPtr, clientRequest, + this.displayInfo_); + } +} + +class MockVRPresentationProvider { + constructor() { + this.binding_ = new mojo.Binding(device.mojom.VRPresentationProvider, this); + this.pose_ = null; + } + + bind(client, request) { + this.submitFrameClient_ = client; + this.binding_.close(); + this.binding_.bind(request); + } + + submitFrame(frameId, mailboxHolder) { + // Trigger the submit completion callbacks here. WARNING: The + // Javascript-based mojo mocks are *not* re-entrant. In the current + // default implementation, Javascript calls display.submitFrame, and the + // corresponding C++ code uses a reentrant mojo call that waits for + // onSubmitFrameTransferred to indicate completion. This never finishes + // when using the mocks since the incoming calls are queued until the + // current execution context finishes. As a workaround, use the alternate + // "WebVRExperimentalRendering" mode which works without reentrant calls, + // the code only checks for completion on the *next* frame, see the + // corresponding option setting in RuntimeEnabledFeatures.json5. + this.submitFrameClient_.onSubmitFrameTransferred(); + this.submitFrameClient_.onSubmitFrameRendered(); + } + + getVSync() { + if (this.pose_) { + this.pose_.poseIndex++; } - setVRDisplays(displays) { - this.mockVRDisplays_ = []; - for (let i = 0; i < displays.length; i++) { - displays[i].index = i; - this.mockVRDisplays_.push(new MockVRDisplay(mojo.frameInterfaces, - displays[i], this)); + // Convert current document time to monotonic time. + var now = window.performance.now() / 1000.0; + var diff = + now - window.internals.monotonicTimeToZeroBasedDocumentTime(now); + now += diff; + now *= 1000000; + + let retval = Promise.resolve({ + pose: this.pose_, + time: { + microseconds: now, + }, + frameId: 0, + status: device.mojom.VRPresentationProvider.VSyncStatus.SUCCESS, + }); + + return retval; + } + + initPose() { + this.pose_ = { + orientation: null, + position: null, + angularVelocity: null, + linearVelocity: null, + angularAcceleration: null, + linearAcceleration: null, + poseIndex: 0 + }; + } + + fillPose(pose) { + for (var field in pose) { + if (this.pose_.hasOwnProperty(field)) { + this.pose_[field] = pose[field]; } } + } +} - addVRDisplay(display) { - if (this.mockVRDisplays_.length) { - display.index = - this.mockVRDisplays_[this.mockVRDisplays_.length - 1] + 1; - } else { - display.index = 0; - } - this.mockVRDisplays_.push(new MockVRDisplay(mojo.frameInterfaces, - display, this)); - } +class MockVRService { + constructor() { + this.bindingSet_ = new mojo.BindingSet(device.mojom.VRService); + this.mockVRDisplays_ = []; - setClient(client) { - this.client_ = client; - for (let i = 0; i < this.mockVRDisplays_.length; i++) { - this.mockVRDisplays_[i].notifyClientOfDisplay(); - } + this.interceptor_ = + new MojoInterfaceInterceptor(device.mojom.VRService.name); + this.interceptor_.oninterfacerequest = + e => this.bindingSet_.addBinding(this, e.handle); + this.interceptor_.start(); + } - let device_number = this.mockVRDisplays_.length; - return Promise.resolve({number_of_connected_devices: device_number}); + setVRDisplays(displays) { + this.mockVRDisplays_ = []; + for (let i = 0; i < displays.length; i++) { + displays[i].index = i; + this.mockVRDisplays_.push(new MockVRDisplay(displays[i], this)); } } - return new MockVRService(mojo.frameInterfaces); -}); + addVRDisplay(display) { + if (this.mockVRDisplays_.length) { + display.index = + this.mockVRDisplays_[this.mockVRDisplays_.length - 1] + 1; + } else { + display.index = 0; + } + this.mockVRDisplays_.push(new MockVRDisplay(display, this)); + } + + setClient(client) { + this.client_ = client; + for (let i = 0; i < this.mockVRDisplays_.length; i++) { + this.mockVRDisplays_[i].notifyClientOfDisplay(); + } + + let device_number = this.mockVRDisplays_.length; + return Promise.resolve({numberOfConnectedDevices: device_number}); + } +} + +let mockVRService = new MockVRService(mojo.frameInterfaces); function vr_test(func, vrDisplays, name, properties) { - mockVRService.then( (service) => { - service.setVRDisplays(vrDisplays); - let t = async_test(name, properties); - func(t, service); - }); + mockVRService.setVRDisplays(vrDisplays); + let t = async_test(name, properties); + func(t, mockVRService); }
diff --git a/third_party/WebKit/LayoutTests/vr/stageParameters_match.html b/third_party/WebKit/LayoutTests/vr/stageParameters_match.html index 27bc513..8120208 100644 --- a/third_party/WebKit/LayoutTests/vr/stageParameters_match.html +++ b/third_party/WebKit/LayoutTests/vr/stageParameters_match.html
@@ -1,8 +1,9 @@ <!DOCTYPE html> <script src="../resources/testharness.js"></script> <script src="../resources/testharnessreport.js"></script> -<script src="../resources/mojo-helpers.js"></script> <script src="resources/fake-vr-displays.js"></script> +<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> +<script src="file:///gen/device/vr/vr_service.mojom.js"></script> <script src="resources/mock-vr-service.js"></script> <script src="resources/test-constants.js"></script> <canvas id="webgl-canvas"></canvas>
diff --git a/third_party/WebKit/Source/bindings/bindings.gni b/third_party/WebKit/Source/bindings/bindings.gni index feb91f7..a2959a0b 100644 --- a/third_party/WebKit/Source/bindings/bindings.gni +++ b/third_party/WebKit/Source/bindings/bindings.gni
@@ -172,6 +172,8 @@ "core/v8/serialization/SerializedScriptValueFactory.cpp", "core/v8/serialization/SerializedScriptValueFactory.h", "core/v8/serialization/Transferables.h", + "core/v8/serialization/UnpackedSerializedScriptValue.cpp", + "core/v8/serialization/UnpackedSerializedScriptValue.h", "core/v8/serialization/V8ScriptValueDeserializer.cpp", "core/v8/serialization/V8ScriptValueDeserializer.h", "core/v8/serialization/V8ScriptValueSerializer.cpp", @@ -185,30 +187,32 @@ bindings_core_v8_output_dir = "$bindings_output_dir/core/v8" bindings_unittest_files = - get_path_info([ - "core/v8/ActivityLoggerTest.cpp", - "core/v8/BindingSecurityTest.cpp", - "core/v8/DocumentWriteEvaluatorTest.cpp", - "core/v8/DOMWrapperWorldTest.cpp", - "core/v8/IDLTypesTest.cpp", - "core/v8/NativeValueTraitsImplTest.cpp", - "core/v8/NativeValueTraitsTest.cpp", - "core/v8/ScriptModuleTest.cpp", - "core/v8/ScriptPromisePropertyTest.cpp", - "core/v8/ScriptPromiseResolverTest.cpp", - "core/v8/ScriptPromiseTest.cpp", - "core/v8/WindowProxyTest.cpp", - "core/v8/ScriptStreamerTest.cpp", - "core/v8/ScriptWrappableVisitorTest.cpp", - "core/v8/ToV8Test.cpp", - "core/v8/TraceWrapperMemberTest.cpp", - "core/v8/V8BindingForTesting.cpp", - "core/v8/V8BindingForTesting.h", - "core/v8/V8BindingTest.cpp", - "core/v8/V8ObjectBuilderTest.cpp", - "core/v8/V8ScriptRunnerTest.cpp", - "core/v8/serialization/SerializedScriptValueTest.cpp", - "core/v8/serialization/V8ScriptValueSerializerTest.cpp", - ], - "abspath") + get_path_info( + [ + "core/v8/ActivityLoggerTest.cpp", + "core/v8/BindingSecurityTest.cpp", + "core/v8/DocumentWriteEvaluatorTest.cpp", + "core/v8/DOMWrapperWorldTest.cpp", + "core/v8/IDLTypesTest.cpp", + "core/v8/NativeValueTraitsImplTest.cpp", + "core/v8/NativeValueTraitsTest.cpp", + "core/v8/ScriptModuleTest.cpp", + "core/v8/ScriptPromisePropertyTest.cpp", + "core/v8/ScriptPromiseResolverTest.cpp", + "core/v8/ScriptPromiseTest.cpp", + "core/v8/WindowProxyTest.cpp", + "core/v8/ScriptStreamerTest.cpp", + "core/v8/ScriptWrappableVisitorTest.cpp", + "core/v8/ToV8Test.cpp", + "core/v8/TraceWrapperMemberTest.cpp", + "core/v8/V8BindingForTesting.cpp", + "core/v8/V8BindingForTesting.h", + "core/v8/V8BindingTest.cpp", + "core/v8/V8ObjectBuilderTest.cpp", + "core/v8/V8ScriptRunnerTest.cpp", + "core/v8/serialization/SerializedScriptValueTest.cpp", + "core/v8/serialization/SerializedScriptValueThreadedTest.cpp", + "core/v8/serialization/V8ScriptValueSerializerTest.cpp", + ], + "abspath") bindings_unittest_files += bindings_modules_v8_unittest_files
diff --git a/third_party/WebKit/Source/bindings/core/v8/custom/V8MessageEventCustom.cpp b/third_party/WebKit/Source/bindings/core/v8/custom/V8MessageEventCustom.cpp index 1a228b4..7c7175fe 100644 --- a/third_party/WebKit/Source/bindings/core/v8/custom/V8MessageEventCustom.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/custom/V8MessageEventCustom.cpp
@@ -66,12 +66,12 @@ break; case MessageEvent::kDataTypeSerializedScriptValue: - if (SerializedScriptValue* serialized_value = - event->DataAsSerializedScriptValue()) { + if (UnpackedSerializedScriptValue* unpacked_value = + event->DataAsUnpackedSerializedScriptValue()) { MessagePortArray ports = event->ports(); SerializedScriptValue::DeserializeOptions options; options.message_ports = &ports; - result = serialized_value->Deserialize(isolate, options); + result = unpacked_value->Deserialize(isolate, options); } else { result = v8::Null(isolate); }
diff --git a/third_party/WebKit/Source/bindings/core/v8/serialization/SerializedScriptValue.cpp b/third_party/WebKit/Source/bindings/core/v8/serialization/SerializedScriptValue.cpp index da1c530..20bbe03b 100644 --- a/third_party/WebKit/Source/bindings/core/v8/serialization/SerializedScriptValue.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/serialization/SerializedScriptValue.cpp
@@ -43,6 +43,7 @@ #include "bindings/core/v8/serialization/SerializationTag.h" #include "bindings/core/v8/serialization/SerializedScriptValueFactory.h" #include "bindings/core/v8/serialization/Transferables.h" +#include "bindings/core/v8/serialization/UnpackedSerializedScriptValue.h" #include "core/dom/DOMArrayBuffer.h" #include "core/dom/DOMSharedArrayBuffer.h" #include "core/dom/ExceptionCode.h" @@ -353,6 +354,23 @@ options); } +// static +UnpackedSerializedScriptValue* SerializedScriptValue::Unpack( + RefPtr<SerializedScriptValue> value) { + if (!value) + return nullptr; +#if DCHECK_IS_ON() + DCHECK(!value->was_unpacked_); + value->was_unpacked_ = true; +#endif + return new UnpackedSerializedScriptValue(std::move(value)); +} + +bool SerializedScriptValue::HasPackedContents() const { + return !array_buffer_contents_array_.IsEmpty() || + !image_bitmap_contents_array_.IsEmpty(); +} + bool SerializedScriptValue::ExtractTransferables( v8::Isolate* isolate, v8::Local<v8::Value> value, @@ -551,30 +569,4 @@ } } -void SerializedScriptValue::ReceiveTransfer() { - if (received_) - return; - received_.emplace(); - - received_->array_buffers.Grow(array_buffer_contents_array_.size()); - std::transform(array_buffer_contents_array_.begin(), - array_buffer_contents_array_.end(), - received_->array_buffers.begin(), - [](WTF::ArrayBufferContents& contents) -> DOMArrayBufferBase* { - if (contents.IsShared()) - return DOMSharedArrayBuffer::Create(contents); - return DOMArrayBuffer::Create(contents); - }); - array_buffer_contents_array_.clear(); - - received_->image_bitmaps.Grow(image_bitmap_contents_array_.size()); - std::transform(image_bitmap_contents_array_.begin(), - image_bitmap_contents_array_.end(), - received_->image_bitmaps.begin(), - [](RefPtr<StaticBitmapImage>& contents) { - return ImageBitmap::Create(std::move(contents)); - }); - image_bitmap_contents_array_.clear(); -} - } // namespace blink
diff --git a/third_party/WebKit/Source/bindings/core/v8/serialization/SerializedScriptValue.h b/third_party/WebKit/Source/bindings/core/v8/serialization/SerializedScriptValue.h index 1288990..7d328276 100644 --- a/third_party/WebKit/Source/bindings/core/v8/serialization/SerializedScriptValue.h +++ b/third_party/WebKit/Source/bindings/core/v8/serialization/SerializedScriptValue.h
@@ -52,6 +52,7 @@ class Transferables; class ExceptionState; class StaticBitmapImage; +class UnpackedSerializedScriptValue; class WebBlobInfo; typedef HashMap<String, RefPtr<BlobDataHandle>> BlobDataHandleMap; @@ -159,6 +160,18 @@ } v8::Local<v8::Value> Deserialize(v8::Isolate*, const DeserializeOptions&); + // Takes ownership of a reference and creates an "unpacked" version of this + // value, where the transferred contents have been turned into complete + // objects local to this thread. A SerializedScriptValue can only be unpacked + // once, and the result is bound to a thread. + // See UnpackedSerializedScriptValue.h for more details. + static UnpackedSerializedScriptValue* Unpack(RefPtr<SerializedScriptValue>); + + // Used for debugging. Returns true if there are "packed" transferred contents + // which would require this value to be unpacked before deserialization. + // See UnpackedSerializedScriptValue.h for more details. + bool HasPackedContents() const; + // Helper function which pulls the values out of a JS sequence and into a // MessagePortArray. Also validates the elements per sections 4.1.13 and // 4.1.15 of the WebIDL spec and section 8.3.3 of the HTML5 spec and generates @@ -204,22 +217,13 @@ const uint8_t* Data() const { return data_buffer_.get(); } size_t DataLengthInBytes() const { return data_buffer_size_; } - // These are only accessible once we have "received" the transferred data on - // the new thread or context. - void ReceiveTransfer(); - const HeapVector<Member<DOMArrayBufferBase>>& ReceivedArrayBuffers() const { - return received_->array_buffers; - } - const HeapVector<Member<ImageBitmap>>& ReceivedImageBitmaps() const { - return received_->image_bitmaps; - } - TransferredWasmModulesArray& WasmModules() { return wasm_modules_; } BlobDataHandleMap& BlobDataHandles() { return blob_data_handles_; } private: friend class ScriptValueSerializer; friend class V8ScriptValueSerializer; + friend class UnpackedSerializedScriptValue; struct BufferDeleter { void operator()(uint8_t* buffer) { WTF::Partitions::BufferFree(buffer); } @@ -248,7 +252,7 @@ size_t data_buffer_size_ = 0; // These two have one-use transferred contents, and are stored in - // ReceivedObjects thereafter. + // UnpackedSerializedScriptValue thereafter. ArrayBufferContentsArray array_buffer_contents_array_; ImageBitmapContentsArray image_bitmap_contents_array_; @@ -256,18 +260,11 @@ TransferredWasmModulesArray wasm_modules_; BlobDataHandleMap blob_data_handles_; - // These replace their corresponding ordinary members, once set. - // Once the SerializedScriptValue is being deserialized, real objects will be - // materialized here, but only the contents should exist when moving between - // threads, frames, etc. - struct ReceivedObjects { - PersistentHeapVector<Member<DOMArrayBufferBase>> array_buffers; - PersistentHeapVector<Member<ImageBitmap>> image_bitmaps; - }; - Optional<ReceivedObjects> received_; - bool has_registered_external_allocation_; bool transferables_need_external_allocation_registration_; +#if DCHECK_IS_ON() + bool was_unpacked_ = false; +#endif }; template <>
diff --git a/third_party/WebKit/Source/bindings/core/v8/serialization/SerializedScriptValueFactory.cpp b/third_party/WebKit/Source/bindings/core/v8/serialization/SerializedScriptValueFactory.cpp index afe8c57..e7a6986 100644 --- a/third_party/WebKit/Source/bindings/core/v8/serialization/SerializedScriptValueFactory.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/serialization/SerializedScriptValueFactory.cpp
@@ -23,7 +23,17 @@ } v8::Local<v8::Value> SerializedScriptValueFactory::Deserialize( - SerializedScriptValue* value, + RefPtr<SerializedScriptValue> value, + v8::Isolate* isolate, + const SerializedScriptValue::DeserializeOptions& options) { + TRACE_EVENT0("blink", "SerializedScriptValueFactory::deserialize"); + V8ScriptValueDeserializer deserializer(ScriptState::Current(isolate), + std::move(value), options); + return deserializer.Deserialize(); +} + +v8::Local<v8::Value> SerializedScriptValueFactory::Deserialize( + UnpackedSerializedScriptValue* value, v8::Isolate* isolate, const SerializedScriptValue::DeserializeOptions& options) { TRACE_EVENT0("blink", "SerializedScriptValueFactory::deserialize");
diff --git a/third_party/WebKit/Source/bindings/core/v8/serialization/SerializedScriptValueFactory.h b/third_party/WebKit/Source/bindings/core/v8/serialization/SerializedScriptValueFactory.h index c6607f7a..abc8e57 100644 --- a/third_party/WebKit/Source/bindings/core/v8/serialization/SerializedScriptValueFactory.h +++ b/third_party/WebKit/Source/bindings/core/v8/serialization/SerializedScriptValueFactory.h
@@ -26,6 +26,7 @@ protected: friend class SerializedScriptValue; + friend class UnpackedSerializedScriptValue; // Following 2 methods are expected to be called by SerializedScriptValue. @@ -41,7 +42,12 @@ ExceptionState&); virtual v8::Local<v8::Value> Deserialize( - SerializedScriptValue*, + RefPtr<SerializedScriptValue>, + v8::Isolate*, + const SerializedScriptValue::DeserializeOptions&); + + virtual v8::Local<v8::Value> Deserialize( + UnpackedSerializedScriptValue*, v8::Isolate*, const SerializedScriptValue::DeserializeOptions&);
diff --git a/third_party/WebKit/Source/bindings/core/v8/serialization/SerializedScriptValueThreadedTest.cpp b/third_party/WebKit/Source/bindings/core/v8/serialization/SerializedScriptValueThreadedTest.cpp new file mode 100644 index 0000000..c8f569b --- /dev/null +++ b/third_party/WebKit/Source/bindings/core/v8/serialization/SerializedScriptValueThreadedTest.cpp
@@ -0,0 +1,86 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "bindings/core/v8/serialization/SerializedScriptValue.h" + +#include "bindings/core/v8/ExceptionState.h" +#include "bindings/core/v8/V8BindingForTesting.h" +#include "bindings/core/v8/WorkerOrWorkletScriptController.h" +#include "bindings/core/v8/serialization/UnpackedSerializedScriptValue.h" +#include "core/dom/DOMArrayBuffer.h" +#include "core/dom/Document.h" +#include "core/workers/WorkerThreadTestHelper.h" +#include "platform/bindings/ToV8.h" + +namespace blink { + +// On debug builds, Oilpan contains checks that will fail if a persistent handle +// is destroyed on the wrong thread. +TEST(SerializedScriptValueThreadedTest, + SafeDestructionIfSendingThreadKeepsAlive) { + V8TestingScope scope; + + // Start a worker. + WorkerReportingProxy proxy; + WorkerThreadForTest worker_thread(nullptr, proxy); + ParentFrameTaskRunners* parent_frame_task_runners = + ParentFrameTaskRunners::Create(scope.GetFrame()); + worker_thread.StartWithSourceCode(scope.GetDocument().GetSecurityOrigin(), + "/* no worker script */", + parent_frame_task_runners); + + // Create a serialized script value that contains transferred array buffer + // contents. + DOMArrayBuffer* array_buffer = DOMArrayBuffer::Create(1, 1); + Transferables transferables; + transferables.array_buffers.push_back(array_buffer); + SerializedScriptValue::SerializeOptions options; + options.transferables = &transferables; + RefPtr<SerializedScriptValue> serialized = SerializedScriptValue::Serialize( + scope.GetIsolate(), + ToV8(array_buffer, scope.GetContext()->Global(), scope.GetIsolate()), + options, ASSERT_NO_EXCEPTION); + EXPECT_TRUE(serialized); + EXPECT_TRUE(array_buffer->IsNeutered()); + + // Deserialize the serialized value on the worker. + // Intentionally keep a reference on this thread while this occurs. + // + // Note that the reference is passed strangely to make sure that the main + // thread keeps its reference, and the bound callback passes its reference + // into the block, without keeping an additional reference. (Failing to do + // this results in a data race.) + WaitableEvent done; + worker_thread.GetWorkerBackingThread().BackingThread().PostTask( + FROM_HERE, + CrossThreadBind( + [](WorkerThread* worker_thread, WaitableEvent* done, + RefPtr<SerializedScriptValue> serialized) { + WorkerOrWorkletScriptController* script = + worker_thread->GlobalScope()->ScriptController(); + EXPECT_TRUE(script->IsContextInitialized()); + ScriptState::Scope worker_scope(script->GetScriptState()); + SerializedScriptValue::Unpack(serialized) + ->Deserialize(worker_thread->GetIsolate()); + + // Make sure this thread's references are dropped before the main + // thread continues. + serialized = nullptr; + ThreadState::Current()->CollectAllGarbage(); + done->Signal(); + }, + CrossThreadUnretained(&worker_thread), CrossThreadUnretained(&done), + Passed(RefPtr<SerializedScriptValue>(serialized)))); + done.Wait(); + + // Now destroy the value on the main thread. + EXPECT_TRUE(serialized->HasOneRef()); + serialized = nullptr; + + // Finally, shut down the worker thread. + worker_thread.Terminate(); + worker_thread.WaitForShutdownForTesting(); +} + +} // namespace blink
diff --git a/third_party/WebKit/Source/bindings/core/v8/serialization/UnpackedSerializedScriptValue.cpp b/third_party/WebKit/Source/bindings/core/v8/serialization/UnpackedSerializedScriptValue.cpp new file mode 100644 index 0000000..5aa66b9 --- /dev/null +++ b/third_party/WebKit/Source/bindings/core/v8/serialization/UnpackedSerializedScriptValue.cpp
@@ -0,0 +1,59 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "bindings/core/v8/serialization/UnpackedSerializedScriptValue.h" + +#include "bindings/core/v8/serialization/SerializedScriptValue.h" +#include "bindings/core/v8/serialization/SerializedScriptValueFactory.h" +#include "core/dom/DOMArrayBuffer.h" +#include "core/dom/DOMSharedArrayBuffer.h" +#include "core/imagebitmap/ImageBitmap.h" +#include "platform/wtf/typed_arrays/ArrayBufferContents.h" + +namespace blink { + +UnpackedSerializedScriptValue::UnpackedSerializedScriptValue( + RefPtr<SerializedScriptValue> value) + : value_(std::move(value)) { + auto& array_buffer_contents = value_->array_buffer_contents_array_; + if (!array_buffer_contents.IsEmpty()) { + array_buffers_.Grow(array_buffer_contents.size()); + std::transform( + array_buffer_contents.begin(), array_buffer_contents.end(), + array_buffers_.begin(), + [](WTF::ArrayBufferContents& contents) -> DOMArrayBufferBase* { + if (contents.IsShared()) + return DOMSharedArrayBuffer::Create(contents); + return DOMArrayBuffer::Create(contents); + }); + array_buffer_contents.clear(); + } + + auto& image_bitmap_contents = value_->image_bitmap_contents_array_; + if (!image_bitmap_contents.IsEmpty()) { + image_bitmaps_.Grow(image_bitmap_contents.size()); + std::transform(image_bitmap_contents.begin(), image_bitmap_contents.end(), + image_bitmaps_.begin(), + [](RefPtr<StaticBitmapImage>& contents) { + return ImageBitmap::Create(std::move(contents)); + }); + image_bitmap_contents.clear(); + } +} + +UnpackedSerializedScriptValue::~UnpackedSerializedScriptValue() {} + +DEFINE_TRACE(UnpackedSerializedScriptValue) { + visitor->Trace(array_buffers_); + visitor->Trace(image_bitmaps_); +} + +v8::Local<v8::Value> UnpackedSerializedScriptValue::Deserialize( + v8::Isolate* isolate, + const DeserializeOptions& options) { + return SerializedScriptValueFactory::Instance().Deserialize(this, isolate, + options); +} + +} // namespace blink
diff --git a/third_party/WebKit/Source/bindings/core/v8/serialization/UnpackedSerializedScriptValue.h b/third_party/WebKit/Source/bindings/core/v8/serialization/UnpackedSerializedScriptValue.h new file mode 100644 index 0000000..3933501 --- /dev/null +++ b/third_party/WebKit/Source/bindings/core/v8/serialization/UnpackedSerializedScriptValue.h
@@ -0,0 +1,78 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef UnpackedSerializedScriptValue_h +#define UnpackedSerializedScriptValue_h + +#include "bindings/core/v8/serialization/SerializedScriptValue.h" +#include "core/CoreExport.h" +#include "platform/heap/GarbageCollected.h" +#include "platform/heap/Handle.h" +#include "platform/heap/HeapAllocator.h" +#include "platform/wtf/RefPtr.h" +#include "platform/wtf/Vector.h" + +namespace blink { + +class DOMArrayBufferBase; +class ImageBitmap; + +// Represents the "unpacked" materialized objects created after receiving the +// transferred contents of a SerializedScriptValue, e.g. from another thread. +// +// These contents should not (or cannot) be copied, but must be attached to a +// non-thread-safe object for use. For instance, an ArrayBuffer must be created +// on the heap to own the array buffer contents, create a JavaScript wrapper +// object, and so on. +// +// This "unpacking" can only be done once, and the resulting state must be +// manipulated and ultimately collected on the thread on which it was unpacked. +// +// However, these unpacked objects aren't necessarily transient either. For +// instance, the data of a MessageEvent might be requested in different isolated +// worlds, for which one object underlying each transferred object must exist, +// but (for security reasons) separate JavaScript wrappers must exist. For this +// reason, a SerializedScriptValue can only be unpacked once, but thereafter it +// can be deserialized multiple times. +class CORE_EXPORT UnpackedSerializedScriptValue + : public GarbageCollectedFinalized<UnpackedSerializedScriptValue> { + public: + ~UnpackedSerializedScriptValue(); + + DECLARE_TRACE(); + + SerializedScriptValue* Value() { return value_.Get(); } + const SerializedScriptValue* Value() const { return value_.Get(); } + + const HeapVector<Member<DOMArrayBufferBase>>& ArrayBuffers() const { + return array_buffers_; + } + const HeapVector<Member<ImageBitmap>>& ImageBitmaps() const { + return image_bitmaps_; + } + + using DeserializeOptions = SerializedScriptValue::DeserializeOptions; + v8::Local<v8::Value> Deserialize( + v8::Isolate*, + const DeserializeOptions& = DeserializeOptions()); + + private: + // Private so that callers use SerializedScriptValue::Unpack. + explicit UnpackedSerializedScriptValue(RefPtr<SerializedScriptValue>); + + // The underlying serialized data. + RefPtr<SerializedScriptValue> value_; + + // These replace their corresponding members in SerializedScriptValue, once + // set. Once the value is being deserialized, objects will be materialized + // here. + HeapVector<Member<DOMArrayBufferBase>> array_buffers_; + HeapVector<Member<ImageBitmap>> image_bitmaps_; + + friend class SerializedScriptValue; +}; + +} // namespace blink + +#endif // UnpackedSerializedScriptValue_h
diff --git a/third_party/WebKit/Source/bindings/core/v8/serialization/V8ScriptValueDeserializer.cpp b/third_party/WebKit/Source/bindings/core/v8/serialization/V8ScriptValueDeserializer.cpp index 77b0abe..84f51ec 100644 --- a/third_party/WebKit/Source/bindings/core/v8/serialization/V8ScriptValueDeserializer.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/serialization/V8ScriptValueDeserializer.cpp
@@ -5,6 +5,7 @@ #include "bindings/core/v8/serialization/V8ScriptValueDeserializer.h" #include "bindings/core/v8/ToV8ForCore.h" +#include "bindings/core/v8/serialization/UnpackedSerializedScriptValue.h" #include "core/dom/DOMArrayBuffer.h" #include "core/dom/DOMSharedArrayBuffer.h" #include "core/dom/ExecutionContext.h" @@ -86,10 +87,35 @@ V8ScriptValueDeserializer::V8ScriptValueDeserializer( RefPtr<ScriptState> script_state, - RefPtr<SerializedScriptValue> serialized_script_value, + UnpackedSerializedScriptValue* unpacked_value, + const Options& options) + : V8ScriptValueDeserializer(std::move(script_state), + unpacked_value, + unpacked_value->Value(), + options) {} + +V8ScriptValueDeserializer::V8ScriptValueDeserializer( + RefPtr<ScriptState> script_state, + RefPtr<SerializedScriptValue> value, + const Options& options) + : V8ScriptValueDeserializer(std::move(script_state), + nullptr, + std::move(value), + options) { + DCHECK(!serialized_script_value_->HasPackedContents()) + << "If the provided SerializedScriptValue could contain packed contents " + "due to transfer, then it must be unpacked before deserialization. " + "See SerializedScriptValue::Unpack."; +} + +V8ScriptValueDeserializer::V8ScriptValueDeserializer( + RefPtr<ScriptState> script_state, + UnpackedSerializedScriptValue* unpacked_value, + RefPtr<SerializedScriptValue> value, const Options& options) : script_state_(std::move(script_state)), - serialized_script_value_(std::move(serialized_script_value)), + unpacked_value_(unpacked_value), + serialized_script_value_(value), deserializer_(script_state_->GetIsolate(), serialized_script_value_->Data(), serialized_script_value_->DataLengthInBytes(), @@ -142,15 +168,17 @@ } void V8ScriptValueDeserializer::Transfer() { + // Thre's nothing to transfer if the deserializer was not given an unpacked + // value. + if (!unpacked_value_) + return; + v8::Isolate* isolate = script_state_->GetIsolate(); v8::Local<v8::Context> context = script_state_->GetContext(); v8::Local<v8::Object> creation_context = context->Global(); - // Receive the transfer, making the received objects available. - serialized_script_value_->ReceiveTransfer(); - // Transfer array buffers. - const auto& array_buffers = serialized_script_value_->ReceivedArrayBuffers(); + const auto& array_buffers = unpacked_value_->ArrayBuffers(); for (unsigned i = 0; i < array_buffers.size(); i++) { DOMArrayBufferBase* array_buffer = array_buffers.at(i); v8::Local<v8::Value> wrapper = @@ -254,8 +282,9 @@ } case kImageBitmapTransferTag: { uint32_t index = 0; - const auto& transferred_image_bitmaps = - serialized_script_value_->ReceivedImageBitmaps(); + if (!unpacked_value_) + return nullptr; + const auto& transferred_image_bitmaps = unpacked_value_->ImageBitmaps(); if (!ReadUint32(&index) || index >= transferred_image_bitmaps.size()) return nullptr; return transferred_image_bitmaps[index].Get();
diff --git a/third_party/WebKit/Source/bindings/core/v8/serialization/V8ScriptValueDeserializer.h b/third_party/WebKit/Source/bindings/core/v8/serialization/V8ScriptValueDeserializer.h index e493efe..3962152 100644 --- a/third_party/WebKit/Source/bindings/core/v8/serialization/V8ScriptValueDeserializer.h +++ b/third_party/WebKit/Source/bindings/core/v8/serialization/V8ScriptValueDeserializer.h
@@ -17,6 +17,7 @@ namespace blink { class File; +class UnpackedSerializedScriptValue; // Deserializes V8 values serialized using V8ScriptValueSerializer (or its // predecessor, ScriptValueSerializer). @@ -34,6 +35,9 @@ public: using Options = SerializedScriptValue::DeserializeOptions; V8ScriptValueDeserializer(RefPtr<ScriptState>, + UnpackedSerializedScriptValue*, + const Options& = Options()); + V8ScriptValueDeserializer(RefPtr<ScriptState>, RefPtr<SerializedScriptValue>, const Options& = Options()); @@ -62,6 +66,10 @@ bool ReadUTF8String(String* string_out); private: + V8ScriptValueDeserializer(RefPtr<ScriptState>, + UnpackedSerializedScriptValue*, + RefPtr<SerializedScriptValue>, + const Options&); void Transfer(); File* ReadFile(); @@ -77,6 +85,7 @@ uint32_t) override; RefPtr<ScriptState> script_state_; + Member<UnpackedSerializedScriptValue> unpacked_value_; RefPtr<SerializedScriptValue> serialized_script_value_; v8::ValueDeserializer deserializer_;
diff --git a/third_party/WebKit/Source/bindings/core/v8/serialization/V8ScriptValueSerializerTest.cpp b/third_party/WebKit/Source/bindings/core/v8/serialization/V8ScriptValueSerializerTest.cpp index f358d6a..7d2c3a9 100644 --- a/third_party/WebKit/Source/bindings/core/v8/serialization/V8ScriptValueSerializerTest.cpp +++ b/third_party/WebKit/Source/bindings/core/v8/serialization/V8ScriptValueSerializerTest.cpp
@@ -25,6 +25,7 @@ #include "bindings/core/v8/V8MessagePort.h" #include "bindings/core/v8/V8OffscreenCanvas.h" #include "bindings/core/v8/V8StringResource.h" +#include "bindings/core/v8/serialization/UnpackedSerializedScriptValue.h" #include "bindings/core/v8/serialization/V8ScriptValueDeserializer.h" #include "core/dom/MessagePort.h" #include "core/fileapi/Blob.h" @@ -98,10 +99,12 @@ MessagePortArray* transferred_message_ports = MessagePort::EntanglePorts( *scope.GetExecutionContext(), std::move(channels)); + UnpackedSerializedScriptValue* unpacked = + SerializedScriptValue::Unpack(std::move(serialized_script_value)); V8ScriptValueDeserializer::Options deserialize_options; deserialize_options.message_ports = transferred_message_ports; deserialize_options.blob_info = blob_info; - V8ScriptValueDeserializer deserializer(script_state, serialized_script_value, + V8ScriptValueDeserializer deserializer(script_state, unpacked, deserialize_options); return deserializer.Deserialize(); }
diff --git a/third_party/WebKit/Source/bindings/modules/v8/serialization/SerializedScriptValueForModulesFactory.cpp b/third_party/WebKit/Source/bindings/modules/v8/serialization/SerializedScriptValueForModulesFactory.cpp index c93968db..2fc3bd3 100644 --- a/third_party/WebKit/Source/bindings/modules/v8/serialization/SerializedScriptValueForModulesFactory.cpp +++ b/third_party/WebKit/Source/bindings/modules/v8/serialization/SerializedScriptValueForModulesFactory.cpp
@@ -23,7 +23,17 @@ } v8::Local<v8::Value> SerializedScriptValueForModulesFactory::Deserialize( - SerializedScriptValue* value, + RefPtr<SerializedScriptValue> value, + v8::Isolate* isolate, + const SerializedScriptValue::DeserializeOptions& options) { + TRACE_EVENT0("blink", "SerializedScriptValueFactory::deserialize"); + V8ScriptValueDeserializerForModules deserializer( + ScriptState::Current(isolate), std::move(value), options); + return deserializer.Deserialize(); +} + +v8::Local<v8::Value> SerializedScriptValueForModulesFactory::Deserialize( + UnpackedSerializedScriptValue* value, v8::Isolate* isolate, const SerializedScriptValue::DeserializeOptions& options) { TRACE_EVENT0("blink", "SerializedScriptValueFactory::deserialize");
diff --git a/third_party/WebKit/Source/bindings/modules/v8/serialization/SerializedScriptValueForModulesFactory.h b/third_party/WebKit/Source/bindings/modules/v8/serialization/SerializedScriptValueForModulesFactory.h index 932627e..1b9181ac 100644 --- a/third_party/WebKit/Source/bindings/modules/v8/serialization/SerializedScriptValueForModulesFactory.h +++ b/third_party/WebKit/Source/bindings/modules/v8/serialization/SerializedScriptValueForModulesFactory.h
@@ -26,7 +26,12 @@ ExceptionState&) override; v8::Local<v8::Value> Deserialize( - SerializedScriptValue*, + RefPtr<SerializedScriptValue>, + v8::Isolate*, + const SerializedScriptValue::DeserializeOptions&) override; + + v8::Local<v8::Value> Deserialize( + UnpackedSerializedScriptValue*, v8::Isolate*, const SerializedScriptValue::DeserializeOptions&) override; };
diff --git a/third_party/WebKit/Source/bindings/modules/v8/serialization/V8ScriptValueDeserializerForModules.h b/third_party/WebKit/Source/bindings/modules/v8/serialization/V8ScriptValueDeserializerForModules.h index a11903af..baa27cfc 100644 --- a/third_party/WebKit/Source/bindings/modules/v8/serialization/V8ScriptValueDeserializerForModules.h +++ b/third_party/WebKit/Source/bindings/modules/v8/serialization/V8ScriptValueDeserializerForModules.h
@@ -16,12 +16,19 @@ class MODULES_EXPORT V8ScriptValueDeserializerForModules final : public V8ScriptValueDeserializer { public: - explicit V8ScriptValueDeserializerForModules( - RefPtr<ScriptState> script_state, - RefPtr<SerializedScriptValue> serialized_script_value, - const Options& options = Options()) - : V8ScriptValueDeserializer(script_state, - serialized_script_value, + // TODO(jbroman): This should just be: + // using V8ScriptValueDeserializer::V8ScriptValueDeserializer; + // Unfortunately, MSVC 2015 emits C2248, claiming that it cannot access its + // own private members. Until it's gone, we write the constructors by hand. + V8ScriptValueDeserializerForModules(RefPtr<ScriptState> script_state, + UnpackedSerializedScriptValue* unpacked, + const Options& options = Options()) + : V8ScriptValueDeserializer(std::move(script_state), unpacked, options) {} + V8ScriptValueDeserializerForModules(RefPtr<ScriptState> script_state, + RefPtr<SerializedScriptValue> value, + const Options& options = Options()) + : V8ScriptValueDeserializer(std::move(script_state), + std::move(value), options) {} protected:
diff --git a/third_party/WebKit/Source/build/scripts/make_computed_style_base.py b/third_party/WebKit/Source/build/scripts/make_computed_style_base.py index 713ec3e..f38ae4d 100755 --- a/third_party/WebKit/Source/build/scripts/make_computed_style_base.py +++ b/third_party/WebKit/Source/build/scripts/make_computed_style_base.py
@@ -372,6 +372,12 @@ type_name = property_['type_name'] default_value = property_['default_value'] size = None + elif property_['field_template'] == '<length>': + property_['field_template'] = 'external' + property_['type_name'] = type_name = 'Length' + default_value = property_['default_value'] + property_['include_paths'] = ["platform/Length.h"] + size = None else: assert property_['field_template'] in ('monotonic_flag',) type_name = 'bool'
diff --git a/third_party/WebKit/Source/core/css/CSSProperties.json5 b/third_party/WebKit/Source/core/css/CSSProperties.json5 index b23c83c..a664428 100644 --- a/third_party/WebKit/Source/core/css/CSSProperties.json5 +++ b/third_party/WebKit/Source/core/css/CSSProperties.json5
@@ -101,6 +101,11 @@ "storage_only", // Field is stored as a wrapper_pointer_name to a class. "pointer", + // Preset "length" for external and Length class + // This preset represents: field_template: "external" + // type_name: "Length" + // include_paths: ["platform/Length.h"] + "<length>" ], }, @@ -963,9 +968,7 @@ interpolable: true, typedom_types: ["Length", "Percent"], keywords: ["auto"], - field_template: "external", - include_paths: ["platform/Length.h"], - type_name: "Length", + field_template: "<length>", field_group: "surround", default_value: "Length()", }, @@ -1251,11 +1254,9 @@ api_methods: ["parseSingleValue"], converter: "ConvertLengthOrAuto", interpolable: true, - type_name: "Length", - field_template: "external", + field_template: "<length>", default_value: "Length(kAuto)", field_group: "rare-non-inherited->flexible-box", - include_paths: ["platform/Length.h"], }, { name: "flex-direction", @@ -1365,11 +1366,9 @@ name: "grid-column-gap", converter: "ConvertLength", runtime_flag: "CSSGridLayout", - type_name: "Length", - field_template: "external", + field_template: "<length>", default_value: "Length(kFixed)", field_group: "rare-non-inherited->grid", - include_paths: ["platform/Length.h"], }, { name: "grid-column-start", @@ -1397,11 +1396,9 @@ name: "grid-row-gap", converter: "ConvertLength", runtime_flag: "CSSGridLayout", - type_name: "Length", - field_template: "external", + field_template: "<length>", default_value: "Length(kFixed)", field_group: "rare-non-inherited->grid", - include_paths: ["platform/Length.h"], }, { name: "grid-row-start", @@ -1450,9 +1447,7 @@ interpolable: true, typedom_types: ["Length", "Percent"], keywords: ["auto", "fit-content", "min-content", "max-content"], - field_template: "external", - include_paths: ["platform/Length.h"], - type_name: "Length", + field_template: "<length>", field_group: "box", default_value: "Length()", }, @@ -1537,9 +1532,7 @@ interpolable: true, typedom_types: ["Length", "Percent"], keywords: ["auto"], - field_template: "external", - include_paths: ["platform/Length.h"], - type_name: "Length", + field_template: "<length>", field_group: "surround", default_value: "Length()", }, @@ -1624,9 +1617,7 @@ api_methods: ["parseSingleValue"], converter: "ConvertQuirkyLength", interpolable: true, - field_template: "external", - include_paths: ["platform/Length.h"], - type_name: "Length", + field_template: "<length>", field_group: "surround", default_value: "Length(kFixed)", }, @@ -1636,9 +1627,7 @@ api_methods: ["parseSingleValue"], converter: "ConvertQuirkyLength", interpolable: true, - field_template: "external", - include_paths: ["platform/Length.h"], - type_name: "Length", + field_template: "<length>", field_group: "surround", default_value: "Length(kFixed)", }, @@ -1648,9 +1637,7 @@ api_methods: ["parseSingleValue"], converter: "ConvertQuirkyLength", interpolable: true, - field_template: "external", - include_paths: ["platform/Length.h"], - type_name: "Length", + field_template: "<length>", field_group: "surround", default_value: "Length(kFixed)", }, @@ -1660,9 +1647,7 @@ api_methods: ["parseSingleValue"], converter: "ConvertQuirkyLength", interpolable: true, - field_template: "external", - include_paths: ["platform/Length.h"], - type_name: "Length", + field_template: "<length>", field_group: "surround", default_value: "Length(kFixed)", }, @@ -1715,9 +1700,7 @@ converter: "ConvertLengthMaxSizing", is_descriptor: true, interpolable: true, - field_template: "external", - include_paths: ["platform/Length.h"], - type_name: "Length", + field_template: "<length>", field_group: "box", default_value: "Length(kMaxSizeNone)", }, @@ -1726,9 +1709,7 @@ converter: "ConvertLengthMaxSizing", is_descriptor: true, interpolable: true, - field_template: "external", - include_paths: ["platform/Length.h"], - type_name: "Length", + field_template: "<length>", field_group: "box", default_value: "Length(kMaxSizeNone)", }, @@ -1738,9 +1719,7 @@ converter: "ConvertLengthSizing", is_descriptor: true, interpolable: true, - field_template: "external", - include_paths: ["platform/Length.h"], - type_name: "Length", + field_template: "<length>", field_group: "box", default_value: "Length()", }, @@ -1750,9 +1729,7 @@ converter: "ConvertLengthSizing", is_descriptor: true, interpolable: true, - field_template: "external", - include_paths: ["platform/Length.h"], - type_name: "Length", + field_template: "<length>", field_group: "box", default_value: "Length()", }, @@ -1806,9 +1783,7 @@ api_class: true, converter: "ConvertLength", interpolable: true, - field_template: "external", - type_name: "Length", - include_paths: ["platform/Length.h"], + field_template: "<length>", field_group: "rare-non-inherited->transform", default_value: "Length(0, kFixed)", }, @@ -1969,9 +1944,7 @@ api_methods: ["parseSingleValue"], converter: "ConvertLength", interpolable: true, - field_template: "external", - include_paths: ["platform/Length.h"], - type_name: "Length", + field_template: "<length>", field_group: "surround", default_value: "Length(kFixed)", }, @@ -1981,9 +1954,7 @@ api_methods: ["parseSingleValue"], converter: "ConvertLength", interpolable: true, - field_template: "external", - include_paths: ["platform/Length.h"], - type_name: "Length", + field_template: "<length>", field_group: "surround", default_value: "Length(kFixed)", }, @@ -1993,9 +1964,7 @@ api_methods: ["parseSingleValue"], converter: "ConvertLength", interpolable: true, - field_template: "external", - include_paths: ["platform/Length.h"], - type_name: "Length", + field_template: "<length>", field_group: "surround", default_value: "Length(kFixed)", }, @@ -2005,9 +1974,7 @@ api_methods: ["parseSingleValue"], converter: "ConvertLength", interpolable: true, - field_template: "external", - include_paths: ["platform/Length.h"], - type_name: "Length", + field_template: "<length>", field_group: "surround", default_value: "Length(kFixed)", }, @@ -2090,9 +2057,7 @@ interpolable: true, typedom_types: ["Length", "Percent"], keywords: ["auto"], - field_template: "external", - include_paths: ["platform/Length.h"], - type_name: "Length", + field_template: "<length>", field_group: "surround", default_value: "Length()", }, @@ -2167,11 +2132,9 @@ api_class: "CSSPropertyAPIScrollPadding", api_methods: ["parseSingleValue"], converter: "ConvertLength", - include_paths: ["platform/Length.h"], typedom_types: ["Length", "Percent"], - type_name: "Length", runtime_flag: "CSSScrollSnapPoints", - field_template: "external", + field_template: "<length>", field_group: "rare-non-inherited->scroll-snap", default_value: "Length()", }, @@ -2180,11 +2143,9 @@ api_class: "CSSPropertyAPIScrollPadding", api_methods: ["parseSingleValue"], converter: "ConvertLength", - include_paths: ["platform/Length.h"], typedom_types: ["Length", "Percent"], - type_name: "Length", runtime_flag: "CSSScrollSnapPoints", - field_template: "external", + field_template: "<length>", field_group: "rare-non-inherited->scroll-snap", default_value: "Length()", }, @@ -2193,11 +2154,9 @@ api_class: "CSSPropertyAPIScrollPadding", api_methods: ["parseSingleValue"], converter: "ConvertLength", - include_paths: ["platform/Length.h"], typedom_types: ["Length", "Percent"], - type_name: "Length", runtime_flag: "CSSScrollSnapPoints", - field_template: "external", + field_template: "<length>", field_group: "rare-non-inherited->scroll-snap", default_value: "Length()", }, @@ -2206,11 +2165,9 @@ api_class: "CSSPropertyAPIScrollPadding", api_methods: ["parseSingleValue"], converter: "ConvertLength", - include_paths: ["platform/Length.h"], typedom_types: ["Length", "Percent"], - type_name: "Length", runtime_flag: "CSSScrollSnapPoints", - field_template: "external", + field_template: "<length>", field_group: "rare-non-inherited->scroll-snap", default_value: "Length()", }, @@ -2267,10 +2224,8 @@ api_class: "CSSPropertyAPIScrollSnapMargin", api_methods: ["parseSingleValue"], converter: "ConvertLength", - include_paths: ["platform/Length.h"], - type_name: "Length", runtime_flag: "CSSScrollSnapPoints", - field_template: "external", + field_template: "<length>", field_group: "rare-non-inherited->scroll-snap", default_value: "Length()", }, @@ -2279,10 +2234,8 @@ api_class: "CSSPropertyAPIScrollSnapMargin", api_methods: ["parseSingleValue"], converter: "ConvertLength", - include_paths: ["platform/Length.h"], - type_name: "Length", runtime_flag: "CSSScrollSnapPoints", - field_template: "external", + field_template: "<length>", field_group: "rare-non-inherited->scroll-snap", default_value: "Length()", }, @@ -2291,10 +2244,8 @@ api_class: "CSSPropertyAPIScrollSnapMargin", api_methods: ["parseSingleValue"], converter: "ConvertLength", - include_paths: ["platform/Length.h"], - type_name: "Length", runtime_flag: "CSSScrollSnapPoints", - field_template: "external", + field_template: "<length>", field_group: "rare-non-inherited->scroll-snap", default_value: "Length()", }, @@ -2303,10 +2254,8 @@ api_class: "CSSPropertyAPIScrollSnapMargin", api_methods: ["parseSingleValue"], converter: "ConvertLength", - include_paths: ["platform/Length.h"], - type_name: "Length", runtime_flag: "CSSScrollSnapPoints", - field_template: "external", + field_template: "<length>", field_group: "rare-non-inherited->scroll-snap", default_value: "Length()", }, @@ -2371,9 +2320,7 @@ api_methods: ["parseSingleValue"], converter: "ConvertLength", interpolable: true, - field_template: "external", - type_name: "Length", - include_paths: ["platform/Length.h"], + field_template: "<length>", field_group: "rare-non-inherited", default_value: "Length(0, kFixed)", }, @@ -2612,9 +2559,7 @@ custom_all: true, inherited: true, interpolable: true, - field_template: "external", - type_name: "Length", - include_paths: ["platform/Length.h"], + field_template: "<length>", default_value: "Length(kFixed)", field_group: "rare-inherited", }, @@ -2693,9 +2638,7 @@ interpolable: true, typedom_types: ["Length", "Percent"], keywords: ["auto"], - field_template: "external", - include_paths: ["platform/Length.h"], - type_name: "Length", + field_template: "<length>", field_group: "surround", default_value: "Length()", }, @@ -3403,9 +3346,7 @@ interpolable: true, typedom_types: ["Length", "Percent"], keywords: ["auto", "fit-content", "min-content", "max-content"], - field_template: "external", - include_paths: ["platform/Length.h"], - type_name: "Length", + field_template: "<length>", field_group: "box", default_value: "Length()" },
diff --git a/third_party/WebKit/Source/core/dom/DocumentLifecycle.cpp b/third_party/WebKit/Source/core/dom/DocumentLifecycle.cpp index d1a39a9..dfd3e54 100644 --- a/third_party/WebKit/Source/core/dom/DocumentLifecycle.cpp +++ b/third_party/WebKit/Source/core/dom/DocumentLifecycle.cpp
@@ -230,24 +230,6 @@ return true; if (next_state == kInCompositingUpdate) return true; - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) { - if (next_state == kInPrePaint) - return true; - } else if (next_state == kInPaintInvalidation) { - return true; - } - break; - case kInPaintInvalidation: - DCHECK(!RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()); - return next_state == kPaintInvalidationClean; - case kPaintInvalidationClean: - DCHECK(!RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()); - if (next_state == kInStyleRecalc) - return true; - if (next_state == kInPreLayout) - return true; - if (next_state == kInCompositingUpdate) - return true; if (next_state == kInPrePaint) return true; break; @@ -265,8 +247,7 @@ if (!RuntimeEnabledFeatures::SlimmingPaintV2Enabled() && next_state == kInCompositingUpdate) return true; - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled() && - next_state == kInPrePaint) + if (next_state == kInPrePaint) return true; break; case kInPaint: @@ -281,8 +262,7 @@ if (!RuntimeEnabledFeatures::SlimmingPaintV2Enabled() && next_state == kInCompositingUpdate) return true; - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled() && - next_state == kInPrePaint) + if (next_state == kInPrePaint) return true; break; case kStopping: @@ -306,8 +286,7 @@ return state_ == kStyleClean || state_ == kLayoutSubtreeChangeClean || state_ == kAfterPerformLayout || state_ == kLayoutClean || state_ == kCompositingInputsClean || state_ == kCompositingClean || - state_ == kPaintInvalidationClean || state_ == kPrePaintClean || - state_ == kPaintClean; + state_ == kPrePaintClean || state_ == kPaintClean; } #define DEBUG_STRING_CASE(StateName) \ @@ -331,8 +310,6 @@ DEBUG_STRING_CASE(kInCompositingUpdate); DEBUG_STRING_CASE(kCompositingInputsClean); DEBUG_STRING_CASE(kCompositingClean); - DEBUG_STRING_CASE(kInPaintInvalidation); - DEBUG_STRING_CASE(kPaintInvalidationClean); DEBUG_STRING_CASE(kInPrePaint); DEBUG_STRING_CASE(kPrePaintClean); DEBUG_STRING_CASE(kInPaint);
diff --git a/third_party/WebKit/Source/core/dom/DocumentLifecycle.h b/third_party/WebKit/Source/core/dom/DocumentLifecycle.h index 7f3e995..f22151e 100644 --- a/third_party/WebKit/Source/core/dom/DocumentLifecycle.h +++ b/third_party/WebKit/Source/core/dom/DocumentLifecycle.h
@@ -70,9 +70,6 @@ kCompositingInputsClean, kCompositingClean, - kInPaintInvalidation, - kPaintInvalidationClean, - // In InPrePaint step, any data needed by painting are prepared. // When RuntimeEnabledFeatures::SlimmingPaintV2Enabled, paint property trees // are built. @@ -247,14 +244,13 @@ state_ == kStyleClean || state_ == kLayoutSubtreeChangeClean || state_ == kInPreLayout || state_ == kLayoutClean || state_ == kCompositingInputsClean || state_ == kCompositingClean || - state_ == kPaintInvalidationClean || state_ == kPrePaintClean || - state_ == kPaintClean || state_ == kStopping; + state_ == kPrePaintClean || state_ == kPaintClean || + state_ == kStopping; } inline bool DocumentLifecycle::StateAllowsLayoutInvalidation() const { return state_ != kInPerformLayout && state_ != kInCompositingUpdate && - state_ != kInPaintInvalidation && state_ != kInPrePaint && - state_ != kInPaint; + state_ != kInPrePaint && state_ != kInPaint; } } // namespace blink
diff --git a/third_party/WebKit/Source/core/dom/Fullscreen.cpp b/third_party/WebKit/Source/core/dom/Fullscreen.cpp index 548ac6f0..ce5ad71 100644 --- a/third_party/WebKit/Source/core/dom/Fullscreen.cpp +++ b/third_party/WebKit/Source/core/dom/Fullscreen.cpp
@@ -901,8 +901,7 @@ frame->GetEventHandler().ScheduleHoverStateUpdate(); frame->GetChromeClient().FullscreenElementChanged(old_element, new_element); - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled() && - !RuntimeEnabledFeatures::RootLayerScrollingEnabled()) { + if (!RuntimeEnabledFeatures::RootLayerScrollingEnabled()) { // Fullscreen status affects scroll paint properties through // LocalFrameView::UserInputScrollable(). if (LocalFrameView* frame_view = frame->View())
diff --git a/third_party/WebKit/Source/core/editing/FrameCaret.cpp b/third_party/WebKit/Source/core/editing/FrameCaret.cpp index e6a51f80f..6e04e4fd 100644 --- a/third_party/WebKit/Source/core/editing/FrameCaret.cpp +++ b/third_party/WebKit/Source/core/editing/FrameCaret.cpp
@@ -173,7 +173,7 @@ IntRect FrameCaret::AbsoluteCaretBounds() const { DCHECK_NE(frame_->GetDocument()->Lifecycle().GetState(), - DocumentLifecycle::kInPaintInvalidation); + DocumentLifecycle::kInPrePaint); DCHECK(!frame_->GetDocument()->NeedsLayoutTreeUpdate()); DocumentLifecycle::DisallowTransitionScope disallow_transition( frame_->GetDocument()->Lifecycle());
diff --git a/third_party/WebKit/Source/core/events/MessageEvent.cpp b/third_party/WebKit/Source/core/events/MessageEvent.cpp index 53ad37f..0b14a81 100644 --- a/third_party/WebKit/Source/core/events/MessageEvent.cpp +++ b/third_party/WebKit/Source/core/events/MessageEvent.cpp
@@ -82,13 +82,14 @@ const String& suborigin) : Event(EventTypeNames::message, false, false), data_type_(kDataTypeSerializedScriptValue), - data_as_serialized_script_value_(std::move(data)), + data_as_serialized_script_value_( + SerializedScriptValue::Unpack(std::move(data))), origin_(origin), last_event_id_(last_event_id), source_(source), ports_(ports) { if (data_as_serialized_script_value_) - data_as_serialized_script_value_ + data_as_serialized_script_value_->Value() ->RegisterMemoryAllocatedWithCurrentScriptContext(); DCHECK(IsValidSource(source_.Get())); } @@ -101,14 +102,15 @@ const String& suborigin) : Event(EventTypeNames::message, false, false), data_type_(kDataTypeSerializedScriptValue), - data_as_serialized_script_value_(std::move(data)), + data_as_serialized_script_value_( + SerializedScriptValue::Unpack(std::move(data))), origin_(origin), last_event_id_(last_event_id), source_(source), channels_(std::move(channels)), suborigin_(suborigin) { if (data_as_serialized_script_value_) - data_as_serialized_script_value_ + data_as_serialized_script_value_->Value() ->RegisterMemoryAllocatedWithCurrentScriptContext(); DCHECK(IsValidSource(source_.Get())); } @@ -186,7 +188,8 @@ initEvent(type, can_bubble, cancelable); data_type_ = kDataTypeSerializedScriptValue; - data_as_serialized_script_value_ = std::move(data); + data_as_serialized_script_value_ = + SerializedScriptValue::Unpack(std::move(data)); origin_ = origin; last_event_id_ = last_event_id; source_ = source; @@ -194,7 +197,7 @@ suborigin_ = ""; if (data_as_serialized_script_value_) - data_as_serialized_script_value_ + data_as_serialized_script_value_->Value() ->RegisterMemoryAllocatedWithCurrentScriptContext(); } @@ -247,6 +250,7 @@ } DEFINE_TRACE(MessageEvent) { + visitor->Trace(data_as_serialized_script_value_); visitor->Trace(data_as_blob_); visitor->Trace(data_as_array_buffer_); visitor->Trace(source_);
diff --git a/third_party/WebKit/Source/core/events/MessageEvent.h b/third_party/WebKit/Source/core/events/MessageEvent.h index 59dbe0e65..d2d4511 100644 --- a/third_party/WebKit/Source/core/events/MessageEvent.h +++ b/third_party/WebKit/Source/core/events/MessageEvent.h
@@ -31,6 +31,7 @@ #include <memory> #include "bindings/core/v8/serialization/SerializedScriptValue.h" +#include "bindings/core/v8/serialization/UnpackedSerializedScriptValue.h" #include "core/CoreExport.h" #include "core/dom/DOMArrayBuffer.h" #include "core/dom/MessagePort.h" @@ -140,8 +141,14 @@ DCHECK_EQ(data_type_, kDataTypeScriptValue); return data_as_script_value_; } + // Use with caution. Since the data has already been unpacked, the underlying + // SerializedScriptValue will no longer contain transferred contents. SerializedScriptValue* DataAsSerializedScriptValue() const { DCHECK_EQ(data_type_, kDataTypeSerializedScriptValue); + return data_as_serialized_script_value_->Value(); + } + UnpackedSerializedScriptValue* DataAsUnpackedSerializedScriptValue() const { + DCHECK_EQ(data_type_, kDataTypeSerializedScriptValue); return data_as_serialized_script_value_.Get(); } String DataAsString() const { @@ -157,11 +164,6 @@ return data_as_array_buffer_.Get(); } - void SetSerializedData(PassRefPtr<SerializedScriptValue> data) { - DCHECK(!data_as_serialized_script_value_); - data_as_serialized_script_value_ = std::move(data); - } - void EntangleMessagePorts(ExecutionContext*); DECLARE_VIRTUAL_TRACE(); @@ -202,7 +204,7 @@ DataType data_type_; ScriptValue data_as_script_value_; - RefPtr<SerializedScriptValue> data_as_serialized_script_value_; + Member<UnpackedSerializedScriptValue> data_as_serialized_script_value_; String data_as_string_; Member<Blob> data_as_blob_; Member<DOMArrayBuffer> data_as_array_buffer_;
diff --git a/third_party/WebKit/Source/core/exported/WebRemoteFrameImpl.cpp b/third_party/WebKit/Source/core/exported/WebRemoteFrameImpl.cpp index 1c201913..6c10fbd 100644 --- a/third_party/WebKit/Source/core/exported/WebRemoteFrameImpl.cpp +++ b/third_party/WebKit/Source/core/exported/WebRemoteFrameImpl.cpp
@@ -145,12 +145,6 @@ return false; } -WebAssociatedURLLoader* WebRemoteFrameImpl::CreateAssociatedURLLoader( - const WebAssociatedURLLoaderOptions&) { - NOTREACHED(); - return nullptr; -} - WebLocalFrame* WebRemoteFrameImpl::CreateLocalChild( WebTreeScopeType scope, const WebString& name,
diff --git a/third_party/WebKit/Source/core/exported/WebRemoteFrameImpl.h b/third_party/WebKit/Source/core/exported/WebRemoteFrameImpl.h index 71fc0b5..a3b0466 100644 --- a/third_party/WebKit/Source/core/exported/WebRemoteFrameImpl.h +++ b/third_party/WebKit/Source/core/exported/WebRemoteFrameImpl.h
@@ -19,8 +19,6 @@ class RemoteFrame; class RemoteFrameClientImpl; enum class WebFrameLoadType; -class WebAssociatedURLLoader; -struct WebAssociatedURLLoaderOptions; class WebView; class CORE_EXPORT WebRemoteFrameImpl final @@ -43,8 +41,6 @@ void StopLoading() override; void EnableViewSourceMode(bool enable) override; bool IsViewSourceModeEnabled() const override; - WebAssociatedURLLoader* CreateAssociatedURLLoader( - const WebAssociatedURLLoaderOptions&) override; // WebRemoteFrame methods: WebLocalFrame* CreateLocalChild(WebTreeScopeType,
diff --git a/third_party/WebKit/Source/core/frame/LocalFrame.cpp b/third_party/WebKit/Source/core/frame/LocalFrame.cpp index c642ebe1..390f313 100644 --- a/third_party/WebKit/Source/core/frame/LocalFrame.cpp +++ b/third_party/WebKit/Source/core/frame/LocalFrame.cpp
@@ -511,8 +511,7 @@ ToLocalFrame(child)->SetPrinting(printing, FloatSize(), FloatSize(), 0); } - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - View()->SetSubtreeNeedsPaintPropertyUpdate(); + View()->SetSubtreeNeedsPaintPropertyUpdate(); if (!printing) GetDocument()->SetPrinting(Document::kNotPrinting);
diff --git a/third_party/WebKit/Source/core/frame/LocalFrameView.cpp b/third_party/WebKit/Source/core/frame/LocalFrameView.cpp index f0a5ea2..2c6a3e9e 100644 --- a/third_party/WebKit/Source/core/frame/LocalFrameView.cpp +++ b/third_party/WebKit/Source/core/frame/LocalFrameView.cpp
@@ -574,8 +574,7 @@ UpdateParentScrollableAreaSet(); - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled() && - !RuntimeEnabledFeatures::RootLayerScrollingEnabled()) { + if (!RuntimeEnabledFeatures::RootLayerScrollingEnabled()) { // The overflow clip property depends on the frame size and the pre // translation property depends on the frame location. SetNeedsPaintPropertyUpdate(); @@ -1349,40 +1348,6 @@ CheckDoesNotNeedLayout(); } -void LocalFrameView::DeprecatedInvalidateTree( - const PaintInvalidationState& paint_invalidation_state) { - DCHECK(!RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()); - - if (ShouldThrottleRendering()) - return; - - Lifecycle().AdvanceTo(DocumentLifecycle::kInPaintInvalidation); - - CHECK(!GetLayoutViewItem().IsNull()); - LayoutViewItem root_for_paint_invalidation = GetLayoutViewItem(); - DCHECK(!root_for_paint_invalidation.NeedsLayout()); - - TRACE_EVENT1("blink", "LocalFrameView::invalidateTree", "root", - root_for_paint_invalidation.DebugName().Ascii()); - - InvalidatePaint(paint_invalidation_state); - root_for_paint_invalidation.DeprecatedInvalidateTree( - paint_invalidation_state); - -#if DCHECK_IS_ON() - GetLayoutView()->AssertSubtreeClearedPaintInvalidationFlags(); -#endif - - Lifecycle().AdvanceTo(DocumentLifecycle::kPaintInvalidationClean); -} - -void LocalFrameView::InvalidatePaint( - const PaintInvalidationState& paint_invalidation_state) { - CHECK(!GetLayoutViewItem().IsNull()); - if (!RuntimeEnabledFeatures::RootLayerScrollingEnabled()) - InvalidatePaintOfScrollControlsIfNeeded(paint_invalidation_state); -} - void LocalFrameView::SetNeedsPaintPropertyUpdate() { needs_paint_property_update_ = true; if (RuntimeEnabledFeatures::RootLayerScrollingEnabled()) { @@ -1586,11 +1551,9 @@ } // Ensure main thread scrolling reasons are recomputed. - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) { - SetNeedsPaintPropertyUpdate(); - // The object's scroll properties are not affected by its own background. - object->SetAncestorsNeedPaintPropertyUpdateForMainThreadScrolling(); - } + SetNeedsPaintPropertyUpdate(); + // The object's scroll properties are not affected by its own background. + object->SetAncestorsNeedPaintPropertyUpdateForMainThreadScrolling(); } void LocalFrameView::RemoveBackgroundAttachmentFixedObject( @@ -1605,11 +1568,9 @@ } // Ensure main thread scrolling reasons are recomputed. - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) { - SetNeedsPaintPropertyUpdate(); - // The object's scroll properties are not affected by its own background. - object->SetAncestorsNeedPaintPropertyUpdateForMainThreadScrolling(); - } + SetNeedsPaintPropertyUpdate(); + // The object's scroll properties are not affected by its own background. + object->SetAncestorsNeedPaintPropertyUpdateForMainThreadScrolling(); } void LocalFrameView::AddViewportConstrainedObject(LayoutObject& object) { @@ -1663,7 +1624,6 @@ if (layout_view->UsesCompositing()) { if (root_layer_scrolling_enabled) { layout_view->Layer()->SetNeedsCompositingInputsUpdate(); - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) SetNeedsPaintPropertyUpdate(); } else { layout_view->Compositor()->FrameViewDidChangeSize(); @@ -2951,8 +2911,7 @@ // controls behavior so we need to update compositing based on updated clip // geometry. SetNeedsCompositingUpdate(kCompositingUpdateAfterGeometryChange); - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - SetNeedsPaintPropertyUpdate(); + SetNeedsPaintPropertyUpdate(); // Avoid drawing two sets of scrollbars when visual viewport provides // scrollbars. @@ -3032,13 +2991,13 @@ void LocalFrameView::ScheduleVisualUpdateForPaintInvalidationIfNeeded() { LocalFrame& local_frame_root = GetFrame().LocalFrameRoot(); if (local_frame_root.View()->current_update_lifecycle_phases_target_state_ < - DocumentLifecycle::kPaintInvalidationClean || + DocumentLifecycle::kPrePaintClean || Lifecycle().GetState() >= DocumentLifecycle::kPrePaintClean) { // Schedule visual update to process the paint invalidation in the next // cycle. local_frame_root.ScheduleVisualUpdateUnlessThrottled(); } - // Otherwise the paint invalidation will be handled in paint invalidation + // Otherwise the paint invalidation will be handled in the pre-paint // phase of this cycle. } @@ -3189,9 +3148,6 @@ } if (target_state >= DocumentLifecycle::kPrePaintClean) { - if (!RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - DeprecatedInvalidateTreeRecursive(); - if (!RuntimeEnabledFeatures::SlimmingPaintV2Enabled()) { if (view.Compositor()->InCompositingMode()) GetScrollingCoordinator()->UpdateAfterCompositingChangeIfNeeded(); @@ -3276,7 +3232,7 @@ } }); - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) { + { SCOPED_BLINK_UMA_HISTOGRAM_TIMER("Blink.PrePaint.UpdateTime"); PrePaintTreeWalk().Walk(*this); } @@ -3482,60 +3438,6 @@ GetFrame().GetPage()->GetDragCaret().UpdateStyleAndLayoutIfNeeded(); } -void LocalFrameView::DeprecatedInvalidateTreeRecursive() { - SCOPED_BLINK_UMA_HISTOGRAM_TIMER("Blink.PaintInvalidation.UpdateTime"); - { - // For comparison to SlimmingPaintInvalidation. - SCOPED_BLINK_UMA_HISTOGRAM_TIMER("Blink.PrePaint.UpdateTime"); - DeprecatedInvalidateTreeRecursiveInternal(); - } -} - -void LocalFrameView::DeprecatedInvalidateTreeRecursiveInternal() { - DCHECK(!RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()); - CHECK(GetLayoutView()); - - // We need to stop recursing here since a child frame view might not be - // throttled even though we are (e.g., it didn't compute its visibility yet). - if (ShouldThrottleRendering()) - return; - TRACE_EVENT0("blink", - "LocalFrameView::invalidateTreeIfNeededRecursiveInternal"); - - Vector<const LayoutObject*> pending_delayed_paint_invalidations; - PaintInvalidationState root_paint_invalidation_state( - *GetLayoutView(), pending_delayed_paint_invalidations); - - if (Lifecycle().GetState() < DocumentLifecycle::kPaintInvalidationClean) - DeprecatedInvalidateTree(root_paint_invalidation_state); - - // Some frames may be not reached during the above DeprecatedInvalidateTree - // because - // - the frame is a detached frame; or - // - it didn't need paint invalidation. - // We need to call invalidateTreeIfNeededRecursiveInternal() for such frames - // to finish required paint invalidation and advance their life cycle state. - for (Frame* child = frame_->Tree().FirstChild(); child; - child = child->Tree().NextSibling()) { - if (child->IsLocalFrame()) { - LocalFrameView& child_frame_view = *ToLocalFrame(child)->View(); - // The children frames can be in any state, including stopping. - // Thus we have to check that it makes sense to do paint - // invalidation onto them here. - if (!child_frame_view.GetLayoutView()) - continue; - child_frame_view.DeprecatedInvalidateTreeRecursiveInternal(); - } - } - - // Process objects needing paint invalidation on the next frame. See the - // definition of PaintInvalidationDelayedFull for more details. - for (auto& target : pending_delayed_paint_invalidations) { - target->GetMutableForPainting().SetShouldDoFullPaintInvalidation( - PaintInvalidationReason::kDelayedFull); - } -} - void LocalFrameView::EnableAutoSizeMode(const IntSize& min_size, const IntSize& max_size) { if (!auto_size_info_) @@ -4417,8 +4319,7 @@ if (RuntimeEnabledFeatures::RootLayerScrollingEnabled()) return; - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - SetNeedsPaintPropertyUpdate(); + SetNeedsPaintPropertyUpdate(); // Avoid drawing two sets of scrollbars when visual viewport is enabled. if (VisualViewportSuppliesScrollbars()) { @@ -4493,8 +4394,7 @@ if (!ScrollContentsFastPath(-scroll_delta)) ScrollContentsSlowPath(); - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled() && - !RuntimeEnabledFeatures::RootLayerScrollingEnabled()) { + if (!RuntimeEnabledFeatures::RootLayerScrollingEnabled()) { // Need to update scroll translation property. SetNeedsPaintPropertyUpdate(); } @@ -4909,8 +4809,7 @@ scrolling_coordinator->FrameViewVisibilityDidChange(); SetNeedsCompositingUpdate(kCompositingUpdateRebuildTree); UpdateParentScrollableAreaSet(); - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled() && - !RuntimeEnabledFeatures::RootLayerScrollingEnabled()) { + if (!RuntimeEnabledFeatures::RootLayerScrollingEnabled()) { // The existance of scrolling properties depends on visibility through // isScrollable() so ensure properties are updated if visibility changes. SetNeedsPaintPropertyUpdate(); @@ -4938,8 +4837,7 @@ scrolling_coordinator->FrameViewVisibilityDidChange(); SetNeedsCompositingUpdate(kCompositingUpdateRebuildTree); UpdateParentScrollableAreaSet(); - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled() && - !RuntimeEnabledFeatures::RootLayerScrollingEnabled()) { + if (!RuntimeEnabledFeatures::RootLayerScrollingEnabled()) { // The existance of scrolling properties depends on visibility through // isScrollable() so ensure properties are updated if visibility changes. SetNeedsPaintPropertyUpdate();
diff --git a/third_party/WebKit/Source/core/frame/LocalFrameView.h b/third_party/WebKit/Source/core/frame/LocalFrameView.h index 50b4077..f5180c2 100644 --- a/third_party/WebKit/Source/core/frame/LocalFrameView.h +++ b/third_party/WebKit/Source/core/frame/LocalFrameView.h
@@ -90,7 +90,6 @@ class LayoutView; class PaintArtifactCompositor; class PaintController; -class PaintInvalidationState; class Page; class PluginView; class PrintContext; @@ -289,10 +288,10 @@ Color DocumentBackgroundColor() const; // Run all needed lifecycle stages. After calling this method, all frames will - // be in the lifecycle state PaintInvalidationClean. If lifecycle throttling - // is allowed (see DocumentLifecycle::AllowThrottlingScope), some frames may - // skip the lifecycle update (e.g., based on visibility) and will not end up - // being PaintInvalidationClean. + // be in the lifecycle state PaintClean. If lifecycle throttling is allowed + // (see DocumentLifecycle::AllowThrottlingScope), some frames may skip the + // lifecycle update (e.g., based on visibility) and will not end up being + // PaintClean. void UpdateAllLifecyclePhases(); // Everything except paint (the last phase). @@ -777,10 +776,6 @@ void EnqueueScrollAnchoringAdjustment(ScrollableArea*); void PerformScrollAnchoringAdjustments(); - // For PaintInvalidator temporarily. TODO(wangxianzhu): Move into - // PaintInvalidator. - void InvalidatePaint(const PaintInvalidationState&); - // Only for SPv2. std::unique_ptr<JSONObject> CompositedLayersAsJSON(LayerTreeFlags); @@ -877,10 +872,6 @@ AutoReset<bool> scope_; }; - // Only for LayoutEmbeddedContent to traverse into sub frames during paint - // invalidation. - void DeprecatedInvalidateTree(const PaintInvalidationState&); - private: explicit LocalFrameView(LocalFrame&, IntRect); class ScrollbarManager : public blink::ScrollbarManager { @@ -916,7 +907,6 @@ void UpdateLifecyclePhasesInternal( DocumentLifecycle::LifecycleState target_state); - void DeprecatedInvalidateTreeRecursive(); void ScrollContentsIfNeededRecursive(); void UpdateStyleAndLayoutIfNeededRecursive(); void PrePaint(); @@ -924,7 +914,6 @@ void PaintGraphicsLayerRecursively(GraphicsLayer*); void UpdateStyleAndLayoutIfNeededRecursiveInternal(); - void DeprecatedInvalidateTreeRecursiveInternal(); void PushPaintArtifactToCompositor( CompositorElementIdSet& composited_element_ids);
diff --git a/third_party/WebKit/Source/core/inspector/InspectorPageAgent.cpp b/third_party/WebKit/Source/core/inspector/InspectorPageAgent.cpp index c538e52..b144d18 100644 --- a/third_party/WebKit/Source/core/inspector/InspectorPageAgent.cpp +++ b/third_party/WebKit/Source/core/inspector/InspectorPageAgent.cpp
@@ -448,6 +448,17 @@ return Response::OK(); } +Response InspectorPageAgent::addScriptToEvaluateOnNewDocument( + const String& source, + String* identifier) { + return addScriptToEvaluateOnLoad(source, identifier); +} + +Response InspectorPageAgent::removeScriptToEvaluateOnNewDocument( + const String& identifier) { + return removeScriptToEvaluateOnLoad(identifier); +} + Response InspectorPageAgent::setAutoAttachToCreatedPages(bool auto_attach) { state_->setBoolean(PageAgentState::kAutoAttachToCreatedPages, auto_attach); return Response::OK();
diff --git a/third_party/WebKit/Source/core/inspector/InspectorPageAgent.h b/third_party/WebKit/Source/core/inspector/InspectorPageAgent.h index e251770..ce78a23 100644 --- a/third_party/WebKit/Source/core/inspector/InspectorPageAgent.h +++ b/third_party/WebKit/Source/core/inspector/InspectorPageAgent.h
@@ -112,6 +112,11 @@ String* identifier) override; protocol::Response removeScriptToEvaluateOnLoad( const String& identifier) override; + protocol::Response addScriptToEvaluateOnNewDocument( + const String& source, + String* identifier) override; + protocol::Response removeScriptToEvaluateOnNewDocument( + const String& identifier) override; protocol::Response setAutoAttachToCreatedPages(bool) override; protocol::Response reload(Maybe<bool> bypass_cache, Maybe<String> script_to_evaluate_on_load) override;
diff --git a/third_party/WebKit/Source/core/inspector/browser_protocol.json b/third_party/WebKit/Source/core/inspector/browser_protocol.json index a2970a5..b051b2da 100644 --- a/third_party/WebKit/Source/core/inspector/browser_protocol.json +++ b/third_party/WebKit/Source/core/inspector/browser_protocol.json
@@ -232,6 +232,8 @@ "returns": [ { "name": "identifier", "$ref": "ScriptIdentifier", "description": "Identifier of the added script." } ], + "deprecated": true, + "description": "Deprecated, please use addScriptToEvaluateOnNewDocument instead.", "experimental": true }, { @@ -239,6 +241,27 @@ "parameters": [ { "name": "identifier", "$ref": "ScriptIdentifier" } ], + "deprecated": true, + "description": "Deprecated, please use removeScriptToEvaluateOnNewDocument instead.", + "experimental": true + }, + { + "name": "addScriptToEvaluateOnNewDocument", + "parameters": [ + { "name": "source", "type": "string" } + ], + "returns": [ + { "name": "identifier", "$ref": "ScriptIdentifier", "description": "Identifier of the added script." } + ], + "description": "Evaluates given script in every frame upon creation (before loading frame's scripts).", + "experimental": true + }, + { + "name": "removeScriptToEvaluateOnNewDocument", + "parameters": [ + { "name": "identifier", "$ref": "ScriptIdentifier" } + ], + "description": "Removes given script from the list.", "experimental": true }, {
diff --git a/third_party/WebKit/Source/core/layout/BUILD.gn b/third_party/WebKit/Source/core/layout/BUILD.gn index 2ff5fdf2..ce9de84 100644 --- a/third_party/WebKit/Source/core/layout/BUILD.gn +++ b/third_party/WebKit/Source/core/layout/BUILD.gn
@@ -214,8 +214,6 @@ "OrderIterator.cpp", "OrderIterator.h", "OverflowModel.h", - "PaintInvalidationState.cpp", - "PaintInvalidationState.h", "PointerEventsHitRules.cpp", "PointerEventsHitRules.h", "ScrollAlignment.cpp",
diff --git a/third_party/WebKit/Source/core/layout/LayoutBlock.cpp b/third_party/WebKit/Source/core/layout/LayoutBlock.cpp index a4b2f6c0..403034d 100644 --- a/third_party/WebKit/Source/core/layout/LayoutBlock.cpp +++ b/third_party/WebKit/Source/core/layout/LayoutBlock.cpp
@@ -278,11 +278,9 @@ if (!should_clip_overflow) GetScrollableArea()->InvalidateAllStickyConstraints(); SetMayNeedPaintInvalidationSubtree(); - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) { - // The overflow clip paint property depends on whether overflow clip is - // present so we need to update paint properties if this changes. - SetNeedsPaintPropertyUpdate(); - } + // The overflow clip paint property depends on whether overflow clip is + // present so we need to update paint properties if this changes. + SetNeedsPaintPropertyUpdate(); } SetHasOverflowClip(should_clip_overflow); }
diff --git a/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp b/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp index a6a075f..699b0188 100644 --- a/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp +++ b/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp
@@ -4743,14 +4743,6 @@ include_block_overflows); } -PaintInvalidationReason LayoutBlockFlow::DeprecatedInvalidatePaint( - const PaintInvalidationState& paint_invalidation_state) { - if (ContainsFloats()) - paint_invalidation_state.PaintingLayer().SetNeedsPaintPhaseFloat(); - - return LayoutBlock::DeprecatedInvalidatePaint(paint_invalidation_state); -} - void LayoutBlockFlow::InvalidateDisplayItemClients( PaintInvalidationReason invalidation_reason) const { BlockFlowPaintInvalidator(*this).InvalidateDisplayItemClients(
diff --git a/third_party/WebKit/Source/core/layout/LayoutBlockFlow.h b/third_party/WebKit/Source/core/layout/LayoutBlockFlow.h index 11753b74..a7c614d 100644 --- a/third_party/WebKit/Source/core/layout/LayoutBlockFlow.h +++ b/third_party/WebKit/Source/core/layout/LayoutBlockFlow.h
@@ -478,8 +478,6 @@ IncludeBlockVisualOverflowOrNot) const override; bool PaintedOutputOfObjectHasNoEffectRegardlessOfSize() const override; - PaintInvalidationReason DeprecatedInvalidatePaint( - const PaintInvalidationState&) override; void InvalidateDisplayItemClients(PaintInvalidationReason) const override; Node* NodeForHitTest() const final;
diff --git a/third_party/WebKit/Source/core/layout/LayoutBox.cpp b/third_party/WebKit/Source/core/layout/LayoutBox.cpp index d20e35d..a6327cb 100644 --- a/third_party/WebKit/Source/core/layout/LayoutBox.cpp +++ b/third_party/WebKit/Source/core/layout/LayoutBox.cpp
@@ -332,8 +332,7 @@ UpdateScrollSnapMappingAfterStyleChange(&new_style, old_style); - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled() && - ShouldClipOverflow()) { + if (ShouldClipOverflow()) { // The overflow clip paint property depends on border sizes through // overflowClipRect(), and border radii, so we update properties on // border size or radii change. @@ -1633,11 +1632,11 @@ return true; } - BackgroundImageGeometry geometry; + BackgroundImageGeometry geometry(*this); // TODO(jchaffraix): This function should be rethought as it's called during // and outside of the paint phase. Potentially returning different results at // different phases. - geometry.Calculate(*this, nullptr, nullptr, kGlobalPaintNormalPhase, + geometry.Calculate(nullptr, kGlobalPaintNormalPhase, Style()->BackgroundLayers(), background_rect); if (geometry.HasNonLocalGeometry()) return false; @@ -1890,20 +1889,6 @@ PaintInvalidationReason::kFull); } -PaintInvalidationReason LayoutBox::DeprecatedInvalidatePaint( - const PaintInvalidationState& paint_invalidation_state) { - if (HasBoxDecorationBackground() - // We also paint overflow controls in background phase. - || (HasOverflowClip() && GetScrollableArea()->HasOverflowControls())) { - PaintLayer& layer = paint_invalidation_state.PaintingLayer(); - if (&layer.GetLayoutObject() != this) - layer.SetNeedsPaintPhaseDescendantBlockBackgrounds(); - } - - return LayoutBoxModelObject::DeprecatedInvalidatePaint( - paint_invalidation_state); -} - PaintInvalidationReason LayoutBox::InvalidatePaint( const PaintInvalidatorContext& context) const { return BoxPaintInvalidator(*this, context).InvalidatePaint();
diff --git a/third_party/WebKit/Source/core/layout/LayoutBox.h b/third_party/WebKit/Source/core/layout/LayoutBox.h index cfc70092..1232d76 100644 --- a/third_party/WebKit/Source/core/layout/LayoutBox.h +++ b/third_party/WebKit/Source/core/layout/LayoutBox.h
@@ -1446,8 +1446,6 @@ void ComputeSelfHitTestRects(Vector<LayoutRect>&, const LayoutPoint& layer_offset) const override; - PaintInvalidationReason DeprecatedInvalidatePaint( - const PaintInvalidationState&) override; PaintInvalidationReason InvalidatePaint( const PaintInvalidatorContext&) const override;
diff --git a/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp b/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp index 1e946466..40a1ad4 100644 --- a/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp +++ b/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp
@@ -361,18 +361,15 @@ } } - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) { - if ((old_style && old_style->GetPosition() != StyleRef().GetPosition()) || - had_layer != HasLayer()) { - // This may affect paint properties of the current object, and descendants - // even if paint properties of the current object won't change. E.g. the - // stacking context and/or containing block of descendants may change. - SetSubtreeNeedsPaintPropertyUpdate(); - } else if (had_transform_related_property != - HasTransformRelatedProperty()) { - // This affects whether to create transform node. - SetNeedsPaintPropertyUpdate(); - } + if ((old_style && old_style->GetPosition() != StyleRef().GetPosition()) || + had_layer != HasLayer()) { + // This may affect paint properties of the current object, and descendants + // even if paint properties of the current object won't change. E.g. the + // stacking context and/or containing block of descendants may change. + SetSubtreeNeedsPaintPropertyUpdate(); + } else if (had_transform_related_property != HasTransformRelatedProperty()) { + // This affects whether to create transform node. + SetNeedsPaintPropertyUpdate(); } if (Layer()) { @@ -554,51 +551,6 @@ } } -DISABLE_CFI_PERF -void LayoutBoxModelObject::DeprecatedInvalidateTree( - const PaintInvalidationState& paint_invalidation_state) { - DCHECK(!RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()); - EnsureIsReadyForPaintInvalidation(); - - PaintInvalidationState new_paint_invalidation_state(paint_invalidation_state, - *this); - if (!ShouldCheckForPaintInvalidationWithPaintInvalidationState( - new_paint_invalidation_state)) - return; - - if (MayNeedPaintInvalidationSubtree()) - new_paint_invalidation_state - .SetForceSubtreeInvalidationCheckingWithinContainer(); - - ObjectPaintInvalidator paint_invalidator(*this); - LayoutRect previous_visual_rect = VisualRect(); - LayoutPoint previous_location = paint_invalidator.LocationInBacking(); - PaintInvalidationReason reason = - DeprecatedInvalidatePaint(new_paint_invalidation_state); - - if (previous_location != paint_invalidator.LocationInBacking()) { - new_paint_invalidation_state - .SetForceSubtreeInvalidationCheckingWithinContainer(); - } - - // TODO(wangxianzhu): This is a workaround for crbug.com/490725. We don't have - // enough saved information to do accurate check of clipping change. Will - // remove when we remove rect-based paint invalidation. - if (previous_visual_rect != VisualRect() && - !UsesCompositedScrolling() - // Note that isLayoutView() below becomes unnecessary after the launch of - // root layer scrolling. - && (HasOverflowClip() || IsLayoutView())) { - new_paint_invalidation_state - .SetForceSubtreeInvalidationRectUpdateWithinContainer(); - } - - new_paint_invalidation_state.UpdateForChildren(reason); - DeprecatedInvalidatePaintOfSubtrees(new_paint_invalidation_state); - - ClearPaintInvalidationFlags(); -} - void LayoutBoxModelObject::AddOutlineRectsForNormalChildren( Vector<LayoutRect>& rects, const LayoutPoint& additional_offset,
diff --git a/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.h b/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.h index 336fe78f..8b54c72f 100644 --- a/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.h +++ b/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.h
@@ -282,6 +282,11 @@ BorderLeft()); } + virtual LayoutRectOutsets PaddingOutsets() const { + return LayoutRectOutsets(PaddingTop(), PaddingRight(), PaddingBottom(), + PaddingLeft()); + } + // Insets from the border box to the inside of the border. LayoutRectOutsets BorderInsets() const { return LayoutRectOutsets(-BorderTop(), -BorderRight(), -BorderBottom(), @@ -440,8 +445,6 @@ return false; } - void DeprecatedInvalidateTree(const PaintInvalidationState&) override; - // http://www.w3.org/TR/css3-background/#body-background // <html> root element with no background steals background from its first // <body> child. The used background for such body element should be the
diff --git a/third_party/WebKit/Source/core/layout/LayoutEmbeddedContent.cpp b/third_party/WebKit/Source/core/layout/LayoutEmbeddedContent.cpp index dbe4983..8cbe1e35 100644 --- a/third_party/WebKit/Source/core/layout/LayoutEmbeddedContent.cpp +++ b/third_party/WebKit/Source/core/layout/LayoutEmbeddedContent.cpp
@@ -395,24 +395,6 @@ embedded_content_view.SetFrameRect(frame_rect); } -void LayoutEmbeddedContent::DeprecatedInvalidatePaintOfSubtrees( - const PaintInvalidationState& paint_invalidation_state) { - LocalFrameView* frame_view = ChildFrameView(); - if (frame_view && !IsThrottledFrameView()) { - // |childFrameView| is in another document, which could be - // missing its LayoutView. TODO(jchaffraix): Ideally we should - // not need this code. - if (LayoutView* child_layout_view = ToLayoutView( - LayoutAPIShim::LayoutObjectFrom(frame_view->GetLayoutViewItem()))) { - PaintInvalidationState child_view_paint_invalidation_state( - paint_invalidation_state, *child_layout_view); - frame_view->DeprecatedInvalidateTree(child_view_paint_invalidation_state); - } - } - - LayoutReplaced::DeprecatedInvalidatePaintOfSubtrees(paint_invalidation_state); -} - bool LayoutEmbeddedContent::IsThrottledFrameView() const { if (LocalFrameView* frame_view = ChildFrameView()) return frame_view->ShouldThrottleRendering();
diff --git a/third_party/WebKit/Source/core/layout/LayoutEmbeddedContent.h b/third_party/WebKit/Source/core/layout/LayoutEmbeddedContent.h index 4a510a5..8fe30ea 100644 --- a/third_party/WebKit/Source/core/layout/LayoutEmbeddedContent.h +++ b/third_party/WebKit/Source/core/layout/LayoutEmbeddedContent.h
@@ -76,10 +76,6 @@ void Paint(const PaintInfo&, const LayoutPoint&) const override; CursorDirective GetCursor(const LayoutPoint&, Cursor&) const final; - // Overridden to invalidate the child frame if any. - void DeprecatedInvalidatePaintOfSubtrees( - const PaintInvalidationState&) override; - private: void UpdateGeometryInternal(EmbeddedContentView&); CompositingReasons AdditionalCompositingReasons() const override;
diff --git a/third_party/WebKit/Source/core/layout/LayoutMenuList.cpp b/third_party/WebKit/Source/core/layout/LayoutMenuList.cpp index 6b6590a..77bd20c 100644 --- a/third_party/WebKit/Source/core/layout/LayoutMenuList.cpp +++ b/third_party/WebKit/Source/core/layout/LayoutMenuList.cpp
@@ -127,8 +127,7 @@ } // LayoutMenuList::ControlClipRect() depends on inner_block_->ContentsSize(). - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - SetNeedsPaintPropertyUpdate(); + SetNeedsPaintPropertyUpdate(); } HTMLSelectElement* LayoutMenuList::SelectElement() const { @@ -144,8 +143,7 @@ cache->ChildrenChanged(this); // LayoutMenuList::ControlClipRect() depends on inner_block_->ContentsSize(). - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - SetNeedsPaintPropertyUpdate(); + SetNeedsPaintPropertyUpdate(); } void LayoutMenuList::RemoveChild(LayoutObject* old_child) {
diff --git a/third_party/WebKit/Source/core/layout/LayoutObject.cpp b/third_party/WebKit/Source/core/layout/LayoutObject.cpp index 870957b..5ac42389 100644 --- a/third_party/WebKit/Source/core/layout/LayoutObject.cpp +++ b/third_party/WebKit/Source/core/layout/LayoutObject.cpp
@@ -71,7 +71,6 @@ #include "core/layout/LayoutTableRow.h" #include "core/layout/LayoutTheme.h" #include "core/layout/LayoutView.h" -#include "core/layout/PaintInvalidationState.h" #include "core/layout/api/LayoutAPIShim.h" #include "core/layout/api/LayoutEmbeddedContentItem.h" #include "core/layout/ng/layout_ng_block_flow.h" @@ -1130,42 +1129,6 @@ dirty_rect, display_item_client); } -void LayoutObject::DeprecatedInvalidateTree( - const PaintInvalidationState& paint_invalidation_state) { - DCHECK(!RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()); - EnsureIsReadyForPaintInvalidation(); - - // If we didn't need paint invalidation then our children don't need as well. - // Skip walking down the tree as everything should be fine below us. - if (!ShouldCheckForPaintInvalidationWithPaintInvalidationState( - paint_invalidation_state)) - return; - - PaintInvalidationState new_paint_invalidation_state(paint_invalidation_state, - *this); - - if (MayNeedPaintInvalidationSubtree()) { - new_paint_invalidation_state - .SetForceSubtreeInvalidationCheckingWithinContainer(); - } - - PaintInvalidationReason reason = - DeprecatedInvalidatePaint(new_paint_invalidation_state); - new_paint_invalidation_state.UpdateForChildren(reason); - DeprecatedInvalidatePaintOfSubtrees(new_paint_invalidation_state); - - ClearPaintInvalidationFlags(); -} - -DISABLE_CFI_PERF -void LayoutObject::DeprecatedInvalidatePaintOfSubtrees( - const PaintInvalidationState& child_paint_invalidation_state) { - DCHECK(!RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()); - - for (auto* child = SlowFirstChild(); child; child = child->NextSibling()) - child->DeprecatedInvalidateTree(child_paint_invalidation_state); -} - LayoutRect LayoutObject::SelectionRectInViewCoordinates() const { LayoutRect selection_rect = LocalSelectionRect(); if (!selection_rect.IsEmpty()) @@ -1173,49 +1136,6 @@ return selection_rect; } -PaintInvalidationReason LayoutObject::DeprecatedInvalidatePaint( - const PaintInvalidationState& paint_invalidation_state) { - DCHECK_EQ(&paint_invalidation_state.CurrentObject(), this); - - if (StyleRef().HasOutline()) { - PaintLayer& layer = paint_invalidation_state.PaintingLayer(); - if (&layer.GetLayoutObject() != this) - layer.SetNeedsPaintPhaseDescendantOutlines(); - } - - LayoutView* v = View(); - if (v->GetDocument().Printing()) - return PaintInvalidationReason::kNone; // Don't invalidate paints if we're - // printing. - - PaintInvalidatorContextAdapter context(paint_invalidation_state); - - const LayoutBoxModelObject& paint_invalidation_container = - paint_invalidation_state.PaintInvalidationContainer(); - DCHECK(paint_invalidation_container == ContainerForPaintInvalidation()); - - ObjectPaintInvalidator paint_invalidator(*this); - context.old_visual_rect = VisualRect(); - context.old_location = paint_invalidator.LocationInBacking(); - LayoutRect new_visual_rect = - paint_invalidation_state.ComputeVisualRectInBacking(); - context.new_location = paint_invalidation_state.ComputeLocationInBacking( - new_visual_rect.Location()); - - SetVisualRect(new_visual_rect); - paint_invalidator.SetLocationInBacking(context.new_location); - - if (!ShouldCheckForPaintInvalidation() && - paint_invalidation_state - .ForcedSubtreeInvalidationRectUpdateWithinContainerOnly()) { - // We are done updating the visual rect. No other paint invalidation work - // to do for this object. - return PaintInvalidationReason::kNone; - } - - return InvalidatePaint(context); -} - DISABLE_CFI_PERF PaintInvalidationReason LayoutObject::InvalidatePaint( const PaintInvalidatorContext& context) const { @@ -1741,10 +1661,9 @@ // Text nodes share style with their parents but the paint properties don't // apply to them, hence the !isText() check. - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled() && !IsText() && - (diff.TransformChanged() || diff.OpacityChanged() || - diff.ZIndexChanged() || diff.FilterChanged() || - diff.BackdropFilterChanged() || diff.CssClipChanged())) { + if (!IsText() && (diff.TransformChanged() || diff.OpacityChanged() || + diff.ZIndexChanged() || diff.FilterChanged() || + diff.BackdropFilterChanged() || diff.CssClipChanged())) { SetNeedsPaintPropertyUpdate(); // We don't need to invalidate paint of objects on SPv2 when only paint @@ -1936,7 +1855,7 @@ if (old_style && old_style->StyleType() == kPseudoIdNone) ApplyPseudoStyleChanges(*old_style); - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled() && old_style && + if (old_style && old_style->UsedTransformStyle3D() != StyleRef().UsedTransformStyle3D()) { // Change of transform-style may affect descendant transform property nodes. SetSubtreeNeedsPaintPropertyUpdate(); @@ -3446,12 +3365,6 @@ GetFrameView()->ScheduleVisualUpdateForPaintInvalidationIfNeeded(); } -bool LayoutObject::ShouldCheckForPaintInvalidationWithPaintInvalidationState( - const PaintInvalidationState& paint_invalidation_state) const { - return paint_invalidation_state.HasForcedSubtreeInvalidationFlags() || - ShouldCheckForPaintInvalidation(); -} - void LayoutObject::SetShouldDoFullPaintInvalidation( PaintInvalidationReason reason) { SetNeedsPaintOffsetAndVisualRectUpdate(); @@ -3563,7 +3476,6 @@ } PropertyTreeState LayoutObject::ContentsProperties() const { - DCHECK(RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()); return rare_paint_data_->ContentsProperties(); }
diff --git a/third_party/WebKit/Source/core/layout/LayoutObject.h b/third_party/WebKit/Source/core/layout/LayoutObject.h index f1fbd22..68ea703f 100644 --- a/third_party/WebKit/Source/core/layout/LayoutObject.h +++ b/third_party/WebKit/Source/core/layout/LayoutObject.h
@@ -71,7 +71,6 @@ class LayoutView; class PropertyTreeState; class ObjectPaintProperties; -class PaintInvalidationState; class PaintLayer; class PseudoStyleRequest; @@ -398,12 +397,10 @@ // Sets the parent of this object but doesn't add it as a child of the parent. void SetDangerousOneWayParent(LayoutObject*); - // For SlimmingPaintInvalidation/SPv2 only. // The ObjectPaintProperties structure holds references to the property tree // nodes that are created by the layout object. The property nodes should only // be updated during InPrePaint phase of the document lifecycle. const ObjectPaintProperties* PaintProperties() const { - DCHECK(RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()); return rare_paint_data_ ? rare_paint_data_->PaintProperties() : nullptr; } @@ -416,7 +413,6 @@ // to paint this LayoutObject. See also the comment for // RarePaintData::local_border_box_properties_. const PropertyTreeState* LocalBorderBoxProperties() const { - DCHECK(RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()); if (rare_paint_data_) return rare_paint_data_->LocalBorderBoxProperties(); return nullptr; @@ -1406,11 +1402,6 @@ LayoutRect InvalidatePaintRectangle(const LayoutRect&, DisplayItemClient* = nullptr) const; - // Walk the tree after layout issuing paint invalidations for layoutObjects - // that have changed or moved, updating bounds that have changed, and clearing - // paint invalidation state. - virtual void DeprecatedInvalidateTree(const PaintInvalidationState&); - void SetShouldDoFullPaintInvalidationIncludingNonCompositingDescendants(); // Returns the rect that should have paint invalidated whenever this object @@ -1712,9 +1703,6 @@ } void SetShouldInvalidateSelection(); - bool ShouldCheckForPaintInvalidationWithPaintInvalidationState( - const PaintInvalidationState&) const; - bool ShouldCheckForPaintInvalidation() const { return MayNeedPaintInvalidation() || ShouldDoFullPaintInvalidation(); } @@ -1778,7 +1766,6 @@ // pre-paint tree walk. TODO(wangxianzhu): Add check of lifecycle states. void SetVisualRect(const LayoutRect& r) { layout_object_.SetVisualRect(r); } void SetPaintOffset(const LayoutPoint& p) { - DCHECK(RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()); DCHECK_EQ(layout_object_.GetDocument().Lifecycle().GetState(), DocumentLifecycle::kInPrePaint); layout_object_.paint_offset_ = p; @@ -2091,23 +2078,6 @@ // Called before paint invalidation. virtual void EnsureIsReadyForPaintInvalidation() { DCHECK(!NeedsLayout()); } - // This function walks the descendants of |this|, following a - // layout ordering. - // - // The ordering is important for PaintInvalidationState, as it requires to be - // called following a descendant/container relationship. - // - // The function is overridden to handle special children (e.g. percentage - // height descendants or reflections). - virtual void DeprecatedInvalidatePaintOfSubtrees( - const PaintInvalidationState& child_paint_invalidation_state); - - // This function generates the invalidation for this object only. - // It doesn't recurse into other object, as this is handled by - // DeprecatedInvalidatePaintOfSubtrees. - virtual PaintInvalidationReason DeprecatedInvalidatePaint( - const PaintInvalidationState&); - void SetIsBackgroundAttachmentFixedObject(bool); void ClearSelfNeedsOverflowRecalcAfterStyleChange() { @@ -2638,7 +2608,7 @@ // building. It is relative to the containing transform space. It is the same // offset that will be used to paint the object on SPv2. It's used to detect // paint offset change for paint invalidation on SPv2, and partial paint - // property tree update for SlimmingPaintInvalidation on SPv1 and SPv2. + // property tree update on SPv1 and SPv2. LayoutPoint paint_offset_; std::unique_ptr<RarePaintData> rare_paint_data_;
diff --git a/third_party/WebKit/Source/core/layout/LayoutObjectTest.cpp b/third_party/WebKit/Source/core/layout/LayoutObjectTest.cpp index 01f24d8..b809285 100644 --- a/third_party/WebKit/Source/core/layout/LayoutObjectTest.cpp +++ b/third_party/WebKit/Source/core/layout/LayoutObjectTest.cpp
@@ -202,7 +202,6 @@ object->bitfields_.SetDescendantNeedsPaintPropertyUpdate(true); EXPECT_TRUE(object->DescendantNeedsPaintPropertyUpdate()); - ScopedSlimmingPaintInvalidationForTest enable_sp_invalidation(true); GetDocument().Lifecycle().AdvanceTo(DocumentLifecycle::kInPrePaint); object->GetMutableForPainting().ClearPaintFlags(); @@ -223,7 +222,6 @@ EXPECT_TRUE(object->NeedsPaintPropertyUpdate()); EXPECT_TRUE(object->Parent()->DescendantNeedsPaintPropertyUpdate()); - ScopedSlimmingPaintInvalidationForTest enable_sp_invalidation(true); GetDocument().Lifecycle().AdvanceTo(DocumentLifecycle::kInPrePaint); object->GetMutableForPainting().ClearPaintFlags();
diff --git a/third_party/WebKit/Source/core/layout/LayoutTable.cpp b/third_party/WebKit/Source/core/layout/LayoutTable.cpp index 7533848..0ce46b1 100644 --- a/third_party/WebKit/Source/core/layout/LayoutTable.cpp +++ b/third_party/WebKit/Source/core/layout/LayoutTable.cpp
@@ -1493,16 +1493,6 @@ } } -PaintInvalidationReason LayoutTable::DeprecatedInvalidatePaint( - const PaintInvalidationState& paint_invalidation_state) { - if (HasCollapsedBorders()) { - paint_invalidation_state.PaintingLayer() - .SetNeedsPaintPhaseDescendantBlockBackgrounds(); - } - - return LayoutBlock::DeprecatedInvalidatePaint(paint_invalidation_state); -} - PaintInvalidationReason LayoutTable::InvalidatePaint( const PaintInvalidatorContext& context) const { return TablePaintInvalidator(*this, context).InvalidatePaint();
diff --git a/third_party/WebKit/Source/core/layout/LayoutTable.h b/third_party/WebKit/Source/core/layout/LayoutTable.h index f7f0035..f6842f0 100644 --- a/third_party/WebKit/Source/core/layout/LayoutTable.h +++ b/third_party/WebKit/Source/core/layout/LayoutTable.h
@@ -414,8 +414,6 @@ void SimplifiedNormalFlowLayout() override; bool RecalcChildOverflowAfterStyleChange() override; void EnsureIsReadyForPaintInvalidation() override; - PaintInvalidationReason DeprecatedInvalidatePaint( - const PaintInvalidationState&) override; PaintInvalidationReason InvalidatePaint( const PaintInvalidatorContext&) const override; bool PaintedOutputOfObjectHasNoEffectRegardlessOfSize() const override;
diff --git a/third_party/WebKit/Source/core/layout/LayoutTableRow.h b/third_party/WebKit/Source/core/layout/LayoutTableRow.h index 4e16d69..e6cfb7e 100644 --- a/third_party/WebKit/Source/core/layout/LayoutTableRow.h +++ b/third_party/WebKit/Source/core/layout/LayoutTableRow.h
@@ -58,8 +58,8 @@ // for its children. LayoutTableCells are positioned with respect to the // enclosing LayoutTableSection (this object's parent()). This particularity is // why functions accumulating offset while walking the tree have to special case -// LayoutTableRow (see e.g. PaintInvalidationState or -// LayoutBox::positionFromPoint()). +// LayoutTableRow (see e.g. PaintInvalidatorContext or +// LayoutBox::PositionFromPoint()). // // LayoutTableRow is also positioned with respect to the enclosing // LayoutTableSection. See LayoutTableSection::layoutRows() for the placement
diff --git a/third_party/WebKit/Source/core/layout/LayoutView.cpp b/third_party/WebKit/Source/core/layout/LayoutView.cpp index 5fa6714..d82ad0d2 100644 --- a/third_party/WebKit/Source/core/layout/LayoutView.cpp +++ b/third_party/WebKit/Source/core/layout/LayoutView.cpp
@@ -794,6 +794,14 @@ return frame_view_->GetFrame().PageZoomFactor(); } +const LayoutBox& LayoutView::RootBox() const { + Element* document_element = GetDocument().documentElement(); + DCHECK(document_element); + DCHECK(document_element->GetLayoutObject()); + DCHECK(document_element->GetLayoutObject()->IsBox()); + return ToLayoutBox(*document_element->GetLayoutObject()); +} + void LayoutView::UpdateAfterLayout() { // Unlike every other layer, the root PaintLayer takes its size from the // layout viewport size. The call to AdjustViewSize() will update the
diff --git a/third_party/WebKit/Source/core/layout/LayoutView.h b/third_party/WebKit/Source/core/layout/LayoutView.h index 8154f0a..6274a7e 100644 --- a/third_party/WebKit/Source/core/layout/LayoutView.h +++ b/third_party/WebKit/Source/core/layout/LayoutView.h
@@ -27,7 +27,6 @@ #include "core/layout/HitTestResult.h" #include "core/layout/LayoutBlockFlow.h" #include "core/layout/LayoutState.h" -#include "core/layout/PaintInvalidationState.h" #include "platform/PODFreeListArena.h" #include "platform/RuntimeEnabledFeatures.h" #include "platform/heap/Handle.h" @@ -115,6 +114,7 @@ float ZoomFactor() const; LocalFrameView* GetFrameView() const { return frame_view_; } + const LayoutBox& RootBox() const; void UpdateAfterLayout() override;
diff --git a/third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp b/third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp deleted file mode 100644 index 3b41e5e..0000000 --- a/third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp +++ /dev/null
@@ -1,563 +0,0 @@ -// Copyright 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "core/layout/PaintInvalidationState.h" - -#include "core/frame/LocalFrame.h" -#include "core/frame/LocalFrameView.h" -#include "core/frame/Settings.h" -#include "core/layout/LayoutEmbeddedContent.h" -#include "core/layout/LayoutInline.h" -#include "core/layout/LayoutView.h" -#include "core/layout/api/LayoutAPIShim.h" -#include "core/layout/api/LayoutEmbeddedContentItem.h" -#include "core/layout/svg/LayoutSVGRoot.h" -#include "core/layout/svg/SVGLayoutSupport.h" -#include "core/paint/PaintInvalidator.h" -#include "core/paint/PaintLayer.h" -#include "core/paint/PaintPropertyTreeBuilder.h" -#include "platform/graphics/paint/GeometryMapper.h" - -namespace blink { - -static bool SupportsCachedOffsets(const LayoutObject& object) { - // Can't compute paint offsets across objects with transforms, but if they are - // paint invalidation containers, we don't actually need to compute *across* - // the container, just up to it. (Also, such objects are the containing block - // for all children.) - return !(object.HasTransformRelatedProperty() && - !object.IsPaintInvalidationContainer()) && - !object.HasFilterInducingProperty() && !object.IsLayoutFlowThread() && - !object.IsLayoutMultiColumnSpannerPlaceholder() && - !object.StyleRef().IsFlippedBlocksWritingMode() && - !(object.IsLayoutBlock() && object.IsSVG()); -} - -PaintInvalidationState::PaintInvalidationState( - const LayoutView& layout_view, - Vector<const LayoutObject*>& pending_delayed_paint_invalidations) - : current_object_(layout_view), - forced_subtree_invalidation_flags_(0), - clipped_(false), - clipped_for_absolute_position_(false), - cached_offsets_enabled_(true), - cached_offsets_for_absolute_position_enabled_(true), - paint_invalidation_container_( - &layout_view.ContainerForPaintInvalidation()), - paint_invalidation_container_for_stacked_contents_( - paint_invalidation_container_), - container_for_absolute_position_(layout_view), - pending_delayed_paint_invalidations_(pending_delayed_paint_invalidations), - painting_layer_(*layout_view.Layer()) { - DCHECK(!RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()); - - if (!SupportsCachedOffsets(layout_view)) { - cached_offsets_enabled_ = false; - return; - } - - FloatPoint point = layout_view.LocalToAncestorPoint( - FloatPoint(), paint_invalidation_container_, - kTraverseDocumentBoundaries | kInputIsInFrameCoordinates); - paint_offset_ = LayoutSize(point.X(), point.Y()); - paint_offset_for_absolute_position_ = paint_offset_; -} - -PaintInvalidationState::PaintInvalidationState( - const PaintInvalidationState& parent_state, - const LayoutObject& current_object) - : current_object_(current_object), - forced_subtree_invalidation_flags_( - parent_state.forced_subtree_invalidation_flags_), - clipped_(parent_state.clipped_), - clipped_for_absolute_position_( - parent_state.clipped_for_absolute_position_), - clip_rect_(parent_state.clip_rect_), - clip_rect_for_absolute_position_( - parent_state.clip_rect_for_absolute_position_), - paint_offset_(parent_state.paint_offset_), - paint_offset_for_absolute_position_( - parent_state.paint_offset_for_absolute_position_), - cached_offsets_enabled_(parent_state.cached_offsets_enabled_), - cached_offsets_for_absolute_position_enabled_( - parent_state.cached_offsets_for_absolute_position_enabled_), - paint_invalidation_container_(parent_state.paint_invalidation_container_), - paint_invalidation_container_for_stacked_contents_( - parent_state.paint_invalidation_container_for_stacked_contents_), - container_for_absolute_position_( - current_object.CanContainAbsolutePositionObjects() - ? current_object - : parent_state.container_for_absolute_position_), - svg_transform_(parent_state.svg_transform_), - pending_delayed_paint_invalidations_( - parent_state.pending_delayed_paint_invalidations_), - painting_layer_(parent_state.ChildPaintingLayer(current_object)) { - DCHECK(!RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()); - DCHECK_EQ(&painting_layer_, current_object.PaintingLayer()); - - if (current_object == parent_state.current_object_) { -// Sometimes we create a new PaintInvalidationState from parentState on the same -// object (e.g. LayoutView, and the HorriblySlowRectMapping cases in -// LayoutBlock::invalidatePaintOfSubtreesIfNeeded()). -// TODO(wangxianzhu): Avoid this for -// RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled(). -#if DCHECK_IS_ON() - did_update_for_children_ = parent_state.did_update_for_children_; -#endif - return; - } - -#if DCHECK_IS_ON() - DCHECK(parent_state.did_update_for_children_); -#endif - - if (current_object.IsPaintInvalidationContainer()) { - paint_invalidation_container_ = ToLayoutBoxModelObject(¤t_object); - if (current_object.StyleRef().IsStackingContext()) - paint_invalidation_container_for_stacked_contents_ = - ToLayoutBoxModelObject(¤t_object); - } else if (current_object.IsLayoutView()) { - // m_paintInvalidationContainerForStackedContents is only for stacked - // descendants in its own frame, because it doesn't establish stacking - // context for stacked contents in sub-frames. Contents stacked in the root - // stacking context in this frame should use this frame's - // paintInvalidationContainer. - paint_invalidation_container_for_stacked_contents_ = - paint_invalidation_container_; - } else if (current_object.IsFloatingWithNonContainingBlockParent() || - current_object.IsColumnSpanAll()) { - // In these cases, the object may belong to an ancestor of the current - // paint invalidation container, in paint order. - paint_invalidation_container_ = - ¤t_object.ContainerForPaintInvalidation(); - cached_offsets_enabled_ = false; - } else if (current_object.StyleRef().IsStacked() && - // This is to exclude some objects (e.g. LayoutText) inheriting - // stacked style from parent but aren't actually stacked. - current_object.HasLayer() && - paint_invalidation_container_ != - paint_invalidation_container_for_stacked_contents_) { - // The current object is stacked, so we should use - // m_paintInvalidationContainerForStackedContents as its paint invalidation - // container on which the current object is painted. - paint_invalidation_container_ = - paint_invalidation_container_for_stacked_contents_; - // We are changing paintInvalidationContainer to - // m_paintInvalidationContainerForStackedContents. Must disable cached - // offsets because we didn't track paint offset from - // m_paintInvalidationContainerForStackedContents. - // TODO(wangxianzhu): There are optimization opportunities: - // - Like what we do for fixed-position, calculate the paint offset in slow - // path and enable fast path for descendants if possible; or - // - Track offset between the two paintInvalidationContainers. - cached_offsets_enabled_ = false; - if (forced_subtree_invalidation_flags_ & - PaintInvalidatorContext::kSubtreeFullInvalidationForStackedContents) { - forced_subtree_invalidation_flags_ |= - PaintInvalidatorContext::kSubtreeFullInvalidation; - } - } - - if (!current_object.IsBoxModelObject() && !current_object.IsSVG()) - return; - - if (cached_offsets_enabled_ || - current_object == paint_invalidation_container_) - cached_offsets_enabled_ = SupportsCachedOffsets(current_object); - - if (current_object.IsSVG()) { - if (current_object.IsSVGRoot()) { - svg_transform_ = - ToLayoutSVGRoot(current_object).LocalToBorderBoxTransform(); - // Don't early return here, because the SVGRoot object needs to execute - // the later code as a normal LayoutBox. - } else { - DCHECK(current_object != paint_invalidation_container_); - svg_transform_ *= current_object.LocalToSVGParentTransform(); - return; - } - } - - if (current_object == paint_invalidation_container_) { - // When we hit a new paint invalidation container, we don't need to - // continue forcing a check for paint invalidation, since we're - // descending into a different invalidation container. (For instance if - // our parents were moved, the entire container will just move.) - if (current_object != paint_invalidation_container_for_stacked_contents_) { - // However, we need to keep the FullInvalidationForStackedContents flag - // if the current object isn't the paint invalidation container of - // stacked contents. - forced_subtree_invalidation_flags_ &= - PaintInvalidatorContext::kSubtreeFullInvalidationForStackedContents; - } else { - forced_subtree_invalidation_flags_ = 0; - if (current_object != container_for_absolute_position_ && - cached_offsets_for_absolute_position_enabled_ && - cached_offsets_enabled_) { - // The current object is the new paintInvalidationContainer for - // absolute-position descendants but is not their container. - // Call updateForCurrentObject() before resetting m_paintOffset to get - // paint offset of the current object from the original - // paintInvalidationContainerForStackingContents, then use this paint - // offset to adjust m_paintOffsetForAbsolutePosition. - UpdateForCurrentObject(parent_state); - paint_offset_for_absolute_position_ -= paint_offset_; - if (clipped_for_absolute_position_) - clip_rect_for_absolute_position_.Move(-paint_offset_); - } - } - - clipped_ = false; // Will be updated in updateForChildren(). - paint_offset_ = LayoutSize(); - return; - } - - UpdateForCurrentObject(parent_state); -} - -PaintLayer& PaintInvalidationState::ChildPaintingLayer( - const LayoutObject& child) const { - if (child.HasLayer() && ToLayoutBoxModelObject(child).HasSelfPaintingLayer()) - return *ToLayoutBoxModelObject(child).Layer(); - // See LayoutObject::paintingLayer() for the special-cases of floating under - // inline and multicolumn. - if (child.IsColumnSpanAll() || child.IsFloatingWithNonContainingBlockParent()) - return *child.PaintingLayer(); - return painting_layer_; -} - -void PaintInvalidationState::UpdateForCurrentObject( - const PaintInvalidationState& parent_state) { - if (!cached_offsets_enabled_) - return; - - if (current_object_.IsLayoutView()) { - DCHECK_EQ(&parent_state.current_object_, - LayoutAPIShim::LayoutObjectFrom( - ToLayoutView(current_object_).GetFrame()->OwnerLayoutItem())); - paint_offset_ += - ToLayoutBox(parent_state.current_object_).ContentBoxOffset(); - // a LayoutView paints with a defined size but a pixel-rounded offset. - paint_offset_ = LayoutSize(RoundedIntSize(paint_offset_)); - return; - } - - EPosition position = current_object_.StyleRef().GetPosition(); - - if (position == EPosition::kFixed) { - // Use slow path to get the offset of the fixed-position, and enable fast - // path for descendants. - FloatPoint fixed_offset = current_object_.LocalToAncestorPoint( - FloatPoint(), paint_invalidation_container_, - kTraverseDocumentBoundaries); - if (paint_invalidation_container_->IsBox()) { - const LayoutBox* box = ToLayoutBox(paint_invalidation_container_); - if (box->HasOverflowClip()) - fixed_offset.Move(box->ScrolledContentOffset()); - } - paint_offset_ = LayoutSize(fixed_offset.X(), fixed_offset.Y()); - // In the above way to get paint offset, we can't get accurate clip rect, so - // just assume no clip. Clip on fixed-position is rare, in case that - // paintInvalidationContainer crosses frame boundary and the LayoutView is - // clipped by something in owner document. - clipped_ = false; - return; - } - - if (position == EPosition::kAbsolute) { - cached_offsets_enabled_ = cached_offsets_for_absolute_position_enabled_; - if (!cached_offsets_enabled_) - return; - - paint_offset_ = paint_offset_for_absolute_position_; - clipped_ = clipped_for_absolute_position_; - clip_rect_ = clip_rect_for_absolute_position_; - - // Handle absolute-position block under relative-position inline. - const LayoutObject& container = - parent_state.container_for_absolute_position_; - if (container.IsInFlowPositioned() && container.IsLayoutInline()) - paint_offset_ += - ToLayoutInline(container).OffsetForInFlowPositionedInline( - ToLayoutBox(current_object_)); - } - - if (current_object_.IsBox()) - paint_offset_ += ToLayoutBox(current_object_).LocationOffset(); - - if (current_object_.IsInFlowPositioned() && current_object_.HasLayer()) - paint_offset_ += ToLayoutBoxModelObject(current_object_) - .Layer() - ->OffsetForInFlowPosition(); -} - -void PaintInvalidationState::UpdateForChildren(PaintInvalidationReason reason) { -#if DCHECK_IS_ON() - DCHECK(!did_update_for_children_); - did_update_for_children_ = true; -#endif - - switch (reason) { - case PaintInvalidationReason::kDelayedFull: - pending_delayed_paint_invalidations_.push_back(¤t_object_); - break; - case PaintInvalidationReason::kSubtree: - forced_subtree_invalidation_flags_ |= - (PaintInvalidatorContext::kSubtreeFullInvalidation | - PaintInvalidatorContext::kSubtreeFullInvalidationForStackedContents); - break; - case PaintInvalidationReason::kSVGResource: - forced_subtree_invalidation_flags_ |= - PaintInvalidatorContext::kSubtreeSVGResourceChange; - break; - default: - break; - } - - UpdateForNormalChildren(); - - if (current_object_ == container_for_absolute_position_) { - if (paint_invalidation_container_ == - paint_invalidation_container_for_stacked_contents_) { - cached_offsets_for_absolute_position_enabled_ = cached_offsets_enabled_; - if (cached_offsets_enabled_) { - paint_offset_for_absolute_position_ = paint_offset_; - clipped_for_absolute_position_ = clipped_; - clip_rect_for_absolute_position_ = clip_rect_; - } - } else { - // Cached offsets for absolute-position are from - // m_paintInvalidationContainer, which can't be used if the - // absolute-position descendants will use a different - // paintInvalidationContainer. - // TODO(wangxianzhu): Same optimization opportunities as under isStacked() - // condition in the PaintInvalidationState::PaintInvalidationState(... - // LayoutObject&...). - cached_offsets_for_absolute_position_enabled_ = false; - } - } -} - -void PaintInvalidationState::UpdateForNormalChildren() { - if (!cached_offsets_enabled_) - return; - - if (!current_object_.IsBox()) - return; - const LayoutBox& box = ToLayoutBox(current_object_); - - if (box.IsLayoutView()) { - if (!RuntimeEnabledFeatures::RootLayerScrollingEnabled()) { - if (box != paint_invalidation_container_) { - paint_offset_ -= - LayoutSize(ToLayoutView(box).GetFrameView()->GetScrollOffset()); - AddClipRectRelativeToPaintOffset(ToLayoutView(box).ViewRect()); - } - return; - } - } else if (box.IsSVGRoot()) { - const LayoutSVGRoot& svg_root = ToLayoutSVGRoot(box); - if (svg_root.ShouldApplyViewportClip()) - AddClipRectRelativeToPaintOffset( - LayoutRect(LayoutPoint(), LayoutSize(svg_root.PixelSnappedSize()))); - } else if (box.IsTableRow()) { - // Child table cell's locationOffset() includes its row's locationOffset(). - paint_offset_ -= box.LocationOffset(); - } - - if (!box.HasClipRelatedProperty()) - return; - - // Do not clip or scroll for the paint invalidation container, because the - // semantics of visual rects do not include clipping or scrolling on that - // object. - if (box != paint_invalidation_container_) { - // This won't work fully correctly for fixed-position elements, who should - // receive CSS clip but for whom the current object is not in the containing - // block chain. - AddClipRectRelativeToPaintOffset(box.ClippingRect()); - if (box.HasOverflowClip()) - paint_offset_ -= box.ScrolledContentOffset(); - } - - // FIXME: <http://bugs.webkit.org/show_bug.cgi?id=13443> Apply control clip if - // present. -} - -static FloatPoint SlowLocalToAncestorPoint(const LayoutObject& object, - const LayoutBoxModelObject& ancestor, - const FloatPoint& point) { - if (object.IsLayoutView()) - return ToLayoutView(object).LocalToAncestorPoint( - point, &ancestor, - kTraverseDocumentBoundaries | kInputIsInFrameCoordinates); - FloatPoint result = object.LocalToAncestorPoint(point, &ancestor, - kTraverseDocumentBoundaries); - // Paint invalidation does not include scroll of the ancestor. - if (ancestor.IsBox()) { - const LayoutBox* box = ToLayoutBox(&ancestor); - if (box->HasOverflowClip()) - result.Move(box->ScrolledContentOffset()); - } - return result; -} - -LayoutPoint PaintInvalidationState::ComputeLocationInBacking( - const LayoutPoint& visual_rect_location) const { -#if DCHECK_IS_ON() - DCHECK(!did_update_for_children_); -#endif - - // Use visual rect location for LayoutTexts because it suffices to check - // visual rect change for layout caused invalidation. - if (current_object_.IsText()) - return visual_rect_location; - - FloatPoint point; - if (paint_invalidation_container_ != ¤t_object_) { - if (cached_offsets_enabled_) { - if (current_object_.IsSVGChild()) - point = svg_transform_.MapPoint(point); - point += FloatPoint(paint_offset_); - } else { - point = SlowLocalToAncestorPoint( - current_object_, *paint_invalidation_container_, FloatPoint()); - } - } - - PaintLayer::MapPointInPaintInvalidationContainerToBacking( - *paint_invalidation_container_, point); - - point.Move(current_object_.ScrollAdjustmentForPaintInvalidation( - *paint_invalidation_container_)); - - return LayoutPoint(point); -} - -LayoutRect PaintInvalidationState::ComputeVisualRectInBacking() const { -#if DCHECK_IS_ON() - DCHECK(!did_update_for_children_); -#endif - - if (current_object_.IsSVGChild()) - return ComputeVisualRectInBackingForSVG(); - - LayoutRect rect = current_object_.LocalVisualRect(); - MapLocalRectToVisualRectInBacking(rect); - return rect; -} - -LayoutRect PaintInvalidationState::ComputeVisualRectInBackingForSVG() const { - LayoutRect rect; - if (cached_offsets_enabled_) { - FloatRect svg_rect = SVGLayoutSupport::LocalVisualRect(current_object_); - rect = SVGLayoutSupport::TransformVisualRect(current_object_, - svg_transform_, svg_rect); - rect.Move(paint_offset_); - if (clipped_) - rect.Intersect(clip_rect_); - } else { - // TODO(wangxianzhu): Sometimes m_cachedOffsetsEnabled==false doesn't mean - // we can't use cached m_svgTransform. We can use hybrid fast path (for SVG) - // and slow path (for things above the SVGRoot). - rect = SVGLayoutSupport::VisualRectInAncestorSpace( - current_object_, *paint_invalidation_container_); - } - - PaintLayer::MapRectInPaintInvalidationContainerToBacking( - *paint_invalidation_container_, rect); - - if (!rect.IsEmpty()) - rect.Inflate(current_object_.VisualRectOutsetForRasterEffects()); - - rect.Move(current_object_.ScrollAdjustmentForPaintInvalidation( - *paint_invalidation_container_)); - - return rect; -} - -static void SlowMapToVisualRectInAncestorSpace( - const LayoutObject& object, - const LayoutBoxModelObject& ancestor, - LayoutRect& rect) { - // TODO(wkorman): The flip below is required because visual rects are - // currently in "physical coordinates with flipped block-flow direction" - // (see LayoutBoxModelObject.h) but we need them to be in physical - // coordinates. - if (object.IsBox()) - ToLayoutBox(&object)->FlipForWritingMode(rect); - - if (object.IsLayoutView()) { - ToLayoutView(object).MapToVisualRectInAncestorSpace( - &ancestor, rect, kInputIsInFrameCoordinates, kDefaultVisualRectFlags); - } else { - object.MapToVisualRectInAncestorSpace(&ancestor, rect); - } -} - -void PaintInvalidationState::MapLocalRectToPaintInvalidationContainer( - LayoutRect& rect) const { -#if DCHECK_IS_ON() - DCHECK(!did_update_for_children_); -#endif - - if (cached_offsets_enabled_) { - rect.Move(paint_offset_); - if (clipped_) - rect.Intersect(clip_rect_); - } else { - SlowMapToVisualRectInAncestorSpace(current_object_, - *paint_invalidation_container_, rect); - } -} - -void PaintInvalidationState::MapLocalRectToVisualRectInBacking( - LayoutRect& rect) const { - MapLocalRectToPaintInvalidationContainer(rect); - - PaintLayer::MapRectInPaintInvalidationContainerToBacking( - *paint_invalidation_container_, rect); - - if (!rect.IsEmpty()) - rect.Inflate(current_object_.VisualRectOutsetForRasterEffects()); - - rect.Move(current_object_.ScrollAdjustmentForPaintInvalidation( - *paint_invalidation_container_)); -} - -void PaintInvalidationState::AddClipRectRelativeToPaintOffset( - const LayoutRect& local_clip_rect) { - LayoutRect clip_rect = local_clip_rect; - clip_rect.Move(paint_offset_); - if (clipped_) { - clip_rect_.Intersect(clip_rect); - } else { - clip_rect_ = clip_rect; - clipped_ = true; - } -} - -PaintLayer& PaintInvalidationState::PaintingLayer() const { - DCHECK_EQ(&painting_layer_, current_object_.PaintingLayer()); - return painting_layer_; -} - -PaintInvalidatorContextAdapter::PaintInvalidatorContextAdapter( - const PaintInvalidationState& paint_invalidation_state) - : PaintInvalidatorContext(), - paint_invalidation_state_(paint_invalidation_state) { - subtree_flags = paint_invalidation_state.forced_subtree_invalidation_flags_; - paint_invalidation_container = - &paint_invalidation_state.PaintInvalidationContainer(); - painting_layer = &paint_invalidation_state.PaintingLayer(); -} - -void PaintInvalidatorContextAdapter::MapLocalRectToVisualRectInBacking( - const LayoutObject& object, - LayoutRect& rect) const { - DCHECK_EQ(&object, &paint_invalidation_state_.CurrentObject()); - paint_invalidation_state_.MapLocalRectToVisualRectInBacking(rect); -} - -} // namespace blink
diff --git a/third_party/WebKit/Source/core/layout/PaintInvalidationState.h b/third_party/WebKit/Source/core/layout/PaintInvalidationState.h deleted file mode 100644 index 3a5d025..0000000 --- a/third_party/WebKit/Source/core/layout/PaintInvalidationState.h +++ /dev/null
@@ -1,194 +0,0 @@ -// Copyright 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef PaintInvalidationState_h -#define PaintInvalidationState_h - -#include "core/CoreExport.h" -#include "core/paint/PaintInvalidator.h" -#include "platform/geometry/LayoutRect.h" -#include "platform/graphics/PaintInvalidationReason.h" -#include "platform/transforms/AffineTransform.h" -#include "platform/wtf/Allocator.h" -#include "platform/wtf/Noncopyable.h" - -namespace blink { - -class LayoutBoxModelObject; -class LayoutObject; -class LayoutView; -class PaintLayer; - -// This is deprecated by PaintInvalidator when SlimmingPaintInvalidation is -// enabled. -// -// PaintInvalidationState is an optimization used during the paint -// invalidation phase. -// -// This class is extremely close to LayoutState so see the documentation -// of LayoutState for the class existence and performance benefits. -// -// The main difference with LayoutState is that it was customized for the -// needs of the paint invalidation systems (keeping visual rectangles -// instead of layout specific information). -// -// See Source/core/paint/README.md#Paint-invalidation for more details. - -class CORE_EXPORT PaintInvalidationState { - DISALLOW_NEW_EXCEPT_PLACEMENT_NEW(); - WTF_MAKE_NONCOPYABLE(PaintInvalidationState); - - public: - PaintInvalidationState(const PaintInvalidationState& parent_state, - const LayoutObject&); - - // For root LayoutView, or when sub-frame LayoutView's - // invalidateTreeIfNeeded() is called directly from - // FrameView::invalidateTreeIfNeededRecursive() instead of the owner - // LayoutEmbeddedContent. - // TODO(wangxianzhu): Eliminate the latter case. - PaintInvalidationState( - const LayoutView&, - Vector<const LayoutObject*>& pending_delayed_paint_invalidations); - - // When a PaintInvalidationState is constructed, it can be used to map - // points/rects in the object's local space (border box space for - // LayoutBoxes). After invalidation of the current object, before invalidation - // of the subtrees, this method must be called to apply clip and scroll offset - // etc. for creating child PaintInvalidationStates. - void UpdateForChildren(PaintInvalidationReason); - - bool HasForcedSubtreeInvalidationFlags() const { - return forced_subtree_invalidation_flags_; - } - - bool ForcedSubtreeInvalidationCheckingWithinContainer() const { - return forced_subtree_invalidation_flags_ & - PaintInvalidatorContext::kSubtreeInvalidationChecking; - } - void SetForceSubtreeInvalidationCheckingWithinContainer() { - forced_subtree_invalidation_flags_ |= - PaintInvalidatorContext::kSubtreeInvalidationChecking; - } - - bool ForcedSubtreeFullInvalidationWithinContainer() const { - return forced_subtree_invalidation_flags_ & - PaintInvalidatorContext::kSubtreeFullInvalidation; - } - - bool ForcedSubtreeInvalidationRectUpdateWithinContainerOnly() const { - return forced_subtree_invalidation_flags_ == - PaintInvalidatorContext::kSubtreeVisualRectUpdate; - } - void SetForceSubtreeInvalidationRectUpdateWithinContainer() { - forced_subtree_invalidation_flags_ |= - PaintInvalidatorContext::kSubtreeVisualRectUpdate; - } - - const LayoutBoxModelObject& PaintInvalidationContainer() const { - return *paint_invalidation_container_; - } - - // Computes the location of the current object ((0,0) in the space of the - // object) in the space of paint invalidation backing. - LayoutPoint ComputeLocationInBacking( - const LayoutPoint& visual_rect_location) const; - - // Returns the rect bounds needed to invalidate paint of this object, - // in the space of paint invalidation backing. - LayoutRect ComputeVisualRectInBacking() const; - - void MapLocalRectToVisualRectInBacking(LayoutRect&) const; - - PaintLayer& PaintingLayer() const; - - const LayoutObject& CurrentObject() const { return current_object_; } - - private: - friend class VisualRectMappingTest; - friend class PaintInvalidatorContextAdapter; - - inline PaintLayer& ChildPaintingLayer(const LayoutObject& child) const; - - void MapLocalRectToPaintInvalidationContainer(LayoutRect&) const; - - void UpdateForCurrentObject(const PaintInvalidationState& parent_state); - void UpdateForNormalChildren(); - - LayoutRect ComputeVisualRectInBackingForSVG() const; - - void AddClipRectRelativeToPaintOffset(const LayoutRect& local_clip_rect); - - const LayoutObject& current_object_; - - unsigned forced_subtree_invalidation_flags_; - - bool clipped_; - bool clipped_for_absolute_position_; - - // Clip rect from paintInvalidationContainer if m_cachedOffsetsEnabled is - // true. - LayoutRect clip_rect_; - LayoutRect clip_rect_for_absolute_position_; - - // x/y offset from the paintInvalidationContainer if m_cachedOffsetsEnabled is - // true. - // It includes relative positioning and scroll offsets. - LayoutSize paint_offset_; - LayoutSize paint_offset_for_absolute_position_; - - // Whether m_paintOffset[XXX] and m_clipRect[XXX] are valid and can be used - // to map a rect from space of the current object to space of - // paintInvalidationContainer. - bool cached_offsets_enabled_; - bool cached_offsets_for_absolute_position_enabled_; - - // The following two fields are never null. Declare them as pointers because - // we need some logic to initialize them in the body of the constructor. - - // The current paint invalidation container for normal flow objects. - // It is the enclosing composited object. - const LayoutBoxModelObject* paint_invalidation_container_; - - // The current paint invalidation container for stacked contents (stacking - // contexts or positioned objects). It is the nearest ancestor composited - // object which establishes a stacking context. See - // Source/core/paint/README.md ### PaintInvalidationState for details on how - // stacked contents' paint invalidation containers differ. - const LayoutBoxModelObject* - paint_invalidation_container_for_stacked_contents_; - - const LayoutObject& container_for_absolute_position_; - - // Transform from the initial viewport coordinate system of an outermost - // SVG root to the userspace _before_ the relevant element. Combining this - // with |m_paintOffset| yields the "final" offset. - AffineTransform svg_transform_; - - // Records objects needing paint invalidation on the next frame. See the - // definition of PaintInvalidationDelayedFull for more details. - Vector<const LayoutObject*>& pending_delayed_paint_invalidations_; - - PaintLayer& painting_layer_; - -#if DCHECK_IS_ON() - bool did_update_for_children_ = false; -#endif -}; - -// This is temporary to adapt legacy PaintInvalidationState to -// PaintInvalidatorContext -class PaintInvalidatorContextAdapter : public PaintInvalidatorContext { - public: - PaintInvalidatorContextAdapter(const PaintInvalidationState&); - void MapLocalRectToVisualRectInBacking(const LayoutObject&, - LayoutRect&) const override; - - private: - const PaintInvalidationState& paint_invalidation_state_; -}; - -} // namespace blink - -#endif // PaintInvalidationState_h
diff --git a/third_party/WebKit/Source/core/layout/VisualRectMappingTest.cpp b/third_party/WebKit/Source/core/layout/VisualRectMappingTest.cpp index fa43ddc9..036ebe0 100644 --- a/third_party/WebKit/Source/core/layout/VisualRectMappingTest.cpp +++ b/third_party/WebKit/Source/core/layout/VisualRectMappingTest.cpp
@@ -4,7 +4,6 @@ #include "core/layout/LayoutTestHelper.h" #include "core/layout/LayoutView.h" -#include "core/layout/PaintInvalidationState.h" #include "core/paint/PaintLayer.h" #include "core/paint/PaintPropertyTreePrinter.h" #include "platform/graphics/paint/GeometryMapper.h"
diff --git a/third_party/WebKit/Source/core/layout/api/LayoutItem.h b/third_party/WebKit/Source/core/layout/api/LayoutItem.h index 9f7b8a5..f0608fba 100644 --- a/third_party/WebKit/Source/core/layout/api/LayoutItem.h +++ b/third_party/WebKit/Source/core/layout/api/LayoutItem.h
@@ -203,10 +203,6 @@ return layout_object_->NeedsOverflowRecalcAfterStyleChange(); } - void DeprecatedInvalidateTree(const PaintInvalidationState& state) { - layout_object_->DeprecatedInvalidateTree(state); - } - CompositingState GetCompositingState() const { return layout_object_->GetCompositingState(); }
diff --git a/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp b/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp index 18bcc6a..f8c35b1 100644 --- a/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp +++ b/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp
@@ -718,7 +718,7 @@ std::unique_ptr<JSONObject> PaintLayerCompositor::LayerTreeAsJSON( LayerTreeFlags flags) const { - DCHECK(Lifecycle().GetState() >= DocumentLifecycle::kPaintInvalidationClean || + DCHECK(Lifecycle().GetState() >= DocumentLifecycle::kPrePaintClean || layout_view_.GetFrameView()->ShouldThrottleRendering()); // We skip dumping the scroll and clip layers to keep layerTreeAsText output
diff --git a/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.cc b/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.cc index d704839..c1792201 100644 --- a/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.cc +++ b/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.cc
@@ -60,9 +60,6 @@ if (!is_horizontal_writing_mode_) baseline_type_ = FontBaseline::kIdeographicBaseline; - - border_and_padding_ = ComputeBorders(ConstraintSpace(), Style()) + - ComputePadding(ConstraintSpace(), Style()); } bool NGInlineLayoutAlgorithm::CreateLine( @@ -410,21 +407,17 @@ } RefPtr<NGLayoutResult> NGInlineLayoutAlgorithm::Layout() { - // If we are resuming from a break token our start border and padding is - // within a previous fragment. - content_size_ = BreakToken() ? LayoutUnit() : border_and_padding_.block_start; + // Line boxes should start at (0,0). + // The parent NGBlockLayoutAlgorithm places the anonymous wrapper using the + // border and padding of the container block. + content_size_ = LayoutUnit(); NGLineBreaker line_breaker(Node(), constraint_space_, &container_builder_, BreakToken()); NGLineInfo line_info; - while (line_breaker.NextLine( - &line_info, {border_and_padding_.inline_start, content_size_})) + while (line_breaker.NextLine(&line_info, {LayoutUnit(), content_size_})) CreateLine(&line_info, line_breaker.CreateBreakToken()); - // TODO(crbug.com/716930): Avoid calculating border/padding twice. - if (!BreakToken()) - content_size_ -= border_and_padding_.block_start; - // TODO(kojii): Check if the line box width should be content or available. NGLogicalSize size(max_inline_size_, content_size_); container_builder_.SetSize(size).SetOverflowSize(size);
diff --git a/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.h b/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.h index 8140944..1c6d622 100644 --- a/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.h +++ b/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm.h
@@ -78,7 +78,6 @@ unsigned is_horizontal_writing_mode_ : 1; NGConstraintSpaceBuilder space_builder_; - NGBoxStrut border_and_padding_; }; } // namespace blink
diff --git a/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm_test.cc b/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm_test.cc index fe38e80..3779d49 100644 --- a/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm_test.cc +++ b/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_layout_algorithm_test.cc
@@ -79,6 +79,45 @@ EXPECT_EQ(0u, wrapper2_break_token->ChildBreakTokens().size()); } +// A block with inline children generates fragment tree as follows: +// - A box fragment created by NGBlockNode +// - A wrapper box fragment created by NGInlineNode +// - Line box fragments. +// This test verifies that borders/paddings are applied to the wrapper box. +TEST_F(NGInlineLayoutAlgorithmTest, ContainerBorderPadding) { + SetBodyInnerHTML(R"HTML( + <!DOCTYPE html> + <style> + html, body { margin: 0; } + div { + padding-left: 5px; + padding-top: 10px; + } + </style> + <div id=container>test</div> + )HTML"); + LayoutNGBlockFlow* block_flow = + ToLayoutNGBlockFlow(GetLayoutObjectByElementId("container")); + NGBlockNode block_node(block_flow); + RefPtr<NGConstraintSpace> space = + NGConstraintSpace::CreateFromLayoutObject(*block_flow); + RefPtr<NGLayoutResult> layout_result = block_node.Layout(space.Get()); + + auto* block_box = + ToNGPhysicalBoxFragment(layout_result->PhysicalFragment().Get()); + EXPECT_TRUE(layout_result->BfcOffset().has_value()); + EXPECT_EQ(0, layout_result->BfcOffset().value().inline_offset); + EXPECT_EQ(0, layout_result->BfcOffset().value().block_offset); + + auto* wrapper = ToNGPhysicalBoxFragment(block_box->Children()[0].Get()); + EXPECT_EQ(5, wrapper->Offset().left); + EXPECT_EQ(10, wrapper->Offset().top); + + auto* line = ToNGPhysicalLineBoxFragment(wrapper->Children()[0].Get()); + EXPECT_EQ(0, line->Offset().left); + EXPECT_EQ(0, line->Offset().top); +} + // The test leaks memory. crbug.com/721932 #if defined(ADDRESS_SANITIZER) #define MAYBE_VerticalAlignBottomReplaced DISABLED_VerticalAlignBottomReplaced
diff --git a/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_node.cc b/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_node.cc index 5fa4b4d2..67957ae 100644 --- a/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_node.cc +++ b/third_party/WebKit/Source/core/layout/ng/inline/ng_inline_node.cc
@@ -25,6 +25,7 @@ #include "core/layout/ng/ng_constraint_space_builder.h" #include "core/layout/ng/ng_fragment_builder.h" #include "core/layout/ng/ng_layout_result.h" +#include "core/layout/ng/ng_length_utils.h" #include "core/layout/ng/ng_physical_box_fragment.h" #include "core/style/ComputedStyle.h" #include "platform/fonts/shaping/HarfBuzzShaper.h" @@ -39,6 +40,11 @@ NGLogicalOffset offset; LayoutUnit inline_size; NGBorderEdges border_edges; + + void operator+=(const NGBoxStrut& strut) { + offset.inline_offset += strut.inline_start; + offset.block_offset += strut.block_start; + } }; // Create BidiRuns from a list of NGPhysicalFragment. @@ -424,6 +430,9 @@ Vector<unsigned, 32> text_offsets(items.size()); GetLayoutTextOffsets(&text_offsets); + NGBoxStrut border_padding = ComputeBorders(constraint_space, Style()) + + ComputePadding(constraint_space, Style()); + FontBaseline baseline_type = IsHorizontalWritingMode(constraint_space.WritingMode()) ? FontBaseline::kAlphabeticBaseline @@ -448,6 +457,16 @@ // TODO(kojii): bidi needs to find the logical last run. bidi_runs.SetLogicallyLastRun(bidi_runs.LastRun()); + // Add border and padding to all positions. + // Line box fragments are relative to this anonymous wrapper box fragment, + // and the parent NGBlockLayoutAlgorithm offsets this wrapper by border and + // padding, but inline boxes should be placed relative to the + // LayoutBlockFlow. + for (auto& position : positions_for_bidi_runs) + position += border_padding; + for (auto& position : positions.Values()) + position += border_padding; + // Create a RootInlineBox from BidiRunList. InlineBoxes created for the // RootInlineBox are set to Bidirun::m_box. line_info.SetEmpty(false); @@ -459,9 +478,10 @@ PlaceInlineBoxChildren(root_line_box, positions_for_bidi_runs, positions); // Copy to RootInlineBox. - root_line_box->SetLogicalLeft(line_box.InlineOffset()); + root_line_box->SetLogicalLeft(line_box.InlineOffset() + + border_padding.inline_start); root_line_box->SetLogicalWidth(line_box.InlineSize()); - LayoutUnit line_top = line_box.BlockOffset(); + LayoutUnit line_top = line_box.BlockOffset() + border_padding.block_start; NGLineHeightMetrics line_metrics(Style(), baseline_type); const NGLineHeightMetrics& max_with_leading = physical_line_box->Metrics(); LayoutUnit baseline = line_top + max_with_leading.ascent;
diff --git a/third_party/WebKit/Source/core/layout/svg/LayoutSVGContainer.cpp b/third_party/WebKit/Source/core/layout/svg/LayoutSVGContainer.cpp index ede7d862..3e7af644 100644 --- a/third_party/WebKit/Source/core/layout/svg/LayoutSVGContainer.cpp +++ b/third_party/WebKit/Source/core/layout/svg/LayoutSVGContainer.cpp
@@ -155,8 +155,7 @@ break; } if (SVGLayoutSupport::WillIsolateBlendingDescendantsForObject(this)) { - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - SetNeedsPaintPropertyUpdate(); + SetNeedsPaintPropertyUpdate(); return; } if (Parent())
diff --git a/third_party/WebKit/Source/core/layout/svg/LayoutSVGInline.cpp b/third_party/WebKit/Source/core/layout/svg/LayoutSVGInline.cpp index cb727c755..ec5354cc 100644 --- a/third_party/WebKit/Source/core/layout/svg/LayoutSVGInline.cpp +++ b/third_party/WebKit/Source/core/layout/svg/LayoutSVGInline.cpp
@@ -149,12 +149,4 @@ LayoutInline::RemoveChild(child); } -void LayoutSVGInline::DeprecatedInvalidateTree( - const PaintInvalidationState& paint_invalidation_state) { - // TODO(wangxianzhu): Verify if the inherited - // LayoutBoxModelObject::invalidateTreeIfNeeded() is applicable here. - // If yes, remove this overriding method. - LayoutObject::DeprecatedInvalidateTree(paint_invalidation_state); -} - } // namespace blink
diff --git a/third_party/WebKit/Source/core/layout/svg/LayoutSVGInline.h b/third_party/WebKit/Source/core/layout/svg/LayoutSVGInline.h index 3aaf3ecb..6796188 100644 --- a/third_party/WebKit/Source/core/layout/svg/LayoutSVGInline.h +++ b/third_party/WebKit/Source/core/layout/svg/LayoutSVGInline.h
@@ -61,8 +61,6 @@ private: InlineFlowBox* CreateInlineFlowBox() final; - void DeprecatedInvalidateTree(const PaintInvalidationState&) final; - void WillBeDestroyed() final; void StyleDidChange(StyleDifference, const ComputedStyle* old_style) final;
diff --git a/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceMarker.cpp b/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceMarker.cpp index 9fe50ce..c9dbfe67 100644 --- a/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceMarker.cpp +++ b/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceMarker.cpp
@@ -136,11 +136,9 @@ void LayoutSVGResourceMarker::SetNeedsTransformUpdate() { SetMayNeedPaintInvalidationSubtree(); - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) { - // The transform paint property relies on the SVG transform being up-to-date - // (see: PaintPropertyTreeBuilder::updateTransformForNonRootSVG). - SetNeedsPaintPropertyUpdate(); - } + // The transform paint property relies on the SVG transform being up-to-date + // (see: PaintPropertyTreeBuilder::updateTransformForNonRootSVG). + SetNeedsPaintPropertyUpdate(); needs_transform_update_ = true; }
diff --git a/third_party/WebKit/Source/core/layout/svg/LayoutSVGRoot.cpp b/third_party/WebKit/Source/core/layout/svg/LayoutSVGRoot.cpp index 2509fd30..ffc1017 100644 --- a/third_party/WebKit/Source/core/layout/svg/LayoutSVGRoot.cpp +++ b/third_party/WebKit/Source/core/layout/svg/LayoutSVGRoot.cpp
@@ -185,8 +185,7 @@ if (transform_change != SVGTransformChange::kNone || viewport_may_have_changed) { SetMayNeedPaintInvalidationSubtree(); - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - SetNeedsPaintPropertyUpdate(); + SetNeedsPaintPropertyUpdate(); } SVGSVGElement* svg = toSVGSVGElement(GetNode()); @@ -313,8 +312,7 @@ has_non_isolated_blending_descendants_dirty_ = true; break; } - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - SetNeedsPaintPropertyUpdate(); + SetNeedsPaintPropertyUpdate(); } void LayoutSVGRoot::InsertedIntoTree() {
diff --git a/third_party/WebKit/Source/core/layout/svg/LayoutSVGText.cpp b/third_party/WebKit/Source/core/layout/svg/LayoutSVGText.cpp index e5c80c34..9d19e43b 100644 --- a/third_party/WebKit/Source/core/layout/svg/LayoutSVGText.cpp +++ b/third_party/WebKit/Source/core/layout/svg/LayoutSVGText.cpp
@@ -409,12 +409,4 @@ LayoutSVGBlock::RemoveChild(child); } -void LayoutSVGText::DeprecatedInvalidateTree( - const PaintInvalidationState& paint_invalidation_state) { - // TODO(wangxianzhu): Verify if the inherited - // LayoutBoxModelObject::invalidateTreeIfNeeded() - // is applicable here. If yes, remove this overriding method. - LayoutObject::DeprecatedInvalidateTree(paint_invalidation_state); -} - } // namespace blink
diff --git a/third_party/WebKit/Source/core/layout/svg/LayoutSVGText.h b/third_party/WebKit/Source/core/layout/svg/LayoutSVGText.h index 6043c52..b958cc7 100644 --- a/third_party/WebKit/Source/core/layout/svg/LayoutSVGText.h +++ b/third_party/WebKit/Source/core/layout/svg/LayoutSVGText.h
@@ -85,8 +85,6 @@ void RemoveChild(LayoutObject*) override; void WillBeDestroyed() override; - void DeprecatedInvalidateTree(const PaintInvalidationState&) override; - RootInlineBox* CreateRootInlineBox() override; void InvalidatePositioningValues(LayoutInvalidationReasonForTracing);
diff --git a/third_party/WebKit/Source/core/layout/svg/LayoutSVGTransformableContainer.cpp b/third_party/WebKit/Source/core/layout/svg/LayoutSVGTransformableContainer.cpp index 66aba48..bbcbc4e 100644 --- a/third_party/WebKit/Source/core/layout/svg/LayoutSVGTransformableContainer.cpp +++ b/third_party/WebKit/Source/core/layout/svg/LayoutSVGTransformableContainer.cpp
@@ -67,11 +67,9 @@ void LayoutSVGTransformableContainer::SetNeedsTransformUpdate() { SetMayNeedPaintInvalidationSubtree(); - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) { - // The transform paint property relies on the SVG transform being up-to-date - // (see: PaintPropertyTreeBuilder::updateTransformForNonRootSVG). - SetNeedsPaintPropertyUpdate(); - } + // The transform paint property relies on the SVG transform being up-to-date + // (see: PaintPropertyTreeBuilder::updateTransformForNonRootSVG). + SetNeedsPaintPropertyUpdate(); needs_transform_update_ = true; }
diff --git a/third_party/WebKit/Source/core/layout/svg/LayoutSVGViewportContainer.cpp b/third_party/WebKit/Source/core/layout/svg/LayoutSVGViewportContainer.cpp index f8c7da25..626ba86 100644 --- a/third_party/WebKit/Source/core/layout/svg/LayoutSVGViewportContainer.cpp +++ b/third_party/WebKit/Source/core/layout/svg/LayoutSVGViewportContainer.cpp
@@ -58,11 +58,9 @@ void LayoutSVGViewportContainer::SetNeedsTransformUpdate() { SetMayNeedPaintInvalidationSubtree(); - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) { - // The transform paint property relies on the SVG transform being up-to-date - // (see: PaintPropertyTreeBuilder::updateTransformForNonRootSVG). - SetNeedsPaintPropertyUpdate(); - } + // The transform paint property relies on the SVG transform being up-to-date + // (see: PaintPropertyTreeBuilder::updateTransformForNonRootSVG). + SetNeedsPaintPropertyUpdate(); needs_transform_update_ = true; }
diff --git a/third_party/WebKit/Source/core/page/ChromeClient.h b/third_party/WebKit/Source/core/page/ChromeClient.h index 42b0028..ecfe6bab5 100644 --- a/third_party/WebKit/Source/core/page/ChromeClient.h +++ b/third_party/WebKit/Source/core/page/ChromeClient.h
@@ -282,6 +282,8 @@ virtual void ClosePagePopup(PagePopup*) = 0; virtual DOMWindow* PagePopupWindowForTesting() const = 0; + virtual void SetBrowserControlsState(float height, bool shrinks_layout){}; + virtual String AcceptLanguages() = 0; enum DialogType {
diff --git a/third_party/WebKit/Source/core/page/scrolling/TopDocumentRootScrollerController.cpp b/third_party/WebKit/Source/core/page/scrolling/TopDocumentRootScrollerController.cpp index ed0ab26..ec28025 100644 --- a/third_party/WebKit/Source/core/page/scrolling/TopDocumentRootScrollerController.cpp +++ b/third_party/WebKit/Source/core/page/scrolling/TopDocumentRootScrollerController.cpp
@@ -49,10 +49,8 @@ // paint so we need to do that manually here. GlobalRootScroller()->SetNeedsCompositingUpdate(); - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) { - if (GlobalRootScroller()->GetLayoutObject()) - GlobalRootScroller()->GetLayoutObject()->SetNeedsPaintPropertyUpdate(); - } + if (GlobalRootScroller()->GetLayoutObject()) + GlobalRootScroller()->GetLayoutObject()->SetNeedsPaintPropertyUpdate(); } ScrollableArea* TopDocumentRootScrollerController::RootScrollerArea() const {
diff --git a/third_party/WebKit/Source/core/paint/BackgroundImageGeometry.cpp b/third_party/WebKit/Source/core/paint/BackgroundImageGeometry.cpp index e8be1a6a..5b7a70d 100644 --- a/third_party/WebKit/Source/core/paint/BackgroundImageGeometry.cpp +++ b/third_party/WebKit/Source/core/paint/BackgroundImageGeometry.cpp
@@ -411,121 +411,118 @@ return LayoutSize(width, column_height); } -void BackgroundImageGeometry::Calculate( - const LayoutBoxModelObject& obj, - const LayoutObject* background_object, - const LayoutBoxModelObject* paint_container, - const GlobalPaintFlags global_paint_flags, - const FillLayer& fill_layer, - const LayoutRect& paint_rect) { - LayoutUnit left; - LayoutUnit top; - LayoutRect positioning_area; - bool is_layout_view = obj.IsLayoutView(); - const LayoutBox* root_box = nullptr; - if (is_layout_view) { - // It is only possible reach here when root element has a box. - Element* document_element = obj.GetDocument().documentElement(); - DCHECK(document_element); - DCHECK(document_element->GetLayoutObject()); - DCHECK(document_element->GetLayoutObject()->IsBox()); - root_box = ToLayoutBox(document_element->GetLayoutObject()); - } +namespace { - bool cell_using_container_background = obj.IsTableCell() && - background_object && - !background_object->IsTableCell(); - const LayoutBoxModelObject& positioning_box = - is_layout_view ? *root_box - : cell_using_container_background - ? ToLayoutBoxModelObject(*background_object) - : obj; - LayoutPoint offset_in_background = - cell_using_container_background - ? GetOffsetForCell(ToLayoutTableCell(obj), - ToLayoutBox(positioning_box)) - : LayoutPoint(); - // Determine the background positioning area and set destRect to the - // background painting area. destRect will be adjusted later if the - // background is non-repeating. - // FIXME: transforms spec says that fixed backgrounds behave like scroll - // inside transforms. - bool fixed_attachment = fill_layer.Attachment() == kFixedBackgroundAttachment; - +bool ShouldUseFixedAttachment(const FillLayer& fill_layer) { if (RuntimeEnabledFeatures::FastMobileScrollingEnabled()) { // As a side effect of an optimization to blit on scroll, we do not honor // the CSS property "background-attachment: fixed" because it may result in // rendering artifacts. Note, these artifacts only appear if we are blitting // on scroll of a page that has fixed background images. - fixed_attachment = false; + return false; + } + return fill_layer.Attachment() == kFixedBackgroundAttachment; +} + +LayoutRect FixedAttachmentPositioningArea(const LayoutBoxModelObject& obj, + const LayoutBoxModelObject* container, + const GlobalPaintFlags flags) { + LayoutRect rect = obj.ViewRect(); + if (FixedBackgroundPaintsInLocalCoordinates(obj, flags)) { + rect.SetLocation(LayoutPoint()); + } else { + if (LocalFrameView* frame_view = obj.View()->GetFrameView()) + rect.SetLocation(IntPoint(frame_view->ScrollOffsetInt())); + // Compensate the translations created by ScrollRecorders. + // TODO(trchen): Fix this for SP phase 2. crbug.com/529963. + rect.MoveBy(AccumulatedScrollOffsetForFixedBackground(obj, container)); } - if (!fixed_attachment) { + if (container) + rect.MoveBy(LayoutPoint(-container->LocalToAbsolute(FloatPoint()))); + + return rect; +} + +} // Anonymous namespace + +BackgroundImageGeometry::BackgroundImageGeometry(const LayoutView& view) + : box_(view), + positioning_box_(view.RootBox()), + has_non_local_geometry_(false), + cell_using_container_background_(false) { + // The background of the box generated by the root element covers the + // entire canvas and will be painted by the view object, but the we should + // still use the root element box for positioning. + positioning_size_override_ = view.RootBox().Size(); + + // The input paint rect is specified in root element local coordinate + // (i.e. a transform is applied on the context for painting), and is + // expanded to cover the whole canvas. Since left/top is relative to the + // paint rect, we need to offset them back. + coordinate_offset_by_paint_rect_ = true; +} + +BackgroundImageGeometry::BackgroundImageGeometry( + const LayoutBoxModelObject& obj) + : box_(obj), + positioning_box_(obj), + has_non_local_geometry_(false), + coordinate_offset_by_paint_rect_(false), + cell_using_container_background_(false) { + // Specialized constructor should be used for LayoutView. + DCHECK(!obj.IsLayoutView()); +} + +BackgroundImageGeometry::BackgroundImageGeometry( + const LayoutTableCell& cell, + const LayoutObject* background_object) + : box_(cell), + positioning_box_(background_object && !background_object->IsTableCell() + ? ToLayoutBoxModelObject(*background_object) + : cell), + has_non_local_geometry_(false), + coordinate_offset_by_paint_rect_(false) { + cell_using_container_background_ = + background_object && !background_object->IsTableCell(); + if (cell_using_container_background_) { + offset_in_background_ = + GetOffsetForCell(cell, ToLayoutBox(*background_object)); + positioning_size_override_ = + GetBackgroundObjectDimensions(cell, ToLayoutBox(*background_object)); + } +} + +void BackgroundImageGeometry::Calculate(const LayoutBoxModelObject* container, + const GlobalPaintFlags flags, + const FillLayer& fill_layer, + const LayoutRect& paint_rect) { + LayoutRect positioning_area; + LayoutRectOutsets box_outset; + if (!ShouldUseFixedAttachment(fill_layer)) { + if (coordinate_offset_by_paint_rect_ || cell_using_container_background_) + positioning_area.SetSize(positioning_size_override_); + else + positioning_area = paint_rect; + if (fill_layer.Origin() != kBorderFillBox) { + box_outset = positioning_box_.BorderBoxOutsets(); + if (fill_layer.Origin() == kContentFillBox) + box_outset += positioning_box_.PaddingOutsets(); + } + positioning_area.Contract(box_outset); SetDestRect(paint_rect); - LayoutUnit right; - LayoutUnit bottom; - // Scroll and Local. - if (fill_layer.Origin() != kBorderFillBox) { - left = LayoutUnit(positioning_box.BorderLeft()); - right = LayoutUnit(positioning_box.BorderRight()); - top = LayoutUnit(positioning_box.BorderTop()); - bottom = LayoutUnit(positioning_box.BorderBottom()); - if (fill_layer.Origin() == kContentFillBox) { - left += positioning_box.PaddingLeft(); - right += positioning_box.PaddingRight(); - top += positioning_box.PaddingTop(); - bottom += positioning_box.PaddingBottom(); - } - } - - if (is_layout_view) { - // The background of the box generated by the root element covers the - // entire canvas and will be painted by the view object, but the we should - // still use the root element box for positioning. - positioning_area.SetSize(root_box->Size()); - positioning_area.ContractEdges(top, right, bottom, left); - - // The input paint rect is specified in root element local coordinate - // (i.e. a transform is applied on the context for painting), and is - // expanded to cover the whole canvas. Since left/top is relative to the - // paint rect, we need to offset them back. - left -= paint_rect.X(); - top -= paint_rect.Y(); - } else { - if (cell_using_container_background) { - positioning_area.SetSize(GetBackgroundObjectDimensions( - ToLayoutTableCell(obj), ToLayoutBox(positioning_box))); - } else { - positioning_area = paint_rect; - } - - positioning_area.ContractEdges(top, right, bottom, left); + if (coordinate_offset_by_paint_rect_) { + box_outset.SetLeft(box_outset.Left() - paint_rect.Location().X()); + box_outset.SetTop(box_outset.Top() - paint_rect.Location().Y()); } } else { SetHasNonLocalGeometry(); - - LayoutRect viewport_rect = obj.ViewRect(); - if (FixedBackgroundPaintsInLocalCoordinates(obj, global_paint_flags)) { - viewport_rect.SetLocation(LayoutPoint()); - } else { - if (LocalFrameView* frame_view = obj.View()->GetFrameView()) - viewport_rect.SetLocation(IntPoint(frame_view->ScrollOffsetInt())); - // Compensate the translations created by ScrollRecorders. - // TODO(trchen): Fix this for SP phase 2. crbug.com/529963. - viewport_rect.MoveBy( - AccumulatedScrollOffsetForFixedBackground(obj, paint_container)); - } - - if (paint_container) - viewport_rect.MoveBy( - LayoutPoint(-paint_container->LocalToAbsolute(FloatPoint()))); - - SetDestRect(viewport_rect); - positioning_area = viewport_rect; + positioning_area = FixedAttachmentPositioningArea(box_, container, flags); + SetDestRect(positioning_area); } - LayoutSize fill_tile_size(CalculateFillTileSize(positioning_box, fill_layer, + LayoutSize fill_tile_size(CalculateFillTileSize(positioning_box_, fill_layer, positioning_area.Size())); // It's necessary to apply the heuristic here prior to any further // calculations to avoid incorrectly using sub-pixel values that won't be @@ -549,7 +546,7 @@ LayoutUnit computed_x_position = RoundedMinimumValueForLength(fill_layer.XPosition(), available_width) - - offset_in_background.X(); + offset_in_background_.X(); if (background_repeat_x == kRoundFill && positioning_area_size.Width() > LayoutUnit() && fill_tile_size.Width() > LayoutUnit()) { @@ -567,17 +564,18 @@ SetTileSize( ApplySubPixelHeuristicToImageSize(fill_tile_size, positioning_area)); - SetPhaseX(TileSize().Width() - ? LayoutUnit(roundf(TileSize().Width() - - fmodf((computed_x_position + left), - TileSize().Width()))) - : LayoutUnit()); + SetPhaseX( + TileSize().Width() + ? LayoutUnit(roundf(TileSize().Width() - + fmodf((computed_x_position + box_outset.Left()), + TileSize().Width()))) + : LayoutUnit()); SetSpaceSize(LayoutSize()); } LayoutUnit computed_y_position = RoundedMinimumValueForLength(fill_layer.YPosition(), available_height) - - offset_in_background.Y(); + offset_in_background_.Y(); if (background_repeat_y == kRoundFill && positioning_area_size.Height() > LayoutUnit() && fill_tile_size.Height() > LayoutUnit()) { @@ -594,23 +592,25 @@ SetTileSize( ApplySubPixelHeuristicToImageSize(fill_tile_size, positioning_area)); - SetPhaseY(TileSize().Height() - ? LayoutUnit(roundf(TileSize().Height() - - fmodf((computed_y_position + top), - TileSize().Height()))) - : LayoutUnit()); + SetPhaseY( + TileSize().Height() + ? LayoutUnit(roundf(TileSize().Height() - + fmodf((computed_y_position + box_outset.Top()), + TileSize().Height()))) + : LayoutUnit()); SetSpaceSize(LayoutSize()); } if (background_repeat_x == kRepeatFill) { SetRepeatX(fill_layer, fill_tile_size.Width(), available_width, - unsnapped_available_width, left, offset_in_background.X()); + unsnapped_available_width, box_outset.Left(), + offset_in_background_.X()); } else if (background_repeat_x == kSpaceFill && TileSize().Width() > LayoutUnit()) { LayoutUnit space = GetSpaceBetweenImageTiles(positioning_area_size.Width(), TileSize().Width()); if (space >= LayoutUnit()) - SetSpaceX(space, available_width, left); + SetSpaceX(space, available_width, box_outset.Left()); else background_repeat_x = kNoRepeatFill; } @@ -618,20 +618,21 @@ LayoutUnit x_offset = fill_layer.BackgroundXOrigin() == kRightEdge ? available_width - computed_x_position : computed_x_position; - SetNoRepeatX(left + x_offset); - if (offset_in_background.X() > TileSize().Width()) + SetNoRepeatX(box_outset.Left() + x_offset); + if (offset_in_background_.X() > TileSize().Width()) SetDestRect(LayoutRect()); } if (background_repeat_y == kRepeatFill) { SetRepeatY(fill_layer, fill_tile_size.Height(), available_height, - unsnapped_available_height, top, offset_in_background.Y()); + unsnapped_available_height, box_outset.Top(), + offset_in_background_.Y()); } else if (background_repeat_y == kSpaceFill && TileSize().Height() > LayoutUnit()) { LayoutUnit space = GetSpaceBetweenImageTiles(positioning_area_size.Height(), TileSize().Height()); if (space >= LayoutUnit()) - SetSpaceY(space, available_height, top); + SetSpaceY(space, available_height, box_outset.Top()); else background_repeat_y = kNoRepeatFill; } @@ -639,12 +640,12 @@ LayoutUnit y_offset = fill_layer.BackgroundYOrigin() == kBottomEdge ? available_height - computed_y_position : computed_y_position; - SetNoRepeatY(top + y_offset); - if (offset_in_background.Y() > TileSize().Height()) + SetNoRepeatY(box_outset.Top() + y_offset); + if (offset_in_background_.Y() > TileSize().Height()) SetDestRect(LayoutRect()); } - if (fixed_attachment) + if (ShouldUseFixedAttachment(fill_layer)) UseFixedAttachment(paint_rect.Location()); // Clip the final output rect to the paint rect @@ -654,4 +655,16 @@ SetDestRect(LayoutRect(PixelSnappedIntRect(dest_rect_))); } +const ImageResourceObserver& BackgroundImageGeometry::ImageClient() const { + return box_; +} + +const Document& BackgroundImageGeometry::ImageDocument() const { + return box_.GetDocument(); +} + +const ComputedStyle& BackgroundImageGeometry::ImageStyle() const { + return box_.StyleRef(); +} + } // namespace blink
diff --git a/third_party/WebKit/Source/core/paint/BackgroundImageGeometry.h b/third_party/WebKit/Source/core/paint/BackgroundImageGeometry.h index 26774c7..967ec87 100644 --- a/third_party/WebKit/Source/core/paint/BackgroundImageGeometry.h +++ b/third_party/WebKit/Source/core/paint/BackgroundImageGeometry.h
@@ -19,16 +19,27 @@ class LayoutObject; class LayoutRect; class LayoutTableCell; +class LayoutView; +class Document; +class ComputedStyle; +class ImageResourceObserver; class BackgroundImageGeometry { DISALLOW_NEW_EXCEPT_PLACEMENT_NEW(); public: - BackgroundImageGeometry() : has_non_local_geometry_(false) {} + // Constructor for LayoutView where the coordinate space is different. + BackgroundImageGeometry(const LayoutView&); - void Calculate(const LayoutBoxModelObject&, - const LayoutObject* background_object, - const LayoutBoxModelObject* paint_container, + // Constructor for table cells where background_object may be the row or + // column the background image is attached to. + BackgroundImageGeometry(const LayoutTableCell&, + const LayoutObject* background_object); + + // Generic constructor for all other elements. + BackgroundImageGeometry(const LayoutBoxModelObject&); + + void Calculate(const LayoutBoxModelObject* container, const GlobalPaintFlags, const FillLayer&, const LayoutRect& paint_rect); @@ -53,6 +64,15 @@ // Has background-attachment: fixed. Implies that we can't always cheaply // compute destRect. bool HasNonLocalGeometry() const { return has_non_local_geometry_; } + // Whether the background needs to be positioned relative to a container + // element. Only used for tables. + bool CellUsingContainerBackground() const { + return cell_using_container_background_; + } + + const ImageResourceObserver& ImageClient() const; + const Document& ImageDocument() const; + const ComputedStyle& ImageStyle() const; private: void SetDestRect(const LayoutRect& dest_rect) { dest_rect_ = dest_rect; } @@ -87,12 +107,19 @@ LayoutSize GetBackgroundObjectDimensions(const LayoutTableCell&, const LayoutBox&); + const LayoutBoxModelObject& box_; + const LayoutBoxModelObject& positioning_box_; + LayoutSize positioning_size_override_; + LayoutPoint offset_in_background_; + // TODO(schenney): Convert these to IntPoints for values that we snap LayoutRect dest_rect_; LayoutPoint phase_; LayoutSize tile_size_; LayoutSize repeat_spacing_; bool has_non_local_geometry_; + bool coordinate_offset_by_paint_rect_; + bool cell_using_container_background_; }; } // namespace blink
diff --git a/third_party/WebKit/Source/core/paint/BoxPaintInvalidatorTest.cpp b/third_party/WebKit/Source/core/paint/BoxPaintInvalidatorTest.cpp index 2e1c804..823fd72a 100644 --- a/third_party/WebKit/Source/core/paint/BoxPaintInvalidatorTest.cpp +++ b/third_party/WebKit/Source/core/paint/BoxPaintInvalidatorTest.cpp
@@ -8,6 +8,7 @@ #include "core/frame/LocalFrameView.h" #include "core/layout/LayoutTestHelper.h" #include "core/layout/LayoutView.h" +#include "core/paint/PaintInvalidator.h" #include "core/paint/PaintLayer.h" #include "platform/graphics/GraphicsLayer.h" #include "platform/graphics/paint/RasterInvalidationTracking.h" @@ -292,9 +293,6 @@ } TEST_P(BoxPaintInvalidatorTest, SubpixelVisualRectChagne) { - ScopedSlimmingPaintInvalidationForTest scoped_slimming_paint_invalidation( - true); - Element* target = GetDocument().getElementById("target"); GetDocument().View()->SetTracksPaintInvalidations(true); @@ -326,9 +324,6 @@ } TEST_P(BoxPaintInvalidatorTest, SubpixelVisualRectChangeWithTransform) { - ScopedSlimmingPaintInvalidationForTest scoped_slimming_paint_invalidation( - true); - Element* target = GetDocument().getElementById("target"); target->setAttribute(HTMLNames::classAttr, "border transform"); GetDocument().View()->UpdateAllLifecyclePhases(); @@ -362,9 +357,6 @@ } TEST_P(BoxPaintInvalidatorTest, SubpixelWithinPixelsChange) { - ScopedSlimmingPaintInvalidationForTest scoped_slimming_paint_invalidation( - true); - Element* target = GetDocument().getElementById("target"); LayoutObject* target_object = target->GetLayoutObject(); EXPECT_EQ(LayoutRect(0, 0, 70, 140), target_object->VisualRect()); @@ -403,9 +395,6 @@ } TEST_P(BoxPaintInvalidatorTest, ResizeRotated) { - ScopedSlimmingPaintInvalidationForTest scoped_slimming_paint_invalidation( - true); - Element* target = GetDocument().getElementById("target"); target->setAttribute(HTMLNames::styleAttr, "transform: rotate(45deg)"); GetDocument().View()->UpdateAllLifecyclePhases(); @@ -425,9 +414,6 @@ } TEST_P(BoxPaintInvalidatorTest, ResizeRotatedChild) { - ScopedSlimmingPaintInvalidationForTest scoped_slimming_paint_invalidation( - true); - Element* target = GetDocument().getElementById("target"); target->setAttribute(HTMLNames::styleAttr, "transform: rotate(45deg); width: 200px");
diff --git a/third_party/WebKit/Source/core/paint/BoxPainter.cpp b/third_party/WebKit/Source/core/paint/BoxPainter.cpp index 99267dd..53010898 100644 --- a/third_party/WebKit/Source/core/paint/BoxPainter.cpp +++ b/third_party/WebKit/Source/core/paint/BoxPainter.cpp
@@ -210,8 +210,9 @@ return; if (layout_box_.BackgroundIsKnownToBeObscured()) return; + BackgroundImageGeometry geometry(layout_box_); PaintFillLayers(paint_info, background_color, - layout_box_.Style()->BackgroundLayers(), paint_rect, + layout_box_.Style()->BackgroundLayers(), paint_rect, geometry, bleed_avoidance); } @@ -219,9 +220,9 @@ const Color& c, const FillLayer& fill_layer, const LayoutRect& rect, + BackgroundImageGeometry& geometry, BackgroundBleedAvoidance bleed_avoidance, - SkBlendMode op, - const LayoutObject* background_object) { + SkBlendMode op) { FillLayerOcclusionOutputList reversed_paint_list; bool should_draw_background_in_separate_buffer = CalculateFillLayerOcclusionCulling(reversed_paint_list, fill_layer, @@ -231,16 +232,15 @@ // TODO(trchen): We can optimize out isolation group if we have a // non-transparent background color and the bottom layer encloses all other // layers. - GraphicsContext& context = paint_info.context; - if (should_draw_background_in_separate_buffer) context.BeginLayer(); for (auto it = reversed_paint_list.rbegin(); it != reversed_paint_list.rend(); - ++it) - PaintFillLayer(layout_box_, paint_info, c, **it, rect, bleed_avoidance, 0, - LayoutSize(), op, background_object); + ++it) { + PaintFillLayer(layout_box_, paint_info, c, **it, rect, bleed_avoidance, + geometry, 0, LayoutSize(), op); + } if (should_draw_background_in_separate_buffer) context.EndLayer(); @@ -248,10 +248,7 @@ namespace { -// RAII image paint helper. class ImagePaintContext { - STACK_ALLOCATED(); - public: ImagePaintContext(const ImageResourceObserver& image_client, const Document& document, @@ -305,19 +302,15 @@ inline bool PaintFastBottomLayer(const LayoutBoxModelObject& obj, const PaintInfo& paint_info, const BoxPainterBase::FillLayerInfo& info, - const FillLayer& layer, const LayoutRect& rect, BackgroundBleedAvoidance bleed_avoidance, - bool has_line_box_sibling, const LayoutSize& box_size, SkBlendMode op, - const LayoutObject* background_object, - double frame_time, - const Settings* settings, - Optional<BackgroundImageGeometry>& geometry) { + BackgroundImageGeometry& geometry, + Optional<ImagePaintContext>& image_context, + bool has_line_box_sibling) { // Painting a background image from an ancestor onto a cell is a complex case. - if (obj.IsTableCell() && background_object && - !background_object->IsTableCell()) + if (geometry.CellUsingContainerBackground()) return false; // Complex cases not handled on the fast path. if (!info.is_bottom_layer || !info.is_border_fill || @@ -336,21 +329,16 @@ if (info.is_rounded_fill && paint_info.IsPrinting()) return false; - DCHECK(!geometry); - geometry.emplace(); - geometry->Calculate(obj, background_object, paint_info.PaintContainer(), - paint_info.GetGlobalPaintFlags(), layer, rect); - - if (!geometry->DestRect().IsEmpty()) { + if (!geometry.DestRect().IsEmpty()) { // The tile is too small. - if (geometry->TileSize().Width() < rect.Width() || - geometry->TileSize().Height() < rect.Height()) + if (geometry.TileSize().Width() < rect.Width() || + geometry.TileSize().Height() < rect.Height()) return false; image_tile = Image::ComputeTileContaining( - FloatPoint(geometry->DestRect().Location()), - FloatSize(geometry->TileSize()), FloatPoint(geometry->Phase()), - FloatSize(geometry->SpaceSize())); + FloatPoint(geometry.DestRect().Location()), + FloatSize(geometry.TileSize()), FloatPoint(geometry.Phase()), + FloatSize(geometry.SpaceSize())); // The tile is misaligned. if (!image_tile.Contains(FloatRect(rect))) @@ -386,26 +374,20 @@ if (!info.should_paint_image || image_tile.IsEmpty()) return true; - const LayoutObject& image_client = - background_object ? *background_object : obj; - const ImagePaintContext image_context( - image_client, image_client.GetDocument(), image_client.StyleRef(), - context, layer, *info.image, op, geometry->TileSize(), frame_time, - settings); - if (!image_context.GetImage()) + if (!image_context || !image_context->GetImage()) return true; const FloatSize intrinsic_tile_size = - image_context.GetImage()->HasRelativeSize() + image_context->GetImage()->HasRelativeSize() ? image_tile.Size() - : FloatSize(image_context.GetImage()->Size()); + : FloatSize(image_context->GetImage()->Size()); const FloatRect src_rect = Image::ComputeSubsetForTile( image_tile, border.Rect(), intrinsic_tile_size); TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("devtools.timeline"), "PaintImage", "data", InspectorPaintImageEvent::Data(obj, *info.image)); - context.DrawImageRRect(image_context.GetImage(), border, src_rect, - image_context.CompositeOp()); + context.DrawImageRRect(image_context->GetImage(), border, src_rect, + image_context->CompositeOp()); return true; } @@ -418,10 +400,10 @@ const FillLayer& bg_layer, const LayoutRect& rect, BackgroundBleedAvoidance bleed_avoidance, + BackgroundImageGeometry& geometry, const InlineFlowBox* box, const LayoutSize& box_size, - SkBlendMode op, - const LayoutObject* background_object) { + SkBlendMode op) { GraphicsContext& context = paint_info.context; if (rect.IsEmpty()) return; @@ -431,27 +413,11 @@ bleed_avoidance, (box ? box->IncludeLogicalLeftEdge() : true), (box ? box->IncludeLogicalRightEdge() : true)); - Optional<BackgroundImageGeometry> geometry; bool has_line_box_sibling = box && (box->NextLineBox() || box->PrevLineBox()); const Page* page = obj.GetDocument().GetPage(); double frame_time = page->GetChromeClient().LastFrameTimeMonotonic(); const Settings* settings = obj.GetDocument().GetSettings(); - // Fast path for drawing simple color backgrounds. - if (PaintFastBottomLayer(obj, paint_info, info, bg_layer, rect, - bleed_avoidance, has_line_box_sibling, box_size, op, - background_object, frame_time, settings, geometry)) { - return; - } - - Optional<RoundedInnerRectClipper> clip_to_border; - if (info.is_rounded_fill) { - FloatRoundedRect border = RoundedBorderRectForClip( - obj.StyleRef(), info, bg_layer, rect, bleed_avoidance, - has_line_box_sibling, box_size, obj.BorderPaddingInsets()); - clip_to_border.emplace(obj, paint_info, rect, border, kApplyToContext); - } - LayoutRectOutsets border( obj.BorderTop(), info.include_right_edge ? obj.BorderRight() : LayoutUnit(), @@ -480,6 +446,31 @@ this_box.BorderBottom()); } + Optional<ImagePaintContext> image_context; + if (info.should_paint_image) { + geometry.Calculate(paint_info.PaintContainer(), + paint_info.GetGlobalPaintFlags(), bg_layer, + scrolled_paint_rect); + image_context.emplace(geometry.ImageClient(), geometry.ImageDocument(), + geometry.ImageStyle(), context, bg_layer, *info.image, + op, geometry.TileSize(), frame_time, settings); + } + + // Fast path for drawing simple color backgrounds. + if (PaintFastBottomLayer(obj, paint_info, info, rect, bleed_avoidance, + box_size, op, geometry, image_context, + has_line_box_sibling)) { + return; + } + + Optional<RoundedInnerRectClipper> clip_to_border; + if (info.is_rounded_fill) { + FloatRoundedRect border = RoundedBorderRectForClip( + obj.StyleRef(), info, bg_layer, rect, bleed_avoidance, + has_line_box_sibling, box_size, obj.BorderPaddingInsets()); + clip_to_border.emplace(obj, paint_info, rect, border, kApplyToContext); + } + GraphicsContextStateSaver background_clip_state_saver(context, false); IntRect mask_rect; @@ -538,32 +529,13 @@ } // no progressive loading of the background image - if (info.should_paint_image) { - if (!geometry) { - geometry.emplace(); - geometry->Calculate(obj, background_object, paint_info.PaintContainer(), - paint_info.GetGlobalPaintFlags(), bg_layer, - scrolled_paint_rect); - } else { - // The geometry was calculated in paintFastBottomLayer(). - DCHECK(info.is_bottom_layer && info.is_border_fill && - !info.is_clipped_with_local_scrolling); - } - - if (!geometry->DestRect().IsEmpty()) { - const LayoutObject& image_client = - background_object ? *background_object : obj; - const ImagePaintContext image_context( - image_client, image_client.GetDocument(), image_client.StyleRef(), - context, bg_layer, *info.image, op, geometry->TileSize(), frame_time, - settings); - TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("devtools.timeline"), "PaintImage", - "data", InspectorPaintImageEvent::Data(obj, *info.image)); - context.DrawTiledImage( - image_context.GetImage(), FloatRect(geometry->DestRect()), - FloatPoint(geometry->Phase()), FloatSize(geometry->TileSize()), - image_context.CompositeOp(), FloatSize(geometry->SpaceSize())); - } + if (info.should_paint_image && !geometry.DestRect().IsEmpty()) { + TRACE_EVENT1(TRACE_DISABLED_BY_DEFAULT("devtools.timeline"), "PaintImage", + "data", InspectorPaintImageEvent::Data(obj, *info.image)); + context.DrawTiledImage( + image_context->GetImage(), FloatRect(geometry.DestRect()), + FloatPoint(geometry.Phase()), FloatSize(geometry.TileSize()), + image_context->CompositeOp(), FloatSize(geometry.SpaceSize())); } if (bg_layer.Clip() == kTextFillBox) { @@ -641,8 +613,9 @@ } if (all_mask_images_loaded) { + BackgroundImageGeometry geometry(layout_box_); PaintFillLayers(paint_info, Color::kTransparent, - layout_box_.Style()->MaskLayers(), paint_rect); + layout_box_.Style()->MaskLayers(), paint_rect, geometry); NinePieceImagePainter::Paint(paint_info.context, layout_box_, layout_box_.GetDocument(), GetNode(), paint_rect, layout_box_.StyleRef(),
diff --git a/third_party/WebKit/Source/core/paint/BoxPainter.h b/third_party/WebKit/Source/core/paint/BoxPainter.h index 4f118d5..eb82e04 100644 --- a/third_party/WebKit/Source/core/paint/BoxPainter.h +++ b/third_party/WebKit/Source/core/paint/BoxPainter.h
@@ -20,8 +20,8 @@ class LayoutRect; struct PaintInfo; class LayoutBox; -class LayoutObject; class LayoutBoxModelObject; +class BackgroundImageGeometry; class BoxPainter : public BoxPainterBase { STACK_ALLOCATED(); @@ -39,9 +39,9 @@ const Color&, const FillLayer&, const LayoutRect&, + BackgroundImageGeometry&, BackgroundBleedAvoidance = kBackgroundBleedNone, - SkBlendMode = SkBlendMode::kSrcOver, - const LayoutObject* background_object = nullptr); + SkBlendMode = SkBlendMode::kSrcOver); void PaintMaskImages(const PaintInfo&, const LayoutRect&); void PaintBoxDecorationBackgroundWithRect(const PaintInfo&, const LayoutPoint&, @@ -52,10 +52,10 @@ const FillLayer&, const LayoutRect&, BackgroundBleedAvoidance, + BackgroundImageGeometry&, const InlineFlowBox* = nullptr, const LayoutSize& = LayoutSize(), - SkBlendMode = SkBlendMode::kSrcOver, - const LayoutObject* background_object = nullptr); + SkBlendMode = SkBlendMode::kSrcOver); LayoutRect BoundsForDrawingRecorder(const PaintInfo&, const LayoutPoint& adjusted_paint_offset);
diff --git a/third_party/WebKit/Source/core/paint/FieldsetPainter.cpp b/third_party/WebKit/Source/core/paint/FieldsetPainter.cpp index 35d8a64d..cc07807 100644 --- a/third_party/WebKit/Source/core/paint/FieldsetPainter.cpp +++ b/third_party/WebKit/Source/core/paint/FieldsetPainter.cpp
@@ -5,6 +5,7 @@ #include "core/paint/FieldsetPainter.h" #include "core/layout/LayoutFieldset.h" +#include "core/paint/BackgroundImageGeometry.h" #include "core/paint/BoxDecorationData.h" #include "core/paint/BoxPainter.h" #include "core/paint/LayoutObjectDrawingRecorder.h" @@ -51,10 +52,11 @@ BoxPainter::PaintNormalBoxShadow(paint_info, paint_rect, layout_fieldset_.StyleRef()); + BackgroundImageGeometry geometry(layout_fieldset_); BoxPainter(layout_fieldset_) .PaintFillLayers(paint_info, box_decoration_data.background_color, - layout_fieldset_.Style()->BackgroundLayers(), - paint_rect); + layout_fieldset_.Style()->BackgroundLayers(), paint_rect, + geometry); BoxPainter::PaintInsetBoxShadow(paint_info, paint_rect, layout_fieldset_.StyleRef());
diff --git a/third_party/WebKit/Source/core/paint/FindPaintOffsetAndVisualRectNeedingUpdate.h b/third_party/WebKit/Source/core/paint/FindPaintOffsetAndVisualRectNeedingUpdate.h index f8b1537..7cacf30 100644 --- a/third_party/WebKit/Source/core/paint/FindPaintOffsetAndVisualRectNeedingUpdate.h +++ b/third_party/WebKit/Source/core/paint/FindPaintOffsetAndVisualRectNeedingUpdate.h
@@ -68,8 +68,7 @@ old_visual_rect_(old_visual_rect), needed_visual_rect_update_(context.NeedsVisualRectUpdate(object)) { if (needed_visual_rect_update_) { - DCHECK(!RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled() || - is_actually_needed); + DCHECK(is_actually_needed); return; } context.force_visual_rect_update_for_checking_ = true;
diff --git a/third_party/WebKit/Source/core/paint/FragmentData.h b/third_party/WebKit/Source/core/paint/FragmentData.h index 0ac7bfb..2fc4df1 100644 --- a/third_party/WebKit/Source/core/paint/FragmentData.h +++ b/third_party/WebKit/Source/core/paint/FragmentData.h
@@ -30,7 +30,6 @@ void ClearPaintProperties(); ClipRects* PreviousClipRects() const { - DCHECK(RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()); return previous_clip_rects_.Get(); } void SetPreviousClipRects(ClipRects& clip_rects) {
diff --git a/third_party/WebKit/Source/core/paint/InlineFlowBoxPainter.cpp b/third_party/WebKit/Source/core/paint/InlineFlowBoxPainter.cpp index ee8d417..8c3e80bda 100644 --- a/third_party/WebKit/Source/core/paint/InlineFlowBoxPainter.cpp +++ b/third_party/WebKit/Source/core/paint/InlineFlowBoxPainter.cpp
@@ -6,6 +6,7 @@ #include "core/layout/api/LineLayoutAPIShim.h" #include "core/layout/line/RootInlineBox.h" +#include "core/paint/BackgroundImageGeometry.h" #include "core/paint/BoxPainter.h" #include "core/paint/NinePieceImagePainter.h" #include "core/paint/PaintInfo.h" @@ -77,6 +78,7 @@ SkBlendMode op) { LayoutBoxModelObject* box_model = ToLayoutBoxModelObject( LineLayoutAPIShim::LayoutObjectFrom(inline_flow_box_.BoxModelObject())); + BackgroundImageGeometry geometry(*box_model); StyleImage* img = fill_layer.GetImage(); bool has_fill_image = img && img->CanRender(); if ((!has_fill_image && @@ -84,16 +86,16 @@ (!inline_flow_box_.PrevLineBox() && !inline_flow_box_.NextLineBox()) || !inline_flow_box_.Parent()) { BoxPainter::PaintFillLayer(*box_model, paint_info, c, fill_layer, rect, - kBackgroundBleedNone, &inline_flow_box_, - rect.Size(), op); + kBackgroundBleedNone, geometry, + &inline_flow_box_, rect.Size(), op); } else if (inline_flow_box_.GetLineLayoutItem() .Style() ->BoxDecorationBreak() == EBoxDecorationBreak::kClone) { GraphicsContextStateSaver state_saver(paint_info.context); paint_info.context.Clip(PixelSnappedIntRect(rect)); BoxPainter::PaintFillLayer(*box_model, paint_info, c, fill_layer, rect, - kBackgroundBleedNone, &inline_flow_box_, - rect.Size(), op); + kBackgroundBleedNone, geometry, + &inline_flow_box_, rect.Size(), op); } else { // We have a fill image that spans multiple lines. // FIXME: frameSize ought to be the same as rect.size(). @@ -106,7 +108,7 @@ paint_info.context.Clip(PixelSnappedIntRect(rect)); BoxPainter::PaintFillLayer(*box_model, paint_info, c, fill_layer, image_strip_paint_rect, kBackgroundBleedNone, - &inline_flow_box_, rect.Size(), op); + geometry, &inline_flow_box_, rect.Size(), op); } }
diff --git a/third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp b/third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp index 00e93e8..4a46694f 100644 --- a/third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp +++ b/third_party/WebKit/Source/core/paint/ObjectPaintInvalidator.cpp
@@ -355,9 +355,7 @@ DCHECK(g_disable_paint_invalidation_state_asserts || object_.GetDocument().Lifecycle().GetState() == - (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled() - ? DocumentLifecycle::kInPrePaint - : DocumentLifecycle::kInPaintInvalidation)); + DocumentLifecycle::kInPrePaint); if (dirty_rect.IsEmpty()) return;
diff --git a/third_party/WebKit/Source/core/paint/ObjectPainter.h b/third_party/WebKit/Source/core/paint/ObjectPainter.h index 6de14d1..8f808c8 100644 --- a/third_party/WebKit/Source/core/paint/ObjectPainter.h +++ b/third_party/WebKit/Source/core/paint/ObjectPainter.h
@@ -60,16 +60,14 @@ void PaintAllPhasesAtomically(const PaintInfo&, const LayoutPoint& paint_offset); - // When SlimmingPaintInvalidation is enabled, we compute paint offsets during - // the pre-paint tree walk (PrePaintTreeWalk). This check verifies that the - // paint offset computed during pre-paint matches the actual paint offset - // during paint. + // We compute paint offsets during the pre-paint tree walk (PrePaintTreeWalk). + // This check verifies that the paint offset computed during pre-paint matches + // the actual paint offset during paint. void CheckPaintOffset(const PaintInfo& paint_info, const LayoutPoint& paint_offset) { #if DCHECK_IS_ON() - // For now this works for SPv2 (implying SlimmingPaintInvalidation) only, - // but not SlimmingPaintInvalidation on SPv1 because of complexities of - // paint invalidation containers in SPv1. + // For now this works for SPv2 only because of complexities of paint + // invalidation containers in SPv1. if (RuntimeEnabledFeatures::SlimmingPaintV2Enabled()) DoCheckPaintOffset(paint_info, paint_offset); #endif
diff --git a/third_party/WebKit/Source/core/paint/PaintInvalidationCapableScrollableArea.cpp b/third_party/WebKit/Source/core/paint/PaintInvalidationCapableScrollableArea.cpp index 1f51ca22..69f1eef 100644 --- a/third_party/WebKit/Source/core/paint/PaintInvalidationCapableScrollableArea.cpp +++ b/third_party/WebKit/Source/core/paint/PaintInvalidationCapableScrollableArea.cpp
@@ -10,7 +10,6 @@ #include "core/layout/LayoutBox.h" #include "core/layout/LayoutScrollbar.h" #include "core/layout/LayoutScrollbarPart.h" -#include "core/layout/PaintInvalidationState.h" #include "core/paint/FindPaintOffsetAndVisualRectNeedingUpdate.h" #include "core/paint/ObjectPaintInvalidator.h" #include "core/paint/PaintInvalidator.h" @@ -205,13 +204,6 @@ ClearNeedsPaintInvalidationForScrollControls(); } -void PaintInvalidationCapableScrollableArea:: - InvalidatePaintOfScrollControlsIfNeeded( - const PaintInvalidationState& paint_invalidation_state) { - InvalidatePaintOfScrollControlsIfNeeded( - PaintInvalidatorContextAdapter(paint_invalidation_state)); -} - void PaintInvalidationCapableScrollableArea::ClearPreviousVisualRects() { SetHorizontalScrollbarVisualRect(LayoutRect()); SetVerticalScrollbarVisualRect(LayoutRect());
diff --git a/third_party/WebKit/Source/core/paint/PaintInvalidationCapableScrollableArea.h b/third_party/WebKit/Source/core/paint/PaintInvalidationCapableScrollableArea.h index 993658af..73a2f92 100644 --- a/third_party/WebKit/Source/core/paint/PaintInvalidationCapableScrollableArea.h +++ b/third_party/WebKit/Source/core/paint/PaintInvalidationCapableScrollableArea.h
@@ -12,7 +12,6 @@ namespace blink { class LayoutScrollbarPart; -class PaintInvalidationState; struct PaintInvalidatorContext; // Base class of LocalFrameView and PaintLayerScrollableArea to share paint @@ -28,7 +27,6 @@ void WillRemoveScrollbar(Scrollbar&, ScrollbarOrientation) override; - void InvalidatePaintOfScrollControlsIfNeeded(const PaintInvalidationState&); void InvalidatePaintOfScrollControlsIfNeeded(const PaintInvalidatorContext&); // Should be called when the previous visual rects are no longer valid.
diff --git a/third_party/WebKit/Source/core/paint/PaintInvalidator.h b/third_party/WebKit/Source/core/paint/PaintInvalidator.h index 9176c35..f32687f2 100644 --- a/third_party/WebKit/Source/core/paint/PaintInvalidator.h +++ b/third_party/WebKit/Source/core/paint/PaintInvalidator.h
@@ -27,14 +27,10 @@ parent_context.paint_invalidation_container_for_stacked_contents), painting_layer(parent_context.painting_layer) {} - // This method is virtual temporarily to adapt PaintInvalidatorContext and the - // legacy PaintInvalidationState for code shared by old code and new code. - virtual void MapLocalRectToVisualRectInBacking(const LayoutObject&, - LayoutRect&) const; + void MapLocalRectToVisualRectInBacking(const LayoutObject&, + LayoutRect&) const; bool NeedsVisualRectUpdate(const LayoutObject& object) const { - if (!RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - return true; #if DCHECK_IS_ON() if (force_visual_rect_update_for_checking_) return true;
diff --git a/third_party/WebKit/Source/core/paint/PaintLayer.cpp b/third_party/WebKit/Source/core/paint/PaintLayer.cpp index 27db6a52..3cb0ba1e 100644 --- a/third_party/WebKit/Source/core/paint/PaintLayer.cpp +++ b/third_party/WebKit/Source/core/paint/PaintLayer.cpp
@@ -104,7 +104,6 @@ Persistent<PaintLayerScrollableArea> scrollable_area; struct { IntSize size; - void* pointer; LayoutRect rect; } previous_paint_status; }; @@ -657,9 +656,7 @@ if (layer->needs_descendant_dependent_flags_update_) break; layer->needs_descendant_dependent_flags_update_ = true; - - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - layer->GetLayoutObject().SetNeedsPaintPropertyUpdate(); + layer->GetLayoutObject().SetNeedsPaintPropertyUpdate(); } } @@ -715,9 +712,8 @@ child->GetLayoutObject().HasClipPath(); } - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled() && - old_has_non_isolated_descendant_with_blend_mode != - static_cast<bool>(has_non_isolated_descendant_with_blend_mode_)) + if (old_has_non_isolated_descendant_with_blend_mode != + static_cast<bool>(has_non_isolated_descendant_with_blend_mode_)) GetLayoutObject().SetNeedsPaintPropertyUpdate(); needs_descendant_dependent_flags_update_ = false; } @@ -2778,14 +2774,7 @@ bool PaintLayer::PaintsWithTransform( GlobalPaintFlags global_paint_flags) const { - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) { - return Transform() && - ((global_paint_flags & kGlobalPaintFlattenCompositingLayers) || - GetCompositingState() != kPaintsIntoOwnBacking); - } - - return (Transform() || - GetLayoutObject().Style()->GetPosition() == EPosition::kFixed) && + return Transform() && ((global_paint_flags & kGlobalPaintFlattenCompositingLayers) || GetCompositingState() != kPaintsIntoOwnBacking); } @@ -3101,11 +3090,7 @@ PaintLayerClipper PaintLayer::Clipper( GeometryMapperOption geometry_mapper_option) const { - if (geometry_mapper_option == kUseGeometryMapper) { - DCHECK(RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()); - return PaintLayerClipper(*this, true); - } - return PaintLayerClipper(*this, false); + return PaintLayerClipper(*this, geometry_mapper_option == kUseGeometryMapper); } bool PaintLayer::ScrollsOverflow() const {
diff --git a/third_party/WebKit/Source/core/paint/PaintLayer.h b/third_party/WebKit/Source/core/paint/PaintLayer.h index 3b308a3..ef3c66d 100644 --- a/third_party/WebKit/Source/core/paint/PaintLayer.h +++ b/third_party/WebKit/Source/core/paint/PaintLayer.h
@@ -565,8 +565,8 @@ // Adjusts the given rect (in the coordinate space of the LayoutObject) to the // coordinate space of |paintInvalidationContainer|'s GraphicsLayer backing. - // Should use PaintInvalidationState::mapRectToPaintInvalidationBacking() - // instead if PaintInvalidationState is available. + // Should use PaintInvalidatorContext::MapRectToPaintInvalidationBacking() + // instead if PaintInvalidatorContext. static void MapRectToPaintInvalidationBacking( const LayoutObject&, const LayoutBoxModelObject& paint_invalidation_container, @@ -851,7 +851,7 @@ void UpdateSelfPaintingLayer(); // This is O(depth) so avoid calling this in loops. Instead use optimizations - // like those in PaintInvalidationState. + // like those in PaintInvalidatorContext. PaintLayer* EnclosingSelfPaintingLayer(); PaintLayer* EnclosingTransformedAncestor() const; @@ -930,15 +930,6 @@ previous_scroll_offset_accumulation_for_painting_ = s; } - ClipRects* PreviousClipRects() const { - DCHECK(!RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()); - return previous_clip_rects_.Get(); - } - void SetPreviousClipRects(ClipRects& clip_rects) { - previous_clip_rects_ = &clip_rects; - } - void ClearPreviousClipRects() { previous_clip_rects_.Clear(); } - LayoutRect PreviousPaintDirtyRect() const { return previous_paint_dirty_rect_; } @@ -1271,7 +1262,6 @@ std::unique_ptr<PaintLayerStackingNode> stacking_node_; IntSize previous_scroll_offset_accumulation_for_painting_; - RefPtr<ClipRects> previous_clip_rects_; LayoutRect previous_paint_dirty_rect_; std::unique_ptr<PaintLayerRareData> rare_data_;
diff --git a/third_party/WebKit/Source/core/paint/PaintLayerClipperTest.cpp b/third_party/WebKit/Source/core/paint/PaintLayerClipperTest.cpp index 9d17f1a..2c9b9f1 100644 --- a/third_party/WebKit/Source/core/paint/PaintLayerClipperTest.cpp +++ b/third_party/WebKit/Source/core/paint/PaintLayerClipperTest.cpp
@@ -14,13 +14,9 @@ namespace blink { -class PaintLayerClipperTest : public ::testing::WithParamInterface<bool>, - private ScopedSlimmingPaintInvalidationForTest, - public RenderingTest { +class PaintLayerClipperTest : public RenderingTest { public: - PaintLayerClipperTest() - : ScopedSlimmingPaintInvalidationForTest(GetParam()), - RenderingTest(EmptyLocalFrameClient::Create()) {} + PaintLayerClipperTest() : RenderingTest(EmptyLocalFrameClient::Create()) {} void SetUp() override { LayoutTestSupport::SetMockThemeEnabledForTest(true); @@ -33,11 +29,7 @@ } }; -INSTANTIATE_TEST_CASE_P(All, - PaintLayerClipperTest, - ::testing::ValuesIn(std::vector<bool>{false, true})); - -TEST_P(PaintLayerClipperTest, LayoutSVGRoot) { +TEST_F(PaintLayerClipperTest, LayoutSVGRoot) { SetBodyInnerHTML( "<!DOCTYPE html>" "<svg id=target width=200 height=300 style='position: relative'>" @@ -57,12 +49,9 @@ LayoutRect layer_bounds; ClipRect background_rect, foreground_rect; - PaintLayer::GeometryMapperOption option = PaintLayer::kDoNotUseGeometryMapper; - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - option = PaintLayer::kUseGeometryMapper; - target_paint_layer->Clipper(option).CalculateRects( - context, LayoutRect(LayoutRect::InfiniteIntRect()), layer_bounds, - background_rect, foreground_rect); + target_paint_layer->Clipper(PaintLayer::kUseGeometryMapper) + .CalculateRects(context, LayoutRect(LayoutRect::InfiniteIntRect()), + layer_bounds, background_rect, foreground_rect); EXPECT_EQ(LayoutRect(FloatRect(8.25, 8.35, 200, 300)), background_rect.Rect()); @@ -71,7 +60,7 @@ EXPECT_EQ(LayoutRect(FloatRect(8.25, 8.35, 200, 300)), layer_bounds); } -TEST_P(PaintLayerClipperTest, ControlClip) { +TEST_F(PaintLayerClipperTest, ControlClip) { SetBodyInnerHTML( "<!DOCTYPE html>" "<input id=target style='position:absolute; width: 200px; height: 300px'" @@ -88,12 +77,9 @@ LayoutRect layer_bounds; ClipRect background_rect, foreground_rect; - PaintLayer::GeometryMapperOption option = PaintLayer::kDoNotUseGeometryMapper; - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - option = PaintLayer::kUseGeometryMapper; - target_paint_layer->Clipper(option).CalculateRects( - context, LayoutRect(LayoutRect::InfiniteIntRect()), layer_bounds, - background_rect, foreground_rect); + target_paint_layer->Clipper(PaintLayer::kUseGeometryMapper) + .CalculateRects(context, LayoutRect(LayoutRect::InfiniteIntRect()), + layer_bounds, background_rect, foreground_rect); #if OS(MACOSX) // If the PaintLayer clips overflow, the background rect is intersected with // the PaintLayer bounds... @@ -111,7 +97,7 @@ #endif } -TEST_P(PaintLayerClipperTest, RoundedClip) { +TEST_F(PaintLayerClipperTest, RoundedClip) { SetBodyInnerHTML( "<!DOCTYPE html>" "<div id='target' style='position:absolute; width: 200px; height: 300px;" @@ -131,12 +117,9 @@ LayoutRect layer_bounds; ClipRect background_rect, foreground_rect; - PaintLayer::GeometryMapperOption option = PaintLayer::kDoNotUseGeometryMapper; - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - option = PaintLayer::kUseGeometryMapper; - target_paint_layer->Clipper(option).CalculateRects( - context, LayoutRect(LayoutRect::InfiniteIntRect()), layer_bounds, - background_rect, foreground_rect); + target_paint_layer->Clipper(PaintLayer::kUseGeometryMapper) + .CalculateRects(context, LayoutRect(LayoutRect::InfiniteIntRect()), + layer_bounds, background_rect, foreground_rect); // Only the foreground rect gets hasRadius set for overflow clipping // of descendants. @@ -147,7 +130,7 @@ EXPECT_EQ(LayoutRect(8, 8, 200, 300), layer_bounds); } -TEST_P(PaintLayerClipperTest, RoundedClipNested) { +TEST_F(PaintLayerClipperTest, RoundedClipNested) { SetBodyInnerHTML( "<!DOCTYPE html>" "<div id='parent' style='position:absolute; width: 200px; height: 300px;" @@ -170,12 +153,9 @@ LayoutRect layer_bounds; ClipRect background_rect, foreground_rect; - PaintLayer::GeometryMapperOption option = PaintLayer::kDoNotUseGeometryMapper; - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - option = PaintLayer::kUseGeometryMapper; - child_paint_layer->Clipper(option).CalculateRects( - context, LayoutRect(LayoutRect::InfiniteIntRect()), layer_bounds, - background_rect, foreground_rect); + child_paint_layer->Clipper(PaintLayer::kUseGeometryMapper) + .CalculateRects(context, LayoutRect(LayoutRect::InfiniteIntRect()), + layer_bounds, background_rect, foreground_rect); EXPECT_EQ(LayoutRect(0, 0, 200, 300), background_rect.Rect()); EXPECT_TRUE(background_rect.HasRadius()); @@ -184,7 +164,7 @@ EXPECT_EQ(LayoutRect(0, 0, 500, 500), layer_bounds); } -TEST_P(PaintLayerClipperTest, ControlClipSelect) { +TEST_F(PaintLayerClipperTest, ControlClipSelect) { SetBodyInnerHTML( "<select id='target' style='position: relative; width: 100px; " " background: none; border: none; padding: 0px 15px 0px 5px;'>" @@ -204,12 +184,9 @@ LayoutRect layer_bounds; ClipRect background_rect, foreground_rect; - PaintLayer::GeometryMapperOption option = PaintLayer::kDoNotUseGeometryMapper; - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - option = PaintLayer::kUseGeometryMapper; - target_paint_layer->Clipper(option).CalculateRects( - context, LayoutRect(LayoutRect::InfiniteIntRect()), layer_bounds, - background_rect, foreground_rect); + target_paint_layer->Clipper(PaintLayer::kUseGeometryMapper) + .CalculateRects(context, LayoutRect(LayoutRect::InfiniteIntRect()), + layer_bounds, background_rect, foreground_rect); // The control clip for a select excludes the area for the down arrow. #if OS(MACOSX) EXPECT_EQ(LayoutRect(16, 9, 79, 13), foreground_rect.Rect()); @@ -220,7 +197,7 @@ #endif } -TEST_P(PaintLayerClipperTest, LayoutSVGRootChild) { +TEST_F(PaintLayerClipperTest, LayoutSVGRootChild) { SetBodyInnerHTML( "<svg width=200 height=300 style='position: relative'>" " <foreignObject width=400 height=500>" @@ -237,18 +214,15 @@ LayoutRect layer_bounds; ClipRect background_rect, foreground_rect; - PaintLayer::GeometryMapperOption option = PaintLayer::kDoNotUseGeometryMapper; - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - option = PaintLayer::kUseGeometryMapper; - target_paint_layer->Clipper(option).CalculateRects( - context, LayoutRect(LayoutRect::InfiniteIntRect()), layer_bounds, - background_rect, foreground_rect); + target_paint_layer->Clipper(PaintLayer::kUseGeometryMapper) + .CalculateRects(context, LayoutRect(LayoutRect::InfiniteIntRect()), + layer_bounds, background_rect, foreground_rect); EXPECT_EQ(LayoutRect(8, 8, 200, 300), background_rect.Rect()); EXPECT_EQ(LayoutRect(8, 8, 200, 300), foreground_rect.Rect()); EXPECT_EQ(LayoutRect(8, 8, 400, 0), layer_bounds); } -TEST_P(PaintLayerClipperTest, ContainPaintClip) { +TEST_F(PaintLayerClipperTest, ContainPaintClip) { SetBodyInnerHTML( "<div id='target'" " style='contain: paint; width: 200px; height: 200px; overflow: auto'>" @@ -262,11 +236,9 @@ LayoutRect layer_bounds; ClipRect background_rect, foreground_rect; - PaintLayer::GeometryMapperOption option = PaintLayer::kDoNotUseGeometryMapper; - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - option = PaintLayer::kUseGeometryMapper; - layer->Clipper(option).CalculateRects(context, infinite_rect, layer_bounds, - background_rect, foreground_rect); + layer->Clipper(PaintLayer::kUseGeometryMapper) + .CalculateRects(context, infinite_rect, layer_bounds, background_rect, + foreground_rect); EXPECT_GE(background_rect.Rect().Size().Width().ToInt(), 33554422); EXPECT_GE(background_rect.Rect().Size().Height().ToInt(), 33554422); EXPECT_EQ(background_rect.Rect(), foreground_rect.Rect()); @@ -274,15 +246,15 @@ ClipRectsContext context_clip(layer, kPaintingClipRects); - layer->Clipper(option).CalculateRects(context_clip, infinite_rect, - layer_bounds, background_rect, - foreground_rect); + layer->Clipper(PaintLayer::kUseGeometryMapper) + .CalculateRects(context_clip, infinite_rect, layer_bounds, + background_rect, foreground_rect); EXPECT_EQ(LayoutRect(0, 0, 200, 200), background_rect.Rect()); EXPECT_EQ(LayoutRect(0, 0, 200, 200), foreground_rect.Rect()); EXPECT_EQ(LayoutRect(0, 0, 200, 200), layer_bounds); } -TEST_P(PaintLayerClipperTest, NestedContainPaintClip) { +TEST_F(PaintLayerClipperTest, NestedContainPaintClip) { SetBodyInnerHTML( "<div style='contain: paint; width: 200px; height: 200px; overflow: " "auto'>" @@ -298,26 +270,24 @@ LayoutRect layer_bounds; ClipRect background_rect, foreground_rect; - PaintLayer::GeometryMapperOption option = PaintLayer::kDoNotUseGeometryMapper; - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - option = PaintLayer::kUseGeometryMapper; - layer->Clipper(option).CalculateRects(context, infinite_rect, layer_bounds, - background_rect, foreground_rect); + layer->Clipper(PaintLayer::kUseGeometryMapper) + .CalculateRects(context, infinite_rect, layer_bounds, background_rect, + foreground_rect); EXPECT_EQ(LayoutRect(0, 0, 200, 400), background_rect.Rect()); EXPECT_EQ(LayoutRect(0, 0, 200, 400), foreground_rect.Rect()); EXPECT_EQ(LayoutRect(0, 0, 200, 400), layer_bounds); ClipRectsContext context_clip(layer->Parent(), kPaintingClipRects); - layer->Clipper(option).CalculateRects(context_clip, infinite_rect, - layer_bounds, background_rect, - foreground_rect); + layer->Clipper(PaintLayer::kUseGeometryMapper) + .CalculateRects(context_clip, infinite_rect, layer_bounds, + background_rect, foreground_rect); EXPECT_EQ(LayoutRect(0, 0, 200, 200), background_rect.Rect()); EXPECT_EQ(LayoutRect(0, 0, 200, 200), foreground_rect.Rect()); EXPECT_EQ(LayoutRect(0, 0, 200, 400), layer_bounds); } -TEST_P(PaintLayerClipperTest, LocalClipRectFixedUnderTransform) { +TEST_F(PaintLayerClipperTest, LocalClipRectFixedUnderTransform) { SetBodyInnerHTML( "<div id='transformed'" " style='will-change: transform; width: 100px; height: 100px;" @@ -335,16 +305,15 @@ PaintLayer* fixed = ToLayoutBoxModelObject(GetLayoutObjectByElementId("fixed"))->Layer(); - PaintLayer::GeometryMapperOption option = PaintLayer::kDoNotUseGeometryMapper; - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - option = PaintLayer::kUseGeometryMapper; EXPECT_EQ(LayoutRect(0, 0, 100, 100), - transformed->Clipper(option).LocalClipRect(*transformed)); + transformed->Clipper(PaintLayer::kUseGeometryMapper) + .LocalClipRect(*transformed)); EXPECT_EQ(LayoutRect(0, 50, 100, 100), - fixed->Clipper(option).LocalClipRect(*transformed)); + fixed->Clipper(PaintLayer::kUseGeometryMapper) + .LocalClipRect(*transformed)); } -TEST_P(PaintLayerClipperTest, ClearClipRectsRecursive) { +TEST_F(PaintLayerClipperTest, ClearClipRectsRecursive) { // SPv2 will re-use a global GeometryMapper, so this // logic does not apply. if (RuntimeEnabledFeatures::SlimmingPaintV2Enabled()) @@ -371,16 +340,14 @@ EXPECT_TRUE(parent->GetClipRectsCache()); EXPECT_TRUE(child->GetClipRectsCache()); - PaintLayer::GeometryMapperOption option = PaintLayer::kDoNotUseGeometryMapper; - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - option = PaintLayer::kUseGeometryMapper; - parent->Clipper(option).ClearClipRectsIncludingDescendants(); + parent->Clipper(PaintLayer::kUseGeometryMapper) + .ClearClipRectsIncludingDescendants(); EXPECT_FALSE(parent->GetClipRectsCache()); EXPECT_FALSE(child->GetClipRectsCache()); } -TEST_P(PaintLayerClipperTest, ClearClipRectsRecursiveChild) { +TEST_F(PaintLayerClipperTest, ClearClipRectsRecursiveChild) { // SPv2 will re-use a global GeometryMapper, so this // logic does not apply. if (RuntimeEnabledFeatures::SlimmingPaintV2Enabled()) @@ -407,57 +374,14 @@ EXPECT_TRUE(parent->GetClipRectsCache()); EXPECT_TRUE(child->GetClipRectsCache()); - PaintLayer::GeometryMapperOption option = PaintLayer::kDoNotUseGeometryMapper; - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - option = PaintLayer::kUseGeometryMapper; - child->Clipper(option).ClearClipRectsIncludingDescendants(); + child->Clipper(PaintLayer::kUseGeometryMapper) + .ClearClipRectsIncludingDescendants(); EXPECT_TRUE(parent->GetClipRectsCache()); EXPECT_FALSE(child->GetClipRectsCache()); } -TEST_P(PaintLayerClipperTest, ClearClipRectsRecursiveOneType) { - // SPv2 will re-use a global GeometryMapper, so this - // logic does not apply. - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - return; - - SetBodyInnerHTML( - "<style>" - "div { " - " width: 5px; height: 5px; background: blue;" - " position: relative;" - "}" - "</style>" - "<div id='parent'>" - " <div id='child'>" - " <div id='grandchild'></div>" - " </div>" - "</div>"); - - PaintLayer* parent = - ToLayoutBoxModelObject(GetLayoutObjectByElementId("parent"))->Layer(); - PaintLayer* child = - ToLayoutBoxModelObject(GetLayoutObjectByElementId("child"))->Layer(); - - EXPECT_TRUE(parent->GetClipRectsCache()); - EXPECT_TRUE(child->GetClipRectsCache()); - EXPECT_TRUE(parent->GetClipRectsCache()->Get(kAbsoluteClipRects).root); - EXPECT_TRUE(child->GetClipRectsCache()->Get(kAbsoluteClipRects).root); - - PaintLayer::GeometryMapperOption option = PaintLayer::kDoNotUseGeometryMapper; - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - option = PaintLayer::kUseGeometryMapper; - parent->Clipper(option).ClearClipRectsIncludingDescendants( - kAbsoluteClipRects); - - EXPECT_TRUE(parent->GetClipRectsCache()); - EXPECT_TRUE(child->GetClipRectsCache()); - EXPECT_FALSE(parent->GetClipRectsCache()->Get(kAbsoluteClipRects).root); - EXPECT_FALSE(parent->GetClipRectsCache()->Get(kAbsoluteClipRects).root); -} - -TEST_P(PaintLayerClipperTest, CSSClip) { +TEST_F(PaintLayerClipperTest, CSSClip) { SetBodyInnerHTML( "<style>" " #target { " @@ -470,21 +394,19 @@ PaintLayer* target = ToLayoutBoxModelObject(GetLayoutObjectByElementId("target"))->Layer(); ClipRectsContext context(target, kUncachedClipRects); - PaintLayer::GeometryMapperOption option = PaintLayer::kDoNotUseGeometryMapper; - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - option = PaintLayer::kUseGeometryMapper; LayoutRect infinite_rect(LayoutRect::InfiniteIntRect()); LayoutRect layer_bounds(infinite_rect); ClipRect background_rect(infinite_rect); ClipRect foreground_rect(infinite_rect); - target->Clipper(option).CalculateRects(context, infinite_rect, layer_bounds, - background_rect, foreground_rect); + target->Clipper(PaintLayer::kUseGeometryMapper) + .CalculateRects(context, infinite_rect, layer_bounds, background_rect, + foreground_rect); EXPECT_EQ(LayoutRect(0, 0, 50, 100), background_rect.Rect()); EXPECT_EQ(LayoutRect(0, 0, 50, 100), foreground_rect.Rect()); } -TEST_P(PaintLayerClipperTest, Filter) { +TEST_F(PaintLayerClipperTest, Filter) { SetBodyInnerHTML( "<style>" " * { margin: 0 }" @@ -498,15 +420,13 @@ PaintLayer* target = ToLayoutBoxModelObject(GetLayoutObjectByElementId("target"))->Layer(); ClipRectsContext context(target, kUncachedClipRects); - PaintLayer::GeometryMapperOption option = PaintLayer::kDoNotUseGeometryMapper; - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - option = PaintLayer::kUseGeometryMapper; LayoutRect infinite_rect(LayoutRect::InfiniteIntRect()); LayoutRect layer_bounds(infinite_rect); ClipRect background_rect(infinite_rect); ClipRect foreground_rect(infinite_rect); - target->Clipper(option).CalculateRects(context, infinite_rect, layer_bounds, - background_rect, foreground_rect); + target->Clipper(PaintLayer::kUseGeometryMapper) + .CalculateRects(context, infinite_rect, layer_bounds, background_rect, + foreground_rect); EXPECT_EQ(LayoutRect(-12, -9, 124, 224), background_rect.Rect()); EXPECT_EQ(LayoutRect(0, 0, 100, 200), foreground_rect.Rect()); @@ -519,7 +439,7 @@ && rect.Y().Round() < -10000000 && rect.MaxY().Round() > 10000000; } -TEST_P(PaintLayerClipperTest, IgnoreRootLayerClipWithCSSClip) { +TEST_F(PaintLayerClipperTest, IgnoreRootLayerClipWithCSSClip) { SetBodyInnerHTML( "<style>" " #root { " @@ -539,21 +459,19 @@ PaintLayer* target = ToLayoutBoxModelObject(GetLayoutObjectByElementId("target"))->Layer(); ClipRectsContext context(root, kPaintingClipRectsIgnoringOverflowClip); - PaintLayer::GeometryMapperOption option = PaintLayer::kDoNotUseGeometryMapper; - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - option = PaintLayer::kUseGeometryMapper; LayoutRect infinite_rect(LayoutRect::InfiniteIntRect()); LayoutRect layer_bounds(infinite_rect); ClipRect background_rect(infinite_rect); ClipRect foreground_rect(infinite_rect); - target->Clipper(option).CalculateRects(context, infinite_rect, layer_bounds, - background_rect, foreground_rect); + target->Clipper(PaintLayer::kUseGeometryMapper) + .CalculateRects(context, infinite_rect, layer_bounds, background_rect, + foreground_rect); EXPECT_TRUE(IsInfinite(background_rect.Rect())); EXPECT_TRUE(IsInfinite(foreground_rect.Rect())); } -TEST_P(PaintLayerClipperTest, IgnoreRootLayerClipWithOverflowClip) { +TEST_F(PaintLayerClipperTest, IgnoreRootLayerClipWithOverflowClip) { SetBodyInnerHTML( "<style>" " #root { " @@ -573,21 +491,19 @@ PaintLayer* target = ToLayoutBoxModelObject(GetLayoutObjectByElementId("target"))->Layer(); ClipRectsContext context(root, kPaintingClipRectsIgnoringOverflowClip); - PaintLayer::GeometryMapperOption option = PaintLayer::kDoNotUseGeometryMapper; - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - option = PaintLayer::kUseGeometryMapper; LayoutRect infinite_rect(LayoutRect::InfiniteIntRect()); LayoutRect layer_bounds(infinite_rect); ClipRect background_rect(infinite_rect); ClipRect foreground_rect(infinite_rect); - target->Clipper(option).CalculateRects(context, infinite_rect, layer_bounds, - background_rect, foreground_rect); + target->Clipper(PaintLayer::kUseGeometryMapper) + .CalculateRects(context, infinite_rect, layer_bounds, background_rect, + foreground_rect); EXPECT_TRUE(IsInfinite(background_rect.Rect())); EXPECT_TRUE(IsInfinite(foreground_rect.Rect())); } -TEST_P(PaintLayerClipperTest, IgnoreRootLayerClipWithBothClip) { +TEST_F(PaintLayerClipperTest, IgnoreRootLayerClipWithBothClip) { SetBodyInnerHTML( "<style>" " #root { " @@ -608,15 +524,13 @@ PaintLayer* target = ToLayoutBoxModelObject(GetLayoutObjectByElementId("target"))->Layer(); ClipRectsContext context(root, kPaintingClipRectsIgnoringOverflowClip); - PaintLayer::GeometryMapperOption option = PaintLayer::kDoNotUseGeometryMapper; - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - option = PaintLayer::kUseGeometryMapper; LayoutRect infinite_rect(LayoutRect::InfiniteIntRect()); LayoutRect layer_bounds(infinite_rect); ClipRect background_rect(infinite_rect); ClipRect foreground_rect(infinite_rect); - target->Clipper(option).CalculateRects(context, infinite_rect, layer_bounds, - background_rect, foreground_rect); + target->Clipper(PaintLayer::kUseGeometryMapper) + .CalculateRects(context, infinite_rect, layer_bounds, background_rect, + foreground_rect); EXPECT_TRUE(IsInfinite(background_rect.Rect())); EXPECT_TRUE(IsInfinite(foreground_rect.Rect()));
diff --git a/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp b/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp index e1d5a415..4ba3f1d 100644 --- a/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp +++ b/third_party/WebKit/Source/core/paint/PaintLayerPainter.cpp
@@ -227,21 +227,6 @@ if (paint_layer.NeedsRepaint()) needs_repaint = true; - // Repaint if layer's clip changes. - if (!RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) { - ClipRects& clip_rects = - paint_layer.Clipper(PaintLayer::kDoNotUseGeometryMapper) - .PaintingClipRects(painting_info.root_layer, respect_overflow_clip, - subpixel_accumulation); - ClipRects* previous_clip_rects = paint_layer.PreviousClipRects(); - if (&clip_rects != previous_clip_rects && - (!previous_clip_rects || clip_rects != *previous_clip_rects)) { - needs_repaint = true; - should_clear_empty_paint_phase_flags = true; - } - paint_layer.SetPreviousClipRects(clip_rects); - } - // Repaint if previously the layer might be clipped by paintDirtyRect and // paintDirtyRect changes. if (paint_layer.PreviousPaintResult() == kMayBeClippedByPaintDirtyRect && @@ -445,11 +430,6 @@ local_painting_info.paint_dirty_rect.MoveBy(offset_to_clipper); } - PaintLayer::GeometryMapperOption geometry_mapper_option = - PaintLayer::kDoNotUseGeometryMapper; - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - geometry_mapper_option = PaintLayer::kUseGeometryMapper; - // TODO(trchen): We haven't decided how to handle visual fragmentation with // SPv2. Related thread // https://groups.google.com/a/chromium.org/forum/#!topic/graphics-dev/81XuWFf-mxM @@ -458,7 +438,7 @@ paint_layer_for_fragments->AppendSingleFragmentIgnoringPagination( layer_fragments, local_painting_info.root_layer, local_painting_info.paint_dirty_rect, cache_slot, - geometry_mapper_option, kIgnorePlatformOverlayScrollbarSize, + PaintLayer::kUseGeometryMapper, kIgnorePlatformOverlayScrollbarSize, respect_overflow_clip, &offset_from_root, local_painting_info.sub_pixel_accumulation); } else if (IsFixedPositionObjectInPagedMedia()) { @@ -466,7 +446,7 @@ paint_layer_for_fragments->AppendSingleFragmentIgnoringPagination( single_fragment, local_painting_info.root_layer, local_painting_info.paint_dirty_rect, cache_slot, - geometry_mapper_option, kIgnorePlatformOverlayScrollbarSize, + PaintLayer::kUseGeometryMapper, kIgnorePlatformOverlayScrollbarSize, respect_overflow_clip, &offset_from_root, local_painting_info.sub_pixel_accumulation); RepeatFixedPositionObjectInPages(single_fragment[0], painting_info, @@ -475,7 +455,7 @@ paint_layer_for_fragments->CollectFragments( layer_fragments, local_painting_info.root_layer, local_painting_info.paint_dirty_rect, cache_slot, - geometry_mapper_option, kIgnorePlatformOverlayScrollbarSize, + PaintLayer::kUseGeometryMapper, kIgnorePlatformOverlayScrollbarSize, respect_overflow_clip, &offset_from_root, local_painting_info.sub_pixel_accumulation); // PaintLayer::collectFragments depends on the paint dirty rect in @@ -706,11 +686,6 @@ // its parent. PaintLayer* parent_layer = paint_layer_.Parent(); - PaintLayer::GeometryMapperOption geometry_mapper_option = - PaintLayer::kDoNotUseGeometryMapper; - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - geometry_mapper_option = PaintLayer::kUseGeometryMapper; - PaintResult result = kFullyPainted; PaintLayer* pagination_layer = paint_layer_.EnclosingPaginationLayer(); PaintLayerFragments layer_fragments; @@ -751,9 +726,10 @@ // here. pagination_layer->CollectFragments( layer_fragments, painting_info.root_layer, - painting_info.paint_dirty_rect, cache_slot, geometry_mapper_option, - kIgnorePlatformOverlayScrollbarSize, respect_overflow_clip, nullptr, - painting_info.sub_pixel_accumulation, &transformed_extent); + painting_info.paint_dirty_rect, cache_slot, + PaintLayer::kUseGeometryMapper, kIgnorePlatformOverlayScrollbarSize, + respect_overflow_clip, nullptr, painting_info.sub_pixel_accumulation, + &transformed_extent); // PaintLayer::collectFragments depends on the paint dirty rect in // complicated ways. For now, always assume a partially painted output // for fragmented content. @@ -788,7 +764,7 @@ paint_layer_.GetLayoutObject()) == kIgnoreOverflowClip) clip_rects_context.SetIgnoreOverflowClip(); - paint_layer_.Clipper(geometry_mapper_option) + paint_layer_.Clipper(PaintLayer::kUseGeometryMapper) .CalculateBackgroundClipRect(clip_rects_context, ancestor_background_clip_rect); }
diff --git a/third_party/WebKit/Source/core/paint/PaintLayerPainterTest.cpp b/third_party/WebKit/Source/core/paint/PaintLayerPainterTest.cpp index 2de0131..3fab1f0 100644 --- a/third_party/WebKit/Source/core/paint/PaintLayerPainterTest.cpp +++ b/third_party/WebKit/Source/core/paint/PaintLayerPainterTest.cpp
@@ -777,11 +777,6 @@ TEST_P(PaintLayerPainterTest, TableCollapsedBorderNeedsPaintPhaseDescendantBlockBackgrounds) { - // TODO(wangxianzhu): Enable this test slimmingPaintInvalidation when its - // fully functional. - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - return; - // "position: relative" makes the table and td self-painting layers. // The table's layer should be marked needsPaintPhaseDescendantBlockBackground // because it will paint collapsed borders in the phase. @@ -802,11 +797,6 @@ TEST_P(PaintLayerPainterTest, TableCollapsedBorderNeedsPaintPhaseDescendantBlockBackgroundsDynamic) { - // TODO(wangxianzhu): Enable this test slimmingPaintInvalidation when its - // fully functional. - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - return; - SetBodyInnerHTML( "<table id='table' style='position: relative'>" " <tr><td style='position: relative; border: 1px solid green'>"
diff --git a/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp b/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp index 1e3aafb..04fc15e 100644 --- a/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp +++ b/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp
@@ -476,15 +476,13 @@ Box().SetShouldDoFullPaintInvalidationIncludingNonCompositingDescendants(); } - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) { - // The scrollOffsetTranslation paint property depends on the scroll offset. - // (see: PaintPropertyTreeBuilder.updateProperties(LocalFrameView&,...) and - // PaintPropertyTreeBuilder.updateScrollAndScrollTranslation). - if (!RuntimeEnabledFeatures::RootLayerScrollingEnabled() && is_root_layer) { - frame_view->SetNeedsPaintPropertyUpdate(); - } else { - Box().SetNeedsPaintPropertyUpdate(); - } + // The scrollOffsetTranslation paint property depends on the scroll offset. + // (see: PaintPropertyTreeBuilder.updateProperties(LocalFrameView&,...) and + // PaintPropertyTreeBuilder.updateScrollAndScrollTranslation). + if (!RuntimeEnabledFeatures::RootLayerScrollingEnabled() && is_root_layer) { + frame_view->SetNeedsPaintPropertyUpdate(); + } else { + Box().SetNeedsPaintPropertyUpdate(); } // Schedule the scroll DOM event. @@ -950,8 +948,7 @@ // geometry. if (Box().GetNode()->IsElementNode()) { ToElement(Box().GetNode())->SetNeedsCompositingUpdate(); - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - Box().SetNeedsPaintPropertyUpdate(); + Box().SetNeedsPaintPropertyUpdate(); } // On Android, where the VisualViewport supplies scrollbars, we need to @@ -1851,11 +1848,9 @@ if (did_scroll_overflow == ScrollsOverflow()) return; - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) { - // The scroll and scroll offset properties depend on |scrollsOverflow| (see: - // PaintPropertyTreeBuilder::updateScrollAndScrollTranslation). - Box().SetNeedsPaintPropertyUpdate(); - } + // The scroll and scroll offset properties depend on |scrollsOverflow| (see: + // PaintPropertyTreeBuilder::updateScrollAndScrollTranslation). + Box().SetNeedsPaintPropertyUpdate(); if (scrolls_overflow_) { DCHECK(CanHaveOverflowScrollbars(Box()));
diff --git a/third_party/WebKit/Source/core/paint/PaintPropertyTreePrinter.cpp b/third_party/WebKit/Source/core/paint/PaintPropertyTreePrinter.cpp index 886e0743..5e26a11 100644 --- a/third_party/WebKit/Source/core/paint/PaintPropertyTreePrinter.cpp +++ b/third_party/WebKit/Source/core/paint/PaintPropertyTreePrinter.cpp
@@ -26,7 +26,6 @@ class PropertyTreePrinter { public: String TreeAsString(const LocalFrameView& frame_view) { - DCHECK(RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()); CollectPropertyNodes(frame_view); const PropertyTreeNode* root_node = LookupRootNode();
diff --git a/third_party/WebKit/Source/core/paint/PrePaintTreeWalkTest.cpp b/third_party/WebKit/Source/core/paint/PrePaintTreeWalkTest.cpp index 2a2b00a..3cd37ed 100644 --- a/third_party/WebKit/Source/core/paint/PrePaintTreeWalkTest.cpp +++ b/third_party/WebKit/Source/core/paint/PrePaintTreeWalkTest.cpp
@@ -25,13 +25,11 @@ class PrePaintTreeWalkTest : public ::testing::WithParamInterface<SlimmingPaintAndRootLayerScrolling>, private ScopedSlimmingPaintV2ForTest, - private ScopedSlimmingPaintInvalidationForTest, private ScopedRootLayerScrollingForTest, public RenderingTest { public: PrePaintTreeWalkTest() : ScopedSlimmingPaintV2ForTest(GetParam().second), - ScopedSlimmingPaintInvalidationForTest(true), ScopedRootLayerScrollingForTest(GetParam().first), RenderingTest(EmptyLocalFrameClient::Create()) {}
diff --git a/third_party/WebKit/Source/core/paint/TableCellPaintInvalidator.cpp b/third_party/WebKit/Source/core/paint/TableCellPaintInvalidator.cpp index 650a4e3..fa310c4d 100644 --- a/third_party/WebKit/Source/core/paint/TableCellPaintInvalidator.cpp +++ b/third_party/WebKit/Source/core/paint/TableCellPaintInvalidator.cpp
@@ -18,7 +18,7 @@ void TableCellPaintInvalidator::InvalidateContainerForCellGeometryChange( const LayoutObject& container, - const PaintInvalidatorContext* container_context) { + const PaintInvalidatorContext& container_context) { // We only need to do this if the container hasn't been fully invalidated. DCHECK( !IsFullPaintInvalidationReason(container.GetPaintInvalidationReason())); @@ -27,20 +27,13 @@ // so we should invalidate the container immediately here instead of setting // paint invalidation flags. ObjectPaintInvalidator invalidator(container); - if (!container_context) { - DCHECK(!RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()); - ObjectPaintInvalidator(container).InvalidatePaintRectangle( - container.LocalVisualRect(), nullptr); - return; - } - - container_context->painting_layer->SetNeedsRepaint(); + container_context.painting_layer->SetNeedsRepaint(); container.InvalidateDisplayItemClients(PaintInvalidationReason::kGeometry); if (!RuntimeEnabledFeatures::SlimmingPaintV2Enabled() && context_.paint_invalidation_container != - container_context->paint_invalidation_container) { - ObjectPaintInvalidatorWithContext(container, *container_context) + container_context.paint_invalidation_container) { + ObjectPaintInvalidatorWithContext(container, container_context) .InvalidatePaintRectangleWithContext( container.VisualRect(), PaintInvalidationReason::kGeometry); } @@ -60,19 +53,14 @@ (row.StyleRef().HasBackground() || (table.HasCollapsedBorders() && LIKELY(!table.ShouldPaintAllCollapsedBorders())))) { - InvalidateContainerForCellGeometryChange( - row, RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled() - ? context_.parent_context - : nullptr); + InvalidateContainerForCellGeometryChange(row, *context_.parent_context); } if (UNLIKELY(table.ShouldPaintAllCollapsedBorders()) && !IsFullPaintInvalidationReason(table.GetPaintInvalidationReason())) { DCHECK(table.HasCollapsedBorders()); InvalidateContainerForCellGeometryChange( - table, RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled() - ? context_.parent_context->parent_context->parent_context - : nullptr); + table, *context_.parent_context->parent_context->parent_context); } if (!IsFullPaintInvalidationReason(section.GetPaintInvalidationReason())) { @@ -88,9 +76,7 @@ } if (section_paints_background) { InvalidateContainerForCellGeometryChange( - section, RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled() - ? context_.parent_context->parent_context - : nullptr); + section, *context_.parent_context->parent_context); } } }
diff --git a/third_party/WebKit/Source/core/paint/TableCellPaintInvalidator.h b/third_party/WebKit/Source/core/paint/TableCellPaintInvalidator.h index 34bf286f..481f5fb4 100644 --- a/third_party/WebKit/Source/core/paint/TableCellPaintInvalidator.h +++ b/third_party/WebKit/Source/core/paint/TableCellPaintInvalidator.h
@@ -27,7 +27,7 @@ private: void InvalidateContainerForCellGeometryChange( const LayoutObject& container, - const PaintInvalidatorContext* container_context); + const PaintInvalidatorContext& container_context); const LayoutTableCell& cell_; const PaintInvalidatorContext& context_;
diff --git a/third_party/WebKit/Source/core/paint/TableCellPainter.cpp b/third_party/WebKit/Source/core/paint/TableCellPainter.cpp index 55c460e..4baffbb2 100644 --- a/third_party/WebKit/Source/core/paint/TableCellPainter.cpp +++ b/third_party/WebKit/Source/core/paint/TableCellPainter.cpp
@@ -5,6 +5,7 @@ #include "core/paint/TableCellPainter.h" #include "core/layout/LayoutTableCell.h" +#include "core/paint/BackgroundImageGeometry.h" #include "core/paint/BlockPainter.h" #include "core/paint/BoxPainter.h" #include "core/paint/LayoutObjectDrawingRecorder.h" @@ -61,10 +62,10 @@ clip_rect.Expand(layout_table_cell_.BorderInsets()); paint_info.context.Clip(PixelSnappedIntRect(clip_rect)); } + BackgroundImageGeometry geometry(layout_table_cell_, &background_object); BoxPainter(layout_table_cell_) - .PaintFillLayers(paint_info, c, bg_layer, paint_rect, - kBackgroundBleedNone, SkBlendMode::kSrcOver, - &background_object); + .PaintFillLayers(paint_info, c, bg_layer, paint_rect, geometry, + kBackgroundBleedNone, SkBlendMode::kSrcOver); } }
diff --git a/third_party/WebKit/Source/core/paint/ViewPainter.cpp b/third_party/WebKit/Source/core/paint/ViewPainter.cpp index 250fe6927..ef48b2e 100644 --- a/third_party/WebKit/Source/core/paint/ViewPainter.cpp +++ b/third_party/WebKit/Source/core/paint/ViewPainter.cpp
@@ -9,6 +9,7 @@ #include "core/layout/LayoutBox.h" #include "core/layout/LayoutView.h" #include "core/layout/compositing/CompositedLayerMapping.h" +#include "core/paint/BackgroundImageGeometry.h" #include "core/paint/BlockPainter.h" #include "core/paint/BoxPainter.h" #include "core/paint/LayoutObjectDrawingRecorder.h" @@ -209,6 +210,7 @@ context.FillRect(background_rect, Color(), SkBlendMode::kClear); } + BackgroundImageGeometry geometry(layout_view_); for (auto it = reversed_paint_list.rbegin(); it != reversed_paint_list.rend(); ++it) { DCHECK((*it)->Clip() == kBorderFillBox); @@ -218,14 +220,15 @@ if (should_paint_in_viewport_space) { BoxPainter::PaintFillLayer(layout_view_, paint_info, Color(), **it, LayoutRect(LayoutRect::InfiniteIntRect()), - kBackgroundBleedNone); + kBackgroundBleedNone, geometry); } else { context.Save(); // TODO(trchen): We should be able to handle 3D-transformed root // background with slimming paint by using transform display items. context.ConcatCTM(transform.ToAffineTransform()); BoxPainter::PaintFillLayer(layout_view_, paint_info, Color(), **it, - LayoutRect(paint_rect), kBackgroundBleedNone); + LayoutRect(paint_rect), kBackgroundBleedNone, + geometry); context.Restore(); } }
diff --git a/third_party/WebKit/Source/core/scheduler/FrameThrottlingTest.cpp b/third_party/WebKit/Source/core/scheduler/FrameThrottlingTest.cpp index 36409f0f..5a4d6be 100644 --- a/third_party/WebKit/Source/core/scheduler/FrameThrottlingTest.cpp +++ b/third_party/WebKit/Source/core/scheduler/FrameThrottlingTest.cpp
@@ -1128,9 +1128,6 @@ } TEST_P(FrameThrottlingTest, UpdatePaintPropertiesOnUnthrottling) { - if (!RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) - return; - SimRequest main_resource("https://example.com/", "text/html"); SimRequest frame_resource("https://example.com/iframe.html", "text/html");
diff --git a/third_party/WebKit/Source/core/svg/SVGAnimateMotionElement.cpp b/third_party/WebKit/Source/core/svg/SVGAnimateMotionElement.cpp index 8b6cd9bc..47f0040 100644 --- a/third_party/WebKit/Source/core/svg/SVGAnimateMotionElement.cpp +++ b/third_party/WebKit/Source/core/svg/SVGAnimateMotionElement.cpp
@@ -302,10 +302,8 @@ void SVGAnimateMotionElement::InvalidateForAnimateMotionTransformChange( LayoutObject& object) { object.SetNeedsTransformUpdate(); - if (RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled()) { - // The transform paint property relies on the SVG transform value. - object.SetNeedsPaintPropertyUpdate(); - } + // The transform paint property relies on the SVG transform value. + object.SetNeedsPaintPropertyUpdate(); MarkForLayoutAndParentResourceInvalidation(&object); }
diff --git a/third_party/WebKit/Source/core/testing/Internals.cpp b/third_party/WebKit/Source/core/testing/Internals.cpp index 4853968..7f678f2 100644 --- a/third_party/WebKit/Source/core/testing/Internals.cpp +++ b/third_party/WebKit/Source/core/testing/Internals.cpp
@@ -733,6 +733,11 @@ return &host->EnsureUserAgentShadowRoot(); } +void Internals::setBrowserControlsState(float height, bool shrinks_layout) { + document_->GetPage()->GetChromeClient().SetBrowserControlsState( + height, shrinks_layout); +} + ShadowRoot* Internals::shadowRoot(Element* host) { // FIXME: Internals::shadowRoot() in tests should be converted to // youngestShadowRoot() or oldestShadowRoot().
diff --git a/third_party/WebKit/Source/core/testing/Internals.h b/third_party/WebKit/Source/core/testing/Internals.h index 9fa1309..ca564bf9 100644 --- a/third_party/WebKit/Source/core/testing/Internals.h +++ b/third_party/WebKit/Source/core/testing/Internals.h
@@ -107,6 +107,8 @@ CSSStyleDeclaration* computedStyleIncludingVisitedInfo(Node*) const; + void setBrowserControlsState(float height, bool shrinks_layout); + ShadowRoot* createUserAgentShadowRoot(Element* host); ShadowRoot* shadowRoot(Element* host);
diff --git a/third_party/WebKit/Source/core/testing/Internals.idl b/third_party/WebKit/Source/core/testing/Internals.idl index 3d36620..5a9ef15 100644 --- a/third_party/WebKit/Source/core/testing/Internals.idl +++ b/third_party/WebKit/Source/core/testing/Internals.idl
@@ -55,6 +55,8 @@ ShadowRoot oldestShadowRoot(Element host); [RaisesException] ShadowRoot youngerShadowRoot(Node root); + void setBrowserControlsState(float height, boolean shrinksLayout); + [RaisesException] DOMString shadowRootType(Node root); [RaisesException] boolean hasShadowInsertionPoint(Node root); [RaisesException] boolean hasContentElement(Node root);
diff --git a/third_party/WebKit/Source/devtools/front_end/bindings/DebuggerWorkspaceBinding.js b/third_party/WebKit/Source/devtools/front_end/bindings/DebuggerWorkspaceBinding.js index adce9082..8e96c0c 100644 --- a/third_party/WebKit/Source/devtools/front_end/bindings/DebuggerWorkspaceBinding.js +++ b/third_party/WebKit/Source/devtools/front_end/bindings/DebuggerWorkspaceBinding.js
@@ -1,6 +1,7 @@ // Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. + /** * @unrestricted * @implements {SDK.SDKModelObserver<!SDK.DebuggerModel>} @@ -381,9 +382,6 @@ } }; -/** - * @unrestricted - */ Bindings.DebuggerWorkspaceBinding.StackTraceTopFrameLocation = class extends Bindings.LiveLocationWithPool { /** * @param {!Array<!SDK.DebuggerModel.Location>} rawLocations @@ -393,12 +391,10 @@ */ constructor(rawLocations, binding, updateDelegate, locationPool) { super(updateDelegate, locationPool); - this._updateScheduled = true; - /** @type {!Set<!Bindings.LiveLocation>} */ - this._locations = new Set(); - for (var location of rawLocations) - this._locations.add(binding.createLiveLocation(location, this._scheduleUpdate.bind(this), locationPool)); + this._current = null; + this._locations = rawLocations.map( + location => binding.createLiveLocation(location, this._scheduleUpdate.bind(this), locationPool)); this._updateLocation(); } @@ -425,24 +421,22 @@ super.dispose(); for (var location of this._locations) location.dispose(); + this._locations = null; + this._current = null; } _scheduleUpdate() { - if (!this._updateScheduled) { - this._updateScheduled = true; - setImmediate(this._updateLocation.bind(this)); - } + if (this._updateScheduled) + return; + this._updateScheduled = true; + setImmediate(this._updateLocation.bind(this)); } _updateLocation() { this._updateScheduled = false; - this._current = this._locations.values().next().value; - for (var current of this._locations) { - if (!current.isBlackboxed()) { - this._current = current; - break; - } - } + if (!this._locations) + return; + this._current = this._locations.find(location => !location.isBlackboxed()) || this._locations[0]; this.update(); } };
diff --git a/third_party/WebKit/Source/modules/BUILD.gn b/third_party/WebKit/Source/modules/BUILD.gn index b52c1d5..deb23c7 100644 --- a/third_party/WebKit/Source/modules/BUILD.gn +++ b/third_party/WebKit/Source/modules/BUILD.gn
@@ -281,8 +281,8 @@ "payments/CompleteTest.cpp", "payments/OnPaymentResponseTest.cpp", "payments/PaymentAddressTest.cpp", + "payments/PaymentEventDataConversionTest.cpp", "payments/PaymentRequestDetailsTest.cpp", - "payments/PaymentRequestEventDataConversionTest.cpp", "payments/PaymentRequestTest.cpp", "payments/PaymentRequestUpdateEventTest.cpp", "payments/PaymentResponseTest.cpp",
diff --git a/third_party/WebKit/Source/modules/accessibility/AXObject.cpp b/third_party/WebKit/Source/modules/accessibility/AXObject.cpp index 8a99193..82bc2487 100644 --- a/third_party/WebKit/Source/modules/accessibility/AXObject.cpp +++ b/third_party/WebKit/Source/modules/accessibility/AXObject.cpp
@@ -1992,7 +1992,6 @@ case kOutlineRole: case kProgressIndicatorRole: case kRadioGroupRole: - case kRegionRole: case kRootWebAreaRole: case kScrollBarRole: case kSearchRole: @@ -2053,6 +2052,7 @@ case kParagraphRole: case kPreRole: case kPresentationalRole: + case kRegionRole: // Spec says we should always expose the name on rows, // but for performance reasons we only do it // if the row might receive focus
diff --git a/third_party/WebKit/Source/modules/indexeddb/IDBCursor.cpp b/third_party/WebKit/Source/modules/indexeddb/IDBCursor.cpp index ee4c30a..ea07c52 100644 --- a/third_party/WebKit/Source/modules/indexeddb/IDBCursor.cpp +++ b/third_party/WebKit/Source/modules/indexeddb/IDBCursor.cpp
@@ -138,8 +138,7 @@ void IDBCursor::advance(unsigned count, ExceptionState& exception_state) { IDB_TRACE("IDBCursor::advanceRequestSetup"); - IDBRequest::AsyncTraceState metrics("IDBCursor::advance", this, - ++next_tracing_id_); + IDBRequest::AsyncTraceState metrics("IDBCursor::advance"); if (!count) { exception_state.ThrowTypeError( "A count argument with value 0 (zero) was supplied, must be greater " @@ -172,8 +171,7 @@ const ScriptValue& key_value, ExceptionState& exception_state) { IDB_TRACE("IDBCursor::continueRequestSetup"); - IDBRequest::AsyncTraceState metrics("IDBCursor::continue", this, - ++next_tracing_id_); + IDBRequest::AsyncTraceState metrics("IDBCursor::continue"); if (!transaction_->IsActive()) { exception_state.ThrowDOMException(kTransactionInactiveError, @@ -210,8 +208,7 @@ const ScriptValue& primary_key_value, ExceptionState& exception_state) { IDB_TRACE("IDBCursor::continuePrimaryKeyRequestSetup"); - IDBRequest::AsyncTraceState metrics("IDBCursor::continuePrimaryKey", this, - ++next_tracing_id_); + IDBRequest::AsyncTraceState metrics("IDBCursor::continuePrimaryKey"); if (!transaction_->IsActive()) { exception_state.ThrowDOMException(kTransactionInactiveError, @@ -316,8 +313,7 @@ IDBRequest* IDBCursor::deleteFunction(ScriptState* script_state, ExceptionState& exception_state) { IDB_TRACE("IDBCursor::deleteRequestSetup"); - IDBRequest::AsyncTraceState metrics("IDBCursor::delete", this, - ++next_tracing_id_); + IDBRequest::AsyncTraceState metrics("IDBCursor::delete"); if (!transaction_->IsActive()) { exception_state.ThrowDOMException(kTransactionInactiveError, transaction_->InactiveErrorMessage());
diff --git a/third_party/WebKit/Source/modules/indexeddb/IDBCursor.h b/third_party/WebKit/Source/modules/indexeddb/IDBCursor.h index ce2ccca..4f9c332 100644 --- a/third_party/WebKit/Source/modules/indexeddb/IDBCursor.h +++ b/third_party/WebKit/Source/modules/indexeddb/IDBCursor.h
@@ -120,7 +120,6 @@ Member<IDBKey> key_; Member<IDBKey> primary_key_; RefPtr<IDBValue> value_; - int64_t next_tracing_id_ = 0; }; } // namespace blink
diff --git a/third_party/WebKit/Source/modules/indexeddb/IDBFactory.cpp b/third_party/WebKit/Source/modules/indexeddb/IDBFactory.cpp index 7cbb1a6..ee7c4ed 100644 --- a/third_party/WebKit/Source/modules/indexeddb/IDBFactory.cpp +++ b/third_party/WebKit/Source/modules/indexeddb/IDBFactory.cpp
@@ -66,8 +66,7 @@ IDBRequest* IDBFactory::GetDatabaseNames(ScriptState* script_state, ExceptionState& exception_state) { IDB_TRACE("IDBFactory::getDatabaseNamesRequestSetup"); - IDBRequest::AsyncTraceState metrics("IDBFactory::getDatabaseNames", this, - ++next_tracing_id_); + IDBRequest::AsyncTraceState metrics("IDBFactory::getDatabaseNames"); IDBRequest* request = IDBRequest::Create(script_state, IDBAny::CreateNull(), nullptr, std::move(metrics)); // TODO(jsbell): Used only by inspector; remove unneeded checks/exceptions? @@ -112,8 +111,7 @@ int64_t version, ExceptionState& exception_state) { IDB_TRACE1("IDBFactory::open", "name", name.Utf8()); - IDBRequest::AsyncTraceState metrics("IDBFactory::open", this, - ++next_tracing_id_); + IDBRequest::AsyncTraceState metrics("IDBFactory::open"); IDBDatabase::RecordApiCallsHistogram(kIDBOpenCall); DCHECK(version >= 1 || version == IDBDatabaseMetadata::kNoVersion); if (!IsContextValid(ExecutionContext::From(script_state))) @@ -176,8 +174,7 @@ ExceptionState& exception_state, bool force_close) { IDB_TRACE1("IDBFactory::deleteDatabase", "name", name.Utf8()); - IDBRequest::AsyncTraceState metrics("IDBFactory::deleteDatabase", this, - ++next_tracing_id_); + IDBRequest::AsyncTraceState metrics("IDBFactory::deleteDatabase"); IDBDatabase::RecordApiCallsHistogram(kIDBDeleteDatabaseCall); if (!IsContextValid(ExecutionContext::From(script_state))) return nullptr;
diff --git a/third_party/WebKit/Source/modules/indexeddb/IDBFactory.h b/third_party/WebKit/Source/modules/indexeddb/IDBFactory.h index f77f103..48d2e50 100644 --- a/third_party/WebKit/Source/modules/indexeddb/IDBFactory.h +++ b/third_party/WebKit/Source/modules/indexeddb/IDBFactory.h
@@ -78,7 +78,6 @@ const String& name, ExceptionState&, bool); - int64_t next_tracing_id_ = 0; }; } // namespace blink
diff --git a/third_party/WebKit/Source/modules/indexeddb/IDBIndex.cpp b/third_party/WebKit/Source/modules/indexeddb/IDBIndex.cpp index 527148a..e77e938 100644 --- a/third_party/WebKit/Source/modules/indexeddb/IDBIndex.cpp +++ b/third_party/WebKit/Source/modules/indexeddb/IDBIndex.cpp
@@ -117,8 +117,7 @@ ExceptionState& exception_state) { IDB_TRACE1("IDBIndex::openCursorRequestSetup", "index_name", metadata_->name.Utf8()); - IDBRequest::AsyncTraceState metrics("IDBIndex::openCursor", this, - ++next_tracing_id_); + IDBRequest::AsyncTraceState metrics("IDBIndex::openCursor"); if (IsDeleted()) { exception_state.ThrowDOMException(kInvalidStateError, IDBDatabase::kIndexDeletedErrorMessage); @@ -164,8 +163,7 @@ ExceptionState& exception_state) { IDB_TRACE1("IDBIndex::countRequestSetup", "index_name", metadata_->name.Utf8()); - IDBRequest::AsyncTraceState metrics("IDBIndex::count", this, - ++next_tracing_id_); + IDBRequest::AsyncTraceState metrics("IDBIndex::count"); if (IsDeleted()) { exception_state.ThrowDOMException(kInvalidStateError, IDBDatabase::kIndexDeletedErrorMessage); @@ -202,8 +200,7 @@ ExceptionState& exception_state) { IDB_TRACE1("IDBIndex::openKeyCursorRequestSetup", "index_name", metadata_->name.Utf8()); - IDBRequest::AsyncTraceState metrics("IDBIndex::openKeyCursor", this, - ++next_tracing_id_); + IDBRequest::AsyncTraceState metrics("IDBIndex::openKeyCursor"); if (IsDeleted()) { exception_state.ThrowDOMException(kInvalidStateError, IDBDatabase::kIndexDeletedErrorMessage); @@ -240,8 +237,7 @@ const ScriptValue& key, ExceptionState& exception_state) { IDB_TRACE1("IDBIndex::getRequestSetup", "index_name", metadata_->name.Utf8()); - IDBRequest::AsyncTraceState metrics("IDBIndex::get", this, - ++next_tracing_id_); + IDBRequest::AsyncTraceState metrics("IDBIndex::get"); return GetInternal(script_state, key, exception_state, false, std::move(metrics)); } @@ -259,8 +255,7 @@ ExceptionState& exception_state) { IDB_TRACE1("IDBIndex::getAllRequestSetup", "index_name", metadata_->name.Utf8()); - IDBRequest::AsyncTraceState metrics("IDBIndex::getAll", this, - ++next_tracing_id_); + IDBRequest::AsyncTraceState metrics("IDBIndex::getAll"); return GetAllInternal(script_state, range, max_count, exception_state, false, std::move(metrics)); } @@ -278,8 +273,7 @@ ExceptionState& exception_state) { IDB_TRACE1("IDBIndex::getAllKeysRequestSetup", "index_name", metadata_->name.Utf8()); - IDBRequest::AsyncTraceState metrics("IDBIndex::getAllKeys", this, - ++next_tracing_id_); + IDBRequest::AsyncTraceState metrics("IDBIndex::getAllKeys"); return GetAllInternal(script_state, range, max_count, exception_state, /*key_only=*/true, std::move(metrics)); } @@ -289,8 +283,7 @@ ExceptionState& exception_state) { IDB_TRACE1("IDBIndex::getKeyRequestSetup", "index_name", metadata_->name.Utf8()); - IDBRequest::AsyncTraceState metrics("IDBIndex::getKey", this, - ++next_tracing_id_); + IDBRequest::AsyncTraceState metrics("IDBIndex::getKey"); return GetInternal(script_state, key, exception_state, true, std::move(metrics)); }
diff --git a/third_party/WebKit/Source/modules/indexeddb/IDBIndex.h b/third_party/WebKit/Source/modules/indexeddb/IDBIndex.h index acc3ba1..45411245 100644 --- a/third_party/WebKit/Source/modules/indexeddb/IDBIndex.h +++ b/third_party/WebKit/Source/modules/indexeddb/IDBIndex.h
@@ -140,7 +140,6 @@ Member<IDBObjectStore> object_store_; Member<IDBTransaction> transaction_; bool deleted_ = false; - int64_t next_tracing_id_ = 0; }; } // namespace blink
diff --git a/third_party/WebKit/Source/modules/indexeddb/IDBObjectStore.cpp b/third_party/WebKit/Source/modules/indexeddb/IDBObjectStore.cpp index 1e89bd3..075fca029 100644 --- a/third_party/WebKit/Source/modules/indexeddb/IDBObjectStore.cpp +++ b/third_party/WebKit/Source/modules/indexeddb/IDBObjectStore.cpp
@@ -133,8 +133,7 @@ ExceptionState& exception_state) { IDB_TRACE1("IDBObjectStore::getRequestSetup", "store_name", metadata_->name.Utf8()); - IDBRequest::AsyncTraceState metrics("IDBObjectStore::get", this, - ++next_tracing_id_); + IDBRequest::AsyncTraceState metrics("IDBObjectStore::get"); if (IsDeleted()) { exception_state.ThrowDOMException( kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage); @@ -174,8 +173,7 @@ ExceptionState& exception_state) { IDB_TRACE1("IDBObjectStore::getKeyRequestSetup", "store_name", metadata_->name.Utf8()); - IDBRequest::AsyncTraceState metrics("IDBObjectStore::getKey", this, - ++next_tracing_id_); + IDBRequest::AsyncTraceState metrics("IDBObjectStore::getKey"); if (IsDeleted()) { exception_state.ThrowDOMException( kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage); @@ -223,8 +221,7 @@ ExceptionState& exception_state) { IDB_TRACE1("IDBObjectStore::getAllRequestSetup", "store_name", metadata_->name.Utf8()); - IDBRequest::AsyncTraceState metrics("IDBObjectStore::getAll", this, - ++next_tracing_id_); + IDBRequest::AsyncTraceState metrics("IDBObjectStore::getAll"); if (!max_count) max_count = std::numeric_limits<uint32_t>::max(); @@ -270,8 +267,7 @@ ExceptionState& exception_state) { IDB_TRACE1("IDBObjectStore::getAllKeysRequestSetup", "store_name", metadata_->name.Utf8()); - IDBRequest::AsyncTraceState metrics("IDBObjectStore::getAllKeys", this, - ++next_tracing_id_); + IDBRequest::AsyncTraceState metrics("IDBObjectStore::getAllKeys"); if (!max_count) max_count = std::numeric_limits<uint32_t>::max(); @@ -391,7 +387,7 @@ tracing_name = "IDBCursor::update"; break; } - IDBRequest::AsyncTraceState metrics(tracing_name, this, ++next_tracing_id_); + IDBRequest::AsyncTraceState metrics(tracing_name); if (IsDeleted()) { exception_state.ThrowDOMException( kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage); @@ -551,8 +547,7 @@ ExceptionState& exception_state) { IDB_TRACE1("IDBObjectStore::deleteRequestSetup", "store_name", metadata_->name.Utf8()); - IDBRequest::AsyncTraceState metrics("IDBObjectStore::delete", this, - ++next_tracing_id_); + IDBRequest::AsyncTraceState metrics("IDBObjectStore::delete"); if (IsDeleted()) { exception_state.ThrowDOMException( kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage); @@ -595,8 +590,7 @@ IDBRequest* IDBObjectStore::clear(ScriptState* script_state, ExceptionState& exception_state) { IDB_TRACE("IDBObjectStore::clearRequestSetup"); - IDBRequest::AsyncTraceState metrics("IDBObjectStore::clear", this, - ++next_tracing_id_); + IDBRequest::AsyncTraceState metrics("IDBObjectStore::clear"); if (IsDeleted()) { exception_state.ThrowDOMException( kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage); @@ -732,8 +726,7 @@ ExceptionState& exception_state) { IDB_TRACE1("IDBObjectStore::createIndexRequestSetup", "store_name", metadata_->name.Utf8()); - IDBRequest::AsyncTraceState metrics("IDBObjectStore::createIndex", this, - ++next_tracing_id_); + IDBRequest::AsyncTraceState metrics("IDBObjectStore::createIndex"); if (!transaction_->IsVersionChange()) { exception_state.ThrowDOMException( kInvalidStateError, @@ -886,8 +879,7 @@ ExceptionState& exception_state) { IDB_TRACE1("IDBObjectStore::openCursorRequestSetup", "store_name", metadata_->name.Utf8()); - IDBRequest::AsyncTraceState metrics("IDBObjectStore::openCursor", this, - ++next_tracing_id_); + IDBRequest::AsyncTraceState metrics("IDBObjectStore::openCursor"); if (IsDeleted()) { exception_state.ThrowDOMException( kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage); @@ -938,8 +930,7 @@ ExceptionState& exception_state) { IDB_TRACE1("IDBObjectStore::openKeyCursorRequestSetup", "store_name", metadata_->name.Utf8()); - IDBRequest::AsyncTraceState metrics("IDBObjectStore::openKeyCursor", this, - ++next_tracing_id_); + IDBRequest::AsyncTraceState metrics("IDBObjectStore::openKeyCursor"); if (IsDeleted()) { exception_state.ThrowDOMException( kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage); @@ -981,8 +972,7 @@ ExceptionState& exception_state) { IDB_TRACE1("IDBObjectStore::countRequestSetup", "store_name", metadata_->name.Utf8()); - IDBRequest::AsyncTraceState metrics("IDBObjectStore::count", this, - ++next_tracing_id_); + IDBRequest::AsyncTraceState metrics("IDBObjectStore::count"); if (IsDeleted()) { exception_state.ThrowDOMException( kInvalidStateError, IDBDatabase::kObjectStoreDeletedErrorMessage);
diff --git a/third_party/WebKit/Source/modules/indexeddb/IDBObjectStore.h b/third_party/WebKit/Source/modules/indexeddb/IDBObjectStore.h index 99320e4..bf1abbc 100644 --- a/third_party/WebKit/Source/modules/indexeddb/IDBObjectStore.h +++ b/third_party/WebKit/Source/modules/indexeddb/IDBObjectStore.h
@@ -219,8 +219,6 @@ // after a transaction is finished, and can be cleared. IDBIndexMap index_map_; - int64_t next_tracing_id_ = 0; - #if DCHECK_IS_ON() bool clear_index_cache_called_ = false; #endif // DCHECK_IS_ON()
diff --git a/third_party/WebKit/Source/modules/indexeddb/IDBRequest.cpp b/third_party/WebKit/Source/modules/indexeddb/IDBRequest.cpp index 349a2fc..f4bcdbc 100644 --- a/third_party/WebKit/Source/modules/indexeddb/IDBRequest.cpp +++ b/third_party/WebKit/Source/modules/indexeddb/IDBRequest.cpp
@@ -28,6 +28,7 @@ #include "modules/indexeddb/IDBRequest.h" +#include <atomic> #include <memory> #include <utility> @@ -58,23 +59,38 @@ namespace blink { -IDBRequest::AsyncTraceState::AsyncTraceState(const char* tracing_name, - void* id, - size_t sub_id) - : tracing_name_(tracing_name), id_(static_cast<char*>(id) + sub_id) { - if (tracing_name_) - TRACE_EVENT_ASYNC_BEGIN0("IndexedDB", tracing_name_, id_); +IDBRequest::AsyncTraceState::AsyncTraceState(const char* trace_event_name) + : trace_event_name_(nullptr) { + // If PopulateForNewEvent is called, it sets trace_event_name_ to + // trace_event_name. Otherwise, trace_event_name_ is nullptr, so this instance + // is considered empty. This roundabout initialization lets us avoid calling + // TRACE_EVENT_ASYNC_END0 with an uninitalized ID. + TRACE_EVENT_ASYNC_BEGIN0("IndexedDB", trace_event_name, + PopulateForNewEvent(trace_event_name)); } void IDBRequest::AsyncTraceState::RecordAndReset() { - if (tracing_name_) - TRACE_EVENT_ASYNC_END0("IndexedDB", tracing_name_, id_); - tracing_name_ = nullptr; + if (trace_event_name_) { + TRACE_EVENT_ASYNC_END0("IndexedDB", trace_event_name_, id_); + trace_event_name_ = nullptr; + } } IDBRequest::AsyncTraceState::~AsyncTraceState() { - if (tracing_name_) - TRACE_EVENT_ASYNC_END0("IndexedDB", tracing_name_, id_); + if (trace_event_name_) + TRACE_EVENT_ASYNC_END0("IndexedDB", trace_event_name_, id_); +} + +size_t IDBRequest::AsyncTraceState::PopulateForNewEvent( + const char* trace_event_name) { + DCHECK(trace_event_name); + DCHECK(!trace_event_name_); + trace_event_name_ = trace_event_name; + + static std::atomic<size_t> counter(0); + id_ = counter.fetch_add(1, std::memory_order_relaxed); + + return id_; } IDBRequest* IDBRequest::Create(ScriptState* script_state, @@ -102,7 +118,7 @@ source_(source) {} IDBRequest::~IDBRequest() { - DCHECK((ready_state_ == DONE && !metrics_.is_valid()) || + DCHECK((ready_state_ == DONE && metrics_.IsEmpty()) || ready_state_ == kEarlyDeath || !GetExecutionContext()); }
diff --git a/third_party/WebKit/Source/modules/indexeddb/IDBRequest.h b/third_party/WebKit/Source/modules/indexeddb/IDBRequest.h index 9b2faeb0..a256a51 100644 --- a/third_party/WebKit/Source/modules/indexeddb/IDBRequest.h +++ b/third_party/WebKit/Source/modules/indexeddb/IDBRequest.h
@@ -68,31 +68,89 @@ USING_GARBAGE_COLLECTED_MIXIN(IDBRequest); public: - // Records async tracing, starting on contruction and ending on destruction or - // a call to |RecordAndReset()|. - class AsyncTraceState { + // Container for async tracing state. + // + // The documentation for TRACE_EVENT_ASYNC_{BEGIN,END} suggests identifying + // trace events by using pointers or a counter that is always incremented on + // the same thread. This is not viable for IndexedDB, because the same object + // can result in multiple trace events (requests associated with cursors), and + // IndexedDB can be used from multiple threads in the same renderer (workers). + // Furthermore, we want to record the beginning event of an async trace right + // when we start serving an IDB API call, before the IDBRequest object is + // created, so we can't rely on information in an IDBRequest. + // + // This class solves the ID uniqueness problem by relying on an atomic counter + // to generating unique IDs in a threadsafe manner. The atomic machinery is + // used when tracing is enabled. The recording problem is solved by having + // instances of this class store the information needed to record async trace + // end events (via TRACE_EVENT_ASYNC_END). + // + // From a mechanical perspective, creating an AsyncTraceState instance records + // the beginning event of an async trace. The instance is then moved into an + // IDBRequest, which records the async trace's end event at the right time. + class MODULES_EXPORT AsyncTraceState { public: - AsyncTraceState() {} - AsyncTraceState(const char* tracing_name, void*, size_t sub_id); + // Creates an empty instance, which does not produce any tracing events. + // + // This is used for internal requests that should not show up in an + // application's trace. Examples of internal requests are the requests + // issued by DevTools, and the requests used to populate indexes. + explicit AsyncTraceState() {} + + // Creates an instance that produces begin/end events with the given name. + // + // The string pointed to by tracing_name argument must live for the entire + // application. The easiest way to meet this requirement is to have it be a + // string literal. + explicit AsyncTraceState(const char* trace_event_name); ~AsyncTraceState(); + + // Used to transfer the trace end event state to an IDBRequest. AsyncTraceState(AsyncTraceState&& other) { - this->tracing_name_ = other.tracing_name_; + DCHECK(IsEmpty()); + this->trace_event_name_ = other.trace_event_name_; this->id_ = other.id_; - other.tracing_name_ = nullptr; + other.trace_event_name_ = nullptr; } AsyncTraceState& operator=(AsyncTraceState&& rhs) { - this->tracing_name_ = rhs.tracing_name_; + DCHECK(IsEmpty()); + this->trace_event_name_ = rhs.trace_event_name_; this->id_ = rhs.id_; - rhs.tracing_name_ = nullptr; + rhs.trace_event_name_ = nullptr; return *this; } - bool is_valid() const { return tracing_name_; } + // True if this instance does not store information for a tracing end event. + // + // An instance is cleared when RecordAndReset() is called on it, or when its + // state is moved into a different instance. Empty instances are also + // produced by the AsyncStateTrace() constructor. + bool IsEmpty() const { return !trace_event_name_; } + + // Records the trace end event whose information is stored in this instance. + // + // The method results in the completion of the async trace tracked by this + // instance, so the instance is cleared. void RecordAndReset(); + protected: // For testing + const char* trace_event_name() const { return trace_event_name_; } + size_t id() const { return id_; } + + // Populates the instance with state for a new async trace. + // + // The method uses the given even name and generates a new unique ID. The + // newly generated unique ID is returned. + size_t PopulateForNewEvent(const char* trace_event_name); + private: - const char* tracing_name_ = nullptr; - const void* id_; + // The name of the async trace events tracked by this instance. + // + // Null is used to signal that the instance is empty, so the event name + // cannot be null. + const char* trace_event_name_ = nullptr; + // Uniquely generated ID that ties an async trace's begin and end events. + size_t id_; DISALLOW_COPY_AND_ASSIGN(AsyncTraceState); }; @@ -253,7 +311,7 @@ #endif // DCHECK_IS_ON() void AssignNewMetrics(AsyncTraceState metrics) { - DCHECK(!metrics_.is_valid()); + DCHECK(metrics_.IsEmpty()); metrics_ = std::move(metrics); }
diff --git a/third_party/WebKit/Source/modules/indexeddb/IDBRequestTest.cpp b/third_party/WebKit/Source/modules/indexeddb/IDBRequestTest.cpp index 1fcf203c..f6f063b 100644 --- a/third_party/WebKit/Source/modules/indexeddb/IDBRequestTest.cpp +++ b/third_party/WebKit/Source/modules/indexeddb/IDBRequestTest.cpp
@@ -303,5 +303,84 @@ } } +// Expose private state for testing. +class AsyncTraceStateForTesting : public IDBRequest::AsyncTraceState { + public: + AsyncTraceStateForTesting() : IDBRequest::AsyncTraceState() {} + AsyncTraceStateForTesting(AsyncTraceStateForTesting&& other) + : IDBRequest::AsyncTraceState(std::move(other)) {} + AsyncTraceStateForTesting& operator=(AsyncTraceStateForTesting&& rhs) { + AsyncTraceState::operator=(std::move(rhs)); + return *this; + } + + const char* trace_event_name() const { + return IDBRequest::AsyncTraceState::trace_event_name(); + } + size_t id() const { return IDBRequest::AsyncTraceState::id(); } + + size_t PopulateForNewEvent(const char* trace_event_name) { + return IDBRequest::AsyncTraceState::PopulateForNewEvent(trace_event_name); + } +}; + +TEST(IDBRequestAsyncTraceStateTest, EmptyConstructor) { + AsyncTraceStateForTesting state; + + EXPECT_EQ(nullptr, state.trace_event_name()); + EXPECT_TRUE(state.IsEmpty()); +} + +TEST(IDBRequestAsyncTraceStateTest, PopulateForNewEvent) { + AsyncTraceStateForTesting state1, state2, state3; + + const char* name1 = "event1"; + size_t id1 = state1.PopulateForNewEvent(name1); + const char* name2 = "event2"; + size_t id2 = state2.PopulateForNewEvent(name2); + const char* name3 = "event3"; + size_t id3 = state3.PopulateForNewEvent(name3); + + EXPECT_EQ(name1, state1.trace_event_name()); + EXPECT_EQ(name2, state2.trace_event_name()); + EXPECT_EQ(name3, state3.trace_event_name()); + EXPECT_EQ(id1, state1.id()); + EXPECT_EQ(id2, state2.id()); + EXPECT_EQ(id3, state3.id()); + + EXPECT_NE(id1, id2); + EXPECT_NE(id1, id3); + EXPECT_NE(id2, id3); + + EXPECT_TRUE(!state1.IsEmpty()); + EXPECT_TRUE(!state2.IsEmpty()); + EXPECT_TRUE(!state3.IsEmpty()); +} + +TEST(IDBRequestAsyncTraceStateTest, MoveConstructor) { + AsyncTraceStateForTesting source_state; + const char* event_name = "event_name"; + size_t id = source_state.PopulateForNewEvent(event_name); + + AsyncTraceStateForTesting state(std::move(source_state)); + EXPECT_EQ(event_name, state.trace_event_name()); + EXPECT_EQ(id, state.id()); + EXPECT_TRUE(source_state.IsEmpty()); +} + +TEST(IDBRequestAsyncTraceStateTest, MoveAssignment) { + AsyncTraceStateForTesting source_state; + const char* event_name = "event_name"; + size_t id = source_state.PopulateForNewEvent(event_name); + + AsyncTraceStateForTesting state; + + EXPECT_TRUE(state.IsEmpty()); + state = std::move(source_state); + EXPECT_EQ(event_name, state.trace_event_name()); + EXPECT_EQ(id, state.id()); + EXPECT_TRUE(source_state.IsEmpty()); +} + } // namespace } // namespace blink
diff --git a/third_party/WebKit/Source/modules/payments/BUILD.gn b/third_party/WebKit/Source/modules/payments/BUILD.gn index 79eb3f58..8dd3cc7 100644 --- a/third_party/WebKit/Source/modules/payments/BUILD.gn +++ b/third_party/WebKit/Source/modules/payments/BUILD.gn
@@ -16,6 +16,8 @@ "PaymentAppServiceWorkerRegistration.cpp", "PaymentAppServiceWorkerRegistration.h", "PaymentCompleter.h", + "PaymentEventDataConversion.cpp", + "PaymentEventDataConversion.h", "PaymentInstruments.cpp", "PaymentInstruments.h", "PaymentManager.cpp", @@ -24,8 +26,6 @@ "PaymentRequest.h", "PaymentRequestEvent.cpp", "PaymentRequestEvent.h", - "PaymentRequestEventDataConversion.cpp", - "PaymentRequestEventDataConversion.h", "PaymentRequestRespondWithObserver.cpp", "PaymentRequestRespondWithObserver.h", "PaymentRequestUpdateEvent.cpp",
diff --git a/third_party/WebKit/Source/modules/payments/PaymentEventDataConversion.cpp b/third_party/WebKit/Source/modules/payments/PaymentEventDataConversion.cpp new file mode 100644 index 0000000..fed8f8f --- /dev/null +++ b/third_party/WebKit/Source/modules/payments/PaymentEventDataConversion.cpp
@@ -0,0 +1,141 @@ +// 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 "modules/payments/PaymentEventDataConversion.h" + +#include "bindings/core/v8/ToV8ForCore.h" +#include "modules/payments/PaymentCurrencyAmount.h" +#include "modules/payments/PaymentDetailsModifier.h" +#include "modules/payments/PaymentItem.h" +#include "modules/payments/PaymentMethodData.h" +#include "modules/payments/PaymentRequestEventInit.h" +#include "platform/bindings/ScriptState.h" +#include "public/platform/modules/payments/WebPaymentMethodData.h" +#include "public/platform/modules/payments/WebPaymentRequestEventData.h" + +namespace blink { +namespace { + +PaymentCurrencyAmount ToPaymentCurrencyAmount( + const WebPaymentCurrencyAmount& web_amount) { + PaymentCurrencyAmount amount; + amount.setCurrency(web_amount.currency); + amount.setValue(web_amount.value); + amount.setCurrencySystem(web_amount.currency_system); + return amount; +} + +PaymentItem ToPaymentItem(const WebPaymentItem& web_item) { + PaymentItem item; + item.setLabel(web_item.label); + item.setAmount(ToPaymentCurrencyAmount(web_item.amount)); + item.setPending(web_item.pending); + return item; +} + +PaymentDetailsModifier ToPaymentDetailsModifier( + ScriptState* script_state, + const WebPaymentDetailsModifier& web_modifier) { + PaymentDetailsModifier modifier; + Vector<String> supported_methods; + for (const auto& web_method : web_modifier.supported_methods) { + supported_methods.push_back(web_method); + } + modifier.setSupportedMethods(supported_methods); + modifier.setTotal(ToPaymentItem(web_modifier.total)); + HeapVector<PaymentItem> additional_display_items; + for (const auto& web_item : web_modifier.additional_display_items) { + additional_display_items.push_back(ToPaymentItem(web_item)); + } + modifier.setAdditionalDisplayItems(additional_display_items); + return modifier; +} + +ScriptValue StringDataToScriptValue(ScriptState* script_state, + const WebString& stringified_data) { + if (!script_state->ContextIsValid()) + return ScriptValue(); + + ScriptState::Scope scope(script_state); + v8::Local<v8::Value> v8_value; + if (!v8::JSON::Parse(script_state->GetIsolate(), + V8String(script_state->GetIsolate(), stringified_data)) + .ToLocal(&v8_value)) { + return ScriptValue(); + } + return ScriptValue(script_state, v8_value); +} + +PaymentMethodData ToPaymentMethodData( + ScriptState* script_state, + const WebPaymentMethodData& web_method_data) { + PaymentMethodData method_data; + Vector<String> supported_methods; + for (const auto& method : web_method_data.supported_methods) { + supported_methods.push_back(method); + } + method_data.setSupportedMethods(supported_methods); + method_data.setData( + StringDataToScriptValue(script_state, web_method_data.stringified_data)); + return method_data; +} + +} // namespace + +PaymentRequestEventInit PaymentEventDataConversion::ToPaymentRequestEventInit( + ScriptState* script_state, + const WebPaymentRequestEventData& web_event_data) { + DCHECK(script_state); + + PaymentRequestEventInit event_data; + if (!script_state->ContextIsValid()) + return event_data; + + ScriptState::Scope scope(script_state); + + event_data.setTopLevelOrigin(web_event_data.top_level_origin); + event_data.setPaymentRequestOrigin(web_event_data.payment_request_origin); + event_data.setPaymentRequestId(web_event_data.payment_request_id); + HeapVector<PaymentMethodData> method_data; + for (const auto& md : web_event_data.method_data) { + method_data.push_back(ToPaymentMethodData(script_state, md)); + } + event_data.setMethodData(method_data); + event_data.setTotal(ToPaymentItem(web_event_data.total)); + HeapVector<PaymentDetailsModifier> modifiers; + for (const auto& modifier : web_event_data.modifiers) { + modifiers.push_back(ToPaymentDetailsModifier(script_state, modifier)); + } + event_data.setModifiers(modifiers); + event_data.setInstrumentKey(web_event_data.instrument_key); + return event_data; +} + +CanMakePaymentEventInit PaymentEventDataConversion::ToCanMakePaymentEventInit( + ScriptState* script_state, + const WebCanMakePaymentEventData& web_event_data) { + DCHECK(script_state); + + CanMakePaymentEventInit event_data; + if (!script_state->ContextIsValid()) + return event_data; + + ScriptState::Scope scope(script_state); + + event_data.setTopLevelOrigin(web_event_data.top_level_origin); + event_data.setPaymentRequestOrigin(web_event_data.payment_request_origin); + HeapVector<PaymentMethodData> method_data; + for (const auto& md : web_event_data.method_data) { + method_data.push_back(ToPaymentMethodData(script_state, md)); + } + event_data.setMethodData(method_data); + HeapVector<PaymentDetailsModifier> modifiers; + for (const auto& modifier : web_event_data.modifiers) { + modifiers.push_back(ToPaymentDetailsModifier(script_state, modifier)); + } + event_data.setModifiers(modifiers); + return event_data; +} + +} // namespace blink
diff --git a/third_party/WebKit/Source/modules/payments/PaymentEventDataConversion.h b/third_party/WebKit/Source/modules/payments/PaymentEventDataConversion.h new file mode 100644 index 0000000..3fd7153 --- /dev/null +++ b/third_party/WebKit/Source/modules/payments/PaymentEventDataConversion.h
@@ -0,0 +1,32 @@ +// 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 PaymentEventDataConversion_h +#define PaymentEventDataConversion_h + +#include "modules/payments/CanMakePaymentEventInit.h" +#include "modules/payments/PaymentRequestEventInit.h" +#include "platform/wtf/Allocator.h" + +namespace blink { + +class ScriptState; +struct WebCanMakePaymentEventData; +struct WebPaymentRequestEventData; + +class MODULES_EXPORT PaymentEventDataConversion { + STATIC_ONLY(PaymentEventDataConversion); + + public: + static CanMakePaymentEventInit ToCanMakePaymentEventInit( + ScriptState*, + const WebCanMakePaymentEventData&); + static PaymentRequestEventInit ToPaymentRequestEventInit( + ScriptState*, + const WebPaymentRequestEventData&); +}; + +} // namespace blink + +#endif // PaymentEventDataConversion_h
diff --git a/third_party/WebKit/Source/modules/payments/PaymentEventDataConversionTest.cpp b/third_party/WebKit/Source/modules/payments/PaymentEventDataConversionTest.cpp new file mode 100644 index 0000000..596f245b --- /dev/null +++ b/third_party/WebKit/Source/modules/payments/PaymentEventDataConversionTest.cpp
@@ -0,0 +1,133 @@ +// 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 "modules/payments/PaymentEventDataConversion.h" + +#include "bindings/core/v8/ScriptValue.h" +#include "bindings/core/v8/V8BindingForCore.h" +#include "bindings/core/v8/V8BindingForTesting.h" +#include "platform/bindings/ScriptState.h" +#include "public/platform/modules/payments/WebPaymentRequestEventData.h" +#include "testing/gmock/include/gmock/gmock.h" +#include "testing/gtest/include/gtest/gtest.h" + +namespace blink { +namespace { + +static WebPaymentItem CreateWebPaymentItemForTest() { + WebPaymentItem web_item; + web_item.label = WebString::FromUTF8("Label"); + web_item.amount.currency = WebString::FromUTF8("USD"); + web_item.amount.value = WebString::FromUTF8("9.99"); + return web_item; +} + +static WebPaymentMethodData CreateWebPaymentMethodDataForTest() { + WebPaymentMethodData web_method_data; + WebString method = WebString::FromUTF8("foo"); + web_method_data.supported_methods = WebVector<WebString>(&method, 1); + web_method_data.stringified_data = "{\"merchantId\":\"12345\"}"; + return web_method_data; +} + +static WebCanMakePaymentEventData CreateWebCanMakePaymentEventDataForTest() { + WebCanMakePaymentEventData web_data; + web_data.top_level_origin = WebString::FromUTF8("https://example.com"); + web_data.payment_request_origin = WebString::FromUTF8("https://example.com"); + Vector<WebPaymentMethodData> method_data; + method_data.push_back(CreateWebPaymentMethodDataForTest()); + web_data.method_data = WebVector<WebPaymentMethodData>(method_data); + return web_data; +} + +static WebPaymentRequestEventData CreateWebPaymentRequestEventDataForTest() { + WebPaymentRequestEventData web_data; + web_data.top_level_origin = WebString::FromUTF8("https://example.com"); + web_data.payment_request_origin = WebString::FromUTF8("https://example.com"); + web_data.payment_request_id = WebString::FromUTF8("payment-request-id"); + Vector<WebPaymentMethodData> method_data; + method_data.push_back(CreateWebPaymentMethodDataForTest()); + web_data.method_data = WebVector<WebPaymentMethodData>(method_data); + web_data.total = CreateWebPaymentItemForTest(); + web_data.instrument_key = WebString::FromUTF8("payment-instrument-key"); + return web_data; +} + +TEST(PaymentEventDataConversionTest, ToCanMakePaymentEventData) { + V8TestingScope scope; + WebCanMakePaymentEventData web_data = + CreateWebCanMakePaymentEventDataForTest(); + CanMakePaymentEventInit data = + PaymentEventDataConversion::ToCanMakePaymentEventInit( + scope.GetScriptState(), web_data); + + ASSERT_TRUE(data.hasTopLevelOrigin()); + EXPECT_EQ("https://example.com", data.topLevelOrigin()); + + ASSERT_TRUE(data.hasPaymentRequestOrigin()); + EXPECT_EQ("https://example.com", data.paymentRequestOrigin()); + + ASSERT_TRUE(data.hasMethodData()); + ASSERT_EQ(1UL, data.methodData().size()); + ASSERT_TRUE(data.methodData().front().hasSupportedMethods()); + ASSERT_EQ(1UL, data.methodData().front().supportedMethods().size()); + ASSERT_EQ("foo", data.methodData().front().supportedMethods().front()); + ASSERT_TRUE(data.methodData().front().hasData()); + ASSERT_TRUE(data.methodData().front().data().IsObject()); + String stringified_data = V8StringToWebCoreString<String>( + v8::JSON::Stringify( + scope.GetContext(), + data.methodData().front().data().V8Value().As<v8::Object>()) + .ToLocalChecked(), + kDoNotExternalize); + EXPECT_EQ("{\"merchantId\":\"12345\"}", stringified_data); +} + +TEST(PaymentEventDataConversionTest, ToPaymentRequestEventData) { + V8TestingScope scope; + WebPaymentRequestEventData web_data = + CreateWebPaymentRequestEventDataForTest(); + PaymentRequestEventInit data = + PaymentEventDataConversion::ToPaymentRequestEventInit( + scope.GetScriptState(), web_data); + + ASSERT_TRUE(data.hasTopLevelOrigin()); + EXPECT_EQ("https://example.com", data.topLevelOrigin()); + + ASSERT_TRUE(data.hasPaymentRequestOrigin()); + EXPECT_EQ("https://example.com", data.paymentRequestOrigin()); + + ASSERT_TRUE(data.hasPaymentRequestId()); + EXPECT_EQ("payment-request-id", data.paymentRequestId()); + + ASSERT_TRUE(data.hasMethodData()); + ASSERT_EQ(1UL, data.methodData().size()); + ASSERT_TRUE(data.methodData().front().hasSupportedMethods()); + ASSERT_EQ(1UL, data.methodData().front().supportedMethods().size()); + ASSERT_EQ("foo", data.methodData().front().supportedMethods().front()); + ASSERT_TRUE(data.methodData().front().hasData()); + ASSERT_TRUE(data.methodData().front().data().IsObject()); + String stringified_data = V8StringToWebCoreString<String>( + v8::JSON::Stringify( + scope.GetContext(), + data.methodData().front().data().V8Value().As<v8::Object>()) + .ToLocalChecked(), + kDoNotExternalize); + EXPECT_EQ("{\"merchantId\":\"12345\"}", stringified_data); + + ASSERT_TRUE(data.hasTotal()); + ASSERT_TRUE(data.total().hasLabel()); + EXPECT_EQ("Label", data.total().label()); + ASSERT_TRUE(data.total().hasAmount()); + ASSERT_TRUE(data.total().amount().hasCurrency()); + EXPECT_EQ("USD", data.total().amount().currency()); + ASSERT_TRUE(data.total().amount().hasValue()); + EXPECT_EQ("9.99", data.total().amount().value()); + + ASSERT_TRUE(data.hasInstrumentKey()); + EXPECT_EQ("payment-instrument-key", data.instrumentKey()); +} + +} // namespace +} // namespace blink
diff --git a/third_party/WebKit/Source/modules/payments/PaymentRequestEventDataConversion.cpp b/third_party/WebKit/Source/modules/payments/PaymentRequestEventDataConversion.cpp deleted file mode 100644 index 6e7997c..0000000 --- a/third_party/WebKit/Source/modules/payments/PaymentRequestEventDataConversion.cpp +++ /dev/null
@@ -1,116 +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 "modules/payments/PaymentRequestEventDataConversion.h" - -#include "bindings/core/v8/ToV8ForCore.h" -#include "modules/payments/PaymentCurrencyAmount.h" -#include "modules/payments/PaymentDetailsModifier.h" -#include "modules/payments/PaymentItem.h" -#include "modules/payments/PaymentMethodData.h" -#include "modules/payments/PaymentRequestEventInit.h" -#include "platform/bindings/ScriptState.h" -#include "public/platform/modules/payments/WebPaymentMethodData.h" -#include "public/platform/modules/payments/WebPaymentRequestEventData.h" - -namespace blink { -namespace { - -PaymentCurrencyAmount ToPaymentCurrencyAmount( - const WebPaymentCurrencyAmount& web_amount) { - PaymentCurrencyAmount amount; - amount.setCurrency(web_amount.currency); - amount.setValue(web_amount.value); - amount.setCurrencySystem(web_amount.currency_system); - return amount; -} - -PaymentItem ToPaymentItem(const WebPaymentItem& web_item) { - PaymentItem item; - item.setLabel(web_item.label); - item.setAmount(ToPaymentCurrencyAmount(web_item.amount)); - item.setPending(web_item.pending); - return item; -} - -PaymentDetailsModifier ToPaymentDetailsModifier( - ScriptState* script_state, - const WebPaymentDetailsModifier& web_modifier) { - PaymentDetailsModifier modifier; - Vector<String> supported_methods; - for (const auto& web_method : web_modifier.supported_methods) { - supported_methods.push_back(web_method); - } - modifier.setSupportedMethods(supported_methods); - modifier.setTotal(ToPaymentItem(web_modifier.total)); - HeapVector<PaymentItem> additional_display_items; - for (const auto& web_item : web_modifier.additional_display_items) { - additional_display_items.push_back(ToPaymentItem(web_item)); - } - modifier.setAdditionalDisplayItems(additional_display_items); - return modifier; -} - -ScriptValue StringDataToScriptValue(ScriptState* script_state, - const WebString& stringified_data) { - if (!script_state->ContextIsValid()) - return ScriptValue(); - - ScriptState::Scope scope(script_state); - v8::Local<v8::Value> v8_value; - if (!v8::JSON::Parse(script_state->GetIsolate(), - V8String(script_state->GetIsolate(), stringified_data)) - .ToLocal(&v8_value)) { - return ScriptValue(); - } - return ScriptValue(script_state, v8_value); -} - -PaymentMethodData ToPaymentMethodData( - ScriptState* script_state, - const WebPaymentMethodData& web_method_data) { - PaymentMethodData method_data; - Vector<String> supported_methods; - for (const auto& method : web_method_data.supported_methods) { - supported_methods.push_back(method); - } - method_data.setSupportedMethods(supported_methods); - method_data.setData( - StringDataToScriptValue(script_state, web_method_data.stringified_data)); - return method_data; -} - -} // namespace - -PaymentRequestEventInit -PaymentRequestEventDataConversion::ToPaymentRequestEventInit( - ScriptState* script_state, - const WebPaymentRequestEventData& web_event_data) { - DCHECK(script_state); - - PaymentRequestEventInit event_data; - if (!script_state->ContextIsValid()) - return event_data; - - ScriptState::Scope scope(script_state); - - event_data.setTopLevelOrigin(web_event_data.top_level_origin); - event_data.setPaymentRequestOrigin(web_event_data.payment_request_origin); - event_data.setPaymentRequestId(web_event_data.payment_request_id); - HeapVector<PaymentMethodData> method_data; - for (const auto& md : web_event_data.method_data) { - method_data.push_back(ToPaymentMethodData(script_state, md)); - } - event_data.setMethodData(method_data); - event_data.setTotal(ToPaymentItem(web_event_data.total)); - HeapVector<PaymentDetailsModifier> modifiers; - for (const auto& modifier : web_event_data.modifiers) { - modifiers.push_back(ToPaymentDetailsModifier(script_state, modifier)); - } - event_data.setModifiers(modifiers); - event_data.setInstrumentKey(web_event_data.instrument_key); - return event_data; -} - -} // namespace blink
diff --git a/third_party/WebKit/Source/modules/payments/PaymentRequestEventDataConversion.h b/third_party/WebKit/Source/modules/payments/PaymentRequestEventDataConversion.h deleted file mode 100644 index d142b2ff..0000000 --- a/third_party/WebKit/Source/modules/payments/PaymentRequestEventDataConversion.h +++ /dev/null
@@ -1,27 +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 PaymentRequestEventDataConversion_h -#define PaymentRequestEventDataConversion_h - -#include "modules/payments/PaymentRequestEventInit.h" -#include "platform/wtf/Allocator.h" - -namespace blink { - -class ScriptState; -struct WebPaymentRequestEventData; - -class MODULES_EXPORT PaymentRequestEventDataConversion { - STATIC_ONLY(PaymentRequestEventDataConversion); - - public: - static PaymentRequestEventInit ToPaymentRequestEventInit( - ScriptState*, - const WebPaymentRequestEventData&); -}; - -} // namespace blink - -#endif // PaymentRequestEventDataConversion_h
diff --git a/third_party/WebKit/Source/modules/payments/PaymentRequestEventDataConversionTest.cpp b/third_party/WebKit/Source/modules/payments/PaymentRequestEventDataConversionTest.cpp deleted file mode 100644 index cfc81e74..0000000 --- a/third_party/WebKit/Source/modules/payments/PaymentRequestEventDataConversionTest.cpp +++ /dev/null
@@ -1,93 +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 "modules/payments/PaymentRequestEventDataConversion.h" - -#include "bindings/core/v8/ScriptValue.h" -#include "bindings/core/v8/V8BindingForCore.h" -#include "bindings/core/v8/V8BindingForTesting.h" -#include "platform/bindings/ScriptState.h" -#include "public/platform/modules/payments/WebPaymentRequestEventData.h" -#include "testing/gmock/include/gmock/gmock.h" -#include "testing/gtest/include/gtest/gtest.h" - -namespace blink { -namespace { - -static WebPaymentItem CreateWebPaymentItemForTest() { - WebPaymentItem web_item; - web_item.label = WebString::FromUTF8("Label"); - web_item.amount.currency = WebString::FromUTF8("USD"); - web_item.amount.value = WebString::FromUTF8("9.99"); - return web_item; -} - -static WebPaymentMethodData CreateWebPaymentMethodDataForTest() { - WebPaymentMethodData web_method_data; - WebString method = WebString::FromUTF8("foo"); - web_method_data.supported_methods = WebVector<WebString>(&method, 1); - web_method_data.stringified_data = "{\"merchantId\":\"12345\"}"; - return web_method_data; -} - -static WebPaymentRequestEventData CreateWebPaymentRequestEventDataForTest() { - WebPaymentRequestEventData web_data; - web_data.top_level_origin = WebString::FromUTF8("https://example.com"); - web_data.payment_request_origin = WebString::FromUTF8("https://example.com"); - web_data.payment_request_id = WebString::FromUTF8("payment-request-id"); - Vector<WebPaymentMethodData> method_data; - method_data.push_back(CreateWebPaymentMethodDataForTest()); - web_data.method_data = WebVector<WebPaymentMethodData>(method_data); - web_data.total = CreateWebPaymentItemForTest(); - web_data.instrument_key = WebString::FromUTF8("payment-instrument-key"); - return web_data; -} - -TEST(PaymentRequestEventDataConversionTest, ToPaymentRequestEventData) { - V8TestingScope scope; - WebPaymentRequestEventData web_data = - CreateWebPaymentRequestEventDataForTest(); - PaymentRequestEventInit data = - PaymentRequestEventDataConversion::ToPaymentRequestEventInit( - scope.GetScriptState(), web_data); - - ASSERT_TRUE(data.hasTopLevelOrigin()); - EXPECT_EQ("https://example.com", data.topLevelOrigin()); - - ASSERT_TRUE(data.hasPaymentRequestOrigin()); - EXPECT_EQ("https://example.com", data.paymentRequestOrigin()); - - ASSERT_TRUE(data.hasPaymentRequestId()); - EXPECT_EQ("payment-request-id", data.paymentRequestId()); - - ASSERT_TRUE(data.hasMethodData()); - ASSERT_EQ(1UL, data.methodData().size()); - ASSERT_TRUE(data.methodData().front().hasSupportedMethods()); - ASSERT_EQ(1UL, data.methodData().front().supportedMethods().size()); - ASSERT_EQ("foo", data.methodData().front().supportedMethods().front()); - ASSERT_TRUE(data.methodData().front().hasData()); - ASSERT_TRUE(data.methodData().front().data().IsObject()); - String stringified_data = V8StringToWebCoreString<String>( - v8::JSON::Stringify( - scope.GetContext(), - data.methodData().front().data().V8Value().As<v8::Object>()) - .ToLocalChecked(), - kDoNotExternalize); - EXPECT_EQ("{\"merchantId\":\"12345\"}", stringified_data); - - ASSERT_TRUE(data.hasTotal()); - ASSERT_TRUE(data.total().hasLabel()); - EXPECT_EQ("Label", data.total().label()); - ASSERT_TRUE(data.total().hasAmount()); - ASSERT_TRUE(data.total().amount().hasCurrency()); - EXPECT_EQ("USD", data.total().amount().currency()); - ASSERT_TRUE(data.total().amount().hasValue()); - EXPECT_EQ("9.99", data.total().amount().value()); - - ASSERT_TRUE(data.hasInstrumentKey()); - EXPECT_EQ("payment-instrument-key", data.instrumentKey()); -} - -} // namespace -} // namespace blink
diff --git a/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerGlobalScopeProxy.cpp b/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerGlobalScopeProxy.cpp index e29973f..5b5c859 100644 --- a/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerGlobalScopeProxy.cpp +++ b/third_party/WebKit/Source/modules/serviceworkers/ServiceWorkerGlobalScopeProxy.cpp
@@ -55,8 +55,8 @@ #include "modules/notifications/Notification.h" #include "modules/notifications/NotificationEvent.h" #include "modules/notifications/NotificationEventInit.h" +#include "modules/payments/PaymentEventDataConversion.h" #include "modules/payments/PaymentRequestEvent.h" -#include "modules/payments/PaymentRequestEventDataConversion.h" #include "modules/payments/PaymentRequestEventInit.h" #include "modules/payments/PaymentRequestRespondWithObserver.h" #include "modules/push_messaging/PushEvent.h" @@ -462,7 +462,7 @@ Event* event = PaymentRequestEvent::Create( EventTypeNames::paymentrequest, - PaymentRequestEventDataConversion::ToPaymentRequestEventInit( + PaymentEventDataConversion::ToPaymentRequestEventInit( WorkerGlobalScope()->ScriptController()->GetScriptState(), web_app_request), respond_with_observer, wait_until_observer);
diff --git a/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.json5 b/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.json5 index 9a68778..fa79b48 100644 --- a/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.json5 +++ b/third_party/WebKit/Source/platform/RuntimeEnabledFeatures.json5
@@ -960,11 +960,6 @@ status: "test", }, { - name: "SlimmingPaintInvalidation", - implied_by: ["SlimmingPaintV2"], - status: "stable", - }, - { name: "SlimmingPaintStrictCullRectClipping", }, {
diff --git a/third_party/WebKit/Source/platform/audio/PushPullFIFO.cpp b/third_party/WebKit/Source/platform/audio/PushPullFIFO.cpp index e23368f..5e87c4af 100644 --- a/third_party/WebKit/Source/platform/audio/PushPullFIFO.cpp +++ b/third_party/WebKit/Source/platform/audio/PushPullFIFO.cpp
@@ -5,6 +5,7 @@ #include "platform/audio/PushPullFIFO.h" #include <memory> +#include "platform/Histogram.h" #include "platform/audio/AudioUtilities.h" #include "platform/wtf/PtrUtil.h" @@ -24,7 +25,33 @@ fifo_bus_ = AudioBus::Create(number_of_channels, fifo_length_); } -PushPullFIFO::~PushPullFIFO() {} +PushPullFIFO::~PushPullFIFO() { + // Capture metrics only after the FIFO is actually pulled. + if (pull_count_ == 0) + return; + + // TODO(hongchan): The fast-shutdown process prevents the data below from + // being collected correctly. Consider using "outside metric collector" that + // survives the fast-shutdown. + + // Capture the percentage of underflow happened based on the total pull count. + // (100 buckets of size 1) This is equivalent of + // "Media.AudioRendererMissedDeadline" metric for WebAudio. + DEFINE_STATIC_LOCAL( + LinearHistogram, + fifo_underflow_percentage_histogram, + ("WebAudio.PushPullFIFO.UnderflowPercentage", 1, 100, 101)); + fifo_underflow_percentage_histogram.Count( + static_cast<int32_t>(100.0 * underflow_count_ / pull_count_)); + + // We only collect the underflow count because no overflow can happen in the + // current implementation. This is similar to + // "Media.AudioRendererAudioGlitches" metric for WebAudio, which is a simple + // flag indicates any instance of glitches during FIFO's lifetime. + DEFINE_STATIC_LOCAL(BooleanHistogram, fifo_underflow_glitches_histogram, + ("WebAudio.PushPullFIFO.UnderflowGlitches")); + fifo_underflow_glitches_histogram.Count(underflow_count_ > 0); +} // Push the data from |input_bus| to FIFO. The size of push is determined by // the length of |input_bus|. @@ -163,6 +190,8 @@ frames_available_ -= frames_to_fill; DCHECK_EQ((index_read_ + frames_available_) % fifo_length_, index_write_); + pull_count_++; + // |frames_requested > frames_available_| means the frames in FIFO is not // enough to fulfill the requested frames from the audio device. return frames_requested > frames_available_
diff --git a/third_party/WebKit/Source/platform/audio/PushPullFIFO.h b/third_party/WebKit/Source/platform/audio/PushPullFIFO.h index 017d89683..9a92fa0f 100644 --- a/third_party/WebKit/Source/platform/audio/PushPullFIFO.h +++ b/third_party/WebKit/Source/platform/audio/PushPullFIFO.h
@@ -82,6 +82,8 @@ // The size of the FIFO. const size_t fifo_length_ = 0; + // For UMA reporting purpose. + unsigned pull_count_ = 0; unsigned overflow_count_ = 0; unsigned underflow_count_ = 0;
diff --git a/third_party/WebKit/Source/platform/exported/WebRuntimeFeatures.cpp b/third_party/WebKit/Source/platform/exported/WebRuntimeFeatures.cpp index 584a51f7..8ab62d4 100644 --- a/third_party/WebKit/Source/platform/exported/WebRuntimeFeatures.cpp +++ b/third_party/WebKit/Source/platform/exported/WebRuntimeFeatures.cpp
@@ -252,10 +252,6 @@ RuntimeEnabledFeatures::SetSlimmingPaintV2Enabled(enable); } -void WebRuntimeFeatures::EnableSlimmingPaintInvalidation(bool enable) { - RuntimeEnabledFeatures::SetSlimmingPaintInvalidationEnabled(enable); -} - void WebRuntimeFeatures::EnableTouchEventFeatureDetection(bool enable) { RuntimeEnabledFeatures::SetTouchEventFeatureDetectionEnabled(enable); }
diff --git a/third_party/WebKit/Source/platform/geometry/LayoutRectOutsets.h b/third_party/WebKit/Source/platform/geometry/LayoutRectOutsets.h index 15617ee..957cea4 100644 --- a/third_party/WebKit/Source/platform/geometry/LayoutRectOutsets.h +++ b/third_party/WebKit/Source/platform/geometry/LayoutRectOutsets.h
@@ -106,6 +106,15 @@ LayoutUnit left_; }; +inline LayoutRectOutsets& operator+=(LayoutRectOutsets& a, + const LayoutRectOutsets& b) { + a.SetTop(a.Top() + b.Top()); + a.SetRight(a.Right() + b.Right()); + a.SetBottom(a.Bottom() + b.Bottom()); + a.SetLeft(a.Left() + b.Left()); + return a; +} + } // namespace blink #endif // LayoutRectOutsets_h
diff --git a/third_party/WebKit/Source/platform/testing/RuntimeEnabledFeaturesTestHelpers.h b/third_party/WebKit/Source/platform/testing/RuntimeEnabledFeaturesTestHelpers.h index 268c28f..0ddb902 100644 --- a/third_party/WebKit/Source/platform/testing/RuntimeEnabledFeaturesTestHelpers.h +++ b/third_party/WebKit/Source/platform/testing/RuntimeEnabledFeaturesTestHelpers.h
@@ -49,10 +49,6 @@ RuntimeEnabledFeatures::SetSlimmingPaintV2Enabled> ScopedSlimmingPaintV2ForTest; typedef ScopedRuntimeEnabledFeatureForTest< - RuntimeEnabledFeatures::SlimmingPaintInvalidationEnabled, - RuntimeEnabledFeatures::SetSlimmingPaintInvalidationEnabled> - ScopedSlimmingPaintInvalidationForTest; -typedef ScopedRuntimeEnabledFeatureForTest< RuntimeEnabledFeatures::PaintUnderInvalidationCheckingEnabled, RuntimeEnabledFeatures::SetPaintUnderInvalidationCheckingEnabled> ScopedPaintUnderInvalidationCheckingForTest;
diff --git a/third_party/WebKit/Source/web/ChromeClientImpl.cpp b/third_party/WebKit/Source/web/ChromeClientImpl.cpp index 1ae58e0..d2340f0 100644 --- a/third_party/WebKit/Source/web/ChromeClientImpl.cpp +++ b/third_party/WebKit/Source/web/ChromeClientImpl.cpp
@@ -798,6 +798,16 @@ return web_view_->PagePopupWindow(); } +void ChromeClientImpl::SetBrowserControlsState(float height, + bool shrinks_layout) { + WebSize size = web_view_->Size(); + if (shrinks_layout) + size.height -= height; + + web_view_->ResizeWithBrowserControls( + size, height, shrinks_layout); +} + bool ChromeClientImpl::ShouldOpenModalDialogDuringPageDismissal( LocalFrame& frame, DialogType dialog_type,
diff --git a/third_party/WebKit/Source/web/ChromeClientImpl.h b/third_party/WebKit/Source/web/ChromeClientImpl.h index a769456..eaa386b 100644 --- a/third_party/WebKit/Source/web/ChromeClientImpl.h +++ b/third_party/WebKit/Source/web/ChromeClientImpl.h
@@ -183,6 +183,8 @@ void ClosePagePopup(PagePopup*) override; DOMWindow* PagePopupWindowForTesting() const override; + void SetBrowserControlsState(float height, bool shrinks_layout) override; + bool ShouldOpenModalDialogDuringPageDismissal( LocalFrame&, DialogType,
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/common/net/buildbot.py b/third_party/WebKit/Tools/Scripts/webkitpy/common/net/buildbot.py index 480cdc3..9bb83e6 100644 --- a/third_party/WebKit/Tools/Scripts/webkitpy/common/net/buildbot.py +++ b/third_party/WebKit/Tools/Scripts/webkitpy/common/net/buildbot.py
@@ -66,6 +66,7 @@ the latest results. """ if build_number: + assert str(build_number).isdigit(), 'expected numeric build number, got %s' % build_number url_base = self.builder_results_url_base(builder_name) return '%s/%s/layout-test-results' % (url_base, build_number) return self.accumulated_results_url_base(builder_name)
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/common/net/buildbot_unittest.py b/third_party/WebKit/Tools/Scripts/webkitpy/common/net/buildbot_unittest.py index 8729842..445f9b1 100644 --- a/third_party/WebKit/Tools/Scripts/webkitpy/common/net/buildbot_unittest.py +++ b/third_party/WebKit/Tools/Scripts/webkitpy/common/net/buildbot_unittest.py
@@ -48,6 +48,10 @@ BuildBot().results_url('Test Builder', 10), 'https://storage.googleapis.com/chromium-layout-test-archives/Test_Builder/10/layout-test-results') + def test_results_url_with_non_numeric_build_number(self): + with self.assertRaisesRegexp(AssertionError, 'expected numeric build number'): + BuildBot().results_url('Test Builder', 'ba5eba11') + def test_builder_results_url_base(self): self.assertEqual( BuildBot().builder_results_url_base('WebKit Mac10.8 (dbg)'),
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl.py b/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl.py index c5e5774..a9c92e0 100644 --- a/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl.py +++ b/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl.py
@@ -143,11 +143,14 @@ url = result_dict['url'] if url is None: return Build(builder_name, None) - match = re.match(r'.*/builds/(\d+)?$', url) + match = re.match(r'.*/builds/(\d+)/?$', url) + if match: + build_number = match.group(1) + return Build(builder_name, int(build_number)) + match = re.match(r'.*/task/([0-9a-f]+)/?$', url) assert match, '%s did not match expected format' % url - build_number = match.group(1) - assert build_number and build_number.isdigit() - return Build(builder_name, int(build_number)) + task_id = match.group(1) + return Build(builder_name, task_id) @staticmethod def _try_job_status(result_dict):
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl_mock.py b/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl_mock.py new file mode 100644 index 0000000..7b16a66d --- /dev/null +++ b/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl_mock.py
@@ -0,0 +1,46 @@ +# Copyright 2017 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +from webkitpy.common.net.buildbot import filter_latest_builds + + +# TODO(qyearsley): Use this class in wpt_expectations_updater_unittest and rebaseline_cl_unittest. +class MockGitCL(object): + + def __init__(self, host, results=None): + self._host = host + self._results = results or {} + self.calls = [] + + def run(self, args): + self.calls.append(['git', 'cl'] + args) + return 'mock output' + + def trigger_try_jobs(self, builders=None): + builders = builders or self._host.builders.all_try_builder_names() + command = ['try', '-m', 'tryserver.blink'] + for builder in sorted(builders): + command.extend(['-b', builder]) + self.run(command) + + def get_issue_number(self): + return '1234' + + def wait_for_try_jobs(self, **_): + return self._results + + def latest_try_jobs(self, **_): + latest_builds = filter_latest_builds(self._results) + return {b: s for b, s in self._results.items() if b in latest_builds} + + def try_job_results(self, **_): + return self._results + + @staticmethod + def all_jobs_finished(results): + return all(s.status == 'COMPLETED' for s in results.values()) + + @staticmethod + def has_failing_try_results(results): + return any(s.result == 'FAILURE' for s in results.values())
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl_unittest.py b/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl_unittest.py index 2e20aa27d..79201f21b 100644 --- a/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl_unittest.py +++ b/third_party/WebKit/Tools/Scripts/webkitpy/common/net/git_cl_unittest.py
@@ -177,7 +177,7 @@ Build('builder-b', 200): TryJobStatus('COMPLETED', 'FAILURE'), }) - def test_try_job_results_no_build_number_in_url(self): + def test_try_job_results_with_task_id_in_url(self): git_cl = GitCL(MockHost()) git_cl.fetch_raw_try_job_results = lambda: [ { @@ -188,9 +188,24 @@ 'url': 'https://luci-milo.appspot.com/swarming/task/36a767f405d9ee10', }, ] - # By default, we try to parse a build number from the URL, which - # fails for some URLs. - with self.assertRaisesRegexp(AssertionError, '36a767f405d9ee10 did not match'): + self.assertEqual( + git_cl.try_job_results(), + {Build('builder-a', '36a767f405d9ee10'): TryJobStatus('COMPLETED', 'FAILURE')}) + + def test_try_job_results_with_unexpected_url_format(self): + git_cl = GitCL(MockHost()) + git_cl.fetch_raw_try_job_results = lambda: [ + { + 'builder_name': 'builder-a', + 'status': 'COMPLETED', + 'result': 'FAILURE', + 'failure_reason': 'BUILD_FAILURE', + 'url': 'https://example.com/', + }, + ] + # We try to parse a build number or task ID from the URL. + with self.assertRaisesRegexp(AssertionError, 'https://example.com/ did not match expected format'): git_cl.try_job_results() - # If we explicitly don't care about that builder, then we ignore it. + # We ignore builders that we explicitly don't care about; + # in this case we only care about other-builder, not builder-a. self.assertEqual(git_cl.try_job_results(['other-builder']), {})
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/common.py b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/common.py index 1ed2f66b..bef45b6e 100644 --- a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/common.py +++ b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/common.py
@@ -18,6 +18,8 @@ WPT_GH_SSH_URL_TEMPLATE = 'https://{}@github.com/%s/%s.git' % (WPT_GH_ORG, WPT_GH_REPO_NAME) WPT_REVISION_FOOTER = 'WPT-Export-Revision:' DEFAULT_COMMIT_HISTORY_WINDOW = 5000 +EXPORT_PR_LABEL = 'chromium-export' +PROVISIONAL_PR_LABEL = 'do not merge yet' # TODO(qyearsley): This directory should be able to be constructed with # PathFinder and WPT_DEST_NAME, plus the string "external".
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/gerrit.py b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/gerrit.py index 4d6894af6..d176add5 100644 --- a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/gerrit.py +++ b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/gerrit.py
@@ -80,10 +80,6 @@ return self._data['owner']['email'] @property - def reviewers(self): - return self._data['reviewers'] - - @property def current_revision_sha(self): return self._data['current_revision'] @@ -91,6 +87,10 @@ def current_revision(self): return self._data['revisions'][self.current_revision_sha] + @property + def has_review_started(self): + return self._data.get('has_review_started') + def latest_commit_message_with_footers(self): return self.current_revision['commit_with_footers'] @@ -118,6 +118,9 @@ if 'Import' in self.subject: return False + if 'No-Export: true' in self.current_revision['commit_with_footers']: + return False + if 'NOEXPORT=true' in self.current_revision['commit_with_footers']: return False
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_exporter.py b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_exporter.py index a4c8460..6c894c8 100644 --- a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_exporter.py +++ b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_exporter.py
@@ -8,7 +8,9 @@ from webkitpy.w3c.common import ( exportable_commits_over_last_n_commits, WPT_GH_URL, - WPT_REVISION_FOOTER + WPT_REVISION_FOOTER, + EXPORT_PR_LABEL, + PROVISIONAL_PR_LABEL ) from webkitpy.w3c.gerrit import GerritAPI, GerritCL from webkitpy.w3c.wpt_github import WPTGitHub, MergeError @@ -53,8 +55,8 @@ for cl in gerrit_cls: _log.info('Found Gerrit in-flight CL: "%s" %s', cl.subject, cl.url) - if not cl.reviewers: - _log.info('CL has no reviewers, skipping.') + if not cl.has_review_started: + _log.info('CL review has not started, skipping.') continue # Check if CL already has a corresponding PR @@ -87,6 +89,9 @@ _log.info('[dry_run] Would have attempted to merge PR') return + _log.info('Removing provisional label...') + self.wpt_github.remove_label(pull_request.number, PROVISIONAL_PR_LABEL) + _log.info('Attempting to merge...') # This is outside of the try block because if there's a problem communicating @@ -170,7 +175,7 @@ _log.info('Create PR response: %s', response_data) if response_data: - data, status_code = self.wpt_github.add_label(response_data['number']) + data, status_code = self.wpt_github.add_label(response_data['number'], EXPORT_PR_LABEL) _log.info('Add label response (status %s): %s', status_code, data) return response_data @@ -219,8 +224,8 @@ response_data = self.wpt_github.create_pr(branch_name, cl.subject, message) _log.debug('Create PR response: %s', response_data) - self.wpt_github.add_label(response_data['number']) - self.wpt_github.add_label(response_data['number'], 'do not merge yet') + self.wpt_github.add_label(response_data['number'], EXPORT_PR_LABEL) + self.wpt_github.add_label(response_data['number'], PROVISIONAL_PR_LABEL) cl.post_comment(( 'Exportable changes to web-platform-tests were detected in this CL '
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_exporter_unittest.py b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_exporter_unittest.py index 04bcc5a64..3ca537b 100644 --- a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_exporter_unittest.py +++ b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_exporter_unittest.py
@@ -83,15 +83,15 @@ 'pr_with_position', 'pr_with_change_id', 'create_pr', - 'add_label "default"', + 'add_label "chromium-export"', 'pr_with_position', 'pr_with_change_id', 'create_pr', - 'add_label "default"', + 'add_label "chromium-export"', 'pr_with_position', 'pr_with_change_id', 'create_pr', - 'add_label "default"', + 'add_label "chromium-export"', ]) self.assertEqual(test_exporter.wpt_github.pull_requests_created, [ ('chromium-export-c881563d73', 'older fake text', 'older fake text'), @@ -140,13 +140,15 @@ test_exporter.run() self.assertEqual(test_exporter.wpt_github.calls, [ 'pr_with_position', + 'remove_label "do not merge yet"', 'get_pr_branch', 'merge_pull_request', 'pr_with_position', 'create_pr', - 'add_label "default"', + 'add_label "chromium-export"', 'pr_with_position', 'pr_with_position', + 'remove_label "do not merge yet"', 'get_pr_branch', 'merge_pull_request', 'delete_remote_branch', @@ -171,7 +173,7 @@ 'subject': 'subject', '_number': '1', 'current_revision': '1', - 'reviewers': ['rutabaga'], + 'has_review_started': True, 'revisions': { '1': {'commit_with_footers': 'a commit with footers'} }, @@ -182,7 +184,7 @@ self.assertEqual(test_exporter.wpt_github.calls, [ 'pr_with_change_id', 'create_pr', - 'add_label "default"', + 'add_label "chromium-export"', 'add_label "do not merge yet"', ]) self.assertEqual(test_exporter.wpt_github.pull_requests_created, [ @@ -207,7 +209,7 @@ 'subject': 'subject', '_number': '1', 'current_revision': '1', - 'reviewers': ['rutabaga'], + 'has_review_started': True, 'revisions': { '1': {'commit_with_footers': 'a commit with footers'} }, @@ -237,7 +239,7 @@ 'subject': 'subject', '_number': '1', 'current_revision': '2', - 'reviewers': ['rutabaga'], + 'has_review_started': True, 'revisions': { '1': { 'commit_with_footers': 'a commit with footers 1', @@ -287,6 +289,7 @@ self.assertEqual(test_exporter.wpt_github.calls, [ 'pr_with_position', 'pr_with_change_id', + 'remove_label "do not merge yet"', 'get_pr_branch', 'merge_pull_request', 'delete_remote_branch', @@ -294,7 +297,7 @@ self.assertEqual(test_exporter.wpt_github.pull_requests_created, []) self.assertEqual(test_exporter.wpt_github.pull_requests_merged, [1234]) - def test_does_not_create_pr_if_cl_has_no_reviewers(self): + def test_does_not_create_pr_if_cl_review_has_not_started(self): host = MockHost() test_exporter = TestExporter(host, 'gh-username', 'gh-token', gerrit_user=None, gerrit_token=None, dry_run=False) @@ -308,7 +311,7 @@ 'subject': 'subject', '_number': '1', 'current_revision': '2', - 'reviewers': [], + 'has_review_started': False, 'revisions': { '1': { 'commit_with_footers': 'a commit with footers 1',
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 e5edf8f..cdceff0 100644 --- a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer.py +++ b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer.py
@@ -14,17 +14,17 @@ import argparse import logging -from webkitpy.common.net.git_cl import GitCL, TryJobStatus from webkitpy.common.net.buildbot import current_build_link +from webkitpy.common.net.git_cl import GitCL, TryJobStatus from webkitpy.common.path_finder import PathFinder from webkitpy.layout_tests.models.test_expectations import TestExpectations, TestExpectationParser from webkitpy.layout_tests.port.base import Port from webkitpy.w3c.common import WPT_REPO_URL, WPT_DEST_NAME, read_credentials, exportable_commits_over_last_n_commits from webkitpy.w3c.directory_owners_extractor import DirectoryOwnersExtractor from webkitpy.w3c.local_wpt import LocalWPT -from webkitpy.w3c.wpt_github import WPTGitHub from webkitpy.w3c.test_copier import TestCopier from webkitpy.w3c.wpt_expectations_updater import WPTExpectationsUpdater +from webkitpy.w3c.wpt_github import WPTGitHub from webkitpy.w3c.wpt_manifest import WPTManifest # Settings for how often to check try job results and how long to wait. @@ -260,7 +260,7 @@ def _commit_message(self, chromium_commit, import_commit): return ('Import %s\n\n' 'Using wpt-import in Chromium %s.\n\n' - 'NOEXPORT=true' % + 'No-Export: true' % (import_commit, chromium_commit)) def _delete_orphaned_baselines(self, dest_path): @@ -343,9 +343,10 @@ if try_results and self.git_cl.has_failing_try_results(try_results): self.fetch_new_expectations_and_baselines() - message = 'Update test expectations and baselines.' - self.check_run(['git', 'commit', '-a', '-m', message]) - self._upload_patchset(message) + if self.host.git().has_working_directory_changes(): + message = 'Update test expectations and baselines.' + self.check_run(['git', 'commit', '-a', '-m', message]) + self._upload_patchset(message) # Trigger CQ and wait for CQ try jobs to finish. self.git_cl.run(['try']) @@ -420,12 +421,12 @@ if directory_owners: description += self._format_directory_owners(directory_owners) + '\n\n' - description += 'TBR=qyearsley@chromium.org\n' + description += 'TBR: qyearsley@chromium.org\n' - # Move any NOEXPORT tag to the end of the description. - description = description.replace('NOEXPORT=true', '') + # Move any No-Export tag to the end of the description. + description = description.replace('No-Export: true', '') description = description.replace('\n\n\n\n', '\n\n') - description += 'NOEXPORT=true' + description += 'No-Export: true' return description @staticmethod
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 b93a31e9a..6641d7a 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
@@ -4,17 +4,20 @@ from webkitpy.common.checkout.git_mock import MockGit from webkitpy.common.host_mock import MockHost +from webkitpy.common.net.buildbot import Build +from webkitpy.common.net.git_cl import TryJobStatus +from webkitpy.common.net.git_cl_mock import MockGitCL from webkitpy.common.system.executive_mock import MockExecutive from webkitpy.common.system.log_testing import LoggingTestCase -from webkitpy.w3c.test_importer import TestImporter from webkitpy.w3c.chromium_commit_mock import MockChromiumCommit -from webkitpy.w3c.wpt_github_mock import MockWPTGitHub +from webkitpy.w3c.test_importer import TestImporter from webkitpy.w3c.wpt_github import PullRequest +from webkitpy.w3c.wpt_github_mock import MockWPTGitHub class TestImporterTest(LoggingTestCase): - def test_abort_on_exportable_commits_pr_found(self): + def test_main_abort_on_exportable_commit_if_open_pr_found(self): host = MockHost() wpt_github = MockWPTGitHub(pull_requests=[ PullRequest('Title', 5, 'Commit body\nChange-Id: Iba5eba11', 'open'), @@ -40,7 +43,7 @@ 'INFO: Deleting temp repo directory /mock-checkout/third_party/WebKit/LayoutTests/wpt.\n', ]) - def test_abort_on_exportable_commits_no_pr_found(self): + def test_main_abort_on_exportable_commit_if_no_pr_found(self): host = MockHost() wpt_github = MockWPTGitHub(pull_requests=[]) importer = TestImporter(host, wpt_github=wpt_github) @@ -64,7 +67,64 @@ 'INFO: Deleting temp repo directory /mock-checkout/third_party/WebKit/LayoutTests/wpt.\n', ]) - def test_update_test_expectations(self): + def test_do_auto_update_no_results(self): + host = MockHost() + host.filesystem.write_text_file( + '/mock-checkout/third_party/WebKit/LayoutTests/W3CImportExpectations', '') + importer = TestImporter(host) + importer.git_cl = MockGitCL(host, results={}) + success = importer.do_auto_update() + self.assertFalse(success) + self.assertLog([ + 'INFO: Uploading change list.\n', + 'INFO: Gathering directory owners emails to CC.\n', + 'INFO: Issue: mock output\n', + 'INFO: Triggering try jobs.\n', + 'ERROR: No initial try job results, aborting.\n', + ]) + self.assertEqual(importer.git_cl.calls[-1], ['git', 'cl', 'set-close']) + + def test_do_auto_update_all_jobs_pass(self): + host = MockHost() + host.filesystem.write_text_file( + '/mock-checkout/third_party/WebKit/LayoutTests/W3CImportExpectations', '') + importer = TestImporter(host) + importer.git_cl = MockGitCL(host, results={ + Build('builder-a', 123): TryJobStatus('COMPLETED', 'SUCCESS') + }) + success = importer.do_auto_update() + self.assertTrue(success) + self.assertLog([ + 'INFO: Uploading change list.\n', + 'INFO: Gathering directory owners emails to CC.\n', + 'INFO: Issue: mock output\n', + 'INFO: Triggering try jobs.\n', + 'INFO: CQ appears to have passed; trying to commit.\n', + 'INFO: Update completed.\n', + ]) + self.assertEqual(importer.git_cl.calls[-1], ['git', 'cl', 'set-commit']) + + def test_do_auto_update_some_job_fails(self): + host = MockHost() + host.filesystem.write_text_file( + '/mock-checkout/third_party/WebKit/LayoutTests/W3CImportExpectations', '') + importer = TestImporter(host) + importer.git_cl = MockGitCL(host, results={ + Build('builder-a', 123): TryJobStatus('COMPLETED', 'FAILURE') + }) + importer.fetch_new_expectations_and_baselines = lambda: None + success = importer.do_auto_update() + self.assertFalse(success) + self.assertLog([ + 'INFO: Uploading change list.\n', + 'INFO: Gathering directory owners emails to CC.\n', + 'INFO: Issue: mock output\n', + 'INFO: Triggering try jobs.\n', + 'ERROR: CQ appears to have failed; aborting.\n', + ]) + self.assertEqual(importer.git_cl.calls[-1], ['git', 'cl', 'set-close']) + + def test_update_all_test_expectations_files(self): host = MockHost() host.filesystem.files['/mock-checkout/third_party/WebKit/LayoutTests/TestExpectations'] = ( 'Bug(test) some/test/a.html [ Failure ]\n' @@ -85,6 +145,27 @@ ('Bug(test) new/a.html [ Failure ]\n' 'Bug(test) new/c.html [ Failure ]\n')) + def test_get_directory_owners(self): + host = MockHost() + host.filesystem.write_text_file( + '/mock-checkout/third_party/WebKit/LayoutTests/W3CImportExpectations', + '## Owners: someone@chromium.org\n' + '# external/wpt/foo [ Pass ]\n') + git = MockGit(filesystem=host.filesystem, executive=host.executive, platform=host.platform) + git.changed_files = lambda: ['third_party/WebKit/LayoutTests/external/wpt/foo/x.html'] + host.git = lambda: git + importer = TestImporter(host) + self.assertEqual(importer.get_directory_owners(), {('someone@chromium.org',): ['external/wpt/foo']}) + + def test_get_directory_owners_no_changed_files(self): + host = MockHost() + host.filesystem.write_text_file( + '/mock-checkout/third_party/WebKit/LayoutTests/W3CImportExpectations', + '## Owners: someone@chromium.org\n' + '# external/wpt/foo [ Pass ]\n') + importer = TestImporter(host) + self.assertEqual(importer.get_directory_owners(), {}) + # Tests for protected methods - pylint: disable=protected-access def test_commit_changes(self): @@ -102,7 +183,7 @@ importer._commit_message('aaaa', '1111'), 'Import 1111\n\n' 'Using wpt-import in Chromium aaaa.\n\n' - 'NOEXPORT=true') + 'No-Export: true') def test_cl_description_with_empty_environ(self): host = MockHost() @@ -118,8 +199,8 @@ 'lines to TestExpectations rather than reverting. See:\n' 'https://chromium.googlesource.com' '/chromium/src/+/master/docs/testing/web_platform_tests.md\n\n' - 'TBR=qyearsley@chromium.org\n' - 'NOEXPORT=true') + 'TBR: qyearsley@chromium.org\n' + 'No-Export: true') self.assertEqual(host.executive.calls, [['git', 'log', '-1', '--format=%B']]) def test_cl_description_with_environ_variables(self): @@ -137,12 +218,12 @@ def test_cl_description_moves_noexport_tag(self): host = MockHost() - host.executive = MockExecutive(output='Summary\n\nNOEXPORT=true\n\n') + host.executive = MockExecutive(output='Summary\n\nNo-Export: true\n\n') importer = TestImporter(host) description = importer._cl_description(directory_owners={}) self.assertIn( - 'TBR=qyearsley@chromium.org\n' - 'NOEXPORT=true', + 'TBR: qyearsley@chromium.org\n' + 'No-Export: true', description) def test_cl_description_with_directory_owners(self): @@ -162,6 +243,15 @@ ' external/wpt/baz\n\n', description) + def test_cc_part(self): + directory_owners = { + ('someone@chromium.org',): ['external/wpt/foo', 'external/wpt/bar'], + ('x@chromium.org', 'y@chromium.org'): ['external/wpt/baz'], + } + self.assertEqual( + TestImporter._cc_part(directory_owners), + ['--cc=someone@chromium.org', '--cc=x@chromium.org', '--cc=y@chromium.org']) + def test_generate_manifest_successful_run(self): # This test doesn't test any aspect of the real manifest script, it just # asserts that TestImporter._generate_manifest would invoke the script. @@ -187,36 +277,6 @@ ] ]) - def test_get_directory_owners(self): - host = MockHost() - host.filesystem.write_text_file( - '/mock-checkout/third_party/WebKit/LayoutTests/W3CImportExpectations', - '## Owners: someone@chromium.org\n' - '# external/wpt/foo [ Pass ]\n') - git = MockGit(filesystem=host.filesystem, executive=host.executive, platform=host.platform) - git.changed_files = lambda: ['third_party/WebKit/LayoutTests/external/wpt/foo/x.html'] - host.git = lambda: git - importer = TestImporter(host) - self.assertEqual(importer.get_directory_owners(), {('someone@chromium.org',): ['external/wpt/foo']}) - - def test_get_directory_owners_no_changed_files(self): - host = MockHost() - host.filesystem.write_text_file( - '/mock-checkout/third_party/WebKit/LayoutTests/W3CImportExpectations', - '## Owners: someone@chromium.org\n' - '# external/wpt/foo [ Pass ]\n') - importer = TestImporter(host) - self.assertEqual(importer.get_directory_owners(), {}) - - def test_cc_part(self): - directory_owners = { - ('someone@chromium.org',): ['external/wpt/foo', 'external/wpt/bar'], - ('x@chromium.org', 'y@chromium.org'): ['external/wpt/baz'], - } - self.assertEqual( - TestImporter._cc_part(directory_owners), - ['--cc=someone@chromium.org', '--cc=x@chromium.org', '--cc=y@chromium.org']) - def test_delete_orphaned_baselines(self): host = MockHost() dest_path = '/mock-checkout/third_party/WebKit/LayoutTests/external/wpt' @@ -229,7 +289,7 @@ self.assertTrue(host.filesystem.exists(dest_path + '/b.x-expected.txt')) self.assertTrue(host.filesystem.exists(dest_path + '/b.x.html')) - def test_keeps_owners_files_and_baselines(self): + def test_clear_out_dest_path(self): host = MockHost() dest_path = '/mock-checkout/third_party/WebKit/LayoutTests/external/wpt' host.filesystem.write_text_file(dest_path + '/foo-test.html', '') @@ -237,6 +297,8 @@ host.filesystem.write_text_file(dest_path + '/OWNERS', '') host.filesystem.write_text_file(dest_path + '/bar/baz/OWNERS', '') importer = TestImporter(host) + # When the destination path is cleared, OWNERS files and baselines + # are kept. importer._clear_out_dest_path(dest_path) self.assertFalse(host.filesystem.exists(dest_path + '/foo-test.html')) self.assertTrue(host.filesystem.exists(dest_path + '/foo-test-expected.txt'))
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/wpt_github.py b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/wpt_github.py index 963d03f..ff5e090 100644 --- a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/wpt_github.py +++ b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/wpt_github.py
@@ -9,11 +9,10 @@ from collections import namedtuple from webkitpy.common.memoized import memoized -from webkitpy.w3c.common import WPT_GH_ORG, WPT_GH_REPO_NAME +from webkitpy.w3c.common import WPT_GH_ORG, WPT_GH_REPO_NAME, EXPORT_PR_LABEL _log = logging.getLogger(__name__) API_BASE = 'https://api.github.com' -EXPORT_LABEL = 'chromium-export' class WPTGitHub(object): @@ -110,7 +109,7 @@ return data - def add_label(self, number, label=EXPORT_LABEL): + def add_label(self, number, label): path = '/repos/%s/%s/issues/%d/labels' % ( WPT_GH_ORG, WPT_GH_REPO_NAME, @@ -119,11 +118,22 @@ body = [label] return self.request(path, method='POST', body=body) + def remove_label(self, number, label): + path = '/repos/%s/%s/issues/%d/labels/%s' % ( + WPT_GH_ORG, + WPT_GH_REPO_NAME, + number, + label, + ) + _, status_code = self.request(path, method='DELETE') + if status_code != 204: + raise GitHubError('Received non-204 status code attempting to delete remote branch: {}'.format(status_code)) + def in_flight_pull_requests(self): path = '/search/issues?q=repo:{}/{}%20is:open%20type:pr%20label:{}'.format( WPT_GH_ORG, WPT_GH_REPO_NAME, - EXPORT_LABEL + EXPORT_PR_LABEL ) data, status_code = self.request(path, method='GET') if status_code == 200: @@ -150,7 +160,7 @@ ).format( WPT_GH_ORG, WPT_GH_REPO_NAME, - EXPORT_LABEL, + EXPORT_PR_LABEL, self._pr_history_window ) @@ -207,8 +217,7 @@ data, status_code = self.request(path, method='DELETE') if status_code != 204: - # TODO(jeffcarp): Raise more specific exception (create MergeError class?) - raise Exception('Received non-204 status code attempting to delete remote branch: {}'.format(status_code)) + raise GitHubError('Received non-204 status code attempting to delete remote branch: {}'.format(status_code)) return data @@ -253,4 +262,9 @@ pass +class GitHubError(Exception): + """Raised when an GitHub returns a non-OK response status for a request.""" + pass + + PullRequest = namedtuple('PullRequest', ['title', 'number', 'body', 'state'])
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/wpt_github_mock.py b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/wpt_github_mock.py index babde44f..7e8ff05 100644 --- a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/wpt_github_mock.py +++ b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/wpt_github_mock.py
@@ -50,10 +50,14 @@ def delete_remote_branch(self, _): self.calls.append('delete_remote_branch') - def add_label(self, _, label='default'): + def add_label(self, _, label): self.calls.append('add_label "%s"' % label) return {}, 200 + def remove_label(self, _, label): + self.calls.append('remove_label "%s"' % label) + return {}, 204 + def get_pr_branch(self, number): self.calls.append('get_pr_branch') return 'fake branch for PR {}'.format(number)
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/wpt_github_unittest.py b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/wpt_github_unittest.py index a493a001..5d32b44c 100644 --- a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/wpt_github_unittest.py +++ b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/wpt_github_unittest.py
@@ -6,7 +6,7 @@ import unittest from webkitpy.common.host_mock import MockHost -from webkitpy.w3c.wpt_github import WPTGitHub, MergeError +from webkitpy.w3c.wpt_github import WPTGitHub, MergeError, GitHubError class WPTGitHubTest(unittest.TestCase): @@ -33,3 +33,19 @@ with self.assertRaises(MergeError): self.wpt_github.merge_pull_request(5678) + + def test_remove_label_throws_github_error_on_non_204(self): + self.wpt_github.host.web.responses = [ + {'status_code': 200}, + ] + + with self.assertRaises(GitHubError): + self.wpt_github.remove_label(1234, 'rutabaga') + + def test_delete_remote_branch_throws_github_error_on_non_204(self): + self.wpt_github.host.web.responses = [ + {'status_code': 200}, + ] + + with self.assertRaises(GitHubError): + self.wpt_github.delete_remote_branch('rutabaga')
diff --git a/third_party/WebKit/public/platform/WebGestureEvent.h b/third_party/WebKit/public/platform/WebGestureEvent.h index 3a07ab2e..d4cd2af 100644 --- a/third_party/WebKit/public/platform/WebGestureEvent.h +++ b/third_party/WebKit/public/platform/WebGestureEvent.h
@@ -21,13 +21,15 @@ enum ScrollUnits { kPrecisePixels = 0, // generated by high precision devices. kPixels, // large pixel jump duration; should animate to delta. - kPage // page (visible viewport) based scrolling. + kPage, // page (visible viewport) based scrolling. + kLastScrollUnit = kPage, }; enum InertialPhaseState { kUnknownMomentumPhase = 0, // No phase information. kNonMomentumPhase, // Regular scrolling phase. kMomentumPhase, // Momentum phase. + kLastPhase = kMomentumPhase, }; // TODO(mustaq): Make these coordinates private & fractional, as in @@ -175,6 +177,11 @@ source_device(kWebGestureDeviceUninitialized), resending_plugin_id(-1) {} + WebFloatPoint PositionInWidget() const { return WebFloatPoint(x, y); } + WebFloatPoint PositionInScreen() const { + return WebFloatPoint(global_x, global_y); + } + #if INSIDE_BLINK BLINK_PLATFORM_EXPORT float DeltaXInRootFrame() const; BLINK_PLATFORM_EXPORT float DeltaYInRootFrame() const;
diff --git a/third_party/WebKit/public/platform/WebInputEvent.h b/third_party/WebKit/public/platform/WebInputEvent.h index 506bbd9..b7eff4a 100644 --- a/third_party/WebKit/public/platform/WebInputEvent.h +++ b/third_party/WebKit/public/platform/WebInputEvent.h
@@ -275,6 +275,8 @@ // was forced to be non-blocking due to the main thread being // unresponsive. kListenersForcedNonBlockingDueToMainThreadResponsiveness, + kLastDispatchType = + kListenersForcedNonBlockingDueToMainThreadResponsiveness, }; // The rail mode for a wheel event specifies the axis on which scrolling is
diff --git a/third_party/WebKit/public/platform/WebRuntimeFeatures.h b/third_party/WebKit/public/platform/WebRuntimeFeatures.h index 1f73ba74..89c42a6 100644 --- a/third_party/WebKit/public/platform/WebRuntimeFeatures.h +++ b/third_party/WebKit/public/platform/WebRuntimeFeatures.h
@@ -123,7 +123,6 @@ BLINK_PLATFORM_EXPORT static void EnableSharedWorker(bool); BLINK_PLATFORM_EXPORT static void EnableSkipCompositingSmallScrollers(bool); BLINK_PLATFORM_EXPORT static void EnableSlimmingPaintV2(bool); - BLINK_PLATFORM_EXPORT static void EnableSlimmingPaintInvalidation(bool); BLINK_PLATFORM_EXPORT static void EnableTouchEventFeatureDetection(bool); BLINK_PLATFORM_EXPORT static void EnableTouchpadAndWheelScrollLatching(bool); BLINK_PLATFORM_EXPORT static void EnableV8IdleTasks(bool);
diff --git a/third_party/WebKit/public/platform/modules/payments/WebCanMakePaymentEventData.h b/third_party/WebKit/public/platform/modules/payments/WebCanMakePaymentEventData.h new file mode 100644 index 0000000..4e017677 --- /dev/null +++ b/third_party/WebKit/public/platform/modules/payments/WebCanMakePaymentEventData.h
@@ -0,0 +1,25 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef WebCanMakePaymentEventData_h +#define WebCanMakePaymentEventData_h + +#include "public/platform/WebString.h" +#include "public/platform/WebVector.h" +#include "public/platform/modules/payments/WebPaymentDetailsModifier.h" +#include "public/platform/modules/payments/WebPaymentItem.h" +#include "public/platform/modules/payments/WebPaymentMethodData.h" + +namespace blink { + +struct WebCanMakePaymentEventData { + WebString top_level_origin; + WebString payment_request_origin; + WebVector<WebPaymentMethodData> method_data; + WebVector<WebPaymentDetailsModifier> modifiers; +}; + +} // namespace blink + +#endif // WebCanMakePaymentEventData_h
diff --git a/third_party/WebKit/public/platform/modules/payments/WebPaymentRequestEventData.h b/third_party/WebKit/public/platform/modules/payments/WebPaymentRequestEventData.h index 5b0ae340..30a0d7c 100644 --- a/third_party/WebKit/public/platform/modules/payments/WebPaymentRequestEventData.h +++ b/third_party/WebKit/public/platform/modules/payments/WebPaymentRequestEventData.h
@@ -6,21 +6,14 @@ #define WebPaymentRequestEventData_h #include "public/platform/WebString.h" -#include "public/platform/WebVector.h" -#include "public/platform/modules/payments/WebPaymentDetailsModifier.h" -#include "public/platform/modules/payments/WebPaymentItem.h" -#include "public/platform/modules/payments/WebPaymentMethodData.h" +#include "public/platform/modules/payments/WebCanMakePaymentEventData.h" namespace blink { -struct WebPaymentRequestEventData { - WebString top_level_origin; - WebString payment_request_origin; +struct WebPaymentRequestEventData : public WebCanMakePaymentEventData { WebString payment_request_id; - WebVector<WebPaymentMethodData> method_data; - WebPaymentItem total; - WebVector<WebPaymentDetailsModifier> modifiers; WebString instrument_key; + WebPaymentItem total; }; } // namespace blink
diff --git a/third_party/WebKit/public/web/WebFrame.h b/third_party/WebKit/public/web/WebFrame.h index 329fffc..c5e99e2b 100644 --- a/third_party/WebKit/public/web/WebFrame.h +++ b/third_party/WebKit/public/web/WebFrame.h
@@ -47,8 +47,6 @@ class Frame; class OpenedFrameTracker; class Visitor; -class WebAssociatedURLLoader; -struct WebAssociatedURLLoaderOptions; class WebElement; class WebLocalFrame; class WebPerformance; @@ -201,14 +199,6 @@ virtual void EnableViewSourceMode(bool) = 0; virtual bool IsViewSourceModeEnabled() const = 0; - // Returns an AssociatedURLLoader that is associated with this frame. The - // loader will, for example, be cancelled when WebFrame::stopLoading is - // called. - // - // FIXME: stopLoading does not yet cancel an associated loader!! - virtual WebAssociatedURLLoader* CreateAssociatedURLLoader( - const WebAssociatedURLLoaderOptions&) = 0; - // Will return true if between didStartLoading and didStopLoading // notifications. virtual bool IsLoading() const;
diff --git a/third_party/WebKit/public/web/WebLocalFrame.h b/third_party/WebKit/public/web/WebLocalFrame.h index 22184190..8e4c158 100644 --- a/third_party/WebKit/public/web/WebLocalFrame.h +++ b/third_party/WebKit/public/web/WebLocalFrame.h
@@ -29,6 +29,7 @@ class InterfaceProvider; class InterfaceRegistry; +class WebAssociatedURLLoader; class WebAutofillClient; class WebContentSettingsClient; class WebData; @@ -52,6 +53,7 @@ class WebURLLoader; class WebView; enum class WebTreeScopeType; +struct WebAssociatedURLLoaderOptions; struct WebConsoleMessage; struct WebContentSecurityPolicyViolation; struct WebFindOptions; @@ -704,6 +706,14 @@ const WebURLRequest&, base::SingleThreadTaskRunner*) = 0; + // Returns an AssociatedURLLoader that is associated with this frame. The + // loader will, for example, be cancelled when WebFrame::stopLoading is + // called. + // + // FIXME: stopLoading does not yet cancel an associated loader!! + virtual WebAssociatedURLLoader* CreateAssociatedURLLoader( + const WebAssociatedURLLoaderOptions&) = 0; + // Reload the current document. // Note: reload() and reloadWithOverrideURL() will be deprecated. // Do not use these APIs any more, but use loadRequest() instead.
diff --git a/tools/android/forwarder2/forwarders_manager.cc b/tools/android/forwarder2/forwarders_manager.cc index e8b573f..941c424 100644 --- a/tools/android/forwarder2/forwarders_manager.cc +++ b/tools/android/forwarder2/forwarders_manager.cc
@@ -15,6 +15,7 @@ #include "base/location.h" #include "base/logging.h" #include "base/macros.h" +#include "base/memory/ptr_util.h" #include "base/posix/eintr_wrapper.h" #include "tools/android/forwarder2/forwarder.h" #include "tools/android/forwarder2/socket.h" @@ -51,7 +52,8 @@ std::unique_ptr<Socket> socket1, std::unique_ptr<Socket> socket2) { DCHECK(thread_.task_runner()->RunsTasksInCurrentSequence()); - forwarders_.push_back(new Forwarder(std::move(socket1), std::move(socket2))); + forwarders_.push_back( + base::MakeUnique<Forwarder>(std::move(socket1), std::move(socket2))); } void ForwardersManager::WaitForEventsOnInternalThreadSoon() { @@ -71,11 +73,8 @@ // Populate the file descriptor sets. int max_fd = -1; - for (ScopedVector<Forwarder>::iterator it = forwarders_.begin(); - it != forwarders_.end(); ++it) { - Forwarder* const forwarder = *it; + for (const auto& forwarder : forwarders_) forwarder->RegisterFDs(&read_fds, &write_fds, &max_fd); - } const int notifier_fds[] = { wakeup_notifier_.receiver_fd(), @@ -114,7 +113,7 @@ // Notify the Forwarder instances and remove the ones that are closed. for (size_t i = 0; i < forwarders_.size(); ) { - Forwarder* const forwarder = forwarders_[i]; + Forwarder* const forwarder = forwarders_[i].get(); forwarder->ProcessEvents(read_fds, write_fds); if (must_shutdown)
diff --git a/tools/android/forwarder2/forwarders_manager.h b/tools/android/forwarder2/forwarders_manager.h index 2cdafdb0..dd5d2b1 100644 --- a/tools/android/forwarder2/forwarders_manager.h +++ b/tools/android/forwarder2/forwarders_manager.h
@@ -6,8 +6,8 @@ #define TOOLS_ANDROID_FORWARDER2_FORWARDERS_MANAGER_H_ #include <memory> +#include <vector> -#include "base/memory/scoped_vector.h" #include "base/threading/thread.h" #include "tools/android/forwarder2/pipe_notifier.h" @@ -35,7 +35,7 @@ void WaitForEventsOnInternalThreadSoon(); void WaitForEventsOnInternalThread(); - ScopedVector<Forwarder> forwarders_; + std::vector<std::unique_ptr<Forwarder>> forwarders_; PipeNotifier deletion_notifier_; PipeNotifier wakeup_notifier_; base::Thread thread_;
diff --git a/tools/gn/function_get_target_outputs.cc b/tools/gn/function_get_target_outputs.cc index bec825f..e13e1e3a 100644 --- a/tools/gn/function_get_target_outputs.cc +++ b/tools/gn/function_get_target_outputs.cc
@@ -93,7 +93,7 @@ *err = Err(function, "No targets defined in this context."); return Value(); } - for (auto* item : *collector) { + for (const auto& item : *collector) { if (item->label() != label) continue;
diff --git a/tools/gn/function_get_target_outputs_unittest.cc b/tools/gn/function_get_target_outputs_unittest.cc index 3bff238..2f746a7 100644 --- a/tools/gn/function_get_target_outputs_unittest.cc +++ b/tools/gn/function_get_target_outputs_unittest.cc
@@ -2,6 +2,9 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include <utility> + +#include "base/memory/ptr_util.h" #include "testing/gtest/include/gtest/gtest.h" #include "tools/gn/functions.h" #include "tools/gn/target.h" @@ -57,13 +60,14 @@ } // namespace TEST_F(GetTargetOutputsTest, Copy) { - Target* action = new Target(setup_.settings(), GetLabel("//foo/", "bar"), {}); + auto action = base::MakeUnique<Target>( + setup_.settings(), GetLabel("//foo/", "bar"), InputFileSet{}); action->set_output_type(Target::COPY_FILES); action->sources().push_back(SourceFile("//file.txt")); action->action_values().outputs() = SubstitutionList::MakeForTest("//out/Debug/{{source_file_part}}.one"); - items_.push_back(action); + items_.push_back(std::move(action)); Err err; Value result = GetTargetOutputs("//foo:bar", &err); @@ -72,13 +76,14 @@ } TEST_F(GetTargetOutputsTest, Action) { - Target* action = new Target(setup_.settings(), GetLabel("//foo/", "bar"), {}); + auto action = base::MakeUnique<Target>( + setup_.settings(), GetLabel("//foo/", "bar"), InputFileSet{}); action->set_output_type(Target::ACTION); action->action_values().outputs() = SubstitutionList::MakeForTest( "//output1.txt", "//output2.txt"); - items_.push_back(action); + items_.push_back(std::move(action)); Err err; Value result = GetTargetOutputs("//foo:bar", &err); @@ -87,14 +92,15 @@ } TEST_F(GetTargetOutputsTest, ActionForeach) { - Target* action = new Target(setup_.settings(), GetLabel("//foo/", "bar"), {}); + auto action = base::MakeUnique<Target>( + setup_.settings(), GetLabel("//foo/", "bar"), InputFileSet{}); action->set_output_type(Target::ACTION_FOREACH); action->sources().push_back(SourceFile("//file.txt")); action->action_values().outputs() = SubstitutionList::MakeForTest( "//out/Debug/{{source_file_part}}.one", "//out/Debug/{{source_file_part}}.two"); - items_.push_back(action); + items_.push_back(std::move(action)); Err err; Value result = GetTargetOutputs("//foo:bar", &err);
diff --git a/tools/gn/function_toolchain.cc b/tools/gn/function_toolchain.cc index adbab300..beef1ea9 100644 --- a/tools/gn/function_toolchain.cc +++ b/tools/gn/function_toolchain.cc
@@ -496,7 +496,7 @@ *err = Err(function, "Can't define a toolchain in this context."); return Value(); } - collector->push_back(toolchain.release()); + collector->push_back(std::move(toolchain)); return Value(); }
diff --git a/tools/gn/functions.cc b/tools/gn/functions.cc index 41022e67..09e3647d 100644 --- a/tools/gn/functions.cc +++ b/tools/gn/functions.cc
@@ -366,7 +366,7 @@ *err = Err(function, "Can't define a config in this context."); return Value(); } - collector->push_back(config.release()); + collector->push_back(std::move(config)); return Value(); } @@ -919,7 +919,7 @@ *err = Err(function, "Can't define a pool in this context."); return Value(); } - collector->push_back(pool.release()); + collector->push_back(std::move(pool)); return Value(); }
diff --git a/tools/gn/loader.cc b/tools/gn/loader.cc index 417a891..a07ee5ab 100644 --- a/tools/gn/loader.cc +++ b/tools/gn/loader.cc
@@ -278,10 +278,8 @@ // Pass all of the items that were defined off to the builder. - for (auto*& item : collected_items) { - settings->build_settings()->ItemDefined(base::WrapUnique(item)); - item = nullptr; - } + for (auto& item : collected_items) + settings->build_settings()->ItemDefined(std::move(item)); trace.Done();
diff --git a/tools/gn/misc/OWNERS b/tools/gn/misc/OWNERS new file mode 100644 index 0000000..4d2bd88 --- /dev/null +++ b/tools/gn/misc/OWNERS
@@ -0,0 +1,2 @@ +scottmg@chromium.org +erg@chromium.org
diff --git a/tools/gn/scheduler.cc b/tools/gn/scheduler.cc index ed67c98e..5327792 100644 --- a/tools/gn/scheduler.cc +++ b/tools/gn/scheduler.cc
@@ -205,11 +205,11 @@ } void Scheduler::IncrementWorkCount() { - base::AtomicRefCountInc(&work_count_); + work_count_.Increment(); } void Scheduler::DecrementWorkCount() { - if (!base::AtomicRefCountDec(&work_count_)) { + if (!work_count_.Decrement()) { if (task_runner()->BelongsToCurrentThread()) { OnComplete(); } else {
diff --git a/tools/gn/scope.h b/tools/gn/scope.h index 2adcabd2..20a64bc 100644 --- a/tools/gn/scope.h +++ b/tools/gn/scope.h
@@ -9,11 +9,11 @@ #include <memory> #include <set> #include <utility> +#include <vector> #include "base/containers/hash_tables.h" #include "base/macros.h" #include "base/memory/ref_counted.h" -#include "base/memory/scoped_vector.h" #include "tools/gn/err.h" #include "tools/gn/input_file.h" #include "tools/gn/pattern.h" @@ -41,7 +41,7 @@ typedef base::hash_map<base::StringPiece, Value, base::StringPieceHash> KeyValueMap; // Holds an owning list of Items. - typedef ScopedVector<Item> ItemVector; + typedef std::vector<std::unique_ptr<Item>> ItemVector; // A flag to indicate whether a function should recurse into nested scopes, // or only operate on the current scope.
diff --git a/tools/gn/target_generator.cc b/tools/gn/target_generator.cc index 947cf9f..e8d064d0 100644 --- a/tools/gn/target_generator.cc +++ b/tools/gn/target_generator.cc
@@ -6,6 +6,8 @@ #include <stddef.h> +#include <utility> + #include "tools/gn/action_target_generator.h" #include "tools/gn/binary_target_generator.h" #include "tools/gn/build_settings.h" @@ -149,7 +151,7 @@ *err = Err(function_call, "Can't define a target in this context."); return; } - collector->push_back(target.release()); + collector->push_back(std::move(target)); } const BuildSettings* TargetGenerator::GetBuildSettings() const {
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml index 0d968b78..b1abd705 100644 --- a/tools/metrics/histograms/enums.xml +++ b/tools/metrics/histograms/enums.xml
@@ -19512,6 +19512,28 @@ <int value="2" label="Disconnected"/> </enum> +<enum name="IcingContextReportingStatus"> + <int value="0" label="Success"/> + <int value="1" label="GSA not available"/> + <int value="2" label="Sync not initialized"/> + <int value="3" label="Sync not syncing urls"/> + <int value="4" label="Sync no keystore passphrase"/> + <int value="5" label="Sync failed due to other reason (unexpected)"/> + <int value="6" label="Disabled on svelte devices"/> + <int value="7" label="No current tab found"/> + <int value="8" label="Current tab is incognito"/> + <int value="9" label="Invalid URL scheme"/> + <int value="10" label="Current tab ID doesn't match expected tab ID"/> + <int value="11" label="Duplicate title changed notification"/> + <int value="12" label="Connection to GMS failed"/> + <int value="13" label="Sync not ready at report time"/> + <int value="14" label="Not signed in at report time"/> + <int value="15" label="GSA account not present in Chrome"/> + <int value="16" label="GSA account doesn't match Chrome's"/> + <int value="17" label="GMS call result status is null"/> + <int value="18" label="GMS call result status is not successful"/> +</enum> + <enum name="IDBContextForcedCloseReason"> <int value="0" label="DeleteOrigin"> A request was made to delete the data for an origin. @@ -36761,9 +36783,12 @@ <enum name="TPMVersionFingerprint"> <int value="305524852" label="IFX 4.32 build 0x36f variant 1"/> + <int value="368058567" label="STM 0xd08"/> <int value="517482723" label="IFX 4.32 build 0x36f variant 2"/> + <int value="639195905" label="IFX 4.32 build 0x36f variant 3"/> <int value="987235505" label="CROS 0dc5c85b01a68fe6"/> <int value="987973414" label="IFX 6.40 build 0xbe"/> + <int value="1311411160" label="WEC 0x345"/> <int value="1353576267" label="IFX 3.18 build 0x9"/> <int value="1437720528" label="IFX 133.32 build 0x5 variant 1"/> <int value="1451134301" label="IFX 147.18 build 0xf"/>
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml index 2bd6db2..3c2dd247 100644 --- a/tools/metrics/histograms/histograms.xml +++ b/tools/metrics/histograms/histograms.xml
@@ -2061,6 +2061,17 @@ </summary> </histogram> +<histogram name="Ash.Accelerators.Deprecated.ToggleHighContrast" + enum="DeprecatedAcceleratorUsage"> + <owner>afakhry@chromium.org</owner> + <summary> + Toggling the high contrast display mode has two accelerators: - + Search+Shift+H which is deprecated. - Ctrl+Search+H which is new. This + histogram shows the number of times each accelerator (deprecated and new) is + used. + </summary> +</histogram> + <histogram name="Ash.ActiveTouchPoints"> <obsolete> Deprecated 02/2017 due to lack of usage. @@ -68412,6 +68423,17 @@ </summary> </histogram> +<histogram name="Search.IcingContextReportingStatus" + enum="IcingContextReportingStatus"> + <owner>joaodasilva@chromium.org</owner> + <summary> + Records the reason why a context report to Icing failed, every time Chrome + attemps to record the current context (tab switching, navigations, etc). + Also records reasons why context reporting might be disabled. Recorded on + Android only. + </summary> +</histogram> + <histogram name="Search.MigratedPrefToDictionaryValue" enum="BooleanHit"> <obsolete> Deprecated after migrator is deleted in 12/2016. @@ -83677,6 +83699,26 @@ </summary> </histogram> +<histogram name="WebAudio.PushPullFIFO.UnderflowGlitches" enum="Boolean"> + <owner>rtoy@chromium.org</owner> + <owner>hongchan@chromium.org</owner> + <summary> + Captures if WebAudio caused glitches or not due to the FIFO underflow. It is + recorded when PushPullFIFO is destroyed. (e.g. navigating away from the + page.) + </summary> +</histogram> + +<histogram name="WebAudio.PushPullFIFO.UnderflowPercentage" units="%"> + <owner>rtoy@chromium.org</owner> + <owner>hongchan@chromium.org</owner> + <summary> + Percentage of FIFO underflow happened due to the the missed deadline of + WebAudio rendering engine. It is recorded when PushPullFIFO is destroyed. + (e.g. navigating away from the page.) + </summary> +</histogram> + <histogram name="WebAudio.UserGesture" enum="UserGestureRequirement"> <obsolete> Deprecated 2016-09. As of M55, this is no longer recorded. @@ -87636,6 +87678,9 @@ </histogram> <histogram name="WinJumplist.CreateIconFilesCount"> + <obsolete> + Obsolete 07/06/2017 as we are no long recording this metric. + </obsolete> <owner>chengx@chromium.org</owner> <summary> The number of jumplist icons requested to create per jumplist update. It is @@ -87644,6 +87689,9 @@ </histogram> <histogram name="WinJumplist.CreateIconFilesDuration" units="ms"> + <obsolete> + Obsolete 07/06/2017 as we are no long recording this metric. + </obsolete> <owner>chengx@chromium.org</owner> <summary> Time spent in CreateIconFiles(). This method is called whenever there is a @@ -87658,7 +87706,7 @@ <histogram name="WinJumplist.DeleteDirectoryDuration" units="ms"> <obsolete> - Obsolete 04/25/2016 as we are no long recording this metric. + Obsolete 04/25/2017 as we are no long recording this metric. </obsolete> <owner>chengx@chromium.org</owner> <summary>Time spent in DeleteDirectoryAndLogResults().</summary> @@ -87667,7 +87715,7 @@ <histogram name="WinJumplist.DeleteStatusJumpListIcons" enum="JumplisticonsDeleteCategory"> <obsolete> - Obsolete 04/25/2016 as we are no long recording this metric. + Obsolete 04/25/2017 as we are no long recording this metric. </obsolete> <owner>chengx@chromium.org</owner> <summary> @@ -87678,7 +87726,7 @@ <histogram name="WinJumplist.DeleteStatusJumpListIconsOld" enum="JumplisticonsDeleteCategory"> <obsolete> - Obsolete 04/25/2016 as we are no long recording this metric. + Obsolete 04/25/2017 as we are no long recording this metric. </obsolete> <owner>chengx@chromium.org</owner> <summary> @@ -87725,7 +87773,7 @@ <histogram name="WinJumplist.DetailedFolderResultsDeleteUpdated" enum="JumplistIconsDetailedFolderOperationDeleteUpdatedCategory"> <obsolete> - Obsolete 03/20/2016. New metrics named WinJumplist.DeleteStatusJumpListIcons + Obsolete 03/20/2017. New metrics named WinJumplist.DeleteStatusJumpListIcons and WinJumplist.DeleteStatusJumpListIconsOld are used instead. </obsolete> <owner>chengx@chromium.org</owner> @@ -87746,7 +87794,7 @@ <histogram name="WinJumplist.DirectoryStatusJumpListIcons" enum="JumpListIconsFolderExistOrEmptyCategory"> <obsolete> - Obsolete 04/25/2016 as we are no long recording this metric. + Obsolete 04/25/2017 as we are no long recording this metric. </obsolete> <owner>chengx@chromium.org</owner> <summary> @@ -87758,7 +87806,7 @@ <histogram name="WinJumplist.DirectoryStatusJumpListIconsOld" enum="JumpListIconsFolderExistOrEmptyCategory"> <obsolete> - Obsolete 04/25/2016 as we are no long recording this metric. + Obsolete 04/25/2017 as we are no long recording this metric. </obsolete> <owner>chengx@chromium.org</owner> <summary>
diff --git a/tools/perf/benchmarks/smoothness.py b/tools/perf/benchmarks/smoothness.py index 01049de4..707a7e9 100644 --- a/tools/perf/benchmarks/smoothness.py +++ b/tools/perf/benchmarks/smoothness.py
@@ -170,6 +170,7 @@ return StoryExpectations() +@benchmark.Disabled('win') # http://crbug.com/692663 @benchmark.Disabled('android-webview') # http://crbug.com/653933 @benchmark.Owner(emails=['kbr@chromium.org', 'zmo@chromium.org']) class SmoothnessMaps(perf_benchmark.PerfBenchmark):
diff --git a/tools/perf/page_sets/system_health/expectations.py b/tools/perf/page_sets/system_health/expectations.py index 66a82ee..715db4f 100644 --- a/tools/perf/page_sets/system_health/expectations.py +++ b/tools/perf/page_sets/system_health/expectations.py
@@ -28,8 +28,6 @@ [expectations.ALL_WIN], 'crbug.com/728152') self.DisableStory('browse:news:cnn', [expectations.ALL_MAC], 'crbug.com/728576') - self.DisableStory('browse:social:twitter_infinite_scroll', - [expectations.ALL], 'crbug.com/728464') self.DisableStory('browse:media:flickr_infinite_scroll', [expectations.ALL], 'crbug.com/728785') @@ -61,8 +59,6 @@ [expectations.ALL_WIN], 'crbug.com/728152') self.DisableStory('browse:news:cnn', [expectations.ALL_MAC], 'crbug.com/728576') - self.DisableStory('browse:social:twitter_infinite_scroll', - [expectations.ALL], 'crbug.com/728464') self.DisableStory('browse:media:flickr_infinite_scroll', [expectations.ALL], 'crbug.com/728785') @@ -165,8 +161,6 @@ 'crbug.com/728152') self.DisableStory('browse:news:cnn', [expectations.ALL_MAC], 'crbug.com/728576') - self.DisableStory('browse:social:twitter_infinite_scroll', - [expectations.ALL], 'crbug.com/728464') self.DisableStory('browse:media:flickr_infinite_scroll', [expectations.ALL, expectations.ALL_WIN], 'crbug.com/728785')
diff --git a/ui/android/BUILD.gn b/ui/android/BUILD.gn index 22a9c49..7ddbe98 100644 --- a/ui/android/BUILD.gn +++ b/ui/android/BUILD.gn
@@ -66,7 +66,6 @@ "//ui/base", "//ui/display", "//ui/events", - "//ui/events/devices", "//ui/gfx", "//ui/gfx/geometry", "//url", @@ -214,7 +213,6 @@ "java/src/org/chromium/ui/display/DisplaySwitches.java", "java/src/org/chromium/ui/display/PhysicalDisplayAndroid.java", "java/src/org/chromium/ui/display/VirtualDisplayAndroid.java", - "java/src/org/chromium/ui/events/devices/InputDeviceObserver.java", "java/src/org/chromium/ui/gfx/BitmapHelper.java", "java/src/org/chromium/ui/gfx/ViewConfigurationHelper.java", "java/src/org/chromium/ui/gl/SurfaceTextureListener.java",
diff --git a/ui/android/java/src/org/chromium/ui/events/devices/InputDeviceObserver.java b/ui/android/java/src/org/chromium/ui/events/devices/InputDeviceObserver.java deleted file mode 100644 index df2254f..0000000 --- a/ui/android/java/src/org/chromium/ui/events/devices/InputDeviceObserver.java +++ /dev/null
@@ -1,81 +0,0 @@ -// Copyright 2017 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -package org.chromium.ui.events.devices; - -import android.content.Context; -import android.hardware.input.InputManager; -import android.hardware.input.InputManager.InputDeviceListener; - -import org.chromium.base.ContextUtils; -import org.chromium.base.ThreadUtils; -import org.chromium.base.annotations.CalledByNative; -import org.chromium.base.annotations.JNINamespace; - -/** - * A singleton that helps detecting changes in input devices through the interface - * {@link InputDeviceObserver}. - */ -@JNINamespace("ui") -public class InputDeviceObserver implements InputDeviceListener { - private static final InputDeviceObserver INSTANCE = new InputDeviceObserver(); - - /** - * Notifies the InputDeviceObserver that an observer is attached and it - * should prepare itself for listening input changes. - */ - @CalledByNative - public static void addObserver() { - assert ThreadUtils.runningOnUiThread(); - INSTANCE.attachObserver(); - } - - /** - * Notifies the InputDeviceObserver that an observer has been removed. - */ - @CalledByNative - public static void removeObserver() { - assert ThreadUtils.runningOnUiThread(); - INSTANCE.detachObserver(); - } - - private InputManager mInputManager; - private InputDeviceListener mInputDeviceListener; - private int mObserversCounter; - - // Override InputDeviceListener methods - @Override - public void onInputDeviceChanged(int deviceId) { - nativeInputConfigurationChanged(); - } - - @Override - public void onInputDeviceRemoved(int deviceId) { - nativeInputConfigurationChanged(); - } - - @Override - public void onInputDeviceAdded(int deviceId) { - nativeInputConfigurationChanged(); - } - - private void attachObserver() { - if (mObserversCounter++ == 0) { - Context context = ContextUtils.getApplicationContext(); - mInputManager = (InputManager) context.getSystemService(Context.INPUT_SERVICE); - // Register an input device listener. - mInputManager.registerInputDeviceListener(this, null); - } - } - - private void detachObserver() { - assert mObserversCounter > 0; - if (--mObserversCounter == 0) { - mInputManager.unregisterInputDeviceListener(this); - mInputManager = null; - } - } - - private native void nativeInputConfigurationChanged(); -} \ No newline at end of file
diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn index f7b9f78..4441ecb 100644 --- a/ui/base/BUILD.gn +++ b/ui/base/BUILD.gn
@@ -367,6 +367,7 @@ sources += [ "touch/touch_device_win.cc" ] } else if (is_android) { sources += [ "touch/touch_device_android.cc" ] + sources -= [ "touch/touch_device_util.cc" ] } else if (is_ios) { sources += [ "touch/touch_device_ios.cc" ] } else if (is_linux) {
diff --git a/ui/base/ime/composition_underline.h b/ui/base/ime/composition_underline.h index f817069..9eb7763 100644 --- a/ui/base/ime/composition_underline.h +++ b/ui/base/ime/composition_underline.h
@@ -38,6 +38,11 @@ thick(t), background_color(bc) {} + bool operator<(const CompositionUnderline& rhs) const { + return std::tie(start_offset, end_offset) < + std::tie(rhs.start_offset, rhs.end_offset); + } + bool operator==(const CompositionUnderline& rhs) const { return (this->start_offset == rhs.start_offset) && (this->end_offset == rhs.end_offset) && (this->color == rhs.color) &&
diff --git a/ui/base/touch/touch_device_android.cc b/ui/base/touch/touch_device_android.cc index 92febc1..2a65323 100644 --- a/ui/base/touch/touch_device_android.cc +++ b/ui/base/touch/touch_device_android.cc
@@ -20,7 +20,7 @@ return Java_TouchDevice_maxTouchPoints(AttachCurrentThread()); } -std::pair<int, int> AvailablePointerAndHoverTypes() { +std::pair<int, int> GetAvailablePointerAndHoverTypes() { JNIEnv* env = AttachCurrentThread(); std::vector<int> pointer_and_hover_types; base::android::JavaIntArrayToIntVector( @@ -30,14 +30,6 @@ return std::make_pair(pointer_and_hover_types[0], pointer_and_hover_types[1]); } -int GetAvailableHoverTypes() { - return AvailablePointerAndHoverTypes().second; -} - -int GetAvailablePointerTypes() { - return AvailablePointerAndHoverTypes().first; -} - PointerType GetPrimaryPointerType(int available_pointer_types) { if (available_pointer_types & POINTER_TYPE_COARSE) return POINTER_TYPE_COARSE;
diff --git a/ui/events/blink/blink_event_util.cc b/ui/events/blink/blink_event_util.cc index c380b89..1c2c1312 100644 --- a/ui/events/blink/blink_event_util.cc +++ b/ui/events/blink/blink_event_util.cc
@@ -804,6 +804,8 @@ float x = (mouse_event->PositionInWidget().x + delta.x()) * scale; float y = (mouse_event->PositionInWidget().y + delta.y()) * scale; mouse_event->SetPositionInWidget(x, y); + mouse_event->movement_x *= scale; + mouse_event->movement_y *= scale; } else if (blink::WebInputEvent::IsTouchEventType(event.GetType())) { blink::WebTouchEvent* touch_event = new blink::WebTouchEvent; scaled_event.reset(touch_event);
diff --git a/ui/events/blink/blink_event_util_unittest.cc b/ui/events/blink/blink_event_util_unittest.cc index 36c8082..0f894147 100644 --- a/ui/events/blink/blink_event_util_unittest.cc +++ b/ui/events/blink/blink_event_util_unittest.cc
@@ -201,19 +201,4 @@ EXPECT_FALSE(CanCoalesce(event_to_be_coalesced, coalesced_event)); } -TEST(BlinkEventUtilTest, WebMouseMoveEventMovementNotChanged) { - blink::WebMouseEvent event(blink::WebInputEvent::kMouseMove, - blink::WebInputEvent::kNoModifiers, - blink::WebInputEvent::kTimeStampForTesting); - event.movement_x = 1; - event.movement_y = 1; - std::unique_ptr<blink::WebInputEvent> webEvent = - ScaleWebInputEvent(event, 2.f); - EXPECT_TRUE(webEvent); - blink::WebMouseEvent* mouseEvent = - static_cast<blink::WebMouseEvent*>(webEvent.get()); - EXPECT_EQ(1, mouseEvent->movement_x); - EXPECT_EQ(1, mouseEvent->movement_y); -} - } // namespace ui
diff --git a/ui/events/devices/BUILD.gn b/ui/events/devices/BUILD.gn index ca8c4e8..9565cc7 100644 --- a/ui/events/devices/BUILD.gn +++ b/ui/events/devices/BUILD.gn
@@ -2,11 +2,6 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -if (is_android) { - import("//build/config/android/config.gni") - import("//build/config/android/rules.gni") -} - component("devices") { sources = [ "device_data_manager.cc", @@ -20,8 +15,6 @@ "input_device_event_observer.h", "input_device_manager.cc", "input_device_manager.h", - "input_device_observer_android.cc", - "input_device_observer_android.h", "input_device_observer_win.cc", "input_device_observer_win.h", "stylus_state.h", @@ -42,17 +35,4 @@ "//ui/display/types", "//ui/gfx/geometry", ] - - if (is_android) { - deps += [ ":ui_events_devices_jni_headers" ] - } -} - -if (is_android) { - generate_jni("ui_events_devices_jni_headers") { - sources = [ - "../../android/java/src/org/chromium/ui/events/devices/InputDeviceObserver.java", - ] - jni_package = "events/devices" - } }
diff --git a/ui/events/devices/DEPS b/ui/events/devices/DEPS deleted file mode 100644 index 1d2c11b..0000000 --- a/ui/events/devices/DEPS +++ /dev/null
@@ -1,5 +0,0 @@ -specific_include_rules = { - "input_device_observer_android.cc": [ - "+jni", - ], -}
diff --git a/ui/events/devices/input_device_observer_android.cc b/ui/events/devices/input_device_observer_android.cc deleted file mode 100644 index 3313b7fe..0000000 --- a/ui/events/devices/input_device_observer_android.cc +++ /dev/null
@@ -1,67 +0,0 @@ -// Copyright 2017 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "ui/events/devices/input_device_observer_android.h" - -#include "base/memory/singleton.h" -#include "jni/InputDeviceObserver_jni.h" - -using base::android::AttachCurrentThread; -using base::android::JavaParamRef; - -// This macro provides the implementation for the observer notification methods. -#define NOTIFY_OBSERVERS(method_decl, observer_call) \ - void InputDeviceObserverAndroid::method_decl { \ - for (ui::InputDeviceEventObserver & observer : observers_) \ - observer.observer_call; \ - } - -namespace ui { - -bool InputDeviceObserverAndroid::RegisterInputDeviceObserver(JNIEnv* env) { - return RegisterNativesImpl(env); -} - -InputDeviceObserverAndroid::InputDeviceObserverAndroid() {} - -InputDeviceObserverAndroid::~InputDeviceObserverAndroid() {} - -InputDeviceObserverAndroid* InputDeviceObserverAndroid::GetInstance() { - return base::Singleton< - InputDeviceObserverAndroid, - base::LeakySingletonTraits<InputDeviceObserverAndroid>>::get(); -} - -void InputDeviceObserverAndroid::AddObserver( - ui::InputDeviceEventObserver* observer) { - observers_.AddObserver(observer); - JNIEnv* env = AttachCurrentThread(); - Java_InputDeviceObserver_addObserver(env); -} - -void InputDeviceObserverAndroid::RemoveObserver( - ui::InputDeviceEventObserver* observer) { - observers_.RemoveObserver(observer); - JNIEnv* env = AttachCurrentThread(); - Java_InputDeviceObserver_removeObserver(env); -} - -static void InputConfigurationChanged(JNIEnv* env, - const JavaParamRef<jobject>& obj) { - InputDeviceObserverAndroid::GetInstance() - ->NotifyObserversTouchpadDeviceConfigurationChanged(); - InputDeviceObserverAndroid::GetInstance() - ->NotifyObserversKeyboardDeviceConfigurationChanged(); - InputDeviceObserverAndroid::GetInstance() - ->NotifyObserversMouseDeviceConfigurationChanged(); -} - -NOTIFY_OBSERVERS(NotifyObserversMouseDeviceConfigurationChanged(), - OnMouseDeviceConfigurationChanged()); -NOTIFY_OBSERVERS(NotifyObserversTouchpadDeviceConfigurationChanged(), - OnTouchpadDeviceConfigurationChanged()); -NOTIFY_OBSERVERS(NotifyObserversKeyboardDeviceConfigurationChanged(), - OnKeyboardDeviceConfigurationChanged()); - -} // namespace ui \ No newline at end of file
diff --git a/ui/events/devices/input_device_observer_android.h b/ui/events/devices/input_device_observer_android.h deleted file mode 100644 index 311dfa82..0000000 --- a/ui/events/devices/input_device_observer_android.h +++ /dev/null
@@ -1,48 +0,0 @@ -// Copyright 2017 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef UI_EVENTS_DEVICES_INPUT_DEVICE_OBSERVER_ANDROID_H_ -#define UI_EVENTS_DEVICES_INPUT_DEVICE_OBSERVER_ANDROID_H_ - -#include <jni.h> - -#include "base/observer_list.h" -#include "ui/events/devices/input_device_event_observer.h" - -namespace base { -template <typename T> -struct DefaultSingletonTraits; -} - -namespace ui { - -// This class is a singleton responsible to notify the -// InputDeviceChangeObserver whenever an input change -// happened on the Java side. -class EVENTS_DEVICES_EXPORT InputDeviceObserverAndroid { - public: - static InputDeviceObserverAndroid* GetInstance(); - ~InputDeviceObserverAndroid(); - - static bool RegisterInputDeviceObserver(JNIEnv* env); - - void AddObserver(ui::InputDeviceEventObserver* observer); - void RemoveObserver(ui::InputDeviceEventObserver* observer); - - void NotifyObserversTouchpadDeviceConfigurationChanged(); - void NotifyObserversKeyboardDeviceConfigurationChanged(); - void NotifyObserversMouseDeviceConfigurationChanged(); - - private: - InputDeviceObserverAndroid(); - - base::ObserverList<ui::InputDeviceEventObserver> observers_; - - friend struct base::DefaultSingletonTraits<InputDeviceObserverAndroid>; - DISALLOW_COPY_AND_ASSIGN(InputDeviceObserverAndroid); -}; - -} // namespace ui - -#endif // UI_EVENTS_DEVICES_INPUT_DEVICE_OBSERVER_ANDROID_H_
diff --git a/ui/events/devices/input_device_observer_win.h b/ui/events/devices/input_device_observer_win.h index 3390507..fd0f5b4 100644 --- a/ui/events/devices/input_device_observer_win.h +++ b/ui/events/devices/input_device_observer_win.h
@@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef UI_EVENTS_DEVICES_INPUT_DEVICE_OBSERVER_WIN_H_ -#define UI_EVENTS_DEVICES_INPUT_DEVICE_OBSERVER_WIN_H_ +#ifndef CONTENT_BROWSER_RENDERER_HOST_INPUT_INPUT_DEVICE_OBSERVER_WIN_H_ +#define CONTENT_BROWSER_RENDERER_HOST_INPUT_INPUT_DEVICE_OBSERVER_WIN_H_ #include "base/observer_list.h" #include "base/win/registry.h" @@ -45,4 +45,4 @@ } // namespace ui -#endif // UI_EVENTS_DEVICES_INPUT_DEVICE_OBSERVER_WIN_H_ \ No newline at end of file +#endif // CONTENT_BROWSER_RENDERER_HOST_INPUT_INPUT_DEVICE_OBSERVER_WIN_H_ \ No newline at end of file
diff --git a/ui/gfx/geometry/mojo/BUILD.gn b/ui/gfx/geometry/mojo/BUILD.gn index 1fcd39f..0e51ef9 100644 --- a/ui/gfx/geometry/mojo/BUILD.gn +++ b/ui/gfx/geometry/mojo/BUILD.gn
@@ -12,7 +12,7 @@ ] # TODO(crbug.com/699569): Convert to use the new JS bindings. - use_new_js_bindings = false + js_bindings_mode = "both" } mojom("test_interfaces") {
diff --git a/ui/views/controls/button/checkbox.cc b/ui/views/controls/button/checkbox.cc index 0c7a721..a21d406d 100644 --- a/ui/views/controls/button/checkbox.cc +++ b/ui/views/controls/button/checkbox.cc
@@ -17,6 +17,7 @@ #include "ui/views/animation/ink_drop_impl.h" #include "ui/views/animation/ink_drop_ripple.h" #include "ui/views/controls/button/label_button_border.h" +#include "ui/views/layout/layout_provider.h" #include "ui/views/painter.h" #include "ui/views/resources/grit/views_resources.h" #include "ui/views/style/platform_style.h" @@ -193,6 +194,14 @@ return images_[checked_index][focused_index][for_state]; } +std::unique_ptr<LabelButtonBorder> Checkbox::CreateDefaultBorder() const { + std::unique_ptr<LabelButtonBorder> border = + LabelButton::CreateDefaultBorder(); + border->set_insets( + LayoutProvider::Get()->GetInsetsMetric(INSETS_CHECKBOX_RADIO_BUTTON)); + return border; +} + void Checkbox::SetCustomImage(bool checked, bool focused, ButtonState for_state,
diff --git a/ui/views/controls/button/checkbox.h b/ui/views/controls/button/checkbox.h index 54ea6169..9622387 100644 --- a/ui/views/controls/button/checkbox.h +++ b/ui/views/controls/button/checkbox.h
@@ -51,6 +51,7 @@ SkColor GetInkDropBaseColor() const override; void PaintButtonContents(gfx::Canvas* canvas) override; gfx::ImageSkia GetImage(ButtonState for_state) const override; + std::unique_ptr<LabelButtonBorder> CreateDefaultBorder() const override; // Set the image shown for each button state depending on whether it is // [checked] or [focused].
diff --git a/ui/views/layout/layout_provider.cc b/ui/views/layout/layout_provider.cc index 3f0f606..fd7c9c396 100644 --- a/ui/views/layout/layout_provider.cc +++ b/ui/views/layout/layout_provider.cc
@@ -42,6 +42,8 @@ return gfx::Insets(bubble_contents.top(), bubble_contents.left(), 0, bubble_contents.right()); } + case InsetsMetric::INSETS_CHECKBOX_RADIO_BUTTON: + return gfx::Insets(5, 6); case InsetsMetric::INSETS_DIALOG_BUTTON_ROW: { const gfx::Insets dialog_contents = GetInsetsMetric(INSETS_DIALOG_CONTENTS);
diff --git a/ui/views/layout/layout_provider.h b/ui/views/layout/layout_provider.h index b7861b39..a5d9386 100644 --- a/ui/views/layout/layout_provider.h +++ b/ui/views/layout/layout_provider.h
@@ -24,6 +24,8 @@ // The margins around the title of a bubble (popover)-style dialog. The bottom // margin is implied by the content insets. INSETS_BUBBLE_TITLE, + // Internal border around checkboxes and radio buttons. + INSETS_CHECKBOX_RADIO_BUTTON, // The margins around the button row of a dialog. The top margin is implied // by the content insets. INSETS_DIALOG_BUTTON_ROW,
diff --git a/ui/views/mus/aura_init.cc b/ui/views/mus/aura_init.cc index ec0bb006..f53872d 100644 --- a/ui/views/mus/aura_init.cc +++ b/ui/views/mus/aura_init.cc
@@ -52,9 +52,40 @@ } // namespace -AuraInit::AuraInit() { +AuraInit::AuraInit(service_manager::Connector* connector, + const service_manager::Identity& identity, + const std::string& resource_file, + const std::string& resource_file_200, + scoped_refptr<base::SingleThreadTaskRunner> io_task_runner, + Mode mode) + : resource_file_(resource_file), + resource_file_200_(resource_file_200), + env_(aura::Env::CreateInstance( + (mode == Mode::AURA_MUS || mode == Mode::AURA_MUS_WINDOW_MANAGER) + ? aura::Env::Mode::MUS + : aura::Env::Mode::LOCAL)) { if (!ViewsDelegate::GetInstance()) views_delegate_ = base::MakeUnique<MusViewsDelegate>(); + if (mode == Mode::AURA_MUS) { + mus_client_ = + base::WrapUnique(new MusClient(connector, identity, io_task_runner)); + } + ui::MaterialDesignController::Initialize(); + if (!InitializeResources(connector)) + return; + +// Initialize the skia font code to go ask fontconfig underneath. +#if defined(OS_LINUX) + font_loader_ = sk_make_sp<font_service::FontLoader>(connector); + SkFontConfigInterface::SetGlobal(font_loader_.get()); +#endif + + // There is a bunch of static state in gfx::Font, by running this now, + // before any other apps load, we ensure all the state is set up. + gfx::Font(); + + ui::InitializeInputMethodForTesting(); + initialized_ = true; } AuraInit::~AuraInit() { @@ -69,65 +100,15 @@ #endif } -std::unique_ptr<AuraInit> AuraInit::Create( - service_manager::Connector* connector, - const service_manager::Identity& identity, - const std::string& resource_file, - const std::string& resource_file_200, - scoped_refptr<base::SingleThreadTaskRunner> io_task_runner, - Mode mode) { - std::unique_ptr<AuraInit> aura_init = base::WrapUnique(new AuraInit()); - if (!aura_init->Init(connector, identity, resource_file, resource_file_200, - io_task_runner, mode)) { - aura_init.reset(); - } - return aura_init; -} - -bool AuraInit::Init(service_manager::Connector* connector, - const service_manager::Identity& identity, - const std::string& resource_file, - const std::string& resource_file_200, - scoped_refptr<base::SingleThreadTaskRunner> io_task_runner, - Mode mode) { - env_ = aura::Env::CreateInstance( - (mode == Mode::AURA_MUS || mode == Mode::AURA_MUS_WINDOW_MANAGER) - ? aura::Env::Mode::MUS - : aura::Env::Mode::LOCAL); - - if (mode == Mode::AURA_MUS) { - mus_client_ = - base::WrapUnique(new MusClient(connector, identity, io_task_runner)); - } - ui::MaterialDesignController::Initialize(); - if (!InitializeResources(connector, resource_file, resource_file_200)) - return false; - -// Initialize the skia font code to go ask fontconfig underneath. -#if defined(OS_LINUX) - font_loader_ = sk_make_sp<font_service::FontLoader>(connector); - SkFontConfigInterface::SetGlobal(font_loader_.get()); -#endif - - // There is a bunch of static state in gfx::Font, by running this now, - // before any other apps load, we ensure all the state is set up. - gfx::Font(); - - ui::InitializeInputMethodForTesting(); - return true; -} - -bool AuraInit::InitializeResources(service_manager::Connector* connector, - const std::string& resource_file, - const std::string& resource_file_200) { +bool AuraInit::InitializeResources(service_manager::Connector* connector) { // Resources may have already been initialized (e.g. when 'chrome --mash' is // used to launch the current app). if (ui::ResourceBundle::HasSharedInstance()) return false; - std::set<std::string> resource_paths({resource_file}); - if (!resource_file_200.empty()) - resource_paths.insert(resource_file_200); + std::set<std::string> resource_paths({resource_file_}); + if (!resource_file_200_.empty()) + resource_paths.insert(resource_file_200_); catalog::ResourceLoader loader; filesystem::mojom::DirectoryPtr directory; @@ -142,15 +123,15 @@ if (!loader.OpenFiles(std::move(directory), resource_paths)) return false; ui::RegisterPathProvider(); - base::File pak_file = loader.TakeFile(resource_file); + base::File pak_file = loader.TakeFile(resource_file_); base::File pak_file_2 = pak_file.Duplicate(); ui::ResourceBundle::InitSharedInstanceWithPakFileRegion( std::move(pak_file), base::MemoryMappedFile::Region::kWholeFile); ui::ResourceBundle::GetSharedInstance().AddDataPackFromFile( std::move(pak_file_2), ui::SCALE_FACTOR_100P); - if (!resource_file_200.empty()) + if (!resource_file_200_.empty()) ui::ResourceBundle::GetSharedInstance().AddDataPackFromFile( - loader.TakeFile(resource_file_200), ui::SCALE_FACTOR_200P); + loader.TakeFile(resource_file_200_), ui::SCALE_FACTOR_200P); return true; }
diff --git a/ui/views/mus/aura_init.h b/ui/views/mus/aura_init.h index 2ba6fd2..15deb095 100644 --- a/ui/views/mus/aura_init.h +++ b/ui/views/mus/aura_init.h
@@ -51,51 +51,42 @@ UI }; - ~AuraInit(); - - // Returns an AuraInit if initialization can be completed successfully, - // otherwise a nullptr is returned. If initialization fails then Aura is in an - // unusable state, and calling services should shutdown. // |resource_file| is the file to load strings and 1x icons from. // |resource_file_200| can be an empty string, otherwise it is the file to // load 2x icons from. - static std::unique_ptr<AuraInit> Create( - service_manager::Connector* connector, - const service_manager::Identity& identity, - const std::string& resource_file, - const std::string& resource_file_200 = std::string(), - scoped_refptr<base::SingleThreadTaskRunner> io_task_runner = nullptr, - Mode mode = Mode::UI); + AuraInit(service_manager::Connector* connector, + const service_manager::Identity& identity, + const std::string& resource_file, + const std::string& resource_file_200 = std::string(), + scoped_refptr<base::SingleThreadTaskRunner> io_task_runner = nullptr, + Mode mode = Mode::UI); + ~AuraInit(); // Only valid if Mode::AURA_MUS was passed to constructor. MusClient* mus_client() { return mus_client_.get(); } - private: - AuraInit(); - // Returns true if AuraInit was able to successfully complete initialization. // If this returns false, then Aura is in an unusable state, and calling // services should shutdown. - bool Init( - service_manager::Connector* connector, - const service_manager::Identity& identity, - const std::string& resource_file, - const std::string& resource_file_200 = std::string(), - scoped_refptr<base::SingleThreadTaskRunner> io_task_runner = nullptr, - Mode mode = Mode::UI); + bool initialized() { return initialized_; } - bool InitializeResources(service_manager::Connector* connector, - const std::string& resource_file, - const std::string& resource_file_200); + private: + bool InitializeResources(service_manager::Connector* connector); #if defined(OS_LINUX) sk_sp<font_service::FontLoader> font_loader_; #endif + const std::string resource_file_; + const std::string resource_file_200_; + std::unique_ptr<aura::Env> env_; std::unique_ptr<MusClient> mus_client_; std::unique_ptr<ViewsDelegate> views_delegate_; + // Whether or not initialization succeeds. + bool initialized_ = false; + DISALLOW_COPY_AND_ASSIGN(AuraInit); };
diff --git a/ui/views/win/fullscreen_handler.cc b/ui/views/win/fullscreen_handler.cc index 89581d79d..c35bad52 100644 --- a/ui/views/win/fullscreen_handler.cc +++ b/ui/views/win/fullscreen_handler.cc
@@ -85,6 +85,20 @@ new_rect.height(), SWP_NOZORDER | SWP_NOACTIVATE | SWP_FRAMECHANGED); } + + if (!task_bar_list_) { + HRESULT hr = ::CoCreateInstance(CLSID_TaskbarList, NULL, + CLSCTX_INPROC_SERVER, + IID_PPV_ARGS(&task_bar_list_)); + CHECK(SUCCEEDED(hr)); + } + + // As per MSDN marking the window as fullscreen should ensure that the + // taskbar is moved to the bottom of the Z-order when the fullscreen window + // is activated. If the window is not fullscreen, the Shell falls back to + // heuristics to determine how the window should be treated, which means + // that it could still consider the window as fullscreen. :( + task_bar_list_->MarkFullscreenWindow(hwnd_, !!fullscreen); } } // namespace views
diff --git a/ui/views/win/fullscreen_handler.h b/ui/views/win/fullscreen_handler.h index 9714057ed..772d275 100644 --- a/ui/views/win/fullscreen_handler.h +++ b/ui/views/win/fullscreen_handler.h
@@ -5,11 +5,12 @@ #ifndef UI_VIEWS_WIN_FULLSCREEN_HANDLER_H_ #define UI_VIEWS_WIN_FULLSCREEN_HANDLER_H_ -#include <windows.h> +#include <shobjidl.h> #include <map> #include "base/macros.h" +#include "base/win/scoped_comptr.h" namespace gfx { class Rect; @@ -47,6 +48,8 @@ // Saved window information from before entering fullscreen mode. // TODO(beng): move to private once GetRestoredBounds() moves onto Widget. SavedWindowInfo saved_window_info_; + // Used to mark a window as fullscreen. + base::win::ScopedComPtr<ITaskbarList2> task_bar_list_; DISALLOW_COPY_AND_ASSIGN(FullscreenHandler); };