diff --git a/DEPS b/DEPS index 18b9add..7452e52d9 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': 'af7bbc8b0495612cdbc98847fadb0a08924c41bb', + 'skia_revision': 'a3091099fa19da32e60433c0da835e9de3dd8ee9', # 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': '11e3de08c734763e1f9f6907cf41d97c6465c5e3', + 'v8_revision': 'f42bac69be04b747319e124cece6d277b9d38a67', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling swarming_client # and whatever else without interference from each other.
diff --git a/base/logging.h b/base/logging.h index 6f30bcbe..13661a76 100644 --- a/base/logging.h +++ b/base/logging.h
@@ -500,7 +500,23 @@ #if defined(COMPILER_GCC) #define IMMEDIATE_CRASH() __builtin_trap() #elif defined(COMPILER_MSVC) + +// Clang is cleverer about coalescing int3s, so we need to add a unique-ish +// instruction following the __debugbreak() to have it emit distinct locations +// for CHECKs rather than collapsing them all together. It would be nice to use +// a short intrinsic to do this (and perhaps have only one implementation for +// both clang and MSVC), however clang-cl currently does not support intrinsics +// here. Adding the nullptr store to the MSVC path adds unnecessary bloat. +// TODO(scottmg): Reinvestigate a short sequence that will work on both +// compilers once clang supports more intrinsics. See https://crbug.com/693713. +#if defined(__clang__) +#define IMMEDIATE_CRASH() \ + (__debugbreak(), \ + (void)(*reinterpret_cast<volatile unsigned char*>(0) = __COUNTER__)) +#else #define IMMEDIATE_CRASH() __debugbreak() +#endif // __clang__ + #else #error Port #endif
diff --git a/chrome/app/chrome_command_ids.h b/chrome/app/chrome_command_ids.h index 0bc227c8..0b830f01 100644 --- a/chrome/app/chrome_command_ids.h +++ b/chrome/app/chrome_command_ids.h
@@ -15,10 +15,6 @@ // Values below IDC_MinimumLabelValue are reserved for dynamic menu items. #define IDC_MinimumLabelValue 4000 -#define IDC_Messages 4000 -#define IDC_MessagesAll 4007 -#define IDC_MessagesNone 4008 - // NOTE: Within each of the following sections, the IDs are ordered roughly by // how they appear in the GUI/menus (left to right, top to bottom, etc.).
diff --git a/chrome/app/chrome_dll.rc b/chrome/app/chrome_dll.rc index e932703f..fa5e7e4 100644 --- a/chrome/app/chrome_dll.rc +++ b/chrome/app/chrome_dll.rc
@@ -199,40 +199,6 @@ IDI_THROBBER_23 ICON "theme\vista_frame_throbber_23.ico" IDI_THROBBER_24 ICON "theme\vista_frame_throbber_24.ico" -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_IPC_SETTINGS DIALOGEX 0, 0, 182, 558 -STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "IPC Logging Settings" -FONT 8, "MS Shell Dlg", 400, 0, 0x1 -BEGIN - CONTROL "",IDC_Messages,"SysListView32",LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,7,22,170,529 - PUSHBUTTON "All",IDC_MessagesAll,7,6,56,13 - PUSHBUTTON "None",IDC_MessagesNone,121,7,56,13 -END - - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO -BEGIN - IDD_IPC_SETTINGS, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 784 - TOPMARGIN, 7 - BOTTOMMARGIN, 421 - END -END -#endif // APSTUDIO_INVOKED - #endif // English (U.S.) resources /////////////////////////////////////////////////////////////////////////////
diff --git a/chrome/app/chrome_dll_resource.h b/chrome/app/chrome_dll_resource.h index 9aa6465..7e8b860 100644 --- a/chrome/app/chrome_dll_resource.h +++ b/chrome/app/chrome_dll_resource.h
@@ -31,5 +31,3 @@ #define IDR_SXS 126 // Values around 1600 are used by installer/setup/build/ - -#define IDD_IPC_SETTINGS 3000
diff --git a/content/browser/webrtc/webrtc_media_recorder_browsertest.cc b/content/browser/webrtc/webrtc_media_recorder_browsertest.cc index 870d904..ec1082a0 100644 --- a/content/browser/webrtc/webrtc_media_recorder_browsertest.cc +++ b/content/browser/webrtc/webrtc_media_recorder_browsertest.cc
@@ -146,7 +146,15 @@ kMediaRecorderHtmlFile); } -IN_PROC_BROWSER_TEST_P(WebRtcMediaRecorderTest, PeerConnection) { +#if defined(OS_ANDROID) && defined(ADDRESS_SANITIZER) +// Parametrizations 1/2 (VP8/VP9+disabled) time out under Android ASAN: +// https://crbug.com/693565. +#define MAYBE_PeerConnection DISABLED_PeerConnection +#else +#define MAYBE_PeerConnection PeerConnection +#endif + +IN_PROC_BROWSER_TEST_P(WebRtcMediaRecorderTest, MAYBE_PeerConnection) { MaybeForceDisableEncodeAccelerator(GetParam().disable_accelerator); MakeTypicalCall(base::StringPrintf("testRecordRemotePeerConnection(\"%s\");", GetParam().mime_type.c_str()),
diff --git a/media/midi/BUILD.gn b/media/midi/BUILD.gn index 0dc5ed3..b53cad0 100644 --- a/media/midi/BUILD.gn +++ b/media/midi/BUILD.gn
@@ -142,6 +142,8 @@ if (is_win) { deps += [ "//device/usb" ] sources += [ + "dynamically_initialized_midi_manager_win.cc", + "dynamically_initialized_midi_manager_win.h", "midi_manager_win.cc", "midi_manager_win.h", "midi_manager_winrt.cc",
diff --git a/media/midi/dynamically_initialized_midi_manager_win.cc b/media/midi/dynamically_initialized_midi_manager_win.cc new file mode 100644 index 0000000..26a4c835e --- /dev/null +++ b/media/midi/dynamically_initialized_midi_manager_win.cc
@@ -0,0 +1,400 @@ +// 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 "media/midi/dynamically_initialized_midi_manager_win.h" + +#include <windows.h> + +#include <mmreg.h> +#include <mmsystem.h> + +#include <algorithm> +#include <string> + +#include "base/callback.h" +#include "base/logging.h" +#include "base/memory/ptr_util.h" +#include "base/strings/string16.h" +#include "base/strings/stringprintf.h" +#include "base/strings/utf_string_conversions.h" +#include "base/synchronization/lock.h" +#include "media/midi/midi_port_info.h" +#include "media/midi/midi_service.h" + +namespace midi { + +namespace { + +// Global variables to identify MidiManager instance. +constexpr int kInvalidInstanceId = -1; +int g_active_instance_id = kInvalidInstanceId; +DynamicallyInitializedMidiManagerWin* g_manager_instance = nullptr; + +// Obtains base::Lock instance pointer to lock instance_id. +base::Lock* GetInstanceIdLock() { + static base::Lock* lock = new base::Lock; + return lock; +} + +// Issues unique MidiManager instance ID. +int IssueNextInstanceId() { + static int id = kInvalidInstanceId; + return ++id; +} + +// Use single TaskRunner for all tasks running outside the I/O thread. +constexpr int kTaskRunner = 0; + +// Obtains base::Lock instance pointer to ensure tasks run safely on TaskRunner. +base::Lock* GetTaskLock() { + static base::Lock* lock = new base::Lock; + return lock; +} + +// Helper function to run a posted task on TaskRunner safely. +void RunTask(int instance_id, const base::Closure& task) { + // Obtains task lock to ensure that the instance should not complete + // Finalize() while running the |task|. + base::AutoLock task_lock(*GetTaskLock()); + { + // If Finalize() finished before the lock avobe, do nothing. + base::AutoLock lock(*GetInstanceIdLock()); + if (instance_id != g_active_instance_id) + return; + } + task.Run(); +} + +// TODO(toyoshim): Factor out TaskRunner related functionaliries above, and +// deprecate MidiScheduler. It should be available via MidiManager::scheduler(). + +class Port { + public: + Port(const std::string& type, + uint32_t device_id, + uint16_t manufacturer_id, + uint16_t product_id, + uint32_t driver_version, + const std::string& product_name) + : index_(0u), + type_(type), + device_id_(device_id), + manufacturer_id_(manufacturer_id), + product_id_(product_id), + driver_version_(driver_version), + product_name_(product_name) { + info_.manufacturer = "unknown"; // TODO(toyoshim): Use USB information. + info_.name = product_name_; + info_.version = base::StringPrintf("%d.%d", HIBYTE(driver_version_), + LOBYTE(driver_version_)); + info_.state = mojom::PortState::DISCONNECTED; + } + + virtual ~Port() {} + + bool operator==(const Port& other) const { + // Should not use |device_id| for comparison because it can be changed on + // each enumeration. + // Since the GUID will be changed on each enumeration for Microsoft GS + // Wavetable synth and might be done for others, do not use it for device + // comparison. + return manufacturer_id_ == other.manufacturer_id_ && + product_id_ == other.product_id_ && + driver_version_ == other.driver_version_ && + product_name_ == other.product_name_; + } + + bool IsConnected() const { + return info_.state != mojom::PortState::DISCONNECTED; + } + + void set_index(size_t index) { + index_ = index; + // TODO(toyoshim): Use hashed ID. + info_.id = base::StringPrintf("%s-%d", type_.c_str(), index_); + } + size_t index() { return index_; } + void set_device_id(uint32_t device_id) { device_id_ = device_id; } + uint32_t device_id() { return device_id_; } + const MidiPortInfo& info() { return info_; } + + virtual bool Connect() { + if (info_.state != mojom::PortState::DISCONNECTED) + return false; + + info_.state = mojom::PortState::CONNECTED; + // TODO(toyoshim) Until open() / close() are supported, open each device on + // connected. + Open(); + return true; + } + + virtual bool Disconnect() { + if (info_.state == mojom::PortState::DISCONNECTED) + return false; + info_.state = mojom::PortState::DISCONNECTED; + return true; + } + + virtual void Open() { info_.state = mojom::PortState::OPENED; } + + protected: + size_t index_; + std::string type_; + uint32_t device_id_; + const uint16_t manufacturer_id_; + const uint16_t product_id_; + const uint32_t driver_version_; + const std::string product_name_; + MidiPortInfo info_; +}; // class Port + +} // namespace + +// TODO(toyoshim): Following patches will implement actual functions. +class DynamicallyInitializedMidiManagerWin::InPort final : public Port { + public: + InPort(UINT device_id, const MIDIINCAPS2W& caps) + : Port("input", + device_id, + caps.wMid, + caps.wPid, + caps.vDriverVersion, + base::WideToUTF8( + base::string16(caps.szPname, wcslen(caps.szPname)))) {} + + static std::vector<std::unique_ptr<InPort>> EnumerateActivePorts() { + std::vector<std::unique_ptr<InPort>> ports; + const UINT num_devices = midiInGetNumDevs(); + for (UINT device_id = 0; device_id < num_devices; ++device_id) { + MIDIINCAPS2W caps; + MMRESULT result = midiInGetDevCaps( + device_id, reinterpret_cast<LPMIDIINCAPSW>(&caps), sizeof(caps)); + if (result != MMSYSERR_NOERROR) { + LOG(ERROR) << "midiInGetDevCaps fails on device " << device_id; + continue; + } + ports.push_back(base::MakeUnique<InPort>(device_id, caps)); + } + return ports; + } + + void NotifyPortStateSet(DynamicallyInitializedMidiManagerWin* manager) { + manager->PostReplyTask( + base::Bind(&DynamicallyInitializedMidiManagerWin::SetInputPortState, + base::Unretained(manager), index_, info_.state)); + } + + void NotifyPortAdded(DynamicallyInitializedMidiManagerWin* manager) { + manager->PostReplyTask( + base::Bind(&DynamicallyInitializedMidiManagerWin::AddInputPort, + base::Unretained(manager), info_)); + } +}; + +// TODO(toyoshim): Following patches will implement actual functions. +class DynamicallyInitializedMidiManagerWin::OutPort final : public Port { + public: + OutPort(UINT device_id, const MIDIOUTCAPS2W& caps) + : Port("output", + device_id, + caps.wMid, + caps.wPid, + caps.vDriverVersion, + base::WideToUTF8( + base::string16(caps.szPname, wcslen(caps.szPname)))), + software_(caps.wTechnology == MOD_SWSYNTH) {} + + static std::vector<std::unique_ptr<OutPort>> EnumerateActivePorts() { + std::vector<std::unique_ptr<OutPort>> ports; + const UINT num_devices = midiOutGetNumDevs(); + for (UINT device_id = 0; device_id < num_devices; ++device_id) { + MIDIOUTCAPS2W caps; + MMRESULT result = midiOutGetDevCaps( + device_id, reinterpret_cast<LPMIDIOUTCAPSW>(&caps), sizeof(caps)); + if (result != MMSYSERR_NOERROR) { + LOG(ERROR) << "midiOutGetDevCaps fails on device " << device_id; + continue; + } + ports.push_back(base::MakeUnique<OutPort>(device_id, caps)); + } + return ports; + } + + // Port overrides: + bool Connect() override { + // Until |software| option is supported, disable Microsoft GS Wavetable + // Synth that has a known security issue. + if (software_ && manufacturer_id_ == MM_MICROSOFT && + (product_id_ == MM_MSFT_WDMAUDIO_MIDIOUT || + product_id_ == MM_MSFT_GENERIC_MIDISYNTH)) { + return false; + } + return Port::Connect(); + } + + // Port Overrides: + void NotifyPortStateSet(DynamicallyInitializedMidiManagerWin* manager) { + manager->PostReplyTask( + base::Bind(&DynamicallyInitializedMidiManagerWin::SetOutputPortState, + base::Unretained(manager), index_, info_.state)); + } + + void NotifyPortAdded(DynamicallyInitializedMidiManagerWin* manager) { + manager->PostReplyTask( + base::Bind(&DynamicallyInitializedMidiManagerWin::AddOutputPort, + base::Unretained(manager), info_)); + } + + const bool software_; +}; + +DynamicallyInitializedMidiManagerWin::DynamicallyInitializedMidiManagerWin( + MidiService* service) + : MidiManager(service), instance_id_(IssueNextInstanceId()) { + base::AutoLock lock(*GetInstanceIdLock()); + CHECK_EQ(kInvalidInstanceId, g_active_instance_id); + + // Obtains the task runner for the current thread that hosts this instnace. + thread_runner_ = base::ThreadTaskRunnerHandle::Get(); +} + +DynamicallyInitializedMidiManagerWin::~DynamicallyInitializedMidiManagerWin() { + base::AutoLock lock(*GetInstanceIdLock()); + CHECK_EQ(kInvalidInstanceId, g_active_instance_id); + CHECK(thread_runner_->BelongsToCurrentThread()); +} + +void DynamicallyInitializedMidiManagerWin::PostReplyTask( + const base::Closure& task) { + thread_runner_->PostTask(FROM_HERE, base::Bind(&RunTask, instance_id_, task)); +} + +void DynamicallyInitializedMidiManagerWin::StartInitialization() { + { + base::AutoLock lock(*GetInstanceIdLock()); + CHECK_EQ(kInvalidInstanceId, g_active_instance_id); + g_active_instance_id = instance_id_; + CHECK_EQ(nullptr, g_manager_instance); + g_manager_instance = this; + } + // Registers on the I/O thread to be notified on the I/O thread. + CHECK(thread_runner_->BelongsToCurrentThread()); + base::SystemMonitor::Get()->AddDevicesChangedObserver(this); + + // Starts asynchronous initialization on TaskRunner. + PostTask( + base::Bind(&DynamicallyInitializedMidiManagerWin::InitializeOnTaskRunner, + base::Unretained(this))); +} + +void DynamicallyInitializedMidiManagerWin::Finalize() { + // Unregisters on the I/O thread. OnDevicesChanged() won't be called any more. + CHECK(thread_runner_->BelongsToCurrentThread()); + base::SystemMonitor::Get()->RemoveDevicesChangedObserver(this); + { + base::AutoLock lock(*GetInstanceIdLock()); + CHECK_EQ(instance_id_, g_active_instance_id); + g_active_instance_id = kInvalidInstanceId; + CHECK_EQ(this, g_manager_instance); + g_manager_instance = nullptr; + } + + // Ensures that no task runs on TaskRunner so to destruct the instance safely. + // Tasks that did not started yet will do nothing after invalidate the + // instance ID above. + base::AutoLock lock(*GetTaskLock()); +} + +void DynamicallyInitializedMidiManagerWin::DispatchSendMidiData( + MidiManagerClient* client, + uint32_t port_index, + const std::vector<uint8_t>& data, + double timestamp) { + // TODO(toyoshim): Following patches will implement. +} + +void DynamicallyInitializedMidiManagerWin::OnDevicesChanged( + base::SystemMonitor::DeviceType device_type) { + // Notified on the I/O thread. + CHECK(thread_runner_->BelongsToCurrentThread()); + + switch (device_type) { + case base::SystemMonitor::DEVTYPE_AUDIO: + case base::SystemMonitor::DEVTYPE_VIDEO_CAPTURE: + // Add case of other unrelated device types here. + return; + case base::SystemMonitor::DEVTYPE_UNKNOWN: { + PostTask(base::Bind( + &DynamicallyInitializedMidiManagerWin::UpdateDeviceListOnTaskRunner, + base::Unretained(this))); + break; + } + } +} + +void DynamicallyInitializedMidiManagerWin::PostTask(const base::Closure& task) { + service() + ->GetTaskRunner(kTaskRunner) + ->PostTask(FROM_HERE, base::Bind(&RunTask, instance_id_, task)); +} + +void DynamicallyInitializedMidiManagerWin::InitializeOnTaskRunner() { + UpdateDeviceListOnTaskRunner(); + PostReplyTask( + base::Bind(&DynamicallyInitializedMidiManagerWin::CompleteInitialization, + base::Unretained(this), mojom::Result::OK)); +} + +void DynamicallyInitializedMidiManagerWin::UpdateDeviceListOnTaskRunner() { + std::vector<std::unique_ptr<InPort>> active_input_ports = + InPort::EnumerateActivePorts(); + ReflectActiveDeviceList(this, &input_ports_, &active_input_ports); + + std::vector<std::unique_ptr<OutPort>> active_output_ports = + OutPort::EnumerateActivePorts(); + ReflectActiveDeviceList(this, &output_ports_, &active_output_ports); + + // TODO(toyoshim): This method may run before internal MIDI device lists that + // Windows manages were updated. This may be because MIDI driver may be loaded + // after the raw device list was updated. To avoid this problem, we may want + // to retry device check later if no changes are detected here. +} + +template <typename T> +void DynamicallyInitializedMidiManagerWin::ReflectActiveDeviceList( + DynamicallyInitializedMidiManagerWin* manager, + std::vector<T>* known_ports, + std::vector<T>* active_ports) { + // Update existing port states. + for (const auto& port : *known_ports) { + const auto& it = std::find_if( + active_ports->begin(), active_ports->end(), + [&port](const auto& candidate) { return *candidate == *port; }); + if (it == active_ports->end()) { + if (port->Disconnect()) + port->NotifyPortStateSet(this); + } else { + port->set_device_id((*it)->device_id()); + if (port->Connect()) + port->NotifyPortStateSet(this); + } + } + + // Find new ports from active ports and append them to known ports. + for (auto& port : *active_ports) { + if (std::find_if(known_ports->begin(), known_ports->end(), + [&port](const auto& candidate) { + return *candidate == *port; + }) == known_ports->end()) { + size_t index = known_ports->size(); + port->set_index(index); + known_ports->push_back(std::move(port)); + (*known_ports)[index]->Connect(); + (*known_ports)[index]->NotifyPortAdded(this); + } + } +} + +} // namespace midi
diff --git a/media/midi/dynamically_initialized_midi_manager_win.h b/media/midi/dynamically_initialized_midi_manager_win.h new file mode 100644 index 0000000..5c4f65a --- /dev/null +++ b/media/midi/dynamically_initialized_midi_manager_win.h
@@ -0,0 +1,85 @@ +// Copyright 2017 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef MEDIA_MIDI_DYNAMICALLY_INITIALIZED_MIDI_MANAGER_WIN_H_ +#define MEDIA_MIDI_DYNAMICALLY_INITIALIZED_MIDI_MANAGER_WIN_H_ + +#include <memory> +#include <vector> + +#include "base/callback_forward.h" +#include "base/macros.h" +#include "base/memory/ref_counted.h" +#include "base/system_monitor/system_monitor.h" +#include "media/midi/midi_manager.h" + +namespace base { +class SingleThreadTaskRunner; +} // namespace base + +namespace midi { + +// New backend for legacy Windows that support dynamic instantiation. +class DynamicallyInitializedMidiManagerWin final + : public MidiManager, + public base::SystemMonitor::DevicesChangedObserver { + public: + explicit DynamicallyInitializedMidiManagerWin(MidiService* service); + ~DynamicallyInitializedMidiManagerWin() override; + + // Posts a reply task to the I/O thread that hosts MidiManager instance, runs + // it safely, and ensures that the instance keeps alive while the task is + // running. + void PostReplyTask(const base::Closure&); + + // MidiManager overrides: + void StartInitialization() override; + void Finalize() override; + void DispatchSendMidiData(MidiManagerClient* client, + uint32_t port_index, + const std::vector<uint8_t>& data, + double timestamp) override; + + // base::SystemMonitor::DevicesChangedObserver overrides: + void OnDevicesChanged(base::SystemMonitor::DeviceType device_type) override; + + private: + class InPort; + class OutPort; + + // Posts a task to TaskRunner, and ensures that the instance keeps alive while + // the task is running. + void PostTask(const base::Closure&); + + // Initializes instance asynchronously on TaskRunner. + void InitializeOnTaskRunner(); + + // Updates device lists on TaskRunner. + // Returns true if device lists were changed. + void UpdateDeviceListOnTaskRunner(); + + // Reflect active port list to a device list. + template <typename T> + void ReflectActiveDeviceList(DynamicallyInitializedMidiManagerWin* manager, + std::vector<T>* known_ports, + std::vector<T>* active_ports); + + // Holds an unique instance ID. + const int instance_id_; + + // Keeps a TaskRunner for the I/O thread. + scoped_refptr<base::SingleThreadTaskRunner> thread_runner_; + + // Following members should be accessed only on TaskRunner. + + // Holds all MIDI input or output ports connected once. + std::vector<std::unique_ptr<InPort>> input_ports_; + std::vector<std::unique_ptr<OutPort>> output_ports_; + + DISALLOW_COPY_AND_ASSIGN(DynamicallyInitializedMidiManagerWin); +}; + +} // namespace midi + +#endif // MEDIA_MIDI_DYNAMICALLY_INITIALIZED_MIDI_MANAGER_WIN_H_
diff --git a/media/midi/midi_manager.cc b/media/midi/midi_manager.cc index 42016354..d557ec8 100644 --- a/media/midi/midi_manager.cc +++ b/media/midi/midi_manager.cc
@@ -185,12 +185,21 @@ } void MidiManager::CompleteInitialization(Result result) { - base::AutoLock auto_lock(lock_); - if (session_thread_runner_) { - session_thread_runner_->PostTask( - FROM_HERE, base::Bind(&MidiManager::CompleteInitializationInternal, - base::Unretained(this), result)); + bool complete_asynchronously = false; + { + base::AutoLock auto_lock(lock_); + if (session_thread_runner_) { + if (session_thread_runner_->BelongsToCurrentThread()) { + complete_asynchronously = true; + } else { + session_thread_runner_->PostTask( + FROM_HERE, base::Bind(&MidiManager::CompleteInitializationInternal, + base::Unretained(this), result)); + } + } } + if (complete_asynchronously) + CompleteInitializationInternal(result); } void MidiManager::AddInputPort(const MidiPortInfo& info) {
diff --git a/media/midi/midi_manager_win.cc b/media/midi/midi_manager_win.cc index 612b296..2a7265ce 100644 --- a/media/midi/midi_manager_win.cc +++ b/media/midi/midi_manager_win.cc
@@ -43,6 +43,7 @@ #include "base/win/message_window.h" #include "base/win/windows_version.h" #include "device/usb/usb_ids.h" +#include "media/midi/dynamically_initialized_midi_manager_win.h" #include "media/midi/message_util.h" #include "media/midi/midi_manager_winrt.h" #include "media/midi/midi_message_queue.h" @@ -1203,6 +1204,8 @@ if (base::FeatureList::IsEnabled(features::kMidiManagerWinrt) && base::win::GetVersion() >= base::win::VERSION_WIN10) return new MidiManagerWinrt(service); + if (base::FeatureList::IsEnabled(features::kMidiManagerDynamicInstantiation)) + return new DynamicallyInitializedMidiManagerWin(service); return new MidiManagerWin(service); }
diff --git a/media/midi/midi_service.cc b/media/midi/midi_service.cc index 430aaa81..7229762 100644 --- a/media/midi/midi_service.cc +++ b/media/midi/midi_service.cc
@@ -16,7 +16,7 @@ bool IsDynamicInstantiationEnabled() { // TODO(toyoshim): Support on all platforms. See https://crbug.com/672793. -#if defined(OS_LINUX) +#if defined(OS_LINUX) || defined(OS_WIN) return base::FeatureList::IsEnabled( features::kMidiManagerDynamicInstantiation); #else @@ -99,6 +99,9 @@ if (!threads_[runner_id].get()) { threads_[runner_id] = base::MakeUnique<base::Thread>( base::StringPrintf("MidiServiceThread(%zu)", runner_id)); +#if defined(OS_WIN) + threads_[runner_id]->init_com_with_mta(true); +#endif threads_[runner_id]->Start(); } return threads_[runner_id]->task_runner();
diff --git a/media/midi/midi_service.h b/media/midi/midi_service.h index 0428527..722d5e6 100644 --- a/media/midi/midi_service.h +++ b/media/midi/midi_service.h
@@ -20,8 +20,6 @@ namespace midi { -class MidiManagerAlsa; - // Manages MidiManager backends. This class expects to be constructed and // destructed on the browser main thread, but methods can be called on both // the main thread and the I/O thread. @@ -49,9 +47,6 @@ const std::vector<uint8_t>& data, double timestamp); - private: - friend class MidiManagerAlsa; - // Returns a SingleThreadTaskRunner reference to serve MidiManager. Each // TaskRunner will be constructed on demand. // MidiManager that supports the dynamic instantiation feature will use this @@ -61,6 +56,7 @@ // another MidiManager is instantiated. scoped_refptr<base::SingleThreadTaskRunner> GetTaskRunner(size_t runner_id); + private: // Holds MidiManager instance. If the dynamic instantiation feature is // enabled, the MidiManager would be constructed and destructed on the I/O // thread, and all MidiManager methods would be called on the I/O thread.
diff --git a/third_party/WebKit/LayoutTests/TestExpectations b/third_party/WebKit/LayoutTests/TestExpectations index e7457a2..4fd4294 100644 --- a/third_party/WebKit/LayoutTests/TestExpectations +++ b/third_party/WebKit/LayoutTests/TestExpectations
@@ -1850,6 +1850,31 @@ # 2017-02-14: These directories were just imported but expectations and baselines haven't been set yet. crbug.com/692105 external/wpt/mixed-content [ Skip ] +crbug.com/692105 external/wpt/content-security-policy [ Skip ] +# 2017-02-17: These directories were just imported but expectations and baselines haven't been set yet. +crbug.com/692105 external/wpt/domxpath/interfaces.html [ Skip ] +crbug.com/692105 external/wpt/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling.html [ Skip ] +crbug.com/692105 external/wpt/html/browsers/history/the-location-interface/location-valueof.html [ Skip ] +crbug.com/692105 external/wpt/html/dom/self-origin.sub.html [ Skip ] +crbug.com/692105 external/wpt/html/semantics/embedded-content/the-embed-element/embed-in-object-fallback-2.html [ Skip ] +crbug.com/692105 external/wpt/html/semantics/embedded-content/the-object-element/object-in-object-fallback-2.html [ Skip ] +crbug.com/692105 external/wpt/html/semantics/scripting-1/the-script-element/module [ Skip ] +crbug.com/692105 external/wpt/html/semantics/scripting-1/the-script-element/module/execorder.html [ Skip ] +crbug.com/692105 external/wpt/html/webappapis/idle-callbacks/callback-suspended.html [ Skip ] +crbug.com/692105 external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections [ Skip ] +crbug.com/692105 external/wpt/service-workers/service-worker/fetch-event-within-sw-manual.html [ Skip ] +crbug.com/692105 external/wpt/service-workers/service-worker/fetch-event-within-sw.html [ Skip ] +crbug.com/692105 external/wpt/storage/interfaces.html [ Skip ] +crbug.com/692105 external/wpt/streams/readable-streams/floating-point-total-queue-size.dedicatedworker.html [ Skip ] +crbug.com/692105 external/wpt/streams/readable-streams/floating-point-total-queue-size.html [ Skip ] +crbug.com/692105 external/wpt/streams/readable-streams/floating-point-total-queue-size.serviceworker.https.html [ Skip ] +crbug.com/692105 external/wpt/streams/readable-streams/floating-point-total-queue-size.sharedworker.html [ Skip ] +crbug.com/692105 external/wpt/streams/writable-streams/floating-point-total-queue-size.dedicatedworker.html [ Skip ] +crbug.com/692105 external/wpt/streams/writable-streams/floating-point-total-queue-size.html [ Skip ] +crbug.com/692105 external/wpt/streams/writable-streams/floating-point-total-queue-size.serviceworker.https.html [ Skip ] +crbug.com/692105 external/wpt/streams/writable-streams/floating-point-total-queue-size.sharedworker.html [ Skip ] +crbug.com/692105 external/wpt/web-animations/animation-model/keyframe-effects/effect-value-transformed-distance.html [ Skip ] +crbug.com/692105 external/wpt/web-animations/timing-model/time-transformations/transformed-progress.html [ Skip ] # These policies are not implemented yet. crbug.com/627968 external/wpt/referrer-policy/origin-when-cross-origin/http-rp/same-origin/ [ Skip ] @@ -1858,20 +1883,46 @@ crbug.com/627968 external/wpt/referrer-policy/strict-origin-when-cross-origin/ [ Skip ] # ====== New tests from w3c-test-autoroller added here ====== +crbug.com/626703 external/wpt/html/webappapis/idle-callbacks/cancel-invoked.html [ Timeout ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_completely_move_up.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_down.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_up.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/2_tracks.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/3_tracks.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/align_end.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/align_end_wrapped.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_50.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_gt_50.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_lt_50.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_lt_50_size_gt_maximum_size.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_wrapped.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/align_start.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/align_start_wrapped.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/basic.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/bidi_ruby.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u002E_LF_u05D0.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u002E_u2028_u05D0.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u002E_u2029_u05D0.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u0041_first.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u05D0_first.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u0628_first.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u06E9_no_strong_dir.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/cue_too_long.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/decode_escaped_entities.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/disable_controls_reposition.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_align_position_line_size.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_align_position_line_size_while_paused.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_line.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_text.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_text_while_paused.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/enable_controls_reposition.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/9_cues_overlapping_completely_all_cues_have_same_timestamp.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/9_cues_overlapping_completely.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/media_height_19.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/single_quote.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/size_90.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/size_99.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/line_0_is_top.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/line_1_wrapped_cue_grow_downwards.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/line_-2_wrapped_cue_grow_upwards.html [ Failure ] @@ -1883,37 +1934,170 @@ crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/media_height400_with_controls.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/media_with_controls.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/navigate_cue_position.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/one_line_cue_plus_wrapped_cue.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/repaint.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_properties.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_shorthand_css_relative_url.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_shorthand.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_hex.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_hsla.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_rgba.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/cue_selector_single_colon.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/font_properties.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/font_shorthand.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_box.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_properties.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_shorthand_css_relative_url.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_shorthand.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_animation_with_timestamp.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_background_properties.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_background_shorthand.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_color.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_font_properties.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_font_shorthand.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_namespace.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_outline_properties.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_outline_shorthand.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_text-decoration_line-through.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_text-shadow.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_timestamp_future.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_timestamp_past.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_transition_with_timestamp.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_normal_wrapped.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_nowrap.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre-line_wrapped.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre_wrapped.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre-wrap_wrapped.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_with_class.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_with_class_object_specific_selector.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_animation_with_timestamp.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_background_properties.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_background_shorthand.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_color.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_font_properties.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_font_shorthand.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_namespace.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_outline_properties.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_outline_shorthand.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_text-decoration_line-through.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_text-shadow.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_timestamp_future.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_timestamp_past.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_transition_with_timestamp.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_normal_wrapped.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_nowrap.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre-line_wrapped.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre_wrapped.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre-wrap_wrapped.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_with_class.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_with_class_object_specific_selector.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_hex.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_hsla.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_rgba.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/cue_func_selector_single_colon.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/font_properties.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/font_shorthand.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/id_color.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/inherit_values_from_media_element.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_animation_with_timestamp.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_background_properties.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_background_shorthand.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_color.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_font_properties.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_font_shorthand.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_namespace.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_outline_properties.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_outline_shorthand.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_text-decoration_line-through.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_text-shadow.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_timestamp_future.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_timestamp_past.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_transition_with_timestamp.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_normal_wrapped.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_nowrap.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre-line_wrapped.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre_wrapped.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre-wrap_wrapped.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_with_class.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_with_class_object_specific_selector.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/not_allowed_properties.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/not_root_selector.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/outline_properties.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/outline_shorthand.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/root_namespace.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/root_selector.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_line-through.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_overline.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_overline_underline_line-through.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_underline.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-shadow.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/type_selector_root.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_animation_with_timestamp.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_background_properties.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_background_shorthand.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_color.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_font_properties.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_font_shorthand.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_namespace.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_outline_properties.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_outline_shorthand.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_text-decoration_line-through.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_text-shadow.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_timestamp_future.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_timestamp_past.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_transition_with_timestamp.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_normal_wrapped.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_nowrap.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre-line_wrapped.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre_wrapped.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre-wrap_wrapped.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_with_class.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_animation_with_timestamp.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_background_properties.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_background_shorthand.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_color.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_font_properties.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_font_shorthand.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_namespace.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_outline_properties.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_outline_shorthand.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_text-decoration_line-through.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_text-shadow.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_timestamp_future.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_timestamp_past.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_transition_with_timestamp.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_voice_attribute.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_normal_wrapped.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_nowrap.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre-line_wrapped.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre_wrapped.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre-wrap_wrapped.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_with_class.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_with_class_object_specific_selector.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_normal_wrapped.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_nowrap_wrapped.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre-line_wrapped.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre_wrapped.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre-wrap_wrapped.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/inherit_values_from_media_element.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/outline_properties.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/outline_shorthand.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_line-through.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_overline.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_overline_underline_line-through.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_underline.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-shadow.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_normal_wrapped.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_nowrap_wrapped.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre-line_wrapped.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre_wrapped.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre-wrap_wrapped.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/bold_object_default_font-style.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/italic_object_default_font-style.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/underline_object_default_font-style.html [ Failure ] +crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/size_50.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/too_many_cues.html [ Failure ] crbug.com/626703 external/wpt/webvtt/rendering/cues-with-video/processing-model/too_many_cues_wrapped.html [ Failure ] crbug.com/626703 external/wpt/referrer-policy/generic/subresource-test/image-decoding.html [ Timeout ]
diff --git a/third_party/WebKit/LayoutTests/W3CImportExpectations b/third_party/WebKit/LayoutTests/W3CImportExpectations index 1f8037f..5c078c2a 100644 --- a/third_party/WebKit/LayoutTests/W3CImportExpectations +++ b/third_party/WebKit/LayoutTests/W3CImportExpectations
@@ -333,6 +333,8 @@ # external/wpt/service-workers/cache-storage [ Pass ] ## Owners: dom-dev@chromium.org # external/wpt/shadow-dom [ Pass ] +## Owners: jsbell@chromium.org +# external/wpt/storage [ Pass ] ## Owners: domenic@chromium.org,ricea@chromium.org,tyoshino@chromium.org external/wpt/streams [ Pass ] ## Owners: mkwst@chromium.org,jochen@chromium.org
diff --git a/third_party/WebKit/LayoutTests/external/wpt/MANIFEST.json b/third_party/WebKit/LayoutTests/external/wpt/MANIFEST.json index 372d065..4244315 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/MANIFEST.json +++ b/third_party/WebKit/LayoutTests/external/wpt/MANIFEST.json
@@ -661,6 +661,12 @@ {} ] ], + "service-workers/service-worker/fetch-event-within-sw-manual.html": [ + [ + "/service-workers/service-worker/fetch-event-within-sw-manual.html", + {} + ] + ], "uievents/keyboard/key-manual.css": [ [ "/uievents/keyboard/key-manual.css", @@ -735,6 +741,30 @@ {} ] ], + "content-security-policy/font-src/font-blacklisted.html": [ + [ + "/content-security-policy/font-src/font-blacklisted.html", + [ + [ + "/content-security-policy/font-src/font-blacklisted-ref.html", + "!=" + ] + ], + {} + ] + ], + "content-security-policy/font-src/font-whitelisted.html": [ + [ + "/content-security-policy/font-src/font-whitelisted.html", + [ + [ + "/content-security-policy/font-src/font-whitelisted-ref.html", + "==" + ] + ], + {} + ] + ], "html/dom/elements/global-attributes/dir_auto-EN-L.html": [ [ "/html/dom/elements/global-attributes/dir_auto-EN-L.html", @@ -6803,6 +6833,1481 @@ {} ] ], + "content-security-policy/README.css": [ + [ + {} + ] + ], + "content-security-policy/README.html": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/allowed.css": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/base-uri-allow.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/base-uri-deny.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/form-action-src-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/form-action-src-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/form-action-src-default-ignored.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/form-action-src-get-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/form-action-src-get-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/form-action-src-javascript-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/form-action-src-redirect-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/meta-outside-head.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/metaHelper.js": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/plugintypes-mismatched-data.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/plugintypes-mismatched-url.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/plugintypes-notype-data.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/plugintypes-notype-url.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/plugintypes-nourl-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/plugintypes-nourl-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/script-src-wildcards-disallowed.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/scripthash-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/scripthash-basic-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/scripthash-default-src.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/scripthash-ignore-unsafeinline.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/scripthash-unicode-normalization.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/scriptnonce-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/scriptnonce-and-scripthash.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/scriptnonce-basic-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/scriptnonce-ignore-unsafeinline.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/scriptnonce-redirect.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/securitypolicyviolation-block-cross-origin-image-from-script.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/securitypolicyviolation-block-cross-origin-image.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/securitypolicyviolation-block-image-from-script.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/securitypolicyviolation-block-image.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/stylehash-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/stylehash-basic-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/stylehash-default-src.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/stylenonce-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib-2/stylenonce-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/blob-urls-do-not-match-self.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/blob-urls-match-blob.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/combine-header-and-meta-policies.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/combine-multiple-header-policies.html.asis": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/connect-src-beacon-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/connect-src-beacon-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/connect-src-beacon-redirect-to-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/connect-src-eventsource-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/connect-src-eventsource-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/connect-src-eventsource-redirect-to-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/connect-src-websocket-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/connect-src-websocket-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/connect-src-xmlhttprequest-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/connect-src-xmlhttprequest-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/connect-src-xmlhttprequest-redirect-to-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/default-src-inline-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/default-src-inline-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/duplicate-directive.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/eval-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/eval-blocked-and-sends-report.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/eval-blocked-in-about-blank-iframe.sub.html": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/eval-blocked-in-about-blank-iframe.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/eval-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/eval-scripts-setInterval-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/eval-scripts-setInterval-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/eval-scripts-setTimeout-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/eval-scripts-setTimeout-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/filesystem-urls-do-not-match-self.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/filesystem-urls-match-filesystem.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-default.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-scheme.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/frame-src-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/frame-src-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/frame-src-cross-origin-load.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/function-constructor-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/function-constructor-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/icon-allowed.sub.html": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/icon-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/icon-blocked.sub.html": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/icon-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/iframe-inside-csp.sub.html": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/iframe-inside-csp.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/image-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/image-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/image-full-host-wildcard-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/injected-inline-script-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/injected-inline-script-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/injected-inline-style-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/injected-inline-style-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/inline-style-allowed-while-cloning-objects.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/inline-style-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/inline-style-attribute-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/inline-style-attribute-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/inline-style-attribute-on-html.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/inline-style-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/manifest-src-allowed.sub.html": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/manifest-src-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/manifest-src-blocked.sub.html": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/manifest-src-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/media-src-allowed.sub.html": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/media-src-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/media-src-blocked.sub.html": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/media-src-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/media-src-track-block.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/object-in-svg-foreignobject.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/object-src-applet-archive-codebase.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/object-src-applet-archive.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/object-src-applet-code-codebase.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/object-src-applet-code.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/object-src-no-url-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/object-src-no-url-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/object-src-url-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/object-src-url-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/policy-does-not-affect-child.sub.html": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/policy-does-not-affect-child.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/report-blocked-data-uri.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/report-cross-origin-no-cookies.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/report-disallowed-from-meta.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/report-same-origin-with-cookies.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/report-uri-from-inline-javascript.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/report-uri-from-javascript.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/report-uri.sub.html": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/report-uri.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/alert-fail.html": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/alert-pass.html": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/blue.css": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/document-write-alert-fail.js": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/generate-csp-report.html": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/go-to-echo-report.js": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/inject-image.js": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/inject-script.js": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/inject-style.js": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/post-message.js": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/postmessage-fail.html": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/postmessage-pass.html": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/script.js": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/set-cookie.js.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/shared-worker-make-xhr-allowed.sub.js": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.sub.js": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.sub.js.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/simple-event-stream": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/simple-event-stream.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/track.vtt": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/worker-eval.js": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/worker-eval.js.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/worker-function-function.js": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/worker-function-function.js.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/worker-importscripts.js": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/worker-importscripts.js.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/worker-make-xhr-blocked.sub.js": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/worker-make-xhr-blocked.sub.js.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/worker-make-xhr.sub.js": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/worker-set-timeout.js": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/resources/worker-set-timeout.js.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/sandbox-allow-scripts-subframe.sub.html": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/sandbox-allow-scripts-subframe.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/sandbox-allow-scripts.sub.html": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/sandbox-allow-scripts.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/sandbox-empty-subframe.sub.html": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/sandbox-empty-subframe.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/sandbox-empty.sub.html": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/sandbox-empty.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/script-src-overrides-default-src.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/self-doesnt-match-blob.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/shared-worker-connect-src-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/shared-worker-connect-src-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/source-list-parsing-paths-03.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/srcdoc-doesnt-bypass-script-src.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/star-doesnt-match-blob.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/style-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/style-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/worker-connect-src-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/worker-connect-src-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/worker-eval-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/worker-from-guid.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/worker-function-function-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/worker-importscripts-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/worker-script-src.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/worker-set-timeout-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/xsl-blocked-expected.png": [ + [ + {} + ] + ], + "content-security-policy/blink-contrib/xsl-unaffected-by-style-src-1-expected.png": [ + [ + {} + ] + ], + "content-security-policy/child-src/child-src-about-blank-allowed-by-default.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/child-src/child-src-about-blank-allowed-by-scheme.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/child-src/child-src-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/child-src/child-src-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/child-src/child-src-conflicting-frame-src.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/child-src/child-src-cross-origin-load.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/child-src/child-src-worker-allowed.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/child-src/child-src-worker-blocked.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/embedded-enforcement/support/echo-allow-csp-from.py": [ + [ + {} + ] + ], + "content-security-policy/embedded-enforcement/support/echo-embedding-csp.py": [ + [ + {} + ] + ], + "content-security-policy/embedded-enforcement/support/echo-policy-multiple.py": [ + [ + {} + ] + ], + "content-security-policy/embedded-enforcement/support/testharness-helper.sub.js": [ + [ + {} + ] + ], + "content-security-policy/font-src/font-blacklisted-ref.html": [ + [ + {} + ] + ], + "content-security-policy/font-src/font-whitelisted-ref.html": [ + [ + {} + ] + ], + "content-security-policy/font-src/fonts.css": [ + [ + {} + ] + ], + "content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-self.sub.html": [ + [ + {} + ] + ], + "content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-self.sub.html.headers": [ + [ + {} + ] + ], + "content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-star.sub.html": [ + [ + {} + ] + ], + "content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-star.sub.html.headers": [ + [ + {} + ] + ], + "content-security-policy/frame-ancestors/reporting-frame-allows-none-meta.html": [ + [ + {} + ] + ], + "content-security-policy/frame-ancestors/reporting-frame-allows-none.html": [ + [ + {} + ] + ], + "content-security-policy/frame-ancestors/reporting-frame-allows-none.html.headers": [ + [ + {} + ] + ], + "content-security-policy/frame-ancestors/reporting-frame-allows-self.html": [ + [ + {} + ] + ], + "content-security-policy/frame-ancestors/reporting-frame-allows-self.html.headers": [ + [ + {} + ] + ], + "content-security-policy/generic/fail-0_1.js": [ + [ + {} + ] + ], + "content-security-policy/generic/generic-0_1-img-src.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/generic/generic-0_1-script-src.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/generic/generic-0_10.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/generic/generic-0_10_1.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/generic/generic-0_2.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/generic/generic-0_2_2.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/generic/generic-0_2_3.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/generic/generic-0_8.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/generic/generic-0_8_1.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/generic/generic-0_9.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/generic/negativeTests.js": [ + [ + {} + ] + ], + "content-security-policy/generic/no-default-src.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/generic/pass-0_1.js": [ + [ + {} + ] + ], + "content-security-policy/generic/positiveTest.js": [ + [ + {} + ] + ], + "content-security-policy/generic/unreached.js": [ + [ + {} + ] + ], + "content-security-policy/generic/wildcardHostTest.js": [ + [ + {} + ] + ], + "content-security-policy/generic/wildcardHostTestFailure.js": [ + [ + {} + ] + ], + "content-security-policy/generic/wildcardHostTestSuceeds.js": [ + [ + {} + ] + ], + "content-security-policy/generic/wildcardPortTest.js": [ + [ + {} + ] + ], + "content-security-policy/generic/wildcardPortTestSuceeds.js": [ + [ + {} + ] + ], + "content-security-policy/img-src/img-src-4_1.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/media-src/media-src-7_1.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/media-src/media-src-7_1_2.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/media-src/media-src-7_2.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/media-src/media-src-7_2_2.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/media-src/media-src-7_3.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/media-src/media-src-7_3_2.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/media-src/media-src-redir-bug.sub.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/object-src/object-src-2_1.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/object-src/object-src-2_2.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/script-src/10_1_support_1.js": [ + [ + {} + ] + ], + "content-security-policy/script-src/10_1_support_2.js": [ + [ + {} + ] + ], + "content-security-policy/script-src/addInlineTestsWithDOMManipulation.js": [ + [ + {} + ] + ], + "content-security-policy/script-src/buildInlineWorker.js": [ + [ + {} + ] + ], + "content-security-policy/script-src/inlineSuccessTest.js": [ + [ + {} + ] + ], + "content-security-policy/script-src/inlineTests.js": [ + [ + {} + ] + ], + "content-security-policy/script-src/script-src-1_1.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/script-src/script-src-1_10.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/script-src/script-src-1_10_1.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/script-src/script-src-1_2.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/script-src/script-src-1_2_1.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/script-src/script-src-1_3.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/script-src/script-src-1_4.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/script-src/script-src-1_4_1.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/script-src/script-src-1_4_2.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_and_unsafe_eval_eval.html.headers": [ + [ + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_and_unsafe_eval_new_function.html.headers": [ + [ + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_discard_whitelist.html.headers": [ + [ + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_double_policy_different_nonce.html.headers": [ + [ + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_double_policy_honor_whitelist.sub.html.headers": [ + [ + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_double_policy_report_only.html.headers": [ + [ + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_eval.html.headers": [ + [ + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_hashes.html.headers": [ + [ + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_in_img-src.html.headers": [ + [ + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_javascript_uri.html.headers": [ + [ + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_meta_tag.html.headers": [ + [ + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_new_function.html.headers": [ + [ + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_non_parser_inserted.html.headers": [ + [ + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_non_parser_inserted_incorrect_nonce.html.headers": [ + [ + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_parser_inserted.html.headers": [ + [ + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_parser_inserted_correct_nonce.html.headers": [ + [ + {} + ] + ], + "content-security-policy/script-src/simpleSourcedScript.js": [ + [ + {} + ] + ], + "content-security-policy/style-src/3_3.css": [ + [ + {} + ] + ], + "content-security-policy/style-src/style-src-3_1.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/style-src/style-src-3_2.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/style-src/style-src-3_3.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/style-src/style-src-3_4-import.css": [ + [ + {} + ] + ], + "content-security-policy/style-src/style-src-3_4.css": [ + [ + {} + ] + ], + "content-security-policy/style-src/style-src-3_4.html.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/support/alert-pass.js": [ + [ + {} + ] + ], + "content-security-policy/support/alertAssert.sub.js": [ + [ + {} + ] + ], + "content-security-policy/support/checkReport.sub.js": [ + [ + {} + ] + ], + "content-security-policy/support/echo-policy.py": [ + [ + {} + ] + ], + "content-security-policy/support/fail.asis": [ + [ + {} + ] + ], + "content-security-policy/support/fail.js": [ + [ + {} + ] + ], + "content-security-policy/support/fail.png": [ + [ + {} + ] + ], + "content-security-policy/support/inject-image.js": [ + [ + {} + ] + ], + "content-security-policy/support/logTest.sub.js": [ + [ + {} + ] + ], + "content-security-policy/support/media/flash.swf": [ + [ + {} + ] + ], + "content-security-policy/support/pass.png": [ + [ + {} + ] + ], + "content-security-policy/support/ping.js": [ + [ + {} + ] + ], + "content-security-policy/support/report.py": [ + [ + {} + ] + ], + "content-security-policy/support/siblingPath.js": [ + [ + {} + ] + ], + "content-security-policy/support/testharness-helper.js": [ + [ + {} + ] + ], + "content-security-policy/svg/including.sub.svg": [ + [ + {} + ] + ], + "content-security-policy/svg/including.sub.svg.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/svg/scripted.svg": [ + [ + {} + ] + ], + "content-security-policy/svg/scripted.svg.sub.headers": [ + [ + {} + ] + ], + "content-security-policy/svg/svg-inline.sub.html.sub.headers": [ + [ + {} + ] + ], "custom-elements/adopted-callback-expected.txt": [ [ {} @@ -8463,6 +9968,11 @@ {} ] ], + "html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling-1.html": [ + [ + {} + ] + ], "html/browsers/browsing-the-web/unloading-documents/beforeunload-on-history-back-1.html": [ [ {} @@ -8993,6 +10503,11 @@ {} ] ], + "html/browsers/history/the-location-interface/location-stringifier-expected.txt": [ + [ + {} + ] + ], "html/browsers/history/the-location-interface/location_assign_about_blank-1.html": [ [ {} @@ -9033,6 +10548,11 @@ {} ] ], + "html/browsers/history/the-location-interface/resources/post-your-protocol.html": [ + [ + {} + ] + ], "html/browsers/history/the-location-interface/same_origin_frame.html": [ [ {} @@ -10173,6 +11693,21 @@ {} ] ], + "html/dom/resources/interfaces.idl": [ + [ + {} + ] + ], + "html/dom/resources/self-origin-subframe.html": [ + [ + {} + ] + ], + "html/dom/resources/untested-interfaces.idl": [ + [ + {} + ] + ], "html/editing/dnd/README": [ [ {} @@ -14773,6 +16308,16 @@ {} ] ], + "html/semantics/embedded-content/resources/should-load.html": [ + [ + {} + ] + ], + "html/semantics/embedded-content/resources/should-not-load.html": [ + [ + {} + ] + ], "html/semantics/embedded-content/the-area-element/support/hit-test.js": [ [ {} @@ -15153,11 +16698,6 @@ {} ] ], - "html/semantics/forms/the-input-element/valueMode-expected.txt": [ - [ - {} - ] - ], "html/semantics/forms/the-label-element/labelable-elements-expected.txt": [ [ {} @@ -15433,6 +16973,191 @@ {} ] ], + "html/semantics/scripting-1/the-script-element/module/crossorigin-common.js": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/crossorigin-import-different.sub.html": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/crossorigin-import-missingheader.sub.html": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/crossorigin-import-same.sub.html": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/crossorigin-import-wrongheader.sub.html": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/crossorigin-root-different.sub.html": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/crossorigin-root-missingheader.sub.html": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/crossorigin-root-same.sub.html": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/crossorigin-root-wrongheader.sub.html": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/crossorigin-scripterror.js": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-common.js": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependent.html": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependent.js": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependentmultiple.html": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependentmultiple.js": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-root.html": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/errorhandling-wrongMimetype-import.js": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/errorhandling-wrongMimetype.js": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered2.js": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered3.js": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered4.js": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/execorder-dynamicunordered1.js": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/execorder-dynamicunordered2.js": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/execorder-parsedordered2.js": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/execorder-parsedordered4.js": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/execorder-parsedunordered1.js": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/execorder-parsedunordered2.js": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/imports-a.js": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/imports-b.js": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/imports-cycle-a.js": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/imports-cycle-b.js": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/imports-cycle.js": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/imports-inc-a.js": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/imports-inc-ab.js": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/imports-inc-b.js": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/imports-self-inner.js": [ + [ + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/imports-self.js": [ + [ + {} + ] + ], "html/semantics/scripting-1/the-script-element/nomodule-reflect-expected.txt": [ [ {} @@ -16103,6 +17828,16 @@ {} ] ], + "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/set-document-domain.html": [ + [ + {} + ] + ], + "html/webappapis/idle-callbacks/resources/post_name_on_load.html": [ + [ + {} + ] + ], "html/webappapis/scripting/event-loops/contains.json": [ [ {} @@ -16283,6 +18018,16 @@ {} ] ], + "html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/support/promise-access-control.py": [ + [ + {} + ] + ], + "html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/support/promise-rejection-events.js": [ + [ + {} + ] + ], "html/webappapis/scripting/processing-model-2/window-onerror-with-cross-frame-event-listeners-1-expected.txt": [ [ {} @@ -19708,11 +21453,6 @@ {} ] ], - "selection/selectAllChildren-expected.txt": [ - [ - {} - ] - ], "selection/setBaseAndExtent-expected.txt": [ [ {} @@ -19938,6 +21678,16 @@ {} ] ], + "service-workers/service-worker/foreign-fetch-cors.https-expected.txt": [ + [ + {} + ] + ], + "service-workers/service-worker/foreign-fetch-workers.https-expected.txt": [ + [ + {} + ] + ], "service-workers/service-worker/multi-globals/current/current.https.html": [ [ {} @@ -20218,6 +21968,11 @@ {} ] ], + "service-workers/service-worker/resources/fetch-event-within-sw-worker.js": [ + [ + {} + ] + ], "service-workers/service-worker/resources/fetch-header-visibility-iframe.html": [ [ {} @@ -20358,11 +22113,6 @@ {} ] ], - "service-workers/service-worker/resources/get-host-info.sub.js": [ - [ - {} - ] - ], "service-workers/service-worker/resources/indexeddb-worker.js": [ [ {} @@ -20478,6 +22228,11 @@ {} ] ], + "service-workers/service-worker/resources/notification_icon.py": [ + [ + {} + ] + ], "service-workers/service-worker/resources/onactivate-throw-error-from-nested-event-worker.js": [ [ {} @@ -20853,6 +22608,16 @@ {} ] ], + "storage/README.md": [ + [ + {} + ] + ], + "storage/interfaces.idl": [ + [ + {} + ] + ], "streams/README.md": [ [ {} @@ -21113,6 +22878,11 @@ {} ] ], + "streams/readable-streams/floating-point-total-queue-size.js": [ + [ + {} + ] + ], "streams/readable-streams/garbage-collection.js": [ [ {} @@ -21308,6 +23078,11 @@ {} ] ], + "streams/writable-streams/floating-point-total-queue-size.js": [ + [ + {} + ] + ], "streams/writable-streams/general.js": [ [ {} @@ -21978,11 +23753,6 @@ {} ] ], - "web-animations/interfaces/KeyframeEffect/effect-easing-expected.txt": [ - [ - {} - ] - ], "web-animations/interfaces/KeyframeEffect/getComputedTiming-expected.txt": [ [ {} @@ -22018,7 +23788,7 @@ {} ] ], - "web-animations/resources/effect-easing-tests.js": [ + "web-animations/resources/easing-tests.js": [ [ {} ] @@ -26519,6 +28289,1352 @@ {} ] ], + "content-security-policy/blink-contrib-2/base-uri-allow.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/base-uri-allow.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/base-uri-deny.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/base-uri-deny.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/form-action-src-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/form-action-src-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/form-action-src-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/form-action-src-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/form-action-src-default-ignored.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/form-action-src-default-ignored.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/form-action-src-get-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/form-action-src-get-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/form-action-src-get-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/form-action-src-get-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/form-action-src-javascript-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/form-action-src-javascript-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/form-action-src-redirect-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/form-action-src-redirect-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/meta-outside-head.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/meta-outside-head.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/plugintypes-mismatched-data.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/plugintypes-mismatched-data.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/plugintypes-mismatched-url.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/plugintypes-mismatched-url.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/plugintypes-notype-data.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/plugintypes-notype-data.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/plugintypes-notype-url.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/plugintypes-notype-url.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/plugintypes-nourl-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/plugintypes-nourl-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/plugintypes-nourl-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/plugintypes-nourl-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/script-src-wildcards-disallowed.html": [ + [ + "/content-security-policy/blink-contrib-2/script-src-wildcards-disallowed.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/scripthash-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/scripthash-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/scripthash-basic-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/scripthash-basic-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/scripthash-default-src.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/scripthash-default-src.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/scripthash-ignore-unsafeinline.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/scripthash-ignore-unsafeinline.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/scripthash-unicode-normalization.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/scripthash-unicode-normalization.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/scriptnonce-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/scriptnonce-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/scriptnonce-and-scripthash.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/scriptnonce-and-scripthash.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/scriptnonce-basic-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/scriptnonce-basic-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/scriptnonce-ignore-unsafeinline.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/scriptnonce-ignore-unsafeinline.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/scriptnonce-redirect.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/scriptnonce-redirect.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/securitypolicyviolation-block-cross-origin-image-from-script.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/securitypolicyviolation-block-cross-origin-image-from-script.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/securitypolicyviolation-block-cross-origin-image.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/securitypolicyviolation-block-cross-origin-image.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/securitypolicyviolation-block-image-from-script.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/securitypolicyviolation-block-image-from-script.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/securitypolicyviolation-block-image.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/securitypolicyviolation-block-image.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/stylehash-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/stylehash-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/stylehash-basic-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/stylehash-basic-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/stylehash-default-src.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/stylehash-default-src.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/stylenonce-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/stylenonce-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib-2/stylenonce-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib-2/stylenonce-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/blob-urls-do-not-match-self.sub.html": [ + [ + "/content-security-policy/blink-contrib/blob-urls-do-not-match-self.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/blob-urls-match-blob.sub.html": [ + [ + "/content-security-policy/blink-contrib/blob-urls-match-blob.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/combine-header-and-meta-policies.sub.html": [ + [ + "/content-security-policy/blink-contrib/combine-header-and-meta-policies.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/connect-src-beacon-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib/connect-src-beacon-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/connect-src-beacon-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib/connect-src-beacon-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/connect-src-beacon-redirect-to-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib/connect-src-beacon-redirect-to-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/connect-src-eventsource-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib/connect-src-eventsource-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/connect-src-eventsource-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib/connect-src-eventsource-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/connect-src-eventsource-redirect-to-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib/connect-src-eventsource-redirect-to-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/connect-src-websocket-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib/connect-src-websocket-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/connect-src-websocket-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib/connect-src-websocket-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/connect-src-xmlhttprequest-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib/connect-src-xmlhttprequest-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/connect-src-xmlhttprequest-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib/connect-src-xmlhttprequest-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/connect-src-xmlhttprequest-redirect-to-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib/connect-src-xmlhttprequest-redirect-to-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/default-src-inline-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib/default-src-inline-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/default-src-inline-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib/default-src-inline-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/duplicate-directive.sub.html": [ + [ + "/content-security-policy/blink-contrib/duplicate-directive.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/eval-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib/eval-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/eval-blocked-and-sends-report.sub.html": [ + [ + "/content-security-policy/blink-contrib/eval-blocked-and-sends-report.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/eval-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib/eval-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/eval-scripts-setInterval-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib/eval-scripts-setInterval-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/eval-scripts-setInterval-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib/eval-scripts-setInterval-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/eval-scripts-setTimeout-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib/eval-scripts-setTimeout-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/eval-scripts-setTimeout-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib/eval-scripts-setTimeout-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/filesystem-urls-do-not-match-self.sub.html": [ + [ + "/content-security-policy/blink-contrib/filesystem-urls-do-not-match-self.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/filesystem-urls-match-filesystem.sub.html": [ + [ + "/content-security-policy/blink-contrib/filesystem-urls-match-filesystem.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-default.sub.html": [ + [ + "/content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-default.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-scheme.sub.html": [ + [ + "/content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-scheme.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/frame-src-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib/frame-src-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/frame-src-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib/frame-src-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/frame-src-cross-origin-load.sub.html": [ + [ + "/content-security-policy/blink-contrib/frame-src-cross-origin-load.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/function-constructor-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib/function-constructor-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/function-constructor-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib/function-constructor-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/image-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib/image-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/image-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib/image-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/image-full-host-wildcard-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib/image-full-host-wildcard-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/injected-inline-script-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib/injected-inline-script-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/injected-inline-script-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib/injected-inline-script-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/injected-inline-style-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib/injected-inline-style-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/injected-inline-style-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib/injected-inline-style-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/inline-style-allowed-while-cloning-objects.sub.html": [ + [ + "/content-security-policy/blink-contrib/inline-style-allowed-while-cloning-objects.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/inline-style-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib/inline-style-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/inline-style-attribute-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib/inline-style-attribute-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/inline-style-attribute-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib/inline-style-attribute-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/inline-style-attribute-on-html.sub.html": [ + [ + "/content-security-policy/blink-contrib/inline-style-attribute-on-html.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/inline-style-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib/inline-style-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/media-src-track-block.sub.html": [ + [ + "/content-security-policy/blink-contrib/media-src-track-block.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/object-in-svg-foreignobject.sub.html": [ + [ + "/content-security-policy/blink-contrib/object-in-svg-foreignobject.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/object-src-applet-archive-codebase.sub.html": [ + [ + "/content-security-policy/blink-contrib/object-src-applet-archive-codebase.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/object-src-applet-archive.sub.html": [ + [ + "/content-security-policy/blink-contrib/object-src-applet-archive.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/object-src-applet-code-codebase.sub.html": [ + [ + "/content-security-policy/blink-contrib/object-src-applet-code-codebase.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/object-src-applet-code.sub.html": [ + [ + "/content-security-policy/blink-contrib/object-src-applet-code.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/object-src-no-url-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib/object-src-no-url-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/object-src-no-url-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib/object-src-no-url-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/object-src-url-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib/object-src-url-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/object-src-url-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib/object-src-url-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/report-blocked-data-uri.sub.html": [ + [ + "/content-security-policy/blink-contrib/report-blocked-data-uri.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/report-cross-origin-no-cookies.sub.html": [ + [ + "/content-security-policy/blink-contrib/report-cross-origin-no-cookies.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/report-disallowed-from-meta.sub.html": [ + [ + "/content-security-policy/blink-contrib/report-disallowed-from-meta.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/report-same-origin-with-cookies.sub.html": [ + [ + "/content-security-policy/blink-contrib/report-same-origin-with-cookies.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/report-uri-from-inline-javascript.sub.html": [ + [ + "/content-security-policy/blink-contrib/report-uri-from-inline-javascript.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/report-uri-from-javascript.sub.html": [ + [ + "/content-security-policy/blink-contrib/report-uri-from-javascript.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/script-src-overrides-default-src.sub.html": [ + [ + "/content-security-policy/blink-contrib/script-src-overrides-default-src.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/self-doesnt-match-blob.sub.html": [ + [ + "/content-security-policy/blink-contrib/self-doesnt-match-blob.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/shared-worker-connect-src-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib/shared-worker-connect-src-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/shared-worker-connect-src-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib/shared-worker-connect-src-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/source-list-parsing-paths-03.sub.html": [ + [ + "/content-security-policy/blink-contrib/source-list-parsing-paths-03.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/srcdoc-doesnt-bypass-script-src.sub.html": [ + [ + "/content-security-policy/blink-contrib/srcdoc-doesnt-bypass-script-src.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/star-doesnt-match-blob.sub.html": [ + [ + "/content-security-policy/blink-contrib/star-doesnt-match-blob.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/style-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib/style-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/style-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib/style-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/worker-connect-src-allowed.sub.html": [ + [ + "/content-security-policy/blink-contrib/worker-connect-src-allowed.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/worker-connect-src-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib/worker-connect-src-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/worker-eval-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib/worker-eval-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/worker-from-guid.sub.html": [ + [ + "/content-security-policy/blink-contrib/worker-from-guid.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/worker-function-function-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib/worker-function-function-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/worker-importscripts-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib/worker-importscripts-blocked.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/worker-script-src.sub.html": [ + [ + "/content-security-policy/blink-contrib/worker-script-src.sub.html", + {} + ] + ], + "content-security-policy/blink-contrib/worker-set-timeout-blocked.sub.html": [ + [ + "/content-security-policy/blink-contrib/worker-set-timeout-blocked.sub.html", + {} + ] + ], + "content-security-policy/child-src/child-src-about-blank-allowed-by-default.sub.html": [ + [ + "/content-security-policy/child-src/child-src-about-blank-allowed-by-default.sub.html", + {} + ] + ], + "content-security-policy/child-src/child-src-about-blank-allowed-by-scheme.sub.html": [ + [ + "/content-security-policy/child-src/child-src-about-blank-allowed-by-scheme.sub.html", + {} + ] + ], + "content-security-policy/child-src/child-src-allowed.sub.html": [ + [ + "/content-security-policy/child-src/child-src-allowed.sub.html", + {} + ] + ], + "content-security-policy/child-src/child-src-blocked.sub.html": [ + [ + "/content-security-policy/child-src/child-src-blocked.sub.html", + {} + ] + ], + "content-security-policy/child-src/child-src-conflicting-frame-src.sub.html": [ + [ + "/content-security-policy/child-src/child-src-conflicting-frame-src.sub.html", + {} + ] + ], + "content-security-policy/child-src/child-src-cross-origin-load.sub.html": [ + [ + "/content-security-policy/child-src/child-src-cross-origin-load.sub.html", + {} + ] + ], + "content-security-policy/child-src/child-src-worker-allowed.sub.html": [ + [ + "/content-security-policy/child-src/child-src-worker-allowed.sub.html", + {} + ] + ], + "content-security-policy/child-src/child-src-worker-blocked.sub.html": [ + [ + "/content-security-policy/child-src/child-src-worker-blocked.sub.html", + {} + ] + ], + "content-security-policy/embedded-enforcement/allow_csp_from-header.html": [ + [ + "/content-security-policy/embedded-enforcement/allow_csp_from-header.html", + {} + ] + ], + "content-security-policy/embedded-enforcement/embedding_csp-header.html": [ + [ + "/content-security-policy/embedded-enforcement/embedding_csp-header.html", + {} + ] + ], + "content-security-policy/embedded-enforcement/iframe-csp-attribute.html": [ + [ + "/content-security-policy/embedded-enforcement/iframe-csp-attribute.html", + {} + ] + ], + "content-security-policy/embedded-enforcement/subsumption_algorithm-general.html": [ + [ + "/content-security-policy/embedded-enforcement/subsumption_algorithm-general.html", + {} + ] + ], + "content-security-policy/embedded-enforcement/subsumption_algorithm-hashes.html": [ + [ + "/content-security-policy/embedded-enforcement/subsumption_algorithm-hashes.html", + {} + ] + ], + "content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-hosts.html": [ + [ + "/content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-hosts.html", + {} + ] + ], + "content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-paths.html": [ + [ + "/content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-paths.html", + {} + ] + ], + "content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-ports.html": [ + [ + "/content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-ports.html", + {} + ] + ], + "content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-protocols.html": [ + [ + "/content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-protocols.html", + {} + ] + ], + "content-security-policy/embedded-enforcement/subsumption_algorithm-none.html": [ + [ + "/content-security-policy/embedded-enforcement/subsumption_algorithm-none.html", + {} + ] + ], + "content-security-policy/embedded-enforcement/subsumption_algorithm-self.html": [ + [ + "/content-security-policy/embedded-enforcement/subsumption_algorithm-self.html", + {} + ] + ], + "content-security-policy/embedded-enforcement/subsumption_algorithm-strict_dynamic.html": [ + [ + "/content-security-policy/embedded-enforcement/subsumption_algorithm-strict_dynamic.html", + {} + ] + ], + "content-security-policy/embedded-enforcement/subsumption_algorithm-unsafe_eval.html": [ + [ + "/content-security-policy/embedded-enforcement/subsumption_algorithm-unsafe_eval.html", + {} + ] + ], + "content-security-policy/embedded-enforcement/subsumption_algorithm-unsafe_hashed_attributes.html": [ + [ + "/content-security-policy/embedded-enforcement/subsumption_algorithm-unsafe_hashed_attributes.html", + {} + ] + ], + "content-security-policy/embedded-enforcement/subsumption_algorithm-unsafe_inline.html": [ + [ + "/content-security-policy/embedded-enforcement/subsumption_algorithm-unsafe_inline.html", + {} + ] + ], + "content-security-policy/frame-ancestors/deep-allows-none.sub.html": [ + [ + "/content-security-policy/frame-ancestors/deep-allows-none.sub.html", + {} + ] + ], + "content-security-policy/frame-ancestors/multiple-frames-meta-ignored.sub.html": [ + [ + "/content-security-policy/frame-ancestors/multiple-frames-meta-ignored.sub.html", + {} + ] + ], + "content-security-policy/frame-ancestors/multiple-frames-one-blocked.sub.html": [ + [ + "/content-security-policy/frame-ancestors/multiple-frames-one-blocked.sub.html", + {} + ] + ], + "content-security-policy/frame-ancestors/multiple-frames-self-allowed.sub.html": [ + [ + "/content-security-policy/frame-ancestors/multiple-frames-self-allowed.sub.html", + {} + ] + ], + "content-security-policy/frame-ancestors/nested-traversing-allowed.sub.html": [ + [ + "/content-security-policy/frame-ancestors/nested-traversing-allowed.sub.html", + {} + ] + ], + "content-security-policy/frame-ancestors/nested-traversing-banned-top-is-self.sub.html": [ + [ + "/content-security-policy/frame-ancestors/nested-traversing-banned-top-is-self.sub.html", + {} + ] + ], + "content-security-policy/frame-ancestors/nested-traversing-banned.sub.html": [ + [ + "/content-security-policy/frame-ancestors/nested-traversing-banned.sub.html", + {} + ] + ], + "content-security-policy/frame-ancestors/single-frame-self-allowed.sub.html": [ + [ + "/content-security-policy/frame-ancestors/single-frame-self-allowed.sub.html", + {} + ] + ], + "content-security-policy/generic/generic-0_1-img-src.html": [ + [ + "/content-security-policy/generic/generic-0_1-img-src.html", + {} + ] + ], + "content-security-policy/generic/generic-0_1-script-src.html": [ + [ + "/content-security-policy/generic/generic-0_1-script-src.html", + {} + ] + ], + "content-security-policy/generic/generic-0_10.html": [ + [ + "/content-security-policy/generic/generic-0_10.html", + {} + ] + ], + "content-security-policy/generic/generic-0_10_1.sub.html": [ + [ + "/content-security-policy/generic/generic-0_10_1.sub.html", + {} + ] + ], + "content-security-policy/generic/generic-0_2.html": [ + [ + "/content-security-policy/generic/generic-0_2.html", + {} + ] + ], + "content-security-policy/generic/generic-0_2_2.sub.html": [ + [ + "/content-security-policy/generic/generic-0_2_2.sub.html", + {} + ] + ], + "content-security-policy/generic/generic-0_2_3.html": [ + [ + "/content-security-policy/generic/generic-0_2_3.html", + {} + ] + ], + "content-security-policy/generic/generic-0_8.html": [ + [ + "/content-security-policy/generic/generic-0_8.html", + {} + ] + ], + "content-security-policy/generic/generic-0_8_1.sub.html": [ + [ + "/content-security-policy/generic/generic-0_8_1.sub.html", + {} + ] + ], + "content-security-policy/generic/generic-0_9.sub.html": [ + [ + "/content-security-policy/generic/generic-0_9.sub.html", + {} + ] + ], + "content-security-policy/generic/no-default-src.sub.html": [ + [ + "/content-security-policy/generic/no-default-src.sub.html", + {} + ] + ], + "content-security-policy/img-src/img-src-4_1.html": [ + [ + "/content-security-policy/img-src/img-src-4_1.html", + {} + ] + ], + "content-security-policy/media-src/media-src-7_1.html": [ + [ + "/content-security-policy/media-src/media-src-7_1.html", + {} + ] + ], + "content-security-policy/media-src/media-src-7_1_2.html": [ + [ + "/content-security-policy/media-src/media-src-7_1_2.html", + { + "timeout": "long" + } + ] + ], + "content-security-policy/media-src/media-src-7_2.html": [ + [ + "/content-security-policy/media-src/media-src-7_2.html", + {} + ] + ], + "content-security-policy/media-src/media-src-7_2_2.html": [ + [ + "/content-security-policy/media-src/media-src-7_2_2.html", + { + "timeout": "long" + } + ] + ], + "content-security-policy/media-src/media-src-7_3.html": [ + [ + "/content-security-policy/media-src/media-src-7_3.html", + {} + ] + ], + "content-security-policy/media-src/media-src-7_3_2.html": [ + [ + "/content-security-policy/media-src/media-src-7_3_2.html", + {} + ] + ], + "content-security-policy/media-src/media-src-redir-bug.sub.html": [ + [ + "/content-security-policy/media-src/media-src-redir-bug.sub.html", + {} + ] + ], + "content-security-policy/meta/meta-img-src.html": [ + [ + "/content-security-policy/meta/meta-img-src.html", + {} + ] + ], + "content-security-policy/meta/meta-modified.html": [ + [ + "/content-security-policy/meta/meta-modified.html", + {} + ] + ], + "content-security-policy/navigation/to-javascript-url.html": [ + [ + "/content-security-policy/navigation/to-javascript-url.html", + {} + ] + ], + "content-security-policy/object-src/object-src-2_1.html": [ + [ + "/content-security-policy/object-src/object-src-2_1.html", + { + "timeout": "long" + } + ] + ], + "content-security-policy/object-src/object-src-2_2.html": [ + [ + "/content-security-policy/object-src/object-src-2_2.html", + { + "timeout": "long" + } + ] + ], + "content-security-policy/reporting/securitypolicyviolation-idl.html": [ + [ + "/content-security-policy/reporting/securitypolicyviolation-idl.html", + {} + ] + ], + "content-security-policy/script-src/script-src-1_1.html": [ + [ + "/content-security-policy/script-src/script-src-1_1.html", + {} + ] + ], + "content-security-policy/script-src/script-src-1_10.html": [ + [ + "/content-security-policy/script-src/script-src-1_10.html", + {} + ] + ], + "content-security-policy/script-src/script-src-1_10_1.html": [ + [ + "/content-security-policy/script-src/script-src-1_10_1.html", + {} + ] + ], + "content-security-policy/script-src/script-src-1_2.html": [ + [ + "/content-security-policy/script-src/script-src-1_2.html", + {} + ] + ], + "content-security-policy/script-src/script-src-1_2_1.html": [ + [ + "/content-security-policy/script-src/script-src-1_2_1.html", + {} + ] + ], + "content-security-policy/script-src/script-src-1_3.html": [ + [ + "/content-security-policy/script-src/script-src-1_3.html", + {} + ] + ], + "content-security-policy/script-src/script-src-1_4.html": [ + [ + "/content-security-policy/script-src/script-src-1_4.html", + {} + ] + ], + "content-security-policy/script-src/script-src-1_4_1.html": [ + [ + "/content-security-policy/script-src/script-src-1_4_1.html", + {} + ] + ], + "content-security-policy/script-src/script-src-1_4_2.html": [ + [ + "/content-security-policy/script-src/script-src-1_4_2.html", + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_and_unsafe_eval_eval.html": [ + [ + "/content-security-policy/script-src/script-src-strict_dynamic_and_unsafe_eval_eval.html", + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_and_unsafe_eval_new_function.html": [ + [ + "/content-security-policy/script-src/script-src-strict_dynamic_and_unsafe_eval_new_function.html", + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_discard_whitelist.html": [ + [ + "/content-security-policy/script-src/script-src-strict_dynamic_discard_whitelist.html", + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_double_policy_different_nonce.html": [ + [ + "/content-security-policy/script-src/script-src-strict_dynamic_double_policy_different_nonce.html", + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_double_policy_honor_whitelist.sub.html": [ + [ + "/content-security-policy/script-src/script-src-strict_dynamic_double_policy_honor_whitelist.sub.html", + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_double_policy_report_only.html": [ + [ + "/content-security-policy/script-src/script-src-strict_dynamic_double_policy_report_only.html", + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_eval.html": [ + [ + "/content-security-policy/script-src/script-src-strict_dynamic_eval.html", + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_hashes.html": [ + [ + "/content-security-policy/script-src/script-src-strict_dynamic_hashes.html", + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_in_img-src.html": [ + [ + "/content-security-policy/script-src/script-src-strict_dynamic_in_img-src.html", + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_javascript_uri.html": [ + [ + "/content-security-policy/script-src/script-src-strict_dynamic_javascript_uri.html", + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_meta_tag.html": [ + [ + "/content-security-policy/script-src/script-src-strict_dynamic_meta_tag.html", + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_new_function.html": [ + [ + "/content-security-policy/script-src/script-src-strict_dynamic_new_function.html", + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_non_parser_inserted.html": [ + [ + "/content-security-policy/script-src/script-src-strict_dynamic_non_parser_inserted.html", + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_non_parser_inserted_incorrect_nonce.html": [ + [ + "/content-security-policy/script-src/script-src-strict_dynamic_non_parser_inserted_incorrect_nonce.html", + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_parser_inserted.html": [ + [ + "/content-security-policy/script-src/script-src-strict_dynamic_parser_inserted.html", + {} + ] + ], + "content-security-policy/script-src/script-src-strict_dynamic_parser_inserted_correct_nonce.html": [ + [ + "/content-security-policy/script-src/script-src-strict_dynamic_parser_inserted_correct_nonce.html", + {} + ] + ], + "content-security-policy/securitypolicyviolation/blockeduri-eval.html": [ + [ + "/content-security-policy/securitypolicyviolation/blockeduri-eval.html", + {} + ] + ], + "content-security-policy/securitypolicyviolation/blockeduri-inline.html": [ + [ + "/content-security-policy/securitypolicyviolation/blockeduri-inline.html", + {} + ] + ], + "content-security-policy/securitypolicyviolation/idl.html": [ + [ + "/content-security-policy/securitypolicyviolation/idl.html", + {} + ] + ], + "content-security-policy/securitypolicyviolation/targeting.html": [ + [ + "/content-security-policy/securitypolicyviolation/targeting.html", + {} + ] + ], + "content-security-policy/style-src/style-src-3_1.html": [ + [ + "/content-security-policy/style-src/style-src-3_1.html", + {} + ] + ], + "content-security-policy/style-src/style-src-3_2.html": [ + [ + "/content-security-policy/style-src/style-src-3_2.html", + {} + ] + ], + "content-security-policy/style-src/style-src-3_3.html": [ + [ + "/content-security-policy/style-src/style-src-3_3.html", + {} + ] + ], + "content-security-policy/style-src/style-src-3_4.html": [ + [ + "/content-security-policy/style-src/style-src-3_4.html", + {} + ] + ], + "content-security-policy/svg/svg-from-guid.html": [ + [ + "/content-security-policy/svg/svg-from-guid.html", + {} + ] + ], + "content-security-policy/svg/svg-inline.sub.html": [ + [ + "/content-security-policy/svg/svg-inline.sub.html", + {} + ] + ], + "content-security-policy/svg/svg-policy-resource-doc-includes.html": [ + [ + "/content-security-policy/svg/svg-policy-resource-doc-includes.html", + {} + ] + ], + "content-security-policy/svg/svg-policy-with-resource.html": [ + [ + "/content-security-policy/svg/svg-policy-with-resource.html", + {} + ] + ], + "content-security-policy/worker-src/dedicated-child.sub.html": [ + [ + "/content-security-policy/worker-src/dedicated-child.sub.html", + {} + ] + ], + "content-security-policy/worker-src/dedicated-fallback.sub.html": [ + [ + "/content-security-policy/worker-src/dedicated-fallback.sub.html", + {} + ] + ], + "content-security-policy/worker-src/dedicated-list.sub.html": [ + [ + "/content-security-policy/worker-src/dedicated-list.sub.html", + {} + ] + ], + "content-security-policy/worker-src/dedicated-none.sub.html": [ + [ + "/content-security-policy/worker-src/dedicated-none.sub.html", + {} + ] + ], + "content-security-policy/worker-src/dedicated-self.sub.html": [ + [ + "/content-security-policy/worker-src/dedicated-self.sub.html", + {} + ] + ], + "content-security-policy/worker-src/service-child.https.sub.html": [ + [ + "/content-security-policy/worker-src/service-child.https.sub.html", + {} + ] + ], + "content-security-policy/worker-src/service-fallback.https.sub.html": [ + [ + "/content-security-policy/worker-src/service-fallback.https.sub.html", + {} + ] + ], + "content-security-policy/worker-src/service-list.https.sub.html": [ + [ + "/content-security-policy/worker-src/service-list.https.sub.html", + {} + ] + ], + "content-security-policy/worker-src/service-none.https.sub.html": [ + [ + "/content-security-policy/worker-src/service-none.https.sub.html", + {} + ] + ], + "content-security-policy/worker-src/service-self.https.sub.html": [ + [ + "/content-security-policy/worker-src/service-self.https.sub.html", + {} + ] + ], + "content-security-policy/worker-src/shared-child.sub.html": [ + [ + "/content-security-policy/worker-src/shared-child.sub.html", + {} + ] + ], + "content-security-policy/worker-src/shared-fallback.sub.html": [ + [ + "/content-security-policy/worker-src/shared-fallback.sub.html", + {} + ] + ], + "content-security-policy/worker-src/shared-list.sub.html": [ + [ + "/content-security-policy/worker-src/shared-list.sub.html", + {} + ] + ], + "content-security-policy/worker-src/shared-none.sub.html": [ + [ + "/content-security-policy/worker-src/shared-none.sub.html", + {} + ] + ], + "content-security-policy/worker-src/shared-self.sub.html": [ + [ + "/content-security-policy/worker-src/shared-self.sub.html", + {} + ] + ], "css-values/unset-value-storage.html": [ [ "/css-values/unset-value-storage.html", @@ -28611,6 +31727,12 @@ {} ] ], + "domxpath/interfaces.html": [ + [ + "/domxpath/interfaces.html", + {} + ] + ], "encoding/api-basics.html": [ [ "/encoding/api-basics.html", @@ -29885,6 +33007,12 @@ {} ] ], + "html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling.html": [ + [ + "/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling.html", + {} + ] + ], "html/browsers/browsing-the-web/unloading-documents/beforeunload-on-history-back.html": [ [ "/html/browsers/browsing-the-web/unloading-documents/beforeunload-on-history-back.html", @@ -30271,6 +33399,12 @@ {} ] ], + "html/browsers/history/the-location-interface/location-protocol-setter-with-colon.sub.html": [ + [ + "/html/browsers/history/the-location-interface/location-protocol-setter-with-colon.sub.html", + {} + ] + ], "html/browsers/history/the-location-interface/location-protocol-setter.html": [ [ "/html/browsers/history/the-location-interface/location-protocol-setter.html", @@ -30289,6 +33423,24 @@ {} ] ], + "html/browsers/history/the-location-interface/location-symbol-toprimitive.html": [ + [ + "/html/browsers/history/the-location-interface/location-symbol-toprimitive.html", + {} + ] + ], + "html/browsers/history/the-location-interface/location-tojson.html": [ + [ + "/html/browsers/history/the-location-interface/location-tojson.html", + {} + ] + ], + "html/browsers/history/the-location-interface/location-valueof.html": [ + [ + "/html/browsers/history/the-location-interface/location-valueof.html", + {} + ] + ], "html/browsers/history/the-location-interface/location_assign.html": [ [ "/html/browsers/history/the-location-interface/location_assign.html", @@ -31831,6 +34983,12 @@ {} ] ], + "html/dom/interfaces.worker.js": [ + [ + "/html/dom/interfaces.worker.html", + {} + ] + ], "html/dom/reflection-embedded.html": [ [ "/html/dom/reflection-embedded.html", @@ -31903,6 +35061,22 @@ } ] ], + "html/dom/self-origin.any.js": [ + [ + "/html/dom/self-origin.any.html", + {} + ], + [ + "/html/dom/self-origin.any.worker.html", + {} + ] + ], + "html/dom/self-origin.sub.html": [ + [ + "/html/dom/self-origin.sub.html", + {} + ] + ], "html/editing/activation/click.html": [ [ "/html/editing/activation/click.html", @@ -32821,6 +35995,12 @@ {} ] ], + "html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks.html": [ + [ + "/html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks.html", + {} + ] + ], "html/semantics/embedded-content/media-elements/readyState_initial.html": [ [ "/html/semantics/embedded-content/media-elements/readyState_initial.html", @@ -32911,6 +36091,12 @@ {} ] ], + "html/semantics/embedded-content/the-embed-element/embed-in-object-fallback-2.html": [ + [ + "/html/semantics/embedded-content/the-embed-element/embed-in-object-fallback-2.html", + {} + ] + ], "html/semantics/embedded-content/the-embed-element/embed-in-object-fallback.html": [ [ "/html/semantics/embedded-content/the-embed-element/embed-in-object-fallback.html", @@ -33111,6 +36297,18 @@ {} ] ], + "html/semantics/embedded-content/the-object-element/object-ignored-in-media-element.html": [ + [ + "/html/semantics/embedded-content/the-object-element/object-ignored-in-media-element.html", + {} + ] + ], + "html/semantics/embedded-content/the-object-element/object-in-object-fallback-2.html": [ + [ + "/html/semantics/embedded-content/the-object-element/object-in-object-fallback-2.html", + {} + ] + ], "html/semantics/embedded-content/the-object-element/usemap-casing.html": [ [ "/html/semantics/embedded-content/the-object-element/usemap-casing.html", @@ -34063,6 +37261,30 @@ {} ] ], + "html/semantics/scripting-1/the-script-element/module/crossorigin.html": [ + [ + "/html/semantics/scripting-1/the-script-element/module/crossorigin.html", + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/errorhandling.html": [ + [ + "/html/semantics/scripting-1/the-script-element/module/errorhandling.html", + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/execorder.html": [ + [ + "/html/semantics/scripting-1/the-script-element/module/execorder.html", + {} + ] + ], + "html/semantics/scripting-1/the-script-element/module/imports.html": [ + [ + "/html/semantics/scripting-1/the-script-element/module/imports.html", + {} + ] + ], "html/semantics/scripting-1/the-script-element/nomodule-reflect.html": [ [ "/html/semantics/scripting-1/the-script-element/nomodule-reflect.html", @@ -35961,6 +39183,18 @@ {} ] ], + "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-basic.html": [ + [ + "/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-basic.html", + {} + ] + ], + "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-same-origin-domain.sub.html": [ + [ + "/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-same-origin-domain.sub.html", + {} + ] + ], "html/webappapis/idle-callbacks/basic.html": [ [ "/html/webappapis/idle-callbacks/basic.html", @@ -35997,6 +39231,12 @@ {} ] ], + "html/webappapis/idle-callbacks/callback-suspended.html": [ + [ + "/html/webappapis/idle-callbacks/callback-suspended.html", + {} + ] + ], "html/webappapis/idle-callbacks/callback-timeout-with-raf.html": [ [ "/html/webappapis/idle-callbacks/callback-timeout-with-raf.html", @@ -36291,6 +39531,60 @@ {} ] ], + "html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/allow-crossorigin.html": [ + [ + "/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/allow-crossorigin.html", + {} + ] + ], + "html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/disallow-crossorigin.html": [ + [ + "/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/disallow-crossorigin.html", + {} + ] + ], + "html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-event-constructor.html": [ + [ + "/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-event-constructor.html", + {} + ] + ], + "html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events-attached-in-event.html": [ + [ + "/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events-attached-in-event.html", + {} + ] + ], + "html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events-onerror.html": [ + [ + "/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events-onerror.html", + {} + ] + ], + "html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.dedicatedworker.html": [ + [ + "/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.dedicatedworker.html", + {} + ] + ], + "html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html": [ + [ + "/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html", + {} + ] + ], + "html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.serviceworker.https.html": [ + [ + "/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.serviceworker.https.html", + {} + ] + ], + "html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.sharedworker.html": [ + [ + "/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.sharedworker.html", + {} + ] + ], "html/webappapis/scripting/processing-model-2/window-onerror-parse-error.html": [ [ "/html/webappapis/scripting/processing-model-2/window-onerror-parse-error.html", @@ -38651,6 +41945,12 @@ {} ] ], + "referrer-policy/generic/sandboxed-iframe-with-opaque-origin.html": [ + [ + "/referrer-policy/generic/sandboxed-iframe-with-opaque-origin.html", + {} + ] + ], "referrer-policy/generic/subresource-test/area-navigate.html": [ [ "/referrer-policy/generic/subresource-test/area-navigate.html", @@ -46907,6 +50207,12 @@ {} ] ], + "service-workers/service-worker/fetch-event-within-sw.html": [ + [ + "/service-workers/service-worker/fetch-event-within-sw.html", + {} + ] + ], "service-workers/service-worker/fetch-event.https.html": [ [ "/service-workers/service-worker/fetch-event.https.html", @@ -47885,6 +51191,18 @@ {} ] ], + "storage/interfaces.html": [ + [ + "/storage/interfaces.html", + {} + ] + ], + "storage/interfaces.worker.js": [ + [ + "/storage/interfaces.worker.html", + {} + ] + ], "streams/byte-length-queuing-strategy.dedicatedworker.html": [ [ "/streams/byte-length-queuing-strategy.dedicatedworker.html", @@ -48293,6 +51611,30 @@ {} ] ], + "streams/readable-streams/floating-point-total-queue-size.dedicatedworker.html": [ + [ + "/streams/readable-streams/floating-point-total-queue-size.dedicatedworker.html", + {} + ] + ], + "streams/readable-streams/floating-point-total-queue-size.html": [ + [ + "/streams/readable-streams/floating-point-total-queue-size.html", + {} + ] + ], + "streams/readable-streams/floating-point-total-queue-size.serviceworker.https.html": [ + [ + "/streams/readable-streams/floating-point-total-queue-size.serviceworker.https.html", + {} + ] + ], + "streams/readable-streams/floating-point-total-queue-size.sharedworker.html": [ + [ + "/streams/readable-streams/floating-point-total-queue-size.sharedworker.html", + {} + ] + ], "streams/readable-streams/garbage-collection.dedicatedworker.html": [ [ "/streams/readable-streams/garbage-collection.dedicatedworker.html", @@ -48629,6 +51971,30 @@ {} ] ], + "streams/writable-streams/floating-point-total-queue-size.dedicatedworker.html": [ + [ + "/streams/writable-streams/floating-point-total-queue-size.dedicatedworker.html", + {} + ] + ], + "streams/writable-streams/floating-point-total-queue-size.html": [ + [ + "/streams/writable-streams/floating-point-total-queue-size.html", + {} + ] + ], + "streams/writable-streams/floating-point-total-queue-size.serviceworker.https.html": [ + [ + "/streams/writable-streams/floating-point-total-queue-size.serviceworker.https.html", + {} + ] + ], + "streams/writable-streams/floating-point-total-queue-size.sharedworker.html": [ + [ + "/streams/writable-streams/floating-point-total-queue-size.sharedworker.html", + {} + ] + ], "streams/writable-streams/general.dedicatedworker.html": [ [ "/streams/writable-streams/general.dedicatedworker.html", @@ -48953,15 +52319,27 @@ {} ] ], - "web-animations/animation-model/keyframe-effects/spacing-keyframes.html": [ + "web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes.html": [ [ - "/web-animations/animation-model/keyframe-effects/spacing-keyframes.html", + "/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes.html", {} ] ], - "web-animations/animation-model/keyframe-effects/the-effect-value-of-a-keyframe-effect.html": [ + "web-animations/animation-model/keyframe-effects/effect-value-transformed-distance.html": [ [ - "/web-animations/animation-model/keyframe-effects/the-effect-value-of-a-keyframe-effect.html", + "/web-animations/animation-model/keyframe-effects/effect-value-transformed-distance.html", + {} + ] + ], + "web-animations/animation-model/keyframe-effects/effect-value-visibility.html": [ + [ + "/web-animations/animation-model/keyframe-effects/effect-value-visibility.html", + {} + ] + ], + "web-animations/animation-model/keyframe-effects/spacing-keyframes.html": [ + [ + "/web-animations/animation-model/keyframe-effects/spacing-keyframes.html", {} ] ], @@ -49169,12 +52547,6 @@ {} ] ], - "web-animations/interfaces/KeyframeEffect/effect-easing.html": [ - [ - "/web-animations/interfaces/KeyframeEffect/effect-easing.html", - {} - ] - ], "web-animations/interfaces/KeyframeEffect/getComputedTiming.html": [ [ "/web-animations/interfaces/KeyframeEffect/getComputedTiming.html", @@ -49277,6 +52649,12 @@ {} ] ], + "web-animations/timing-model/time-transformations/transformed-progress.html": [ + [ + "/web-animations/timing-model/time-transformations/transformed-progress.html", + {} + ] + ], "webmessaging/Channel_postMessage_DataCloneErr.htm": [ [ "/webmessaging/Channel_postMessage_DataCloneErr.htm", @@ -51269,7 +54647,7 @@ "support" ], "./MANIFEST.json": [ - "bab41edaaed8a4198a5d8367086e03bbfe6c6a04", + "7cfcce7a806a8848409b9dbea851fadd3544d834", "support" ], "./README.md": [ @@ -51277,7 +54655,7 @@ "support" ], "./check_stability.py": [ - "672b2664c1bde13c3ca43fc4bded747de2ece35c", + "0a0ea60b590564b4099d05d82131da247ee63c33", "support" ], "./ci_built_diff.sh": [ @@ -51341,7 +54719,7 @@ "testharness" ], "FileAPI/blob/Blob-constructor-expected.txt": [ - "07f52a408b91518737245bb8f8b12d67408e3ce1", + "56291c1b3e1d7d435594e7c8daacfaf87a3b158a", "support" ], "FileAPI/blob/Blob-constructor.html": [ @@ -51353,7 +54731,7 @@ "testharness" ], "FileAPI/blob/Blob-slice-expected.txt": [ - "0d4c75d4b7aaa8a22d3af33da7d678d3f475a080", + "88f986952e6348e4b612d0d825bc4cbc52813a53", "support" ], "FileAPI/blob/Blob-slice-overflow.html": [ @@ -51401,7 +54779,7 @@ "testharness" ], "FileAPI/idlharness-expected.txt": [ - "ba849c722d2a99a0d761a28a462d426c67ab7db8", + "abd8aefe1386609956bcdf08ab70700bebe8080f", "support" ], "FileAPI/idlharness.html": [ @@ -52625,7 +56003,7 @@ "testharness" ], "IndexedDB/interfaces-expected.txt": [ - "35766cb3143cb582b26f8949854debb2e3c8563f", + "57b127e369a6185981ecc855befd6014cda28b7e", "support" ], "IndexedDB/interfaces.html": [ @@ -52941,7 +56319,7 @@ "support" ], "common/get-host-info.sub.js": [ - "4feb5667d2093736391c71b8f0224f6d868c8cf4", + "4175d0fff3555e25a646b0673a082fefdc113fe0", "support" ], "common/large.py": [ @@ -52976,6 +56354,2086 @@ "1d8598ff2c801c54c0f9be1c688b753bb6291c94", "support" ], + "content-security-policy/README.css": [ + "5d86efff22b5d791302cccd8cade79ccd2960e18", + "support" + ], + "content-security-policy/README.html": [ + "9834273e9d9f9bf5ca645497955dc5375091938f", + "support" + ], + "content-security-policy/blink-contrib-2/allowed.css": [ + "4477032f6a7347c932c71f9737f3f5e8d244c7d3", + "support" + ], + "content-security-policy/blink-contrib-2/base-uri-allow.sub.html": [ + "8a557e111738324c510f48e1a2030933caa33087", + "testharness" + ], + "content-security-policy/blink-contrib-2/base-uri-allow.sub.html.sub.headers": [ + "6205a5bbb5290f29b462bfe2395450ac31772550", + "support" + ], + "content-security-policy/blink-contrib-2/base-uri-deny.sub.html": [ + "b9661979aa2ffda1bb4923bef096962ad632c6e3", + "testharness" + ], + "content-security-policy/blink-contrib-2/base-uri-deny.sub.html.sub.headers": [ + "ccfc66c70082010f33917cc245fbc30affc46798", + "support" + ], + "content-security-policy/blink-contrib-2/form-action-src-allowed.sub.html": [ + "83ebd7d64b5746989f8bdd9c5103ffc11aa93f36", + "testharness" + ], + "content-security-policy/blink-contrib-2/form-action-src-allowed.sub.html.sub.headers": [ + "c74c11f68173073c6759d3a170c0684920078f95", + "support" + ], + "content-security-policy/blink-contrib-2/form-action-src-blocked.sub.html": [ + "757d2535beddbac6fdd8efaa5d0cb84afaf28235", + "testharness" + ], + "content-security-policy/blink-contrib-2/form-action-src-blocked.sub.html.sub.headers": [ + "7222d1f514ab8f7f7bff52bab4a190f95bc20315", + "support" + ], + "content-security-policy/blink-contrib-2/form-action-src-default-ignored.sub.html": [ + "840c122d2a7063848064402c7d76f2d65abfde39", + "testharness" + ], + "content-security-policy/blink-contrib-2/form-action-src-default-ignored.sub.html.sub.headers": [ + "525c9c57c7e2f0bfc15cf7c5af7b32db5eba125b", + "support" + ], + "content-security-policy/blink-contrib-2/form-action-src-get-allowed.sub.html": [ + "cc54ab08c93d54539891369e9ff1b293c3365286", + "testharness" + ], + "content-security-policy/blink-contrib-2/form-action-src-get-allowed.sub.html.sub.headers": [ + "546dc51d2d91e73b3cb23c8d995fedaadc16a628", + "support" + ], + "content-security-policy/blink-contrib-2/form-action-src-get-blocked.sub.html": [ + "ad6e0052bde40225c42d044301a860433d572fe2", + "testharness" + ], + "content-security-policy/blink-contrib-2/form-action-src-get-blocked.sub.html.sub.headers": [ + "5e34b41789ee898312b915dcd2f4ed3f03085dca", + "support" + ], + "content-security-policy/blink-contrib-2/form-action-src-javascript-blocked.sub.html": [ + "cf1d1a761cd6119698d44a10e42e79bd4a476707", + "testharness" + ], + "content-security-policy/blink-contrib-2/form-action-src-javascript-blocked.sub.html.sub.headers": [ + "3dc9196bfb5e76f30e4b7585f74c73ad6d6ebca8", + "support" + ], + "content-security-policy/blink-contrib-2/form-action-src-redirect-blocked.sub.html": [ + "51a8da18c3e10220c8080ea33e10e7d7d8abcb07", + "testharness" + ], + "content-security-policy/blink-contrib-2/form-action-src-redirect-blocked.sub.html.sub.headers": [ + "3a3b24785f4fea78703818933b0476896e959545", + "support" + ], + "content-security-policy/blink-contrib-2/meta-outside-head.sub.html": [ + "68f74fa0c400ca45ddf0281d373da2630f03b8f2", + "testharness" + ], + "content-security-policy/blink-contrib-2/meta-outside-head.sub.html.sub.headers": [ + "3693f04b4221fac51e2074e5ab29d09394fe3b43", + "support" + ], + "content-security-policy/blink-contrib-2/metaHelper.js": [ + "ff614bd9c4e37c02c8027c6b38fc615c0ade6883", + "support" + ], + "content-security-policy/blink-contrib-2/plugintypes-mismatched-data.sub.html": [ + "898041d9b67c26e17e346b76c5d74eb7f1aa84a9", + "testharness" + ], + "content-security-policy/blink-contrib-2/plugintypes-mismatched-data.sub.html.sub.headers": [ + "670e8a07d47244eb5cc339ffbd84c21f64116370", + "support" + ], + "content-security-policy/blink-contrib-2/plugintypes-mismatched-url.sub.html": [ + "2013babc6dd58142e92c57df92f0435035bf1ed1", + "testharness" + ], + "content-security-policy/blink-contrib-2/plugintypes-mismatched-url.sub.html.sub.headers": [ + "dda5601b7a82a0c74c72546211b6342a6a1649c1", + "support" + ], + "content-security-policy/blink-contrib-2/plugintypes-notype-data.sub.html": [ + "c63a410659d4e310c49c7d801164631d0182df67", + "testharness" + ], + "content-security-policy/blink-contrib-2/plugintypes-notype-data.sub.html.sub.headers": [ + "c57954b107555b24a8533c9761e325804b0a361a", + "support" + ], + "content-security-policy/blink-contrib-2/plugintypes-notype-url.sub.html": [ + "a41d08e25b47576b9cfdcf4fcc455cb08c2fbf34", + "testharness" + ], + "content-security-policy/blink-contrib-2/plugintypes-notype-url.sub.html.sub.headers": [ + "4689f895bf0571659932e078ae5c515b206dbb50", + "support" + ], + "content-security-policy/blink-contrib-2/plugintypes-nourl-allowed.sub.html": [ + "75d812278e01f876069ccf40ad2e8d776cfe0ddf", + "testharness" + ], + "content-security-policy/blink-contrib-2/plugintypes-nourl-allowed.sub.html.sub.headers": [ + "23cd8eaa18002d63739cedfb7fae8e609d74df4f", + "support" + ], + "content-security-policy/blink-contrib-2/plugintypes-nourl-blocked.sub.html": [ + "519c94f700d87a69dc9c89ce5670112a5024cd61", + "testharness" + ], + "content-security-policy/blink-contrib-2/plugintypes-nourl-blocked.sub.html.sub.headers": [ + "c5f88b1987a74cad08d716600963b572786684ea", + "support" + ], + "content-security-policy/blink-contrib-2/script-src-wildcards-disallowed.html": [ + "f37a26072dda19784f9a8b1a5cd19908641addb4", + "testharness" + ], + "content-security-policy/blink-contrib-2/script-src-wildcards-disallowed.html.sub.headers": [ + "489ccab66c926e96b8d8e63fc570bbcbc9be914d", + "support" + ], + "content-security-policy/blink-contrib-2/scripthash-allowed.sub.html": [ + "504d8fcd9a506bc26ec62f4013be4c932b51b7be", + "testharness" + ], + "content-security-policy/blink-contrib-2/scripthash-allowed.sub.html.sub.headers": [ + "efa78236077151c9db3131dc4012d313be14d2cf", + "support" + ], + "content-security-policy/blink-contrib-2/scripthash-basic-blocked.sub.html": [ + "60327c2ed7fafd20d6856c64a58d5a45f57edd59", + "testharness" + ], + "content-security-policy/blink-contrib-2/scripthash-basic-blocked.sub.html.sub.headers": [ + "bd797393705ef8e94c38d3901c9875b17a12cda7", + "support" + ], + "content-security-policy/blink-contrib-2/scripthash-default-src.sub.html": [ + "f68fd0d2c9f32ac979b89c74262c09d2ff350052", + "testharness" + ], + "content-security-policy/blink-contrib-2/scripthash-default-src.sub.html.sub.headers": [ + "fbd7e70e5242a6e9dc49392ee3ac94b07a809f12", + "support" + ], + "content-security-policy/blink-contrib-2/scripthash-ignore-unsafeinline.sub.html": [ + "4c820472cd10c61bc4ee2b4fcd3f7166bc4eed63", + "testharness" + ], + "content-security-policy/blink-contrib-2/scripthash-ignore-unsafeinline.sub.html.sub.headers": [ + "d2653014b0a2ef8fa8ac48f487ac0190b0322491", + "support" + ], + "content-security-policy/blink-contrib-2/scripthash-unicode-normalization.sub.html": [ + "19e9ba394da26e22112d5259da9f687e15dad71d", + "testharness" + ], + "content-security-policy/blink-contrib-2/scripthash-unicode-normalization.sub.html.sub.headers": [ + "2846f1df6ad40681e3da12e73cc835211787368a", + "support" + ], + "content-security-policy/blink-contrib-2/scriptnonce-allowed.sub.html": [ + "db7030d465c87d5820389ddefb43e5023e5d3f22", + "testharness" + ], + "content-security-policy/blink-contrib-2/scriptnonce-allowed.sub.html.sub.headers": [ + "8b1cea5e0795626976e9fb99b1207d91125006f7", + "support" + ], + "content-security-policy/blink-contrib-2/scriptnonce-and-scripthash.sub.html": [ + "727b7acbfdec17f3740bfdc86df33a8bcb608a10", + "testharness" + ], + "content-security-policy/blink-contrib-2/scriptnonce-and-scripthash.sub.html.sub.headers": [ + "ebf7b1a5fb3f003f86977876a163715a01c3627b", + "support" + ], + "content-security-policy/blink-contrib-2/scriptnonce-basic-blocked.sub.html": [ + "768b314d977b5b23af218b7a004502d3c444938b", + "testharness" + ], + "content-security-policy/blink-contrib-2/scriptnonce-basic-blocked.sub.html.sub.headers": [ + "6dac27cec2673d7b8c0f4c8cbc37b502469c143d", + "support" + ], + "content-security-policy/blink-contrib-2/scriptnonce-ignore-unsafeinline.sub.html": [ + "fa1c716c2e68cbc805796d7ec223fe84a51978c9", + "testharness" + ], + "content-security-policy/blink-contrib-2/scriptnonce-ignore-unsafeinline.sub.html.sub.headers": [ + "5eb2dece8f120e0db6980bc26e6b6c9bc9d46e7a", + "support" + ], + "content-security-policy/blink-contrib-2/scriptnonce-redirect.sub.html": [ + "30befb75a19b8111c23a97ce7f4f60db4d24d493", + "testharness" + ], + "content-security-policy/blink-contrib-2/scriptnonce-redirect.sub.html.sub.headers": [ + "10f81ddd4bf6cd9a3d9c47f686162cd8d68b8aea", + "support" + ], + "content-security-policy/blink-contrib-2/securitypolicyviolation-block-cross-origin-image-from-script.sub.html": [ + "f9dd2b59f8dbdd8ba9eb60265e10cf095a1fb147", + "testharness" + ], + "content-security-policy/blink-contrib-2/securitypolicyviolation-block-cross-origin-image-from-script.sub.html.sub.headers": [ + "93fc40dfbce27b0aeefcad22a111ad060fd696e4", + "support" + ], + "content-security-policy/blink-contrib-2/securitypolicyviolation-block-cross-origin-image.sub.html": [ + "d2d4c75e332b4e64314572aa64fa173463a9f017", + "testharness" + ], + "content-security-policy/blink-contrib-2/securitypolicyviolation-block-cross-origin-image.sub.html.sub.headers": [ + "b0f6577c04f6ed4fcdb502353d1d54ed9bfc8cb7", + "support" + ], + "content-security-policy/blink-contrib-2/securitypolicyviolation-block-image-from-script.sub.html": [ + "40170584f1f4e64dde81a6223a60b73d8e8d03ad", + "testharness" + ], + "content-security-policy/blink-contrib-2/securitypolicyviolation-block-image-from-script.sub.html.sub.headers": [ + "992e5a67c57e895c77f4dd792c2a6d1e5eea541c", + "support" + ], + "content-security-policy/blink-contrib-2/securitypolicyviolation-block-image.sub.html": [ + "3ea03b1451627610c5efc7cad3917d6872a0fae1", + "testharness" + ], + "content-security-policy/blink-contrib-2/securitypolicyviolation-block-image.sub.html.sub.headers": [ + "1cc03dde82f7d1526d65b30528252e5b796ae511", + "support" + ], + "content-security-policy/blink-contrib-2/stylehash-allowed.sub.html": [ + "5e13fc8c91c0226bf65acb509f8bb8df5a5ba4a5", + "testharness" + ], + "content-security-policy/blink-contrib-2/stylehash-allowed.sub.html.sub.headers": [ + "061e9277db484d4f644e4accef00192c9efcdc33", + "support" + ], + "content-security-policy/blink-contrib-2/stylehash-basic-blocked.sub.html": [ + "c19d049605cefc84354daaf26226d97549fd1c62", + "testharness" + ], + "content-security-policy/blink-contrib-2/stylehash-basic-blocked.sub.html.sub.headers": [ + "f81ca255119107540a3f21637ea33c808d084bdd", + "support" + ], + "content-security-policy/blink-contrib-2/stylehash-default-src.sub.html": [ + "5fe5655682b353ff9b708cf25d5b2b789e2060df", + "testharness" + ], + "content-security-policy/blink-contrib-2/stylehash-default-src.sub.html.sub.headers": [ + "2570aa3a9ca93ae4229ab94b7db01e8c15c54dea", + "support" + ], + "content-security-policy/blink-contrib-2/stylenonce-allowed.sub.html": [ + "248fe8cfb2653de13b284856d45b64ecaeaf05c7", + "testharness" + ], + "content-security-policy/blink-contrib-2/stylenonce-allowed.sub.html.sub.headers": [ + "a8709c0fe8a6157a8c5b8f204b2e2c2dc5d54d94", + "support" + ], + "content-security-policy/blink-contrib-2/stylenonce-blocked.sub.html": [ + "b3818c2571c2842eb41e592972787ea6253e1cda", + "testharness" + ], + "content-security-policy/blink-contrib-2/stylenonce-blocked.sub.html.sub.headers": [ + "4853d89a7fd9a143088489503a6fd40597aaa048", + "support" + ], + "content-security-policy/blink-contrib/blob-urls-do-not-match-self.sub.html": [ + "24c5d49b3581311e5fc1ecb571bc5954986caf8c", + "testharness" + ], + "content-security-policy/blink-contrib/blob-urls-do-not-match-self.sub.html.sub.headers": [ + "102b595589378313916db4d8ee8deffed78de386", + "support" + ], + "content-security-policy/blink-contrib/blob-urls-match-blob.sub.html": [ + "bfa1efe4f4781b85f170645fa5a85cc65c42b085", + "testharness" + ], + "content-security-policy/blink-contrib/blob-urls-match-blob.sub.html.sub.headers": [ + "cc3a099cb7177060f656b543de60beecd469f378", + "support" + ], + "content-security-policy/blink-contrib/combine-header-and-meta-policies.sub.html": [ + "d92daf8146437e2d95bd8179b9b868dc67c59385", + "testharness" + ], + "content-security-policy/blink-contrib/combine-header-and-meta-policies.sub.html.sub.headers": [ + "f2603d3d846366364be454c45fb2b81b1be6ac67", + "support" + ], + "content-security-policy/blink-contrib/combine-multiple-header-policies.html.asis": [ + "6ff2a399547ec42c3e7e0eae7096fb4987ccaa14", + "support" + ], + "content-security-policy/blink-contrib/connect-src-beacon-allowed.sub.html": [ + "85d842357335ecd60168eabac0f43ff9febfcc6a", + "testharness" + ], + "content-security-policy/blink-contrib/connect-src-beacon-allowed.sub.html.sub.headers": [ + "0f8ec34cff2a3a5bf3587c476b31938ddc046c2a", + "support" + ], + "content-security-policy/blink-contrib/connect-src-beacon-blocked.sub.html": [ + "5f55cfa4f5495b4f9b27ca5e900faa42048864c7", + "testharness" + ], + "content-security-policy/blink-contrib/connect-src-beacon-blocked.sub.html.sub.headers": [ + "813cd9544dc5666f87112e7da1ae3a36a291271d", + "support" + ], + "content-security-policy/blink-contrib/connect-src-beacon-redirect-to-blocked.sub.html": [ + "8e55b1117a947edfafdc6ffaa1670ebafd536066", + "testharness" + ], + "content-security-policy/blink-contrib/connect-src-beacon-redirect-to-blocked.sub.html.sub.headers": [ + "28e08f4f4251ee5a9fcc9594cecc70bd14060228", + "support" + ], + "content-security-policy/blink-contrib/connect-src-eventsource-allowed.sub.html": [ + "7b3f0331c46f70747f957e280083d309003e437f", + "testharness" + ], + "content-security-policy/blink-contrib/connect-src-eventsource-allowed.sub.html.sub.headers": [ + "ec13e2fdc5fb56dc3dee8a0995719d96a4bba405", + "support" + ], + "content-security-policy/blink-contrib/connect-src-eventsource-blocked.sub.html": [ + "821efa8a9a464068112eedceab309bd6c775910a", + "testharness" + ], + "content-security-policy/blink-contrib/connect-src-eventsource-blocked.sub.html.sub.headers": [ + "21f6758a1b449188bb2adfe948018c5b0a7bf064", + "support" + ], + "content-security-policy/blink-contrib/connect-src-eventsource-redirect-to-blocked.sub.html": [ + "f54d3fd58c36d4424168ff29556d888314b58fcb", + "testharness" + ], + "content-security-policy/blink-contrib/connect-src-eventsource-redirect-to-blocked.sub.html.sub.headers": [ + "294a04ecb2f88b1a0d27b52066736b263379ece4", + "support" + ], + "content-security-policy/blink-contrib/connect-src-websocket-allowed.sub.html": [ + "a83fb905d187a31c088241a12764f2c5aa3ae831", + "testharness" + ], + "content-security-policy/blink-contrib/connect-src-websocket-allowed.sub.html.sub.headers": [ + "b28a1e116ffca21860a6c86a0fd82d2ce2a0d3f3", + "support" + ], + "content-security-policy/blink-contrib/connect-src-websocket-blocked.sub.html": [ + "178a2db4e5ca568b277d112334aff2602b037d68", + "testharness" + ], + "content-security-policy/blink-contrib/connect-src-websocket-blocked.sub.html.sub.headers": [ + "a1053d5f59cb43aa04827e67fc8b905fdf3ab650", + "support" + ], + "content-security-policy/blink-contrib/connect-src-xmlhttprequest-allowed.sub.html": [ + "4297111d8a845cdf03360b0ec11c30b156e89491", + "testharness" + ], + "content-security-policy/blink-contrib/connect-src-xmlhttprequest-allowed.sub.html.sub.headers": [ + "325045d838e6ff7cb6e3f5631bc07d908bdab11f", + "support" + ], + "content-security-policy/blink-contrib/connect-src-xmlhttprequest-blocked.sub.html": [ + "2c2433996296ffe187d68530fdc6d68788c3a3f4", + "testharness" + ], + "content-security-policy/blink-contrib/connect-src-xmlhttprequest-blocked.sub.html.sub.headers": [ + "54fcb5239bf6142d0f7e49d892eb31a1a8de2247", + "support" + ], + "content-security-policy/blink-contrib/connect-src-xmlhttprequest-redirect-to-blocked.sub.html": [ + "e47c7d9becb9a1684a6691c69ebe2becd1716919", + "testharness" + ], + "content-security-policy/blink-contrib/connect-src-xmlhttprequest-redirect-to-blocked.sub.html.sub.headers": [ + "c163d71619fd06a3d73fe20ab90cb8f9438ac4e1", + "support" + ], + "content-security-policy/blink-contrib/default-src-inline-allowed.sub.html": [ + "f46a2203104183e875ff951e00dcd23a35a8f3f4", + "testharness" + ], + "content-security-policy/blink-contrib/default-src-inline-allowed.sub.html.sub.headers": [ + "14f88f9af278c73a82d65c1a9672dfba68b56f33", + "support" + ], + "content-security-policy/blink-contrib/default-src-inline-blocked.sub.html": [ + "b3252eacf28189f2ecc0722000c329e0e36a2c30", + "testharness" + ], + "content-security-policy/blink-contrib/default-src-inline-blocked.sub.html.sub.headers": [ + "eb81acca81e2785a5fda4c415668c6701472b111", + "support" + ], + "content-security-policy/blink-contrib/duplicate-directive.sub.html": [ + "aa6f1ae3a705c2aa8f0d89a1837964b68ff4fd98", + "testharness" + ], + "content-security-policy/blink-contrib/duplicate-directive.sub.html.sub.headers": [ + "3545a979a8c0616c6ca51c310787ee8962e62d52", + "support" + ], + "content-security-policy/blink-contrib/eval-allowed.sub.html": [ + "a08c6e53cd847d2b196de9689de194d84a7d6808", + "testharness" + ], + "content-security-policy/blink-contrib/eval-allowed.sub.html.sub.headers": [ + "62c0917fb937946cacd3e57b72178fd0fe1a1b48", + "support" + ], + "content-security-policy/blink-contrib/eval-blocked-and-sends-report.sub.html": [ + "abe7966831e16489f9e055a8d7ea7bf3426c1bdd", + "testharness" + ], + "content-security-policy/blink-contrib/eval-blocked-and-sends-report.sub.html.sub.headers": [ + "7e3372b1a4d99483c5e7270e60dfa5a63743a2e9", + "support" + ], + "content-security-policy/blink-contrib/eval-blocked-in-about-blank-iframe.sub.html": [ + "f0abdbd1904ed3bf999140fa7e945d65c7de8cc9", + "support" + ], + "content-security-policy/blink-contrib/eval-blocked-in-about-blank-iframe.sub.html.sub.headers": [ + "2639828fc734a229e94f624db55dce1dad78a738", + "support" + ], + "content-security-policy/blink-contrib/eval-blocked.sub.html": [ + "df5c83f290327658fc4ed01e8a0298409af87d5f", + "testharness" + ], + "content-security-policy/blink-contrib/eval-blocked.sub.html.sub.headers": [ + "10a3b9f5e926f5f24dc9dbac58e881b16279d02e", + "support" + ], + "content-security-policy/blink-contrib/eval-scripts-setInterval-allowed.sub.html": [ + "80aa58cf370623245fc81f607d6788410def2035", + "testharness" + ], + "content-security-policy/blink-contrib/eval-scripts-setInterval-allowed.sub.html.sub.headers": [ + "179a7fad9090c3a4cee7dc0663864f75bd56e5e1", + "support" + ], + "content-security-policy/blink-contrib/eval-scripts-setInterval-blocked.sub.html": [ + "f9d5f72018bea3569fbee2187ef0087fc7b019f8", + "testharness" + ], + "content-security-policy/blink-contrib/eval-scripts-setInterval-blocked.sub.html.sub.headers": [ + "730a7c9e70ba80203d6ec1a4987b2d635c6dcdd3", + "support" + ], + "content-security-policy/blink-contrib/eval-scripts-setTimeout-allowed.sub.html": [ + "30e88830998f0a5519c0092dcd4b61eb815b180f", + "testharness" + ], + "content-security-policy/blink-contrib/eval-scripts-setTimeout-allowed.sub.html.sub.headers": [ + "64dd67576b23144bd94b0d6f10de9b0d70068b5c", + "support" + ], + "content-security-policy/blink-contrib/eval-scripts-setTimeout-blocked.sub.html": [ + "0bcd585a7ea4cd2521d4462579766dfe4c346d22", + "testharness" + ], + "content-security-policy/blink-contrib/eval-scripts-setTimeout-blocked.sub.html.sub.headers": [ + "f1271aaed9988929e1ce84e5ee3a92be0d6279fa", + "support" + ], + "content-security-policy/blink-contrib/filesystem-urls-do-not-match-self.sub.html": [ + "a63e65f32c0e703f1a012da6f6743948b118bd7e", + "testharness" + ], + "content-security-policy/blink-contrib/filesystem-urls-do-not-match-self.sub.html.sub.headers": [ + "4825d6a31d28f76dec815089ef7ca470515690b2", + "support" + ], + "content-security-policy/blink-contrib/filesystem-urls-match-filesystem.sub.html": [ + "9680e354c42e579be95716e0b14981cb0ce2914b", + "testharness" + ], + "content-security-policy/blink-contrib/filesystem-urls-match-filesystem.sub.html.sub.headers": [ + "055354047a28465a85243b96a7496e2c9f18133c", + "support" + ], + "content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-default.sub.html": [ + "af2613be64e555706774100db1684d6403960741", + "testharness" + ], + "content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-default.sub.html.sub.headers": [ + "5b7a4395122e2b71eeb3fb102a09eeddf5a18207", + "support" + ], + "content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-scheme.sub.html": [ + "51e485a3618cfd5901eedc8ef4a82a6e92f6b3c7", + "testharness" + ], + "content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-scheme.sub.html.sub.headers": [ + "8197c90f60c1be3904f2959b894c7e3633ed613a", + "support" + ], + "content-security-policy/blink-contrib/frame-src-allowed.sub.html": [ + "9741e0aa95e1769427f49956fcaaeb09491d053e", + "testharness" + ], + "content-security-policy/blink-contrib/frame-src-allowed.sub.html.sub.headers": [ + "23043a49f48b67cedbd02f3558935f86f935bd02", + "support" + ], + "content-security-policy/blink-contrib/frame-src-blocked.sub.html": [ + "deb6fb388cef5a43a5e6c409fce2223cbc90e71a", + "testharness" + ], + "content-security-policy/blink-contrib/frame-src-blocked.sub.html.sub.headers": [ + "5f032c02128b6f0343161eee6727393719e467e4", + "support" + ], + "content-security-policy/blink-contrib/frame-src-cross-origin-load.sub.html": [ + "7b83244696dd971872c64b135638cddd00d662f5", + "testharness" + ], + "content-security-policy/blink-contrib/frame-src-cross-origin-load.sub.html.sub.headers": [ + "1ee2ef92b2f77485862e3e79d9a32d489edbf992", + "support" + ], + "content-security-policy/blink-contrib/function-constructor-allowed.sub.html": [ + "10232e7325a194daec21704022a2954f37011bac", + "testharness" + ], + "content-security-policy/blink-contrib/function-constructor-allowed.sub.html.sub.headers": [ + "ba914f7cb6147b068218ea5c7793e3af823e130c", + "support" + ], + "content-security-policy/blink-contrib/function-constructor-blocked.sub.html": [ + "5b564654f8bf198bfc12aff6aa8980d7337dd8fb", + "testharness" + ], + "content-security-policy/blink-contrib/function-constructor-blocked.sub.html.sub.headers": [ + "8475eb49eeecd0869f5065083164642c7c2d8957", + "support" + ], + "content-security-policy/blink-contrib/icon-allowed.sub.html": [ + "2cb38da88b77339f6d4b8dae71ce1379349a90b4", + "support" + ], + "content-security-policy/blink-contrib/icon-allowed.sub.html.sub.headers": [ + "2c8be4fa14cd1df33d7fc0aee621bc702c9cdb1e", + "support" + ], + "content-security-policy/blink-contrib/icon-blocked.sub.html": [ + "80c5296a3091d56f655280b2ade55d841cf5dc7d", + "support" + ], + "content-security-policy/blink-contrib/icon-blocked.sub.html.sub.headers": [ + "b97148dfba843d1a9f2230660647a73f6c56708f", + "support" + ], + "content-security-policy/blink-contrib/iframe-inside-csp.sub.html": [ + "fb56541d51e38ec0e9d3a5c8c374292c25c6e0c6", + "support" + ], + "content-security-policy/blink-contrib/iframe-inside-csp.sub.html.sub.headers": [ + "5389749903edb42152560eda2c1108496da7c428", + "support" + ], + "content-security-policy/blink-contrib/image-allowed.sub.html": [ + "ec80b700f1add010d31619c4e2e6db92694dbde4", + "testharness" + ], + "content-security-policy/blink-contrib/image-allowed.sub.html.sub.headers": [ + "fa9826115d5cd10837e86f8655032ca0e8dd08bb", + "support" + ], + "content-security-policy/blink-contrib/image-blocked.sub.html": [ + "c4b8906a19de0cf2b6a87de1d27a623752cff028", + "testharness" + ], + "content-security-policy/blink-contrib/image-blocked.sub.html.sub.headers": [ + "ae212fe4eef305ad278165bd1857dce51ac7b500", + "support" + ], + "content-security-policy/blink-contrib/image-full-host-wildcard-allowed.sub.html": [ + "0ef428649d2af808395ae4ef8873bb67fa5494a3", + "testharness" + ], + "content-security-policy/blink-contrib/image-full-host-wildcard-allowed.sub.html.sub.headers": [ + "08eb1c33eb15ff0fd49d5a5d6f21059661d702ac", + "support" + ], + "content-security-policy/blink-contrib/injected-inline-script-allowed.sub.html": [ + "502c1a0ec24188bc9ac057fc0649cfaf9df2c586", + "testharness" + ], + "content-security-policy/blink-contrib/injected-inline-script-allowed.sub.html.sub.headers": [ + "d339bfe0f34c6681a9a87cc3e000915cd134e7df", + "support" + ], + "content-security-policy/blink-contrib/injected-inline-script-blocked.sub.html": [ + "f081e97f85d1f508a93387e1a6a13fdb8f1ac8af", + "testharness" + ], + "content-security-policy/blink-contrib/injected-inline-script-blocked.sub.html.sub.headers": [ + "3231642fae43bbd17c95144c5300c12e7b0dbcbf", + "support" + ], + "content-security-policy/blink-contrib/injected-inline-style-allowed.sub.html": [ + "6d1e44e38d455d808f84e8c768ee2e9463a93394", + "testharness" + ], + "content-security-policy/blink-contrib/injected-inline-style-allowed.sub.html.sub.headers": [ + "2d9e07d1abb825b2e9cd007fd654ad0813ed585b", + "support" + ], + "content-security-policy/blink-contrib/injected-inline-style-blocked.sub.html": [ + "42a173324a8ac47b6d503af816f761e99ad4f63c", + "testharness" + ], + "content-security-policy/blink-contrib/injected-inline-style-blocked.sub.html.sub.headers": [ + "1636468fc51e25aea5ce89e74cda44aec4904b50", + "support" + ], + "content-security-policy/blink-contrib/inline-style-allowed-while-cloning-objects.sub.html": [ + "10859486137819559e70f93d9ca14b140a31f268", + "testharness" + ], + "content-security-policy/blink-contrib/inline-style-allowed-while-cloning-objects.sub.html.sub.headers": [ + "ece1760314594ba10069b299c898886fa4d2dca7", + "support" + ], + "content-security-policy/blink-contrib/inline-style-allowed.sub.html": [ + "4274e277aca415ab8afc2984adbdbcf41b8fbea5", + "testharness" + ], + "content-security-policy/blink-contrib/inline-style-allowed.sub.html.sub.headers": [ + "7cc5d2f15268e4ac5e42c325ca8c8d013c3172e6", + "support" + ], + "content-security-policy/blink-contrib/inline-style-attribute-allowed.sub.html": [ + "654705464184d21c8b3104e5a656b999980e28ca", + "testharness" + ], + "content-security-policy/blink-contrib/inline-style-attribute-allowed.sub.html.sub.headers": [ + "7b151b5019f9a42f5490dfcd8762b169df93568f", + "support" + ], + "content-security-policy/blink-contrib/inline-style-attribute-blocked.sub.html": [ + "08bee8596d1b46fb846e2585526365d406b9e443", + "testharness" + ], + "content-security-policy/blink-contrib/inline-style-attribute-blocked.sub.html.sub.headers": [ + "414ccf7b1fb81533b18d1761568c2b29a3374d05", + "support" + ], + "content-security-policy/blink-contrib/inline-style-attribute-on-html.sub.html": [ + "6bab2dd936f4f0c10d55e5c2c0d77472fae0b962", + "testharness" + ], + "content-security-policy/blink-contrib/inline-style-attribute-on-html.sub.html.sub.headers": [ + "1491c2deb8c9b434abac7b7477d8342d8d4bc680", + "support" + ], + "content-security-policy/blink-contrib/inline-style-blocked.sub.html": [ + "05051ca8f016b16bbd24ae685ea2ce05be0fa9cc", + "testharness" + ], + "content-security-policy/blink-contrib/inline-style-blocked.sub.html.sub.headers": [ + "d847dfa9fec3763edd4b8d1e0394e5c991d37524", + "support" + ], + "content-security-policy/blink-contrib/manifest-src-allowed.sub.html": [ + "87232e07bea2e0b932f1de48ea9349ba21883cda", + "support" + ], + "content-security-policy/blink-contrib/manifest-src-allowed.sub.html.sub.headers": [ + "b8aecfde2a75b6c0a0475e39c38f0802df07b503", + "support" + ], + "content-security-policy/blink-contrib/manifest-src-blocked.sub.html": [ + "87232e07bea2e0b932f1de48ea9349ba21883cda", + "support" + ], + "content-security-policy/blink-contrib/manifest-src-blocked.sub.html.sub.headers": [ + "903f086b16a9f45d27a6b92345473e1e139b241c", + "support" + ], + "content-security-policy/blink-contrib/media-src-allowed.sub.html": [ + "9b89b4247c6142c8c2d0a998c347af3953a25cc6", + "support" + ], + "content-security-policy/blink-contrib/media-src-allowed.sub.html.sub.headers": [ + "815fb25ca6f00b72fefd852f54553246a06fa703", + "support" + ], + "content-security-policy/blink-contrib/media-src-blocked.sub.html": [ + "da8fb3f95a9cd0290955c0f3d5c6ba16734960df", + "support" + ], + "content-security-policy/blink-contrib/media-src-blocked.sub.html.sub.headers": [ + "8b7e86e63aab33e88135232b750b2aa14c1dd5b1", + "support" + ], + "content-security-policy/blink-contrib/media-src-track-block.sub.html": [ + "eced9662b2c78da18fcf9b5d6f2a152b0c08d0ce", + "testharness" + ], + "content-security-policy/blink-contrib/media-src-track-block.sub.html.sub.headers": [ + "bb009d5c24ca8378c2507d11bff795b051314b6f", + "support" + ], + "content-security-policy/blink-contrib/object-in-svg-foreignobject.sub.html": [ + "b190bbe16893d13d25599c2cbb344efc3f61eca8", + "testharness" + ], + "content-security-policy/blink-contrib/object-in-svg-foreignobject.sub.html.sub.headers": [ + "368845671fc996d39fd6f85c113a26cdaa98ee3e", + "support" + ], + "content-security-policy/blink-contrib/object-src-applet-archive-codebase.sub.html": [ + "7f81f0fe6a5ed984e6084250672e598a2fe2c707", + "testharness" + ], + "content-security-policy/blink-contrib/object-src-applet-archive-codebase.sub.html.sub.headers": [ + "37429d7e5523b4fa092f319e0348abf62f1fe95e", + "support" + ], + "content-security-policy/blink-contrib/object-src-applet-archive.sub.html": [ + "9d07979a968cea9958c237e465b3562fac0d6e65", + "testharness" + ], + "content-security-policy/blink-contrib/object-src-applet-archive.sub.html.sub.headers": [ + "0e9b0159e148542c330eeb1c9501911e2e0473c0", + "support" + ], + "content-security-policy/blink-contrib/object-src-applet-code-codebase.sub.html": [ + "5b0ef3d19498af074fbd2ca00b6af16774b1b4cc", + "testharness" + ], + "content-security-policy/blink-contrib/object-src-applet-code-codebase.sub.html.sub.headers": [ + "eac4a0d1aecb5475bb88b223deec64209f98b25c", + "support" + ], + "content-security-policy/blink-contrib/object-src-applet-code.sub.html": [ + "5827478d16c8bf8f473daae756eaeabaafdee879", + "testharness" + ], + "content-security-policy/blink-contrib/object-src-applet-code.sub.html.sub.headers": [ + "8d1f3d53e9702d62946969231a45c79f26e6e287", + "support" + ], + "content-security-policy/blink-contrib/object-src-no-url-allowed.sub.html": [ + "e4cd8d8e7a3150626eea1d6ca7beed13feb6a76c", + "testharness" + ], + "content-security-policy/blink-contrib/object-src-no-url-allowed.sub.html.sub.headers": [ + "45d7467bb741dc0c79dce502b805a5bbd1e9be87", + "support" + ], + "content-security-policy/blink-contrib/object-src-no-url-blocked.sub.html": [ + "d65c0b5836b2de7a08fb0449bb14ddba96cde393", + "testharness" + ], + "content-security-policy/blink-contrib/object-src-no-url-blocked.sub.html.sub.headers": [ + "e44638c408b443834917aff02b682e60173c8e86", + "support" + ], + "content-security-policy/blink-contrib/object-src-url-allowed.sub.html": [ + "3c438e241bf7aaf9bf9b5a0822b86aa53ade410e", + "testharness" + ], + "content-security-policy/blink-contrib/object-src-url-allowed.sub.html.sub.headers": [ + "6446f7e9da139fc9767b98f8c386df2d258b904d", + "support" + ], + "content-security-policy/blink-contrib/object-src-url-blocked.sub.html": [ + "46091ded84a3ac6f351748082ede8a794f8eda6a", + "testharness" + ], + "content-security-policy/blink-contrib/object-src-url-blocked.sub.html.sub.headers": [ + "7b7b534814bc7e37b9ff9fd9690b279abb311e83", + "support" + ], + "content-security-policy/blink-contrib/policy-does-not-affect-child.sub.html": [ + "f4d819fa1c0ec1e24b0e74a3950c263c76468cfe", + "support" + ], + "content-security-policy/blink-contrib/policy-does-not-affect-child.sub.html.sub.headers": [ + "cb53654fa55c4a9446505ffb1a0a8da7888c6f79", + "support" + ], + "content-security-policy/blink-contrib/report-blocked-data-uri.sub.html": [ + "c56334c6f75ed43062a9cc08fab6526dcdcff80e", + "testharness" + ], + "content-security-policy/blink-contrib/report-blocked-data-uri.sub.html.sub.headers": [ + "120a5c71801a9fa9f7d18a34f03c0bfd6026f845", + "support" + ], + "content-security-policy/blink-contrib/report-cross-origin-no-cookies.sub.html": [ + "90fe967c355bb45e66d4820c36412baf7826ffd0", + "testharness" + ], + "content-security-policy/blink-contrib/report-cross-origin-no-cookies.sub.html.sub.headers": [ + "1323d5389e2fe4b68f885dba863e1a21983bbd30", + "support" + ], + "content-security-policy/blink-contrib/report-disallowed-from-meta.sub.html": [ + "ba1cf4795b8b4f315e8b4332fbba794f7cc3ffcb", + "testharness" + ], + "content-security-policy/blink-contrib/report-disallowed-from-meta.sub.html.sub.headers": [ + "a89139c890834d9337f31b93589bed9f34cf2841", + "support" + ], + "content-security-policy/blink-contrib/report-same-origin-with-cookies.sub.html": [ + "9f99f0cf234fdab3b75e6ebf5a8930cd4ad85390", + "testharness" + ], + "content-security-policy/blink-contrib/report-same-origin-with-cookies.sub.html.sub.headers": [ + "48214d030a6de451286fdd8a5aa5e3d48dbca195", + "support" + ], + "content-security-policy/blink-contrib/report-uri-from-inline-javascript.sub.html": [ + "ef8bc915a7f34430a061b35eb3bbcb8bc0613f4d", + "testharness" + ], + "content-security-policy/blink-contrib/report-uri-from-inline-javascript.sub.html.sub.headers": [ + "84ceb850c577a075e012a69d339d18768c82ab10", + "support" + ], + "content-security-policy/blink-contrib/report-uri-from-javascript.sub.html": [ + "521054fb46361026aea231ace408c2e0581b54f2", + "testharness" + ], + "content-security-policy/blink-contrib/report-uri-from-javascript.sub.html.sub.headers": [ + "9f7ff73e85e8ad4f5df51ad435444e325302811b", + "support" + ], + "content-security-policy/blink-contrib/report-uri.sub.html": [ + "8ac162de430a5e9881fe83722964de23dcb919f0", + "support" + ], + "content-security-policy/blink-contrib/report-uri.sub.html.sub.headers": [ + "3c601c116f232fe4000799170eae9363fde52bfe", + "support" + ], + "content-security-policy/blink-contrib/resources/alert-fail.html": [ + "87ae3acd155281670e78fbc5d88da940ed124f27", + "support" + ], + "content-security-policy/blink-contrib/resources/alert-pass.html": [ + "98fdc9b90f0e756906f9eede8af29c9ab76f0a65", + "support" + ], + "content-security-policy/blink-contrib/resources/blue.css": [ + "6916730820e3a58647256b75fccc4671dfc138e2", + "support" + ], + "content-security-policy/blink-contrib/resources/document-write-alert-fail.js": [ + "55f9e74adccef83969d5da859a05bf670f711671", + "support" + ], + "content-security-policy/blink-contrib/resources/generate-csp-report.html": [ + "f2a3666c68f716d83706259749cfbf6358d32588", + "support" + ], + "content-security-policy/blink-contrib/resources/go-to-echo-report.js": [ + "621ddec05f232bac83af53c5bc58035dfa6679ee", + "support" + ], + "content-security-policy/blink-contrib/resources/inject-image.js": [ + "68c6e9555db81c4c5d3fdbae74d6514f651767f7", + "support" + ], + "content-security-policy/blink-contrib/resources/inject-script.js": [ + "fa8c28d7bb4c1235e4485d84cb43181d2183106f", + "support" + ], + "content-security-policy/blink-contrib/resources/inject-style.js": [ + "a48eb434aa6fe0d0a4f664c55e68be03ccd902ed", + "support" + ], + "content-security-policy/blink-contrib/resources/post-message.js": [ + "c957a15a1c7a0c5dffc9e7a13d54da243ca9a93a", + "support" + ], + "content-security-policy/blink-contrib/resources/postmessage-fail.html": [ + "5ccfe2ec548aa6e16649c319c8252e608777fe64", + "support" + ], + "content-security-policy/blink-contrib/resources/postmessage-pass.html": [ + "ddfde964afded9ff5189c8c7554bcb2b1b1e5938", + "support" + ], + "content-security-policy/blink-contrib/resources/script.js": [ + "2db5164b374d72339c578dc82877625b6cab2b62", + "support" + ], + "content-security-policy/blink-contrib/resources/set-cookie.js.sub.headers": [ + "ba2f275ccec784515b1b0ac714e7375f9ab4943e", + "support" + ], + "content-security-policy/blink-contrib/resources/shared-worker-make-xhr-allowed.sub.js": [ + "79d7203262e2104394968cbffe92a5510da6d767", + "support" + ], + "content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.sub.js": [ + "79d7203262e2104394968cbffe92a5510da6d767", + "support" + ], + "content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.sub.js.sub.headers": [ + "1b73e7e4a8073542b9ac533bca6c67f6166b4c81", + "support" + ], + "content-security-policy/blink-contrib/resources/simple-event-stream": [ + "f31c8d23fe46adf8964955f6259e5af8a11b5577", + "support" + ], + "content-security-policy/blink-contrib/resources/simple-event-stream.headers": [ + "f7e15b2e1050398ae0a9f734dc84998c4abb459c", + "support" + ], + "content-security-policy/blink-contrib/resources/track.vtt": [ + "bae9efb1eaafa747c0c14735fd4352971562bf50", + "support" + ], + "content-security-policy/blink-contrib/resources/worker-eval.js": [ + "0d60a32731386d26cdbf776812cc5c6f06cf0859", + "support" + ], + "content-security-policy/blink-contrib/resources/worker-eval.js.sub.headers": [ + "6f31a9b9280caefeaafa70ed7c083d66a498fc6b", + "support" + ], + "content-security-policy/blink-contrib/resources/worker-function-function.js": [ + "4f588f68da51c11b8d1cdc7895a1b3abf4a392a3", + "support" + ], + "content-security-policy/blink-contrib/resources/worker-function-function.js.sub.headers": [ + "6f31a9b9280caefeaafa70ed7c083d66a498fc6b", + "support" + ], + "content-security-policy/blink-contrib/resources/worker-importscripts.js": [ + "21f2dac7b379a8e011027853666b623e7651fcc3", + "support" + ], + "content-security-policy/blink-contrib/resources/worker-importscripts.js.sub.headers": [ + "b5f8abd58a13f7ac8f99871fa004d6f1d6ffb014", + "support" + ], + "content-security-policy/blink-contrib/resources/worker-make-xhr-blocked.sub.js": [ + "0a292c7941bfc0c141fe810672a798ec598862f3", + "support" + ], + "content-security-policy/blink-contrib/resources/worker-make-xhr-blocked.sub.js.sub.headers": [ + "1b73e7e4a8073542b9ac533bca6c67f6166b4c81", + "support" + ], + "content-security-policy/blink-contrib/resources/worker-make-xhr.sub.js": [ + "2001aa4e28ea6a6eb704daa455dd36ebcfc650c9", + "support" + ], + "content-security-policy/blink-contrib/resources/worker-set-timeout.js": [ + "3f24231bf14cedcc1eb93433e1be60ec74dcb1db", + "support" + ], + "content-security-policy/blink-contrib/resources/worker-set-timeout.js.sub.headers": [ + "b5f8abd58a13f7ac8f99871fa004d6f1d6ffb014", + "support" + ], + "content-security-policy/blink-contrib/sandbox-allow-scripts-subframe.sub.html": [ + "394545e94d4992b3f3dc2ff07809bf7364156d71", + "support" + ], + "content-security-policy/blink-contrib/sandbox-allow-scripts-subframe.sub.html.sub.headers": [ + "107129f8144494de98466a80bc5698bf98b5d154", + "support" + ], + "content-security-policy/blink-contrib/sandbox-allow-scripts.sub.html": [ + "4f0171eeb50c89da6bef7f89e053dfe66653701d", + "support" + ], + "content-security-policy/blink-contrib/sandbox-allow-scripts.sub.html.sub.headers": [ + "24b9465e76a321fae0635bc291a42883560c9bb6", + "support" + ], + "content-security-policy/blink-contrib/sandbox-empty-subframe.sub.html": [ + "673d1963d26261c445bd3f0200f11c43a0d74f4b", + "support" + ], + "content-security-policy/blink-contrib/sandbox-empty-subframe.sub.html.sub.headers": [ + "81542dbc5b3fd7a12431190b2dedd932c8e54384", + "support" + ], + "content-security-policy/blink-contrib/sandbox-empty.sub.html": [ + "405cf86633edc604ff984a136d3567830d76989c", + "support" + ], + "content-security-policy/blink-contrib/sandbox-empty.sub.html.sub.headers": [ + "72e6b6eb50e8b4ba606763405cf00c368a6c147e", + "support" + ], + "content-security-policy/blink-contrib/script-src-overrides-default-src.sub.html": [ + "5173b77a43904cceb3c8ad34bba62888d1516374", + "testharness" + ], + "content-security-policy/blink-contrib/script-src-overrides-default-src.sub.html.sub.headers": [ + "c13f16bca1e71c1fb147c4d6b5d4c97caa76faa9", + "support" + ], + "content-security-policy/blink-contrib/self-doesnt-match-blob.sub.html": [ + "7d8319e40063faa95dbc245b65d01dc33f4ecf71", + "testharness" + ], + "content-security-policy/blink-contrib/self-doesnt-match-blob.sub.html.sub.headers": [ + "6c0fbbd5f1b86e314dd098e9102dfe5debf3b064", + "support" + ], + "content-security-policy/blink-contrib/shared-worker-connect-src-allowed.sub.html": [ + "6b454ec2abc4f1941f33e22ae74000c17231c892", + "testharness" + ], + "content-security-policy/blink-contrib/shared-worker-connect-src-allowed.sub.html.sub.headers": [ + "aac2e7867bf0dd19672d9503f9a279a150f76abe", + "support" + ], + "content-security-policy/blink-contrib/shared-worker-connect-src-blocked.sub.html": [ + "792aaad8429e87cdc97093ba536219ece2c4fa89", + "testharness" + ], + "content-security-policy/blink-contrib/shared-worker-connect-src-blocked.sub.html.sub.headers": [ + "feb17fd60d3ecb3a232acc1d9e4f5cdc0c01b0eb", + "support" + ], + "content-security-policy/blink-contrib/source-list-parsing-paths-03.sub.html": [ + "6ba13cd8288b763b26e5c0244702412d2b3b3b42", + "testharness" + ], + "content-security-policy/blink-contrib/source-list-parsing-paths-03.sub.html.sub.headers": [ + "3cbc8712cb9228623a56ce1095c5b3d9192cddae", + "support" + ], + "content-security-policy/blink-contrib/srcdoc-doesnt-bypass-script-src.sub.html": [ + "40b47ca8cc6759e2401111f14b5b81bfbc9adf9c", + "testharness" + ], + "content-security-policy/blink-contrib/srcdoc-doesnt-bypass-script-src.sub.html.sub.headers": [ + "f273d79bdb6ddae989c536f2115750efc8e3f484", + "support" + ], + "content-security-policy/blink-contrib/star-doesnt-match-blob.sub.html": [ + "614f81d1215fd5d12337f896567268c4e2d0306d", + "testharness" + ], + "content-security-policy/blink-contrib/star-doesnt-match-blob.sub.html.sub.headers": [ + "68ea128df437177266b2e859a6d1f176b4081de4", + "support" + ], + "content-security-policy/blink-contrib/style-allowed.sub.html": [ + "0d28036b42f823784f2ce0e0f95a704e0cdbf598", + "testharness" + ], + "content-security-policy/blink-contrib/style-allowed.sub.html.sub.headers": [ + "b6d44e4afb53e1bb48ab2dcdf7a1520d8112e20e", + "support" + ], + "content-security-policy/blink-contrib/style-blocked.sub.html": [ + "73269f72ad540a8941b2a4551845fdd0ba46ee16", + "testharness" + ], + "content-security-policy/blink-contrib/style-blocked.sub.html.sub.headers": [ + "930b756fe90960a4572f591d5e5428c7b756427a", + "support" + ], + "content-security-policy/blink-contrib/worker-connect-src-allowed.sub.html": [ + "2217802bb2adea7dcd2f59b781788c59fd930d91", + "testharness" + ], + "content-security-policy/blink-contrib/worker-connect-src-allowed.sub.html.sub.headers": [ + "d3b258f56374b6963c0c94ab16075dd35042edb3", + "support" + ], + "content-security-policy/blink-contrib/worker-connect-src-blocked.sub.html": [ + "ecf5486a42d7148555fb5169c1a52165d77012ec", + "testharness" + ], + "content-security-policy/blink-contrib/worker-connect-src-blocked.sub.html.sub.headers": [ + "7be08395b88c35b0e588084e1aeaf7333058032d", + "support" + ], + "content-security-policy/blink-contrib/worker-eval-blocked.sub.html": [ + "37ca971b9336a06a2ad31022c779052f1f2b7b9f", + "testharness" + ], + "content-security-policy/blink-contrib/worker-eval-blocked.sub.html.sub.headers": [ + "c694c46c3ee08cc89de943334336dd3f5f0c3232", + "support" + ], + "content-security-policy/blink-contrib/worker-from-guid.sub.html": [ + "1eebc2d6793a0b27b5621b478ed715ebae2fe4b1", + "testharness" + ], + "content-security-policy/blink-contrib/worker-from-guid.sub.html.sub.headers": [ + "60296b2284ce99f6fbf57719832d3bd153303f7c", + "support" + ], + "content-security-policy/blink-contrib/worker-function-function-blocked.sub.html": [ + "7609e9635b6df0eb15c355806b35a028918eaa44", + "testharness" + ], + "content-security-policy/blink-contrib/worker-function-function-blocked.sub.html.sub.headers": [ + "17281a64ceef272ac327a933c07a1d2a3fcec0fa", + "support" + ], + "content-security-policy/blink-contrib/worker-importscripts-blocked.sub.html": [ + "ddf2a7f8695d439a9bf4d15d08fe48e7655644f2", + "testharness" + ], + "content-security-policy/blink-contrib/worker-importscripts-blocked.sub.html.sub.headers": [ + "daa1f9f28a3878acd695561ab418d5b6b22ffde0", + "support" + ], + "content-security-policy/blink-contrib/worker-script-src.sub.html": [ + "2bfd9cb4ae8c62e1e5a8691b35e9246e711f4929", + "testharness" + ], + "content-security-policy/blink-contrib/worker-script-src.sub.html.sub.headers": [ + "9f62e8f34652d4bf80ac03a527a2bc45b51cc89d", + "support" + ], + "content-security-policy/blink-contrib/worker-set-timeout-blocked.sub.html": [ + "62b2d0c3df164eaa561723e48b66aa3806d383df", + "testharness" + ], + "content-security-policy/blink-contrib/worker-set-timeout-blocked.sub.html.sub.headers": [ + "2aad5ef9a86041edf96af7630eab69b24ae69332", + "support" + ], + "content-security-policy/blink-contrib/xsl-blocked-expected.png": [ + "382f72b9bfaf76ca76bedb643f917700e33e582a", + "support" + ], + "content-security-policy/blink-contrib/xsl-unaffected-by-style-src-1-expected.png": [ + "382f72b9bfaf76ca76bedb643f917700e33e582a", + "support" + ], + "content-security-policy/child-src/child-src-about-blank-allowed-by-default.sub.html": [ + "5cac17e73bbf919ababbd3823d56762a96a231d5", + "testharness" + ], + "content-security-policy/child-src/child-src-about-blank-allowed-by-default.sub.html.sub.headers": [ + "a042bfb6a20b4dee27d81fe8eda457536a4b09bc", + "support" + ], + "content-security-policy/child-src/child-src-about-blank-allowed-by-scheme.sub.html": [ + "34d092dcdd9d2c2287b1b15b16e6df3d70bcf666", + "testharness" + ], + "content-security-policy/child-src/child-src-about-blank-allowed-by-scheme.sub.html.sub.headers": [ + "66526f2ff5107dee1f999feb96d0ed0b1eea0b20", + "support" + ], + "content-security-policy/child-src/child-src-allowed.sub.html": [ + "d67e0efa99e43d7be6da5b22c64c0b151001f0b7", + "testharness" + ], + "content-security-policy/child-src/child-src-allowed.sub.html.sub.headers": [ + "2fd7d14ff9446ef3208893c0e49c273afcfd8abf", + "support" + ], + "content-security-policy/child-src/child-src-blocked.sub.html": [ + "b70869e8f1ef02ca477849a776e5cada34a07288", + "testharness" + ], + "content-security-policy/child-src/child-src-blocked.sub.html.sub.headers": [ + "da6c31fe646685e11c57558db29d9ba8ee1b697b", + "support" + ], + "content-security-policy/child-src/child-src-conflicting-frame-src.sub.html": [ + "a080e3439a0852dbc594ef6d7a7d88e43ad7b09d", + "testharness" + ], + "content-security-policy/child-src/child-src-conflicting-frame-src.sub.html.sub.headers": [ + "5ac25b74237593f6fc32c87f9a715e1cd99b5f9b", + "support" + ], + "content-security-policy/child-src/child-src-cross-origin-load.sub.html": [ + "af56668d75e5ad0b0d51aa24cd66bcadeadd4cb6", + "testharness" + ], + "content-security-policy/child-src/child-src-cross-origin-load.sub.html.sub.headers": [ + "a7b058f47360dee56f92e6caa3cc5eab1dc3706f", + "support" + ], + "content-security-policy/child-src/child-src-worker-allowed.sub.html": [ + "578f3824687a9fbb2aa7f14bf2a9e8230398bace", + "testharness" + ], + "content-security-policy/child-src/child-src-worker-allowed.sub.html.sub.headers": [ + "08ace362a5648dd3375a47fd5081663a2658ba4d", + "support" + ], + "content-security-policy/child-src/child-src-worker-blocked.sub.html": [ + "67cea32ca1b0cf32b20b53044b41bbdaad543721", + "testharness" + ], + "content-security-policy/child-src/child-src-worker-blocked.sub.html.sub.headers": [ + "8d64a8dd0cd9a115342f0ab27ccc4c5eeefd5200", + "support" + ], + "content-security-policy/embedded-enforcement/allow_csp_from-header.html": [ + "70aeb617f5d580917b385346ba629e035f062c32", + "testharness" + ], + "content-security-policy/embedded-enforcement/embedding_csp-header.html": [ + "f3df200f0162d3e9a1cc2d944b3a821126105d59", + "testharness" + ], + "content-security-policy/embedded-enforcement/iframe-csp-attribute.html": [ + "d5a253732352f46d33c1a58d1a3183a88daa3a75", + "testharness" + ], + "content-security-policy/embedded-enforcement/subsumption_algorithm-general.html": [ + "341815aa171886f3c7c34ddf5d7f0012d163c0da", + "testharness" + ], + "content-security-policy/embedded-enforcement/subsumption_algorithm-hashes.html": [ + "07592603584146d96493f154d8558e67eea922fd", + "testharness" + ], + "content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-hosts.html": [ + "3c8611a693b115f7bccedeb3a3d8aa96735a436e", + "testharness" + ], + "content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-paths.html": [ + "540e2d9044c7a031e109fdae327a17df73735287", + "testharness" + ], + "content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-ports.html": [ + "7ff9e1b154d8bdf1fce35169fc22a33255d60c15", + "testharness" + ], + "content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-protocols.html": [ + "1381a56b34e81c8c91ba4346a4ef439a4fdaa3ae", + "testharness" + ], + "content-security-policy/embedded-enforcement/subsumption_algorithm-none.html": [ + "ac13f4c20df8be2d89ac9ca0adff01bf80be2946", + "testharness" + ], + "content-security-policy/embedded-enforcement/subsumption_algorithm-self.html": [ + "72e6240ff6accdedb38ac219abb3f912b5203b8b", + "testharness" + ], + "content-security-policy/embedded-enforcement/subsumption_algorithm-strict_dynamic.html": [ + "ef91e22af69a0254baca41a32d3572feddbba24c", + "testharness" + ], + "content-security-policy/embedded-enforcement/subsumption_algorithm-unsafe_eval.html": [ + "8d1a3cb1754e08585851553defc828f424e3f402", + "testharness" + ], + "content-security-policy/embedded-enforcement/subsumption_algorithm-unsafe_hashed_attributes.html": [ + "f6888b5ea15ed20082ff9b2d323af0a495b9fe56", + "testharness" + ], + "content-security-policy/embedded-enforcement/subsumption_algorithm-unsafe_inline.html": [ + "9153d8d9e8eddfce95821d1817d7cc3b590821c9", + "testharness" + ], + "content-security-policy/embedded-enforcement/support/echo-allow-csp-from.py": [ + "269f68ae2a4cb96450fb6eceb7006452287d7970", + "support" + ], + "content-security-policy/embedded-enforcement/support/echo-embedding-csp.py": [ + "c54b41c6d03175fac28515ef1874b78b37b291fc", + "support" + ], + "content-security-policy/embedded-enforcement/support/echo-policy-multiple.py": [ + "363e06143474e3a3941fe4b96631146902351aff", + "support" + ], + "content-security-policy/embedded-enforcement/support/testharness-helper.sub.js": [ + "8878f3e801392004397f166db2466cd1db18cbf6", + "support" + ], + "content-security-policy/font-src/font-blacklisted-ref.html": [ + "79351c5cb5b00367e94e61bd38563c3c0d7e3d07", + "support" + ], + "content-security-policy/font-src/font-blacklisted.html": [ + "f9755732456c653ce2f4b7b97ae2c1bb10010c66", + "reftest" + ], + "content-security-policy/font-src/font-whitelisted-ref.html": [ + "dc7ef566a9a74ad9c4cbe16ac7ff2e6f13522a9c", + "support" + ], + "content-security-policy/font-src/font-whitelisted.html": [ + "d73ca81b67be36f18900172ef2b228d2f8f35d5e", + "reftest" + ], + "content-security-policy/font-src/fonts.css": [ + "9eb9a120de9b54eca9801abe36a4193f2f9a06da", + "support" + ], + "content-security-policy/frame-ancestors/deep-allows-none.sub.html": [ + "d23db3fa139be3bc1c5b82676f3a8f425c40f9ed", + "testharness" + ], + "content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-self.sub.html": [ + "d9c576acb4ccae793afd83bd0b3d4cbe0040a2c4", + "support" + ], + "content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-self.sub.html.headers": [ + "33033f27634749dc56a2b6f3b08a7a127b422013", + "support" + ], + "content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-star.sub.html": [ + "1d5a4c537f8189b75a1caacdbbac5ba912f257d2", + "support" + ], + "content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-star.sub.html.headers": [ + "02b7f7088d6a2bcd97108c12586bd8ec28cc256b", + "support" + ], + "content-security-policy/frame-ancestors/multiple-frames-meta-ignored.sub.html": [ + "0c5c46e42deb18e0fd296137f64392da6afab2eb", + "testharness" + ], + "content-security-policy/frame-ancestors/multiple-frames-one-blocked.sub.html": [ + "fb6f8e23e5b32547c861e5e735ce68be306589fc", + "testharness" + ], + "content-security-policy/frame-ancestors/multiple-frames-self-allowed.sub.html": [ + "27b683b95dcb4f08c79c135c3558c7c26f0f600e", + "testharness" + ], + "content-security-policy/frame-ancestors/nested-traversing-allowed.sub.html": [ + "29f8bdb4197d807aabe50a98b2701b3785a336b5", + "testharness" + ], + "content-security-policy/frame-ancestors/nested-traversing-banned-top-is-self.sub.html": [ + "ea3b49d5e380f1a99dd632e339b4eae8e2426095", + "testharness" + ], + "content-security-policy/frame-ancestors/nested-traversing-banned.sub.html": [ + "d7ccb938da839e1d2190cabc1682f1f2fb1ed412", + "testharness" + ], + "content-security-policy/frame-ancestors/reporting-frame-allows-none-meta.html": [ + "4b8a46a45417a77b64d4b6f6d74033da0b170236", + "support" + ], + "content-security-policy/frame-ancestors/reporting-frame-allows-none.html": [ + "0b918917b5d811cf5099ac12348e47536b3e68df", + "support" + ], + "content-security-policy/frame-ancestors/reporting-frame-allows-none.html.headers": [ + "5cfa9dcd8b15e16c44de2de76890b1ff08d85eb4", + "support" + ], + "content-security-policy/frame-ancestors/reporting-frame-allows-self.html": [ + "e88d74699b1a7b82369803ba2f27e6dee827258d", + "support" + ], + "content-security-policy/frame-ancestors/reporting-frame-allows-self.html.headers": [ + "33033f27634749dc56a2b6f3b08a7a127b422013", + "support" + ], + "content-security-policy/frame-ancestors/single-frame-self-allowed.sub.html": [ + "b1f0ad6923b1078392704c198463fd259a82e974", + "testharness" + ], + "content-security-policy/generic/fail-0_1.js": [ + "357bbab837dcc2794a46fb07e31ea49b16b447cf", + "support" + ], + "content-security-policy/generic/generic-0_1-img-src.html": [ + "0af19ad686c41332aa090ba3cfe240ecd9f990ff", + "testharness" + ], + "content-security-policy/generic/generic-0_1-img-src.html.sub.headers": [ + "ab1abd1bbb19ba7993d1d14e361171253224b7cb", + "support" + ], + "content-security-policy/generic/generic-0_1-script-src.html": [ + "cb2a8523a7519c3b0458f726aa97bca08ac92c3c", + "testharness" + ], + "content-security-policy/generic/generic-0_1-script-src.html.sub.headers": [ + "0596cdfbe4fda423101bb8bea3a7d732903b74cb", + "support" + ], + "content-security-policy/generic/generic-0_10.html": [ + "31f03b4b65e85d07610dd376415eeca43f7f91a2", + "testharness" + ], + "content-security-policy/generic/generic-0_10.html.sub.headers": [ + "16ab2c0e27dcca98ec2546d0e7196961bcbf30e3", + "support" + ], + "content-security-policy/generic/generic-0_10_1.sub.html": [ + "631cbab994285429f906832b4a192243bdc19009", + "testharness" + ], + "content-security-policy/generic/generic-0_10_1.sub.html.sub.headers": [ + "a3af477cdf51f8f6848edc913aa7601cf2c6a6b5", + "support" + ], + "content-security-policy/generic/generic-0_2.html": [ + "bdad4dc8303926e800159b6548c983a8b6261a74", + "testharness" + ], + "content-security-policy/generic/generic-0_2.html.sub.headers": [ + "6e8122bdd2f39fade65c209582bbd7ece84bd627", + "support" + ], + "content-security-policy/generic/generic-0_2_2.sub.html": [ + "3ddc5a08c817fdc0d31826e170d08eb0b2261f20", + "testharness" + ], + "content-security-policy/generic/generic-0_2_2.sub.html.sub.headers": [ + "a6707834e433b30a0a31eb5300b6621cd6982583", + "support" + ], + "content-security-policy/generic/generic-0_2_3.html": [ + "ad2f16b5c0ac137f2d0c847de0e27ca87e7faaf5", + "testharness" + ], + "content-security-policy/generic/generic-0_2_3.html.sub.headers": [ + "1e3dde6acf0b11c9f2c0f1b56497ea84a879d978", + "support" + ], + "content-security-policy/generic/generic-0_8.html": [ + "e536ca439e419494b32fd5d8c3041b3edc4dd6fb", + "testharness" + ], + "content-security-policy/generic/generic-0_8.html.sub.headers": [ + "a589ee90bb6c25f843d155477d281d3fabd9cb73", + "support" + ], + "content-security-policy/generic/generic-0_8_1.sub.html": [ + "c8fcd374917a8acd3ae198ddda1b59e150048739", + "testharness" + ], + "content-security-policy/generic/generic-0_8_1.sub.html.sub.headers": [ + "e9ebd794d83d50b03f63c1cc97b5cb739490bab4", + "support" + ], + "content-security-policy/generic/generic-0_9.sub.html": [ + "b8ccc5ebb8b8f106bd284bb733dc8c808cc72dff", + "testharness" + ], + "content-security-policy/generic/generic-0_9.sub.html.sub.headers": [ + "0f07964b8a88d54ac34b8f935c21026b43e89280", + "support" + ], + "content-security-policy/generic/negativeTests.js": [ + "1d2009b245fa9483ad9058e0a587d5873e3578f3", + "support" + ], + "content-security-policy/generic/no-default-src.sub.html": [ + "475aaf6aac52b40ff6a48ef4bf6e283f24f21845", + "testharness" + ], + "content-security-policy/generic/no-default-src.sub.html.sub.headers": [ + "4fca81959c15397a608775fad590753e6894f351", + "support" + ], + "content-security-policy/generic/pass-0_1.js": [ + "949851a16fd799f6610bb3e657fa7ab5b7949a90", + "support" + ], + "content-security-policy/generic/positiveTest.js": [ + "92b715fcc3269e189318734739a5e4fb620d9dff", + "support" + ], + "content-security-policy/generic/unreached.js": [ + "a008295dfc5bd220f3c5a006b564c8e6c944402c", + "support" + ], + "content-security-policy/generic/wildcardHostTest.js": [ + "8789be1ac2f7109554efa0221384d8d073abe1ac", + "support" + ], + "content-security-policy/generic/wildcardHostTestFailure.js": [ + "6f3f7e39a95f5f17d4a9e5a13df5b83b595c875f", + "support" + ], + "content-security-policy/generic/wildcardHostTestSuceeds.js": [ + "785996afcf4bc8246023687d68bdf4c756a3191f", + "support" + ], + "content-security-policy/generic/wildcardPortTest.js": [ + "405afd441d48e1f381a7e262de648090e66e882f", + "support" + ], + "content-security-policy/generic/wildcardPortTestSuceeds.js": [ + "4a94d606c13066d1efaee4927d2f6c66492d0965", + "support" + ], + "content-security-policy/img-src/img-src-4_1.html": [ + "af12ba7c5d335f8a34d20df3b60c319da95a11dd", + "testharness" + ], + "content-security-policy/img-src/img-src-4_1.html.sub.headers": [ + "7a1f34dd845f9af02af9e3f8d71f6ae878ef1abb", + "support" + ], + "content-security-policy/media-src/media-src-7_1.html": [ + "0a388dbc492fc428fd4b96103d131447ab02317d", + "testharness" + ], + "content-security-policy/media-src/media-src-7_1.html.sub.headers": [ + "4a918e8bcec9726cd388ae1d518d6e1a4d700823", + "support" + ], + "content-security-policy/media-src/media-src-7_1_2.html": [ + "1be089670a1a84dd159c631027af9a4c13de5926", + "testharness" + ], + "content-security-policy/media-src/media-src-7_1_2.html.sub.headers": [ + "71308d3aaf2908bb3d40469a64ace31e8eb41c44", + "support" + ], + "content-security-policy/media-src/media-src-7_2.html": [ + "2410be8a6b26f88b49b106315e57d56014c85a60", + "testharness" + ], + "content-security-policy/media-src/media-src-7_2.html.sub.headers": [ + "2b3e01914edac2809467daddfe5044030244020c", + "support" + ], + "content-security-policy/media-src/media-src-7_2_2.html": [ + "ec3faf9bb80bd585a67bda4d5f973b811280a2da", + "testharness" + ], + "content-security-policy/media-src/media-src-7_2_2.html.sub.headers": [ + "a561247903c77984842c4e4c02459d713c0de5dd", + "support" + ], + "content-security-policy/media-src/media-src-7_3.html": [ + "636796c1617d85f0a8aa983e298b8b829af120e4", + "testharness" + ], + "content-security-policy/media-src/media-src-7_3.html.sub.headers": [ + "f033eca95a01048474648c7213649bdff8f4bc82", + "support" + ], + "content-security-policy/media-src/media-src-7_3_2.html": [ + "b01d6e49316bc0e25104ca23d8cf897cf11b5078", + "testharness" + ], + "content-security-policy/media-src/media-src-7_3_2.html.sub.headers": [ + "c7623ee2c025f15eede625064f062d927543803a", + "support" + ], + "content-security-policy/media-src/media-src-redir-bug.sub.html": [ + "1d627e6e9d7261f170b528ed63b7eedfc615225a", + "testharness" + ], + "content-security-policy/media-src/media-src-redir-bug.sub.html.sub.headers": [ + "f9d37b963ea4c3e386f541242a851f868547edb0", + "support" + ], + "content-security-policy/meta/meta-img-src.html": [ + "6cce46e53c3a3934f7f09a086026d550ec3b31d3", + "testharness" + ], + "content-security-policy/meta/meta-modified.html": [ + "2553698b40d91f95f33bb14e7bd906d665b0381a", + "testharness" + ], + "content-security-policy/navigation/to-javascript-url.html": [ + "26e0c14927bab1b2fd6ce44b59472f336a700aa4", + "testharness" + ], + "content-security-policy/object-src/object-src-2_1.html": [ + "e3fd776705884126e14236678ac5e628102d3ba8", + "testharness" + ], + "content-security-policy/object-src/object-src-2_1.html.sub.headers": [ + "5895a6dbe898bc175d17c091177a007e83e11d1f", + "support" + ], + "content-security-policy/object-src/object-src-2_2.html": [ + "f2f57e0b10a169ec5d5451abe1e50a94093d6100", + "testharness" + ], + "content-security-policy/object-src/object-src-2_2.html.sub.headers": [ + "1444276d7a28bcb29f4dc5a0c3d2277bf875cf7e", + "support" + ], + "content-security-policy/reporting/securitypolicyviolation-idl.html": [ + "ff5ed000c0c33f0e0495493e41ed4330844ec780", + "testharness" + ], + "content-security-policy/script-src/10_1_support_1.js": [ + "bd10b9f495c679323ceeba54bf04a48c8a2fd4b4", + "support" + ], + "content-security-policy/script-src/10_1_support_2.js": [ + "d7cde9fb4644245699893333e230d1c5fd79ca71", + "support" + ], + "content-security-policy/script-src/addInlineTestsWithDOMManipulation.js": [ + "ec7ba8726955690cee6a7f75b002a3d0d39db7d0", + "support" + ], + "content-security-policy/script-src/buildInlineWorker.js": [ + "91c932641750d0b053ca8ff8bc5d102025c3fdc9", + "support" + ], + "content-security-policy/script-src/inlineSuccessTest.js": [ + "a591a02337841f6e8e822174a390a723ee6a3656", + "support" + ], + "content-security-policy/script-src/inlineTests.js": [ + "9256478a189aeabb765763a48fda9a6fd2ab077e", + "support" + ], + "content-security-policy/script-src/script-src-1_1.html": [ + "c547fd94e350bfd49541734515a4068de44f525d", + "testharness" + ], + "content-security-policy/script-src/script-src-1_1.html.sub.headers": [ + "58cb9b7acbda0e8017a83c1598f0ea1ea5f8cf4f", + "support" + ], + "content-security-policy/script-src/script-src-1_10.html": [ + "5a55427c869b1c5a0bee3ecf4619846f072d1e53", + "testharness" + ], + "content-security-policy/script-src/script-src-1_10.html.sub.headers": [ + "c6da3920eb563d64585901f1e94aaa11a76e5270", + "support" + ], + "content-security-policy/script-src/script-src-1_10_1.html": [ + "a97e3cbdce7084b97eee28be5e3d3d42b5803966", + "testharness" + ], + "content-security-policy/script-src/script-src-1_10_1.html.sub.headers": [ + "ad7550efbc8ebb318bb2e32d96ea575c78596ffd", + "support" + ], + "content-security-policy/script-src/script-src-1_2.html": [ + "b3356097531989881006c444d0412cd8d488ca6e", + "testharness" + ], + "content-security-policy/script-src/script-src-1_2.html.sub.headers": [ + "b90d160699a5c3144933a0f4a5f79236aefb9ae0", + "support" + ], + "content-security-policy/script-src/script-src-1_2_1.html": [ + "907c529ec0b1186e72dd6ac095e46c001413639e", + "testharness" + ], + "content-security-policy/script-src/script-src-1_2_1.html.sub.headers": [ + "5e47b083224fa789bf14f90e4be4d72807d448e4", + "support" + ], + "content-security-policy/script-src/script-src-1_3.html": [ + "027ae9ff64cf5d1599541d0a2a5804096f71aad0", + "testharness" + ], + "content-security-policy/script-src/script-src-1_3.html.sub.headers": [ + "6e86dbda4c9fa33a27df5f25bca3e56a367eb5c6", + "support" + ], + "content-security-policy/script-src/script-src-1_4.html": [ + "62ba9216e12868cf0a6b4f791bf5305daa21dac6", + "testharness" + ], + "content-security-policy/script-src/script-src-1_4.html.sub.headers": [ + "8d484ffc9bb161edd31b0fb349a67eb0c5a30e7c", + "support" + ], + "content-security-policy/script-src/script-src-1_4_1.html": [ + "ff43ce545cc42d33809b5f48efe6f52bf57ccd41", + "testharness" + ], + "content-security-policy/script-src/script-src-1_4_1.html.sub.headers": [ + "90288741141736b1d59cc27070565e08393d821f", + "support" + ], + "content-security-policy/script-src/script-src-1_4_2.html": [ + "5a1d5c9393455aeb34a73a1c59c6d75783a3d936", + "testharness" + ], + "content-security-policy/script-src/script-src-1_4_2.html.sub.headers": [ + "4c2700452b8e0cb5451ee00aaa8ff92f12e9623e", + "support" + ], + "content-security-policy/script-src/script-src-strict_dynamic_and_unsafe_eval_eval.html": [ + "36d44f22b3f4ae8a26509613426b76cdd3d1a41f", + "testharness" + ], + "content-security-policy/script-src/script-src-strict_dynamic_and_unsafe_eval_eval.html.headers": [ + "9c88b129ae093ac380706578529dfef5741c07ff", + "support" + ], + "content-security-policy/script-src/script-src-strict_dynamic_and_unsafe_eval_new_function.html": [ + "50f2c4a6b25003da7ed2007f8fab4821a9ac68ba", + "testharness" + ], + "content-security-policy/script-src/script-src-strict_dynamic_and_unsafe_eval_new_function.html.headers": [ + "9c88b129ae093ac380706578529dfef5741c07ff", + "support" + ], + "content-security-policy/script-src/script-src-strict_dynamic_discard_whitelist.html": [ + "766e0a0116c16d1659c1849371c83b5b3df8f663", + "testharness" + ], + "content-security-policy/script-src/script-src-strict_dynamic_discard_whitelist.html.headers": [ + "777b93089e61f6fe5f8f2517a790b3e03bb52951", + "support" + ], + "content-security-policy/script-src/script-src-strict_dynamic_double_policy_different_nonce.html": [ + "9c718f98ede47a76ff85e27bb196ac9323ea877e", + "testharness" + ], + "content-security-policy/script-src/script-src-strict_dynamic_double_policy_different_nonce.html.headers": [ + "cfa7ae6bf9f11ed1ebf62a8d44905abe1c3ec534", + "support" + ], + "content-security-policy/script-src/script-src-strict_dynamic_double_policy_honor_whitelist.sub.html": [ + "a64120274e797d23135a3a130916031f2d80e795", + "testharness" + ], + "content-security-policy/script-src/script-src-strict_dynamic_double_policy_honor_whitelist.sub.html.headers": [ + "e0cf3a2d3839e0f437c07b8cba267ce7db366cf5", + "support" + ], + "content-security-policy/script-src/script-src-strict_dynamic_double_policy_report_only.html": [ + "3aa1f96deee3243203b62d9e4866671ab0abef71", + "testharness" + ], + "content-security-policy/script-src/script-src-strict_dynamic_double_policy_report_only.html.headers": [ + "4ad7d6bc2809649d79b05a41f2e17d3b42a71e63", + "support" + ], + "content-security-policy/script-src/script-src-strict_dynamic_eval.html": [ + "a4a3ae02a621e8ceb866215d829a662cf9c84341", + "testharness" + ], + "content-security-policy/script-src/script-src-strict_dynamic_eval.html.headers": [ + "a50a792b1ef19fe452196e5e50036d6de01dc6e5", + "support" + ], + "content-security-policy/script-src/script-src-strict_dynamic_hashes.html": [ + "271e18f0e1d0fb5c9315d8bfb7fa26bc4ca7ef96", + "testharness" + ], + "content-security-policy/script-src/script-src-strict_dynamic_hashes.html.headers": [ + "0f3d163e75bebeecfff41c2b05e1d2075baebb04", + "support" + ], + "content-security-policy/script-src/script-src-strict_dynamic_in_img-src.html": [ + "aba1ba7fabe954472ebaf78db22c76011ae4e52d", + "testharness" + ], + "content-security-policy/script-src/script-src-strict_dynamic_in_img-src.html.headers": [ + "75702f49701cdbdd77c621cf21e81d1a924109f5", + "support" + ], + "content-security-policy/script-src/script-src-strict_dynamic_javascript_uri.html": [ + "e3e76d786d591a37886a6a4637f792898eca00fb", + "testharness" + ], + "content-security-policy/script-src/script-src-strict_dynamic_javascript_uri.html.headers": [ + "a50a792b1ef19fe452196e5e50036d6de01dc6e5", + "support" + ], + "content-security-policy/script-src/script-src-strict_dynamic_meta_tag.html": [ + "ab18a50fd8bd13001de5d5b531df97ac720b5225", + "testharness" + ], + "content-security-policy/script-src/script-src-strict_dynamic_meta_tag.html.headers": [ + "47bbaf404835ad92d23de730bbe5ad6a9bc609a7", + "support" + ], + "content-security-policy/script-src/script-src-strict_dynamic_new_function.html": [ + "db8a51ba587574bd4cc5b8f688f288f919fe7ceb", + "testharness" + ], + "content-security-policy/script-src/script-src-strict_dynamic_new_function.html.headers": [ + "a50a792b1ef19fe452196e5e50036d6de01dc6e5", + "support" + ], + "content-security-policy/script-src/script-src-strict_dynamic_non_parser_inserted.html": [ + "fd80e93f85027a96774f61fb0c39bf522e9c5568", + "testharness" + ], + "content-security-policy/script-src/script-src-strict_dynamic_non_parser_inserted.html.headers": [ + "a50a792b1ef19fe452196e5e50036d6de01dc6e5", + "support" + ], + "content-security-policy/script-src/script-src-strict_dynamic_non_parser_inserted_incorrect_nonce.html": [ + "02148828ddaabaab4043299b976b2e24158af966", + "testharness" + ], + "content-security-policy/script-src/script-src-strict_dynamic_non_parser_inserted_incorrect_nonce.html.headers": [ + "a50a792b1ef19fe452196e5e50036d6de01dc6e5", + "support" + ], + "content-security-policy/script-src/script-src-strict_dynamic_parser_inserted.html": [ + "7fe6a6900d937e7884efa5c23418583d338ba0f3", + "testharness" + ], + "content-security-policy/script-src/script-src-strict_dynamic_parser_inserted.html.headers": [ + "a50a792b1ef19fe452196e5e50036d6de01dc6e5", + "support" + ], + "content-security-policy/script-src/script-src-strict_dynamic_parser_inserted_correct_nonce.html": [ + "f38f9d35702b58356d51a200ac74b1924b413cf8", + "testharness" + ], + "content-security-policy/script-src/script-src-strict_dynamic_parser_inserted_correct_nonce.html.headers": [ + "a50a792b1ef19fe452196e5e50036d6de01dc6e5", + "support" + ], + "content-security-policy/script-src/simpleSourcedScript.js": [ + "549c6ea1f1bae2b78f933b5da0a5f2f72bae2564", + "support" + ], + "content-security-policy/securitypolicyviolation/blockeduri-eval.html": [ + "01d4ce834d175d13eb0d9c80bbe4a7be614d687f", + "testharness" + ], + "content-security-policy/securitypolicyviolation/blockeduri-inline.html": [ + "8e7326101e28ec65c6c834f7711b261917f93218", + "testharness" + ], + "content-security-policy/securitypolicyviolation/idl.html": [ + "5f2ff4a87aa476168cf3d13b10a8d81a387b8e42", + "testharness" + ], + "content-security-policy/securitypolicyviolation/targeting.html": [ + "338ac400216d671bed9c45baaec86a5849f2e0fb", + "testharness" + ], + "content-security-policy/style-src/3_3.css": [ + "a708bc71b4dae28df9d0ae4f0da5e327851f3d6d", + "support" + ], + "content-security-policy/style-src/style-src-3_1.html": [ + "370a7bdcdc90df8b37e7469a66126c5746a0fbdc", + "testharness" + ], + "content-security-policy/style-src/style-src-3_1.html.sub.headers": [ + "bca656b9b1d0d913ffcd0f86423aff607ad4773e", + "support" + ], + "content-security-policy/style-src/style-src-3_2.html": [ + "6566507c8ef954fb09f2cc0c5bc78396ebe104b9", + "testharness" + ], + "content-security-policy/style-src/style-src-3_2.html.sub.headers": [ + "db0b3c513f1da2defca580d67a5233db506f0ad3", + "support" + ], + "content-security-policy/style-src/style-src-3_3.html": [ + "123506ead5ffe9d2549c0a8330d9f6e48dcb4faa", + "testharness" + ], + "content-security-policy/style-src/style-src-3_3.html.sub.headers": [ + "708efeb5e129d979c6222ac188d14fa86ba65485", + "support" + ], + "content-security-policy/style-src/style-src-3_4-import.css": [ + "6bba17439df80e174e6c003aab5406529a528f39", + "support" + ], + "content-security-policy/style-src/style-src-3_4.css": [ + "37dd389e3b24c07f228253432bc6a82e345a232a", + "support" + ], + "content-security-policy/style-src/style-src-3_4.html": [ + "3273de894b473cd5b93e0ae795023a305159a93a", + "testharness" + ], + "content-security-policy/style-src/style-src-3_4.html.sub.headers": [ + "7edbc36a86b8ebb93ffb4e12bd2af44c36dc5981", + "support" + ], + "content-security-policy/support/alert-pass.js": [ + "9d9311651dff245f3c45fca59bacac7804a48746", + "support" + ], + "content-security-policy/support/alertAssert.sub.js": [ + "b2b693859bef7a60723d996bb5ccf9d3252fa6d9", + "support" + ], + "content-security-policy/support/checkReport.sub.js": [ + "90f36e63c4a18b6d755fda05b4e126e0cabf0e94", + "support" + ], + "content-security-policy/support/echo-policy.py": [ + "84ac41975c7c1f7958ea4431ea4bf4666f2d0b24", + "support" + ], + "content-security-policy/support/fail.asis": [ + "76e9a5bdd43e13f9665135c7178dbca3114eb11e", + "support" + ], + "content-security-policy/support/fail.js": [ + "90d888b42df7812ab893788918fac7cdaf27d1d6", + "support" + ], + "content-security-policy/support/fail.png": [ + "13c3f17f61fa30ac6d7c5c54bd73a6f93d1611c1", + "support" + ], + "content-security-policy/support/inject-image.js": [ + "d3fb6499c3910cd966efb85888f4a116bf6738c7", + "support" + ], + "content-security-policy/support/logTest.sub.js": [ + "b10c13ac32450d15761f99a5096e1a3deda0e9bc", + "support" + ], + "content-security-policy/support/media/flash.swf": [ + "53203da2c93399cdc4c3355a60d098c203cc7c85", + "support" + ], + "content-security-policy/support/pass.png": [ + "c06160c04726a02f1583caa0f380d632b6019179", + "support" + ], + "content-security-policy/support/ping.js": [ + "071616b3c0e43fab0b7a214000389585dafc393d", + "support" + ], + "content-security-policy/support/report.py": [ + "8cd779a8017cba678a565475271b892e8ed53e58", + "support" + ], + "content-security-policy/support/siblingPath.js": [ + "1743309038e2aef21670a82973c1cea2fbc01253", + "support" + ], + "content-security-policy/support/testharness-helper.js": [ + "7146102c93b75c1acf9b23891e1ea3c55581cec2", + "support" + ], + "content-security-policy/svg/including.sub.svg": [ + "4a7db45f8feeee77456ef0f837210b6f2f734a47", + "support" + ], + "content-security-policy/svg/including.sub.svg.sub.headers": [ + "ad81dd10fd77548004d7808bf176b89fe6002fa4", + "support" + ], + "content-security-policy/svg/scripted.svg": [ + "e5a26ca493e75cb4245e9f0de986cde3ab697d62", + "support" + ], + "content-security-policy/svg/scripted.svg.sub.headers": [ + "9e0bc663d0bcbf2bfdc32aa96c3e034453cdb460", + "support" + ], + "content-security-policy/svg/svg-from-guid.html": [ + "e5f4233841d1b1688d48e66a0efd65b940d45b02", + "testharness" + ], + "content-security-policy/svg/svg-inline.sub.html": [ + "699d329c0929525b899e5ecc848ea0eff4ad02b8", + "testharness" + ], + "content-security-policy/svg/svg-inline.sub.html.sub.headers": [ + "8804cfb21823324551f0f98977ecb80588099150", + "support" + ], + "content-security-policy/svg/svg-policy-resource-doc-includes.html": [ + "474d542398a46e302add6494151628a1e6e144e1", + "testharness" + ], + "content-security-policy/svg/svg-policy-with-resource.html": [ + "3cb51cc3be98ab648a58c858727e749bfdf53424", + "testharness" + ], + "content-security-policy/worker-src/dedicated-child.sub.html": [ + "fb394b266d3c21a44d7f0edfbbcc5d5ff31e8b6f", + "testharness" + ], + "content-security-policy/worker-src/dedicated-fallback.sub.html": [ + "6258fa96370af8956bc878e846dac5299a2f5fe3", + "testharness" + ], + "content-security-policy/worker-src/dedicated-list.sub.html": [ + "0a8e469a2ab20d9a492ce238acd48fcb73910915", + "testharness" + ], + "content-security-policy/worker-src/dedicated-none.sub.html": [ + "06c39ca981f027f2d3aa4195c36d286f3ded9b8c", + "testharness" + ], + "content-security-policy/worker-src/dedicated-self.sub.html": [ + "ec579a530ae0f44e387ed400d5b923cdb8203dc7", + "testharness" + ], + "content-security-policy/worker-src/service-child.https.sub.html": [ + "fb10554640b19d3f9cf7c3a60247deaea2c80596", + "testharness" + ], + "content-security-policy/worker-src/service-fallback.https.sub.html": [ + "b7dc101d006ca9454925e3d4511cae61c32fb2a4", + "testharness" + ], + "content-security-policy/worker-src/service-list.https.sub.html": [ + "c2e217ddab84012bc78358821a247b81dc0a611f", + "testharness" + ], + "content-security-policy/worker-src/service-none.https.sub.html": [ + "accfac94cda22bc93f61db590cf2e8f329c2b695", + "testharness" + ], + "content-security-policy/worker-src/service-self.https.sub.html": [ + "561c9a2ce0d4c1b9e148cad2ca5bad4b17517e9e", + "testharness" + ], + "content-security-policy/worker-src/shared-child.sub.html": [ + "1bc3004b63255bdb75f6660ab81870d08b96e74c", + "testharness" + ], + "content-security-policy/worker-src/shared-fallback.sub.html": [ + "0e39d2651a086dc987928b8458702d5c59098af8", + "testharness" + ], + "content-security-policy/worker-src/shared-list.sub.html": [ + "33ecc44f83d7d8874123397a37d376d6a443a498", + "testharness" + ], + "content-security-policy/worker-src/shared-none.sub.html": [ + "2caec3d27e2dea2a9dcc066ee2bf0a3fdc165fdb", + "testharness" + ], + "content-security-policy/worker-src/shared-self.sub.html": [ + "ff4d7ca289ea20fa00bca535fdcf929876a2278b", + "testharness" + ], "css-values/unset-value-storage.html": [ "d2e5101f623e29cc993fe2460f6c85f6ec31b471", "testharness" @@ -52993,7 +58451,7 @@ "testharness" ], "custom-elements/adopted-callback-expected.txt": [ - "11abd6e6f76d7e752378c46177908142c8e73c44", + "bff8d4fe223cc9bc86763a34d73845cd9374276c", "support" ], "custom-elements/adopted-callback.html": [ @@ -53457,7 +58915,7 @@ "testharness" ], "dom/historical-expected.txt": [ - "9d6e420616003f2a24043b4a1a3e21149f52f9a5", + "ec80273cbf8b488a8122aacd98dc85946a903d6f", "support" ], "dom/historical.html": [ @@ -53469,7 +58927,7 @@ "testharness" ], "dom/interfaces-expected.txt": [ - "f403c23e7b24229e9fe438dbfd9f8a5e439a1fbd", + "96d8e6f7a745eeef3fbf7d3b5a73b1645ab6dd6a", "support" ], "dom/interfaces.html": [ @@ -53485,7 +58943,7 @@ "testharness" ], "dom/lists/DOMTokenList-coverage-for-attributes-expected.txt": [ - "4b554dd1650be7b124920d48bc0efd84efd47dce", + "b3e0a5000fa57b345640ee7dd28bbba9998a1a69", "support" ], "dom/lists/DOMTokenList-coverage-for-attributes.html": [ @@ -53573,7 +59031,7 @@ "testharness" ], "dom/nodes/DOMImplementation-createDocument-expected.txt": [ - "5300ad748e19b337d24b5d38e7b4041b6aad72fa", + "4c9ce47dae88f03f249133d27c610f44495a2795", "support" ], "dom/nodes/DOMImplementation-createDocument.html": [ @@ -53749,11 +59207,11 @@ "testharness" ], "dom/nodes/Document-createElement-expected.txt": [ - "d0957ac331745826c13138019192026798892438", + "1f12026ef687874032bd4b392ad586f8d0430696", "support" ], "dom/nodes/Document-createElement-namespace-expected.txt": [ - "f7e6ca8caa8292acc350d38e92dc7f221a41cbaf", + "995a4c14a9eecbdff5730fac16fc8a5adb139ca0", "support" ], "dom/nodes/Document-createElement-namespace-tests/bare_mathml.html": [ @@ -53889,7 +59347,7 @@ "testharness" ], "dom/nodes/Document-createElementNS-expected.txt": [ - "81505b8deee5506b1bd6c00e905b5520824100d4", + "752c3bd37946d05bfa69241204f838d9afd48e1f", "support" ], "dom/nodes/Document-createElementNS.html": [ @@ -53901,7 +59359,7 @@ "support" ], "dom/nodes/Document-createEvent-expected.txt": [ - "6fb89355db5fee22062b30c9bed9ae786add2ea1", + "0925fa9229faa99d72aa432b1fca6e321f814a51", "support" ], "dom/nodes/Document-createEvent.html": [ @@ -54037,7 +59495,7 @@ "testharness" ], "dom/nodes/Element-classlist-expected.txt": [ - "1e1a543be30e7a5b8ad7255b060310d1aa35bf04", + "a8d04059015f3cb50e86beb9a16a6eff6b52b465", "support" ], "dom/nodes/Element-classlist.html": [ @@ -54125,7 +59583,7 @@ "testharness" ], "dom/nodes/Element-matches-expected.txt": [ - "c217ff1479fa2b8f7dc81907fb71b83a23d85684", + "c728e2c6b15a79a23a23235133c9501ec059661e", "support" ], "dom/nodes/Element-matches.html": [ @@ -54229,7 +59687,7 @@ "testharness" ], "dom/nodes/Node-cloneNode-expected.txt": [ - "d065121e700a6b8707971860aef9c9995243a291", + "ccb60a196ab032060a830de30942494b972ab8a8", "support" ], "dom/nodes/Node-cloneNode.html": [ @@ -54285,7 +59743,7 @@ "testharness" ], "dom/nodes/Node-lookupNamespaceURI-expected.txt": [ - "76d7ff0cd667e911104807684451329458edfb9e", + "bb4bc0db4bd4a3ba44ff14fcd0a684f51bbbade6", "support" ], "dom/nodes/Node-lookupNamespaceURI.html": [ @@ -54325,7 +59783,7 @@ "testharness" ], "dom/nodes/Node-properties-expected.txt": [ - "e8c98e76404e4dc07cafc80826ee0b4f152de01b", + "ec8e9de43cb64280d51a5bcb8b0661d60af3b25d", "support" ], "dom/nodes/Node-properties.html": [ @@ -54373,11 +59831,11 @@ "support" ], "dom/nodes/ParentNode-querySelector-All-expected.txt": [ - "80189cb2d515255b91919fc6c9ea23338dbbb271", + "a211477ce1833aacf68798e50a4da10b636bb42b", "support" ], "dom/nodes/ParentNode-querySelector-All-xht-expected.txt": [ - "773ceb7c6b2c1495fa31e943c38cb871d0c5e280", + "fd138bb82b31add986f3b01fd8171f2317dc0c21", "support" ], "dom/nodes/ParentNode-querySelector-All-xht.xht": [ @@ -54417,7 +59875,7 @@ "testharness" ], "dom/nodes/attributes-expected.txt": [ - "85141eec26cfded506860dfb6f65403d233499aa", + "fc85730ec25f2c8970e1c55160eaf00ac3a3632a", "support" ], "dom/nodes/attributes.html": [ @@ -54429,7 +59887,7 @@ "support" ], "dom/nodes/case-expected.txt": [ - "8cb209080ba7ec9693e2d31ddd8a9584b5c82c56", + "aa4ef5f9f3b634e11a25de7c593add9e0075f728", "support" ], "dom/nodes/case.html": [ @@ -54657,7 +60115,7 @@ "testharness" ], "dom/ranges/Range-insertNode-expected.txt": [ - "99bb4608804e05d1fec88cec91f7ea82426b48c0", + "223e815cbc700d7d8fc0a9deb3bd86a44593e046", "support" ], "dom/ranges/Range-insertNode.html": [ @@ -54721,7 +60179,7 @@ "testharness" ], "dom/ranges/Range-mutations-splitText-expected.txt": [ - "35ce213261ab023a701efc653b8ea319703a1280", + "9682f315a73c54f2239fd8e2d3d51ddd7d72a35b", "support" ], "dom/ranges/Range-mutations-splitText.html": [ @@ -54745,7 +60203,7 @@ "testharness" ], "dom/ranges/Range-surroundContents-expected.txt": [ - "dea70efa90fa0f0c0389d5d93b280a4947583854", + "fb60bcb3cf4831a114ec414832df915d387c61c1", "support" ], "dom/ranges/Range-surroundContents.html": [ @@ -54761,7 +60219,7 @@ "testharness" ], "dom/traversal/NodeIterator-expected.txt": [ - "b1b55852a987c0ea87278d87e17ac167cb04e8a8", + "4128df4baad89fbe33ac5ef1dadf0d4f236e8404", "support" ], "dom/traversal/NodeIterator-removal.html": [ @@ -54785,7 +60243,7 @@ "testharness" ], "dom/traversal/TreeWalker-expected.txt": [ - "88feb9bd78c36c21d518bcbdd7214b7936dbdb99", + "0e4378356a9041d4844faa448ec6b840d6c40d6c", "support" ], "dom/traversal/TreeWalker-previousNodeLastChildReject.html": [ @@ -54968,6 +60426,10 @@ "4842d40e22e25ee72536946d785a3cd03bc6a11d", "testharness" ], + "domxpath/interfaces.html": [ + "6848bd27f62d93fa527684c5625a42f4dc6470c2", + "testharness" + ], "encoding/api-basics.html": [ "f941c016bd9f6117af2e28652c770613c475b064", "testharness" @@ -55933,7 +61395,7 @@ "manual" ], "fullscreen/api/historical-expected.txt": [ - "6df83d392a82980a42135c70dc0d007ae8c9db24", + "9f89466378e691fccd85f53e5b00a5b66d3afcb2", "support" ], "fullscreen/api/historical.html": [ @@ -56564,6 +62026,14 @@ "a1a1effc33aad51d006fce3f406edaf6c65bfc0a", "support" ], + "html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling-1.html": [ + "a80c64c5fc7755e2f332e0383b13f5ef4af44f18", + "support" + ], + "html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling.html": [ + "c98f22b2c05a3c6e3df1d90e88f5d59dd5f4cd86", + "testharness" + ], "html/browsers/browsing-the-web/unloading-documents/beforeunload-on-history-back-1.html": [ "0d23c9bac35bfdcd967ad099f1b0b62f16ac7d60", "support" @@ -57252,6 +62722,10 @@ "bc622cdff29f6d8369d7bd07036bb220ea5774de", "testharness" ], + "html/browsers/history/the-location-interface/location-protocol-setter-with-colon.sub.html": [ + "fe8356bed0dc28851cf8cfb606d72cb71c018190", + "testharness" + ], "html/browsers/history/the-location-interface/location-protocol-setter.html": [ "70f3c81ddfe58e8751543513fbd8ea44a6b122a1", "testharness" @@ -57264,8 +62738,24 @@ "47a284185d6abb33d601a3b066a72bf480b515e7", "testharness" ], + "html/browsers/history/the-location-interface/location-stringifier-expected.txt": [ + "934560f680fb031cae2d9e4455888f125ca083fd", + "support" + ], "html/browsers/history/the-location-interface/location-stringifier.html": [ - "d7cea275e734051c77e820488ae04742dc073c26", + "25cf5b1fabfc32bdfed8803a07f4498aa764d148", + "testharness" + ], + "html/browsers/history/the-location-interface/location-symbol-toprimitive.html": [ + "f1216c7e9375e855e4e57d5396eee58c1eac0950", + "testharness" + ], + "html/browsers/history/the-location-interface/location-tojson.html": [ + "caeb36aec042ae39289becc4250f941822973fdb", + "testharness" + ], + "html/browsers/history/the-location-interface/location-valueof.html": [ + "f192bc7f3ab76ba77002a00086a62088e46ad777", "testharness" ], "html/browsers/history/the-location-interface/location_assign.html": [ @@ -57368,6 +62858,10 @@ "3f86c065f9ea20c9b9a0c6fd2f0fd94ae73f3088", "testharness" ], + "html/browsers/history/the-location-interface/resources/post-your-protocol.html": [ + "d6a54e137ca516d16fb64bed157b0ac3ceaab99c", + "support" + ], "html/browsers/history/the-location-interface/same_origin_frame.html": [ "ffabc8fb608c6dad4e7d1d148a4d77cdc4231e68", "support" @@ -57833,7 +63327,7 @@ "testharness" ], "html/browsers/the-window-object/window-properties-expected.txt": [ - "c47c4a69f073ef7507da4feb3478a524229d436d", + "99ad579581917ffbb247c28cc226c39bc0e5c50f", "support" ], "html/browsers/the-window-object/window-properties.html": [ @@ -59548,6 +65042,10 @@ "a4f99553c0cdf1c1efab08c85b9e3211b42d5412", "support" ], + "html/dom/interfaces.worker.js": [ + "9e91d411453d4fdbcead08ad9daccbe2d9d7a975", + "testharness" + ], "html/dom/new-harness.js": [ "792d2215f2d53b7ccb8c66b270a61afeec43ef25", "support" @@ -59628,6 +65126,26 @@ "7675f0b4e2b364d84cc878edf0608cf563267e6c", "support" ], + "html/dom/resources/interfaces.idl": [ + "4319380dff6b1b48a5a8b75efdf6819fc34542fb", + "support" + ], + "html/dom/resources/self-origin-subframe.html": [ + "a94fee503c6ad28fdedf1f62fcd96465f7b88e71", + "support" + ], + "html/dom/resources/untested-interfaces.idl": [ + "5aef136a29dace7a43fd70958428bba4304f4502", + "support" + ], + "html/dom/self-origin.any.js": [ + "187b3657775b815f9360c01d2ddb358a53e1f920", + "testharness" + ], + "html/dom/self-origin.sub.html": [ + "d821d4b41ac8517d345f86a9f8298f67284d1967", + "testharness" + ], "html/editing/activation/click.html": [ "67a574b4b6721eacfaa940d934d1907c3b2b49cd", "testharness" @@ -63513,7 +69031,7 @@ "support" ], "html/resources/common.js": [ - "0f18ee2c61b99893cfe2a3d1ff549b170a8d715d", + "6b4bdb2032fb40bf9ccdf6d827cfd367f34a78f9", "support" ], "html/semantics/disabled-elements/disabledElement.html": [ @@ -63757,7 +69275,7 @@ "support" ], "html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference-expected.txt": [ - "bdf6879153eb621fd37d6b4ecb323de4fd5d826c", + "75cfb46c2d2bea4cb17c652715a4345f88e74494", "support" ], "html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference-test-data.html": [ @@ -64157,7 +69675,7 @@ "testharness" ], "html/semantics/embedded-content/media-elements/mime-types/canPlayType-expected.txt": [ - "ba7e412dd2364cb17ef8b6da7e3f2645f28409d4", + "8ea8ac79d6298d090f2c54ec7d6d637701706c50", "support" ], "html/semantics/embedded-content/media-elements/mime-types/canPlayType.html": [ @@ -64184,6 +69702,10 @@ "c5c83f849ab7a1cb6a0c1e829207ca7320b68677", "testharness" ], + "html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks.html": [ + "ff9cdde226ae066001108c2237345a5fe3a0b3a4", + "testharness" + ], "html/semantics/embedded-content/media-elements/readyState_initial.html": [ "8897e5c41a0cd6e5b8496f05ed2dff8be7929e85", "testharness" @@ -64232,6 +69754,14 @@ "8840fa9072d9367f358721ed757bd3d23dd64967", "testharness" ], + "html/semantics/embedded-content/resources/should-load.html": [ + "7cc95b9b2eb8c3f2d89278d22db271b9ae42e107", + "support" + ], + "html/semantics/embedded-content/resources/should-not-load.html": [ + "a1657fc9e655ad0a30ced47a1412b6c34ba964b9", + "support" + ], "html/semantics/embedded-content/the-area-element/area-coords.html": [ "88f44bcf9beb7329b001b1c1a56b7fb0c7363f1a", "testharness" @@ -64281,7 +69811,11 @@ "support" ], "html/semantics/embedded-content/the-embed-element/embed-ignored-in-media-element.html": [ - "94a08a7a5b5ec5c26f1974d5e5d8b4381a60baf5", + "cb57cbe52e4f586006461b8eae6bc233b5ed5ad5", + "testharness" + ], + "html/semantics/embedded-content/the-embed-element/embed-in-object-fallback-2.html": [ + "a7da1fefb2403084205bf1ead77b422e69dc33b6", "testharness" ], "html/semantics/embedded-content/the-embed-element/embed-in-object-fallback-subdocument.html": [ @@ -64493,7 +70027,7 @@ "support" ], "html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-expected.txt": [ - "abb82a183450d6eda20a3ba27710b6acf623d8e2", + "642a83426ec9b767816a403a8fd3b07c3fbca7a0", "support" ], "html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute.html": [ @@ -64560,6 +70094,14 @@ "bf051d12a045698b2f9c3870ad4236f65bb85f51", "testharness" ], + "html/semantics/embedded-content/the-object-element/object-ignored-in-media-element.html": [ + "62a6c079bc00ae6ebeca363fd42d8701c4791222", + "testharness" + ], + "html/semantics/embedded-content/the-object-element/object-in-object-fallback-2.html": [ + "a5bb885111ac7ea02241957ee7233491c2277516", + "testharness" + ], "html/semantics/embedded-content/the-object-element/test0.html": [ "04319dea2f1e0b00e8db1703f2072ec22f1a82ad", "support" @@ -64685,7 +70227,7 @@ "testharness" ], "html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt": [ - "bd1c3d2757900843cd0f6773374d9c5571b41e2c", + "97bc800e0436db62b5124ea2ed137c21752b611d", "support" ], "html/semantics/forms/constraints/form-validation-validity-valueMissing.html": [ @@ -64881,7 +70423,7 @@ "testharness" ], "html/semantics/forms/the-form-element/form-autocomplete-expected.txt": [ - "56cd51d4a958671b82101bf0740d2f52b09aa665", + "4ee8d6d3b8b82b9e0e7a7fc1fea827d1fd1b7958", "support" ], "html/semantics/forms/the-form-element/form-autocomplete.html": [ @@ -65101,7 +70643,7 @@ "testharness" ], "html/semantics/forms/the-input-element/type-change-state-expected.txt": [ - "ec89852072d28f16d585ef4a4532c8dcc51d6014", + "6a55dbf28a8413c13490a29b0e96364d1919172f", "support" ], "html/semantics/forms/the-input-element/type-change-state.html": [ @@ -65112,12 +70654,8 @@ "c0a10794daa018ac8a121307d7a0fc05b86eb0ae", "testharness" ], - "html/semantics/forms/the-input-element/valueMode-expected.txt": [ - "9311564313cb576fb435db4ce5ae9c86737dbc01", - "support" - ], "html/semantics/forms/the-input-element/valueMode.html": [ - "1df7aae96097ff882a0605fb458ab8111cf61a4c", + "1446be6aa4ad1b3baee156a332d56989ebd88d3f", "testharness" ], "html/semantics/forms/the-input-element/week.html": [ @@ -65129,11 +70667,11 @@ "testharness" ], "html/semantics/forms/the-label-element/labelable-elements-expected.txt": [ - "c6dc7e25b7e14358654c177200c5b6f3f0b6ff67", + "f8aadae28686ace4bf98e51ef282e5c671bbf670", "support" ], "html/semantics/forms/the-label-element/labelable-elements.html": [ - "fcb095273778268e18f45ae4bfb831ebdabde738", + "421328f898fb2487152f6fd8df315fc22ddea61a", "testharness" ], "html/semantics/forms/the-legend-element/legend-form.html": [ @@ -65553,7 +71091,7 @@ "testharness" ], "html/semantics/interfaces-expected.txt": [ - "0370383eb0419d761e112e984ba8e7246ea82902", + "66b9d2904c0b48ff310813f23947c8f27d45b1ec", "support" ], "html/semantics/interfaces.html": [ @@ -65732,6 +71270,170 @@ "12842b6e600ac2fc737718d8a9ba3385ed8b678b", "support" ], + "html/semantics/scripting-1/the-script-element/module/crossorigin-common.js": [ + "a58804b6e2495f99ec3f8b7894ff52186a49a427", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/crossorigin-import-different.sub.html": [ + "eac09ab0af026a54e327d2677e5ce59b357e4f87", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/crossorigin-import-missingheader.sub.html": [ + "d1b1f4ee9c3cedc0ccc5feeac4ffc0fd1aa5ee1f", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/crossorigin-import-same.sub.html": [ + "f8eee428042146ee9e0ad54a3c4dea0ba0aa3c4e", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/crossorigin-import-wrongheader.sub.html": [ + "c28a19ced0695d63ae15c4999ac9098c56e8bdc4", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/crossorigin-root-different.sub.html": [ + "e49b493849c6dd9475415ffe3a2605a1cf3d8bbc", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/crossorigin-root-missingheader.sub.html": [ + "7f4acc369b1d8da4ac88475ed6641e7333a415ac", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/crossorigin-root-same.sub.html": [ + "9207cb7eb434044c7f0a8641942548f40c1a7d97", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/crossorigin-root-wrongheader.sub.html": [ + "2bc22bf8953b59e32922e3a70dc37739ddc36e3a", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/crossorigin-scripterror.js": [ + "e4fbb9e49271757f06e1f55d45a4e0d354e82463", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/crossorigin.html": [ + "d18faac90e11617824f0a2bc2ead29ad14de3622", + "testharness" + ], + "html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-common.js": [ + "ff9af4e5253db096cd5de8d2e7ed74cd05ed2561", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependent.html": [ + "ac1683bed4b147a291d9a6d50a7a67d8e8ccc080", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependent.js": [ + "f71f5200f0c4cda56b6db0993958cbf992ed8bc3", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependentmultiple.html": [ + "956e41c3916bdf33307cd8c6e76fd48079433807", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependentmultiple.js": [ + "f71f5200f0c4cda56b6db0993958cbf992ed8bc3", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-root.html": [ + "2146cfa35d1127991e435e01ba2016e239c541cc", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/errorhandling-wrongMimetype-import.js": [ + "20e11dd83dec0b7e06abdb50fb1c87d12ec65f88", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/errorhandling-wrongMimetype.js": [ + "18d5352143f159db085e948cda19b4130fa77576", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/errorhandling.html": [ + "ffd411f153c55abf313fba5ab349b6a0cc50ba0f", + "testharness" + ], + "html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered2.js": [ + "9a7d69437d3dda9d5f5de30cf917365d660b85ac", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered3.js": [ + "ac0a029ab4c5f81ea6ec25ec61c7d6d4fdd5dc88", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered4.js": [ + "c7c721d1e5ee00aee1e058185e6d29c4006e5b7d", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/execorder-dynamicunordered1.js": [ + "ffd469b582c18993119475e6cb3a47cfb34f49b0", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/execorder-dynamicunordered2.js": [ + "6c182afdedd7375b913a17e41b66f5e498ea2ff5", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/execorder-parsedordered2.js": [ + "fd738beae746d319cfd2dedc71b38b37a26d4c82", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/execorder-parsedordered4.js": [ + "4a76a45756de836cf2861910264bd6fe0b0fb497", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/execorder-parsedunordered1.js": [ + "49bf3814facc423e5706937ca7db8a861eac7118", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/execorder-parsedunordered2.js": [ + "104ef1252bb01f2532f5445f1cac38d2a32ac42f", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/execorder.html": [ + "66a5dcd461023501ed125402aa5393c168031614", + "testharness" + ], + "html/semantics/scripting-1/the-script-element/module/imports-a.js": [ + "8188ade38a674e3ac9d4a404f318d499713d4801", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/imports-b.js": [ + "53af00f3687e585a236de084d453fb1f13117872", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/imports-cycle-a.js": [ + "2d94b89df2a1bb5d96c717ba95fa5e0574ebe74d", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/imports-cycle-b.js": [ + "e58cb6040ad4272406be3090fe5bc2b365fec1ab", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/imports-cycle.js": [ + "462fe462bf92e1df232228cc1ce338ff522febbd", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/imports-inc-a.js": [ + "3d77b53d9fdb992ff731a28537469c61b7e5634b", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/imports-inc-ab.js": [ + "ea38bf882dd909d6270018cad300796ddac0141a", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/imports-inc-b.js": [ + "66142c159e6e3d0bbf9ec303368bcd2476539125", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/imports-self-inner.js": [ + "690a1d3dd7f4b189121c6d04e736de5afe45cd48", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/imports-self.js": [ + "26b832413187999e45c0520e171f5fc61a911b20", + "support" + ], + "html/semantics/scripting-1/the-script-element/module/imports.html": [ + "997cee37dcd202498196e63e0f66035979121b7f", + "testharness" + ], "html/semantics/scripting-1/the-script-element/nomodule-reflect-expected.txt": [ "4b3d01ab4fad799660d3bb3c4b0637ee58a9dd29", "support" @@ -66585,7 +72287,7 @@ "support" ], "html/syntax/parsing-html-fragments/the-input-byte-stream-015.html": [ - "6564a6f963fdccf6156287f0acd6c20eaacbd48a", + "3189757330f3abc8d209f9c75827d6ea616800b8", "testharness" ], "html/syntax/parsing-html-fragments/the-input-byte-stream-015.html.headers": [ @@ -66769,7 +72471,7 @@ "testharness" ], "html/syntax/parsing/html5lib_innerHTML_foreign-fragment-expected.txt": [ - "b8d888f99891d285605d6742af902c8ef2c55f1c", + "bdf00ec8004e7ca3a84e14534c9c4a51739077bb", "support" ], "html/syntax/parsing/html5lib_innerHTML_foreign-fragment.html": [ @@ -67109,7 +72811,7 @@ "testharness" ], "html/syntax/serializing-html-fragments/serializing-expected.txt": [ - "81305f176487e227c7fd80df7956ed7ee417055f", + "b5fc2fd23061b442cba52b18c44326674e1d43b9", "support" ], "html/syntax/serializing-html-fragments/serializing.html": [ @@ -67160,6 +72862,18 @@ "5ee9005c14491a0c33f3fdba4771a8a491f43d8c", "testharness" ], + "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-basic.html": [ + "8544d006dcbad6142d31c81adcba3528435a8b3b", + "testharness" + ], + "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-same-origin-domain.sub.html": [ + "4549cb718f2e4a1e22a561ef0eb0718c1ed6b05c", + "testharness" + ], + "html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/set-document-domain.html": [ + "f777c3f2ce746d415814083dc932f4a25a82c34f", + "support" + ], "html/webappapis/idle-callbacks/basic.html": [ "1349f9f3bc645fc999dcd2da6e53aa46779053c6", "testharness" @@ -67184,6 +72898,10 @@ "6375309c43a1e7c9fafdc95f01fcccb4c92f8afc", "testharness" ], + "html/webappapis/idle-callbacks/callback-suspended.html": [ + "f3f9eeda9e2d47825c77eaf278be6e976a8e1715", + "testharness" + ], "html/webappapis/idle-callbacks/callback-timeout-with-raf.html": [ "febb81c38f530c81d9e9837df2c6d603225ecfd1", "testharness" @@ -67193,13 +72911,17 @@ "testharness" ], "html/webappapis/idle-callbacks/cancel-invoked.html": [ - "d0128b4d4b805a58926ad895f35b341321cf56ec", + "30787d765fa435c1392bd852559042bf3c2e2553", "testharness" ], "html/webappapis/idle-callbacks/idlharness.html": [ "520ee58982b43875f3caa08d7f46b9c6311be0b6", "testharness" ], + "html/webappapis/idle-callbacks/resources/post_name_on_load.html": [ + "4c2db9979bcf68c61e62a805d59d95b7d164d9af", + "support" + ], "html/webappapis/scripting/event-loops/contains.json": [ "cc10a79306b389f7c99f2346ed03dedd177fa58c", "support" @@ -67221,11 +72943,11 @@ "testharness" ], "html/webappapis/scripting/events/body-exposed-window-event-handlers-expected.txt": [ - "d20f665d2ab2fdd631e2296c7b9a94738e8c3272", + "62de930b52f9cf25df82f295504cfdd3bd1f6118", "support" ], "html/webappapis/scripting/events/body-exposed-window-event-handlers.html": [ - "d5c9f5ddded8fa916f7e63a90d45fc9e01aa34a6", + "11dc83c2b4c817e1eed694ed199d327e15abcfa6", "testharness" ], "html/webappapis/scripting/events/body-onload.html": [ @@ -67257,11 +72979,11 @@ "testharness" ], "html/webappapis/scripting/events/event-handler-processing-algorithm-expected.txt": [ - "fbf04b0a0d070cc8a58ce4c655225a4e4794228a", + "10cb96228545b28542eb4cac2f7075feed63dfa5", "support" ], "html/webappapis/scripting/events/event-handler-processing-algorithm.html": [ - "33144e67a681a2f868628f7926efd60d5b078aba", + "a7c163d53eb559ea710527cace404ed88e9c4d0a", "testharness" ], "html/webappapis/scripting/events/event-handler-spec-example-expected.txt": [ @@ -67524,6 +73246,50 @@ "fe6fe8532d128af0e39adba576ac28a72c227684", "support" ], + "html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/allow-crossorigin.html": [ + "c6aab5c8b004d56b9bfd2113c147ed4243990b03", + "testharness" + ], + "html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/disallow-crossorigin.html": [ + "0d1ff0e1ba10e41d8252d30287a36f95aa14d35a", + "testharness" + ], + "html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-event-constructor.html": [ + "8bbb29655a28bc76708e802d617a5a6046b4e4b0", + "testharness" + ], + "html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events-attached-in-event.html": [ + "1681b994a1f1573f5705ddc14a601d99c228abb1", + "testharness" + ], + "html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events-onerror.html": [ + "be6f591b06b633d7a4e04003bd6b79788c146c16", + "testharness" + ], + "html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.dedicatedworker.html": [ + "ad80abc53e43e842e578433e272818ad28267b3c", + "testharness" + ], + "html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html": [ + "fc81dcbe8eb1c714363475d3c63f30d0dee3c8a5", + "testharness" + ], + "html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.serviceworker.https.html": [ + "831766740d8f2e7ef10fa3ada49e1560ec7288c3", + "testharness" + ], + "html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.sharedworker.html": [ + "f333e8b05918b1be8a6639d502c1eb3167e57915", + "testharness" + ], + "html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/support/promise-access-control.py": [ + "60cc5d8acb00fc9dbe591045f3800b9aac765921", + "support" + ], + "html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/support/promise-rejection-events.js": [ + "c0b190fc6cca74b7f21c1a3c91c0ac40ce66fd61", + "support" + ], "html/webappapis/scripting/processing-model-2/window-onerror-parse-error.html": [ "601d4362c924a17b7a9c5ee7dc8183d9b71de94d", "testharness" @@ -67845,7 +73611,7 @@ "support" ], "innerText/getter-expected.txt": [ - "948f45a52a1d33374e7ea4e0ebfe12fe166c8979", + "11c121b0354c9017afdc58b1ad97134411142cbc", "support" ], "innerText/getter-tests.js": [ @@ -67857,7 +73623,7 @@ "testharness" ], "innerText/setter-expected.txt": [ - "d2a48d1272ac8afb43e853c03abba8577e96125a", + "196037647b07f1f78725b04748964d9b6dd2ba73", "support" ], "innerText/setter-tests.js": [ @@ -69641,7 +75407,7 @@ "support" ], "navigation-timing/idlharness-expected.txt": [ - "306b63ff98511e156b27df4b6c0b2c65be597a39", + "9ab5ec83962dfe74d44c054b00556545d9ebeec4", "support" ], "navigation-timing/idlharness.html": [ @@ -69853,7 +75619,7 @@ "manual" ], "pointerevents/idlharness-expected.txt": [ - "58a39c41b4659be21d863eebf232058d58565ee1", + "4a3c8f5f9332c268d13f404a09c54e7812f30c0c", "support" ], "pointerevents/idlharness.html": [ @@ -69865,7 +75631,7 @@ "manual" ], "pointerevents/pointerevent_attributes_nohover_pointers-manual-expected.txt": [ - "ec51b531a493f96428de4a360f1230bbdcad32a7", + "4255532d6457756bc573260613c710c684e52069", "support" ], "pointerevents/pointerevent_attributes_nohover_pointers-manual.html": [ @@ -70261,7 +76027,7 @@ "testharness" ], "referrer-policy/README.md": [ - "74a9b42995a0bf224f538b6ae7b82fc14cc851ee", + "a908472f8b8c083f37da8feb38a198363f75376c", "support" ], "referrer-policy/generic/common.js": [ @@ -70272,6 +76038,10 @@ "20c8273fd2a2cad07d3a607717d69d6ae94cf27e", "support" ], + "referrer-policy/generic/sandboxed-iframe-with-opaque-origin.html": [ + "7c2be55288d3e3a7524aa537d1e88314857b7827", + "testharness" + ], "referrer-policy/generic/sanity-checker.js": [ "1ff719209d37a7a6adc1df63247a5d3642fbf4c8", "support" @@ -70293,7 +76063,7 @@ "testharness" ], "referrer-policy/generic/subresource-test/image-decoding.html": [ - "c07c47f83c1e752e98073acab72764afeea82f68", + "b2435f8008480f65e142f6ffc1e8b4097c72def3", "testharness" ], "referrer-policy/generic/subresource-test/link-navigate.html": [ @@ -70377,7 +76147,7 @@ "support" ], "referrer-policy/generic/unsupported-csp-referrer-directive.html": [ - "080afde20af3f6f8aa4e214fc0f0ef70f2e71527", + "31f6bbe5c3320e2338dae74e85aff31e714fec2c", "testharness" ], "referrer-policy/no-referrer-when-downgrade/attr-referrer/cross-origin/http-http/iframe-tag/insecure-protocol.keep-origin-redirect.http.html": [ @@ -77061,7 +82831,7 @@ "testharness" ], "selection/addRange-00-expected.txt": [ - "9b9f992e87e203b469e7b4b5394325d555b25f2c", + "0aae2514f1f873b47e60d4c9ea005774afa280ab", "support" ], "selection/addRange-00.html": [ @@ -77069,7 +82839,7 @@ "testharness" ], "selection/addRange-04-expected.txt": [ - "3516afa2d2afca7a118527b9e9067c91c0c96706", + "aed11682eea7bed0ef6fc44a5dc68762c13c7394", "support" ], "selection/addRange-04.html": [ @@ -77077,7 +82847,7 @@ "testharness" ], "selection/addRange-08-expected.txt": [ - "e643c7d945d12761792a8c291e4b1ab007358978", + "e04b8a016042cc38a748f272cb9d291ba38808c9", "support" ], "selection/addRange-08.html": [ @@ -77085,7 +82855,7 @@ "testharness" ], "selection/addRange-12-expected.txt": [ - "fe251308c7f5b99a3a22a8c35b42940837585f94", + "b600b87e861e8d4ab6a978e4069bae3e893ac9c3", "support" ], "selection/addRange-12.html": [ @@ -77093,7 +82863,7 @@ "testharness" ], "selection/addRange-16-expected.txt": [ - "d228ef5d934830f94efe7ae1448411c9d6baa7bb", + "e7e68788a479995e679bf6687a69acde4d831f65", "support" ], "selection/addRange-16.html": [ @@ -77101,7 +82871,7 @@ "testharness" ], "selection/addRange-20-expected.txt": [ - "5faa0f8f7dc09ac250ac02afe5fbfda25867d079", + "72fd62612f49950a11e9d3f98075d763b14fa5e3", "support" ], "selection/addRange-20.html": [ @@ -77109,7 +82879,7 @@ "testharness" ], "selection/addRange-24-expected.txt": [ - "e9adff76e6ba6f119b896e2b0b5f82230755b96c", + "035a0d5cbaac0dba45eb8d446ba5884b9e4cb211", "support" ], "selection/addRange-24.html": [ @@ -77117,7 +82887,7 @@ "testharness" ], "selection/addRange-28-expected.txt": [ - "09d293430f2d6298fb3918337824e9503d09ce07", + "2fd759a58f01cfcdce1f661fa0099a4cd67cb708", "support" ], "selection/addRange-28.html": [ @@ -77125,7 +82895,7 @@ "testharness" ], "selection/addRange-32-expected.txt": [ - "aaa694aeb16d10182af2a84b1db2f530ba5e55a6", + "094c8213b11fab4ee9176ddea024f45c4b64cda7", "support" ], "selection/addRange-32.html": [ @@ -77133,7 +82903,7 @@ "testharness" ], "selection/addRange-36-expected.txt": [ - "5cc99c2c0bbb15ecf2f6d1402d4467c577f82538", + "529279feec4f7f6e1141452c032194a397dd5c23", "support" ], "selection/addRange-36.html": [ @@ -77141,7 +82911,7 @@ "testharness" ], "selection/addRange-40-expected.txt": [ - "f98f04aa2196d8382ff4d0f9b58af6fe5913c055", + "98d62124fc16e591af0d46c8c180db9b44e635e5", "support" ], "selection/addRange-40.html": [ @@ -77149,7 +82919,7 @@ "testharness" ], "selection/addRange-44-expected.txt": [ - "e282a96eabba35226712b158a659417173de87ac", + "adc6b32fb40a6eb502724c5ad9b789e9bc9075cd", "support" ], "selection/addRange-44.html": [ @@ -77157,7 +82927,7 @@ "testharness" ], "selection/addRange-48-expected.txt": [ - "677a89a721f24392acf417712b6b45c70439f5af", + "13233557c60ff6324d2189b88185c0c9bccfd8da", "support" ], "selection/addRange-48.html": [ @@ -77165,7 +82935,7 @@ "testharness" ], "selection/addRange-52-expected.txt": [ - "3e80c1898900ee18d12e74b2d64ff56f56e2ad47", + "d206db9236166700549a58bb26bef1b48a9e25a1", "support" ], "selection/addRange-52.html": [ @@ -77173,7 +82943,7 @@ "testharness" ], "selection/addRange-56-expected.txt": [ - "bd303ef859922d449562fbace376ee5653cce84d", + "181678d34295b8d870156a35d027995360b46405", "support" ], "selection/addRange-56.html": [ @@ -77185,7 +82955,7 @@ "support" ], "selection/collapse-00-expected.txt": [ - "bc604b7719aa782d0333936bc4aa772c4f1b7db3", + "cb6b89a32ab5910d7552abb9bf13c3de31a44824", "support" ], "selection/collapse-00.html": [ @@ -77193,7 +82963,7 @@ "testharness" ], "selection/collapse-30-expected.txt": [ - "cda82deabe9e964369d5edd7085176e945b8a620", + "b848752153c11aba04cb02d76bf0f75541a35ec8", "support" ], "selection/collapse-30.html": [ @@ -77201,11 +82971,11 @@ "testharness" ], "selection/collapse.js": [ - "41ae670c54b9141b065659a751f8495ded80ac1b", + "4cd755764b43e348b2dcf23d1c800953ee28f059", "support" ], "selection/collapseToStartEnd-expected.txt": [ - "2aaccb3f3524f137ddd73d56aeb1aca14640c10a", + "c255bb04eda843b87c255fdb965136b2a786a8af", "support" ], "selection/collapseToStartEnd.html": [ @@ -77213,11 +82983,11 @@ "testharness" ], "selection/common.js": [ - "ffb4fe96df8ae290cb35574f751bafcc00805b4d", + "5c8f81d534759a0fa20a78f9643168a6d84d80b3", "support" ], "selection/deleteFromDocument-expected.txt": [ - "4ae16b5599bfb4c8592786e6c79ec466dc18acd1", + "a9c488204dc4254c8dc131859eaff3ef2e0c5429", "support" ], "selection/deleteFromDocument.html": [ @@ -77229,7 +82999,7 @@ "manual" ], "selection/extend-00-expected.txt": [ - "ce75bb064679d1e758dd9cb48aa7c8181e18fb31", + "b7d26aa46cad23b202e463701295a881785b569d", "support" ], "selection/extend-00.html": [ @@ -77237,7 +83007,7 @@ "testharness" ], "selection/extend-20-expected.txt": [ - "2c6acd632b8b6e627745e76896942cb13f4e93c2", + "4d818e9dd9a326818a6defb25579c7ace9c10821", "support" ], "selection/extend-20.html": [ @@ -77245,7 +83015,7 @@ "testharness" ], "selection/extend-40-expected.txt": [ - "ef491bc86a0a6be0cc78d6e51207c3c4c8e97afc", + "42e7a1c1a268ac5d625993d50fce8ecaf52881fa", "support" ], "selection/extend-40.html": [ @@ -77253,7 +83023,7 @@ "testharness" ], "selection/extend.js": [ - "e5982a39ff7d36cd893bbe0bba19a7078a4096dd", + "6da1fb629a8323f7d45c952e7ff3ce5554f7d722", "support" ], "selection/getRangeAt.html": [ @@ -77265,7 +83035,7 @@ "testharness" ], "selection/interfaces-expected.txt": [ - "f9641f08468142aea0e2a53c65ab10c04f8cf48e", + "ccb4664f886a9f11a3c48eb4d99ca2fe854b0e23", "support" ], "selection/interfaces.html": [ @@ -77273,7 +83043,7 @@ "testharness" ], "selection/isCollapsed-expected.txt": [ - "00c13e14c10a7d569368a60d78ce1cd3c15adbe3", + "12310c61c361c3c8214e536593c310dbfb611124", "support" ], "selection/isCollapsed.html": [ @@ -77281,23 +83051,19 @@ "testharness" ], "selection/removeAllRanges-expected.txt": [ - "1b5cadbabfdce32e25ce13678eeafaf218767e5f", + "c163d9bfe29307dd686f48c49e632a85e2b4f567", "support" ], "selection/removeAllRanges.html": [ "23385a72a586db288b282eb251f9384048532666", "testharness" ], - "selection/selectAllChildren-expected.txt": [ - "14ce11504d965d12b0d9cf7381a00c2a1865608d", - "support" - ], "selection/selectAllChildren.html": [ "1951e6d34c7959c038146efde2d49a7898eaee29", "testharness" ], "selection/setBaseAndExtent-expected.txt": [ - "3d1e3e5ecdb83d3bfdb9469a18c48f66a891aa8e", + "17bba3ba99f70766e768be445217405eb4e4a148", "support" ], "selection/setBaseAndExtent.html": [ @@ -77597,15 +83363,15 @@ "testharness" ], "service-workers/service-worker/client-navigate.https.html": [ - "79904ed11a3c53c4559c8f44603fcc1cf0a05844", + "e0c704605ec008a29662e1804d512284899ddd6f", "testharness" ], "service-workers/service-worker/clients-get-cross-origin.https.html": [ - "7e9d0cd022aa70a0f38b2f15f05919e9ff185728", + "21ed1eab21bb6f0b342895c8185ecb92afe93b79", "testharness" ], "service-workers/service-worker/clients-get.https.html": [ - "54c7ac17c93881644c202dbacf36de2fc507a3f5", + "32ccf7734a7d0d40205c4fd30b393b175e6507bd", "testharness" ], "service-workers/service-worker/clients-matchall-client-types.https.html": [ @@ -77657,19 +83423,19 @@ "testharness" ], "service-workers/service-worker/fetch-canvas-tainting-cache.https.html": [ - "3401c0848a63c619c618d4a2cf3c59f3928ff162", + "b3f8375bc412c99099ac886673fd80f6cb0a312b", "testharness" ], "service-workers/service-worker/fetch-canvas-tainting.https.html": [ - "1f2d87f214450395472fe3dffcb2783e71ec0d52", + "9c2e160f95d2915a961bd7da840ac53779c9387d", "testharness" ], "service-workers/service-worker/fetch-cors-xhr.https.html": [ - "5a35a77eb5575e181aee035ffa103f51152fda54", + "448c071ddeaaaf828800d8fad20d8ce672e56590", "testharness" ], "service-workers/service-worker/fetch-csp.https.html": [ - "b9ff203833b7af8b0181eea9a1778b9e4d20ccb1", + "97fff975592937acda3e8f363685dc9a835c12be", "testharness" ], "service-workers/service-worker/fetch-event-after-navigation-within-page.https.html": [ @@ -77685,43 +83451,51 @@ "testharness" ], "service-workers/service-worker/fetch-event-redirect.https.html": [ - "5d4efd3504c37f5b728eef4941266b3d1d8842e7", + "e322139b14149fe9b3f3aff76a9af8a58437e715", "testharness" ], "service-workers/service-worker/fetch-event-respond-with-stops-propagation.https.html": [ "2feaa5022ee31fb980f97075d932b0d87d6efe75", "testharness" ], + "service-workers/service-worker/fetch-event-within-sw-manual.html": [ + "6bdea01ca619a894d07364a0485f717b46afe585", + "manual" + ], + "service-workers/service-worker/fetch-event-within-sw.html": [ + "0dfff8289762988423eb8fda40ef47884c243427", + "testharness" + ], "service-workers/service-worker/fetch-event.https-expected.txt": [ "c365630410e75df3d804e25764b0b1f7d1ebed73", "support" ], "service-workers/service-worker/fetch-event.https.html": [ - "09024c86ce36bb31e96077acaa3609d16d424785", + "f735a11ce8f722bc72d601b1bd346d2489552394", "testharness" ], "service-workers/service-worker/fetch-frame-resource.https.html": [ - "e5996d90c4c383eda2947cc2bc39e734448b3bde", + "77709ff94cfaeec0b01e157714244d1b568c6b18", "testharness" ], "service-workers/service-worker/fetch-header-visibility.https.html": [ - "c12941b5e391a520b20f227fd515089ac922f50e", + "054a581d2585cf34e4f0626870c2a093d53dc09b", "testharness" ], "service-workers/service-worker/fetch-mixed-content-to-inscope.https.html": [ - "16bf962ab092624da480de9a75ac767cdc00c2c7", + "e3035bdf8cec65bb0322b5dfce10a3a827bd415e", "testharness" ], "service-workers/service-worker/fetch-mixed-content-to-outscope.https.html": [ - "431348eba25f6db93684b39dcdc9eb29071e27f1", + "45a83eeeb922301fc399a4808bb4d1014a541733", "testharness" ], "service-workers/service-worker/fetch-request-css-base-url.https.html": [ - "e9e6bc4ecfe69bf5f1c8fa718f15fe19ca612143", + "01a5220ff2abe5735d7b03c2ee3ccbe21c9a260e", "testharness" ], "service-workers/service-worker/fetch-request-css-images.https.html": [ - "14c5ad1b9e3971c994ec9134989f03ff4a01962c", + "ca776bff1f106f9a1e2dfe4d25ff3618d99758b7", "testharness" ], "service-workers/service-worker/fetch-request-fallback.https-expected.txt": [ @@ -77729,7 +83503,7 @@ "support" ], "service-workers/service-worker/fetch-request-fallback.https.html": [ - "11b3e5fe92d27ea1058f725a904a4ed8e448a2dd", + "60dcb3a4c3b3ca2e79adfc7b779724cbe3ffa1c4", "testharness" ], "service-workers/service-worker/fetch-request-no-freshness-headers.https.html": [ @@ -77741,7 +83515,7 @@ "support" ], "service-workers/service-worker/fetch-request-redirect.https.html": [ - "ffe217a363c6db265aaa2f45661bdc3a4289c9a0", + "e0c2c7752674bd8bb65ce09bc1d49b2f5d458d54", "testharness" ], "service-workers/service-worker/fetch-request-resources.https-expected.txt": [ @@ -77749,35 +83523,43 @@ "support" ], "service-workers/service-worker/fetch-request-resources.https.html": [ - "6676e514ba04f2759346eaa94f1c87c8290e44cd", + "5ae2d1ae4eec846002635d6ff8d9d7c9a2aebd3f", "testharness" ], "service-workers/service-worker/fetch-request-xhr.https.html": [ - "760037db448b32b146c51ba8e7c453dd9c734a6e", + "840aafe30e5a0c8129c05e3b311084b8c00267a6", "testharness" ], "service-workers/service-worker/fetch-response-xhr.https.html": [ - "b6fa000865a6961afabb592a09bbf686ee4302df", + "6d50c69d78a1eb077108209b94fdf0efe540883d", "testharness" ], "service-workers/service-worker/fetch-waits-for-activate.https.html": [ - "9be9d969099e27be5edc15f6014ac2f06f81674c", + "04eeedc3f074aff32281a438acda62b7a6d86e2d", "testharness" ], "service-workers/service-worker/foreign-fetch-basics.https.html": [ - "5f0a45fe4e8697b206ec52d843db1bf003c78abb", + "6600d201f205fe3586cbfab088cf9f2be7d96b87", "testharness" ], + "service-workers/service-worker/foreign-fetch-cors.https-expected.txt": [ + "695cb32da1ec015990684439ae033d60a0ea0a4a", + "support" + ], "service-workers/service-worker/foreign-fetch-cors.https.html": [ - "6a8f18df7fc9a023325277b19f9b0b9e0c0876bb", + "aac5e2b6b096af5fb5edd9b8c5193774089afac2", "testharness" ], "service-workers/service-worker/foreign-fetch-event.https.html": [ "8fbf910205f175a457846100deb34a01c02b00ab", "testharness" ], + "service-workers/service-worker/foreign-fetch-workers.https-expected.txt": [ + "d3f1cd1321ee6461a0270b59290e61e745e2aafb", + "support" + ], "service-workers/service-worker/foreign-fetch-workers.https.html": [ - "c41c5b33800b53cf9393eeeb45e1e4b9f434677e", + "4838204f935a89eccb333e347dd56f30846460fe", "testharness" ], "service-workers/service-worker/getregistration.https.html": [ @@ -77785,7 +83567,7 @@ "testharness" ], "service-workers/service-worker/getregistrations.https.html": [ - "8b66990c80dfb44f43a053829005dbca2264106c", + "d76c66c08bd5c1addbdb149447f2268ac52ffcb2", "testharness" ], "service-workers/service-worker/indexeddb.https.html": [ @@ -77805,11 +83587,11 @@ "testharness" ], "service-workers/service-worker/invalid-blobtype.https.html": [ - "ff9dca8c16a3635b74a7dfbff8ae5061b89a86e5", + "ca29ab7c214d2fa4973cf7be633a7fb8507ae897", "testharness" ], "service-workers/service-worker/invalid-header.https.html": [ - "559a924fa530f4a4082c306d5821d88f9d2ba064", + "393c3b3c393b58e74f82affecdd06c4e7be1787a", "testharness" ], "service-workers/service-worker/multi-globals/current/current.https.html": [ @@ -77817,7 +83599,7 @@ "support" ], "service-workers/service-worker/multi-globals/current/test-sw.js": [ - "7e7405b9f40066d3e86130e30977aed9fd09ce54", + "ca4f933ef6be99526541dbecde4fd6c2155544af", "support" ], "service-workers/service-worker/multi-globals/incumbent/incumbent.https.html": [ @@ -77825,7 +83607,7 @@ "support" ], "service-workers/service-worker/multi-globals/incumbent/test-sw.js": [ - "a0f365dfc0c986f73c8f06517fd4e7205686a49d", + "490e5af3f6faef75c3d52acd61b43b2c1a6c55d3", "support" ], "service-workers/service-worker/multi-globals/relevant/relevant.https.html": [ @@ -77833,19 +83615,19 @@ "support" ], "service-workers/service-worker/multi-globals/relevant/test-sw.js": [ - "7f53eee0744e642576d6d10721b0e425295280a8", + "7f6f7e4440cd2fc8620c830d6ce983803c23f971", "support" ], "service-workers/service-worker/multi-globals/test-sw.js": [ - "43a68bb3d01c58f7388cc4fa7783862d20c72c14", + "dac89a5658bdfac4df0600647d1fbf82602c4d0b", "support" ], "service-workers/service-worker/multi-globals/url-parsing.https-expected.txt": [ - "5a4c54cd0c2d1c01faae53525a18e82091b27bcd", + "4f9dab45796f2cd0b72fc0816216186b0e4ce75f", "support" ], "service-workers/service-worker/multi-globals/url-parsing.https.html": [ - "4d24eb48ca2eeca6f6b9dab65f4913563fa3ed39", + "eac6d03a6baa43a8f326abc30a5e1244da2d0e55", "testharness" ], "service-workers/service-worker/multiple-register.https.html": [ @@ -77861,7 +83643,7 @@ "support" ], "service-workers/service-worker/navigate-window.https.html": [ - "fe503981bd965d0d424f4c2e404ab940a2d6db0b", + "669507683c98d99aa5dcfbddd71c23f8464b7c21", "testharness" ], "service-workers/service-worker/navigation-redirect.https-expected.txt": [ @@ -77869,7 +83651,7 @@ "support" ], "service-workers/service-worker/navigation-redirect.https.html": [ - "919eb3d5d1203626cc6e23a5200033cb8a756347", + "7d9f8501624e1832170d427657d6dbf19253c989", "testharness" ], "service-workers/service-worker/onactivate-script-error.https.html": [ @@ -77889,7 +83671,7 @@ "support" ], "service-workers/service-worker/performance-timeline.https.html": [ - "bb5f72f8ec9194689d1a77a1d2d3e902233bb2d3", + "23d9e3dc830b83370875387cd5d6e1d5e913452f", "testharness" ], "service-workers/service-worker/postmessage-blob-url.https.html": [ @@ -77901,7 +83683,7 @@ "testharness" ], "service-workers/service-worker/postmessage-to-client.https.html": [ - "8a96689891c9e49456c48e47a09405fe2edb4cce", + "4f91d302091df45ca72567c2cedc1584ad9045a9", "testharness" ], "service-workers/service-worker/postmessage.https.html": [ @@ -77913,11 +83695,11 @@ "testharness" ], "service-workers/service-worker/referer.https.html": [ - "3a78997f47e3f53bcb94f871032b0d6099361f10", + "a9e4073192f5b69984624ad7376ec7787101dfea", "testharness" ], "service-workers/service-worker/register-closed-window.https.html": [ - "bc6e9bb358fdd6b66d49eaf99e9d5f2e111c874b", + "2e24c6664881449ab67f04b860a701c8b8ef93c1", "testharness" ], "service-workers/service-worker/register-default-scope.https.html": [ @@ -77981,7 +83763,7 @@ "support" ], "service-workers/service-worker/resource-timing.https.html": [ - "003956c17576fa4e0f1c7a5cc7aaf6bb211510ff", + "587060940cb25ff8072fa83cb41d538a73320ca6", "testharness" ], "service-workers/service-worker/resources/404.py": [ @@ -78017,7 +83799,7 @@ "support" ], "service-workers/service-worker/resources/client-navigate-worker.js": [ - "28442dc3f2bb1b2761a17ae599b1300c50327a56", + "6b277e1dcde40babec32046f9e637a47830bf29b", "support" ], "service-workers/service-worker/resources/client-navigated-frame.html": [ @@ -78029,7 +83811,7 @@ "support" ], "service-workers/service-worker/resources/clients-get-other-origin.html": [ - "2bcea64745be9b6aab7d91eb2c54774b8110bb6f", + "1b495621d4024d18579626cc5fd6049789bce115", "support" ], "service-workers/service-worker/resources/clients-get-worker.js": [ @@ -78053,7 +83835,7 @@ "support" ], "service-workers/service-worker/resources/dummy-worker-interceptor.js": [ - "5bad22ca85e049d9ccd1228cef98f58bbf21a16a", + "f631d35c4eed6be4a8e6d2cdc5258ac0b169e177", "support" ], "service-workers/service-worker/resources/dummy-worker-script.py": [ @@ -78109,15 +83891,15 @@ "support" ], "service-workers/service-worker/resources/fetch-canvas-tainting-iframe.html": [ - "238c7a5082169f5a96160aa298d0450c9e1ed60b", + "04c234d3cc210d24962ce2b7cbbefcbd16d335e8", "support" ], "service-workers/service-worker/resources/fetch-cors-xhr-iframe.html": [ - "a95c7def61681468026031380425f03d3020d66a", + "bbed4c0dcae12d91bcda4241103e674a6ffc73b1", "support" ], "service-workers/service-worker/resources/fetch-csp-iframe.html": [ - "b84cb08bd5e4504dc5509f78ca3a4c07be702814", + "0c82ccc773dc644bac0cef39faadcb3280c0c6f4", "support" ], "service-workers/service-worker/resources/fetch-csp-iframe.html.sub.headers": [ @@ -78152,20 +83934,24 @@ "ca79da139169762737411cb6cffb66b55b901d04", "support" ], + "service-workers/service-worker/resources/fetch-event-within-sw-worker.js": [ + "3389a6ce1435fe1f16488c58b3545169a1afcad3", + "support" + ], "service-workers/service-worker/resources/fetch-header-visibility-iframe.html": [ - "99c91098d8df9e0b840699770d240bb0aa2ee715", + "f5975491b4c516cdfc62eaaba019ab546451d6e7", "support" ], "service-workers/service-worker/resources/fetch-mixed-content-iframe-inscope-to-inscope.html": [ - "7cf39eebde4a25c1af8690c28db50ef0a4b147cd", + "7485fa9c96fbbc4af9de634e0738957dd6ab2aa0", "support" ], "service-workers/service-worker/resources/fetch-mixed-content-iframe-inscope-to-outscope.html": [ - "623898c5d5975ae661f8b2375af2a1aaf2859c23", + "c9a7ec401f8db3416e73694370be0b711f04110e", "support" ], "service-workers/service-worker/resources/fetch-mixed-content-iframe.html": [ - "bb8ade5c70097997726faf2624b11581e4cfe2f1", + "1b7a67809f06e5a14ca77da10d9c43e94f5dc1f0", "support" ], "service-workers/service-worker/resources/fetch-request-css-base-url-iframe.html": [ @@ -78177,7 +83963,7 @@ "support" ], "service-workers/service-worker/resources/fetch-request-css-base-url-worker.js": [ - "4536000808809f0354c6b206380d92f4e2fddd0e", + "30e4285e144a5c9caa0dd48224cefc4b41973de1", "support" ], "service-workers/service-worker/resources/fetch-request-fallback-iframe.html": [ @@ -78209,7 +83995,7 @@ "support" ], "service-workers/service-worker/resources/fetch-request-xhr-iframe.https.html": [ - "2a1cb00d377b6a3460daf9727828af0040756420", + "e28b416c027c2ed1a633c0804ef826cad99509ff", "support" ], "service-workers/service-worker/resources/fetch-request-xhr-worker.js": [ @@ -78217,7 +84003,7 @@ "support" ], "service-workers/service-worker/resources/fetch-response-xhr-iframe.https.html": [ - "bdba81b06c43907a879b992ea20a77526a0e8810", + "8bef6d586f438fa912c7e40ac82a5aa73e05706a", "support" ], "service-workers/service-worker/resources/fetch-response-xhr-worker.js": [ @@ -78264,10 +84050,6 @@ "c5f88c11333ff1faba5d57812a36553d174ab711", "support" ], - "service-workers/service-worker/resources/get-host-info.sub.js": [ - "b7d7fb55736ce82fa418d69bb8e6017a6671e492", - "support" - ], "service-workers/service-worker/resources/indexeddb-worker.js": [ "ed0ff45423ba74ad0b82e46debd865fdae2fbcb6", "support" @@ -78341,7 +84123,7 @@ "support" ], "service-workers/service-worker/resources/navigation-redirect-other-origin.html": [ - "a43dcad198cad8b1589de1963342c75a0b70d1e9", + "8c51024d8e369bc5ae21e94c486c59690df2de3e", "support" ], "service-workers/service-worker/resources/navigation-redirect-out-scope.py": [ @@ -78360,6 +84142,10 @@ "6e888f77393e13e7be042fa6559ce90a66a4d8a9", "support" ], + "service-workers/service-worker/resources/notification_icon.py": [ + "ec72a4c120ccfac3a165576f59a0e02b945343b3", + "support" + ], "service-workers/service-worker/resources/onactivate-throw-error-from-nested-event-worker.js": [ "5e7bd3fc11e1f72c91d756e04a5e1e25e565143a", "support" @@ -78437,7 +84223,7 @@ "support" ], "service-workers/service-worker/resources/referer-iframe.html": [ - "f7dc2c960e0bbe78ea14d66d9ee76e7876c29b90", + "6b549d0a185a0fb76c230274a672ef4843d33a90", "support" ], "service-workers/service-worker/resources/register-closed-window-iframe.html": [ @@ -78477,7 +84263,7 @@ "support" ], "service-workers/service-worker/resources/service-worker-csp-worker.py": [ - "f91ff42d4a88961aeb4c29cce61db8ad32261f4e", + "f7c6bb3ba222dc35a09ef806a7c6d145339f9eb2", "support" ], "service-workers/service-worker/resources/shared-worker-controlled.js": [ @@ -78521,7 +84307,7 @@ "support" ], "service-workers/service-worker/resources/test-helpers.sub.js": [ - "33bd2908a3e1916e78b4cb9b81a9f108d203a022", + "113528ec940b15e9d7b6b982b6301c762a22b345", "support" ], "service-workers/service-worker/resources/testharness-helpers.js": [ @@ -78565,11 +84351,11 @@ "support" ], "service-workers/service-worker/resources/worker-interception-iframe.https.html": [ - "06594aaad28018acf9e670b23eb97e8b0b7e1b98", + "b9fd4ea281b328c1f21573d1563c968dac52cf22", "support" ], "service-workers/service-worker/resources/worker-load-interceptor.js": [ - "8e92e777917d2e39558a7609d34ec839f24e5fac", + "de9cfcbef6528a4b5e6b2552f260501e4d165ea4", "support" ], "service-workers/service-worker/resources/worker-testharness.js": [ @@ -78681,11 +84467,11 @@ "testharness" ], "service-workers/service-worker/websocket.https-expected.txt": [ - "3907e83b638037f450835c518edcbfa379bf050d", + "1fdf76c93fab7b19ef861df5aaada4ddce974f73", "support" ], "service-workers/service-worker/websocket.https.html": [ - "41a6008966629c84ffba592e038adae1050c947a", + "40ec7850c61a3ee7578f055d3eef87293cfad482", "testharness" ], "service-workers/service-worker/worker-interception.https-expected.txt": [ @@ -78697,7 +84483,7 @@ "testharness" ], "service-workers/service-worker/xhr.https.html": [ - "e306f2662c779b7fe2b3727e6ee9a27c7c95a151", + "f5d565c95c7a08da139b0f3b95bb0cfb0ae2b936", "testharness" ], "service-workers/specgen.json": [ @@ -79308,6 +85094,22 @@ "bc28599cea839c13daf4739168f8c1ea42526050", "testharness" ], + "storage/README.md": [ + "5ce835b9c17e0cd61830abdd4f4e7aa5d5a47d8d", + "support" + ], + "storage/interfaces.html": [ + "76fa61c3a87485266a7f9d6f66e5d08bb7881ff7", + "testharness" + ], + "storage/interfaces.idl": [ + "d3ac8afefe85ca580a514349060b8019f6fccc36", + "support" + ], + "storage/interfaces.worker.js": [ + "da11cf56486fe08214f91d181b3a19775f6aa59c", + "testharness" + ], "streams/README.md": [ "301e457a14a26ed154a55d2811e32d5ceb4b004c", "support" @@ -79629,11 +85431,11 @@ "testharness" ], "streams/readable-byte-streams/general-expected.txt": [ - "2733ed7714db628e3d92947717d41e2f50f7aabd", + "e3674a9015168f4807fb43fa9789b2b7b39b4805", "support" ], "streams/readable-byte-streams/general.dedicatedworker-expected.txt": [ - "2733ed7714db628e3d92947717d41e2f50f7aabd", + "e3674a9015168f4807fb43fa9789b2b7b39b4805", "support" ], "streams/readable-byte-streams/general.dedicatedworker.html": [ @@ -79645,7 +85447,7 @@ "testharness" ], "streams/readable-byte-streams/general.js": [ - "0e152a87376ea798393d4d9254722688a0bccc81", + "4a7d7a12437ad4c3ad39411c8fddffeca664dab7", "support" ], "streams/readable-byte-streams/general.serviceworker-expected.txt": [ @@ -79653,7 +85455,7 @@ "support" ], "streams/readable-byte-streams/general.serviceworker.https-expected.txt": [ - "6f3121158edcbd2e3ed62a83fdfc1c35518f6a2c", + "6881eeeace6ed791c142c14609d475d5880b7a2f", "support" ], "streams/readable-byte-streams/general.serviceworker.https.html": [ @@ -79661,7 +85463,7 @@ "testharness" ], "streams/readable-byte-streams/general.sharedworker-expected.txt": [ - "2733ed7714db628e3d92947717d41e2f50f7aabd", + "e3674a9015168f4807fb43fa9789b2b7b39b4805", "support" ], "streams/readable-byte-streams/general.sharedworker.html": [ @@ -79788,6 +85590,26 @@ "42cf0e2dd45eae0311c210cced7d9c9c83620501", "testharness" ], + "streams/readable-streams/floating-point-total-queue-size.dedicatedworker.html": [ + "e07b6c46f7975b76a309ac9b728e4215d5e7fe9d", + "testharness" + ], + "streams/readable-streams/floating-point-total-queue-size.html": [ + "43c8de999ccfcbaa0c8dc78f8d2f64ca05fba5de", + "testharness" + ], + "streams/readable-streams/floating-point-total-queue-size.js": [ + "9e6ba92e9b69437c23f04c80fff47c951e509db1", + "support" + ], + "streams/readable-streams/floating-point-total-queue-size.serviceworker.https.html": [ + "3817418bce8608ad6305acf0119fb0f2694e5531", + "testharness" + ], + "streams/readable-streams/floating-point-total-queue-size.sharedworker.html": [ + "00af09f46d126d6d2944d13831896e648094d1a8", + "testharness" + ], "streams/readable-streams/garbage-collection.dedicatedworker.html": [ "0c774ff797fda7a5b5a828a4600a39dae72cac0c", "testharness" @@ -79813,7 +85635,7 @@ "testharness" ], "streams/readable-streams/general.dedicatedworker-expected.txt": [ - "230256a7de8610f843228e826d4f3b0049204c64", + "409678eef4f0960da0b8c6388b61bff4dca3bfcc", "support" ], "streams/readable-streams/general.dedicatedworker.html": [ @@ -79825,7 +85647,7 @@ "testharness" ], "streams/readable-streams/general.js": [ - "21bc74e707c6faa045ffee6211065e3f8d32b211", + "655cd8df67e0ef1c7f14e60bfb1584631e3291b5", "support" ], "streams/readable-streams/general.serviceworker-expected.txt": [ @@ -79833,7 +85655,7 @@ "support" ], "streams/readable-streams/general.serviceworker.https-expected.txt": [ - "c78457a9f96493462b1849e9dd00f66e52023f54", + "86de36e8dabc3f2c577e2f904c2f6a99be41ee66", "support" ], "streams/readable-streams/general.serviceworker.https.html": [ @@ -79841,7 +85663,7 @@ "testharness" ], "streams/readable-streams/general.sharedworker-expected.txt": [ - "230256a7de8610f843228e826d4f3b0049204c64", + "409678eef4f0960da0b8c6388b61bff4dca3bfcc", "support" ], "streams/readable-streams/general.sharedworker.html": [ @@ -80168,6 +85990,26 @@ "875e0dffe7710c21bfcb8f554c2216626c2eb013", "testharness" ], + "streams/writable-streams/floating-point-total-queue-size.dedicatedworker.html": [ + "e07b6c46f7975b76a309ac9b728e4215d5e7fe9d", + "testharness" + ], + "streams/writable-streams/floating-point-total-queue-size.html": [ + "43c8de999ccfcbaa0c8dc78f8d2f64ca05fba5de", + "testharness" + ], + "streams/writable-streams/floating-point-total-queue-size.js": [ + "14d4a8f5559831fb266061e75177339ba0073edb", + "support" + ], + "streams/writable-streams/floating-point-total-queue-size.serviceworker.https.html": [ + "3817418bce8608ad6305acf0119fb0f2694e5531", + "testharness" + ], + "streams/writable-streams/floating-point-total-queue-size.sharedworker.html": [ + "00af09f46d126d6d2944d13831896e648094d1a8", + "testharness" + ], "streams/writable-streams/general.dedicatedworker.html": [ "8583d80450b090c16ed0795170340d040449bbc1", "testharness" @@ -80177,7 +86019,7 @@ "testharness" ], "streams/writable-streams/general.js": [ - "b3c2f3296f0b2e37b906027f53a0ce394ad89a20", + "22131ed892a5b38321a49bd7ba1e8b2dca780e7e", "support" ], "streams/writable-streams/general.serviceworker-expected.txt": [ @@ -80333,7 +86175,7 @@ "testharness" ], "svg/interfaces-expected.txt": [ - "175c415b82d99e95cbf026ecd52a493f6808d71f", + "1985757d283da280151ab9f5c7e375265f486c3e", "support" ], "svg/interfaces.html": [ @@ -80920,6 +86762,18 @@ "10d9ee521240475a1729c2facfcea8b50342614e", "testharness" ], + "web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes.html": [ + "a79db70a385ad767263f285c9401b66611087e42", + "testharness" + ], + "web-animations/animation-model/keyframe-effects/effect-value-transformed-distance.html": [ + "59e86254c8c118bd30b5c6742cfeaceba783eaee", + "testharness" + ], + "web-animations/animation-model/keyframe-effects/effect-value-visibility.html": [ + "b01c7c5145c183fdca80dec4ca1966b0f72a7003", + "testharness" + ], "web-animations/animation-model/keyframe-effects/spacing-keyframes-expected.txt": [ "5e0e93d23dfbc8592e0466c8b52b0e8aecb85c52", "support" @@ -80928,16 +86782,12 @@ "318bc877791852b0829a3e10cb19e2a20a15adab", "testharness" ], - "web-animations/animation-model/keyframe-effects/the-effect-value-of-a-keyframe-effect.html": [ - "b87824689825406a384d2e8afeac54c790ed16e0", - "testharness" - ], "web-animations/interfaces/Animatable/animate-expected.txt": [ - "4ced1e2ad479fbb88e43eb3e48b30fad67de170c", + "da37cabf824042a09bf1b974a48059afe95b827f", "support" ], "web-animations/interfaces/Animatable/animate.html": [ - "d2d57b1fe0bd5b6da4c44c569ff7dcf802298919", + "d076cdc3862c8a178d69d44cfe422f4e48b0649a", "testharness" ], "web-animations/interfaces/Animatable/getAnimations.html": [ @@ -81033,7 +86883,7 @@ "testharness" ], "web-animations/interfaces/AnimationEffectTiming/easing.html": [ - "e1055f83a2774e4c406b813cfb19d3ea4db83970", + "5d21bb3ae43da1226f9510595b47b452b3b8f223", "testharness" ], "web-animations/interfaces/AnimationEffectTiming/endDelay.html": [ @@ -81101,25 +86951,17 @@ "testharness" ], "web-animations/interfaces/KeyframeEffect/constructor-expected.txt": [ - "b3008343960e58f43fdf21b261eff483b0792f41", + "78116feafa4663aeb21ebad7ed37d3c05b493319", "support" ], "web-animations/interfaces/KeyframeEffect/constructor.html": [ - "577241478fdeca6257711e9f90fec64372bd5637", + "1011b4146d1054ee6498cce1905230a10fdb9f96", "testharness" ], "web-animations/interfaces/KeyframeEffect/copy-contructor.html": [ "e1dfb5c05807a37974ecce98bb8c683cc291bfe4", "testharness" ], - "web-animations/interfaces/KeyframeEffect/effect-easing-expected.txt": [ - "ca32a316d034ce41c1aa5d369be514bcce8a47a2", - "support" - ], - "web-animations/interfaces/KeyframeEffect/effect-easing.html": [ - "1a8cf09dc40d3a53c0c7f17d6d7da81ab0b11b9e", - "testharness" - ], "web-animations/interfaces/KeyframeEffect/getComputedTiming-expected.txt": [ "be87c6f1d49ad765a40568a25bedd977542e727c", "support" @@ -81137,7 +86979,7 @@ "testharness" ], "web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-expected.txt": [ - "f1701773ecaf9531e8463812ea91f3f011b83155", + "47223dc5350adf8c2f70e95424dac0d2ae0bac35", "support" ], "web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument.html": [ @@ -81180,8 +87022,8 @@ "2eb6b663f4ec25284370d16042444c43edb80c02", "testharness" ], - "web-animations/resources/effect-easing-tests.js": [ - "429325e4ff9a4e1dc5277815a8f2a5ba2c9ebc3f", + "web-animations/resources/easing-tests.js": [ + "190134380a0724f470a03ed0aa20c936bfed8d6c", "support" ], "web-animations/resources/keyframe-utils.js": [ @@ -81252,6 +87094,10 @@ "266f1b793aa74a59486081f3ba8f6cbb482e714b", "testharness" ], + "web-animations/timing-model/time-transformations/transformed-progress.html": [ + "6eebd47c9e60c9590de4d1747f8b8b7866a4a275", + "testharness" + ], "webmessaging/Channel_postMessage_DataCloneErr.htm": [ "a62fdac80932ca059c8853ca9a9f8edd13926f86", "testharness" @@ -81705,7 +87551,7 @@ "testharness" ], "webrtc/rtcpeerconnection/rtcpeerconnection-constructor-expected.txt": [ - "929e1305569899a03416fabc135fc2c775ff7f90", + "ae19b2abd560bd378b5a4dc0afde8763fd09cdc2", "support" ], "webrtc/rtcpeerconnection/rtcpeerconnection-constructor.html": [ @@ -81713,7 +87559,7 @@ "testharness" ], "webrtc/rtcpeerconnection/rtcpeerconnection-idl-expected.txt": [ - "683342cf65c9907063e1124f98c7c913d3089d83", + "35c0cae70e3415ca49b29d91ca7dad467d73221b", "support" ], "webrtc/rtcpeerconnection/rtcpeerconnection-idl.html": [ @@ -81985,7 +87831,7 @@ "testharness" ], "webvr/idlharness-expected.txt": [ - "8929a16ee3585369c3c94cb89ac1db19681445d5", + "4ec0d16ffbfb8d51f8ff2aeed3c509ede7b01022", "support" ], "webvr/idlharness.html": [ @@ -81993,7 +87839,7 @@ "testharness" ], "webvtt/interfaces-expected.txt": [ - "4907c3ebbeabc6a3160cf4ce80973799ba3eb105", + "8dd4d09321332d620e50160d2f7f60ea4a2d2bd6", "support" ], "webvtt/interfaces.html": [ @@ -82001,219 +87847,219 @@ "testharness" ], "webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_completely_move_up-ref.html": [ - "1c18f763f31ab8e7c0065bfb8af58bc1d7cbc6c3", + "d7be95cbc484a1f9abeb5d00c6b8accd1fc5fe07", "support" ], "webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_completely_move_up.html": [ - "50b82bfc99db1046201ed63b896c9eabe9535b49", + "cad66b4c25cb60fa43da02887af9c44c766dc300", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_down-ref.html": [ - "505ee0cce5ff7659f6220859421a5a6105ccf798", + "66fbf8f922252f325b7f7c8f904a841553d6d37b", "support" ], "webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_down.html": [ - "dc38421f9a9da1619605a4f3e6da8c6160700a6d", + "710ab5bc915fd8c99ebed77f057014765deba774", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_up-ref.html": [ - "def50c1e3ef0456b59fd0181b05d319d60f36bf1", + "57f54c1ff6fcdc2689f5850588a8bf93985242ee", "support" ], "webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_up.html": [ - "e84c727ac9a44e523e5c4cc2a5f5b2b17f126df4", + "3d8663ee40b489400ae894b125e1dc8e941c0e58", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/2_tracks-ref.html": [ - "b98c5106c65dedb0073c1e834095f3d52e937781", + "b06e68c72a5049b77722be25c5bfb40553576dee", "support" ], "webvtt/rendering/cues-with-video/processing-model/2_tracks.html": [ - "e0615dc64febf683205f471161107301b77c8415", + "6041d89b12963438b72678727bf8a6e03d4ae67c", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/3_tracks-ref.html": [ - "a144f103a8f0ebe5d72c135c7734be00abc16e06", + "685135c9714495f010c3dd4cd4666cb72e5ebb83", "support" ], "webvtt/rendering/cues-with-video/processing-model/3_tracks.html": [ - "a9001029051b48f594cd5b6ee5bc29c00eeccd66", + "9c49e4c2c50d35e0a6cf6e0e4bd3d07559f96578", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/align_end-ref.html": [ - "ce79574d0fdb5ec4451b3dd463cd09bf3dc07c8e", + "0405a214c3835d8b1a8107a2d10aa3f13e2170ef", "support" ], "webvtt/rendering/cues-with-video/processing-model/align_end.html": [ - "59c88ac1f91216f57279607a0a6158c1f622f7d0", + "8a0737a00641eebc26dc9a49dba28a560f18af15", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/align_end_wrapped-ref.html": [ - "2ba5a0f9a95602ca46270de9d04926f5b9d2bcd9", + "8472691cefa5a0f92fc5ac5cf5f968de3f0dab88", "support" ], "webvtt/rendering/cues-with-video/processing-model/align_end_wrapped.html": [ - "2a24a8228bc08c9d0d29cfd8aa04c6dc772835bd", + "2adc30c7986573ad4df05aea96a278e60be51d7c", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/align_middle-ref.html": [ - "919e84594762d2c9c1ee642fec418e7a5282dbae", + "6432342a2dbe5ba000d22d5ef28af80feaa9d82b", "support" ], "webvtt/rendering/cues-with-video/processing-model/align_middle.html": [ - "812910e0bb701e1452b5dedc58e362a31d958a75", + "4b42557a730c4c832796d721806fdd8cfe90e827", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/align_middle_position_50-ref.html": [ - "cd3f618ec821d857f766ab50329e9029e292b7dc", + "f7c26a6124ceafd674f3cf1cb9a8460526d5b502", "support" ], "webvtt/rendering/cues-with-video/processing-model/align_middle_position_50.html": [ - "3bbfc24678f67f17cd48516413e32c5414fc7778", + "e3abe16b5c775c72e2f650661e2202316888d8bf", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/align_middle_position_gt_50-ref.html": [ - "8bd77c09d9b41fa8066582d1e2c6b8f4b775444b", + "774d6b535eb91dcba7c102412cdc5a3646978cf1", "support" ], "webvtt/rendering/cues-with-video/processing-model/align_middle_position_gt_50.html": [ - "f2ee11e7a8f510b21fbf028d8850b508e7bd1aae", + "587425d7701ed5b4e8913f665cd71cb38261f58b", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/align_middle_position_lt_50-ref.html": [ - "0093ad8d0fc4c2adb46946a9f943f04a02c77173", + "51abfcf959392f17226e743e2606f857828c5c46", "support" ], "webvtt/rendering/cues-with-video/processing-model/align_middle_position_lt_50.html": [ - "5d4ad6e711204256f7b36714e76c56cde1465329", + "dff97c8de840d20d793425e9dcbd66da42fb7678", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/align_middle_position_lt_50_size_gt_maximum_size-ref.html": [ - "b60639ec1e7b9b598dc5740655597e44a1aabb25", + "0563b0f43aeb19632a70dea0c5b5bca015aac6be", "support" ], "webvtt/rendering/cues-with-video/processing-model/align_middle_position_lt_50_size_gt_maximum_size.html": [ - "013f530bcc54a3853fe13551209508e335315ef6", + "0aafa8f20ef3fc00070b84bf0a50cb47ababc7c3", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/align_middle_wrapped-ref.html": [ - "9bace3032c8905639470fac1a771111f1a066570", + "69073806f96c39d33392f0e0120851f5a05b6c9e", "support" ], "webvtt/rendering/cues-with-video/processing-model/align_middle_wrapped.html": [ - "146b9f11c3446dd4532194e3a95304826a6ae904", + "f908bfc1483da4bddbc2618f9e42721b49f1b55d", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/align_start-ref.html": [ - "24e52248fe2b69690cb3c90d9bac046ec438f9cc", + "2dd9fda9a4d77dd0d3d304861e699f4a0c9aea3c", "support" ], "webvtt/rendering/cues-with-video/processing-model/align_start.html": [ - "b06086f1cf79f60092312cab504d167d9beb87b8", + "b1643e60b742b1b42b8ad4fdfd8ae02820eee742", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/align_start_wrapped-ref.html": [ - "d033ceb34a9972319007bd3ea0ebd28c331aa8ef", + "f3b1635b58faffd15f683706cd546f123030ab5c", "support" ], "webvtt/rendering/cues-with-video/processing-model/align_start_wrapped.html": [ - "95abbebb916c95359ad7d0b192fb8276d16051e3", + "d42ba58c219c21282b5425e4f1be5042792fbf11", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/audio_has_no_subtitles-ref.html": [ - "0f755b5485c947bd17e5b4cbe60a3c90d305c497", + "d9cebfba86d2323153c94e98ba90645acb568799", "support" ], "webvtt/rendering/cues-with-video/processing-model/audio_has_no_subtitles.html": [ - "2db63df750ec42628e64543a17e23ee12c82bf8b", + "d4283d840180e3d6f6757d8b665a3ea78378d83e", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/basic-ref.html": [ - "e9708127bc4254bd26f2e0137d68f209b0e32e8e", + "16f5a4c7acf47a4de36c205b2fe0271e0baa5df0", "support" ], "webvtt/rendering/cues-with-video/processing-model/basic.html": [ - "3b5aa06f1bcf0d2ae9b92a51bbba4f08a8d025a2", + "ea752bfa75e7a1b24c7de5f86eb10f8117c61f74", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/bidi/bidi_ruby-ref.html": [ - "35e64c4f740be3e8a45325dd182abaf11928409e", + "ba73df2a093319e45e611714647440f70784d335", "support" ], "webvtt/rendering/cues-with-video/processing-model/bidi/bidi_ruby.html": [ - "8502c592fda507710c477caa80b761e4ee7187a3", + "fed662e2a5b47fa3734fcd4c0c687b67860a42e8", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/bidi/u002E_LF_u05D0-ref.html": [ - "4f58b64bdb150db224007fce29a7b0bea90856de", + "d4e7994a0e3d7a71fbe007cf61b16757ff0c200f", "support" ], "webvtt/rendering/cues-with-video/processing-model/bidi/u002E_LF_u05D0.html": [ - "91e1f9867d66686e4c110a2debeaa06fadee9acd", + "9559aba727a9caed9529cf9c985bd26872269cb1", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/bidi/u002E_u2028_u05D0-ref.html": [ - "90858a90eb912106ac7e82df05f52eabd2485629", + "874ae44478fb48dca933f2ecc4c4740979f963ae", "support" ], "webvtt/rendering/cues-with-video/processing-model/bidi/u002E_u2028_u05D0.html": [ - "68e68568384704b2c4bc549ed2f4a6479eeb0121", + "b22f1b485d7bb195e491f04f7bf2f1c9e43f9f98", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/bidi/u002E_u2029_u05D0-ref.html": [ - "94e4751bdd0b653b95a3d61ae90aeb07a9998e41", + "e79c4119ffd4d51d93f67738077aa59db0cb4294", "support" ], "webvtt/rendering/cues-with-video/processing-model/bidi/u002E_u2029_u05D0.html": [ - "09806ca4a1728aa93486b503782de8829f6d6400", + "40dee0947ce24a81e96b2f59a46338aad567d0e1", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/bidi/u0041_first-ref.html": [ - "23c9d46e50437db4880c2a405c1ea74e6e4707e7", + "fafb80f6db2d051dc7e2d8bf8e7eccd012ed01c7", "support" ], "webvtt/rendering/cues-with-video/processing-model/bidi/u0041_first.html": [ - "29b758948bf3d90e1c88ff17ec5349d347f3120e", + "eed0135e1c9408050db9bca9e5255846deb661ee", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/bidi/u05D0_first-ref.html": [ - "3180844b36367e0b78b69e4eff5a3e1c7b1c4efd", + "d3746cd3c5f4902eecdf1cae7fd9158657db57c1", "support" ], "webvtt/rendering/cues-with-video/processing-model/bidi/u05D0_first.html": [ - "ae3b9ab48389f7e1a81f6f28f2426a2502d8f92e", + "ea0d47e6aef235dda7f602576d9eee3a1515193f", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/bidi/u0628_first-ref.html": [ - "2ed34f0d9a88c851b000d7b1b60781c9cae7e301", + "797aeb4a955b84ef44c069f533e0d2cbd41bd50f", "support" ], "webvtt/rendering/cues-with-video/processing-model/bidi/u0628_first.html": [ - "b667e562cf303a5886581ef3f6734cd5650f5e7a", + "2a1e9977ecb2c33c38a4553e915bb68f53edcb89", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/bidi/u06E9_no_strong_dir-ref.html": [ - "26c9e7f7df3b9cc96a6ff3957ffa46a508197fcd", + "0c0917d720a48848e7c66b70228bc06b831a6adb", "support" ], "webvtt/rendering/cues-with-video/processing-model/bidi/u06E9_no_strong_dir.html": [ - "1b3b2dc9b266464e70f35bd5a4805a27ef388b02", + "fc631777c813bde321d93ada833a906d235f5d6b", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/cue_too_long-ref.html": [ - "e61999b494f6dc3981df149f67a84d520b0e4856", + "a1ad25229ccf2edd31164b285fc84f94fa0d2eb4", "support" ], "webvtt/rendering/cues-with-video/processing-model/cue_too_long.html": [ - "cc176cf4090282690deee4112082d1b08cce47b7", + "7ef26d7377673819732c3bed6b7eb2b72783c4d0", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/decode_escaped_entities-ref.html": [ - "96940bf33e12cf59cce9543a583d7c25d73a0bb7", + "3a2c2a01229c6f1a2a291385f3695517b373e00a", "support" ], "webvtt/rendering/cues-with-video/processing-model/decode_escaped_entities.html": [ - "e6d9138b59278aeeeb43b443c534045103ee55e1", + "0190a91c791ce5345a56bc4dbd0d298fd644e3be", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/disable_controls_reposition-ref.html": [ @@ -82221,119 +88067,119 @@ "support" ], "webvtt/rendering/cues-with-video/processing-model/disable_controls_reposition.html": [ - "ee5d9c6c7c652b874fd1759b9d0b8896f63cda16", + "621e368f0f64f4f9d6bef4a5553de9339dfa629e", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/dom_override_cue_align_position_line_size-ref.html": [ - "42bcb3567a1e8379404ead090cbbf77e4ee925a2", + "c8f9e4530c24730d0dddadf3cbeb6865c38f6337", "support" ], "webvtt/rendering/cues-with-video/processing-model/dom_override_cue_align_position_line_size.html": [ - "d7bce25660e4f32de525b0c81a30015baf06e9f1", + "d53bbedca048617ea987e93e880f262cc2a9d308", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/dom_override_cue_align_position_line_size_while_paused-ref.html": [ - "24ae2074ddd27e260a9a0bd94699f422ae452dfc", + "7246fa884b30b35d56d582277d368dfc3721befc", "support" ], "webvtt/rendering/cues-with-video/processing-model/dom_override_cue_align_position_line_size_while_paused.html": [ - "2c79ac84ad3a343595e9e117bcbea413c9d4c456", + "415754e6b1e32ff6ee3e659779d55c1433bb5404", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/dom_override_cue_line-ref.html": [ - "d2dc7fc84e30b6c26e1786b87b6de94d95c89455", + "33a2156457f6eb2e3115c4eb4d7249b6d4a02269", "support" ], "webvtt/rendering/cues-with-video/processing-model/dom_override_cue_line.html": [ - "5c2fb34da9c0d2cfc7cb20530bc1c9ef87bceba2", + "5bf125065e7ad988794a0363b227ae74e53ba3a3", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/dom_override_cue_text-ref.html": [ - "2dd40ab7ca2149230181b71f69abcaf66546c503", + "683265816c90ed955925c03581a0663decf4fe91", "support" ], "webvtt/rendering/cues-with-video/processing-model/dom_override_cue_text.html": [ - "ea12a616a257f72860745d51c1457ba9b4d3399e", + "ca8754b608badcf900b0c2842250357bb8ef5370", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/dom_override_cue_text_while_paused-ref.html": [ - "443304d9df560740f92c637dd1a4fb4d08bcc9b1", + "80890cc67094d28b9959ee88e91c7d5c8974047c", "support" ], "webvtt/rendering/cues-with-video/processing-model/dom_override_cue_text_while_paused.html": [ - "e7ca8929d46f1700b76a000589801536f8a921d9", + "d08aa80540734c87196980b9053302f5fa4b2b0c", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/dom_override_remove_cue_while_paused-ref.html": [ - "298c1d2217124b6a15543b47f219dcf18278c183", + "5b8a5f597777418b7dba44e6e07d05625c599ce7", "support" ], "webvtt/rendering/cues-with-video/processing-model/dom_override_remove_cue_while_paused.html": [ - "20e50ce1b6cfbcc83e014920c15e31febb5f425c", + "5f9e48b0160ac1916034ac29cce97282ce9b1ecf", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/enable_controls_reposition-ref.html": [ - "71e48c0b77f2875b6f2231180230825daa48f428", + "f1e0fbe74815d609c82b441f2b1fc53079d80dcc", "support" ], "webvtt/rendering/cues-with-video/processing-model/enable_controls_reposition.html": [ - "ea5314c3dc5175a1da0d341d60e856247dea0df1", + "a66827b31618ea271142cbbf246cab3f3617899a", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/evil/9_cues_overlapping_completely-ref.html": [ - "d59b173781ccfbb89f438d3f6951ab6f101efeeb", + "0a8f9f41688d0ae9f82ea6a2cb1c3ada319304a7", "support" ], "webvtt/rendering/cues-with-video/processing-model/evil/9_cues_overlapping_completely.html": [ - "f6622b693989c92ab58e3074d110e95127c4fc8a", + "bcca1e2754eaf01b3d496cac913c35b3e2029e73", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/evil/9_cues_overlapping_completely_all_cues_have_same_timestamp-ref.html": [ - "5cdc418b59a34c54565336455dce37e0733a3256", + "489244fb966030353c3b6f3a3b491f72fe305fe1", "support" ], "webvtt/rendering/cues-with-video/processing-model/evil/9_cues_overlapping_completely_all_cues_have_same_timestamp.html": [ - "3ea46c55eed998e4042a2081cd1d836b34549171", + "35e95130f9de16f1d36d101a9c949cf23cf19cb2", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/evil/media_404_omit_subtitles-ref.html": [ - "7f07320df2e9e8aa48767c64f6a213f148ea39ee", + "79287aa190131b37d5f80c64bd6542728e77f49e", "support" ], "webvtt/rendering/cues-with-video/processing-model/evil/media_404_omit_subtitles.html": [ - "68e555316e4aa9054a5d725806628f321d7be5c6", + "e7fb4d0d611c6fc112c2ed938c9bd3d4645a504d", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/evil/media_height_19-ref.html": [ - "8fa2f0548a6119ea0c47377a96546b43b12c6ca8", + "7f8b653e516d469e7ac3ac89213e127bd5f39bc2", "support" ], "webvtt/rendering/cues-with-video/processing-model/evil/media_height_19.html": [ - "288957ac0ad3680794a17221bfb68b3843f8942e", + "21e3e3351fa785ba899a13a0843bc589050cf61c", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/evil/single_quote-ref.html": [ - "d2c02fd710173fb0b721cba6d166bc92126c6972", + "08dc250ad826553d1d4ae1d985849e387ffa78c4", "support" ], "webvtt/rendering/cues-with-video/processing-model/evil/single_quote.html": [ - "71cf513bcf43a042e3399e0ed7c16df8e6a9c6aa", + "257b8dbbe907640b2580c5b650f940082fba6bfd", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/evil/size_90-ref.html": [ - "fcdee0c9b86a4c7112c3d1eb56dd7366f234a592", + "798f50a2d5a04015240dd666da2756c7a8eca44b", "support" ], "webvtt/rendering/cues-with-video/processing-model/evil/size_90.html": [ - "b8fb820990d039243a859a0bca6a3a7d11bb6d2b", + "5f169cc7ad3f5090da43a675e320450ffd25c0fe", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/evil/size_99-ref.html": [ - "82c78cdc5d49473e18a903239c703684c1ab8467", + "886bdd04df75b4c9d8e1fd5aa90b1ec111f95c48", "support" ], "webvtt/rendering/cues-with-video/processing-model/evil/size_99.html": [ - "825dcf1aeb49ae0df46c3f49dcb911c9b8d3e31a", + "2bdaaf17ff385a02cf81f34a5b9776a173037ef5", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/evil/support/9_cues_overlapping_completely.vtt": [ @@ -82361,67 +88207,67 @@ "support" ], "webvtt/rendering/cues-with-video/processing-model/line_-2_wrapped_cue_grow_upwards-ref.html": [ - "07fdccbaafcde652ab4687de3856811eba2bee29", + "964fe8eff1f0d7e07d92a01606d0aab8079cd1c6", "support" ], "webvtt/rendering/cues-with-video/processing-model/line_-2_wrapped_cue_grow_upwards.html": [ - "3e0978c3b9c3329b1c0caa10b35e502d3a55be8a", + "99b692974d6d77be5ea1819958dbe8ebc99f50ab", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/line_0_is_top-ref.html": [ - "5955a59861b6e0287ee58a8ba3da8aca811bf716", + "db1d0250777a78508762ae76b9912447558137be", "support" ], "webvtt/rendering/cues-with-video/processing-model/line_0_is_top.html": [ - "7cb7716084a4a1e8480d2cbba9bdbaf8896b3db4", + "a11bc3ca00f8109c9eea8cda760dd49f84f1a58f", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/line_1_wrapped_cue_grow_downwards-ref.html": [ - "c1a081de6359c0f1ea8904df93956237169f74d8", + "712750113c4958e69b84b27da3e92b2c0641dc9e", "support" ], "webvtt/rendering/cues-with-video/processing-model/line_1_wrapped_cue_grow_downwards.html": [ - "cd137cc547d1bcfa09d263aec545d5a74ee97fdd", + "ab7629e596fe04f9f5d90bffbec4c612e5f65d81", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/line_50_percent-ref.html": [ - "18f78ceb955048dd753c8264a7f4f0e320744ef0", + "29fa1af62e65917b6e4671cfd5708466d577cd68", "support" ], "webvtt/rendering/cues-with-video/processing-model/line_50_percent.html": [ - "5f06d08c5daf8d5a9c7a0f143514ac9e1d025d04", + "dc5427ecfb2a48197908a555d9cfcd682f2df737", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/line_integer_and_percent_mixed_overlap-ref.html": [ - "3107d154d0044c3d42ac718a6dd3bc85acb866bf", + "4c7ce6721ae61ef2156d26768da733d275b267b0", "support" ], "webvtt/rendering/cues-with-video/processing-model/line_integer_and_percent_mixed_overlap.html": [ - "4c874d89fd55a019c8eb61b9360ea3ad72cbd269", + "44912dc23a0660383ebed44cd6edbeefc3c29d82", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/line_integer_and_percent_mixed_overlap_move_up-ref.html": [ - "76d806996f55cb1a1944f5594fb02268a4a79d72", + "c8283f6cc6a5c2686536e2507aa783c22c14d261", "support" ], "webvtt/rendering/cues-with-video/processing-model/line_integer_and_percent_mixed_overlap_move_up.html": [ - "ca75e3c6148b4bf8d00203303a6a165dff77afeb", + "380cc5c6c6e856d045240e124dac8c2ef4b66b03", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/line_percent_and_integer_mixed_overlap-ref.html": [ - "a57f3b66ddedf98bc3c6087686a862c9f93dde2e", + "c3dbfc769eabb5d734cdf1d2c6262c54c3ff6b54", "support" ], "webvtt/rendering/cues-with-video/processing-model/line_percent_and_integer_mixed_overlap.html": [ - "aefd281cd0ac0b4620abbf187a29dab1e2d3ae68", + "fa900bdf2b458f8a5a3355a83f0ea5b292730a90", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/line_percent_and_integer_mixed_overlap_move_up-ref.html": [ - "aae7bd720994efaae358569c6dca3223bed3d727", + "6a4ae36f8c6079b7dba073b7c89209aee62093fc", "support" ], "webvtt/rendering/cues-with-video/processing-model/line_percent_and_integer_mixed_overlap_move_up.html": [ - "52e8fdb84658d272dd1c99a057c43eb017da49ec", + "12bffda9ac59dfba8be702c0cff74553bdaf9554", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/media/background.gif": [ @@ -82429,27 +88275,27 @@ "support" ], "webvtt/rendering/cues-with-video/processing-model/media_height400_with_controls-ref.html": [ - "9eb9b9024d19c4dc284ddbf4e2a38c0e8019540f", + "e53cec8a188639497fab90b54d89752d6d100928", "support" ], "webvtt/rendering/cues-with-video/processing-model/media_height400_with_controls.html": [ - "469dd3cf2cec543a4ff58cfa695cc523b27d06b6", + "6263180e1ba83a28175d8eddae3b0c560f4add1d", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/media_with_controls-ref.html": [ - "49ef1d548cd6bd66a9612155641f49707bda4621", + "b3e921c9fded89d44f618913495010fd6da2318b", "support" ], "webvtt/rendering/cues-with-video/processing-model/media_with_controls.html": [ - "91a75f8e3fb47a23ed64481761da23a4010e8d74", + "e65bd186154097bbc65c24b56cb34ade15452f76", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/navigate_cue_position-1.html": [ - "7bb97b9aa91ec7b013d8c8cfc29553d3714f1f76", + "b8e6bd57bcd9bfbcf57c08d2189232a0f677f74b", "support" ], "webvtt/rendering/cues-with-video/processing-model/navigate_cue_position-ref-1.html": [ - "1e5a0c2dc8fbf9a76840e0653268bb77a103327f", + "9fd4f8821d2f50d347fc16c04c1a0b4cf5194e3b", "support" ], "webvtt/rendering/cues-with-video/processing-model/navigate_cue_position-ref.html": [ @@ -82457,19 +88303,19 @@ "support" ], "webvtt/rendering/cues-with-video/processing-model/navigate_cue_position.html": [ - "ba5cacb3f0e51da8de637c50e9c7bd623437d6d5", + "fb119abdd856eecce5f2bf07ccd0a4178f40fed8", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/one_line_cue_plus_wrapped_cue-ref.html": [ - "0a461d9689e96221257c96063b0356987e4b3c01", + "91f6ceabe954fe3781a1a9eaa3ab5ae7571a6998", "support" ], "webvtt/rendering/cues-with-video/processing-model/one_line_cue_plus_wrapped_cue.html": [ - "fd7f610a70a0c5bb29149a0a17d2d37d2629744f", + "a110dd9ee53738fa9caf7ec7d4b09ee77e64f1b1", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/repaint-ref.html": [ - "fd3066cdf54113cef00dced51d526cfdc1b4bb22", + "ccad6f476b3766f9c5c0a5aab6d30e132166818e", "support" ], "webvtt/rendering/cues-with-video/processing-model/repaint.html": [ @@ -82477,1299 +88323,1299 @@ "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_properties-ref.html": [ - "25803ece2eb5b4734c03fec47de92635965aacfc", + "b2be217c9fe3b016598ced75a088e56494e87bab", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_properties.html": [ - "010b0cac0fad20d0683db947fdf5161f4d639c16", + "88def9abb4eedf1275443c9d0fc7fec572fa768a", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_shorthand-ref.html": [ - "2e1b33007d4d70778438cfca845d1b8fc078775f", + "9a77b76cc0e94087770f5e4b762354dabb1f01bd", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_shorthand.html": [ - "1b63a4ce76cf610c4896397406846f893a92d006", + "714a93a01ecadd0504694d84298e75c3b60775a8", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_shorthand_css_relative_url-ref.html": [ - "799d282e1d9d865d2997466b656a5fd2aab95cfe", + "5beca20df24fc893f5421d8136acbc35f25b70d2", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_shorthand_css_relative_url.html": [ - "ec506bf6c1b8e82a0be95de3ec3fd7d8ccd631dc", + "1f2d89dcf1e3be72164df0d8bbd57ae81f474604", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_hex-ref.html": [ - "9131f5c2107d09d3f3fc8a523b80f200372e458d", + "e7a167844494c53de8745023ea08bd19fb3005f4", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_hex.html": [ - "9dae790cc0571d510fcff2eacb1353c8a63685f7", + "1d4302489fe0a47cec4d3e648eb08296618804c5", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_hsla-ref.html": [ - "513e4f57ad6ae97097eabcd8e0a6477c5da796f9", + "e01dee4d4fdc41a4f5843d745ec4fcbb6a64a94f", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_hsla.html": [ - "28bc6e7ba8d52d5bc6d9eb74eed976ca29047ad2", + "e3a2bb2c313adb0676f19a50090e7ccd316071d3", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_rgba-ref.html": [ - "950ab4cfbff6e42d05bfd91dd6a738642fb14acc", + "9df1eead2d68564e84f0199bbdd369f79d114795", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_rgba.html": [ - "35af0ff7795c8b4a175ecc863de00ed017d15ece", + "5c1dc91830653ba99bed4ccacad15be170e9b6db", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/cue_selector_single_colon-ref.html": [ - "86c17fab221ed1aaa624c048bab944d578d71af6", + "5a04197b3aa50f41a6686000c26701781d7175b4", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/cue_selector_single_colon.html": [ - "63fb3da9c8291ef1e8ccdf1837b6473c93e01162", + "f8cb515ab2bb668807069da28a1fe31075c40348", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/font_properties-ref.html": [ - "7b72171dfef6e8ce0e185ec3ae9d4c1d9a20cde4", + "cd4d7cd27e8eaec14b7fcb855dd0449ed5394f24", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/font_properties.html": [ - "01a30eb354fd550a5756f5a24d42477a775637f0", + "5afce03216fc06aa4cb64979428f037c0b5d688d", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/font_shorthand-ref.html": [ - "b109336b8bf8919c0ef3a20e196bcf2ed1bd1326", + "7d536398e37606fbc0a9d6156c8c73c0c0d1ca49", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/font_shorthand.html": [ - "03df93028f5cc26eb26b0003fddc5ab4016f67ff", + "5d6e9139b3404389425efe8b6c8d6e258ecd4f85", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/inherit_values_from_media_element-ref.html": [ - "19228d77fd10bcb490e96a1535a75ea5da7ab465", + "0936ae100d1d6b183d40542214c1f5dbed8791c5", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/inherit_values_from_media_element.html": [ - "60dcc3338d03613ca180dd98d22b83dc624a7b20", + "b293b5752395b9cb6e3e5987a1098283bb539f9b", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/outline_properties-ref.html": [ - "68a934abbd04e73443862a0c1556914d0ab2c86e", + "5aa1843b4e18012a7b5770a7f8cb4f471811155e", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/outline_properties.html": [ - "26900755ae31d05632837965ae9860ad904a28dc", + "76d58daa5de94bc66685f83064f35a896ee2cd3f", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/outline_shorthand-ref.html": [ - "dadc421edbbbff6e338e2e67c651c5694ea58b00", + "a1224063dc382f9566d7c7c746101a0805753552", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/outline_shorthand.html": [ - "ec4979f788ebecb6205a4688f723f49a6d6e43bd", + "99fa16b6510c399de0bc0423fb4f88f9760e8960", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_line-through-ref.html": [ - "65c9bc89d67dd7064d7f72815865af5b0d0d9471", + "c462aba3696dfc93cce76f62470879e4c8773d53", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_line-through.html": [ - "37fee9f20c3b6584fb00078d66d74a92246c413f", + "5e22589026e4da0e0687e0bde9d3a8ee1631cb68", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_overline-ref.html": [ - "1092d503a82a92f533af2e38452d9ae1e848d6dd", + "b032d11e1217445d02a18ec924ac006e48e9d9fa", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_overline.html": [ - "e597dc31f1e5b1ee5d32c20bd8de7c8c8dc64d3c", + "6d1f4262c265ebcd6d7a7886d53592e2b437d801", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_overline_underline_line-through-ref.html": [ - "a04798fb61942e5e143a4f97f068adb99761e0d9", + "0829db5d9fbb42081e35f34fac80f0ee71afe7af", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_overline_underline_line-through.html": [ - "5cc2f906eea9495fb6af92443661eea07e682593", + "241182c6063f9d7e06041db13ce4d63f262ca31f", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_underline-ref.html": [ - "eb97373a62cd3026077febac776395eda6ddc17d", + "6eadb08cec879c04b39bf8054fb4bc4d5ec57dbf", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_underline.html": [ - "34f2d2ff0027a10ccfb3392a6883bf9587054055", + "4e3f573d323d3522d3df120f4c1a4175a0986999", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-shadow-ref.html": [ - "1ccb5dc86da9bbc2195353e4e2fe30deb5539aef", + "f0573f41279d1a843041e3da3ebffe2ab9e4c672", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-shadow.html": [ - "640faa69ae29d8aa5dcfa8fb5462b0bb6e0f53f3", + "ab5973c947156b96ab4a5ae25f298ae7ebe724c8", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_normal_wrapped-ref.html": [ - "fb0b465ef014894c175de473dc100db2f29d8ec8", + "ca17ebd56575255babbdaffd783cdcdecd1a0b99", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_normal_wrapped.html": [ - "ec4756b58757ead0108136137ac9e69cd733c306", + "d53ea5dde4df4b4cae3a2fba432f4b8781608854", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_nowrap_wrapped-ref.html": [ - "f98f02d931bc1c7057f63e69c77ceb0f87dac355", + "ccd6ee1deb3848167a3a6c05e437282c975ef27c", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_nowrap_wrapped.html": [ - "1a381b2d81ea6217334b6cabbdd6467b7a7ab3ed", + "68d7bb0010fee6b0cc4ec9d8e2d07df3dfff1c77", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre-line_wrapped-ref.html": [ - "814bcf46154db6e3abee47cf552250a2cd1268c7", + "6c283de90dc118c898b2af86588d7af52fc2ad5e", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre-line_wrapped.html": [ - "c0bb7f61fb613e508c2210b104bc539e9f09fb17", + "c2ea3fa00326360b25cdb23414c48dc34b5a867e", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre-ref.html": [ - "44648133d9ffaa0051d042a435284aa015c44949", + "f28ece32c7e704bdd5801a09c3ac21a0f66dfde8", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre-wrap_wrapped-ref.html": [ - "921f72c2bd4f5fced5280b83fb059fc2d8593ee6", + "126dc16e5e8a993bb3f5b586914ad425dded1899", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre-wrap_wrapped.html": [ - "813659e8522f982fb2323073bb7f256e1dc251fe", + "84ba6cb43ed166f8453c5f73b8129f21e522be92", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre.html": [ - "5bedbe4f60b4c0ac3bd24cf63a4816259e4ed0bb", + "e3ee7236e6f85c5172bc488d1b2184a59fc57ad9", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre_wrapped-ref.html": [ - "34200f27d7ba38909efcb4262c4f52da0d2e7103", + "6d6576d6621d1af8268afbea5d396f1423c94c3f", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre_wrapped.html": [ - "745a354e1442d75fee2445155cc1ace80dccf9ab", + "32a82273904d6acc67a9d0bba94006a31b58e179", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_box-ref.html": [ - "c950ef00721802648bc56288265ce0f37a4803bf", + "9bf705e12ed7b33da7e951787badeb7fd4e74ba3", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_box.html": [ - "ea8af1eb665764f791a9908734a759bf6cc7d270", + "f31df8d1a69ddd6e0d720e5f5358ab1ddd24037b", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_properties-ref.html": [ - "c1c799e9788d69960d3a6212ff6a0d9de12068f0", + "89a7f4c433e2cd048bb7f16ac4f2d7fff35c318f", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_properties.html": [ - "3b9e6518c94c9e95f51430a40fbfe202864a4dc8", + "aa6f043e6bf0a0adbc7c7c8178141e3f6cbe065b", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_shorthand-ref.html": [ - "7f8752283f53bca6b6b8710803825ad9c4b2bcaa", + "63227457d7f557ab1c3765bad2bb7949fe992249", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_shorthand.html": [ - "3e7771e8ea8db45105ad7306c05f8911c4bafde1", + "3a81f5fcda80c9ebdbb71341e594770dc9c34d13", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_shorthand_css_relative_url-ref.html": [ - "d1f6ef4dd9f2a305c1258fefc1caae543236ad39", + "f918e059f40aa26e049b529dc327ca598d40509d", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_shorthand_css_relative_url.html": [ - "882d225bf446d22aafb8b93b1df7d990dcb7e59a", + "2211ae0bb6198f025aecc679714f4785c49e5039", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_animation_with_timestamp-ref.html": [ - "11c5b6a4cb7cbde237fc7e04157584f37a2d3db0", + "19cefc17dfd338bca227f997c5e42c54bc2cd264", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_animation_with_timestamp.html": [ - "2eadebac18cf6defced778b714a638411fa82e52", + "b07f2fc89ea3b1b4f397a86554a0a0dd404647c4", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_background_properties-ref.html": [ - "eef53dc869427b69065386e1e461e65f5e18a9af", + "4a6e9ae4a422b8c099a9592ce958e86c3296e67f", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_background_properties.html": [ - "58576a6bd2060c9a71e350257f0a71a5393a9c4b", + "6e54d7475f1d44f7428efeb194e0e044277c34a5", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_background_shorthand-ref.html": [ - "0fc6dbb98a40c57d6dfad69e65f9fb46f3303ab9", + "ad01d777d80771d747d44343c4c869fc59d2ea19", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_background_shorthand.html": [ - "fabe3e6e374ff49def45cc9fc7a75e6bb457457a", + "1fa7a71088396fec90a51c696c7329401d7537a6", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_color-ref.html": [ - "e7c3950392af4a28bbc57d7b385b96fd7a4446db", + "38f4f054a4b5e178a59ea425b495edc2211decbc", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_color.html": [ - "467743f1addb85d4354e356dbb22b95d2d480156", + "45d37ac270b21326392881aae450ff1a71214e2a", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_font_properties-ref.html": [ - "1a77dfed4f0d3db4087c67e5645acf143d971fa1", + "22861491bc7e33cfd8cd52dde40fdbf50b205eb2", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_font_properties.html": [ - "4ec77d2cd520e244fa284123faf260b81fc1a91c", + "b5d453475c2fd5269c42a8899633a6d1b4ca969d", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_font_shorthand-ref.html": [ - "445f4decff4159c1fb4ebc204f01dc0b527dca62", + "deb9c73d8d65afa3b8266f4024fa921642d51fc5", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_font_shorthand.html": [ - "c3a96059f54a1d647d69fe0b93e1eaef4f115f48", + "e7818ee5ee01e5c289aa34b4e20cfcc7be995ba7", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_namespace-ref.html": [ - "cabb108b446262cf2a53c3d9e4d96212b53f7bc8", + "d795f8beae0442c25e15bfdee2980c04ae1583cf", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_namespace.html": [ - "4a932bf3ef9b81b2ab66f74fdccf75211083ddce", + "3017759ea42493fe68c2cf11bd33cb0efd88b661", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_outline_properties-ref.html": [ - "d400a03b029bc171d303ca125e098d004b91ddab", + "0332950bbb0edb99b8c4bfd014aae3c55a6e973e", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_outline_properties.html": [ - "12d2cead71cdb0406418cfac13e8189fbaaf795c", + "3df4e089fca5db7861f2a3a8540f1137ccf414ba", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_outline_shorthand-ref.html": [ - "0f01a6a1f91d2e613ede4a5d54ae1752048f9d35", + "7f9f0934207d929abb03bbc9e808beabd254972c", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_outline_shorthand.html": [ - "2f5f0487fbe10487af2d349de912798cf23a498c", + "ac8a210bbdca7d654cb673fe47ff8784aa4b12ec", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_text-decoration_line-through-ref.html": [ - "70fec03ba7885657503e54d904a5bd60a7d57a4a", + "2cc05e8b4d7c25764fd7f08e503a7e6228074fe0", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_text-decoration_line-through.html": [ - "8d4b6e4b35857e725cdf89bf76e30c254397b535", + "c806b12c284dd804a2886ca5f74cab20914c54d6", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_text-shadow-ref.html": [ - "52db263734475cdb2c833d90dde85f55f4f17f87", + "c7af4d87c59239d5901467ad655827432c5b3772", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_text-shadow.html": [ - "854f82566cf71dbf7383ed685d87349c33e3e6f2", + "c4bccc3735fab06945c7c86c0f56c8339e486d6a", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_timestamp_future-ref.html": [ - "aec51b265a657b6b883f1741da255a38ff207592", + "429711db2396f45a64509f01fec30adce3f59750", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_timestamp_future.html": [ - "2a6cd9fae6c28de08352a77b2d7e2e40617e1ed2", + "0a660231677e2310593a0475ea994eb5be829213", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_timestamp_past-ref.html": [ - "8655c5a531b7cc74cd4e413aaccb46e75ba621e6", + "7896206c6fa528a8ca5e1ad2c24d2d291bc47e73", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_timestamp_past.html": [ - "8dbc7040babfbca5895bd74568f2785f8ba5bb6a", + "1fbd92485a5f5391057121e5d36b328af8912aa4", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_transition_with_timestamp-ref.html": [ - "0375f5bb048c661516c2cdf7239e20167091b41d", + "01df046e424f38d67aa75075f1bc1444a0c1c5c7", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_transition_with_timestamp.html": [ - "b64b96173908269c1627514c3a9233c48b565dbc", + "e9ca2ce5188c7dfce8f389e182ea713f19671b53", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_normal_wrapped-ref.html": [ - "94ec313158ba1a8ea2975e8bbdece67356ea130d", + "6da30cfd76b44bb3599a22d7c938bd0675a2addd", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_normal_wrapped.html": [ - "7e025764a3c6e840734bb40933f88170095b0465", + "be9d92a7e948b8af9c543fd058acc7f975807204", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_nowrap-ref.html": [ - "37ba8756de08f1a9bf35eec366e6db15905e91e9", + "6661e7ac10445ae9b76d71434627d616ba183e4c", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_nowrap.html": [ - "0bc0ee7c7b30653f4b292e53c55565343c335398", + "e802a3c7ce54c2330b1aa8e381be87593134a886", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre-line_wrapped-ref.html": [ - "5d9cc922efa324a4e99ab1ce334ad7611ed1b40d", + "4d0582ebdb084f54e19e5a69442c22562befc619", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre-line_wrapped.html": [ - "e56a1aaabe060d423ef50243c0cf6401ed8fc2d9", + "67032e99691e8395e9b1e2d8f55f94f19e340ea8", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre-wrap_wrapped-ref.html": [ - "f930f56b6d7434c109b24ee7af1ebbbe97b2a9af", + "799ec48986a08e2daa23f404936484c49162e900", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre-wrap_wrapped.html": [ - "f5c3fe40b33279b081ef6eb15c922de1697fa010", + "3bf08e439abe6648b1539cd422629c2a6e051511", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre_wrapped-ref.html": [ - "7540a7e3e6fa7d749b45b48ef4f52d116b6388f5", + "14c641c17ca17f012a4e2d68139210f88c760f5b", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre_wrapped.html": [ - "b48cbd940e0480fb0a7c962081fcc58f9f067f67", + "6d89789ac86f338ca91bac22b9ef4d8dda6f1e86", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_with_class-ref.html": [ - "471878f0173045c38636729e3cdf0dc6cc7028bf", + "5880088e60c227b767a44ac48d2acc866ec5ba19", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_with_class.html": [ - "5fa54ab91c48b101586d2c4a72b205c1e62e4934", + "37a938ac27594eba89bc14c1ecb1efaae5c8cbc7", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_with_class_object_specific_selector-ref.html": [ - "fbc24f09f0818b65e723d7ece39d9c6e0ab1860b", + "882b5a4a64a558fdbff8bc72d54f2ad915467caf", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_with_class_object_specific_selector.html": [ - "1913c83285cee2aebc771d0765393a755fbad130", + "3e47f730a2961b1cfa16e8c73745362c6a61f36c", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_animation_with_timestamp-ref.html": [ - "025eed6e493a7753bb860902287fcc9824a6f9b5", + "be91a9d5baaf48a9e0f6beca799d2b262281a172", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_animation_with_timestamp.html": [ - "19e8ef08163b2e3f5393c147dddb07548fe41b70", + "542ff8a413caf3ec52cde50b05203158e8084a28", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_background_properties-ref.html": [ - "3f75f6b36f5e64b9c5322050e8f6c620eafc1976", + "7e6b05a91fc114d6eadf867a31d772a084ebdc82", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_background_properties.html": [ - "26a49f74604907e3c8726e5ad59796e882cf1284", + "74fdef1b3968a1e4c8394d7a2b7f47639dae814f", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_background_shorthand-ref.html": [ - "5c74af362708fc57135796fed18d72a550b11b35", + "6625b741c9f44e1fa86d4b5a5c591d4b32abd2ef", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_background_shorthand.html": [ - "e28438c959ab9456715b5e899cddca1e4eb591a7", + "65ec8817f63ebd4b2397ad1cc8ebe74c2d34d613", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_color-ref.html": [ - "1d08f8e9adc2f71c67952ba760489201daf87785", + "de294d35616759c7d724cbf545f156cadcd48c08", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_color.html": [ - "705ff76883afcf5e9091a82afa322a072d107e38", + "fe62b51da0fc1bc1ef7d4342beb56715ce36634a", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_font_properties-ref.html": [ - "abc9f780f21bff697fd130284c1d2132129df663", + "34b2a5800d7a071dd48d473c89ede350e6e0e057", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_font_properties.html": [ - "62d03879904be5b5706f8e5aa5a87ceb638475f0", + "5e6e09248ab9e19e2b2fd4bdb7ea59b4e306e38d", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_font_shorthand-ref.html": [ - "835eb749bbd84279cff860e6f89a6d1f72d8d8e9", + "a9b04073987dee0365096412f02ff98bbfb9d55a", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_font_shorthand.html": [ - "1344c146d95701128612fbcc01c35b475b04d20b", + "fcc724063b93cd7418f31f9e816c53ed8a76d1a0", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_namespace-ref.html": [ - "bd0df089f0e6e4857907e249dfdca42415b302b0", + "d6eb64bf43831aefa059c0f586b6c5a637c8d9fa", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_namespace.html": [ - "a68b4fcf8be709615606c931fb1ea694d6c94a68", + "7f64e423d77469f83fb956ff8de6bfff4d398a65", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_outline_properties-ref.html": [ - "0cb5c158a7a74833816cbceacc84d6aca7312475", + "40d944b847a06ac51dc21594785d62e8f8fb1fb2", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_outline_properties.html": [ - "349443d49b7a34948bbd65df77d2405ecd844c85", + "0addbb2596b9801f01d558dd74c526bab76f2bd8", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_outline_shorthand-ref.html": [ - "dc6062307d5dccb5dbdc45d65d36bf8ca4ffdb3f", + "05705a311c36567222ca655dfd059d7f53d0dfad", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_outline_shorthand.html": [ - "5825aff74f33f20ee6405443fcaa204eb00405cc", + "b5c8cb0857e3aecec13fc3c7f9b4db092e4e9868", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_text-decoration_line-through-ref.html": [ - "9158da0187ab5c862d602c96773411fa05872a97", + "548c53c7fe9e92e3c86d97dd0ecc8cf7259e9c82", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_text-decoration_line-through.html": [ - "c665c1108d1d60cf2543aa1a2c31e6865fad9e64", + "e3efbc8e3bf3a3ed979b5c794381cf87e31ce6c3", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_text-shadow-ref.html": [ - "408dfe02fb6033f3b7009e74dda88aca7d1bce4b", + "b23359bb7890190f94c808ef615f9950b4b86d5e", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_text-shadow.html": [ - "df6f72e50d713bc36dbdc502aa9d5b1fee4248b8", + "057ac9c54af06b7ec949ed4149eed7d636eb7f17", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_timestamp_future-ref.html": [ - "2d5568629f11c103b7955113c103682fa8a5e3c0", + "1c5ed0e0143dd0ba5d5ac69b4007a5f7675fdd8e", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_timestamp_future.html": [ - "a23c76a737f721cb0041b84d33939b40698bd5cd", + "0e064e7760de47b6bf0c7a3ed69623fa62d43d15", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_timestamp_past-ref.html": [ - "aed35483361cdccdc867b61777185116d061108c", + "b329e549c46d3cd0f6d9a61691e1ebd3641ceba8", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_timestamp_past.html": [ - "6bd280ac601d9b6a1d9165da95dd3496aee2c2c6", + "3e095dfd30602af2bcf78ee4af80647886acf158", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_transition_with_timestamp-ref.html": [ - "6c44d9f472fdfbad238686b9a98b4bc98c809d77", + "72bd21eb1c6e152235355df8d2c963725f01c4d8", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_transition_with_timestamp.html": [ - "16371314b58c35fc7ee3abf43da60a7c5c73d1ca", + "14f360ba52e3fdd10c28a2bc7e47da6f0e6bdeeb", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_normal_wrapped-ref.html": [ - "19fee5c46e77ad109d231dbdc7f77ad9ed8997bf", + "fb3050f410d8ae969e18f853a7805da5c0e6d052", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_normal_wrapped.html": [ - "5bfd45b4e0fedbf2e690adf03673b42237b1c565", + "8cddfd7c7823330382fb3a20dd24c5c33e37ab74", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_nowrap-ref.html": [ - "8513ac6b7859d66ab12a4854df0b527e5f416289", + "274bfd6604263f0c0492b3d3506c6bb945df7cf1", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_nowrap.html": [ - "ef9dfa370f788e3ef51365ccee597e79fca1cc94", + "a3ef85705913611cadb68b478178288fd9b6ef28", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre-line_wrapped-ref.html": [ - "c151b57152d7bcde6e677f0c7b30bf507e0acfec", + "1840c5e90ea24f9a94365e03a7aa93a3d7cf27e6", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre-line_wrapped.html": [ - "9ae26fad7f542666f161f13a27eb663c29d05695", + "1782125550dc1f1d308367f9667cc4b2690877eb", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre-wrap_wrapped-ref.html": [ - "76be48db3f91c0b81d642d60aacc1eb3c557c774", + "3e662573b6433a668c542b1a77100fb64a245130", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre-wrap_wrapped.html": [ - "061afce4f784eb71b264569ce84967aeafaf070c", + "fbe7cbb227cfcbaebe8a7c4e08ca2ac5eb26928e", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre_wrapped-ref.html": [ - "42e9ba628a6cc6160a7dde6f5a5afbfa5350cc92", + "93c3c1a00670d3026ec4a846447203221de5d346", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre_wrapped.html": [ - "41837d5d095fee342b4946766eaa10644622c885", + "12cc4f04fb1f106afebc2720999e860344942a01", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_with_class-ref.html": [ - "14d35336ba3ed090b20a7d817477217002e4d426", + "acaa47c14f672dea38c639be78e9b325dc8f7ce1", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_with_class.html": [ - "8a3b080558494436941f32c908c5d20d373b5b42", + "19c53c4ce864f1615972e9822771574d826e394e", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_with_class_object_specific_selector-ref.html": [ - "c5132da165a2b4d1b7c870948f44525db0610f6e", + "5c0441d094fdee1bdf3aa0d795f33604014b0c29", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_with_class_object_specific_selector.html": [ - "9c1a86e6d211a99260e13e8bc0a96efeb75f83f8", + "5d91cb3d891e93396dfc9c7a8585f0dd35338732", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_hex-ref.html": [ - "748146bf7ce35170b85d3d2e93e52ccd4d340a52", + "40b9573eeadee62f840b345d8c8b254418d4f644", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_hex.html": [ - "79693ccb14029540733d2eac7d26eb442127d3ad", + "8f55d96c6b19b6efbd30c903b379e63400ed6e51", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_hsla-ref.html": [ - "97a258a522cdd2c0e424841cccac083f5081e555", + "922a9dc3215d5b15082cae18e6712bf1c2c4731d", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_hsla.html": [ - "4d14e8cb9f55e36d8016638dd026c0bf0494465c", + "c5ef79193fd1f5c386e4831d91a39ed8fab7669e", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_rgba-ref.html": [ - "effc137e5fd36ecec218587d61a69670becd9345", + "9f8956d77784381418a500dcb694910ca1c04fad", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_rgba.html": [ - "09dd621a13bc90f7735761e5180b40ed5027bfa6", + "26867d0ead881596b4fff8d333fbc41a8471a9d1", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/cue_func_selector_single_colon-ref.html": [ - "f288ec41b312f5697aab3d959a59e8b3610b81ec", + "5c06cb762b6971699b089d9bda6e769143ee33af", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/cue_func_selector_single_colon.html": [ - "60aaa73cf603c80cecee104e65dd41db45188152", + "063734fcee27a40b818d340de86385236d8dc1fe", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/font_properties-ref.html": [ - "5069b652dfb4905513ace31fb6ee95270f96e001", + "68997072983ae4ef2c57a22d077b405da985888a", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/font_properties.html": [ - "bafa3f4c2af05691dc2ec363e479674d0cab3c60", + "1b60cccce6bae5c9c826709fecad3bc238eba0fe", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/font_shorthand-ref.html": [ - "eff45cbd5dd339ca48cb9a656d6f42835b184e0f", + "f58e382c3fa72798cb087e48bb6fd9d770371274", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/font_shorthand.html": [ - "c4a1a753ac77546c9ca244976efdc4fdf4330d75", + "926b59e94860883cdeefccb74613ff6fe53c6ff4", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/id_color-ref.html": [ - "2b4fa81b6ffaead50a2f083f89314ff57088b6bf", + "527a08a7ae420aa27f18290bc8992e372750cc6a", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/id_color.html": [ - "ceee07e59f7a7d71918bc1b3a9f84919c7f76779", + "e9898e6d7e8003673de54d9e58e6f5d5a85805c9", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/inherit_values_from_media_element-ref.html": [ - "636c82c8ba1552c653299f1e84a71f7603b79e8f", + "c92a7348d7ca481ce34704c41f52c73b06534236", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/inherit_values_from_media_element.html": [ - "d8eac6245be9409cd8263520e0c79e39cefaa559", + "29ae893fe9d7166996d373cf5942bb9e9771b148", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_animation_with_timestamp-ref.html": [ - "d36f194f3d421f4e128be3fd44aa8ff1e746719f", + "186b81cb2ca5c6a1ebb16f9b890a461b3fbc5f1c", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_animation_with_timestamp.html": [ - "663fa0509d56cf2509150d164f8d6d019253403e", + "f7d889863b00d755f2b3cdd227855d471f026cec", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_background_properties-ref.html": [ - "f48fdfa30db99a5229888c89e352aa5586db1c41", + "2a5d651778e42ac505d409849cc52117fc29f49c", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_background_properties.html": [ - "14b9299461e50eb1a1248a84266fc1f9ae9ecebe", + "31bcd7c2fc9378dcf5488ffcb3caf47bd0e4c843", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_background_shorthand-ref.html": [ - "c832cc6b3ef8658db9b07ad44bd500cb8b847056", + "8564abc100d73a03ad4905485155281b75eb679c", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_background_shorthand.html": [ - "eedce8505f45758344fb466ae8567a652587dde1", + "d300ba83bc3a0cfa4d15c847da8febf03e993e55", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_color-ref.html": [ - "3ec93e8ec68f0ae69a395bb21e4f7ad2ce1621c3", + "a442aa6cde08a1ee6ee1005005cc63771ae9e7d3", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_color.html": [ - "f240e3f94f4d30bf86f5efd40619ef802a68a64e", + "f07e0fcb9066a5b357237b419aeb2bc3492afeb8", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_font_properties-ref.html": [ - "05f3630a45b5dc0298329d638a92ce036aa5a740", + "fb95ad042f8a78f18bd03bc566e2387aa6f38926", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_font_properties.html": [ - "dda84db92c451133bd68f586aa229e4c0e6b1b46", + "0feb0831dc82476fcc1ba336336293f44bb4da22", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_font_shorthand-ref.html": [ - "aa5211126f1dafe152cbf96e241b82fa780a2aff", + "e5bbfff21560411aba2ad9703016e25455898868", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_font_shorthand.html": [ - "eeef7fade738cd0b789ec5659dcaf0445fe05a92", + "37ee88aa93dcc122df81b7e07ea32bf1a2984f86", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_namespace-ref.html": [ - "309c4165b046c22700a8317ea321d34e8a9b896e", + "65ceba1ae309fc69ef7b44bda7136a6f088973cc", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_namespace.html": [ - "a0c4a391e54a4346b49657f5e444a6f1d8b3accc", + "9c1dfd9b53a3edde07d9cd69661764803f90ab43", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_outline_properties-ref.html": [ - "be2949e7ba0fbb41c0f8348948fddbd496e60d7e", + "641eeab0d0413870b6c0f35c0966ae971c164a97", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_outline_properties.html": [ - "0cf301d0f58670d60194c84152192baff9141c76", + "b9f3c2250f5c17f896176f2ce6db49b38b6c3da2", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_outline_shorthand-ref.html": [ - "1b0cc896ba24afccb2f2e086b4ef5cd12adee626", + "051b0d8e83de73b79ec786ece8ef9d8a7405712b", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_outline_shorthand.html": [ - "23ea13e5af4808832e9412212b9cb381713c5ca2", + "cb63dcfc40eba51fd85afd50b4d5d1d2b0725a9c", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_text-decoration_line-through-ref.html": [ - "e4cdbeb4455093794fd10616759854e1c7fb97cb", + "58e8d6a7d660c122748db36d1d2dc53a5dd54201", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_text-decoration_line-through.html": [ - "1e8569e303641296ef47253172ca05a1d26d37a0", + "ca8ecaf54cdb1d1d743ad5e7adaf6e8fec4e0c46", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_text-shadow-ref.html": [ - "ca2817cba33682f04eef4ffc9d34c9d5d8974a1c", + "c6f1216b31b2fdb62c1d1fe05175618021a3623f", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_text-shadow.html": [ - "fb726e8be49bae0b91f785ecb2d926a2b6f881e1", + "83ea35ace6c8cd0fbde75cdabb7bcef62659fe09", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_timestamp_future-ref.html": [ - "32ac89fbf33b500f4f132526483bdc9649786b03", + "5c0b4a4e754290d2468f4b32789517ee62da1e3a", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_timestamp_future.html": [ - "8da88caf670a5f9d1c08304f9cfc7677eec056b9", + "56e34c6109482d366871960cb1d5dd20f02bdd43", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_timestamp_past-ref.html": [ - "9a602bfc7845e495feee9c308c0177f86620a835", + "10c340663fb7e9887ffb858802b83cf26bc09622", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_timestamp_past.html": [ - "83bdc01f0cb762190ee265f7b1ec5900bffc8653", + "669f050a93728551fd10ff42ff3ac031ceaa4474", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_transition_with_timestamp-ref.html": [ - "5fbe48fee3a14d29d680ab1ae8608ff437dbfe64", + "a960540593d6de9e32dd92ad298afea5257b9bc6", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_transition_with_timestamp.html": [ - "d062931eecab62ae1de7f79f87dc00c6dce7aecc", + "e6d42335e24c93951dec0e8a998f5b803bfaeb5c", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_normal_wrapped-ref.html": [ - "becf5fa3db244c77e44f9de94f1addbee034d948", + "99df7ecccf67212f0346bbf8aa61cfbfd273fc12", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_normal_wrapped.html": [ - "ef920a98297a53e704e229b6b5a9610b1af51729", + "35695c2b00409e41293ae1cf5192e0f69b64e92c", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_nowrap-ref.html": [ - "80ac0b412e35fa9be5d39eb3472d2a5b00bade93", + "a0fb89c5e96831b66c0d347242593ad175a72b30", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_nowrap.html": [ - "2b9ba7d1f17885a00cfbb6fa59d2ad240eb0bc24", + "7d8d9c58488842aa876e94eb13b99355dc6075b2", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre-line_wrapped-ref.html": [ - "6d1a38b8210c5bd271257d903ba78ac585dfdb15", + "95837d065385f02fb60abdfd50e22d5e9b6bb663", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre-line_wrapped.html": [ - "6543d7c1aac331faa9e03a7a0c78075e8d00c676", + "083415708bf13cf96a0af05fa5acfa80ef7dafe2", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre-wrap_wrapped-ref.html": [ - "164d16e759f86c788b68fbb6b6bd8556b44b1dc1", + "6705a64a9d0aaaac52532dd36bdffa8427f5a77a", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre-wrap_wrapped.html": [ - "140b236618bb2b77861a05dc4d056279df6f212b", + "f70d332a1df07242b92034d39eea078f0aff7699", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre_wrapped-ref.html": [ - "1e1683ef50e023936e876a16eaa3f1f50dfa78fb", + "8b636dfe883c22703b4d4f597499fc9a1caa0133", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre_wrapped.html": [ - "d218e5292a481cbcbda75372ea56b39c9b23fe8f", + "e4ade7410d3da630511870ba6a27224dc1004a8f", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_with_class-ref.html": [ - "b0ba29638c7eff2e1ffb2f8b371f3edaeb6fb825", + "b51908d71bec6b1ff1ebe2711fb5450617de67ac", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_with_class.html": [ - "15788a4878a72352c4fa9cf2db1b7ec9de93a72b", + "eea5b7ceaf1f2c447b9f588a44a93edc26e2a65e", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_with_class_object_specific_selector-ref.html": [ - "3420a45a32895e9d1678e891bd50bdc7efc98e73", + "20aa86c56cc571da9b7de954ee6bd31037b1778a", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_with_class_object_specific_selector.html": [ - "3bdccf9ffd373576f9fc52c5a9742e026df44a2b", + "8cff25ad53c964aa81d439dcde885ad35aa573a1", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/not_allowed_properties-ref.html": [ - "4f4cef8c68e222d3588ec563cd25135e32b184f4", + "849772e9ccf2b6568f84d03f163e5f09c5a6269a", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/not_allowed_properties.html": [ - "3a359f3d5921cf0e4c03d8592f9afb7c1630dbb2", + "85880820c88504bdf2c65ff03dbcac1bdacc02a8", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/not_root_selector-ref.html": [ - "ff056ca555a6a86ceb3514ceff16f621c86cc6ff", + "49653d270c14ca98020f090e0a7f3a0e00cbeb5d", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/not_root_selector.html": [ - "bd827421f11c3880d9d0da8235f5692a587cdda2", + "2c68b03784bebf7440193d42f8cb9e550f457fbf", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/outline_properties-ref.html": [ - "79ed737000ba3f9317f47abe63ad8aaaca95adb8", + "3c66b65461b4a88746af44e399f9eea9942f7dcd", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/outline_properties.html": [ - "f419ca425d8176d08a93fe0c754c2e7a9e7f11b6", + "5d50f71a9b2ecbffa65b1bee865d8ee04cb73a47", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/outline_shorthand-ref.html": [ - "16745040894ed0f8af7d0129efe6ba8329d93326", + "7f4dbf43248db21b33f1e0e0365e0fecf3667f52", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/outline_shorthand.html": [ - "75f9c2866823aae7758edc34aadc1eb3e6af7729", + "edecdd3768da9b5e778763a575e5e871d8ff72de", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/root_namespace-ref.html": [ - "92639e3de9db1a1c886317a946fc48664b45f11a", + "9aec56d31758488e4a2de58302627bb706704d31", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/root_namespace.html": [ - "f9ee5a97c024ff05960963749ea6526cc3963ec7", + "b1a2b63d490133e6f38610069798831c8417082d", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/root_selector-ref.html": [ - "b56d45d4057226b69a1058feb9a59fcb2fb00967", + "3ab103abc0f587439b6f0d9f248f0dcd731549ce", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/root_selector.html": [ - "bc7b7ac791877db68125e3452249cc5add738aac", + "987c280adb1f65046a52a8254bb17fb0f4b81141", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_line-through-ref.html": [ - "06ed55f75465050d9b0745a25d23968f61d0b624", + "5d5fb76ffb12f51367393eea530c4e79fe348db7", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_line-through.html": [ - "7227def166302fa019638e70948fc74ee23cfc6c", + "d2b447030ec2c7c008b6bb45e3284e59986778dc", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_overline-ref.html": [ - "87488bcac4f1423f69f579ad0f54c68703401551", + "88f6b144f70a9fdc3069768a24eb0cc7ff907437", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_overline.html": [ - "67fe49983df310e7375a2abd401f9a9b0acccc9e", + "2a40e996b3fc731d9fa1c47b6a72aa338ccb2974", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_overline_underline_line-through-ref.html": [ - "88ee5f492c8a747e8a6459d4913a7c5078ddbc3f", + "b8ff53792362b6756b0bc87b6bcb7ffbeab47d4d", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_overline_underline_line-through.html": [ - "c922bdb67483db5f5d14dcbbffcee15c79f5679e", + "5e625a89b008fd607646a8afe312834bc6eab3d3", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_underline-ref.html": [ - "10b57efcd7e69b71b58d051554777c4c9e416858", + "11c3c4ba7e9448c8c0bd41dcbf4b29319c4f1cee", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_underline.html": [ - "aad9d53af247cb9e59b9ac1e485522dcc8e632f3", + "0a2520bdb79dfa8dedb569c9f3c18f989901ce7e", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-shadow-ref.html": [ - "51fe80c94eb15b453d2367d8b58636061d1d16e0", + "194a4d7069038395ab78edccc2aacc64331cf347", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-shadow.html": [ - "a60660d57a70d29d422391b7a4cc4e8c78e6a9a8", + "beda0d5579fb6ab3665e812f911a0a580b176dee", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/type_selector_root-ref.html": [ - "10777062757cdc2eb953124868781cb43a063745", + "fbfb51b876bb229264d1e1ca48842acd81f9d599", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/type_selector_root.html": [ - "7a359139400cac942128f10d188cf2082947d6cf", + "bb0314e8c31f01956f9273168c45a69c88d3335d", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_animation_with_timestamp-ref.html": [ - "98433949f73fe9099b2b580b3b6770f32dccff66", + "2d8e0b34ef3e0fa63bc5bcbd7a620145108b7050", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_animation_with_timestamp.html": [ - "8191894499e1faf1b076c261f54aa6f8bf1a15d3", + "447a56ba1ffece57a5698de8ba76f8f669b52362", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_background_properties-ref.html": [ - "2f13741374e858aca83bc31dab79b754d984d994", + "8cb417572be7185a4301f11c4bc5f1685f93700a", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_background_properties.html": [ - "f31a764a0cdc38f161f66f58d9619691025830df", + "ac984c0876c31faeb490f5fa3db743f9d0cff7c4", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_background_shorthand-ref.html": [ - "ba040852fe56b70966c9473a008d903a1b7dc5d2", + "149f12e05e0ff35c375fee4f8111835306d61681", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_background_shorthand.html": [ - "345553b8e23eb0bad973f66388ce4b5caedf2537", + "d49ccbd8e789469599eadb864a6053d1dbbd5aa3", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_color-ref.html": [ - "ba7f7ed1eca7329fbfbd1e67584a72522774d6f0", + "c9b5ddaa8704b76e1a537944f6d73787646e1d62", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_color.html": [ - "d16491e541d8bb97dfeb97541481261093e60bce", + "cdc8bce9a3631fa5e5b427c357b531e3601d2f2b", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_font_properties-ref.html": [ - "e3310e7e90f1441432a332c2552a6e8eecda8455", + "fda71fc35f295dbd722841dfa7d96ac9664b2490", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_font_properties.html": [ - "ed2e9fc1b91be0cc8630f67e6bc54537b1ec0765", + "a99b8736453990b478e6a4347ed828d4912ccf0d", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_font_shorthand-ref.html": [ - "19508ba976381cdc9522abf7c13195507ade2644", + "2b345a057e67a6ed720f03800745ae5fb36d70b0", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_font_shorthand.html": [ - "b74fe174354a91f8693993c432cc4fcc13ec5418", + "69cabcb88d551a731aaac28f3ed8209b689d56f7", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_namespace-ref.html": [ - "fed301a30abea4c22062aae504399a87487c822f", + "0eeb26ab7a20ef2b57dbc32f9d9ff58fb76e2bff", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_namespace.html": [ - "163c3d4a0c6e55025eb17d382a7631aa8a11c179", + "58cc23c488239b0ee8f1552435770f2f4b09310c", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_outline_properties-ref.html": [ - "259c13704a4fc904875983a2473755e113461ce7", + "d31138c43bae11b9661f052c4fb2cd7d7bf004b7", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_outline_properties.html": [ - "e8cd6bd956476334c77a713c36493d845d69459c", + "353f9b90d9372f57bd69afbc7a17ae9376382a44", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_outline_shorthand-ref.html": [ - "4b66f8fff9282688acd79009fbc011fb081ca24a", + "5a6cab36e4f77dd8dd40c6c6cb1e904fafddb192", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_outline_shorthand.html": [ - "2dc8e0cf5d19aa8fa9323e6a001b8a9b4ac4635b", + "0dd9c90cb0dcb34cb40631ae739268341a4480b4", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_text-decoration_line-through-ref.html": [ - "ec38be0334225147196b37ff9444d71e3dc03998", + "af4002fc280a4d55a83813454b3b53883255cc99", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_text-decoration_line-through.html": [ - "edeff4016a1a59ac5c5002ed92cb0db2334b8234", + "278e12c9cf902a72194bb8c65b4c3a643bd3e005", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_text-shadow-ref.html": [ - "77f0a7f887c23d4ea2630c8a2fb8b861650fc952", + "21dec1d3a524fa0f3f8618681400e385c6831658", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_text-shadow.html": [ - "3bee39eddfdcadefd22b827191bd15d2a7fbfd79", + "0c02604624beed2efd91548ca0ea0f708f8a0b46", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_timestamp_future-ref.html": [ - "0db022fe8a7d1b4114f60493993ce1c44999f44e", + "9e762747bf7136dd172ff93ae4c8eac9ed3e7e9c", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_timestamp_future.html": [ - "8a24fafde3b62789e1f7cb67a7a649dcf6cc537d", + "1779c5b92031bd21faed7d6d5e64d00ec057cc06", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_timestamp_past-ref.html": [ - "fa8e5e30aea89b0b1d87cd6e9221d33160c6b557", + "5dbba366611c545579ef8860fb56dd17aaf54cf4", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_timestamp_past.html": [ - "8f53589c583ac42a00022ce47004de3aec613357", + "5219196370a8f3c5f6a38b6c78203489f7ccb4f0", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_transition_with_timestamp-ref.html": [ - "9571af4355d9dcea0593cbe2b96dd899a8082319", + "1c2999f3c5cc71dd7a82e689bffb1eb6186f7bce", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_transition_with_timestamp.html": [ - "1d56d215c301c9f61df89c8f607859e09e611037", + "882940befe72e8565b4d1b431d15048c66f61fb2", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_normal_wrapped-ref.html": [ - "f500e1259db2a10a9b74cc3a167bb6eca6d17e22", + "3744c512983f55a33fc3103d1ff62684ad9ca6d7", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_normal_wrapped.html": [ - "0bb194edb046b3ee8bf639f5b288d069fe9390f5", + "e2ff3a3662dd60f656bf9e769592e6a3fc07acef", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_nowrap-ref.html": [ - "846021a468fc9a4fd56703c4a9166034147cc801", + "cd871ead128b156116668d2e241cca401eec121a", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_nowrap.html": [ - "c3859de1560eb344c85314c252be596152f5cdba", + "fb070a865e469bffb6ecb4249180f81875fe96ef", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre-line_wrapped-ref.html": [ - "9ac9008b0c495b50101af699609a0085b5470876", + "a299329c83883a8ace8291fa15e5ea086d0fe016", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre-line_wrapped.html": [ - "0a425bf8953e36db990f86daf957663b34f48d15", + "9ed16655f1b356357c94663eda0d5693215402c8", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre-wrap_wrapped-ref.html": [ - "0c492c2b086c83f812da051e63a1d9f4ce867838", + "e395ecde00803a970d0c8280f388c37bd39defb1", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre-wrap_wrapped.html": [ - "cfa4cc770cd55af383c1722b47a84a0c141c95bb", + "f5b0f1ffd30bef82636670460c84f9e1837c86c5", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre_wrapped-ref.html": [ - "63f7c905cfa49fac1a79054f3e8476ce88da259b", + "48c0f0dfdd63367237fac6179d8b1700e07bd318", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre_wrapped.html": [ - "c1fd22f1e01f68a06036e80535e6d076940f8ed9", + "990e5575c95c054f81a4aedc4a7f84e952271122", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_with_class-ref.html": [ - "4f8f84882f6e128835512c76be4ace0871300c83", + "d438f11a78f4362d8d7a26ecb036f02347c1b135", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_with_class.html": [ - "85066a2bb611c226f73e2b027d4e9a2b63d42be6", + "cb99c6415afcb090b4fe325bcdf741eded26c394", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_animation_with_timestamp-ref.html": [ - "fed33404c3bfb4967c28cec79f71d51402f4dd0e", + "e014b78bbf6fec2e809565f54665dde19403ef68", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_animation_with_timestamp.html": [ - "832d26f2a35f5af74ff17ffe4d5c336e43e8cb22", + "beb2e0391e981a6cd185ea8540b1aa62e6178aa0", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_background_properties-ref.html": [ - "1a428dcd8768f46c5a44f2f1ebd0b325fab96df2", + "23ed7cb9d531835f26809f958ea70b3a550f7a41", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_background_properties.html": [ - "28e647aa757e981e7a9d7df3531a9397e35498b6", + "a074f29d1becdb74d84b09efb9f048c33cb55844", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_background_shorthand-ref.html": [ - "72f8e1387aff18f8afc828ab1f8cde1d613658ba", + "414e6043bae051752017379381e92cb20993be09", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_background_shorthand.html": [ - "00085dc749cde7f08497ed4a049b4b99553719aa", + "d5e0b0bdef7e41297c6af694ef32566799b5df2f", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_color-ref.html": [ - "04b850cc1346feab92ab556d6e87daf42a2f0257", + "4b7e9c4221ccec78f4f0dcba96a883d6d64be56a", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_color.html": [ - "9032ac3ba80e6a6d2e76635e773db477cff41627", + "de25c2f36ec4d37d82053ed32d345bad11653a41", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_font_properties-ref.html": [ - "3e3e7bd89ab1ac05d1b9cebdc58ad34c7327e86e", + "0c97691cd57d90777fcd588de0f231a33fbe3911", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_font_properties.html": [ - "edb8d7c4c0b85b9e614fba19661ae9348e67ae0f", + "f3ccb56a6b701215bd5bd938d731f93d5662afab", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_font_shorthand-ref.html": [ - "9f2da1d9bee2f7bf0ba5ca24e9752b0de6d07ad4", + "9cf4284f14a84f72b389f361a39642631f8b968c", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_font_shorthand.html": [ - "16e6bbcbf64095b623ba53f9b3c0a37709c188ec", + "2fc12eb4c01601d65aa95d529afa829edb7f9804", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_namespace-ref.html": [ - "424d36be9a50463dde23e8584937911e22293443", + "63560264d54a742fb516e86e014a1e5850693947", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_namespace.html": [ - "5a08af94771b5bbd6b6f8aeada535083eeef1914", + "9165ebbc7c597a7de7a83f2f86a99fd8b8042751", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_outline_properties-ref.html": [ - "afbe11188dec40419ee2746b2b022e2317f02529", + "d54e56e81566c3f852ba651d6d611833c575c168", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_outline_properties.html": [ - "7f901596dc84b3b6442cb4832afe2ead5fafa585", + "d9edca739bc338699fe2eb06903131f45f529103", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_outline_shorthand-ref.html": [ - "45327bb32351722dbb14cf36f5963af7c1543b81", + "ffb4a9c7b692af2c7087651157e8690768a4bec5", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_outline_shorthand.html": [ - "7731191bd4156d4e1ba47234b8ef2d7255958786", + "8c1930c76b2aa7825fbf3bf097d4595b8deaed44", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_text-decoration_line-through-ref.html": [ - "dcf02b82d20aaa643748b1980bf616b551f0bf8f", + "d4969eca2583cf01fba37e662ce9e22487c49cea", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_text-decoration_line-through.html": [ - "a8edeab51f006d388c692a120e144919c8c6a261", + "a3cb19702c7af1c669dc89e0f6a1a8b89aa5ac0c", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_text-shadow-ref.html": [ - "e7a388119a5b4b61aba83b9ed6753f4b5952a0d0", + "d9a31cc6d05a5b7a647745f3341783d6a30b15d0", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_text-shadow.html": [ - "50dce5b5ebc71871e87b63e264f0bdbf924a8b20", + "2242220ecd54d546080b104f460f98a47551904d", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_timestamp_future-ref.html": [ - "04dc349a714f510186ae141ba86e4996978cfcae", + "a2201053ae1ee93f0ecfe8e3ca5863225569f1aa", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_timestamp_future.html": [ - "07f35204a02f3459e2c7623d842ee5259a7a061c", + "831b5e20241e38d6ea0cd1c0b5ee1eb096fb3dd4", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_timestamp_past-ref.html": [ - "ff39a8481194fb7dcefa27aa24ce0492621c24a0", + "ff6800eed9137f2ee2e10ec536556448ebcf62f4", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_timestamp_past.html": [ - "004cfdfa2fc29e3eac35ba460727e2ff6e05f7f2", + "b420e454cc7e43faaeda1fedf196222714b08f34", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_transition_with_timestamp-ref.html": [ - "c039eb4ab11e5f7902ab9dfd603bba56a8ba2e55", + "64174a6c6ec7a3631665a16e55198117d8b9262e", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_transition_with_timestamp.html": [ - "55217a8be2ee2d0c56e4d693cf425001727d94da", + "cd3c085870a2acfbe6f2695c9ee818be9f16c86f", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_voice_attribute-ref.html": [ - "7558a360a3b9709f8642aa301dee54615861101c", + "f853b22dab367bedc588fc4423ebad8e682de975", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_voice_attribute.html": [ - "f05aa723cc0b4841ec0a500251a6e2f8ea09186f", + "10da4ddc817e40b2a7edccf049f29ac65048761b", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_normal_wrapped-ref.html": [ - "7173c9325e22b70e8f53fd500ab5b4f046454be1", + "110bebeed39c59bf2371dd1947bdfb441fc9458c", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_normal_wrapped.html": [ - "8d0ea3c762f5ed41e937c8a4df071bc75fc97b53", + "1efe6913b007417ee7cef0203616f0d183179068", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_nowrap-ref.html": [ - "da4b633455145559129ac53a2f68f4d1ee7aa934", + "85d875e2fa9818f387bd4d4003fe9b0206737f29", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_nowrap.html": [ - "9025302636b23ade16b04bf63019ed965c6e5653", + "ced7b3bf1597a7235c94fd5ce808bd5477cb526f", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre-line_wrapped-ref.html": [ - "959fd9afb7ff7b59e0bee8645948d1c54ecc1be5", + "b747ca6b05faa9ef86776298b473b6350679e1e6", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre-line_wrapped.html": [ - "163ff5f40c119196817a01faba023877f2ad5488", + "3d70a74f4ec97c727d0f8255f5f582f76bc5e6f2", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre-wrap_wrapped-ref.html": [ - "2aad630d944401847ade0ed0cdd6c12acbf3c5d5", + "b6253b696bca56d00e7be62ecbb25516e17a37fc", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre-wrap_wrapped.html": [ - "269fdaaec336390eecd88ceac76b5bdb21597f51", + "56982a90f35a912c17c467cc85b597bb1fe698c5", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre_wrapped-ref.html": [ - "a66f139bd019a12cc4cec9d22fa973cc426aff6c", + "991a9ee502c821635fe681860d3dea27cbd94186", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre_wrapped.html": [ - "2b448c853508d8862ac3f6a84372ed553d881bd1", + "bd7ec30225c3a711c32b8805bcde63005441ebea", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_with_class-ref.html": [ - "0326f23ad73442d9af95ce62da5a6b51e3b9536f", + "5e9bf7df8aabef73a963a728ebc1df9ea84685ec", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_with_class.html": [ - "9fd6d593adfbd594a5ee4f19d7be4dd23896a5a7", + "5199269ceea68b55cde29b344f9acc474f83237d", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_with_class_object_specific_selector-ref.html": [ - "f3a7126fe1e964b0f10318af6fd6f47b1724f595", + "d77e9defe8c78c750b705a1404848568161bf021", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_with_class_object_specific_selector.html": [ - "125b8fee82061624258e390bf001b84e9acf5393", + "fcb0c14fa28d97ff9a91de17b5bb8506c0b14be5", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_normal_wrapped-ref.html": [ - "cbb59b0ff9963a5a121eed10f6b2db807d7b0f1e", + "b17533b6b6e3569f1753342bd287f2c417fec7f6", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_normal_wrapped.html": [ - "7807e90c9cd84ce6fccf9868951a87fb70094400", + "79a514e82a2e82008cbfc6fb8cd2cbeb6dd10bf6", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_nowrap_wrapped-ref.html": [ - "0a03fe76a7973865104c367319ba0230f84314e3", + "9119caabba0b6c1242c73d4616e9836077ff9aec", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_nowrap_wrapped.html": [ - "a0ffa8a0b0f833fff80b263485650d259253cd1d", + "bc0325c3ce6607ef212db1d02e7381c9417123f2", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre-line_wrapped-ref.html": [ - "6e237d901a865e179ddf269dbd5bb3e55ab4bb46", + "e56a7739e4bed23559b5d114874ade4cb1c178c1", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre-line_wrapped.html": [ - "d3e5602adddfe7ed6f80927ba66258c29ee9d7ec", + "f58e596b46519a4e020d0fe66b3fa9655c46f350", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre-ref.html": [ - "d6e59b014f0ad3604791f8a4de4d5ff8bbc65d1d", + "e53578fca94ae55168b3deb7e172bbfdd8dfdb45", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre-wrap_wrapped-ref.html": [ - "648edf1d53ee327b850357e11416a660c7616e69", + "d4ec4bca251fe6a1e950836a3086d8a63839e796", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre-wrap_wrapped.html": [ - "1a9035097956459990f3d6e1f141c08bc9ef8d06", + "371b23daf1f2b175e84316581fb178458e366414", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre.html": [ - "f54381f67e5fa8f389b37b221ce34ef110adc766", + "ff945cd99c8cfa9e273900a1b38d76f7bfa345e1", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre_wrapped-ref.html": [ - "5abc5a1a006a03f0a3789a0857b9fed790aaf7e0", + "1b90d1277e23f6b92aef131d072d97f7468fe33b", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre_wrapped.html": [ - "75f392f33797f86f2388bed87ae9d70aba995910", + "1e4e5a03095c061b350ba9ffbdbb62f46add24da", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/bold_object_default_font-style-ref.html": [ - "3f9ad11562aaa53178654142b85f4b971ecca1f1", + "5301cdfef3e5929caf3154ca9d61bbb5c0f2c0cc", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/bold_object_default_font-style.html": [ - "5df3d4015d2cb7903db00924ee9fbbbb550f647e", + "6b3506dda9ed6b83b1c4118345d26a348ae5b9c6", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/italic_object_default_font-style-ref.html": [ - "8e6e891808c5c893ed8efaf1a5624eda773f1305", + "476f33f5ca36d989e40cd07e43f3fc04be9f17d1", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/italic_object_default_font-style.html": [ - "1539703ab41c1eed180508185cc72e75b633d4d8", + "5c96365fcbe1b4e68b68884f952730fbc1aaed24", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/underline_object_default_font-style-ref.html": [ - "5b17d086a5cb800310c54bde1d0101f74ac4b6b5", + "384ba0e73ca309eef09fa7859f4b7d6ff0831fb7", "support" ], "webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/underline_object_default_font-style.html": [ - "7292595938d72a3318231282586c15b610e3c56a", + "d9cb8b7b6aeac7adab1907a417b7ac986a0080ac", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/size_50-ref.html": [ - "76c4a9a3afaae58fd5b921bd198a5bf14fa5ee98", + "289d1c9150b501a550d2117338d02b9a35be0efb", "support" ], "webvtt/rendering/cues-with-video/processing-model/size_50.html": [ - "cbf1d676df060d3bd94e18299e3a4a55e358ce66", + "245a76779ef69df257bd0441ca96ece382776c43", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/support/2_cues_overlapping_completely_move_up.vtt": [ @@ -84053,23 +89899,23 @@ "support" ], "webvtt/rendering/cues-with-video/processing-model/too_many_cues-ref.html": [ - "678ce398fc99c83a1af6ada9c1878a9bf7b0319a", + "d9c6ce7e03e346ff34a658a78484c018bd5d1bac", "support" ], "webvtt/rendering/cues-with-video/processing-model/too_many_cues.html": [ - "c885870f8491035292dc70300593e86d102a293e", + "c44bdfa57867a46678e5b390c173cb403660dc10", "reftest" ], "webvtt/rendering/cues-with-video/processing-model/too_many_cues_wrapped-ref.html": [ - "d18296356a61ba2442e636020cac864be1c2e096", + "aa2ff46a9f0f7c4a5497f5b79a638302660e00e9", "support" ], "webvtt/rendering/cues-with-video/processing-model/too_many_cues_wrapped.html": [ - "2126e9f28c1fbb6ea721d25d3ac70022639f5597", + "f2372a492268a1b17763a42a808351128128fd89", "reftest" ], "webvtt/webvtt-api-for-browsers/vttcue-interface/align-expected.txt": [ - "a5259a0f1562ea709363669a567eab8ddcb9f1e9", + "e82503e83ba539f896b353dd6a358f2475c063c8", "support" ], "webvtt/webvtt-api-for-browsers/vttcue-interface/align.html": [ @@ -84157,11 +90003,11 @@ "testharness" ], "webvtt/webvtt-file-format-parsing/webvtt-cue-text-parsing-rules/tests/timestamps-expected.txt": [ - "8fcbf5fca8bb232149483622df65c3c27cb18e37", + "695efa35f075cf587e3d98cb9c5dac21865ca924", "support" ], "webvtt/webvtt-file-format-parsing/webvtt-cue-text-parsing-rules/tests/timestamps.html": [ - "9096541716f4318972db549f8a1fce33ca810b2a", + "d6b49c5fb7f33113b4c2804eb2bcbfca2f925da5", "testharness" ], "webvtt/webvtt-file-format-parsing/webvtt-cue-text-parsing-rules/tests/tree-building-expected.txt": [ @@ -84469,7 +90315,7 @@ "testharness" ], "workers/Worker_cross_origin_security_err.htm": [ - "712e022c442f7a38cd4b9a3fe2852b89ea30738a", + "da6275452010fb642ac8fb9510d19652233f8fc3", "testharness" ], "workers/Worker_dispatchEvent_ErrorEvent.htm": [ @@ -84629,7 +90475,7 @@ "testharness" ], "workers/constructors/SharedWorker/same-origin.html": [ - "6d7ad83336b91e632a8d4faa5cc6ade79b6953b4", + "0768b5a2f73f370d4f2ef81b164f5c7dc2c529aa", "testharness" ], "workers/constructors/SharedWorker/setting-port-members.html": [ @@ -84701,7 +90547,7 @@ "testharness" ], "workers/constructors/Worker/same-origin.html": [ - "a7c93830989912e09cea07d0dd01cde45a49747c", + "687e3b98b51ffd9cecae49e6d20002e392aae652", "testharness" ], "workers/constructors/Worker/sample_worker/worker.js": [ @@ -84737,7 +90583,7 @@ "testharness" ], "workers/interfaces.idl": [ - "8b1a9f8688e38a009fa82936610ca221541bafbc", + "d8961ea6af91a92a064bcf0e0da5b56781f6bc6b", "support" ], "workers/interfaces.worker.js": [
diff --git a/third_party/WebKit/LayoutTests/external/wpt/check_stability.py b/third_party/WebKit/LayoutTests/external/wpt/check_stability.py index 4e6d3232..a411f33 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/check_stability.py +++ b/third_party/WebKit/LayoutTests/external/wpt/check_stability.py
@@ -575,17 +575,23 @@ def write_results(results, iterations, comment_pr): """Output all test results to logger.info.""" + pr_number = None + if comment_pr: + try: + pr_number = int(comment_pr) + except ValueError: + pass logger.info("## All results ##\n") + if pr_number: + logger.info("<details>\n") + logger.info("<summary>%i %s ran</summary>\n\n" % (len(results), + "tests" if len(results) > 1 + else "test")) + for test, test_results in results.iteritems(): baseurl = "http://w3c-test.org/submissions" if "https" in os.path.splitext(test)[0].split(".")[1:]: baseurl = "https://w3c-test.org/submissions" - pr_number = None - if comment_pr: - try: - pr_number = int(comment_pr) - except ValueError: - pass if pr_number: logger.info("<details>\n") logger.info('<summary><a href="%s/%s%s">%s</a></summary>\n\n' % @@ -601,6 +607,9 @@ if pr_number: logger.info("</details>\n") + if pr_number: + logger.info("</details>\n") + def get_parser(): """Create and return script-specific argument parser."""
diff --git a/third_party/WebKit/LayoutTests/external/wpt/common/get-host-info.sub.js b/third_party/WebKit/LayoutTests/external/wpt/common/get-host-info.sub.js index 5e60c497..c0ad19b 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/common/get-host-info.sub.js +++ b/third_party/WebKit/LayoutTests/external/wpt/common/get-host-info.sub.js
@@ -5,6 +5,7 @@ var HTTPS_PORT = '{{ports[https][0]}}'; var ORIGINAL_HOST = '{{host}}'; var REMOTE_HOST = (ORIGINAL_HOST === 'localhost') ? '127.0.0.1' : ('www1.' + ORIGINAL_HOST); + var OTHER_HOST = '{{domains[www2]}}'; return { HTTP_PORT: HTTP_PORT, @@ -21,6 +22,8 @@ HTTP_REMOTE_ORIGIN_WITH_DIFFERENT_PORT: 'http://' + REMOTE_HOST + ':' + HTTP_PORT2, HTTPS_REMOTE_ORIGIN: 'https://' + REMOTE_HOST + ':' + HTTPS_PORT, HTTPS_REMOTE_ORIGIN_WITH_CREDS: 'https://foo:bar@' + REMOTE_HOST + ':' + HTTPS_PORT, + UNAUTHENTICATED_ORIGIN: 'http://' + OTHER_HOST + ':' + HTTP_PORT, + AUTHENTICATED_ORIGIN: 'https://' + OTHER_HOST + ':' + HTTPS_PORT }; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/README.css b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/README.css new file mode 100644 index 0000000..d47a503 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/README.css
@@ -0,0 +1,27 @@ + +.code { + font-family: monospace; + color: darkorange; +} + +.codeTitle { + font-family: sans-serif; + padding: .3em; + margin-bottom: -1em; + background: #ffe; + border-color: #ccc; + border-width: 1px; + border-style: groove; +} + +.highlight1 { + background: yellow; +} + +.highlight2 { + background: pink; +} + +body { + font-family: sans-serif; +}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/README.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/README.html new file mode 100644 index 0000000..e2c3e38c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/README.html
@@ -0,0 +1,118 @@ +<!DOCTYPE html> +<html> + +<head> + <title>Introduction to Writing Content Security Policy Tests</title> + <link rel="stylesheet" type="text/css" href="README.css"> + <link rel="stylesheet" type="text/css" href="http://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.1/styles/default.min.css"> + <script src="http://cdnjs.cloudflare.com/ajax/libs/highlight.js/8.1/highlight.min.js"></script> + <script> + hljs.initHighlightingOnLoad(); + </script> +</head> + +<body> + <h1>Introduction to Writing Content Security Policy Tests</h1> + <p>The CSP test suite uses the standard W3C testharness.js framework, but there are a few additional things you'll need to do because of the unique way CSP works, even if you're already an expert at writing W3C tests. These tests require the use of the + <a href="https://github.com/w3c/wptserve">wptserve</a> server (included in the <a href="https://github.com/w3c/web-platform-tests">web-platform-tests repository</a>) to operate correctly.</p> + + <h2>What's different about writing CSP tests?</h2> + + <h3>Headers</h3> + <p>Content Security Policy is preferentially set through an HTTP header. This means we can't do our tests just as a simple set of HTML+CSS+JS files. Luckily the wptserver framework provides an easy method to add headers to a file.</p> + <p>If my file is named <span class=code>example.html</span> then I can create a file + <span class=code>example.html.headers</span> to define the headers that will be served with it. If I need to do template substitutions in the headers, I can instead create a file named <span class=code>example.html.sub.headers</span>.</p> + + <h3>Negative Test Cases and Blocked Script Execution</h3> + <p>Another interesting feature of CSP is that it <em>prevents</em> things from happening. It even can and prevent script from running. How do we write tests that detect something didn't happen?</p> + + <h3>Checking Reports</h3> + <p>CSP also has a feature to send a report. We ideally want to check that whenever a policy is enforced, a report is sent. This also helps us with the previous problem - if it is difficult to observe something not happening, we can still check that a report fired.</p> + + <h2>Putting it Together</h2> + <p>Here's an example of a simple test. (ignore the highlights for now...) This file lives in the + <span class=code>/content-security-policy/script-src/</span> directory.</p> + + <p class=codeTitle>script-src-1_1.html</p> + <pre><code class="html"><!DOCTYPE HTML> +<html> +<head> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> +</head> +<body> + <h1>Inline script should not run without 'unsafe-inline' script-src directive.</h1> + <div id='log'></div> + + <script> + test(function() { + asset_unreached('Unsafe inline script ran.')}, + 'Inline script in a script tag should not run without an unsafe-inline directive' + ); + </script> + + <img src='doesnotexist.jpg' onerror='test(function() { assert_false(true, "Unsafe inline event handler ran.") }, "Inline event handlers should not run without an unsafe-inline directive");'> + + <script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=<span class=highlight1>script-src%20%27self%27</span>'></script> + +</body> +</html> + </code></pre> + + + <p>This code includes three tests. The first one in the script block will generate a failure if it runs. The second one, in the onerror handler for the img which does not exist should also generate a failure if it runs. But for a successful CSP implementation, neither of these tests does run. The final test is run by the link to <span class=code>../support/checkReport.sub.js</span>. It will load some script in the page (make sure its not blocked by your policy!) which contacts the server asynchronously and sees if the expected report was sent. This should always run an generate a positive or negative result even if the inline tests are blocked as we expect.</p> + + <p>Now, to acutally exercise these tests against a policy, we'll need to set headers. In the same directory we'll place this file:</p> + + <p class=codeTitle>script-src-1_1.html.sub.headers</p> + <pre><code class="html"> +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: <span class=highlight2>script-src-1_1</span>={{$id:uuid()}}; Path=<span class=highlight2>/content-security-policy/script-src/</span> +Content-Security-Policy: <span class=highlight1>script-src 'self'</span>; report-uri <span class=highlight2>..</span>/support/report.py?op=put&reportID={{$id}} + </code></pre> + <p>This sets some headers to prevent caching (just so we are more likely to see our latest changes if we're actively developing this test) sets a cookie (more on that later) and sets the relevant <span class=code>Content-Security-Policy</span> header for our test case.</p> + + <h4>What about those highlights?</h4> + <p>In production code we don't like to repeat ourselves. For this test suite, we'll relax that rule a little bit. Why? It's easier to have many people contributing "safe" files using some template substitutions than require every file to be executable content like Python or PHP which would require much more careful code review. The highlights show where you have to be careful as you repeat yourself in more limited static files. + </p> + + <p>The <span class=highlight1>YELLOW</span> highlighted text is information that must be the same between both files for report checking to work correctly. In the html file, we're telling + <span class=code>checkReport.sub.js</span> to check the value of the <span class=code> + violated-directive</span> key in the report JSON. So it needs to match (after URL encoding) the directive we set in the header.</p> + + <p>The <span class=highlight2>PINK</span> highlighted text is information that must be repeated from the path and filename of your test file into the headers file. The name of the cookie must match the name of the test file without its extension, the path for the cookie must be correct, and the relative path component to the report-uri must also be corrected if you nest your tests more than one directory deep.</p> + + <h2>Check Your Effects!</h2> + <p>A good test case should also verify the state of the DOM in addition to checking the report - after all, a browser might send a report without actually blocking the banned content. Note that in a browser without CSP support there will be three failures on the example page as the inline script executes.</p> + <p>How exactly you check your effects will depend on the directive, but don't hesitate to use script for testing to see if computed styles are as expected, if layouts changed or if certain elements were added to the DOM. Checking that the report also fired is just the final step of verifing correct behavior.</p> + + <p>Note that avoiding inline script is good style and good habits, but not 100% necessary for every test case. Go ahead and specify 'unsafe-inline' if it makes your life easier.</p> + + <h2>Report Existence Only and Double-Negative Tests</h2> + <p>If you want to check that a report exists, or verify that a report <em>wasn't</em> sent for a double-negative test case, + you can pass <strong>?reportExists=</strong><em>[true|false]</em> to <span class=code>checkReport.sub.js</span> instead of <strong>reportField</strong> and <strong>reportValue</strong>.</p> + + <h2>How does the magic happen?</h2> + <p>Behind the scenes, a few things are going on in the framework.</p> + <ol> + <li>The {{$id:uuid}} templating marker in the headers file tells the wptserve HTTP server to create a new unique id and assign it to a variable, which we can re-use as {{$id}}.</li> + <li>We'll use this UUID in two places: + <ol> + <li>As a GET parameter to our reporting script, to uniquely identify this instance of the test case so our report can be stored and retrieved. + </li> + <li>As a cookie value associated with the filename, so script in the page context can learn what UUID the report was sent under.</li> + </ol> + </li> + <li>The report listener is a simple python file that stashes the report value under its UUID and allows it to be retrieved again, exactly once.</li> + <li><span class=code>checkReport.sub.js</span> then grabs the current path information and uses that to find the cookie holding the report UUID. It deletes that cookie (otherwise the test suite would overrun the maximum size of a cookie header allowed) then makes an XMLHttpRequest to the report listener to retrieve the report, parse it and verify the contents as per the parameters it was loaded with.</li> + </ol> + + <p>Why all these gymnastics? CSP reports are delivered by an <em>anonymous fetch</em>. This means that the browser does not process the response headers, body, or allow any state changes as a result. So we can't pull a trick like just echoing the report contents back in a Set-Cookie header or writing them to local storage.</p> + + <p>Luckily, you shouldn't have to worry about this magic much, as long as you get the incantation correct.</p> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/allowed.css b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/allowed.css new file mode 100644 index 0000000..ace5434 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/allowed.css
@@ -0,0 +1,3 @@ +#test { + color: green; +}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/base-uri-allow.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/base-uri-allow.sub.html new file mode 100644 index 0000000..1437774 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/base-uri-allow.sub.html
@@ -0,0 +1,36 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>base-uri-allow</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +base-uri http://www1.{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inline' http://www1.{{host}}:{{ports[http][0]}}; connect-src 'self'; +--> + <base href="http://www1.{{host}}:{{ports[http][0]}}/"> + <script> + test(function() { + if ('{{ports[http][0]}}' == '80' || + '{{ports[http][0]}}' == '443') { + assert_equals(document.baseURI, 'http://www1.{{host}}/'); + } else { + assert_equals(document.baseURI, 'http://www1.{{host}}' + ':{{ports[http][0]}}/'); + } + + log("TEST COMPLETE") + }); + + </script> +</head> + +<body> + <p>Check that base URIs can be set if they do not violate the page's policy.</p> + <div id="log"></div> + <script async defer src="./content-security-policy/support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/base-uri-allow.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/base-uri-allow.sub.html.sub.headers new file mode 100644 index 0000000..e749d72 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/base-uri-allow.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: base-uri-allow={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: base-uri http://www1.{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inline' http://www1.{{host}}:{{ports[http][0]}}; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/base-uri-deny.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/base-uri-deny.sub.html new file mode 100644 index 0000000..f2b7c59 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/base-uri-deny.sub.html
@@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>base-uri-deny</title> + <base href="http://www1.{{host}}:{{ports[http][0]}}/"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS document.baseURI is document.location.href","TEST COMPLETE"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +base-uri 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + <script> + var base = document.createElement('base'); + base.href = 'http://www1.{{host}}:{{ports[http][0]}}/'; + document.head.appendChild(base); + if (document.baseURI == document.location.href) { + log("PASS document.baseURI is document.location.href"); + log("TEST COMPLETE"); + } + + </script> +</head> + +<body> + <p>Check that base URIs cannot be set if they violate the page's policy.</p> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=base-uri%20'self'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/base-uri-deny.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/base-uri-deny.sub.html.sub.headers new file mode 100644 index 0000000..0312c46 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/base-uri-deny.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: base-uri-deny={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: base-uri 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-allowed.sub.html new file mode 100644 index 0000000..19cf681 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-allowed.sub.html
@@ -0,0 +1,40 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>form-action-src-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS","TEST COMPLETE"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +form-action 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + <script> + window.addEventListener("message", function(event) { + log(event.data); + }, false); + window.addEventListener('load', function() { + setTimeout(function() { + document.getElementById('submit').click(); + log("TEST COMPLETE"); + }, 0); + }); + + </script> +</head> + +<body> + <iframe name="test_target" id="test_iframe"></iframe> + + <form action="/common/redirect.py?location=/content-security-policy/blink-contrib/resources/postmessage-pass.html" id="theform" method="post" target="test_target"> + <input type="text" name="fieldname" value="fieldvalue"> + <input type="submit" id="submit" value="submit"> + </form> + <p>Tests that allowed form actions work correctly.</p> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> + </body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-allowed.sub.html.sub.headers new file mode 100644 index 0000000..88cbfda --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: form-action-src-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: form-action 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-blocked.sub.html new file mode 100644 index 0000000..0960a8a0 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-blocked.sub.html
@@ -0,0 +1,40 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>form-action-src-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +form-action 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + <script> + window.addEventListener("message", function(event) { + alert_assert(event.data); + }, false); + window.addEventListener('load', function() { + setTimeout(function() { + document.getElementById('submit').click(); + }, 0); + }); + setTimeout(function() {log("TEST COMPLETE");}, 1); + + </script> +</head> + +<body> + <iframe name="test_target" id="test_iframe"></iframe> + <form action="/common/redirect.py?location=/content-security-policy/blink-contrib/resources/postmessage-fail.html" id="theform" method="post" target="test_target"> + <input type="text" name="fieldname" value="fieldvalue"> + <input type="submit" id="submit" value="submit"> + </form> + <p>Tests that blocking form actions works correctly.</p> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=form-action%20'none'"></script> + + </body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-blocked.sub.html.sub.headers new file mode 100644 index 0000000..29351c008 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: form-action-src-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: form-action 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-default-ignored.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-default-ignored.sub.html new file mode 100644 index 0000000..32823d68 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-default-ignored.sub.html
@@ -0,0 +1,40 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>form-action-src-default-ignored</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS","TEST COMPLETE"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +default-src 'none'; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; frame-src 'self'; +--> + <script> + window.addEventListener("message", function(event) { + log(event.data); + }, false); + window.addEventListener('load', function() { + setTimeout(function() { + document.getElementById('submit').click(); + log("TEST COMPLETE"); + }, 0); + }); + + </script> +</head> + +<body> + <iframe name="test_target" id="test_iframe"></iframe> + + <form action="/common/redirect.py?location=/content-security-policy/blink-contrib/resources/postmessage-pass.html" id="theform" method="post" target="test_target"> + <input type="text" name="fieldname" value="fieldvalue"> + <input type="submit" id="submit" value="submit"> + </form> + <p>Tests that default-src does not cascade to form-action.</p> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-default-ignored.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-default-ignored.sub.html.sub.headers new file mode 100644 index 0000000..1abbcf5 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-default-ignored.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: form-action-src-default-ignored={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: default-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; style-src 'self'; frame-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-get-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-get-allowed.sub.html new file mode 100644 index 0000000..a7d3e58 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-get-allowed.sub.html
@@ -0,0 +1,42 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>form-action-src-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS","TEST COMPLETE"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +form-action 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + <script> + window.addEventListener("message", function(event) { + log(event.data); + }, false); + window.addEventListener('load', function() { + setTimeout(function() { + document.getElementById('submit').click(); + log("TEST COMPLETE"); + }, 0); + }); + + </script> +</head> + +<body> + <iframe name="test_target" id="test_iframe"></iframe> + + <form action="/common/redirect.py" id="theform" method="get" target="test_target"> + <input type="text" name="location" value="/content-security-policy/blink-contrib/resources/postmessage-pass.html"> + <input type="text" name="fieldname" value="fieldvalue"> + <input type="submit" id="submit" value="submit"> + </form> + <p>Tests that allowed form actions work correctly + with GET and a redirect.</p> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> + </body> + +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-get-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-get-allowed.sub.html.sub.headers new file mode 100644 index 0000000..ac87615 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-get-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: form-action-src-get-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: form-action 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-get-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-get-blocked.sub.html new file mode 100644 index 0000000..0910eb41 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-get-blocked.sub.html
@@ -0,0 +1,43 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>form-action-src-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +form-action 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + <script> + window.addEventListener("message", function(event) { + alert_assert(event.data); + }, false); + window.addEventListener('load', function() { + setTimeout(function() { + document.getElementById('submit').click(); + log("TEST COMPLETE"); + }, 0); + }); + + </script> +</head> + +<body> + <iframe name="test_target" id="test_iframe"></iframe> + + <form action="/common/redirect.py" id="theform" method="get" target="test_target"> + <input type="text" name="location" value="/content-security-policy/blink-contrib/resources/postmessage-fail.html"> + <input type="text" name="fieldname" value="fieldvalue"> + <input type="submit" id="submit" value="submit"> + </form> + <p>Tests that disallowed form actions are blocked + with GET and redirects.</p> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=form-action%20'none' +"></script> + </body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-get-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-get-blocked.sub.html.sub.headers new file mode 100644 index 0000000..e7a044d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-get-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: form-action-src-get-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: form-action 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-javascript-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-javascript-blocked.sub.html new file mode 100644 index 0000000..c362ea6 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-javascript-blocked.sub.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>form-action-src-javascript-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +form-action 'none'; script-src 'self' 'nonce-noncynonce'; connect-src 'self'; +--> + <script nonce='noncynonce'> + window.addEventListener('load', function() { + setTimeout(function() { + document.getElementById('submit').click(); + log("TEST COMPLETE"); + }, 0); + }); + </script> +</head> + +<body> + <form action="javascript:alert_assert("FAIL!")" id="theform" method="post"> + <input type="text" name="fieldname" value="fieldvalue"> + <input type="submit" id="submit" value="submit"> + </form> + <p>Tests that blocking form actions works correctly. If this test passes, a CSP violation will be generated, and will not see a JavaScript alert.</p> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-javascript-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-javascript-blocked.sub.html.sub.headers new file mode 100644 index 0000000..ffa2288 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-javascript-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: form-action-src-javascript-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: form-action 'none'; script-src 'self' 'nonce-noncynonce'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-redirect-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-redirect-blocked.sub.html new file mode 100644 index 0000000..e311817 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-redirect-blocked.sub.html
@@ -0,0 +1,41 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>form-action-src-redirect-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +form-action 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + <script> + window.addEventListener("message", function(event) { + alert_assert(event.data); + }, false); + window.addEventListener('load', function() { + setTimeout(function() { + document.getElementById('submit').click(); + log("TEST COMPLETE"); + }, 0); + }); + setTimeout(function() {}, 1000); + + </script> +</head> + +<body> + <iframe name="test_target" id="test_iframe"></iframe> + + <form id="form1" action="/common/redirect.py?location=http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/postmessage-fail.html" method="post" target="test_target"> + <input type="text" name="fieldname" value="fieldvalue"> + <input type="submit" id="submit" value="submit"> + </form> + <p>Tests that blocking a POST form with a redirect works correctly. If this test passes, a CSP violation will be generated.</p> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=form-action%20'self'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-redirect-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-redirect-blocked.sub.html.sub.headers new file mode 100644 index 0000000..ee767f4 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/form-action-src-redirect-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: form-action-src-redirect-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: form-action 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/meta-outside-head.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/meta-outside-head.sub.html new file mode 100644 index 0000000..41618d4 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/meta-outside-head.sub.html
@@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>meta-outside-head</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["PASS (1/1)"]'></script> + <!-- enforcing policy: +script-src 'self' 'unsafe-inline' 'none'; connect-src 'self'; +--> +</head> + +<body> + <meta http-equiv="Content-Security-Policy" content="script-src 'self'"> + <p>This test checks that Content Security Policy delivered via a meta element is not enforced if the element is outside the document's head.</p> + <script> + var aa = "PASS (1/1)"; + </script> + <script src="metaHelper.js"></script> + <div id="log"></div> + <script src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/meta-outside-head.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/meta-outside-head.sub.html.sub.headers new file mode 100644 index 0000000..3cd3351 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/meta-outside-head.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: meta-outside-head={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: script-src 'self' 'unsafe-inline' 'none'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/metaHelper.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/metaHelper.js new file mode 100644 index 0000000..9191a39 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/metaHelper.js
@@ -0,0 +1,5 @@ +if (typeof aa != 'undefined') { + alert_assert(aa); +} else { + alert_assert("Failed - allowed inline script blocked by meta policy outside head."); +}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-mismatched-data.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-mismatched-data.sub.html new file mode 100644 index 0000000..fe3f958 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-mismatched-data.sub.html
@@ -0,0 +1,24 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>plugintypes-mismatched-data</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +plugin-types application/x-invalid-type; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + +</head> + +<body> + This tests that plugin content that doesn't match the declared type doesn't load, even if the document's CSP would allow it. This test passes if "FAIL!" isn't logged. + <object type="application/x-invalid-type" data="data:application/x-webkit-test-netscape,logifloaded" log="FAIL!"></object> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-mismatched-data.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-mismatched-data.sub.html.sub.headers new file mode 100644 index 0000000..4e5b31b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-mismatched-data.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: plugintypes-mismatched-data={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: plugin-types application/x-invalid-type; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-mismatched-url.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-mismatched-url.sub.html new file mode 100644 index 0000000..bc60994 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-mismatched-url.sub.html
@@ -0,0 +1,24 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>plugintypes-mismatched-url</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +plugin-types application/x-invalid-type; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + +</head> + +<body> + This tests that plugin content that doesn't match the declared type doesn't load, even if the document's CSP would allow it. This test passes if no iframe is dumped (meaning that no PluginDocument was created). + <object type="application/x-invalid-type" data="/plugins/resources/mock-plugin.pl" log="FAIL!"></object> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-mismatched-url.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-mismatched-url.sub.html.sub.headers new file mode 100644 index 0000000..38a7450a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-mismatched-url.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: plugintypes-mismatched-url={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: plugin-types application/x-invalid-type; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-notype-data.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-notype-data.sub.html new file mode 100644 index 0000000..eb60d5d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-notype-data.sub.html
@@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>plugintypes-notype-data</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS: object tag onerror handler fired"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +plugin-types application/x-invalid-type; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body> + Given a `plugin-types` directive, plugins have to declare a type explicitly. No declared type, no load. This test passes if there's a CSP report and "FAIL!" isn't logged. + <object data="data:application/x-webkit-test-netscape" onload="log('FAIL');" onerror="log('PASS: object tag onerror handler fired');"></object> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=plugin-types+application/x-invalid-type"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-notype-data.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-notype-data.sub.html.sub.headers new file mode 100644 index 0000000..ea93837 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-notype-data.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: plugintypes-notype-data={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: plugin-types application/x-invalid-type; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-notype-url.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-notype-url.sub.html new file mode 100644 index 0000000..e9918941 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-notype-url.sub.html
@@ -0,0 +1,24 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>plugintypes-notype-url</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +plugin-types application/x-invalid-type; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + +</head> + +<body> + Given a `plugin-types` directive, plugins have to declare a type explicitly. No declared type, no load. This test passes if there's an error report is sent. + <object data="/plugins/resources/mock-plugin.pl" log="FAIL!"></object> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=plugin-types%20application/x-invalid-type"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-notype-url.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-notype-url.sub.html.sub.headers new file mode 100644 index 0000000..ffe26cd --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-notype-url.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: plugintypes-notype-url={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: plugin-types application/x-invalid-type; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-nourl-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-nourl-allowed.sub.html new file mode 100644 index 0000000..222d650 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-nourl-allowed.sub.html
@@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>plugintypes-nourl-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +plugin-types application/x-webkit-test-netscape; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body> + This test passes if there isn't a CSP violation sayingthe plugin was blocked. + <object type="application/x-webkit-test-netscape"></object> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-nourl-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-nourl-allowed.sub.html.sub.headers new file mode 100644 index 0000000..7fef2a5 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-nourl-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: plugintypes-nourl-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: plugin-types application/x-webkit-test-netscape; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-nourl-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-nourl-blocked.sub.html new file mode 100644 index 0000000..b5cc5a5 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-nourl-blocked.sub.html
@@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>plugintypes-nourl-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +plugin-types text/plain; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body> + This test passes if there is a CSP violation sayingthe plugin was blocked. + <object type="application/x-webkit-test-netscape"></object> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=plugin-types%20text/plain"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-nourl-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-nourl-blocked.sub.html.sub.headers new file mode 100644 index 0000000..709bf90d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/plugintypes-nourl-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: plugintypes-nourl-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: plugin-types text/plain; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/script-src-wildcards-disallowed.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/script-src-wildcards-disallowed.html new file mode 100644 index 0000000..2a94692e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/script-src-wildcards-disallowed.html
@@ -0,0 +1,65 @@ +<!DOCTYPE html> +<html> + <head> + <title>script-src disallowed wildcard use</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + </head> + <body> + <!-- enforcing policy: +script-src 'nonce-nonce' *; connect-src 'self'; +--> + <script nonce="nonce"> + var t1 = async_test('data: URIs should not match *'); + t1.step(function() { + var script = document.createElement("script"); + script.src = 'data:application/javascript,'; + script.addEventListener('load', t1.step_func(function() { + assert_unreached('Should not successfully load data URI.'); + })); + script.addEventListener('error', t1.step_func(function() { + t1.done(); + })); + document.head.appendChild(script); + }); + + var t2 = async_test('blob: URIs should not match *'); + t2.step(function() { + var b = new Blob([''], { type: 'application/javascript' }); + var script = document.createElement('script'); + script.addEventListener('load', t2.step_func(function() { + assert_unreached('Should not successfully load blob URI.'); + })); + script.addEventListener('error', t2.step_func(function() { + t2.done(); + })); + + script.src = URL.createObjectURL(b); + document.head.appendChild(script); + }); + + var t3 = async_test('filesystem URIs should not match *'); + if (window.webkitRequestFileSystem) { + window.webkitRequestFileSystem(TEMPORARY, 1024*1024 /*1MB*/, function(fs) { + fs.root.getFile('fail.js', {create: true}, function(fileEntry) { + fileEntry.createWriter(function(fileWriter) { + var script = document.createElement('script'); + + script.addEventListener('load', t3.step_func(function() { + assert_unreached('Should not successfully load filesystem URI.'); + })); + script.addEventListener('error', t3.step_func(function() { + t3.done(); + })); + + script.src = fileEntry.toURL('application/javascript'); + document.body.appendChild(script); + }); + }); + }); + } else { + t3.done(); + } + </script> + </body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/script-src-wildcards-disallowed.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/script-src-wildcards-disallowed.html.sub.headers new file mode 100644 index 0000000..cd954391 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/script-src-wildcards-disallowed.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: script-src-wildcards-disallowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: script-src 'nonce-nonce' *; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-allowed.sub.html new file mode 100644 index 0000000..a7a2174 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-allowed.sub.html
@@ -0,0 +1,42 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>scripthash-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/content-security-policy/support/alertAssert.sub.js?alerts=%5B%22PASS%20(1%2F4)%22%2C%22PASS%20(2%2F4)%22%2C%22PASS%20(3%2F4)%22%2C%22PASS%20(4%2F4)%22%5D"> + + + </script> + <!-- enforcing policy: +script-src 'self' 'sha256-IFmozo9WnnsMXVl/Ka8XzJ3Nd8yzS2zA2ME0mwtd+Ck=' 'sha256-jSpTmJKcrnHttKdYM/wCCDJoQY5tdSxNf7zd2prwFfI=' 'sha256-qbgA2XjB2EZKjn/UmK7v/K77t+fvfxA89QT/K9qPNyE=' 'sha256-K+7X5Ip3msvRvyQzf6fkrWZziuhaUIee1aLnlP5nX10='; connect-src 'self'; +--> + <script> + alert_assert('PASS (1/4)'); + + </script> + <script> + alert_assert('PASS (2/4)'); + + </script> + <script> + alert_assert('PASS (3/4)'); + + </script> + <script> + alert_assert('PASS (4/4)'); + + </script> +</head> + +<body> + <p> + This tests the effect of a valid script-hash value. It passes if no CSP violation is generated, and the alert_assert() is executed. + </p> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-allowed.sub.html.sub.headers new file mode 100644 index 0000000..e0fe373 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: scripthash-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: script-src 'self' 'sha256-IFmozo9WnnsMXVl/Ka8XzJ3Nd8yzS2zA2ME0mwtd+Ck=' 'sha256-jSpTmJKcrnHttKdYM/wCCDJoQY5tdSxNf7zd2prwFfI=' 'sha256-qbgA2XjB2EZKjn/UmK7v/K77t+fvfxA89QT/K9qPNyE=' 'sha256-K+7X5Ip3msvRvyQzf6fkrWZziuhaUIee1aLnlP5nX10='; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-basic-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-basic-blocked.sub.html new file mode 100644 index 0000000..ac7b2c0 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-basic-blocked.sub.html
@@ -0,0 +1,69 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>scripthash-basic-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script> + var t_alert = async_test('Expecting alerts: ["PASS (1/1)"]'); + var expected_alerts = ["PASS (1/1)"]; + + function alert_assert(msg) { + t_alert.step(function() { + if (msg.match(/^FAIL/i)) { + assert_unreached(msg); + t_alert.done(); + } + for (var i = 0; i < expected_alerts.length; i++) { + if (expected_alerts[i] == msg) { + assert_true(expected_alerts[i] == msg); + expected_alerts.splice(i, 1); + if (expected_alerts.length == 0) { + t_alert.done(); + } + return; + } + } + assert_unreached('unexpected alert: ' + msg); + t_log.done(); + }); + } + + </script> + <!-- enforcing policy: +script-src 'self' 'unsafe-inline' 'sha1-Au4uYFbkf7OYd+ACMnKq96FN3qo='; connect-src 'self'; +--> + <script> + alert_assert('PASS (1/1)'); + + </script> + <script> + alert_assert('FAIL (1/4)'); + + </script> + <script> + alert_assert('FAIL (2/4)'); + + </script> + <script> + alert_assert('FAIL (3/4)'); + + </script> + <script> + alert_assert('FAIL (4/4)'); + + </script> +</head> + +<body> + <p> + This tests the effect of a valid script-hash value, with one valid script and several invalid ones. It passes if one alert is executed and a CSP violation is reported. + </p> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=script-src%20'sha1-Au4uYFbkf7OYd+ACMnKq96FN3qo='"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-basic-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-basic-blocked.sub.html.sub.headers new file mode 100644 index 0000000..6a92e06f --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-basic-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: scripthash-basic-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: script-src 'self' 'sha256-k7iO9DPkNQ7PcwPP+8XyYuRiCJ0p76Ofveol9g3mFNs=' 'sha256-EgE/bwVJ+ZLL9F5hNjDqD4C7nlFFrdDaKeNIJ2cUem4='; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-default-src.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-default-src.sub.html new file mode 100644 index 0000000..a11a224a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-default-src.sub.html
@@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> + <head> + <title>script-hash allowed from default-src</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + + <script>done();</script> + </head> + + <body> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> + </body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-default-src.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-default-src.sub.html.sub.headers new file mode 100644 index 0000000..d8893af --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-default-src.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: scripthash-default-src={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: default-src 'self' 'sha256-sc3CeiHrlck5tH2tTC4MnBYFnI9D5zp8f9odqnmGQjE='; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-ignore-unsafeinline.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-ignore-unsafeinline.sub.html new file mode 100644 index 0000000..545099e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-ignore-unsafeinline.sub.html
@@ -0,0 +1,57 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>scripthash-ignore-unsafeinline</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script> + var t_alert = async_test('Expecting alerts: ["PASS (1/1)"]'); + var expected_alerts = ["PASS (1/1)"]; + + function alert_assert(msg) { + t_alert.step(function() { + if (msg.match(/^FAIL/i)) { + assert_unreached(msg); + t_alert.done(); + } + for (var i = 0; i < expected_alerts.length; i++) { + if (expected_alerts[i] == msg) { + assert_true(expected_alerts[i] == msg); + expected_alerts.splice(i, 1); + if (expected_alerts.length == 0) { + t_alert.done(); + } + return; + } + } + assert_unreached('unexpected alert: ' + msg); + t_log.done(); + }); + } + + </script> + <!-- enforcing policy: +script-src 'self' 'unsafe-inline' 'sha1-Au4uYFbkf7OYd+ACMnKq96FN3qo=' 'unsafe-inline'; connect-src 'self'; +--> + <script> + alert_assert('PASS (1/1)'); + + </script> + <script> + alert_assert('FAIL (1/1)'); + + </script> +</head> + +<body> + <p> + This tests that a valid hash value disables inline JavaScript, even if 'unsafe-inline' is present. + </p> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=script-src%20'sha1-Au4uYFbkf7OYd+ACMnKq96FN3qo='%20'unsafe-inline'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-ignore-unsafeinline.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-ignore-unsafeinline.sub.html.sub.headers new file mode 100644 index 0000000..fb3fc765 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-ignore-unsafeinline.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: scripthash-ignore-unsafeinline={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: script-src 'self' unsafe-inline' 'sha256-k7iO9DPkNQ7PcwPP+8XyYuRiCJ0p76Ofveol9g3mFNs=' 'sha256-EgE/bwVJ+ZLL9F5hNjDqD4C7nlFFrdDaKeNIJ2cUem4='; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-unicode-normalization.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-unicode-normalization.sub.html new file mode 100644 index 0000000..bd1e0365 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-unicode-normalization.sub.html
@@ -0,0 +1,71 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>scripthash-unicode-normalization</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + + <!-- enforcing policy: +script-src 'self' 'nonce-nonceynonce' 'sha256-dWTP4Di8KBjaiXvQ5mRquI9OoBSo921ahYxLfYSiuT8='; connect-src 'self'; +--> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +</head> + +<body> + <!-- The following two scripts contain two separate code points (U+00C5 + and U+212B, respectively) which, depending on your text editor, might be + rendered the same.However, their difference is important because, under + NFC normalization, they would become the same code point, which would be + against the spec. This test, therefore, validates that the scripts have + *different* hash values. --> + <script nonce="nonceynonce"> + var matchingContent = 'Å'; + var nonMatchingContent = 'Å'; + + // This script should have a hash value of + // sha256-9UFeeZbvnMa0tLNu76v96T4Hh+UtDWHm2lPQJoTWb9c= + var scriptContent1 = "window.finish('" + matchingContent + "');"; + + // This script should have a hash value of + // sha256-iNjjXUXds31FFvkAmbC74Sxnvreug3PzGtu16udQyqM= + var scriptContent2 = "window.finish('" + nonMatchingContent + "');"; + + var script1 = document.createElement('script'); + var script2 = document.createElement('script'); + + script1.test = async_test("Only matching content runs even with NFC normalization."); + + var failure = function() { + assert_unreached(); + } + + window.finish = function(content) { + if (content == matchingContent) { + script1.test.step(function() { + script1.test.done(); + }); + } else { + script1.test.step(function() { + assert_unreached("nonMatchingContent script ran"); + }); + } + } + + script1.onerror = failure; + + document.body.appendChild(script2); + script2.textContent = scriptContent2; + document.body.appendChild(script1); + script1.textContent = scriptContent1; + </script> + + <p> + This tests Unicode normalization. While appearing the same, the strings in the scripts are different Unicode points, but through normalization, should be the same when the hash is taken. + </p> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-unicode-normalization.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-unicode-normalization.sub.html.sub.headers new file mode 100644 index 0000000..a23724f --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scripthash-unicode-normalization.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: scripthash-unicode-normalization={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: script-src 'self' 'nonce-nonceynonce' 'sha256-9UFeeZbvnMa0tLNu76v96T4Hh+UtDWHm2lPQJoTWb9c='; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-allowed.sub.html new file mode 100644 index 0000000..c76896bf --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-allowed.sub.html
@@ -0,0 +1,64 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>scriptnonce-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script nonce="noncynonce"> + function log(msg) { + test(function() { + assert_unreached(msg) + }); + } + + </script> + <script nonce="noncynonce"> + var t_alert = async_test('Expecting alerts: ["PASS (1/2)","PASS (2/2)"]'); + var expected_alerts = ["PASS (1/2)", "PASS (2/2)"]; + + function alert_assert(msg) { + t_alert.step(function() { + if (msg.match(/^FAIL/i)) { + assert_unreached(msg); + t_alert.done(); + } + for (var i = 0; i < expected_alerts.length; i++) { + if (expected_alerts[i] == msg) { + assert_true(expected_alerts[i] == msg); + expected_alerts.splice(i, 1); + if (expected_alerts.length == 0) { + t_alert.done(); + } + return; + } + } + assert_unreached('unexpected alert: ' + msg); + t_log.done(); + }); + } + + </script> + <!-- enforcing policy: +script-src 'self' 'unsafe-inline' 'nonce-noncynonce' 'nonce-noncy+/nonce='; connect-src 'self'; +--> + <script nonce="noncynonce"> + alert_assert('PASS (1/2)'); + + </script> + <script nonce="noncy+/nonce="> + alert_assert('PASS (2/2)'); + + </script> +</head> + +<body> + <p> + This tests the effect of a valid script-nonce value. It passes if no CSP violation is generated and the alerts are executed. + </p> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-allowed.sub.html.sub.headers new file mode 100644 index 0000000..1e21757 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: scriptnonce-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: script-src 'self' 'nonce-noncynonce' 'nonce-noncy+/nonce='; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-and-scripthash.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-and-scripthash.sub.html new file mode 100644 index 0000000..2b333cbe --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-and-scripthash.sub.html
@@ -0,0 +1,76 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>scriptnonce-and-scripthash</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script nonce="nonceynonce"> + function log(msg) { + test(function() { + assert_unreached(msg) + }); + } + + </script> + <script nonce="nonceynonce"> + var t_alert = async_test('Expecting alerts: ["PASS (1/3)","PASS (2/3)","PASS (3/3)"]'); + var expected_alerts = ["PASS (1/3)", "PASS (2/3)", "PASS (3/3)"]; + + function alert_assert(msg) { + t_alert.step(function() { + if (msg.match(/^FAIL/i)) { + assert_unreached(msg); + t_alert.done(); + } + for (var i = 0; i < expected_alerts.length; i++) { + if (expected_alerts[i] == msg) { + assert_true(expected_alerts[i] == msg); + expected_alerts.splice(i, 1); + if (expected_alerts.length == 0) { + t_alert.done(); + } + return; + } + } + assert_unreached('unexpected alert: ' + msg); + t_log.done(); + }); + } + + </script> + <!-- enforcing policy: +script-src 'self' 'sha256-LS8v1E1Ff0Hc8FobgWKNKY3sbW4rljPlZNQHyyutfKU=' 'nonce-nonceynonce'; connect-src 'self'; +--> + <script nonce="nonceynonce"> + alert_assert('PASS (1/3)'); + + </script> + <script> + alert_assert('PASS (2/3)'); + + </script> + <script nonce="nonceynonce"> + alert_assert('PASS (3/3)'); + + </script> + <script> + alert_assert('FAIL (1/2)'); + + </script> + <script nonce="notanonce"> + alert_assert('FAIL (2/2)'); + + </script> +</head> + +<body> + <p> + This tests the combined use of script hash and script nonce. It passes if a CSP violation is generated and the three alerts show PASS. + </p> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=script-src%20'sha1-MfuEFRkC2LmR31AMy9KW2ZLDegA='%20'sha1-p70t5PXyndLfjKNjbyBBOL1gFiM='%20'nonce-nonceynonce'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-and-scripthash.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-and-scripthash.sub.html.sub.headers new file mode 100644 index 0000000..afa33e6d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-and-scripthash.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: scriptnonce-and-scripthash={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: script-src 'self' 'sha256-LS8v1E1Ff0Hc8FobgWKNKY3sbW4rljPlZNQHyyutfKU=' 'nonce-nonceynonce'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-basic-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-basic-blocked.sub.html new file mode 100644 index 0000000..4815ca1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-basic-blocked.sub.html
@@ -0,0 +1,43 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>scriptnonce-basic-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/alertAssert.sub.js?alerts=["PASS (closely-quoted nonce)","PASS (nonce w/whitespace)"]'></script> + <!-- enforcing policy: +script-src 'self' 'unsafe-inline' 'nonce-noncynonce'; connect-src 'self'; +--> + <script nonce="noncynonce"> + alert_assert('PASS (closely-quoted nonce)'); + + </script> + <script nonce=" noncynonce "> + alert_assert('PASS (nonce w/whitespace)'); + + </script> + <script nonce="noncynonce noncynonce"> + alert_assert('FAIL (1/3)'); + + </script> + <script> + alert_assert('FAIL (2/3)'); + + </script> + <script nonce="noncynonceno?"> + alert_assert('FAIL (3/3)'); + + </script> +</head> + +<body> + <p> + This tests the effect of a valid script-nonce value. It passes if a CSP violation is generated, and the two PASS alerts are executed. + </p> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=script-src%20'nonce-noncynonce'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-basic-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-basic-blocked.sub.html.sub.headers new file mode 100644 index 0000000..ee4e8b3 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-basic-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: scriptnonce-basic-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: script-src 'self' 'nonce-noncynonce'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-ignore-unsafeinline.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-ignore-unsafeinline.sub.html new file mode 100644 index 0000000..0d48b486 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-ignore-unsafeinline.sub.html
@@ -0,0 +1,72 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>scriptnonce-ignore-unsafeinline</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script nonce='noncynonce'> + function log(msg) { + test(function() { + assert_unreached(msg) + }); + } + + </script> + <script nonce='noncynonce'> + var t_alert = async_test('Expecting alerts: ["PASS (1/2)","PASS (2/2)"]'); + var expected_alerts = ["PASS (1/2)", "PASS (2/2)"]; + + function alert_assert(msg) { + t_alert.step(function() { + if (msg.match(/^FAIL/i)) { + assert_unreached(msg); + t_alert.done(); + } + for (var i = 0; i < expected_alerts.length; i++) { + if (expected_alerts[i] == msg) { + assert_true(expected_alerts[i] == msg); + expected_alerts.splice(i, 1); + if (expected_alerts.length == 0) { + t_alert.done(); + } + return; + } + } + assert_unreached('unexpected alert: ' + msg); + t_log.done(); + }); + } + + </script> + <!-- enforcing policy: +script-src 'self' 'unsafe-inline' 'nonce-noncynonce' 'nonce-noncy+/nonce=' 'unsafe-inline'; connect-src 'self'; +--> + <script nonce="noncynonce"> + + + </script> + <script nonce="noncynonce"> + alert_assert('PASS (1/2)'); + + </script> + <script nonce="noncy+/nonce="> + alert_assert('PASS (2/2)'); + + </script> + <script> + alert_assert('FAIL (1/1)'); + + </script> +</head> + +<body> + <p> + This tests that a valid nonce disables inline JavaScript, even if 'unsafe-inline' is present. + </p> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=script-src%20'nonce-noncynonce'%20'nonce-noncy+/nonce='%20'unsafe-inline'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-ignore-unsafeinline.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-ignore-unsafeinline.sub.html.sub.headers new file mode 100644 index 0000000..9aecb94 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-ignore-unsafeinline.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: scriptnonce-ignore-unsafeinline={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: script-src 'self' 'unsafe-inline' 'nonce-noncynonce' 'nonce-noncy+/nonce=' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-redirect.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-redirect.sub.html new file mode 100644 index 0000000..a17f1fb --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-redirect.sub.html
@@ -0,0 +1,59 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>scriptnonce-redirect</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script nonce="noncynonce"> + function log(msg) { + test(function() { + assert_unreached(msg) + }); + } + + </script> + <script nonce="noncynonce"> + var t_alert = async_test('Expecting alerts: ["PASS"]'); + var expected_alerts = ["PASS"]; + + function alert_assert(msg) { + t_alert.step(function() { + if (msg.match(/^FAIL/i)) { + assert_unreached(msg); + t_alert.done(); + } + for (var i = 0; i < expected_alerts.length; i++) { + if (expected_alerts[i] == msg) { + assert_true(expected_alerts[i] == msg); + expected_alerts.splice(i, 1); + if (expected_alerts.length == 0) { + t_alert.done(); + } + return; + } + } + assert_unreached('unexpected alert: ' + msg); + t_log.done(); + }); + } + + </script> + <!-- enforcing policy: +script-src 'self' 'unsafe-inline' 'nonce-noncynonce'; connect-src 'self'; +--> +</head> + +<body> + This tests whether a deferred script load caused by a redirect is properly allowed by a nonce. + <script nonce="noncynonce" src="/common/redirect.py?location=http://{{host}}:{{ports[http][0]}}/content-security-policy/support/alert-pass.js"></script> + <script nonce="noncynonce"> + + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-redirect.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-redirect.sub.html.sub.headers new file mode 100644 index 0000000..8d71f88d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/scriptnonce-redirect.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: scriptnonce-redirect={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: script-src 'self' 'unsafe-inline' 'nonce-noncynonce'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/securitypolicyviolation-block-cross-origin-image-from-script.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/securitypolicyviolation-block-cross-origin-image-from-script.sub.html new file mode 100644 index 0000000..82cad03 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/securitypolicyviolation-block-cross-origin-image-from-script.sub.html
@@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>securitypolicyviolation-block-cross-origin-image-from-script</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +img-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body> + <script> + var x = document.createElement('script'); + x.src = 'http://{{host}}:{{ports[http][0]}}/content-security-policy/support/inject-image.js'; + document.body.appendChild(x); + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=img-src%20'none'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/securitypolicyviolation-block-cross-origin-image-from-script.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/securitypolicyviolation-block-cross-origin-image-from-script.sub.html.sub.headers new file mode 100644 index 0000000..723ed281 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/securitypolicyviolation-block-cross-origin-image-from-script.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: securitypolicyviolation-block-cross-origin-image-from-script={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: img-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/securitypolicyviolation-block-cross-origin-image.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/securitypolicyviolation-block-cross-origin-image.sub.html new file mode 100644 index 0000000..9b7dc32 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/securitypolicyviolation-block-cross-origin-image.sub.html
@@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>securitypolicyviolation-block-cross-origin-image</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +img-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body> + <script> + var img = document.createElement('img'); + img.src = 'http://{{host}}:{{ports[http][0]}}/security/resources/abe.png'; + document.body.appendChild(img); + log("TEST COMPLETE"); + + </script> + <p>Check that a SecurityPolicyViolationEvent strips detail from cross-origin blocked URLs.</p> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=img-src%20'none'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/securitypolicyviolation-block-cross-origin-image.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/securitypolicyviolation-block-cross-origin-image.sub.html.sub.headers new file mode 100644 index 0000000..d701a476 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/securitypolicyviolation-block-cross-origin-image.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: securitypolicyviolation-block-cross-origin-image={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: img-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/securitypolicyviolation-block-image-from-script.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/securitypolicyviolation-block-image-from-script.sub.html new file mode 100644 index 0000000..33facfbc --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/securitypolicyviolation-block-image-from-script.sub.html
@@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>securitypolicyviolation-block-image-from-script</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +img-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body> + <script> + var script = document.createElement('script'); + script.src = '../support/inject-image.js'; + document.body.appendChild(script); + log("TEST COMPLETE"); + + </script> + <p>Check that a SecurityPolicyViolationEvent is fired upon blocking an image injected via script.</p> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=img-src%20'none'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/securitypolicyviolation-block-image-from-script.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/securitypolicyviolation-block-image-from-script.sub.html.sub.headers new file mode 100644 index 0000000..6b6084d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/securitypolicyviolation-block-image-from-script.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: securitypolicyviolation-block-image-from-script={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: img-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/securitypolicyviolation-block-image.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/securitypolicyviolation-block-image.sub.html new file mode 100644 index 0000000..3e62e2d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/securitypolicyviolation-block-image.sub.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>securitypolicyviolation-block-image</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +img-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body> + <script> + var img = document.createElement('img'); + img.src = '../support/fail.png'; + img.onerror = function() { + log("TEST COMPLETE"); + }; + img.onload = function() { + log("FAIL"); + }; + document.body.appendChild(img); + + </script> + <p>Check that a SecurityPolicyViolationEvent is fired upon blocking an image.</p> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=img-src%20'none'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/securitypolicyviolation-block-image.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/securitypolicyviolation-block-image.sub.html.sub.headers new file mode 100644 index 0000000..1f4f8457 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/securitypolicyviolation-block-image.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: securitypolicyviolation-block-image={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: img-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylehash-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylehash-allowed.sub.html new file mode 100644 index 0000000..282b185 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylehash-allowed.sub.html
@@ -0,0 +1,77 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>stylehash-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script> + var t_alert = async_test('Expecting alerts: ["PASS (1/4): The \'#p1\' element\'s text is green, which means the style was correctly applied.","PASS (2/4): The \'#p2\' element\'s text is green, which means the style was correctly applied.","PASS (3/4): The \'#p3\' element\'s text is green, which means the style was correctly applied.","PASS (4/4): The \'#p4\' element\'s text is green, which means the style was correctly applied."]'); + var expected_alerts = ["PASS (1/4): The '#p1' element's text is green, which means the style was correctly applied.", "PASS (2/4): The '#p2' element's text is green, which means the style was correctly applied.", "PASS (3/4): The '#p3' element's text is green, which means the style was correctly applied.", "PASS (4/4): The '#p4' element's text is green, which means the style was correctly applied."]; + + function alert_assert(msg) { + t_alert.step(function() { + if (msg.match(/^FAIL/i)) { + assert_unreached(msg); + t_alert.done(); + } + for (var i = 0; i < expected_alerts.length; i++) { + if (expected_alerts[i] == msg) { + assert_true(expected_alerts[i] == msg); + expected_alerts.splice(i, 1); + if (expected_alerts.length == 0) { + t_alert.done(); + } + return; + } + } + assert_unreached('unexpected alert: ' + msg); + t_log.done(); + }); + } + + </script> + <!-- enforcing policy: +style-src 'sha256-pAKi9r4/WB7fHydbE3F3t8i8602ij2JN8zHJpL2T5BM=' 'sha256-hndjYvzUzy2Ykuad81Cwsl1FOXX/qYs/aDVyUyNZwBw=' 'sha384-bSVm1i3sjPBRM4TwZtYTDjk9JxZMExYHWbFmP1SxDhJH4ue0Wu9OPOkY5hcqRcSt' 'sha512-440MmBLtj9Kp5Bqloogn9BqGDylY8vFsv5/zXL1zH2fJVssCoskRig4gyM+9KqwvCSapSz5CVoUGHQcxv43UQg=='; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body> + <p id="p1">This tests the result of a valid style hash. It passes if this text is green, and a "PASS" alert for p1 is fired.</p> + <p id="p2">This tests the result of a valid style hash. It passes if this text is green, and a "PASS" alert for p2 is fired.</p> + <p id="p3">This tests the result of a valid style hash. It passes if this text is green, and a "PASS" alert for p3 is fired.</p> + <p id="p4">This tests the result of a valid style hash. It passes if this text is green, and a "PASS" alert for p4 is fired.</p> + <style>p#p1 { color: green; }</style> + <style>p#p2 { color: green; }</style> + <style>p#p3 { color: green; }</style> + <style>p#p4 { color: green; }</style> + <script> + var color = window.getComputedStyle(document.querySelector('#p1')).color; + if (color === "rgb(0, 128, 0)") + alert_assert("PASS (1/4): The '#p1' element's text is green, which means the style was correctly applied."); + else + alert_assert("FAIL (1/4): The '#p1' element's text is " + color + ", which means the style was incorrectly applied."); + var color = window.getComputedStyle(document.querySelector('#p2')).color; + if (color === "rgb(0, 128, 0)") + alert_assert("PASS (2/4): The '#p2' element's text is green, which means the style was correctly applied."); + else + alert_assert("FAIL (2/4): The '#p2' element's text is " + color + ", which means the style was incorrectly applied."); + var color = window.getComputedStyle(document.querySelector('#p3')).color; + if (color === "rgb(0, 128, 0)") + alert_assert("PASS (3/4): The '#p3' element's text is green, which means the style was correctly applied."); + else + alert_assert("FAIL (3/4): The '#p3' element's text is " + color + ", which means the style was incorrectly applied."); + var color = window.getComputedStyle(document.querySelector('#p4')).color; + if (color === "rgb(0, 128, 0)") + alert_assert("PASS (4/4): The '#p4' element's text is green, which means the style was correctly applied."); + else + alert_assert("FAIL (4/4): The '#p4' element's text is " + color + ", which means the style was incorrectly applied."); + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylehash-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylehash-allowed.sub.html.sub.headers new file mode 100644 index 0000000..2b519e85 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylehash-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: stylehash-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: style-src 'self' 'sha256-pAKi9r4/WB7fHydbE3F3t8i8602ij2JN8zHJpL2T5BM=' 'sha256-hndjYvzUzy2Ykuad81Cwsl1FOXX/qYs/aDVyUyNZwBw=' 'sha384-bSVm1i3sjPBRM4TwZtYTDjk9JxZMExYHWbFmP1SxDhJH4ue0Wu9OPOkY5hcqRcSt' 'sha512-440MmBLtj9Kp5Bqloogn9BqGDylY8vFsv5/zXL1zH2fJVssCoskRig4gyM+9KqwvCSapSz5CVoUGHQcxv43UQg=='; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylehash-basic-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylehash-basic-blocked.sub.html new file mode 100644 index 0000000..274db01 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylehash-basic-blocked.sub.html
@@ -0,0 +1,61 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>stylehash-basic-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script> + var t_alert = async_test('Expecting alerts: ["PASS: The \'p\' element\'s text is green, which means the style was correctly applied."]'); + var expected_alerts = ["PASS: The 'p' element's text is green, which means the style was correctly applied."]; + + function alert_assert(msg) { + t_alert.step(function() { + if (msg.match(/^FAIL/i)) { + assert_unreached(msg); + t_alert.done(); + } + for (var i = 0; i < expected_alerts.length; i++) { + if (expected_alerts[i] == msg) { + assert_true(expected_alerts[i] == msg); + expected_alerts.splice(i, 1); + if (expected_alerts.length == 0) { + t_alert.done(); + } + return; + } + } + assert_unreached('unexpected alert: ' + msg); + t_log.done(); + }); + } + + </script> + <!-- enforcing policy: +style-src 'sha1-pfeR5wMA6np45oqDTP6Pj3tLpJo='; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + <style>p { color: green; }</style> + <style>p { color: red; }</style> + <style>p { color: purple; }</style> + <style>p { color: blue; }</style> +</head> + +<body> + <p> + This tests the effect of a valid style-hash value, with one valid style and several invalid ones. It passes if the valid style is applied and a CSP violation is generated. + </p> + <script> + var color = window.getComputedStyle(document.querySelector('p')).color; + if (color === "rgb(0, 128, 0)") + alert_assert("PASS: The 'p' element's text is green, which means the style was correctly applied."); + else + alert_assert("FAIL: The 'p' element's text is " + color + ", which means the style was incorrectly applied."); + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=style-src%20'sha1-pfeR5wMA6np45oqDTP6Pj3tLpJo='"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylehash-basic-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylehash-basic-blocked.sub.html.sub.headers new file mode 100644 index 0000000..ac9ca4e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylehash-basic-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: stylehash-basic-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: style-src 'self' 'sha1-pfeR5wMA6np45oqDTP6Pj3tLpJo='; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylehash-default-src.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylehash-default-src.sub.html new file mode 100644 index 0000000..159338c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylehash-default-src.sub.html
@@ -0,0 +1,21 @@ +<!DOCTYPE html> +<html> + <head> + <title>stylehash allowed from default-src</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + </head> + + <body> + <p id="p">Test</p> + <style>p#p { color: green; }</style> + <script> + var color = window.getComputedStyle(document.querySelector('#p')).color; + assert_equals(color, "rgb(0, 128, 0)"); + done(); + </script> + + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> + </body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylehash-default-src.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylehash-default-src.sub.html.sub.headers new file mode 100644 index 0000000..8efe9d9 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylehash-default-src.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: stylehash-default-src={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: default-src 'self' 'sha256-SXMrww9+PS7ymkxYbv91id+HfXeO7p1uCY0xhNb4MIw='; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylenonce-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylenonce-allowed.sub.html new file mode 100644 index 0000000..0cc14e7 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylenonce-allowed.sub.html
@@ -0,0 +1,54 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>stylenonce-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +style-src 'self' nonce-noncynonce' 'nonce-noncy+/nonce='; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + <script></script> + <style nonce="noncynonce"> + #test1 { + color: green; + } + + </style> + <style> + #test1 { + color: red; + } + + </style> + <style nonce="noncynonce"> + #test2 { + color: green; + } + + </style> +</head> + +<body> + <p id="test1">This text should be green.</p> + <p id="test2">This text should also be green.</p> + <script> + var el = document.querySelector('#test1'); + test(function() { + assert_equals(window.getComputedStyle(el).color, "rgb(0, 128, 0)") + }); + var el = document.querySelector('#test2'); + test(function() { + assert_equals(window.getComputedStyle(el).color, "rgb(0, 128, 0)") + }); + + </script> + <p>Style correctly whitelisted via a 'nonce-*' expression in 'style-src' should be applied to the page.</p> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=style-src%20'nonce-noncynonce'%20'nonce-noncy+/nonce='"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylenonce-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylenonce-allowed.sub.html.sub.headers new file mode 100644 index 0000000..7475be8 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylenonce-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: stylenonce-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: style-src 'self' 'nonce-noncynonce' 'nonce-noncy+/nonce='; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylenonce-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylenonce-blocked.sub.html new file mode 100644 index 0000000..43204f6 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylenonce-blocked.sub.html
@@ -0,0 +1,38 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>stylenonce-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <link rel="stylesheet" type="text/css" href="allowed.css"> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +style-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + <script></script> + <style nonce="noncynonce"> + #test { + color: red; + } + + </style> +</head> + +<body> + <p id="test">This text should be green.</p> + <script> + var el = document.querySelector('#test'); + test(function() { + assert_equals(window.getComputedStyle(el).color, "rgb(0, 128, 0)") + }); + + </script> + <p>Style that does not match a 'nonce-*' expression in 'style-src' should not be applied to the page.</p> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=style-src%20'self'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylenonce-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylenonce-blocked.sub.html.sub.headers new file mode 100644 index 0000000..e51a02d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib-2/stylenonce-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: stylenonce-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2 +Content-Security-Policy: style-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/blob-urls-do-not-match-self.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/blob-urls-do-not-match-self.sub.html new file mode 100644 index 0000000..912a29e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/blob-urls-do-not-match-self.sub.html
@@ -0,0 +1,36 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>blob-urls-do-not-match-self</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +script-src 'self' 'unsafe-inline'; connect-src 'self'; child-src 'self'; +--> +</head> + +<body> + <p> + blob: URLs are same-origin with the page in which they were created, but explicitly do not match the 'self' or '*' source in CSP directives because they are more akin to 'unsafe-inline' content. + </p> + <script> + function fail() { + alert_assert("FAIL!"); + } + var b = new Blob(['fail();'], { + type: 'application/javascript' + }); + var script = document.createElement('script'); + script.src = URL.createObjectURL(b); + document.body.appendChild(script); + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=script-src%20'self'%20'unsafe-inline'%20''"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/blob-urls-do-not-match-self.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/blob-urls-do-not-match-self.sub.html.sub.headers new file mode 100644 index 0000000..cbfc8d4e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/blob-urls-do-not-match-self.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: blob-urls-do-not-match-self={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline'; connect-src 'self'; child-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/blob-urls-match-blob.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/blob-urls-match-blob.sub.html new file mode 100644 index 0000000..819c1a6 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/blob-urls-match-blob.sub.html
@@ -0,0 +1,36 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>blob-urls-match-blob</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS (1/1)"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +script-src 'self' 'unsafe-inline' blob:; connect-src 'self'; +--> +</head> + +<body> + <p> + blob: URLs are same-origin with the page in which they were created, but match only if the blob: scheme is specified. + </p> + <script> + function pass() { + log("PASS (1/1)"); + } + var b = new Blob(['pass();'], { + type: 'application/javascript' + }); + var script = document.createElement('script'); + script.src = URL.createObjectURL(b); + document.body.appendChild(script); + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/blob-urls-match-blob.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/blob-urls-match-blob.sub.html.sub.headers new file mode 100644 index 0000000..be74e61a7 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/blob-urls-match-blob.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: blob-urls-match-blob={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline' blob:; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/combine-header-and-meta-policies.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/combine-header-and-meta-policies.sub.html new file mode 100644 index 0000000..66b86f1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/combine-header-and-meta-policies.sub.html
@@ -0,0 +1,51 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <meta http-equiv="Content-Security-Policy" content="img-src 'none'"> + <title>combine-header-and-meta-policies</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing multiple policies: +Content-Security-Policy: script-src 'self' 'unsafe-inline'; connect-src 'self'; style-src 'self' +Content-Security-Policy: img-src 'none' +--> +</head> + +<body> +<p>Test passes if both style and image are blocked and a report is generated for the + style block from the header-supplied policy.</p> + + <script> + var img = document.createElement('img'); + img.src = '../support/fail.png'; + img.onerror = function() { + log("TEST COMPLETE"); + }; + img.onload = function() { + log("FAIL"); + }; + document.body.appendChild(img); + + </script> + <style> + body { + background-color: blue; + } + + </style> + <script> + var el = document.querySelector('body'); + test(function() { + assert_equals(window.getComputedStyle(el).color, "rgb(0, 0, 0)") + }); + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=style-src%20'self'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/combine-header-and-meta-policies.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/combine-header-and-meta-policies.sub.html.sub.headers new file mode 100644 index 0000000..b1f0e7f --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/combine-header-and-meta-policies.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: combine-header-and-meta-policies={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline'; connect-src 'self'; style-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/combine-multiple-header-policies.html.asis b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/combine-multiple-header-policies.html.asis new file mode 100644 index 0000000..a14be5c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/combine-multiple-header-policies.html.asis
@@ -0,0 +1,60 @@ +HTTP/1.1 200 OK +Content-Type: text/html +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: combine-multiple-policies=d0140e7d-3800-4842-b66d-370840a4569a; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline'; connect-src 'self'; style-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID=d0140e7d-3800-4842-b66d-370840a4569a +Content-Security-Policy: img-src 'none' + +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <meta http-equiv="Content-Security-Policy" content="img-src 'none'"> + <title>combine-multiple-policies</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing multiple policies: +Content-Security-Policy: script-src 'self' 'unsafe-inline'; connect-src 'self'; styls-src 'self' +Content-Security-Policy: img-src 'none' +--> +</head> + +<body> + This test checks that we enforce all the supplied policies. This test passe if it doesn't alert fail and if the style doesn't apply. + Check that a SecurityPolicyViolationEvent is fired upon blocking an image. + <script> + var img = document.createElement('img'); + img.src = '../support/fail.png'; + img.onerror = function() { + log("TEST COMPLETE"); + }; + img.onload = function() { + log("FAIL"); + }; + document.body.appendChild(img); + + </script> + <style> + body { + background-color: blue; + } + + </style> + <script> + var el = document.querySelector('body'); + test(function() { + assert_equals(window.getComputedStyle(el).color, "rgb(0, 0, 0)") + }); + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=style-src%20'self'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-beacon-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-beacon-allowed.sub.html new file mode 100644 index 0000000..2beb00d0 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-beacon-allowed.sub.html
@@ -0,0 +1,41 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>connect-src-beacon-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["Pass"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +connect-src 'self' http://{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inline'; +--> +</head> + +<body> + <script> + if (typeof navigator.sendBeacon != 'function') { + t_log.set_status(t_log.NOTRUN, "No navigator.sendBeacon, cannot run test."); + t_log.phase = t_log.phases.HAS_RESULT; + t_log.done(); + } else { + try { + var es = navigator.sendBeacon("http://{{host}}:{{ports[http][0]}}/cors/resources/status.py"); + log("Pass"); + } catch (e) { + log("Fail"); + } + var report = document.createElement("script"); + report.src = "../support/checkReport.sub.js?reportExists=false"; + report.async = true; + report.defer = true; + document.body.appendChild(report); + + } + + </script> + <div id="log"></div> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-beacon-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-beacon-allowed.sub.html.sub.headers new file mode 100644 index 0000000..bd3eda4 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-beacon-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: connect-src-beacon-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: connect-src 'self' http://{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inline'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-beacon-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-beacon-blocked.sub.html new file mode 100644 index 0000000..f68d3c38 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-beacon-blocked.sub.html
@@ -0,0 +1,40 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>connect-src-beacon-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["Pass"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +connect-src 'self' http://{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inline'; +--> +</head> + +<body> + <script> + if (typeof navigator.sendBeacon != 'function') { + t_log.set_status(t_log.NOTRUN, "No navigator.sendBeacon, cannot run test."); + t_log.phase = t_log.phases.HAS_RESULT; + t_log.done(); + } else { + try { + var es = navigator.sendBeacon("http://www1.{{host}}:{{ports[http][0]}}/security/contentSecurityPolicy/echo-report.php"); + log("Pass"); + } catch (e) { + log("Fail"); + } + var report = document.createElement("script"); + report.src = "../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=connect-src%20'self'"; + report.async = true; + report.defer = true; + document.body.appendChild(report); + } + + </script> + <div id="log"></div> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-beacon-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-beacon-blocked.sub.html.sub.headers new file mode 100644 index 0000000..69ded8d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-beacon-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: connect-src-beacon-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: connect-src 'self'; script-src 'self' 'unsafe-inline'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-beacon-redirect-to-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-beacon-redirect-to-blocked.sub.html new file mode 100644 index 0000000..3d03100e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-beacon-redirect-to-blocked.sub.html
@@ -0,0 +1,41 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>connect-src-beacon-redirect-to-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +connect-src 'self'; script-src 'self' 'unsafe-inline'; +--> + <script></script> +</head> + +<body> + <p>The beacon should not follow the redirect to http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/fail.png and send a CSP violation report.</p> + <p>Verify that a CSP connect-src directive blocks redirects.</p> + <script> + if (typeof navigator.sendBeacon != 'function') { + var t = async_test(); + t.set_status(t.NOTRUN, "No navigator.sendBeacon, cannot run test."); + t.phase = t.phases.HAS_RESULT; + t.done(); + } else { + navigator.sendBeacon( + "/common/redirect.py?location=http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/fail.png", + "ping"); + var report = document.createElement("script"); + report.src = "../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=connect-src%20'self'"; + report.async = true; + report.defer = true; + document.body.appendChild(report); + } + + </script> + <div id="log"></div> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-beacon-redirect-to-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-beacon-redirect-to-blocked.sub.html.sub.headers new file mode 100644 index 0000000..2c69d0d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-beacon-redirect-to-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: connect-src-beacon-redirect-to-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: connect-src 'self'; script-src 'self' 'unsafe-inline'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-eventsource-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-eventsource-allowed.sub.html new file mode 100644 index 0000000..b3a65f1c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-eventsource-allowed.sub.html
@@ -0,0 +1,30 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>connect-src-eventsource-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["Pass"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +connect-src 'self' http://{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inline'; +--> +</head> + +<body> + <script> + try { + var es = new EventSource("http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/simple-event-stream"); + log("Pass"); + } catch (e) { + log("Fail"); + } + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-eventsource-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-eventsource-allowed.sub.html.sub.headers new file mode 100644 index 0000000..eff5c54 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-eventsource-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: connect-src-eventsource-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: connect-src 'self' http://{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inline'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-eventsource-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-eventsource-blocked.sub.html new file mode 100644 index 0000000..5be570c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-eventsource-blocked.sub.html
@@ -0,0 +1,40 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>connect-src-eventsource-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["Pass"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +connect-src 'self'; script-src 'self' 'unsafe-inline'; +--> +</head> + +<body> + <script> + try { + var es = new EventSource("http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/simple-event-stream"); + // Firefox doesn't throw an exception and takes some time to close async + if (es.readyState == EventSource.CONNECTING) { + setTimeout( function() { + es.readyState != EventSource.CLOSED ? log("Fail") : log("Pass"); + }, 2); + } else if (es.readyState == EventSource.CLOSED) { + log("Pass"); + } else { + log("Fail"); + } + + } catch (e) { + log("Pass"); + } + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=connect-src%20'self'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-eventsource-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-eventsource-blocked.sub.html.sub.headers new file mode 100644 index 0000000..ac37816 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-eventsource-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: connect-src-eventsource-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: connect-src 'self'; script-src 'self' 'unsafe-inline'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-eventsource-redirect-to-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-eventsource-redirect-to-blocked.sub.html new file mode 100644 index 0000000..a3ba4ba --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-eventsource-redirect-to-blocked.sub.html
@@ -0,0 +1,39 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>connect-src-eventsource-redirect-to-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS EventSource() did not follow the disallowed redirect.","TEST COMPLETE"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +connect-src 'self'; script-src 'self' 'unsafe-inline'; +--> + <script></script> +</head> + +<body> + <script> + var es; + try { + es = new EventSource("/common/redirect.py?location= http://www.{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/simple-event-stream"); + } catch (e) { + log("FAIL " + "EventSource() should not throw an exception."); + } + es.onload = function() { + log("FAIL " + "EventSource() should fail to follow the disallowed redirect."); + log("TEST COMPLETE"); + }; + es.onerror = function() { + log("PASS " + "EventSource() did not follow the disallowed redirect."); + log("TEST COMPLETE"); + }; + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=connect-src%20'self'/security/contentSecurityPolicy/resources/redir.php"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-eventsource-redirect-to-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-eventsource-redirect-to-blocked.sub.html.sub.headers new file mode 100644 index 0000000..c63c8a9 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-eventsource-redirect-to-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: connect-src-eventsource-redirect-to-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: connect-src 'self' http://{{host}}:{{ports[http][0]}}/security/contentSecurityPolicy/resources/redir.php; script-src 'self' 'unsafe-inline'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-websocket-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-websocket-allowed.sub.html new file mode 100644 index 0000000..4e8499bd --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-websocket-allowed.sub.html
@@ -0,0 +1,30 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>connect-src-websocket-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["Pass"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +connect-src 'self' ws://127.0.0.1:8880; script-src 'self' 'unsafe-inline'; +--> +</head> + +<body> + <script> + try { + var ws = new WebSocket("ws://127.0.0.1:8880/echo"); + log("Pass"); + } catch (e) { + log("Fail"); + } + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-websocket-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-websocket-allowed.sub.html.sub.headers new file mode 100644 index 0000000..7074351 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-websocket-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: connect-src-websocket-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: connect-src 'self' ws://127.0.0.1:8880; script-src 'self' 'unsafe-inline'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-websocket-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-websocket-blocked.sub.html new file mode 100644 index 0000000..68f86de --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-websocket-blocked.sub.html
@@ -0,0 +1,30 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>connect-src-websocket-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["Pass"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +connect-src 'self' ws://127.0.0.1:8880; script-src 'self' 'unsafe-inline'; +--> +</head> + +<body> + <script> + try { + var ws = new WebSocket("ws://localhost:8880/echo"); + log("Fail"); + } catch (e) { + log("Pass"); + } + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=connect-src%20ws://127.0.0.1:8880"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-websocket-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-websocket-blocked.sub.html.sub.headers new file mode 100644 index 0000000..69036f5 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-websocket-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: connect-src-websocket-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: connect-src 'self' ws://127.0.0.1:8880; script-src 'self' 'unsafe-inline'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-xmlhttprequest-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-xmlhttprequest-allowed.sub.html new file mode 100644 index 0000000..a2ad121 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-xmlhttprequest-allowed.sub.html
@@ -0,0 +1,31 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>connect-src-xmlhttprequest-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["Pass"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +connect-src 'self' http://{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inline'; +--> +</head> + +<body> + <script> + try { + var xhr = new XMLHttpRequest; + xhr.open("GET", "http://{{host}}:{{ports[http][0]}}/xmlhttprequest/resources/get.txt", true); + log("Pass"); + } catch (e) { + log("Fail"); + } + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-xmlhttprequest-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-xmlhttprequest-allowed.sub.html.sub.headers new file mode 100644 index 0000000..dbabcad --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-xmlhttprequest-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: connect-src-xmlhttprequest-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: connect-src 'self' http://{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inline'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-xmlhttprequest-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-xmlhttprequest-blocked.sub.html new file mode 100644 index 0000000..014bb21 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-xmlhttprequest-blocked.sub.html
@@ -0,0 +1,37 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>connect-src-xmlhttprequest-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["Pass"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +connect-src 'self'; script-src 'self' 'unsafe-inline'; +--> +</head> + +<body> + <script> + try { + var xhr = new XMLHttpRequest; + xhr.open("GET", "http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/fail.png", true); + xhr.send(); + xhr.onload = function() { + log("Fail"); + } + xhr.onerror = function() { + log("Pass"); + } + } catch (e) { + log("Pass"); + } + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=connect-src%20'self'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-xmlhttprequest-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-xmlhttprequest-blocked.sub.html.sub.headers new file mode 100644 index 0000000..d338034 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-xmlhttprequest-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: connect-src-xmlhttprequest-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: connect-src 'self'; script-src 'self' 'unsafe-inline'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-xmlhttprequest-redirect-to-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-xmlhttprequest-redirect-to-blocked.sub.html new file mode 100644 index 0000000..6fc0769 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-xmlhttprequest-redirect-to-blocked.sub.html
@@ -0,0 +1,45 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>connect-src-xmlhttprequest-redirect-to-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS XMLHttpRequest.send() did not follow the disallowed redirect.","TEST COMPLETE"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +connect-src 'self'; script-src 'self' 'unsafe-inline'; +--> + <script id="inject_here"></script> +</head> + +<body> + <script> + var xhr = new XMLHttpRequest; + try { + xhr.open("GET", "/common/redirect.py?location=http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/fail.asis", true); + } catch (e) { + log("FAIL " + "XMLHttpRequest.open() should not throw an exception."); + } + xhr.onload = function() { + //cons/**/ole.log(xhr.responseText); + if(xhr.responseText == "FAIL") { + log("FAIL " + "XMLHttpRequest.send() should fail to follow the disallowed redirect."); + } else { + log("PASS " + "XMLHttpRequest.send() did not follow the disallowed redirect."); + } + log("TEST COMPLETE"); + }; + xhr.onerror = function() { + log("PASS " + "XMLHttpRequest.send() did not follow the disallowed redirect."); + log("TEST COMPLETE"); + }; + xhr.send(); + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=connect-src%20'self'/security/contentSecurityPolicy/resources/redir.php"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-xmlhttprequest-redirect-to-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-xmlhttprequest-redirect-to-blocked.sub.html.sub.headers new file mode 100644 index 0000000..452104e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/connect-src-xmlhttprequest-redirect-to-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: connect-src-xmlhttprequest-redirect-to-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: connect-src 'self'; script-src 'self' 'unsafe-inline'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/default-src-inline-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/default-src-inline-allowed.sub.html new file mode 100644 index 0000000..f585908 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/default-src-inline-allowed.sub.html
@@ -0,0 +1,26 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>default-src-inline-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["PASS 1 of 2","PASS 2 of 2"]'></script> + <!-- enforcing policy: +default-src 'self' about: 'unsafe-inline'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body onload="alert_assert('PASS 2 of 2')"> + <script> + alert_assert('PASS 1 of 2'); + + </script> + <!--iframe src="javascript:alert_assert('PASS 2 of 3')"></iframe--> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/default-src-inline-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/default-src-inline-allowed.sub.html.sub.headers new file mode 100644 index 0000000..f223f06 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/default-src-inline-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: default-src-inline-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: default-src 'self' about: 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/default-src-inline-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/default-src-inline-blocked.sub.html new file mode 100644 index 0000000..ad66a9d1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/default-src-inline-blocked.sub.html
@@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>default-src-inline-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <!-- enforcing policy: +default-src 'self'; connect-src 'self'; +--> +</head> + +<body> + This test passes if the inline scripts don't create failing tests and a CSP report is sent. + <script> + test(function() { + assert_unreached('FAIL inline script ran') + }); + + </script> + <script src="resources/document-write-alert-fail.js"></script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=default-src%20'self'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/default-src-inline-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/default-src-inline-blocked.sub.html.sub.headers new file mode 100644 index 0000000..63ea706 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/default-src-inline-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: default-src-inline-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: default-src 'self'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/duplicate-directive.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/duplicate-directive.sub.html new file mode 100644 index 0000000..4336b729 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/duplicate-directive.sub.html
@@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>duplicate-directive</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["PASS (1/1)"]'></script> + <!-- enforcing policy: +script-src 'self' 'unsafe-inline' 'unsafe-inline'; script-src 'none'; connect-src 'self'; +--> + + <script> + alert_assert('PASS (1/1)'); + + </script> +</head> + +<body> + <p> + This tests the effect of duplicated directives. It passes if the alert_assert() is executed. + </p> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/duplicate-directive.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/duplicate-directive.sub.html.sub.headers new file mode 100644 index 0000000..eefd719 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/duplicate-directive.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: duplicate-directive={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline' 'unsafe-inline'; script-src 'none'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-allowed.sub.html new file mode 100644 index 0000000..88da806 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-allowed.sub.html
@@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>eval-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["PASS (1 of 2)","PASS (2 of 2)"]'></script> + <!-- enforcing policy: +script-src 'self' 'unsafe-inline' 'unsafe-inline' 'unsafe-eval'; connect-src 'self'; +--> +</head> + +<body> + <script> + eval("alert_assert('PASS (1 of 2)')"); + + </script> + <script> + window.eval("alert_assert('PASS (2 of 2)')"); + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-allowed.sub.html.sub.headers new file mode 100644 index 0000000..6bf55a1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: eval-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline' 'unsafe-inline' 'unsafe-eval'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-blocked-and-sends-report.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-blocked-and-sends-report.sub.html new file mode 100644 index 0000000..599b01c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-blocked-and-sends-report.sub.html
@@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>eval-blocked-and-sends-report</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS: eval() blocked."]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +script-src 'self' 'unsafe-inline' 'self'; report-uri resources/save-report.php?test=eval-blocked-and-sends-report.html; connect-src 'self'; +--> +</head> + +<body> + <script> + try { + eval("alert_assert('FAIL')"); + } catch (e) { + log('PASS: eval() blocked.'); + } + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=script-src%20'self'%20'unsafe-inline'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-blocked-and-sends-report.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-blocked-and-sends-report.sub.html.sub.headers new file mode 100644 index 0000000..f197e41 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-blocked-and-sends-report.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: eval-blocked-and-sends-report={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-blocked-in-about-blank-iframe.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-blocked-in-about-blank-iframe.sub.html new file mode 100644 index 0000000..449f9d1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-blocked-in-about-blank-iframe.sub.html
@@ -0,0 +1,10 @@ + +<iframe src="about:blank"></iframe> +Eval should be blocked in the iframe, but inline script should be allowed. +<script> + window.onload = function() { + frames[0].log("<script>alert_assert(/PASS/); eval('alert_assert(/FAIL/);');<\/script>"); + frames[0].document.close(); + } + +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-blocked-in-about-blank-iframe.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-blocked-in-about-blank-iframe.sub.html.sub.headers new file mode 100644 index 0000000..224f25ba --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-blocked-in-about-blank-iframe.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: eval-blocked-in-about-blank-iframe={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-blocked.sub.html new file mode 100644 index 0000000..229667e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-blocked.sub.html
@@ -0,0 +1,37 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>eval-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS EvalError","PASS EvalError"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body> + <script> + try { + eval("alert_assert('FAIL (1 of 2)')"); + } catch (e) { + log("PASS EvalError"); + } + + </script> + <script> + try { + window.eval("alert_assert('FAIL (1 of 2)')"); + } catch (e) { + log("PASS EvalError"); + } + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=script-src%20'unsafe-inline'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-blocked.sub.html.sub.headers new file mode 100644 index 0000000..124f56b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: eval-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-scripts-setInterval-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-scripts-setInterval-allowed.sub.html new file mode 100644 index 0000000..66fa95d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-scripts-setInterval-allowed.sub.html
@@ -0,0 +1,31 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>eval-scripts-setInterval-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["PASS 1 of 2","PASS 2 of 2"]'></script> + <!-- enforcing policy: +script-src 'self' 'unsafe-inline' 'unsafe-inline' 'unsafe-eval'; connect-src 'self'; +--> +</head> +<pre> +<script> + { +} +var id_string = setInterval("clearInterval(id_string); alert_assert('PASS 1 of 2')", 0); +if (id_string == 0) + log('FAIL: Return value for string (should not be 0): ' + id_string); +var id_function = setInterval(function() { + clearInterval(id_function); + alert_assert('PASS 2 of 2'); +}, 0); +if (id_function == 0) + document.write('FAIL: Return value for function (should not be 0): ' + id_function); +</script> +</pre> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-scripts-setInterval-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-scripts-setInterval-allowed.sub.html.sub.headers new file mode 100644 index 0000000..f13ba4c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-scripts-setInterval-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: eval-scripts-setInterval-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline' 'unsafe-inline' 'unsafe-eval'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-scripts-setInterval-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-scripts-setInterval-blocked.sub.html new file mode 100644 index 0000000..45d873c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-scripts-setInterval-blocked.sub.html
@@ -0,0 +1,31 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>eval-scripts-setInterval-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["PASS"]'></script> + <!-- enforcing policy: +script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; +--> +</head> +<pre> +<script> + { +} +var id = setInterval("alert_assert('FAIL')", 0); +if (id != 0) + log('FAIL: Return value for string (should be 0): ' + id); +var id = setInterval(function() { + clearInterval(id); + alert_assert('PASS'); +}, 0); +if (id == 0) + document.write('FAIL: Return value for function (should not be 0): ' + id); +</script> +</pre> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-scripts-setInterval-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-scripts-setInterval-blocked.sub.html.sub.headers new file mode 100644 index 0000000..1bd6b63 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-scripts-setInterval-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: eval-scripts-setInterval-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-scripts-setTimeout-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-scripts-setTimeout-allowed.sub.html new file mode 100644 index 0000000..9b2e595 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-scripts-setTimeout-allowed.sub.html
@@ -0,0 +1,30 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>eval-scripts-setTimeout-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["PASS 1 of 2","PASS 2 of 2"]'></script> + <!-- enforcing policy: +script-src 'self' 'unsafe-inline' 'unsafe-inline' 'unsafe-eval'; connect-src 'self'; +--> +</head> +<pre> +<script> + { +} +var id = setTimeout("alert_assert('PASS 1 of 2')", 0); +if (id == 0) + log('FAIL: Return value for string (should not be 0): ' + id); +var id = setTimeout(function() { + alert_assert('PASS 2 of 2'); +}, 0); +if (id == 0) + document.write('FAIL: Return value for function (should not be 0): ' + id); +</script> +</pre> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-scripts-setTimeout-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-scripts-setTimeout-allowed.sub.html.sub.headers new file mode 100644 index 0000000..4d664d60 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-scripts-setTimeout-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: eval-scripts-setTimeout-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline' 'unsafe-inline' 'unsafe-eval'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-scripts-setTimeout-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-scripts-setTimeout-blocked.sub.html new file mode 100644 index 0000000..72ed2ce --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-scripts-setTimeout-blocked.sub.html
@@ -0,0 +1,30 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>eval-scripts-setTimeout-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["PASS"]'></script> + <!-- enforcing policy: +script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; +--> +</head> +<pre> +<script> + { +} +var id = setTimeout("alert_assert('FAIL')", 0); +if (id != 0) + log('FAIL: Return value for string (should be 0): ' + id); +var id = setTimeout(function() { + alert_assert('PASS'); +}, 0); +if (id == 0) + document.write('FAIL: Return value for function (should not be 0): ' + id); +</script> +</pre> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-scripts-setTimeout-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-scripts-setTimeout-blocked.sub.html.sub.headers new file mode 100644 index 0000000..81537fe --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/eval-scripts-setTimeout-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: eval-scripts-setTimeout-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/filesystem-urls-do-not-match-self.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/filesystem-urls-do-not-match-self.sub.html new file mode 100644 index 0000000..f9e814a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/filesystem-urls-do-not-match-self.sub.html
@@ -0,0 +1,62 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>filesystem-urls-do-not-match-self</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +script-src 'self' 'unsafe-inline' 'self'; connect-src 'self'; +--> +</head> + +<body> + <p> + filesystem: URLs are same-origin with the page in which they were created, but explicitly do not match the 'self' or '*' source in CSP directives because they are more akin to 'unsafe-inline' content.. + </p> + <script> + if(!window.webkitRequestFileSystem) { + t_log = async_test(); + t_log.set_status(t_log.NOTRUN, "No filesystem:// support, cannot run test."); + t_log.phase = t_log.phases.HAS_RESULT; + t_log.done(); + } else { + function fail() { + alert_assert("FAIL!"); + } + window.webkitRequestFileSystem( + TEMPORARY, 1024 * 1024 /*1MB*/ , function(fs) { + fs.root.getFile('fail.js', { + create: true + }, function(fileEntry) { + fileEntry.createWriter(function(fileWriter) { + fileWriter.onwriteend = function(e) { + var script = document.createElement('script'); + script.src = fileEntry.toURL('application/javascript'); + document.body.appendChild(script); + }; + // Create a new Blob and write it to pass.js. + var b = new Blob(['fail();'], { + type: 'application/javascript' + }); + fileWriter.write(b); + }); + }); + }); + var s = document.createElement('script'); + s.async = true; + s.defer = true; + s.src = "../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=script-src%20'self'%20'unsafe-inline'%20'*'" + document.lastChild.appendChild(s); + } + + + </script> + <div id="log"></div> + +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/filesystem-urls-do-not-match-self.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/filesystem-urls-do-not-match-self.sub.html.sub.headers new file mode 100644 index 0000000..a68e2a3d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/filesystem-urls-do-not-match-self.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: filesystem-urls-do-not-match-self={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/filesystem-urls-match-filesystem.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/filesystem-urls-match-filesystem.sub.html new file mode 100644 index 0000000..99e8592 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/filesystem-urls-match-filesystem.sub.html
@@ -0,0 +1,59 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>filesystem-urls-match-filesystem</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS (1/1)"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +script-src 'self' 'unsafe-inline' 'unsafe-inline' 'self'; connect-src 'self'; +--> +</head> + +<body> + <p> + filesystem: URLs are same-origin with the page in which they were created, but explicitly do not match the 'self' or '*' source in CSP directives because they are more akin to 'unsafe-inline' content, but should match filesystem: source. + </p> + <script> + if(!window.webkitRequestFileSystem) { + t_log.set_status(t_log.NOTRUN, "No filesystem:// support, cannot run test."); + t_log.phase = t_log.phases.HAS_RESULT; + t_log.done(); + } else { + function pass() { + log("PASS (1/1)"); + } + window.webkitRequestFileSystem( + TEMPORARY, 1024 * 1024 /*1MB*/ , function(fs) { + fs.root.getFile('pass.js', { + create: true + }, function(fileEntry) { + fileEntry.createWriter(function(fileWriter) { + fileWriter.onwriteend = function(e) { + var script = document.createElement('script'); + script.src = fileEntry.toURL('application/javascript'); + document.body.appendChild(script); + }; + // Create a new Blob and write it to pass.js. + var b = new Blob(['pass();'], { + type: 'application/javascript' + }); + fileWriter.write(b); + }); + }); + }); + var s = document.createElement('script'); + s.async = true; + s.defer = true; + s.src = "../support/checkReport.sub.js?reportExists=false" + document.lastChild.appendChild(s); + } + + </script> + <div id="log"></div> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/filesystem-urls-match-filesystem.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/filesystem-urls-match-filesystem.sub.html.sub.headers new file mode 100644 index 0000000..f9956ed --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/filesystem-urls-match-filesystem.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: filesystem-urls-match-filesystem={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline' filesystem:; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-default.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-default.sub.html new file mode 100644 index 0000000..a363ce9 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-default.sub.html
@@ -0,0 +1,24 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>frame-src-about-blank-allowed-by-default</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + + <!-- enforcing policy: +frame-src 'none'; object-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + <p>These frames should not be blocked by Content-Security-Policy. + It's pointless to block about:blank iframes because + blocking a frame just results in displaying about:blank anyway! + </p> + <iframe src="about:blank"></iframe> + <object type="text/html" data="about:blank"></object> + + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-default.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-default.sub.html.sub.headers new file mode 100644 index 0000000..ba11699 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-default.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: frame-src-about-blank-allowed-by-default={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: frame-src 'none'; object-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-scheme.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-scheme.sub.html new file mode 100644 index 0000000..e4c4739 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-scheme.sub.html
@@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>frame-src-about-blank-allowed-by-scheme</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + + <!-- enforcing policy: +frame-src about:; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + <p>This frame should not be blocked by Content-Security-Policy. + </p> + <iframe src="about:blank"></iframe> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-scheme.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-scheme.sub.html.sub.headers new file mode 100644 index 0000000..e23b82a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-about-blank-allowed-by-scheme.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: frame-src-about-blank-allowed-by-scheme={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: frame-src about:; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-allowed.sub.html new file mode 100644 index 0000000..1d34679c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-allowed.sub.html
@@ -0,0 +1,63 @@ +<!DOCTYPE html> +<html> + +<head> + <title>frame-src-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS IFrame %231 generated a load event."]'></script> + <script> + window.addEventListener("message", function(event) { + alert_assert(event.data); + }, false); + + var t_alert = async_test('Expecting alerts: ["PASS"]'); + var expected_alerts = ["PASS"]; + + function alert_assert(msg) { + t_alert.step(function() { + if (msg.match(/^FAIL/i)) { + assert_unreached(msg); + t_alert.done(); + } + for (var i = 0; i < expected_alerts.length; i++) { + if (expected_alerts[i] == msg) { + assert_true(expected_alerts[i] == msg); + expected_alerts.splice(i, 1); + if (expected_alerts.length == 0) { + t_alert.done(); + } + return; + } + } + assert_unreached('unexpected alert: ' + msg); + t_log.done(); + }); + } + + </script> + <!-- enforcing policy: +Content-Security-Policy: frame-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + <p> + This iframe should be allowed. + </p> + <script> + window.wasPostTestScriptParsed = true; + var loads = 0; + + function loadEvent() { + loads++; + log("PASS " + "IFrame #" + loads + " generated a load event."); + } + + </script> +</head> + +<body> + <iframe src="/content-security-policy/blink-contrib/resources/postmessage-pass.html" onload="loadEvent()"></iframe> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-allowed.sub.html.sub.headers new file mode 100644 index 0000000..05247b40 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: frame-src-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: frame-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-blocked.sub.html new file mode 100644 index 0000000..fe7555ae --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-blocked.sub.html
@@ -0,0 +1,61 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>frame-src-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS IFrame %231 generated a load event."]'></script> + <script> + window.addEventListener("message", function(event) { + alert_assert(event.data); + }, false); + + function alert_assert(msg) { + t_alert.step(function() { + if (msg.match(/^FAIL/i)) { + assert_unreached(msg); + t_alert.done(); + } + for (var i = 0; i < expected_alerts.length; i++) { + if (expected_alerts[i] == msg) { + assert_true(expected_alerts[i] == msg); + expected_alerts.splice(i, 1); + if (expected_alerts.length == 0) { + t_alert.done(); + } + return; + } + } + assert_unreached('unexpected alert: ' + msg); + t_log.done(); + }); + } + + </script> + <!-- enforcing policy: +frame-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + <p> + IFrames blocked by CSP should generate a 'load', not 'error' event, regardless of blocked state. This means they appear to be normal cross-origin loads, thereby not leaking URL information directly to JS. + </p> + <script> + window.wasPostTestScriptParsed = true; + var loads = 0; + + function loadEvent() { + loads++; + log("PASS " + "IFrame #" + loads + " generated a load event."); + } + + </script> +</head> + +<body> + <iframe src="/content-security-policy/blink-contrib/resources/postmessage-fail.html" onload="loadEvent()" onerror="log('FAIL')"></iframe> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=frame-src%20'none'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-blocked.sub.html.sub.headers new file mode 100644 index 0000000..bd0e6d17 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: frame-src-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: frame-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-cross-origin-load.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-cross-origin-load.sub.html new file mode 100644 index 0000000..5238e7c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-cross-origin-load.sub.html
@@ -0,0 +1,66 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>frame-src-cross-origin-load</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS IFrame %231 generated a load event.","PASS IFrame %232 generated a load event.","PASS IFrame %233 generated a load event."]'></script> + <script> + window.addEventListener("message", function(event) { + alert_assert(event.data); + }, false); + + var t_alert = async_test('Expecting alerts: ["PASS","PASS"]'); + var expected_alerts = ["PASS", "PASS"]; + + function alert_assert(msg) { + t_alert.step(function() { + if (msg.match(/^FAIL/i)) { + assert_unreached(msg); + t_alert.done(); + } + for (var i = 0; i < expected_alerts.length; i++) { + if (expected_alerts[i] == msg) { + assert_true(expected_alerts[i] == msg); + expected_alerts.splice(i, 1); + if (expected_alerts.length == 0) { + t_alert.done(); + } + return; + } + } + assert_unreached('unexpected alert: ' + msg); + t_alert.done(); + }); + } + + </script> + <!-- enforcing policy: +frame-src 'self' http://www1.{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + <p> + IFrames blocked by CSP should generate a 'load', not 'error' event, regardless of blocked state. This means they appear to be normal cross-origin loads, thereby not leaking URL information directly to JS. + </p> + <script> + window.wasPostTestScriptParsed = true; + var loads = 0; + + function loadEvent() { + loads++; + log("PASS " + "IFrame #" + loads + " generated a load event."); + } + + </script> +</head> + +<body> + <iframe src="resources/postmessage-pass.html" onload="loadEvent()"></iframe> + <iframe src="http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/postmessage-pass.html" onload="loadEvent()"></iframe> + <iframe src="http://www2.{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/postmessage-fail.html" onload="loadEvent()" onerror="log('FAIL')"></iframe> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=frame-src%20'self'http://www1.{{host}}:{{ports[http][0]}}"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-cross-origin-load.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-cross-origin-load.sub.html.sub.headers new file mode 100644 index 0000000..0970bbe --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/frame-src-cross-origin-load.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: frame-src-cross-origin-load={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: frame-src 'self' http://www1.{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/function-constructor-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/function-constructor-allowed.sub.html new file mode 100644 index 0000000..92cd088c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/function-constructor-allowed.sub.html
@@ -0,0 +1,25 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>function-constructor-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["PASS"]'></script> + <!-- enforcing policy: +script-src 'self' 'unsafe-inline' 'unsafe-inline' 'unsafe-eval'; connect-src 'self'; +--> +</head> + +<body> + <script> + (new Function("alert_assert('PASS')"))(); + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/function-constructor-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/function-constructor-allowed.sub.html.sub.headers new file mode 100644 index 0000000..dd80eba --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/function-constructor-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: function-constructor-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline' 'unsafe-inline' 'unsafe-eval'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/function-constructor-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/function-constructor-blocked.sub.html new file mode 100644 index 0000000..be0c5747 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/function-constructor-blocked.sub.html
@@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>function-constructor-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS EvalError"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body> + <script> + try { + (new Function("alert_assert('FAIL')"))(); + } catch (e) { + log("PASS EvalError"); + } + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=script-src%20'unsafe-inline'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/function-constructor-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/function-constructor-blocked.sub.html.sub.headers new file mode 100644 index 0000000..eb7da39c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/function-constructor-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: function-constructor-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/icon-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/icon-allowed.sub.html new file mode 100644 index 0000000..8bacdd3 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/icon-allowed.sub.html
@@ -0,0 +1,19 @@ +<!DOCTYPE html> +<html> +<script> + {} + + function createLink(rel, src) { + var link = document.createElement('link'); + link.rel = rel; + link.href = src; + document.head.appendChild(link); + } + window.addEventListener('DOMContentLoaded', function() { + createLink('icon', 'http://localhost/foo?q=from_icon'); {} + }); + +</script> +<p>Use callbacks to show that favicons are loaded as allowed by CSP when link tags are dynamically added to the page.</p> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/icon-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/icon-allowed.sub.html.sub.headers new file mode 100644 index 0000000..b7d557b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/icon-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: icon-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: img-src http://localhost; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/icon-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/icon-blocked.sub.html new file mode 100644 index 0000000..978f25f --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/icon-blocked.sub.html
@@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html> +<script> + function createLink(rel, src) { + var link = document.createElement('link'); + link.rel = rel; + link.href = src; + document.head.appendChild(link); + } + window.addEventListener('DOMContentLoaded', function() { + createLink('icon', 'http://localhost/foo?q=from_icon'); {} + }); + +</script> +<p>Use callbacks to show that favicons are not loaded in violation of CSP when link tags are dynamically added to the page.</p> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/icon-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/icon-blocked.sub.html.sub.headers new file mode 100644 index 0000000..c4dc699 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/icon-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: icon-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: img-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/iframe-inside-csp.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/iframe-inside-csp.sub.html new file mode 100644 index 0000000..f3d1e1424 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/iframe-inside-csp.sub.html
@@ -0,0 +1 @@ +<iframe src="resources/sandboxed-eval.php"></iframe>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/iframe-inside-csp.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/iframe-inside-csp.sub.html.sub.headers new file mode 100644 index 0000000..2cb1c7214 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/iframe-inside-csp.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: iframe-inside-csp={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline' 'self'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/image-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/image-allowed.sub.html new file mode 100644 index 0000000..c087692 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/image-allowed.sub.html
@@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>image-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["PASS"]'></script> + <!-- enforcing policy: +img-src *; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body> + <img src="../support/pass.png" onload="alert_assert(this.width == 168 ? 'PASS' : 'FAIL')"> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/image-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/image-allowed.sub.html.sub.headers new file mode 100644 index 0000000..3b85fc6 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/image-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: image-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: img-src *; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/image-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/image-blocked.sub.html new file mode 100644 index 0000000..e572070 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/image-blocked.sub.html
@@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>image-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["PASS"]'></script> + <!-- enforcing policy: +img-src 'none'; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body> + This test passes if it doesn't alert FAIL and does alert PASS. + <img src="../support/pass.png" onload='alert_assert("FAIL")' onerror='alert_assert("PASS")'> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=img-src%20'none'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/image-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/image-blocked.sub.html.sub.headers new file mode 100644 index 0000000..c58bb88 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/image-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: image-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: img-src 'none'; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/image-full-host-wildcard-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/image-full-host-wildcard-allowed.sub.html new file mode 100644 index 0000000..6482654 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/image-full-host-wildcard-allowed.sub.html
@@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>image-full-host-wildcard-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["PASS"]'></script> + <!-- enforcing policy: +img-src http://*.{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body> + <img src="http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/pass.png" onload="alert_assert(this.width == 168 ? 'PASS' : 'FAIL')"> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/image-full-host-wildcard-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/image-full-host-wildcard-allowed.sub.html.sub.headers new file mode 100644 index 0000000..0f384f09 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/image-full-host-wildcard-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: image-full-host-wildcard-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: img-src http://*.{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/injected-inline-script-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/injected-inline-script-allowed.sub.html new file mode 100644 index 0000000..8ec6fe4 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/injected-inline-script-allowed.sub.html
@@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>injected-inline-script-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["Pass 1 of 2","Pass 2 of 2"]'></script> + <!-- enforcing policy: + script-src 'self' 'unsafe-inline'; connect-src 'self'; + --> +</head> + +<body> + <script src="resources/inject-script.js"></script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/injected-inline-script-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/injected-inline-script-allowed.sub.html.sub.headers new file mode 100644 index 0000000..7f34539 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/injected-inline-script-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: injected-inline-script-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/injected-inline-script-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/injected-inline-script-blocked.sub.html new file mode 100644 index 0000000..bee3f9ab --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/injected-inline-script-blocked.sub.html
@@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>injected-inline-script-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <!-- enforcing policy: +script-src 'self'; connect-src 'self'; +--> +</head> + +<body> + <script src="resources/inject-script.js"></script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=script-src%20'self'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/injected-inline-script-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/injected-inline-script-blocked.sub.html.sub.headers new file mode 100644 index 0000000..e90dec67 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/injected-inline-script-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: injected-inline-script-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/injected-inline-style-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/injected-inline-style-allowed.sub.html new file mode 100644 index 0000000..f52289e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/injected-inline-style-allowed.sub.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>injected-inline-style-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS: 2 stylesheets on the page."]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +style-src 'unsafe-inline'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body> + <div id="test1"> + FAIL 1/2 + </div> + <div id="test2"> + FAIL 2/2 + </div> + <script src="resources/inject-style.js"></script> + <script> + if (document.styleSheets.length === 2) + log("PASS: 2 stylesheets on the page."); + else + document.write("FAIL: " + document.styleSheets.length + " stylesheets on the page (should be 2)."); + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/injected-inline-style-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/injected-inline-style-allowed.sub.html.sub.headers new file mode 100644 index 0000000..8a48dc2 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/injected-inline-style-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: injected-inline-style-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: style-src 'unsafe-inline'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/injected-inline-style-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/injected-inline-style-blocked.sub.html new file mode 100644 index 0000000..1ed46cb --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/injected-inline-style-blocked.sub.html
@@ -0,0 +1,32 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>injected-inline-style-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +style-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body> + <div id="test1"> + PASS 1/2 + </div> + <div id="test2"> + PASS 2/2 + </div> + <script src="resources/inject-style.js"></script> + <script> + log(document.styleSheets.length == 0 ? "PASS" : "FAIL"); + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=style-src%20'none'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/injected-inline-style-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/injected-inline-style-blocked.sub.html.sub.headers new file mode 100644 index 0000000..d3f0a5e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/injected-inline-style-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: injected-inline-style-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: style-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-allowed-while-cloning-objects.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-allowed-while-cloning-objects.sub.html new file mode 100644 index 0000000..efb5043 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-allowed-while-cloning-objects.sub.html
@@ -0,0 +1,128 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>inline-style-allowed-while-cloning-objects</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +style-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + <script> + window.onload = function() { + window.nodes = document.getElementById('nodes'); + window.node1 = document.getElementById('node1'); + window.node1.style.background = "yellow"; + window.node1.style.color = "red"; + window.node2 = document.getElementById('node1').cloneNode(true); + window.node2.id = "node2"; + window.node3 = document.getElementById('node3'); + window.node3.style.background = "blue"; + window.node3.style.color = "green"; + window.node4 = document.getElementById('node3').cloneNode(false); + window.node4.id = "node4"; + window.node4.innerHTML = "Node #4"; + nodes.appendChild(node1); + nodes.appendChild(node2); + nodes.appendChild(node3); + nodes.appendChild(node4); + test(function() { + assert_equals(node1.style.background.match(/yellow/)[0], "yellow") + }); + test(function() { + assert_equals(node2.style.background.match(/yellow/)[0], "yellow") + }); + test(function() { + assert_equals(node3.style.background.match(/blue/)[0], "blue") + }); + test(function() { + assert_equals(node4.style.background.match(/blue/)[0], "blue") + }); + test(function() { + assert_equals(node1.style.color, "red") + }); + test(function() { + assert_equals(node2.style.color, "red") + }); + test(function() { + assert_equals(node3.style.color, "green") + }); + test(function() { + assert_equals(node4.style.color, "green") + }); + test(function() { + assert_equals(window.getComputedStyle(node1).background, window.getComputedStyle(node2).background) + }); + test(function() { + assert_equals(window.getComputedStyle(node3).background, window.getComputedStyle(node4).background) + }); + test(function() { + assert_equals(window.getComputedStyle(node1).color, window.getComputedStyle(node2).color) + }); + test(function() { + assert_equals(window.getComputedStyle(node3).color, window.getComputedStyle(node4).color) + }); + window.ops = document.getElementById('ops'); + ops.style.color = 'red'; + window.clonedOps = ops.cloneNode(true); + window.violetOps = document.getElementById('violetOps'); + violetOps.style.background = 'rgb(238, 130, 238)'; + document.getElementsByTagName('body')[0].appendChild(clonedOps); + test(function() { + assert_equals(ops.style.background, "") + }); + test(function() { + assert_equals(ops.style.color, "red") + }); + test(function() { + assert_equals(clonedOps.style.background, "") + }); + test(function() { + assert_equals(violetOps.style.background.match(/rgb\(238, 130, 238\)/)[0], "rgb(238, 130, 238)") + }); + test(function() { + assert_equals(window.getComputedStyle(clonedOps).background, window.getComputedStyle(ops).background) + }); + test(function() { + assert_equals(window.getComputedStyle(clonedOps).color, window.getComputedStyle(ops).color) + }); + test(function() { + assert_equals(window.getComputedStyle(ops).background, window.getComputedStyle(violetOps).background) + }); + test(function() { + assert_equals(window.getComputedStyle(clonedOps).background, window.getComputedStyle(violetOps).background) + }); + test(function() { + assert_equals(ops.id, "ops") + }); + test(function() { + assert_equals(ops.id, clonedOps.id) + }); + }; + + </script> +</head> + +<body> + <p> + This test ensures that styles can be set by object.cloneNode() + </p> + <div id="nodes"> + This is a div (nodes) + <div id="node1"> This is a div. (node 1 or 2)</div> + <div id="node3"> This is a div. (node 3 or 4)</div> + </div> + <div id="ops" style="background: rgb(238, 130, 238)"> + Yet another div. + </div> + <div id="violetOps"> + Yet another div. + </div> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=style-src%20'self'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-allowed-while-cloning-objects.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-allowed-while-cloning-objects.sub.html.sub.headers new file mode 100644 index 0000000..963fa17 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-allowed-while-cloning-objects.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: inline-style-allowed-while-cloning-objects={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: style-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-allowed.sub.html new file mode 100644 index 0000000..bf5ac125 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-allowed.sub.html
@@ -0,0 +1,31 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>inline-style-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +style-src 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; +--> + <style> + .target { + background-color: blue; + } + + </style> +</head> + +<body class="target"> + <script> + log(document.styleSheets.length > 0 ? 'PASS' : 'FAIL'); + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-allowed.sub.html.sub.headers new file mode 100644 index 0000000..8ff58f55 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: inline-style-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: style-src 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-attribute-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-attribute-allowed.sub.html new file mode 100644 index 0000000..ab44604 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-attribute-allowed.sub.html
@@ -0,0 +1,25 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>inline-style-attribute-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +style-src 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body style="background-color: blue;"> + <script> + log(document.body.style.length > 0 ? 'PASS' : 'FAIL'); + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-attribute-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-attribute-allowed.sub.html.sub.headers new file mode 100644 index 0000000..7d765e2b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-attribute-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: inline-style-attribute-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: style-src 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-attribute-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-attribute-blocked.sub.html new file mode 100644 index 0000000..90efe9fe --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-attribute-blocked.sub.html
@@ -0,0 +1,25 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>inline-style-attribute-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +style-src 'none'; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body style="background-color: blue;"> + <script> + log(document.body.style.length > 0 ? 'FAIL' : 'PASS'); + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=style-src%20'none'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-attribute-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-attribute-blocked.sub.html.sub.headers new file mode 100644 index 0000000..0b1ec14c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-attribute-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: inline-style-attribute-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: style-src 'none'; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-attribute-on-html.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-attribute-on-html.sub.html new file mode 100644 index 0000000..b002af9 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-attribute-on-html.sub.html
@@ -0,0 +1,28 @@ +<!DOCTYPE html> +<html style="background-color: blue;"> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <meta http-equiv="Content-Security-Policy" content="style-src 'self'"> + <title>inline-style-attribute-on-html</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +style-src 'none'; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body> + <p>Even though this page has a CSP policy the blocks inline style, the style attribute on the HTML element still takes effect because it preceeds the meta element. + </p> + <script> + log(document.documentElement.style.length > 0 ? 'PASS' : 'FAIL'); + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-attribute-on-html.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-attribute-on-html.sub.html.sub.headers new file mode 100644 index 0000000..66bf93fa --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-attribute-on-html.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: inline-style-attribute-on-html={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-blocked.sub.html new file mode 100644 index 0000000..3f7756e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-blocked.sub.html
@@ -0,0 +1,31 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>inline-style-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +style-src 'none'; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; +--> + <style> + .target { + background-color: blue; + } + + </style> +</head> + +<body class="target"> + <script> + log(document.styleSheets.length > 0 ? 'FAIL' : 'PASS'); + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=style-src%20'none'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-blocked.sub.html.sub.headers new file mode 100644 index 0000000..0b83063 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/inline-style-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: inline-style-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: style-src 'none'; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/manifest-src-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/manifest-src-allowed.sub.html new file mode 100644 index 0000000..fe6d2b1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/manifest-src-allowed.sub.html
@@ -0,0 +1,9 @@ +<link rel="manifest" href="manifest.test/manifest.json"> +<script> + { + testRunner.getManifestThen(function() { + alert_assert("Pass"); + }); + } + +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/manifest-src-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/manifest-src-allowed.sub.html.sub.headers new file mode 100644 index 0000000..3fbdc73 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/manifest-src-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: manifest-src-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: manifest-src *; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/manifest-src-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/manifest-src-blocked.sub.html new file mode 100644 index 0000000..fe6d2b1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/manifest-src-blocked.sub.html
@@ -0,0 +1,9 @@ +<link rel="manifest" href="manifest.test/manifest.json"> +<script> + { + testRunner.getManifestThen(function() { + alert_assert("Pass"); + }); + } + +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/manifest-src-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/manifest-src-blocked.sub.html.sub.headers new file mode 100644 index 0000000..4d6e5e3 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/manifest-src-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: manifest-src-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: manifest-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/media-src-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/media-src-allowed.sub.html new file mode 100644 index 0000000..4cb4002d9 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/media-src-allowed.sub.html
@@ -0,0 +1,14 @@ +<video></video> +<script src="../../../media-resources/media-file.js"></script> +<script src="../../../media-resources/video-test.js"></script> +<script> + waitForEvent('loadedmetadata', function() { + alert_assert('PASS'); + endTestLater(); + }); + // Find a supported media file. + var mediaFile = findMediaFile("video", "content/test"); + var mimeType = mimeTypeForFile(mediaFile); + video.src = "http://{{host}}:{{ports[http][0]}}/resources/load-and-stall.cgi?name=../../../media/" + mediaFile + "&mimeType=" + mimeType + "&stallAt=100000"; + +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/media-src-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/media-src-allowed.sub.html.sub.headers new file mode 100644 index 0000000..b0401f7 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/media-src-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: media-src-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: media-src http://{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/media-src-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/media-src-blocked.sub.html new file mode 100644 index 0000000..57c8d5f --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/media-src-blocked.sub.html
@@ -0,0 +1,15 @@ +<video></video> +<script src="../../../media-resources/media-file.js"></script> +<script src="../../../media-resources/video-test.js"></script> +<p>This test passes if it doesn't alert failure.</p> +<script> + waitForEvent('loadedmetadata', function() { + alert_assert('FAIL'); + }); + addEventListener('load', endTestLater, false); + // Find a supported media file. + var mediaFile = findMediaFile("video", "content/test"); + var mimeType = mimeTypeForFile(mediaFile); + video.src = "http://{{host}}:{{ports[http][0]}}/resources/load-and-stall.cgi?name=../../../media/" + mediaFile + "&mimeType=" + mimeType + "&stallAt=100000"; + +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/media-src-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/media-src-blocked.sub.html.sub.headers new file mode 100644 index 0000000..86c5695 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/media-src-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: media-src-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: media-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/media-src-track-block.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/media-src-track-block.sub.html new file mode 100644 index 0000000..c8036ce1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/media-src-track-block.sub.html
@@ -0,0 +1,39 @@ +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>media-src-track-block</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["PASS"]'></script> + <!-- enforcing policy: +media-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + <script> + function loaded() { + alert_assert("FAIL"); + } + + function errored() { + alert_assert("PASS"); + } + + function start() { + var track = document.querySelector('track'); + track.track.mode = "hidden"; + track.setAttribute('src', 'resources/track.vtt'); + } + + </script> +</head> + +<body onload="start()"> + <video> + <track kind="captions" onload="loaded()" onerror="errored()"> + </video> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=media-src%20'none'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/media-src-track-block.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/media-src-track-block.sub.html.sub.headers new file mode 100644 index 0000000..85c496e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/media-src-track-block.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: media-src-track-block={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: media-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-in-svg-foreignobject.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-in-svg-foreignobject.sub.html new file mode 100644 index 0000000..358b7af --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-in-svg-foreignobject.sub.html
@@ -0,0 +1,28 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>object-in-svg-foreignobject</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +object-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body> + <p>This test ensures that objects inside SVG foreignobject elements are beholden to the same policy as the rest of the document. This test passes if there i a CSP violation saying the plugin was blocked.</p> + <svg> + <foreignobject> + <object xmlns="http://www.w3.org/1999/xhtml" data="/plugins/resources/mock-plugin.pl"> + </object> + </foreignobject> + </svg> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=object-src%20'none'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-in-svg-foreignobject.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-in-svg-foreignobject.sub.html.sub.headers new file mode 100644 index 0000000..a196a15 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-in-svg-foreignobject.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: object-in-svg-foreignobject={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: object-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-applet-archive-codebase.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-applet-archive-codebase.sub.html new file mode 100644 index 0000000..d770278 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-applet-archive-codebase.sub.html
@@ -0,0 +1,41 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>object-src-applet-archive-codebase</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +object-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + +</head> + +<body> + <script> + var len = navigator.mimeTypes.length; + var allTypes = ""; + var appletMimeType = "application/x-java-applet"; + for (var i = 0; i < len; i++) { + allTypes += navigator.mimeTypes[i].type + ';'; + } + if (allTypes.indexOf(appletMimeType) == -1) { + t_log.set_status(t_log.NOTRUN, "No Java Plugin, cannot run test."); + t_log.phase = t_log.phases.HAS_RESULT; + t_log.done(); + } else { + var s = document.createElement('script'); + s.src = "../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=object-src%20'none'"; + document.body.appendChild(s); + } + + </script> + This test passes if there is a CSP violation saying the plugin was blocked. + <applet code="TestThingie" archive="archive.jar" codebase="/plugins/codebase/" id="appletObject" onload="log('FAIL')" onerror="log('PASS')"></applet> + <div id="log"></div> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-applet-archive-codebase.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-applet-archive-codebase.sub.html.sub.headers new file mode 100644 index 0000000..0b71a188 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-applet-archive-codebase.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: object-src-applet-archive-codebase={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: object-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-applet-archive.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-applet-archive.sub.html new file mode 100644 index 0000000..69c71986 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-applet-archive.sub.html
@@ -0,0 +1,41 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>object-src-applet-archive</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +object-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + +</head> + +<body> + <script> + var len = navigator.mimeTypes.length; + var allTypes = ""; + var appletMimeType = "application/x-java-applet"; + for (var i = 0; i < len; i++) { + allTypes += navigator.mimeTypes[i].type + ';'; + } + if (allTypes.indexOf(appletMimeType) == -1) { + t_log.set_status(t_log.NOTRUN, "No Java Plugin, cannot run test."); + t_log.phase = t_log.phases.HAS_RESULT; + t_log.done(); + } else { + var s = document.createElement('script'); + s.src = "../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=object-src%20'none'"; + document.body.appendChild(s); + } + + </script> + This test passes if there is a CSP violation saying the plugin was blocked. + <applet code="TestThingie" archive="/plugins/archive.jar" id="appletObject" onload="log('FAIL')" onerror="log('PASS')"></applet> + <div id="log"></div> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-applet-archive.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-applet-archive.sub.html.sub.headers new file mode 100644 index 0000000..4bd5ec14 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-applet-archive.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: object-src-applet-archive={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: object-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-applet-code-codebase.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-applet-code-codebase.sub.html new file mode 100644 index 0000000..6121dad --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-applet-code-codebase.sub.html
@@ -0,0 +1,41 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>object-src-applet-archive-code-codebase</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +object-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + +</head> + +<body> + <script> + var len = navigator.mimeTypes.length; + var allTypes = ""; + var appletMimeType = "application/x-java-applet"; + for (var i = 0; i < len; i++) { + allTypes += navigator.mimeTypes[i].type + ';'; + } + if (allTypes.indexOf(appletMimeType) == -1) { + t_log.set_status(t_log.NOTRUN, "No Java Plugin, cannot run test."); + t_log.phase = t_log.phases.HAS_RESULT; + t_log.done(); + } else { + var s = document.createElement('script'); + s.src = "../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=object-src%20'none'"; + document.body.appendChild(s); + } + + </script> + This test passes if there is a CSP violation saying the plugin was blocked. + <applet code="code.class" codebase="/plugins/codebase/"></applet> + <div id="log"></div> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-applet-code-codebase.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-applet-code-codebase.sub.html.sub.headers new file mode 100644 index 0000000..1ced1a8 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-applet-code-codebase.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: object-src-applet-code-codebase={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: object-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-applet-code.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-applet-code.sub.html new file mode 100644 index 0000000..af598bfd --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-applet-code.sub.html
@@ -0,0 +1,41 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>object-src-applet-code</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +object-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + +</head> + +<body> + <script> + var len = navigator.mimeTypes.length; + var allTypes = ""; + var appletMimeType = "application/x-java-applet"; + for (var i = 0; i < len; i++) { + allTypes += navigator.mimeTypes[i].type + ';'; + } + if (allTypes.indexOf(appletMimeType) == -1) { + t_log.set_status(t_log.NOTRUN, "No Java Plugin, cannot run test."); + t_log.phase = t_log.phases.HAS_RESULT; + t_log.done(); + } else { + var s = document.createElement('script'); + s.src = "../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=object-src%20'none'"; + document.body.appendChild(s); + } + + </script> + This test passes if there is a CSP violation saying the plugin was blocked. + <applet code="/plugins/code.class"></applet> + <div id="log"></div> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-applet-code.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-applet-code.sub.html.sub.headers new file mode 100644 index 0000000..44bd725 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-applet-code.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: object-src-applet-code={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: object-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-no-url-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-no-url-allowed.sub.html new file mode 100644 index 0000000..2e2bef2 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-no-url-allowed.sub.html
@@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>object-src-no-url-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +object-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body> + This test passes if there isn't a CSP violation saying the plugin was blocked. + <object type="application/x-webkit-test-netscape"></object> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-no-url-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-no-url-allowed.sub.html.sub.headers new file mode 100644 index 0000000..3746103 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-no-url-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: object-src-no-url-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: object-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-no-url-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-no-url-blocked.sub.html new file mode 100644 index 0000000..ad3eebc --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-no-url-blocked.sub.html
@@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>object-src-no-url-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +object-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body> + This test passes if there is a CSP violation saying the plugin was blocked. + <object type="application/x-webkit-test-netscape"></object> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=object-src%20'none'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-no-url-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-no-url-blocked.sub.html.sub.headers new file mode 100644 index 0000000..dba0ece --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-no-url-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: object-src-no-url-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: object-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-url-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-url-allowed.sub.html new file mode 100644 index 0000000..dace2c4 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-url-allowed.sub.html
@@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>object-src-url-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +object-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body> + This test passes if there is no CSP violation saying the plugin was blocked. + <object data="/content-security-policy/support/pass.png"></object> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-url-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-url-allowed.sub.html.sub.headers new file mode 100644 index 0000000..bce19c1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-url-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: object-src-url-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: object-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-url-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-url-blocked.sub.html new file mode 100644 index 0000000..4f12d74 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-url-blocked.sub.html
@@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>object-src-url-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +object-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body> + This test passes if there is a CSP violation saying the plugin was blocked. + <object data="/plugins/resources/mock-plugin.pl"></object> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=object-src%20'none'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-url-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-url-blocked.sub.html.sub.headers new file mode 100644 index 0000000..1447fd0 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/object-src-url-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: object-src-url-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: object-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/policy-does-not-affect-child.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/policy-does-not-affect-child.sub.html new file mode 100644 index 0000000..a43e4be --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/policy-does-not-affect-child.sub.html
@@ -0,0 +1 @@ +<iframe src="resources/alert-pass.html"></iframe>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/policy-does-not-affect-child.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/policy-does-not-affect-child.sub.html.sub.headers new file mode 100644 index 0000000..ff37e37 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/policy-does-not-affect-child.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: policy-does-not-affect-child={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline' 'self'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-blocked-data-uri.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-blocked-data-uri.sub.html new file mode 100644 index 0000000..dea8a87 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-blocked-data-uri.sub.html
@@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>report-blocked-data-uri</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +img-src 'none'; report-uri resources/save-report.php?test=report-blocked-data-uri.html; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body> + <img src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=img-src%20'none'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-blocked-data-uri.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-blocked-data-uri.sub.html.sub.headers new file mode 100644 index 0000000..8530a1c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-blocked-data-uri.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: report-blocked-data-uri={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: img-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-cross-origin-no-cookies.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-cross-origin-no-cookies.sub.html new file mode 100644 index 0000000..ed2cd2a7 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-cross-origin-no-cookies.sub.html
@@ -0,0 +1,24 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>report-cross-origin-no-cookies</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +img-src 'none'; report-uri http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/report.py?op=put&reportID=; script-src 'self' 'unsafe-inline' http://www1.{{host}}:{{ports[http][0]}}; connect-src 'self'; +--> + <script src="http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/set-cookie.js"></script> +</head> + +<body> + <!-- This image will generate a CSP violation report. --> + <img src="resources/abe.png"> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=img-src%20'none'&noCookies=true"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-cross-origin-no-cookies.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-cross-origin-no-cookies.sub.html.sub.headers new file mode 100644 index 0000000..5a712297 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-cross-origin-no-cookies.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: report-cross-origin-no-cookies={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: img-src 'none'; script-src 'self' 'unsafe-inline' http://www1.{{host}}:{{ports[http][0]}}; connect-src 'self'; report-uri http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-disallowed-from-meta.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-disallowed-from-meta.sub.html new file mode 100644 index 0000000..cb001a2 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-disallowed-from-meta.sub.html
@@ -0,0 +1,24 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>report-disallowed-from-meta</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["PASS"]'></script> + <!-- enforcing policy: +img-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + <meta http-equiv="Content-Security-Policy" content="img-src 'none'; report-uri /content-security-policy/support/report.py?op=put&reportID=5ada7c32-1c46-4b79-a95f-af33fcf95f8e"> +</head> + +<body> + This image should be blocked, but should not show up in the violation report because meta policies MUST ignore report-uri. + <img src="../resources/abe.png" onerror="alert_assert('PASS')" onload="alert_assert('FAIL')"> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-disallowed-from-meta.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-disallowed-from-meta.sub.html.sub.headers new file mode 100644 index 0000000..4c62052 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-disallowed-from-meta.sub.html.sub.headers
@@ -0,0 +1,5 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: report-disallowed-from-meta=5ada7c32-1c46-4b79-a95f-af33fcf95f8e; Path=/content-security-policy/blink-contrib \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-same-origin-with-cookies.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-same-origin-with-cookies.sub.html new file mode 100644 index 0000000..e90cb06 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-same-origin-with-cookies.sub.html
@@ -0,0 +1,24 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>report-cross-origin-no-cookies</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +img-src 'none'; report-uri http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/report.py?op=put&reportID=; script-src 'self' 'unsafe-inline' http://www1.{{host}}:{{ports[http][0]}}; connect-src 'self'; +--> + <script src="/content-security-policy/blink-contrib/resources/set-cookie.js"></script> +</head> + +<body> + <!-- This image will generate a CSP violation report. --> + <img src="resources/abe.png"> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=img-src%20'none'&noCookies=true"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-same-origin-with-cookies.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-same-origin-with-cookies.sub.html.sub.headers new file mode 100644 index 0000000..4655de2 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-same-origin-with-cookies.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: report-same-origin-with-cookies={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: img-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-uri-from-inline-javascript.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-uri-from-inline-javascript.sub.html new file mode 100644 index 0000000..cf3f72f --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-uri-from-inline-javascript.sub.html
@@ -0,0 +1,28 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>report-uri-from-inline-javascript</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +img-src 'none'; report-uri resources/save-report.php?test=report-uri-from-inline-javascript.html; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body> + <script> + // This script block will trigger a violation report. + var i = document.createElement('img'); + i.src = 'resources/abe.png'; + document.body.appendChild(i); + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=img-src%20'none'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-uri-from-inline-javascript.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-uri-from-inline-javascript.sub.html.sub.headers new file mode 100644 index 0000000..c37a9ff --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-uri-from-inline-javascript.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: report-uri-from-inline-javascript={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: img-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-uri-from-javascript.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-uri-from-javascript.sub.html new file mode 100644 index 0000000..790a75b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-uri-from-javascript.sub.html
@@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>report-uri-from-javascript</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +img-src 'none'; report-uri resources/save-report.php?test=report-uri-from-javascript.html; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body> + <script src="resources/inject-image.js"></script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=img-src%20'none'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-uri-from-javascript.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-uri-from-javascript.sub.html.sub.headers new file mode 100644 index 0000000..ed65601 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-uri-from-javascript.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: report-uri-from-javascript={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: img-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-uri.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-uri.sub.html new file mode 100644 index 0000000..9ffb835 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-uri.sub.html
@@ -0,0 +1,6 @@ +<script src="resources/report-test.js"></script> +<script> + // This script block will trigger a violation report. + alert_assert('FAIL'); + +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-uri.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-uri.sub.html.sub.headers new file mode 100644 index 0000000..1416ea7f --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/report-uri.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: report-uri={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline' 'self'; report-uri resources/save-report.php?test=report-uri.html; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/alert-fail.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/alert-fail.html new file mode 100644 index 0000000..c0fb817 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/alert-fail.html
@@ -0,0 +1,4 @@ +<script> + alert('FAIL'); + +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/alert-pass.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/alert-pass.html new file mode 100644 index 0000000..50e753d0 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/alert-pass.html
@@ -0,0 +1,4 @@ +<script> + alert('PASS'); + +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/blue.css b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/blue.css new file mode 100644 index 0000000..54aeecc1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/blue.css
@@ -0,0 +1,3 @@ +.target { + background-color: blue; +}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/document-write-alert-fail.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/document-write-alert-fail.js new file mode 100644 index 0000000..5e78ca0 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/document-write-alert-fail.js
@@ -0,0 +1 @@ +document.write("<script>test(function () { assert_unreached('FAIL inline script from document.write ran') });</script>");
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/generate-csp-report.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/generate-csp-report.html new file mode 100644 index 0000000..887f44f --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/generate-csp-report.html
@@ -0,0 +1,7 @@ +<meta http-equiv="Content-Security-Policy" content="script-src 'self'; report-uri save-report.php?test=generate-csp-report.html"> +<script> + // This script block will trigger a violation report. + alert('FAIL'); + +</script> +<script src="go-to-echo-report.js"></script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/go-to-echo-report.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/go-to-echo-report.js new file mode 100644 index 0000000..e220f2a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/go-to-echo-report.js
@@ -0,0 +1,12 @@ +if (window.testRunner) { + testRunner.dumpAsText(); + testRunner.waitUntilDone(); +} + +window.onload = function() { + var test = window.location.pathname.replace(/^.+\//, ''); + var match = window.location.search.match(/^\?test=([^&]+)/); + if (match) + test = match[1]; + window.location = "/security/contentSecurityPolicy/resources/echo-report.php?test=" + test; +}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/inject-image.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/inject-image.js new file mode 100644 index 0000000..1e1f93b3 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/inject-image.js
@@ -0,0 +1,4 @@ +// This script block will trigger a violation report. +var i = document.createElement('img'); +i.src = '/security/resources/abe.png'; +document.body.appendChild(i);
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/inject-script.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/inject-script.js new file mode 100644 index 0000000..1553719 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/inject-script.js
@@ -0,0 +1,5 @@ +document.write("<script>alert_assert('Pass 1 of 2');</script>"); + +var s = document.createElement('script'); +s.textContent = "alert_assert('Pass 2 of 2');"; +document.body.appendChild(s);
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/inject-style.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/inject-style.js new file mode 100644 index 0000000..532645a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/inject-style.js
@@ -0,0 +1,5 @@ +document.write("<style>#test1 { display: none; }</style>"); + +var s = document.createElement('style'); +s.textContent = "#test2 { display: none; }"; +document.body.appendChild(s);
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/post-message.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/post-message.js new file mode 100644 index 0000000..69daa31d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/post-message.js
@@ -0,0 +1 @@ +postMessage("importScripts allowed");
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/postmessage-fail.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/postmessage-fail.html new file mode 100644 index 0000000..a0308ad --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/postmessage-fail.html
@@ -0,0 +1,4 @@ +<script> + window.parent.postMessage('FAIL', '*'); + +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/postmessage-pass.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/postmessage-pass.html new file mode 100644 index 0000000..700167b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/postmessage-pass.html
@@ -0,0 +1,4 @@ +<script> + window.parent.postMessage('PASS', '*'); + +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/script.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/script.js new file mode 100644 index 0000000..54eaf53 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/script.js
@@ -0,0 +1,2 @@ +var result = document.getElementById("result"); +result.firstChild.nodeValue = result.attributes.getNamedItem("text").value;
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/set-cookie.js.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/set-cookie.js.sub.headers new file mode 100644 index 0000000..1d5fbba --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/set-cookie.js.sub.headers
@@ -0,0 +1 @@ +Set-Cookie: report-cookie=true \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-allowed.sub.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-allowed.sub.js new file mode 100644 index 0000000..28937d0 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-allowed.sub.js
@@ -0,0 +1,23 @@ +onconnect = function (event) { + var port = event.ports[0]; + var xhr = new XMLHttpRequest; + xhr.onerror = function () { + port.postMessage("xhr blocked"); + port.postMessage("TEST COMPLETE"); + }; + xhr.onload = function () { + if (xhr.responseText == "FAIL") { + port.postMessage("xhr allowed"); + } else { + port.postMessage("xhr blocked"); + } + port.postMessage("TEST COMPLETE"); + }; + try { + xhr.open("GET", "/common/redirect.py?location=http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/fail.asis", true); + xhr.send(); + } catch (e) { + port.postMessage("xhr blocked"); + port.postMessage("TEST COMPLETE"); + } +} \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.sub.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.sub.js new file mode 100644 index 0000000..28937d0 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.sub.js
@@ -0,0 +1,23 @@ +onconnect = function (event) { + var port = event.ports[0]; + var xhr = new XMLHttpRequest; + xhr.onerror = function () { + port.postMessage("xhr blocked"); + port.postMessage("TEST COMPLETE"); + }; + xhr.onload = function () { + if (xhr.responseText == "FAIL") { + port.postMessage("xhr allowed"); + } else { + port.postMessage("xhr blocked"); + } + port.postMessage("TEST COMPLETE"); + }; + try { + xhr.open("GET", "/common/redirect.py?location=http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/fail.asis", true); + xhr.send(); + } catch (e) { + port.postMessage("xhr blocked"); + port.postMessage("TEST COMPLETE"); + } +} \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.sub.js.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.sub.js.sub.headers new file mode 100644 index 0000000..ac7368c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.sub.js.sub.headers
@@ -0,0 +1 @@ +Content-Security-Policy: connect-src 'none' \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/simple-event-stream b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/simple-event-stream new file mode 100644 index 0000000..e467657 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/simple-event-stream
@@ -0,0 +1 @@ +data: hello
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/simple-event-stream.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/simple-event-stream.headers new file mode 100644 index 0000000..9bb8badc --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/simple-event-stream.headers
@@ -0,0 +1 @@ +Content-Type: text/event-stream
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/track.vtt b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/track.vtt new file mode 100644 index 0000000..365e9ae1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/track.vtt
@@ -0,0 +1 @@ +Subtitles!
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-eval.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-eval.js new file mode 100644 index 0000000..9aa8712 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-eval.js
@@ -0,0 +1,5 @@ +var id = 0; +try { + id = eval("1 + 2 + 3"); +} catch (e) {} +postMessage(id === 0 ? "eval blocked" : "eval allowed");
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-eval.js.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-eval.js.sub.headers new file mode 100644 index 0000000..afdcc7c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-eval.js.sub.headers
@@ -0,0 +1 @@ +Content-Security-Policy: script-src 'unsafe-inline'
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-function-function.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-function-function.js new file mode 100644 index 0000000..03d9bf4c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-function-function.js
@@ -0,0 +1,7 @@ +var fn = function() { + postMessage('Function() function blocked'); +} +try { + fn = new Function("", "postMessage('Function() function allowed');"); +} catch (e) {} +fn();
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-function-function.js.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-function-function.js.sub.headers new file mode 100644 index 0000000..afdcc7c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-function-function.js.sub.headers
@@ -0,0 +1 @@ +Content-Security-Policy: script-src 'unsafe-inline'
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-importscripts.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-importscripts.js new file mode 100644 index 0000000..65ec6f4 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-importscripts.js
@@ -0,0 +1,6 @@ +try { + importScripts("/content-security-policy/blink-contrib/resources/post-message.js"); + postMessage("importScripts allowed"); +} catch (e) { + postMessage("importScripts blocked"); +}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-importscripts.js.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-importscripts.js.sub.headers new file mode 100644 index 0000000..57616b1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-importscripts.js.sub.headers
@@ -0,0 +1 @@ +Content-Security-Policy: script-src 'none'
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-make-xhr-blocked.sub.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-make-xhr-blocked.sub.js new file mode 100644 index 0000000..22819d57 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-make-xhr-blocked.sub.js
@@ -0,0 +1,21 @@ +var xhr = new XMLHttpRequest; +xhr.onerror = function () { + postMessage("xhr blocked"); + postMessage("TEST COMPLETE"); +}; +xhr.onload = function () { + //cons/**/ole.log(xhr.responseText); + if (xhr.responseText == "FAIL") { + postMessage("xhr allowed"); + } else { + postMessage("xhr blocked"); + } + postMessage("TEST COMPLETE"); +}; +try { + xhr.open("GET", "/common/redirect.py?location=http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/fail.asis", true); + xhr.send(); +} catch (e) { + postMessage("xhr blocked"); + postMessage("TEST COMPLETE"); +} \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-make-xhr-blocked.sub.js.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-make-xhr-blocked.sub.js.sub.headers new file mode 100644 index 0000000..ac7368c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-make-xhr-blocked.sub.js.sub.headers
@@ -0,0 +1 @@ +Content-Security-Policy: connect-src 'none' \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-make-xhr.sub.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-make-xhr.sub.js new file mode 100644 index 0000000..73359a3 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-make-xhr.sub.js
@@ -0,0 +1,21 @@ +var xhr = new XMLHttpRequest; +xhr.onerror = function () { + postMessage("xhr blocked"); + postMessage("TEST COMPLETE"); +}; +xhr.onload = function () { + //cons/**/ole.log(xhr.responseText); + if (xhr.responseText == "FAIL") { + postMessage("xhr allowed"); + } else { + postMessage("xhr blocked"); + } + postMessage("TEST COMPLETE"); +}; +try { + xhr.open("GET", "/common/redirect.py?location=http://{{host}}:{{ports[http][0]}}/content-security-policy/support/fail.asis", true); + xhr.send(); +} catch (e) { + postMessage("xhr blocked"); + postMessage("TEST COMPLETE"); +} \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-set-timeout.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-set-timeout.js new file mode 100644 index 0000000..a16827e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-set-timeout.js
@@ -0,0 +1,5 @@ +var id = 0; +try { + id = setTimeout("postMessage('handler invoked')", 100); +} catch (e) {} +postMessage(id === 0 ? "setTimeout blocked" : "setTimeout allowed");
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-set-timeout.js.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-set-timeout.js.sub.headers new file mode 100644 index 0000000..57616b1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/resources/worker-set-timeout.js.sub.headers
@@ -0,0 +1 @@ +Content-Security-Policy: script-src 'none'
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/sandbox-allow-scripts-subframe.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/sandbox-allow-scripts-subframe.sub.html new file mode 100644 index 0000000..c755504 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/sandbox-allow-scripts-subframe.sub.html
@@ -0,0 +1,3 @@ + +This test passes if it does alert pass. +<iframe src="data:text/html,<script>alert_assert('PASS');</script>"></iframe>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/sandbox-allow-scripts-subframe.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/sandbox-allow-scripts-subframe.sub.html.sub.headers new file mode 100644 index 0000000..4c79457 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/sandbox-allow-scripts-subframe.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: sandbox-allow-scripts-subframe={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: sandbox allow-scripts; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/sandbox-allow-scripts.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/sandbox-allow-scripts.sub.html new file mode 100644 index 0000000..3bdaa12 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/sandbox-allow-scripts.sub.html
@@ -0,0 +1,6 @@ + +This test passes if it does alert pass. +<script> + alert_assert('PASS'); + +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/sandbox-allow-scripts.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/sandbox-allow-scripts.sub.html.sub.headers new file mode 100644 index 0000000..b6df57d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/sandbox-allow-scripts.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: sandbox-allow-scripts={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: sandbox allow-scripts; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/sandbox-empty-subframe.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/sandbox-empty-subframe.sub.html new file mode 100644 index 0000000..5ddccfa --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/sandbox-empty-subframe.sub.html
@@ -0,0 +1,3 @@ + +This test passes if it doesn't alert fail. +<iframe src="data:text/html,<script>alert_assert('FAIL');</script>"></iframe>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/sandbox-empty-subframe.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/sandbox-empty-subframe.sub.html.sub.headers new file mode 100644 index 0000000..5287112 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/sandbox-empty-subframe.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: sandbox-empty-subframe={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: sandbox; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/sandbox-empty.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/sandbox-empty.sub.html new file mode 100644 index 0000000..4e04e987 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/sandbox-empty.sub.html
@@ -0,0 +1,6 @@ + +This test passes if it doesn't alert fail. +<script> + alert_assert('FAIL'); + +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/sandbox-empty.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/sandbox-empty.sub.html.sub.headers new file mode 100644 index 0000000..f7d31c95 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/sandbox-empty.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: sandbox-empty={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: sandbox; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/script-src-overrides-default-src.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/script-src-overrides-default-src.sub.html new file mode 100644 index 0000000..cf4aab2 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/script-src-overrides-default-src.sub.html
@@ -0,0 +1,25 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>script-src-overrides-default-src</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["PASS 1 of 2","PASS 2 of 2"]'></script> + <!-- enforcing policy: +default-src about:; script-src 'self' 'unsafe-inline' 'self' 'unsafe-inline'; connect-src 'self'; +--> +</head> + +<body onload="alert_assert('PASS 2 of 2')"> + <script> + alert_assert('PASS 1 of 2'); + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/script-src-overrides-default-src.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/script-src-overrides-default-src.sub.html.sub.headers new file mode 100644 index 0000000..5d345643 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/script-src-overrides-default-src.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: script-src-overrides-default-src={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: default-src about:; script-src 'self' 'unsafe-inline'; style-src 'self'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/self-doesnt-match-blob.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/self-doesnt-match-blob.sub.html new file mode 100644 index 0000000..5f388622 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/self-doesnt-match-blob.sub.html
@@ -0,0 +1,49 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>worker-connect-src-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["TEST COMPLETE"]'></script> + <!-- enforcing policy: +connect-src 'self'; script-src 'self' 'unsafe-inline'; child-src 'self'; +--> + +</head> +<p>This test loads a worker, from a guid. + The worker should be blocked from loading with a child-src policy of 'self' + as the blob: scheme must be specified explicitly. + A report should be sent to the report-uri specified + with this resource.</p> +<body> + <script> + try { + var blob = new Blob([ + "postMessage('FAIL');" + + "postMessage('TEST COMPLETE');" + ], + {type : 'application/javascript'}); + var url = URL.createObjectURL(blob); + var worker = new Worker(url); + worker.onmessage = function(event) { + alert_assert(event.data); + }; + worker.onerror = function(event) { + alert_assert('TEST COMPLETE'); + event.preventDefault(); + } + } catch (e) { + alert_assert('TEST COMPLETE'); + } + function timeout() { + alert_assert('TEST COMPLETE'); + } + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=child-src%20'self'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/self-doesnt-match-blob.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/self-doesnt-match-blob.sub.html.sub.headers new file mode 100644 index 0000000..0584348 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/self-doesnt-match-blob.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: self-doesnt-match-blob={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: connect-src 'self'; script-src 'self' 'unsafe-inline'; child-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/shared-worker-connect-src-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/shared-worker-connect-src-allowed.sub.html new file mode 100644 index 0000000..17da111a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/shared-worker-connect-src-allowed.sub.html
@@ -0,0 +1,43 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>shared-worker-connect-src-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["xhr allowed","TEST COMPLETE"]'></script> + <!-- enforcing policy: +connect-src 'self' http://{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inline'; +--> + +</head> + +<body> + <script> + if(typeof SharedWorker != 'function') { + t_alert.set_status(t_alert.NOTRUN, "No SharedWorker, cannot run test."); + t_alert.phase = t_alert.phases.HAS_RESULT; + t_alert.done(); + } else { + try { + var worker = new SharedWorker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-allowed.sub.js'); + worker.port.onmessage = function(event) { + alert_assert(event.data); + }; + } catch (e) { + alert_assert(e); + } + var report = document.createElement("script"); + report.src = "../support/checkReport.sub.js?reportExists=false"; + report.async = true; + report.defer = true; + document.body.appendChild(report); + } + + </script> + <div id="log"></div> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/shared-worker-connect-src-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/shared-worker-connect-src-allowed.sub.html.sub.headers new file mode 100644 index 0000000..eefff95 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/shared-worker-connect-src-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: shared-worker-connect-src-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: connect-src 'self' http://www1.{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inline'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/shared-worker-connect-src-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/shared-worker-connect-src-blocked.sub.html new file mode 100644 index 0000000..63225bf --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/shared-worker-connect-src-blocked.sub.html
@@ -0,0 +1,50 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>shared-worker-connect-src-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["xhr blocked","TEST COMPLETE"]'></script> + <!-- enforcing policy: +connect-src *; script-src 'self' 'unsafe-inline'; +--> + +</head> + +<body> + <p>This test loads a shared worker, delivered with its own + policy. The worker should be blocked from making an XHR + as that policy specifies a connect-src 'none', though + this resource's policy is connect-src *. No report + should be sent since the worker's policy doesn't specify + a report-uri.</p> + <script> + if(typeof SharedWorker != 'function') { + t_alert.set_status(t_alert.NOTRUN, "No SharedWorker, cannot run test."); + t_alert.phase = t_alert.phases.HAS_RESULT; + t_alert.done(); + } else { + try { + var worker = new SharedWorker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/shared-worker-make-xhr-blocked.sub.js'); + worker.port.onmessage = function(event) { + alert_assert(event.data); + }; + } catch (e) { + alert_assert(e); + } + var report = document.createElement("script"); + report.src = "../support/checkReport.sub.js?reportExists=false"; + report.async = true; + report.defer = true; + document.body.appendChild(report); + } + + + </script> + <div id="log"></div> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/shared-worker-connect-src-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/shared-worker-connect-src-blocked.sub.html.sub.headers new file mode 100644 index 0000000..bb4fb4c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/shared-worker-connect-src-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: shared-worker-connect-src-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: connect-src *; script-src 'self' 'unsafe-inline'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/source-list-parsing-paths-03.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/source-list-parsing-paths-03.sub.html new file mode 100644 index 0000000..b60eccb --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/source-list-parsing-paths-03.sub.html
@@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>source-list-parsing-paths-03</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +script-src 'self' 'unsafe-inline' 'unsafe-inline' example.com/js/; connect-src 'self'; +--> +</head> + +<body> + <p>This test passes if the source expression does not throw an "invalid source" error.</p> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/source-list-parsing-paths-03.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/source-list-parsing-paths-03.sub.html.sub.headers new file mode 100644 index 0000000..58e7a22d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/source-list-parsing-paths-03.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: source-list-parsing-paths-03={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline' 'unsafe-inline' example.com/js/; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/srcdoc-doesnt-bypass-script-src.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/srcdoc-doesnt-bypass-script-src.sub.html new file mode 100644 index 0000000..50b7668 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/srcdoc-doesnt-bypass-script-src.sub.html
@@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>srcdoc-doesnt-bypass-script-src</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/alertAssert.sub.js?alerts=%5B%5D"></script> + <!-- enforcing policy: +script-src 'self'; connect-src 'self'; +--> +</head> + +<body> + This test passes if it doesn't alert fail. + <iframe srcdoc="<script>window.parent.alert_assert('FAIL')</script>"></iframe> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=script-src%20'self'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/srcdoc-doesnt-bypass-script-src.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/srcdoc-doesnt-bypass-script-src.sub.html.sub.headers new file mode 100644 index 0000000..e2ffd118 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/srcdoc-doesnt-bypass-script-src.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: srcdoc-doesnt-bypass-script-src={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/star-doesnt-match-blob.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/star-doesnt-match-blob.sub.html new file mode 100644 index 0000000..fac12b5 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/star-doesnt-match-blob.sub.html
@@ -0,0 +1,49 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>worker-connect-src-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["TEST COMPLETE"]'></script> + <!-- enforcing policy: +connect-src 'self'; script-src 'self' 'unsafe-inline'; child-src *; +--> + +</head> +<p>This test loads a worker, from a guid. + The worker should be blocked from loading with a child-src policy of * + as the blob: scheme must be specified explicitly. + A report should be sent to the report-uri specified + with this resource.</p> +<body> + <script> + try { + var blob = new Blob([ + "postMessage('FAIL');" + + "postMessage('TEST COMPLETE');" + ], + {type : 'application/javascript'}); + var url = URL.createObjectURL(blob); + var worker = new Worker(url); + worker.onmessage = function(event) { + alert_assert(event.data); + }; + worker.onerror = function(event) { + event.preventDefault(); + alert_assert('TEST COMPLETE'); + } + } catch (e) { + alert_assert('TEST COMPLETE'); + } + function timeout() { + alert_assert('TEST COMPLETE'); + } + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=child-src%20'self'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/star-doesnt-match-blob.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/star-doesnt-match-blob.sub.html.sub.headers new file mode 100644 index 0000000..9f7db5b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/star-doesnt-match-blob.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: star-doesnt-match-blob={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: connect-src 'self'; script-src 'self' 'unsafe-inline'; child-src *; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/style-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/style-allowed.sub.html new file mode 100644 index 0000000..176a8e3 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/style-allowed.sub.html
@@ -0,0 +1,26 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>style-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +style-src *; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; +--> + <link rel="stylesheet" href="resources/blue.css"> +</head> + +<body> + <script> + log(document.styleSheets.length > 0 ? 'PASS' : 'FAIL'); + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/style-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/style-allowed.sub.html.sub.headers new file mode 100644 index 0000000..cdf39454 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/style-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: style-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: style-src *; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/style-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/style-blocked.sub.html new file mode 100644 index 0000000..847e05b6 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/style-blocked.sub.html
@@ -0,0 +1,26 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>style-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +style-src 'none'; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; +--> + <link rel="stylesheet" href="resources/blue.css"> +</head> + +<body> + <script> + log(document.styleSheets.length > 0 ? 'FAIL' : 'PASS'); + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=style-src%20'none'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/style-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/style-blocked.sub.html.sub.headers new file mode 100644 index 0000000..54c3272 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/style-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: style-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: style-src 'none'; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-connect-src-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-connect-src-allowed.sub.html new file mode 100644 index 0000000..9231491 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-connect-src-allowed.sub.html
@@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>worker-connect-src-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["xhr allowed"]'></script> + <!-- enforcing policy: +connect-src 'self' http://{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inline'; +--> + +</head> + +<body> + <script> + try { + var worker = new Worker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/worker-make-xhr.sub.js'); + worker.onmessage = function(event) { + alert_assert(event.data); + }; + } catch (e) { + alert_assert(e); + } + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-connect-src-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-connect-src-allowed.sub.html.sub.headers new file mode 100644 index 0000000..92ef91f --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-connect-src-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: worker-connect-src-allowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: connect-src 'self'; script-src 'self' 'unsafe-inline'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-connect-src-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-connect-src-blocked.sub.html new file mode 100644 index 0000000..0541322 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-connect-src-blocked.sub.html
@@ -0,0 +1,38 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>worker-connect-src-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["xhr blocked","TEST COMPLETE"]'></script> + <!-- enforcing policy: +connect-src *; script-src 'self' 'unsafe-inline'; +--> + +</head> +<p>This test loads a worker, which is delivered with its own + policy. The worker should be blocked from making an XHR + as that policy specifies a connect-src 'none', though + this resource's policy is connect-src *. No report + should be sent since the worker's policy doesn't specify + a report-uri.</p> +<body> + <script> + try { + var worker = new Worker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/worker-make-xhr-blocked.sub.js'); + worker.onmessage = function(event) { + alert_assert(event.data); + }; + } catch (e) { + alert_assert(e); + } + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-connect-src-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-connect-src-blocked.sub.html.sub.headers new file mode 100644 index 0000000..e302aa8 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-connect-src-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: worker-connect-src-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: connect-src *; script-src 'self' 'unsafe-inline'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-eval-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-eval-blocked.sub.html new file mode 100644 index 0000000..ac96e0f --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-eval-blocked.sub.html
@@ -0,0 +1,37 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>worker-eval-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["eval blocked"]'></script> + <!-- enforcing policy: +script-src 'self' 'unsafe-inline' 'self'; connect-src 'self'; +--> +</head> + +<body> + <p>This test loads a worker, delivered with its own policy. + The eval() call in the worker should be forbidden by that + policy. No report should be generated because the worker + policy does not set a report-uri (although this parent + resource does).</p> + <script> + try { + var worker = new Worker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/worker-eval.js'); + worker.onmessage = function(event) { + alert_assert(event.data); + }; + } catch (e) { + alert_assert(e); + } + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-eval-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-eval-blocked.sub.html.sub.headers new file mode 100644 index 0000000..8964f80 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-eval-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: worker-eval-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-from-guid.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-from-guid.sub.html new file mode 100644 index 0000000..b290b82f --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-from-guid.sub.html
@@ -0,0 +1,65 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>worker-connect-src-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["xhr blocked","TEST COMPLETE"]'></script> + <!-- enforcing policy: +connect-src 'self'; script-src 'self' 'unsafe-inline' blob:; +--> + +</head> +<p>This test loads a worker, from a guid. + The worker should be blocked from making an XHR + to www1 as this resource's policy is connect-src 'self + and a guid Worker should inherit is parent's policy. + A report should be sent to the report-uri specified + with this resource.</p> +<body> + <script> + try { + var blob = new Blob([ + "var xhr = new XMLHttpRequest;" + + "xhr.onerror = function () {" + + " postMessage('xhr blocked');" + + " postMessage('TEST COMPLETE');" + + "};" + + "xhr.onload = function () {" + + " if (xhr.responseText == 'FAIL') {" + + " postMessage('xhr allowed');" + + " } else {" + + " postMessage('xhr blocked');" + + " }" + + " postMessage('TEST COMPLETE');" + + "};" + + "try { " + + " xhr.open(" + + " 'GET'," + + " 'http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/fail.asis'," + + " true" + + " );" + + " xhr.send();" + + "} catch (e) {" + + " postMessage('xhr blocked');" + + " postMessage('TEST COMPLETE');" + + "}"], + {type : 'application/javascript'}); + var url = URL.createObjectURL(blob); + var worker = new Worker(url); + worker.onmessage = function(event) { + alert_assert(event.data); + }; + } catch (e) { + alert_assert(e); + } + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=connect-src%20'self'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-from-guid.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-from-guid.sub.html.sub.headers new file mode 100644 index 0000000..d94d31a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-from-guid.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: worker-from-guid={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: connect-src 'self'; script-src 'self' 'unsafe-inline' blob:; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-function-function-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-function-function-blocked.sub.html new file mode 100644 index 0000000..1db5747 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-function-function-blocked.sub.html
@@ -0,0 +1,38 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>worker-function-function-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["Function() function blocked"]'></script> + <!-- enforcing policy: +script-src 'self' 'unsafe-inline' 'self' 'unsafe-inline'; connect-src 'self'; +--> + +</head> + +<body> + <p>This test loads a worker, delivered with its own policy. + The Function constructor should be forbidden by that + policy. No report should be generated because the worker + policy does not set a report-uri (although this parent + resource does).</p> + <script> + try { + var worker = new Worker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/worker-function-function.js'); + worker.onmessage = function(event) { + alert_assert(event.data); + }; + } catch (e) { + alert_assert(e); + } + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-function-function-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-function-function-blocked.sub.html.sub.headers new file mode 100644 index 0000000..b012518e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-function-function-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: worker-function-function-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-importscripts-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-importscripts-blocked.sub.html new file mode 100644 index 0000000..9ec49c0 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-importscripts-blocked.sub.html
@@ -0,0 +1,43 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>worker-importscripts-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <!-- enforcing policy: +script-src 'self' 'unsafe-inline' 'unsafe-eval' 'unsafe-inline' 127.0.0.1:8000; connect-src 'self'; +--> + <script></script> +</head> + +<body> + <script> + window.wasPostTestScriptParsed = true; + var result = ''; + try { + var worker = new Worker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/worker-importscripts.js'); + worker.onmessage = function(event) { + result = event.data; + test(function() { + assert_equals(result, 'importScripts blocked') + }); + log("TEST COMPLETE"); + }; + } catch (e) { + result = e; + test(function() { + assert_equals(result, 'importScripts blocked') + }); + log("TEST COMPLETE"); + } + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-importscripts-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-importscripts-blocked.sub.html.sub.headers new file mode 100644 index 0000000..04de51d1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-importscripts-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: worker-importscripts-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline' 'unsafe-eval'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-script-src.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-script-src.sub.html new file mode 100644 index 0000000..9caf772 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-script-src.sub.html
@@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>worker-script-src</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["PASS"]'></script> + <!-- enforcing policy: +script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + +</head> + +<body> + <script> + try { + var foo = new Worker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/post-message.js'); + foo.onmessage = function(event) { + alert_assert("PASS"); + }; + } catch (e) { + alert_assert(e); + } + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-script-src.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-script-src.sub.html.sub.headers new file mode 100644 index 0000000..76e5a3b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-script-src.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: worker-script-src={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-set-timeout-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-set-timeout-blocked.sub.html new file mode 100644 index 0000000..119121c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-set-timeout-blocked.sub.html
@@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>worker-set-timeout-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["setTimeout blocked"]'></script> + <!-- enforcing policy: +script-src 'self' 'unsafe-inline' 'self' 'unsafe-inline'; connect-src 'self'; +--> + +</head> + +<body> + <script> + try { + var worker = new Worker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/worker-set-timeout.js'); + worker.onmessage = function(event) { + alert_assert(event.data); + }; + } catch (e) { + alert_assert(e); + } + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-set-timeout-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-set-timeout-blocked.sub.html.sub.headers new file mode 100644 index 0000000..fb6b3d0a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/worker-set-timeout-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: worker-set-timeout-blocked={{$id:uuid()}}; Path=/content-security-policy/blink-contrib +Content-Security-Policy: script-src 'self' 'unsafe-inline' 'self' 'unsafe-eval'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/xsl-blocked-expected.png b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/xsl-blocked-expected.png new file mode 100644 index 0000000..b5daa85 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/xsl-blocked-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/xsl-unaffected-by-style-src-1-expected.png b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/xsl-unaffected-by-style-src-1-expected.png new file mode 100644 index 0000000..b5daa85 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/blink-contrib/xsl-unaffected-by-style-src-1-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-about-blank-allowed-by-default.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-about-blank-allowed-by-default.sub.html new file mode 100644 index 0000000..9222a8d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-about-blank-allowed-by-default.sub.html
@@ -0,0 +1,24 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>child-src-about-blank-allowed-by-default</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + + <!-- enforcing policy: +child-src 'none'; object-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + <p>These frames should not be blocked by Content-Security-Policy. + It's pointless to block about:blank iframes because + blocking a frame just results in displaying about:blank anyway! + </p> + <iframe src="about:blank"></iframe> + <object type="text/html" data="about:blank"></object> + + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-about-blank-allowed-by-default.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-about-blank-allowed-by-default.sub.html.sub.headers new file mode 100644 index 0000000..68b2fb2 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-about-blank-allowed-by-default.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: child-src-about-blank-allowed-by-default={{$id:uuid()}}; Path=/content-security-policy/child-src +Content-Security-Policy: child-src 'none'; object-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-about-blank-allowed-by-scheme.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-about-blank-allowed-by-scheme.sub.html new file mode 100644 index 0000000..d94eff6 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-about-blank-allowed-by-scheme.sub.html
@@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>child-src-about-blank-allowed-by-scheme</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + + <!-- enforcing policy: +child-src about:; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + <p>This frame should not be blocked by Content-Security-Policy. + </p> + <iframe src="about:blank"></iframe> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-about-blank-allowed-by-scheme.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-about-blank-allowed-by-scheme.sub.html.sub.headers new file mode 100644 index 0000000..9ff84d6 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-about-blank-allowed-by-scheme.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: child-src-about-blank-allowed-by-scheme={{$id:uuid()}}; Path=/content-security-policy/child-src +Content-Security-Policy: child-src about:; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-allowed.sub.html new file mode 100644 index 0000000..12a075ad --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-allowed.sub.html
@@ -0,0 +1,63 @@ +<!DOCTYPE html> +<html> + +<head> + <title>child-src-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS IFrame %231 generated a load event."]'></script> + <script> + window.addEventListener("message", function(event) { + alert_assert(event.data); + }, false); + + var t_alert = async_test('Expecting alerts: ["PASS"]'); + var expected_alerts = ["PASS"]; + + function alert_assert(msg) { + t_alert.step(function() { + if (msg.match(/^FAIL/i)) { + assert_unreached(msg); + t_alert.done(); + } + for (var i = 0; i < expected_alerts.length; i++) { + if (expected_alerts[i] == msg) { + assert_true(expected_alerts[i] == msg); + expected_alerts.splice(i, 1); + if (expected_alerts.length == 0) { + t_alert.done(); + } + return; + } + } + assert_unreached('unexpected alert: ' + msg); + t_alert.done(); + }); + } + + </script> + <!-- enforcing policy: +Content-Security-Policy: child-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + <p> + This iframe should be allowed. + </p> + <script> + window.wasPostTestScriptParsed = true; + var loads = 0; + + function loadEvent() { + loads++; + log("PASS " + "IFrame #" + loads + " generated a load event."); + } + + </script> +</head> + +<body> + <iframe src="/content-security-policy/blink-contrib/resources/postmessage-pass.html" onload="loadEvent()"></iframe> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-allowed.sub.html.sub.headers new file mode 100644 index 0000000..7eb8d76f --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: child-src-allowed={{$id:uuid()}}; Path=/content-security-policy/child-src +Content-Security-Policy: child-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-blocked.sub.html new file mode 100644 index 0000000..e32cc0a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-blocked.sub.html
@@ -0,0 +1,61 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>child-src-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS IFrame %231 generated a load event."]'></script> + <script> + window.addEventListener("message", function(event) { + alert_assert(event.data); + }, false); + + function alert_assert(msg) { + t_log.step(function() { + if (msg.match(/^FAIL/i)) { + assert_unreached(msg); + t_log.done(); + } + for (var i = 0; i < expected_alerts.length; i++) { + if (expected_alerts[i] == msg) { + assert_true(expected_alerts[i] == msg); + expected_alerts.splice(i, 1); + if (expected_alerts.length == 0) { + t_log.done(); + } + return; + } + } + assert_unreached('unexpected alert: ' + msg); + t_log.done(); + }); + } + + </script> + <!-- enforcing policy: +child-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + <p> + IFrames blocked by CSP should generate a 'load', not 'error' event, regardless of blocked state. This means they appear to be normal cross-origin loads, thereby not leaking URL information directly to JS. + </p> + <script> + window.wasPostTestScriptParsed = true; + var loads = 0; + + function loadEvent() { + loads++; + log("PASS " + "IFrame #" + loads + " generated a load event."); + } + + </script> +</head> + +<body> + <iframe src="/content-security-policy/blink-contrib/resources/postmessage-fail.html" onload="loadEvent()" onerror="log('FAIL')"></iframe> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=child-src%20'none'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-blocked.sub.html.sub.headers new file mode 100644 index 0000000..961d18a7 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: child-src-blocked={{$id:uuid()}}; Path=/content-security-policy/child-src +Content-Security-Policy: child-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-conflicting-frame-src.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-conflicting-frame-src.sub.html new file mode 100644 index 0000000..b681253 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-conflicting-frame-src.sub.html
@@ -0,0 +1,61 @@ +<!DOCTYPE html> +<html> +<head> + <title>child-src-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS IFrame %231 generated a load event."]'></script> + <script> + window.addEventListener("message", function(event) { + alert_assert(event.data); + }, false); + + function alert_assert(msg) { + t_log.step(function() { + if (msg.match(/^FAIL/i)) { + assert_unreached(msg); + t_log.done(); + } + for (var i = 0; i < expected_alerts.length; i++) { + if (expected_alerts[i] == msg) { + assert_true(expected_alerts[i] == msg); + expected_alerts.splice(i, 1); + if (expected_alerts.length == 0) { + t_log.done(); + } + return; + } + } + assert_unreached('unexpected alert: ' + msg); + t_log.done(); + }); + } + + </script> + <!-- enforcing policy: +frame-src 'none'; child-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + <p> + A more permissive child-src should not relax restrictions from a less- + permissive frame-src. Directives still combine for least privilege, even when + one obsoletes another. + </p> + <script> + window.wasPostTestScriptParsed = true; + var loads = 0; + + function loadEvent() { + loads++; + log("PASS " + "IFrame #" + loads + " generated a load event."); + } + + </script> +</head> + +<body> + <iframe src="/content-security-policy/blink-contrib/resources/postmessage-fail.html" onload="loadEvent()" onerror="log('FAIL')"></iframe> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=frame-src%20'none'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-conflicting-frame-src.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-conflicting-frame-src.sub.html.sub.headers new file mode 100644 index 0000000..9c3ce842 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-conflicting-frame-src.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: child-src-conflicting-frame-src={{$id:uuid()}}; Path=/content-security-policy/child-src +Content-Security-Policy: frame-src 'none'; child-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-cross-origin-load.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-cross-origin-load.sub.html new file mode 100644 index 0000000..b6f3e51 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-cross-origin-load.sub.html
@@ -0,0 +1,68 @@ +<!DOCTYPE html> +<html> + +<head> + <!-- Programmatically converted from a WebKit Reftest, please forgive resulting idiosyncracies.--> + <title>child-src-cross-origin-load</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS IFrame %231 generated a load event.","PASS IFrame %232 generated a load event.","PASS IFrame %233 generated a load event."]'></script> + <script> + window.addEventListener("message", function(event) { + alert_assert(event.data); + }, false); + + var t_alert = async_test('Expecting alerts: ["PASS","PASS"]'); + var expected_alerts = ["PASS", "PASS"]; + + function alert_assert(msg) { + t_alert.step(function() { + if (msg.match(/^FAIL/i)) { + assert_unreached(msg); + t_alert.done(); + } + for (var i = 0; i < expected_alerts.length; i++) { + if (expected_alerts[i] == msg) { + assert_true(expected_alerts[i] == msg); + expected_alerts.splice(i, 1); + if (expected_alerts.length == 0) { + t_alert.done(); + } + return; + } + } + assert_unreached('unexpected alert: ' + msg); + t_alert.done(); + }); + } + + </script> + <!-- enforcing policy: +child-src 'self' http://www1.{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inline'; connect-src 'self'; +--> + <p> + IFrames blocked by CSP should generate a 'load', not 'error' event, regardless of blocked state. This means they appear to be normal cross-origin loads, thereby not leaking URL information directly to JS. + </p> + <script> + window.wasPostTestScriptParsed = true; + var loads = 0; + + function loadEvent() { + loads++; + log("PASS " + "IFrame #" + loads + " generated a load event."); + if (loads == 3) + log("TEST COMPLETE"); + } + + </script> +</head> + +<body> + <iframe src="/content-security-policy/blink-contrib/resources/postmessage-pass.html" onload="loadEvent()"></iframe> + <iframe src="http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/postmessage-pass.html" onload="loadEvent()"></iframe> + <iframe src="http://www2.{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/postmessage-fail.html" onload="loadEvent()" onerror="log('FAIL')"></iframe> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=child-src%20'self'"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-cross-origin-load.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-cross-origin-load.sub.html.sub.headers new file mode 100644 index 0000000..53527c1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-cross-origin-load.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: child-src-cross-origin-load={{$id:uuid()}}; Path=/content-security-policy/child-src +Content-Security-Policy: child-src 'self' http://www1.{{host}}:{{ports[http][0]}}; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-worker-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-worker-allowed.sub.html new file mode 100644 index 0000000..361d097 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-worker-allowed.sub.html
@@ -0,0 +1,32 @@ +<!DOCTYPE html> +<html> + +<head> + <title>child-src-worker-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["PASS"]'></script> + <!-- enforcing policy: +child-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; +--> + +</head> + +<body> + <script> + try { + var foo = new Worker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/post-message.js'); + foo.onmessage = function(event) { + alert_assert("PASS"); + }; + } catch (e) { + alert_assert(e); + } + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=false"></script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-worker-allowed.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-worker-allowed.sub.html.sub.headers new file mode 100644 index 0000000..4ddb39e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-worker-allowed.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: child-src-worker-allowed={{$id:uuid()}}; Path=/content-security-policy/child-src +Content-Security-Policy: child-src 'self'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-worker-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-worker-blocked.sub.html new file mode 100644 index 0000000..8ed6b15 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-worker-blocked.sub.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html> + +<head> + <title>child-src-worker-blocked</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["PASS"]'></script> + <!-- enforcing policy: +child-src 'none'; script-src 'self' 'unsafe-inline' 'unsafe-inline'; connect-src 'self'; +--> + +</head> + +<body> + <script> + try { + var foo = new Worker('http://{{host}}:{{ports[http][0]}}/content-security-policy/blink-contrib/resources/post-message.js'); + foo.onerror = function(event) { + event.preventDefault(); + alert_assert("PASS"); + } + foo.onmessage = function(event) { + alert_assert("FAIL"); + }; + } catch (e) { + alert_assert("PASS"); + } + + </script> + <div id="log"></div> + <script async defer src="../support/checkReport.sub.js?reportExists=true&reportField=violated-directive&reportValue=child-src%20'none'"></script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-worker-blocked.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-worker-blocked.sub.html.sub.headers new file mode 100644 index 0000000..685d6dc --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/child-src/child-src-worker-blocked.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: child-src-worker-blocked={{$id:uuid()}}; Path=/content-security-policy/child-src +Content-Security-Policy: child-src 'none'; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/allow_csp_from-header.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/allow_csp_from-header.html new file mode 100644 index 0000000..a806caf --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/allow_csp_from-header.html
@@ -0,0 +1,88 @@ +<!DOCTYPE html> +<html> +<head> +<title>Embedded Enforcement: Allow-CSP-From header.</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="support/testharness-helper.sub.js"></script> +</head> +<body> + <script> + var tests = [ + { "name": "Same origin iframes are always allowed.", + "origin": Host.SAME_ORIGIN, + "csp": "style-src 'unsafe-inline'; script-src 'unsafe-inline'", + "allow_csp_from": "¢¥§", + "expected": IframeLoad.EXPECT_LOAD, + "blockedURI": null}, + { "name": "Same origin iframes are allowed even if the Allow-CSP-From is empty.", + "origin": Host.SAME_ORIGIN, + "csp": "style-src 'unsafe-inline'; script-src 'unsafe-inline'", + "allow_csp_from": "", + "expected": IframeLoad.EXPECT_LOAD, + "blockedURI": null}, + { "name": "Same origin iframes are allowed even if the Allow-CSP-From is not present.", + "origin": Host.SAME_ORIGIN, + "csp": "style-src 'unsafe-inline'; script-src 'unsafe-inline'", + "allow_csp_from": null, + "expected": IframeLoad.EXPECT_LOAD, + "blockedURI": null}, + { "name": "Same origin iframes are allowed even if Allow-CSP-From does not match origin.", + "origin": Host.SAME_ORIGIN, + "csp": "style-src 'unsafe-inline'; script-src 'unsafe-inline'", + "allow_csp_from": "http://example.com:888", + "expected": IframeLoad.EXPECT_LOAD, + "blockedURI": null}, + { "name": "Cross origin iframe with an empty Allow-CSP-From header gets blocked.", + "origin": Host.CROSS_ORIGIN, + "csp": "script-src 'unsafe-inline'", + "allow_csp_from": "", + "expected": IframeLoad.EXPECT_BLOCK, + "blockedURI": null}, + { "name": "Cross origin iframe without Allow-CSP-From header gets blocked.", + "origin": Host.CROSS_ORIGIN, + "csp": "script-src 'unsafe-inline'", + "allow_csp_from": null, + "expected": IframeLoad.EXPECT_BLOCK, + "blockedURI": null}, + { "name": "iframe from cross origin does not load without Allow-CSP-From header.", + "origin": Host.CROSS_ORIGIN, + "csp": "style-src 'unsafe-inline'; script-src 'unsafe-inline'", + "allow_csp_from": getOrigin(), + "expected": IframeLoad.EXPECT_LOAD, + "blockedURI": null}, + { "name": "Iframe with improper Allow-CSP-From header gets blocked.", + "origin": Host.CROSS_ORIGIN, + "csp": "script-src 'unsafe-inline'", + "allow_csp_from": "* ¢¥§", + "expected": IframeLoad.EXPECT_BLOCK, + "blockedURI": null}, + { "name": "Allow-CSP-From header with a star value can be returned.", + "origin": Host.CROSS_ORIGIN, + "csp": "script-src 'unsafe-inline'", + "allow_csp_from": "*", + "expected": IframeLoad.EXPECT_LOAD, + "blockedURI": null}, + { "name": "Star Allow-CSP-From header enforces EmbeddingCSP.", + "origin": Host.CROSS_ORIGIN, + "csp": "script-src 'nonce-123'", + "allow_csp_from": "*", + "expected": IframeLoad.EXPECT_LOAD, + "blockedURI": "inline"}, + { "name": "Allow-CSP-From header enforces EmbeddingCSP.", + "origin": Host.CROSS_ORIGIN, + "csp": "style-src 'none'; script-src 'nonce-123'", + "allow_csp_from": getOrigin(), + "expected": IframeLoad.EXPECT_LOAD, + "blockedURI": "inline"}, + ]; + + tests.forEach(test => { + async_test(t => { + var url = generateUrlWithAllowCSPFrom(test.origin, test.allow_csp_from); + assert_iframe_with_csp(t, url, test.csp, test.expected, test.name, test.blockedURI); + }, test.name); + }); + </script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/embedding_csp-header.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/embedding_csp-header.html new file mode 100644 index 0000000..424233a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/embedding_csp-header.html
@@ -0,0 +1,78 @@ +<!DOCTYPE html> +<html> +<head> +<title>Embedded Enforcement: Embedding-CSP header.</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="support/testharness-helper.sub.js"></script> +</head> +<body> + <script> + var tests = [ + { "name": "Embedding-CSP is not sent if `csp` attribute is not set on <iframe>.", + "csp": null, + "expected": null }, + { "name": "Send Embedding-CSP when `csp` attribute of <iframe> is not empty.", + "csp": "script-src 'unsafe-inline'", + "expected": "script-src 'unsafe-inline'" }, + { "name": "Send Embedding-CSP Header on change of `src` attribute on iframe.", + "csp": "script-src 'unsafe-inline'", + "expected": "script-src 'unsafe-inline'" }, + { "name": "Wrong value of `csp` should not trigger sending Embedding-CSP Header.", + "csp": "completely wrong csp", + "expected": null}, + ]; + + tests.forEach(test => { + async_test(t => { + var url = generateURLString(Host.SAME_ORIGIN, PolicyHeader.EMBEDDING_CSP); + assert_embedding_csp(t, url, test.csp, test.expected); + }, "Test same origin: " + test.name); + + async_test(t => { + var url = generateURLString(Host.SAME_ORIGIN, PolicyHeader.EMBEDDING_CSP); + var redirect_url = generateRedirect(Host.SAME_ORIGIN, url); + assert_embedding_csp(t, redirect_url, test.csp, test.expected); + }, "Test same origin redirect: " + test.name); + + async_test(t => { + var url = generateURLString(Host.SAME_ORIGIN, PolicyHeader.EMBEDDING_CSP); + var redirect_url = generateRedirect(Host.CROSS_ORIGIN, url); + assert_embedding_csp(t, redirect_url, test.csp, test.expected); + }, "Test cross origin redirect: " + test.name); + + async_test(t => { + var url = generateURLString(Host.CROSS_ORIGIN, PolicyHeader.EMBEDDING_CSP); + var redirect_url = generateRedirect(Host.CROSS_ORIGIN, url); + assert_embedding_csp(t, redirect_url, test.csp, test.expected); + }, "Test cross origin redirect of cross origin iframe: " + test.name); + + async_test(t => { + var i = document.createElement('iframe'); + if (test.csp) + i.csp = test.csp; + i.src = generateURLString(Host.SAME_ORIGIN, PolicyHeader.EMBEDDING_CSP); + var loaded = false; + + window.addEventListener('message', t.step_func(e => { + if (e.source != i.contentWindow || !('embedding_csp' in e.data)) + return; + if (!loaded) { + assert_equals(test.expected, e.data['embedding_csp']); + loaded = true; + i.csp = "default-src 'unsafe-inline'"; + i.src = generateURLString(Host.CROSS_ORIGIN, PolicyHeader.EMBEDDING_CSP); + } else { + // Once iframe has loaded, check that on change of `src` attribute + // Embedding-CSP value is based on latest `csp` attribute value. + assert_equals("default-src 'unsafe-inline'", e.data['embedding_csp']); + t.done(); + } + })); + + document.body.appendChild(i); + }, "Test Embedding-CSP value on `csp` change: " + test.name); + }); + </script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/iframe-csp-attribute.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/iframe-csp-attribute.html new file mode 100644 index 0000000..f23be1d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/iframe-csp-attribute.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html> +<head> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> +</head> +<body> + <script> + test(t => { + var i = document.createElement('iframe'); + assert_equals('', i.csp); + assert_true('csp' in i); + assert_equals('string', typeof i.csp); + }, "<iframe> has a 'csp' attibute which is an empty string if undefined."); + + test(t => { + var i = document.createElement('iframe'); + i.setAttribute('csp', 123456); + assert_equals('123456', i.csp); + }, "<iframe>'s csp attribute is always a string."); + + test(t => { + var i = document.createElement('iframe'); + i.csp = 'value'; + assert_equals('value', i.getAttribute('csp')); + }, "<iframe>'s 'csp content attribute reflects the IDL attribute."); + + test(t => { + var i = document.createElement('iframe'); + i.setAttribute('csp', 'value'); + assert_equals('value', i.csp); + }, "<iframe>'s IDL attribute reflects the DOM attribute."); + </script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-general.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-general.html new file mode 100644 index 0000000..f8e6b0b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-general.html
@@ -0,0 +1,54 @@ +<!DOCTYPE html> +<html> +<head> +<title>Embedded Enforcement: Subsumption Algorithm - Basic implementation.</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="support/testharness-helper.sub.js"></script> +</head> +<body> + <script> + var tests = [ + { "name": "If there is no required csp, iframe should load.", + "required_csp": null, + "returned_csp": null, + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Iframe with empty returned CSP should be blocked.", + "required_csp": "style-src 'none';", + "returned_csp": null, + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Iframe with matching CSP should load.", + "required_csp": "style-src 'none'; script-src 'unsafe-inline'", + "returned_csp": "style-src 'none'; script-src 'unsafe-inline'", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Iframe with more restricting CSP should load.", + "required_csp": "script-src 'nonce-abc' 'nonce-123'", + "returned_csp": "script-src 'nonce-abc'", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Iframe with less restricting CSP should be blocked.", + "required_csp": "style-src 'none'; script-src 'none'", + "returned_csp": "style-src 'none'; script-src 'self'", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Iframe with a different CSP should be blocked.", + "required_csp": "script-src 'nonce-abc' 'nonce-123'", + "returned_csp": "style-src 'none'", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Iframe with a matching and more restrictive ports should load.", + "required_csp": "frame-src http://c.com:443 http://b.com", + "returned_csp": "frame-src http://b.com:80 http://c.com:443", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Iframe should load even if the ports are different but are default for the protocols.", + "required_csp": "frame-src http://b.com:80", + "returned_csp": "child-src https://b.com:443", + "expected": IframeLoad.EXPECT_LOAD }, + ]; + + tests.forEach(test => { + async_test(t => { + var url = generateUrlWithPolicies(Host.CROSS_ORIGIN, test.returned_csp); + assert_iframe_with_csp(t, url, test.required_csp, test.expected, test.name, null); + }, test.name); + }); + </script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-hashes.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-hashes.html new file mode 100644 index 0000000..c4990b518 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-hashes.html
@@ -0,0 +1,80 @@ +<!DOCTYPE html> +<html> +<head> +<title>Embedded Enforcement: Subsumption Algorithm - Hashes.</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="support/testharness-helper.sub.js"></script> +</head> +<body> + <script> + var tests = [ + { "name": "'sha256-abc123' is properly subsumed.", + "required_csp": "style-src 'sha256-abc123'", + "returned_csp_1": "style-src 'sha256-abc123'", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Returned should not include hashes not present in required csp.", + "required_csp": "style-src http://example.com", + "returned_csp_1": "style-src 'sha256-abc123'", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "'sha256-abc123' is properly subsumed with other sources.", + "required_csp": "style-src http://example1.com/foo/ 'self' 'unsafe-hashed-attributes' 'strict-dynamic' 'sha256-abc123'", + "returned_csp_1": "style-src http://example1.com/foo/bar.html 'sha256-abc123'", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Hashes do not have to be present in returned csp.", + "required_csp": "style-src http://example1.com/foo/ 'self' 'sha256-abc123'", + "returned_csp_1": "style-src http://example1.com/foo/", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Hashes do not have to be present in returned csp but must not allow all inline behavior.", + "required_csp": "style-src http://example1.com/foo/ 'self' 'sha256-abc123'", + "returned_csp_1": "style-src http://example1.com/foo/ 'unsafe-inline'", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Other expressions have to be subsumed.", + "required_csp": "style-src http://example1.com/foo/ 'self' 'sha256-abc123'", + "returned_csp_1": "style-src http://example1.com/foo/ 'unsafe-eval' 'sha256-abc123'", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Other expressions have to be subsumed but 'unsafe-inline' gets ignored.", + "required_csp": "style-src http://example1.com/foo/ 'self' 'sha256-abc123'", + "returned_csp_1": "style-src http://example1.com/foo/ 'unsafe-inline' 'sha256-abc123'", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Effective policy is properly found.", + "required_csp": "style-src http://example1.com/foo/ 'self' 'sha256-abc123'", + "returned_csp_1": "style-src http://example1.com/foo/ 'unsafe-hashed-attributes' 'sha256-abc123'", + "returned_csp_2": "style-src http://example1.com/foo/ 'self' 'sha256-abc123'", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Required csp must allow 'sha256-abc123'.", + "required_csp": "style-src http://example1.com/foo/ 'self'", + "returned_csp_1": "style-src http://example1.com/foo/ 'self' 'sha256-abc123'", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Effective policy is properly found where 'sha256-abc123' is not subsumed.", + "required_csp": "style-src http://example1.com/foo/ 'self'", + "returned_csp_1": "style-src 'unsafe-hashed-attributes' 'sha256-abc123'", + "returned_csp_2": "style-src 'sha256-abc123' 'unsafe-inline'", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "'sha256-abc123' is not subsumed by 'sha256-abc456'.", + "required_csp": "style-src http://example1.com/foo/ 'self' 'sha256-abc456'", + "returned_csp_1": "style-src 'unsafe-hashed-attributes' 'sha256-abc123'", + "returned_csp_2": "style-src 'sha256-abc123' 'unsafe-inline'", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Effective policy now does not allow 'sha256-abc123'.", + "required_csp": "style-src http://example1.com/foo/ 'self' 'sha256-abc456'", + "returned_csp_1": "style-src 'unsafe-hashed-attributes' 'sha256-abc123' 'sha256-abc456'", + "returned_csp_2": "style-src 'sha256-abc456' 'unsafe-inline'", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Effective policy is properly found where 'sha256-abc123' is not part of it.", + "required_csp": "style-src http://example1.com/foo/ 'self'", + "returned_csp_1": "style-src 'unsafe-hashed-attributes' 'self'", + "returned_csp_2": "style-src 'sha256-abc123' 'self'", + "expected": IframeLoad.EXPECT_LOAD }, + ]; + tests.forEach(test => { + async_test(t => { + var url = generateUrlWithPolicies(Host.CROSS_ORIGIN, test.returned_csp_1); + if (test.returned_csp_2) + url.searchParams.append("policy2", test.returned_csp_2); + assert_iframe_with_csp(t, url, test.required_csp, test.expected, test.name, null); + }, test.name); + }); + </script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-hosts.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-hosts.html new file mode 100644 index 0000000..096c565 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-hosts.html
@@ -0,0 +1,42 @@ +<!DOCTYPE html> +<html> +<head> +<title>Embedded Enforcement: Subsumption Algorithm - Host parts in host source expressions.</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="support/testharness-helper.sub.js"></script> +</head> +<body> + <script> + var tests = [ + { "name": "Host must match.", + "required_csp": "img-src http://c.com", + "returned_csp": "img-src http://b.com", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Hosts without wildcards must match.", + "required_csp": "img-src http://c.com:* http://inner.b.com", + "returned_csp": "img-src http://b.com", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "More specific subdomain should not match.", + "required_csp": "img-src http://c.com:* http://b.com", + "returned_csp": "img-src http://inner.b.com", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Specified host should not match a wildcard host.", + "required_csp": "img-src http://c.com:* http://inner.b.com", + "returned_csp": "img-src http://*.b.com", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "A wildcard host should match a more specific host.", + "required_csp": "img-src http://c.com:* http://*.b.com", + "returned_csp": "img-src https://inner.b.com", + "expected": IframeLoad.EXPECT_LOAD }, + ]; + + tests.forEach(test => { + async_test(t => { + var url = generateUrlWithPolicies(Host.CROSS_ORIGIN, test.returned_csp); + assert_iframe_with_csp(t, url, test.required_csp, test.expected, test.name, null); + }, test.name); + }); + </script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-paths.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-paths.html new file mode 100644 index 0000000..6a332087 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-paths.html
@@ -0,0 +1,58 @@ +<!DOCTYPE html> +<html> +<head> +<title>Embedded Enforcement: Subsumption Algorithm - Path parts in host source expressions.</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="support/testharness-helper.sub.js"></script> +</head> +<body> + <script> + var tests = [ + { "name": "Returned CSP must specify a path.", + "required_csp": "img-src http://c.com:* http://b.com/example.html", + "returned_csp": "img-src http://b.com", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Returned CSP has a more specific path.", + "required_csp": "img-src http://c.com:* http://b.com", + "returned_csp": "img-src http://b.com/example.html", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Matching paths.", + "required_csp": "img-src http://c.com:* http://b.com/example.html", + "returned_csp": "img-src http://b.com/example.html", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Empty path is not subsumed by specified paths.", + "required_csp": "img-src http://b.com/page1.html http://b.com/page2.html http://b.com/page3.html", + "returned_csp": "img-src http://b.com/", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "All specific paths match except the order.", + "required_csp": "img-src http://b.com/page1.html http://b.com/page2.html http://b.com/page3.html", + "returned_csp": "img-src http://b.com/page2.html http://b.com/page3.html http://b.com/page1.html", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Returned CSP allows only one path.", + "required_csp": "img-src http://b.com/page1.html http://b.com/page2.html http://b.com/page3.html", + "returned_csp": "img-src http://b.com/page2.html", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "`/` path should be subsumed by an empty path.", + "required_csp": "img-src http://b.com", + "returned_csp": "img-src http://b.com/", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Unspecified path should be subsumed by `/`.", + "required_csp": "img-src http://b.com/", + "returned_csp": "img-src http://b.com", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "That should not be true when required csp specifies a specific page.", + "required_csp": "img-src http://b.com/path.html", + "returned_csp": "img-src http://b.com", + "expected": IframeLoad.EXPECT_BLOCK }, + ]; + + tests.forEach(test => { + async_test(t => { + var url = generateUrlWithPolicies(Host.CROSS_ORIGIN, test.returned_csp); + assert_iframe_with_csp(t, url, test.required_csp, test.expected, test.name, null); + }, test.name); + }); + </script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-ports.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-ports.html new file mode 100644 index 0000000..1b72b30 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-ports.html
@@ -0,0 +1,82 @@ +<!DOCTYPE html> +<html> +<head> +<title>Embedded Enforcement: Subsumption Algorithm - Port parts in host source expressions.</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="support/testharness-helper.sub.js"></script> +</head> +<body> + <script> + var tests = [ + { "name": "Specified ports must match.", + "required_csp": "img-src http://c.com:* http://b.com:80", + "returned_csp": "img-src http://b.com:36", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Returned CSP should be subsumed even if the port is not specified but is a default port for a scheme.", + "required_csp": "img-src http://c.com:* http://b.com:80", + "returned_csp": "img-src http://b.com", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Returned CSP should be subsumed even if the port is not specified but is a default port for a more secure scheme.", + "required_csp": "img-src http://c.com:* http://b.com:80", + "returned_csp": "img-src https://b.com", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "The same should hold for `ws` case.", + "required_csp": "img-src http://c.com:* ws://b.com:80", + "returned_csp": "img-src wss://b.com", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Unspecified ports must match if schemes match.", + "required_csp": "img-src http://c.com:* http://b.com", + "returned_csp": "img-src https://b.com", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Returned CSP should be subsumed if the port is specified.", + "required_csp": "img-src http://c.com:* http://b.com", + "returned_csp": "img-src http://b.com:80", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Returned CSP should be subsumed if the port is specified but the scheme is more secure.", + "required_csp": "img-src http://c.com:* http://b.com", + "returned_csp": "img-src https://b.com:443", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Returned CSP should be subsumed if the port is specified but is not default for a more secure scheme.", + "required_csp": "img-src http://c.com:* http://b.com", + "returned_csp": "img-src https://b.com:36", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Returned CSP should be subsumed if the ports match but schemes are not identical.", + "required_csp": "img-src http://c.com:* http://b.com:36", + "returned_csp": "img-src https://b.com:36", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Returned CSP should be subsumed if the ports match but schemes are not identical for `ws`.", + "required_csp": "img-src http://c.com:* ws://b.com:36", + "returned_csp": "img-src wss://b.com:36", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Wildcard port should match unspecified port.", + "required_csp": "img-src http://c.com:* ws://b.com:*", + "returned_csp": "img-src wss://b.com", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Wildcard port should match any specific port.", + "required_csp": "img-src http://c.com:* ws://b.com:*", + "returned_csp": "img-src wss://b.com:36", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Wildcard port should match a wildcard.", + "required_csp": "img-src http://c.com:* ws://b.com:*", + "returned_csp": "img-src wss://b.com:*", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Wildcard port should not be subsumed by a default port.", + "required_csp": "img-src http://c.com:* ws://b.com", + "returned_csp": "img-src ws://b.com:*", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Wildcard port should not be subsumed by a spcified port.", + "required_csp": "img-src http://c.com:* ws://b.com:80", + "returned_csp": "img-src ws://b.com:*", + "expected": IframeLoad.EXPECT_BLOCK }, + ]; + + tests.forEach(test => { + async_test(t => { + var url = generateUrlWithPolicies(Host.CROSS_ORIGIN, test.returned_csp); + assert_iframe_with_csp(t, url, test.required_csp, test.expected, test.name, null); + }, test.name); + }); + </script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-protocols.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-protocols.html new file mode 100644 index 0000000..cb4f686 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-host_sources-protocols.html
@@ -0,0 +1,66 @@ +<!DOCTYPE html> +<html> +<head> +<title>Embedded Enforcement: Subsumption Algorithm - Scheme parts in host source expressions.</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="support/testharness-helper.sub.js"></script> +</head> +<body> + <script> + var tests = [ + { "name": "`https` is more restrictive than `http`.", + "required_csp": "img-src http://c.com:* https://b.com", + "returned_csp": "img-src http://b.com", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "The reverse allows iframe be to be loaded.", + "required_csp": "img-src http://c.com:* http://b.com", + "returned_csp": "img-src https://b.com", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Matching `https` protocols.", + "required_csp": "img-src http://c.com:* https://b.com", + "returned_csp": "img-src https://b.com", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "`http:` should subsume all host source expressions with this protocol.", + "required_csp": "img-src http:", + "returned_csp": "img-src http://c.com:* https://b.com http://c.com", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "`http:` should subsume all host source expressions with `https:`.", + "required_csp": "img-src http:", + "returned_csp": "img-src https://c.com:* https://b.com http://c.com", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "`http:` does not subsume other protocols.", + "required_csp": "img-src http:", + "returned_csp": "img-src https://c.com:* wss://b.com http://c.com", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "If scheme source is present in returned csp, it must be specified in required csp too.", + "required_csp": "img-src https://c.com:* wss://b.com http://c.com", + "returned_csp": "img-src http:", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "`http:` subsumes other `http:` source expression.", + "required_csp": "img-src http:", + "returned_csp": "img-src http: https://c.com:* https://b.com http://c.com", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "`http:` subsumes other `https:` source expression and expressions with `http:`.", + "required_csp": "img-src http:", + "returned_csp": "img-src https: https://c.com:* http://b.com", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "All scheme sources must be subsumed.", + "required_csp": "img-src http: wss:", + "returned_csp": "img-src https: ws:", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "All scheme sources are subsumed by their stronger variants.", + "required_csp": "img-src http: wss:", + "returned_csp": "img-src https: wss:", + "expected": IframeLoad.EXPECT_LOAD }, + ]; + + tests.forEach(test => { + async_test(t => { + var url = generateUrlWithPolicies(Host.CROSS_ORIGIN, test.returned_csp); + assert_iframe_with_csp(t, url, test.required_csp, test.expected, test.name, null); + }, test.name); + }); + </script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-none.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-none.html new file mode 100644 index 0000000..98abe7d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-none.html
@@ -0,0 +1,113 @@ +<!DOCTYPE html> +<html> +<head> +<title>Embedded Enforcement: Subsumption Algorithm - 'none' keyword.</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="support/testharness-helper.sub.js"></script> +</head> +<body> + <script> + var tests = [ + { "name": "Empty required csp subsumes empty list of returned policies.", + "required_csp": "", + "returned_csp_1": "", + "returned_csp_2": null, + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Empty required csp subsumes any list of policies.", + "required_csp": "", + "returned_csp_1": "img-src http://example.com", + "returned_csp_2": null, + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Empty required csp subsumes a policy with `none`.", + "required_csp": "", + "returned_csp_1": "img-src 'none'", + "returned_csp_2": null, + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Required policy that allows `none` does not subsume empty list of policies.", + "required_csp": "img-src ", + "returned_csp_1": "", + "returned_csp_2": null, + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Required csp with effective `none` does not subsume a host source expression.", + "required_csp": "img-src ", + "returned_csp_1": "img-src http://example.com", + "returned_csp_2": null, + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Required csp with `none` does not subsume a host source expression.", + "required_csp": "img-src 'none'", + "returned_csp_1": "img-src http://example.com", + "returned_csp_2": null, + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Required csp with effective `none` does not subsume `none` of another directive.", + "required_csp": "img-src ", + "returned_csp_1": "frame-src 'none'", + "returned_csp_2": null, + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Required csp with `none` does not subsume `none` of another directive.", + "required_csp": "img-src 'none'", + "returned_csp_1": "frame-src 'none'", + "returned_csp_2": null, + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Required csp with `none` does not subsume `none` of different directives.", + "required_csp": "img-src ", + "returned_csp_1": "img-src http://*.one.com", + "returned_csp_2": "frame-src https://two.com", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Required csp with `none` subsumes effective list of `none`.", + "required_csp": "img-src ", + "returned_csp_1": "img-src http://*.one.com", + "returned_csp_2": "img-src https://two.com", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Required csp with `none` subsumes effective list of `none` despite other keywords.", + "required_csp": "img-src 'none'", + "returned_csp_1": "img-src http://*.one.com", + "returned_csp_2": "img-src 'self'", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Source list with exprssions other than `none` make `none` ineffective.", + "required_csp": "img-src http://example.com 'none'", + "returned_csp_1": "img-src http://example.com", + "returned_csp_2": null, + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Returned csp with `none` is subsumed by any required csp.", + "required_csp": "img-src http://example.com", + "returned_csp_1": "img-src 'none'", + "returned_csp_2": null, + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Returned csp with effective `none` is subsumed by any required csp.", + "required_csp": "img-src http://example.com", + "returned_csp_1": "img-src http://example.com", + "returned_csp_2": "img-src http://non-example.com", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Both required and returned csp are `none`.", + "required_csp": "img-src 'none'", + "returned_csp_1": "img-src 'none'", + "returned_csp_2": "img-src http://non-example.com", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Both required and returned csp are `none` for only one directive.", + "required_csp": "default-src 'none'", + "returned_csp_1": "img-src 'none'", + "returned_csp_2": "script-src 'unsafe-inline'", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Both required and returned csp are empty.", + "required_csp": "img-src ", + "returned_csp_1": "img-src ", + "returned_csp_2": null, + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Both required and returned csp are effectively 'none'.", + "required_csp": "img-src ", + "returned_csp_1": "img-src http://a.com", + "returned_csp_2": "img-src http://b.com", + "expected": IframeLoad.EXPECT_LOAD }, + ]; + tests.forEach(test => { + async_test(t => { + var url = generateUrlWithPolicies(Host.CROSS_ORIGIN, test.returned_csp_1); + if (test.returned_csp_2) + url.searchParams.append("policy2", test.returned_csp_2); + assert_iframe_with_csp(t, url, test.required_csp, test.expected, test.name, null); + }, test.name); + }); + </script> +</body> +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-self.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-self.html new file mode 100644 index 0000000..9d08d24 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-self.html
@@ -0,0 +1,49 @@ +<!DOCTYPE html> +<html> +<head> +<title>Embedded Enforcement: Subsumption Algorithm - 'self' keyword.</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="support/testharness-helper.sub.js"></script> +</head> +<body> + <script> + var tests = [ + { "name": "'self' keywords should match.", + "required_csp": "img-src 'self' http://b.com:*", + "returned_csp": "img-src 'self' http://b.com:*", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Returned CSP does not have to specify 'self'.", + "required_csp": "img-src 'self' http://b.com:*", + "returned_csp": "img-src http://b.com:*", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Returned CSP must not allow 'self' if required CSP does not.", + "required_csp": "img-src http://b.com:*", + "returned_csp": "img-src 'self' http://b.com:*", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Returned 'self' should match to an origin's url.", + "required_csp": "img-src 'self' http://b.com:*", + "returned_csp": "img-src " + getCrossOrigin(), + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Required 'self' should match to a origin's url.", + "required_csp": "img-src " + getCrossOrigin() + " http://b.com:*", + "returned_csp": "img-src 'self'", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Required 'self' should subsume a more secure version of origin's url.", + "required_csp": "img-src 'self' http://b.com:*", + "returned_csp": "img-src " + getSecureCrossOrigin(), + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Returned 'self' should not be subsumed by a more secure version of origin's url.", + "required_csp": "img-src " + getSecureCrossOrigin() + " http://b.com:*", + "returned_csp": "img-src 'self'", + "expected": IframeLoad.EXPECT_BLOCK }, + ]; + tests.forEach(test => { + async_test(t => { + var url = generateUrlWithPolicies(Host.CROSS_ORIGIN, test.returned_csp); + assert_iframe_with_csp(t, url, test.required_csp, test.expected, test.name, null); + }, test.name); + }); + </script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-strict_dynamic.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-strict_dynamic.html new file mode 100644 index 0000000..b3e0ea15 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-strict_dynamic.html
@@ -0,0 +1,68 @@ +<!DOCTYPE html> +<html> +<head> +<title>Embedded Enforcement: Subsumption Algorithm - 'strict-dynamic' keyword.</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="support/testharness-helper.sub.js"></script> +</head> +<body> + <script> + var tests = [ + { "name": "'strict-dynamic' is ineffective for `style-src`.", + "required_csp": "style-src http://example1.com/foo/ 'self'", + "returned_csp_1": "style-src 'strict-dynamic' http://example1.com/foo/bar.html", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "'strict-dynamic' is ineffective for `img-src`.", + "required_csp": "img-src http://example1.com/foo/ 'self'", + "returned_csp_1": "img-src 'strict-dynamic' http://example1.com/foo/bar.html", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "'strict-dynamic' is ineffective for `frame-src`.", + "required_csp": "frame-src http://example1.com/foo/ 'self'", + "returned_csp_1": "frame-src 'strict-dynamic' http://example1.com/foo/bar.html", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "'strict-dynamic' is ineffective for `child-src`.", + "required_csp": "child-src http://example1.com/foo/ 'self'", + "returned_csp_1": "child-src 'strict-dynamic' http://example1.com/foo/bar.html", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "'strict-dynamic' is effective only for `script-src`.", + "required_csp": "script-src http://example1.com/foo/ 'self'", + "returned_csp_1": "script-src 'strict-dynamic' http://example1.com/foo/bar.html", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "'strict-dynamic' is proper handled for finding effective policy.", + "required_csp": "script-src http://example1.com/foo/ 'self'", + "returned_csp_1": "script-src 'strict-dynamic' http://example1.com/foo/bar.html", + "returned_csp_2": "script-src 'strict-dynamic' 'nonce-abc'", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "'strict-dynamic' makes host source expressions ineffective.", + "required_csp": "script-src 'strict-dynamic' 'nonce-abc'", + "returned_csp_1": "script-src http://example.com 'strict-dynamic' 'nonce-abc'", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "'strict-dynamic' makes scheme source expressions ineffective.", + "required_csp": "script-src 'strict-dynamic' 'nonce-abc'", + "returned_csp_1": "script-src http: 'strict-dynamic' 'nonce-abc'", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "'strict-dynamic' makes 'self' ineffective.", + "required_csp": "script-src 'strict-dynamic' 'nonce-abc'", + "returned_csp_1": "script-src 'self' 'strict-dynamic' 'nonce-abc'", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "'strict-dynamic' makes 'unsafe-inline' ineffective.", + "required_csp": "script-src 'strict-dynamic' 'nonce-abc'", + "returned_csp_1": "script-src 'unsafe-inline' 'strict-dynamic' 'nonce-abc'", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "'strict-dynamic' has to be allowed by required csp if it is present in returned csp.", + "required_csp": "script-src 'nonce-abc'", + "returned_csp_1": "script-src 'strict-dynamic' 'nonce-abc'", + "expected": IframeLoad.EXPECT_BLOCK }, + ]; + tests.forEach(test => { + async_test(t => { + var url = generateUrlWithPolicies(Host.CROSS_ORIGIN, test.returned_csp_1); + if (test.returned_csp_2) + url.searchParams.append("policy2", test.returned_csp_2); + assert_iframe_with_csp(t, url, test.required_csp, test.expected, test.name, null); + }, test.name); + }); + </script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-unsafe_eval.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-unsafe_eval.html new file mode 100644 index 0000000..e111f152 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-unsafe_eval.html
@@ -0,0 +1,54 @@ +<!DOCTYPE html> +<html> +<head> +<title>Embedded Enforcement: Subsumption Algorithm - 'unsafe-eval' keyword.</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="support/testharness-helper.sub.js"></script> +</head> +<body> + <script> + var tests = [ + { "name": "'unsafe-eval' is properly subsumed.", + "required_csp": "style-src http://example1.com/foo/ 'self' 'unsafe-hashed-attributes' 'strict-dynamic' 'unsafe-eval'", + "returned_csp_1": "style-src http://example1.com/foo/bar.html 'unsafe-eval'", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "No other keyword has the same effect as 'unsafe-eval'.", + "required_csp": "style-src http://example1.com/foo/ 'self' 'unsafe-eval'", + "returned_csp_1": "style-src http://example1.com/foo/ 'unsafe-inline'", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Other expressions have to be subsumed.", + "required_csp": "style-src http://example1.com/foo/ 'self' 'unsafe-eval'", + "returned_csp_1": "style-src http://example1.com/foo/ 'unsafe-inline' 'unsafe-eval'", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Effective policy is properly found.", + "required_csp": "style-src http://example1.com/foo/ 'self' 'unsafe-eval'", + "returned_csp_1": "style-src http://example1.com/foo/ 'unsafe-hashed-attributes' 'unsafe-eval'", + "returned_csp_2": "style-src http://example1.com/foo/ 'self' 'unsafe-eval'", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Required csp must allow 'unsafe-eval'.", + "required_csp": "style-src http://example1.com/foo/ 'self'", + "returned_csp_1": "style-src http://example1.com/foo/ 'self' 'unsafe-eval'", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Effective policy is properly found where 'unsafe-eval' is not subsumed.", + "required_csp": "style-src http://example1.com/foo/ 'self'", + "returned_csp_1": "style-src 'unsafe-hashed-attributes' 'unsafe-eval'", + "returned_csp_2": "style-src 'unsafe-eval' 'unsafe-inline'", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Effective policy is properly found where 'unsafe-eval' is not part of it.", + "required_csp": "style-src http://example1.com/foo/ 'self'", + "returned_csp_1": "style-src 'unsafe-hashed-attributes' 'self'", + "returned_csp_2": "style-src 'unsafe-eval' 'self'", + "expected": IframeLoad.EXPECT_LOAD }, + ]; + tests.forEach(test => { + async_test(t => { + var url = generateUrlWithPolicies(Host.CROSS_ORIGIN, test.returned_csp_1); + if (test.returned_csp_2) + url.searchParams.append("policy2", test.returned_csp_2); + assert_iframe_with_csp(t, url, test.required_csp, test.expected, test.name, null); + }, test.name); + }); + </script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-unsafe_hashed_attributes.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-unsafe_hashed_attributes.html new file mode 100644 index 0000000..889210c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-unsafe_hashed_attributes.html
@@ -0,0 +1,54 @@ +<!DOCTYPE html> +<html> +<head> +<title>Embedded Enforcement: Subsumption Algorithm - 'unsafe-hashed-attributes' keyword.</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="support/testharness-helper.sub.js"></script> +</head> +<body> + <script> + var tests = [ + { "name": "'unsafe-hashed-attributes' is properly subsumed.", + "required_csp": "style-src http://example1.com/foo/ 'self' 'unsafe-eval' 'strict-dynamic' 'unsafe-hashed-attributes'", + "returned_csp_1": "style-src http://example1.com/foo/bar.html 'unsafe-hashed-attributes'", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "No other keyword has the same effect as 'unsafe-hashed-attributes'.", + "required_csp": "style-src http://example1.com/foo/ 'self' 'unsafe-hashed-attributes'", + "returned_csp_1": "style-src http://example1.com/foo/ 'unsafe-inline'", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Other expressions have to be subsumed.", + "required_csp": "style-src http://example1.com/foo/ 'self' 'unsafe-hashed-attributes'", + "returned_csp_1": "style-src http://example1.com/foo/ 'unsafe-inline' 'unsafe-hashed-attributes'", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Effective policy is properly found.", + "required_csp": "style-src http://example1.com/foo/ 'self' 'unsafe-hashed-attributes'", + "returned_csp_1": "style-src http://example1.com/foo/ 'unsafe-eval' 'unsafe-hashed-attributes'", + "returned_csp_2": "style-src http://example1.com/foo/ 'self' 'unsafe-hashed-attributes'", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Required csp must allow 'unsafe-hashed-attributes'.", + "required_csp": "style-src http://example1.com/foo/ 'self'", + "returned_csp_1": "style-src http://example1.com/foo/ 'self' 'unsafe-hashed-attributes'", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Effective policy is properly found where 'unsafe-hashed-attributes' is not subsumed.", + "required_csp": "style-src http://example1.com/foo/ 'self'", + "returned_csp_1": "style-src 'unsafe-eval' 'unsafe-hashed-attributes'", + "returned_csp_2": "style-src 'unsafe-hashed-attributes' 'unsafe-inline'", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Effective policy is properly found where 'unsafe-hashed-attributes' is not part of it.", + "required_csp": "style-src http://example1.com/foo/ 'self'", + "returned_csp_1": "style-src 'unsafe-eval' 'self'", + "returned_csp_2": "style-src 'unsafe-hashed-attributes' 'self'", + "expected": IframeLoad.EXPECT_LOAD }, + ]; + tests.forEach(test => { + async_test(t => { + var url = generateUrlWithPolicies(Host.CROSS_ORIGIN, test.returned_csp_1); + if (test.returned_csp_2) + url.searchParams.append("policy2", test.returned_csp_2); + assert_iframe_with_csp(t, url, test.required_csp, test.expected, test.name, null); + }, test.name); + }); + </script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-unsafe_inline.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-unsafe_inline.html new file mode 100644 index 0000000..96f0e386 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/subsumption_algorithm-unsafe_inline.html
@@ -0,0 +1,103 @@ +<!DOCTYPE html> +<html> +<head> +<title>Embedded Enforcement: Subsumption Algorithm - 'unsafe-inline' keyword.</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="support/testharness-helper.sub.js"></script> +</head> +<body> + <script> + var tests = [ + { "name": "'strict-dynamic' is ineffective for `style-src`.", + "required_csp": "style-src http://example1.com/foo/ 'self' 'unsafe-inline' 'strict-dynamic'", + "returned_csp_1": "style-src 'unsafe-inline' http://example1.com/foo/bar.html", + "returned_csp_2": null, + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "'unsafe-inline' is properly subsumed in `style-src`.", + "required_csp": "style-src http://example1.com/foo/ 'self' 'unsafe-inline'", + "returned_csp_1": "style-src http://example1.com/foo/ 'unsafe-inline'", + "returned_csp_2": null, + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "'unsafe-inline' is only ineffective if the effective returned csp has nonces in `style-src`.", + "required_csp": "style-src http://example1.com/foo/ 'self' 'unsafe-inline'", + "returned_csp_1": "style-src 'unsafe-inline' 'nonce-yay'", + "returned_csp_2": "style-src 'unsafe-inline'", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "'unsafe-inline' is only ineffective if the effective returned csp has hashes in `style-src`.", + "required_csp": "style-src http://example1.com/foo/ 'self' 'unsafe-inline'", + "returned_csp_1": "style-src 'unsafe-inline' 'sha256-abc123'", + "returned_csp_2": "style-src 'unsafe-inline'", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Returned csp does not have to allow 'unsafe-inline' in `style-src` to be subsumed.", + "required_csp": "style-src http://example1.com/foo/ 'self' 'unsafe-inline'", + "returned_csp_1": "style-src 'self'", + "returned_csp_2": null, + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "'unsafe-inline' does not matter if returned csp is effectively `none`.", + "required_csp": "style-src 'unsafe-inline'", + "returned_csp_1": "style-src ", + "returned_csp_2": null, + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "'unsafe-inline' is properly subsumed in `script-src`.", + "required_csp": "script-src http://example1.com/foo/ 'self' 'unsafe-inline'", + "returned_csp_1": "script-src http://example1.com/foo/ 'unsafe-inline'", + "returned_csp_2": null, + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Returned csp only loads 'unsafe-inline' scripts with 'nonce-abc'.", + "required_csp": "script-src http://example1.com/foo/ 'self' 'unsafe-inline'", + "returned_csp_1": "script-src 'nonce-abc'", + "returned_csp_2": "script-src 'unsafe-inline'", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "'unsafe-inline' is ineffective when nonces are present.", + "required_csp": "script-src http://example1.com/foo/ 'self' 'unsafe-inline'", + "returned_csp_1": "script-src 'unsafe-inline' 'nonce-abc'", + "returned_csp_2": "script-src 'unsafe-inline'", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "'unsafe-inline' is only ineffective if the effective returned csp has hashes in `script-src`.", + "required_csp": "script-src http://example1.com/foo/ 'self' 'unsafe-inline'", + "returned_csp_1": "script-src 'unsafe-inline' 'sha256-abc123' 'nonce-abc'", + "returned_csp_2": "script-src 'unsafe-inline'", + "expected": IframeLoad.EXPECT_LOAD }, + { "name": "Required csp allows `strict-dynamic`, but retuned csp does.", + "required_csp": "script-src http://example1.com/foo/ 'unsafe-inline' 'strict-dynamic'", + "returned_csp_1": "script-src 'unsafe-inline' http://example1.com/foo/bar.html", + "returned_csp_2": null, + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Required csp does not allow `unsafe-inline`, but retuned csp does.", + "required_csp": "style-src http://example1.com/foo/ 'self'", + "returned_csp_1": "style-src 'unsafe-inline'", + "returned_csp_2": null, + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Returned csp whitelists a nonce.", + "required_csp": "style-src http://example1.com/foo/ 'self' 'unsafe-inline'", + "returned_csp_1": "style-src 'unsafe-inline' 'nonce-abc'", + "returned_csp_2": "style-src 'nonce-abc'", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Returned csp whitelists a hash.", + "required_csp": "style-src http://example1.com/foo/ 'self' 'unsafe-inline'", + "returned_csp_1": "style-src 'unsafe-inline' 'sha256-abc123'", + "returned_csp_2": "style-src 'sha256-abc123'", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Effective returned csp allows 'unsafe-inline'", + "required_csp": "style-src http://example1.com/foo/ 'self'", + "returned_csp_1": "style-src 'unsafe-inline' https://example.test/", + "returned_csp_2": "style-src 'unsafe-inline'", + "expected": IframeLoad.EXPECT_BLOCK }, + { "name": "Effective returned csp does not allow 'sha512-321cba' hash.", + "required_csp": "style-src http://example1.com/foo/ 'self' 'unsafe-inline' 'sha512-321cba'", + "returned_csp_1": "style-src http://example1.com/foo/ 'unsafe-inline' 'nonce-yay'", + "returned_csp_2": "style-src http://example1.com/foo/ 'unsafe-inline' 'sha512-321cba'", + "expected": IframeLoad.EXPECT_LOAD }, + ]; + tests.forEach(test => { + async_test(t => { + var url = generateUrlWithPolicies(Host.CROSS_ORIGIN, test.returned_csp_1); + if (test.returned_csp_2) + url.searchParams.append("policy2", test.returned_csp_2); + assert_iframe_with_csp(t, url, test.required_csp, test.expected, test.name, null); + }, test.name); + }); + </script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/support/echo-allow-csp-from.py b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/support/echo-allow-csp-from.py new file mode 100644 index 0000000..fa1064a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/support/echo-allow-csp-from.py
@@ -0,0 +1,37 @@ +import json +def main(request, response): + headers = [("Content-Type", "text/html")] + if "allow_csp_from" in request.GET: + headers.append(("Allow-CSP-From", request.GET["allow_csp_from"])) + message = request.GET["id"] + return headers, ''' +<!DOCTYPE html> +<html> +<head> + <title>This page enforces embedder's policies</title> + <script nonce="123"> + document.addEventListener("securitypolicyviolation", function(e) { + var response = {}; + response["id"] = "%s"; + response["securitypolicyviolation"] = true; + response["blockedURI"] = e.blockedURI; + response["lineNumber"] = e.lineNumber; + window.top.postMessage(response, '*'); + }); + </script> +</head> +<body> + <style> + body { + background-color: maroon; + } + </style> + <script nonce="abc"> + var response = {}; + response["id"] = "%s"; + response["loaded"] = true; + window.top.postMessage(response, '*'); + </script> +</body> +</html> +''' % (message, message)
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/support/echo-embedding-csp.py b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/support/echo-embedding-csp.py new file mode 100644 index 0000000..cdf02f2b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/support/echo-embedding-csp.py
@@ -0,0 +1,15 @@ +import json +def main(request, response): + header = request.headers.get("Embedding-CSP"); + message = {} + message['embedding_csp'] = header if header else None + return [("Content-Type", "text/html"), ("Allow-CSP-From", "*")], ''' +<!DOCTYPE html> +<html> +<head> + <script> + window.parent.postMessage({0}, '*'); + </script> +</head> +</html> +'''.format(json.dumps(message))
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/support/echo-policy-multiple.py b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/support/echo-policy-multiple.py new file mode 100644 index 0000000..8100086 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/support/echo-policy-multiple.py
@@ -0,0 +1,25 @@ +def main(request, response): + headers = [("Content-Type", "text/html")] + if "policy" in request.GET: + headers.append(("Content-Security-Policy", request.GET["policy"])) + if "policy2" in request.GET: + headers.append(("Content-Security-Policy", request.GET["policy2"])) + if "policy3" in request.GET: + headers.append(("Content-Security-Policy", request.GET["policy3"])) + message = request.GET["id"] + return headers, ''' +<!DOCTYPE html> +<html> +<head> + <title>This page sets given CSP upon itself.</title> +</head> +<body> + <script nonce="abc"> + var response = {}; + response["id"] = "%s"; + response["loaded"] = true; + window.top.postMessage(response, '*'); + </script> +</body> +</html> +''' % (message)
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/support/testharness-helper.sub.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/support/testharness-helper.sub.js new file mode 100644 index 0000000..c5f07e9 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/embedded-enforcement/support/testharness-helper.sub.js
@@ -0,0 +1,136 @@ +const Host = { + SAME_ORIGIN: "same-origin", + CROSS_ORIGIN: "cross-origin", +}; + +const PolicyHeader = { + CSP: "echo-policy.py?policy=", + CSP_MULTIPLE: "echo-policy-multiple.py", + EMBEDDING_CSP: "echo-embedding-csp.py", + ALLOW_CSP_FROM: "echo-allow-csp-from.py", +}; + +const IframeLoad = { + EXPECT_BLOCK: true, + EXPECT_LOAD: false, +}; + +function getOrigin() { + var url = new URL("http://{{host}}:{{ports[http][0]}}/"); + return url.toString(); +} + +function getCrossOrigin() { + var url = new URL("http://{{domains[天気の良い日]}}:{{ports[http][0]}}/"); + return url.toString(); +} + +function getSecureCrossOrigin() { + // Since wptserve spins up servers on non-default port, 'self' matches + // http://[host]:[specified-port] and https://[host]:[specified-port], but not + // https://[host]:[https-port]. So, we use the http port for this https origin + // in order to verify that a secure variant of a non-secure URL matches 'self'. + var url = new URL("https://{{domains[天気の良い日]}}:{{ports[http][0]}}"); + return url.toString(); +} + +function generateURL(host, path) { + var url = new URL("http://{{host}}:{{ports[http][0]}}/content-security-policy/embedded-enforcement/support/"); + url.hostname = host == Host.SAME_ORIGIN ? "{{host}}" : "{{domains[天気の良い日]}}"; + url.pathname += path; + + return url; +} + +function generateURLString(host, path) { + return generateURL(host, path).toString(); +} + +function generateRedirect(host, target) { + var url = new URL("http://{{host}}:{{ports[http][0]}}/common/redirect.py?location=" + + encodeURIComponent(target)); + url.hostname = host == Host.SAME_ORIGIN ? "{{host}}" : "{{domains[天気の良い日]}}"; + + return url.toString(); +} + +function generateUrlWithPolicies(host, policy) { + var url = generateURL(host, PolicyHeader.CSP_MULTIPLE); + if (policy != null) + url.searchParams.append("policy", policy); + return url; +} + +function generateUrlWithAllowCSPFrom(host, allowCspFrom) { + var url = generateURL(host, PolicyHeader.ALLOW_CSP_FROM); + if (allowCspFrom != null) + url.searchParams.append("allow_csp_from", allowCspFrom); + return url; +} + +function assert_embedding_csp(t, url, csp, expected) { + var i = document.createElement('iframe'); + if(csp) + i.csp = csp; + i.src = url; + + window.addEventListener('message', t.step_func(e => { + if (e.source != i.contentWindow || !('embedding_csp' in e.data)) + return; + assert_equals(expected, e.data['embedding_csp']); + t.done(); + })); + + document.body.appendChild(i); +} + +function assert_iframe_with_csp(t, url, csp, shouldBlock, urlId, blockedURI) { + var i = document.createElement('iframe'); + url.searchParams.append("id", urlId); + i.src = url.toString(); + if (csp != null) + i.csp = csp; + + var loaded = {}; + window.addEventListener("message", function (e) { + if (e.source != i.contentWindow) + return; + if (e.data["loaded"]) + loaded[e.data["id"]] = true; + }); + + if (shouldBlock) { + // Assert iframe does not load and is inaccessible. + window.onmessage = function (e) { + if (e.source != i.contentWindow) + return; + t.unreached_func('No message should be sent from the frame.'); + } + i.onload = t.step_func(function () { + // Delay the check until after the postMessage has a chance to execute. + setTimeout(t.step_func_done(function () { + assert_equals(loaded[urlId], undefined); + }), 1); + assert_throws("SecurityError", () => { + var x = i.contentWindow.location.href; + }); + }); + } else if (blockedURI) { + // Assert iframe loads with an expected violation. + window.addEventListener('message', t.step_func(e => { + if (e.source != i.contentWindow) + return; + assert_equals(e.data["blockedURI"], blockedURI); + t.done(); + })); + } else { + // Assert iframe loads. + i.onload = t.step_func(function () { + // Delay the check until after the postMessage has a chance to execute. + setTimeout(t.step_func_done(function () { + assert_true(loaded[urlId]); + }), 1); + }); + } + document.body.appendChild(i); +}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/font-src/font-blacklisted-ref.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/font-src/font-blacklisted-ref.html new file mode 100644 index 0000000..fdfbdd9 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/font-src/font-blacklisted-ref.html
@@ -0,0 +1,6 @@ +<!doctype html> +<meta charset=utf-8> +<title>csp font-src: blacklisted</title> +<link href="fonts.css" rel="stylesheet" type="text/css"> + +<p>The test passes if the line above are boxes in the test and glyphs in the reference.</p> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/font-src/font-blacklisted.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/font-src/font-blacklisted.html new file mode 100644 index 0000000..a430a41 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/font-src/font-blacklisted.html
@@ -0,0 +1,9 @@ +<!doctype html> +<meta charset=utf-8> +<meta http-equiv="Content-Security-Policy" content="font-src 'none'"> +<title>csp font-src: blacklisted</title> +<link rel="mismatch" href="font-blacklisted-ref.html"> +<link rel="help" href="https://www.w3.org/TR/CSP2/#directive-font-src"> +<link href="fonts.css" rel="stylesheet" type="text/css"> + +<p>The test passes if the line above are boxes in the test and glyphs in the reference.</p> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/font-src/font-whitelisted-ref.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/font-src/font-whitelisted-ref.html new file mode 100644 index 0000000..25ad3bd --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/font-src/font-whitelisted-ref.html
@@ -0,0 +1,6 @@ +<!doctype html> +<meta charset=utf-8> +<title>csp font-src: whitelisted</title> +<link href="fonts.css" rel="stylesheet" type="text/css"> + +<p>The test passes if the line above shows the same glyphs in the reference.</p> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/font-src/font-whitelisted.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/font-src/font-whitelisted.html new file mode 100644 index 0000000..f3558f76 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/font-src/font-whitelisted.html
@@ -0,0 +1,9 @@ +<!doctype html> +<meta charset=utf-8> +<meta http-equiv="Content-Security-Policy" content="font-src 'self'"> +<title>csp font-src: whitelisted</title> +<link rel="match" href="font-whitelisted-ref.html"> +<link rel="help" href="https://www.w3.org/TR/CSP2/#directive-font-src"> +<link href="fonts.css" rel="stylesheet" type="text/css"> + +<p>The test passes if the line above shows the same glyphs in the reference.</p> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/font-src/fonts.css b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/font-src/fonts.css new file mode 100644 index 0000000..30dd02c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/font-src/fonts.css
@@ -0,0 +1,8 @@ +@font-face { + font-family: 'Halflings'; + src: url('/tools/runner/fonts/glyphicons-halflings-regular.woff') format('woff'); +} + +body { + font-family: 'Halflings', Fallback, sans-serif; +} \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/deep-allows-none.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/deep-allows-none.sub.html new file mode 100644 index 0000000..1926007 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/deep-allows-none.sub.html
@@ -0,0 +1,37 @@ +<!DOCTYPE html> +<html> +<head> + <title>single-frame-self-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["PASS"]'></script> + <!-- enforcing policy: +connect-src 'self' 'none'; script-src 'self' 'unsafe-inline'; frame-src 'self'; +--> + <script> + function onMessage(event) { + if(event.data == "start test") { + startTest(); + } else { + alert_assert(event.data); + } + } + + window.addEventListener( + "message", + onMessage, + false); + + function startTest() { + window.frames['frame1'].frames['deepframe'].postMessage("hello deep frame", "*"); + } + function done() { alert_assert("PASS"); } + setTimeout(done(), 1); + </script> +</head> +<body> + <iframe src='http://{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-self.sub.html?subframe=http://{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/reporting-frame-allows-none.html' name="frame1"></iframe> + <div id="log"></div> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-self.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-self.sub.html new file mode 100644 index 0000000..6b9c91c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-self.sub.html
@@ -0,0 +1,21 @@ +<!DOCTYPE html> +<html> +<body> + <p>Reporting Frame...</p> + <script> + function onMessage(event) { + var p = document.createElement(p); + p.textContent = event.data; + document.body.appendChild(p); + window.parent.postMessage(event.data, "*"); + } + + window.addEventListener( + "message", + onMessage, + false + ); + </script> + <iframe src='{{GET[subframe]}}' name="deepframe"></iframe> +</body> +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-self.sub.html.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-self.sub.html.headers new file mode 100644 index 0000000..f0eb936 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-self.sub.html.headers
@@ -0,0 +1,5 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Content-Security-Policy: frame-ancestors 'self'
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-star.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-star.sub.html new file mode 100644 index 0000000..d51e0d53 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-star.sub.html
@@ -0,0 +1,20 @@ +<!DOCTYPE html> +<html> +<body> + <p>Reporting Frame...</p> + <script> + function onMessage(event) { + var p = document.createElement(p); + p.textContent = event.data; + document.body.appendChild(p); + window.parent.postMessage(event.data, "*"); + } + window.addEventListener( + "message", + onMessage, + false + ); + </script> + <iframe src='{{GET[subframe]}}' name="deepframe"></iframe> +</body> +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-star.sub.html.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-star.sub.html.headers new file mode 100644 index 0000000..734aa22 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-star.sub.html.headers
@@ -0,0 +1,5 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Content-Security-Policy: frame-ancestors *
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/multiple-frames-meta-ignored.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/multiple-frames-meta-ignored.sub.html new file mode 100644 index 0000000..47bb024 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/multiple-frames-meta-ignored.sub.html
@@ -0,0 +1,41 @@ +<!DOCTYPE html> +<html> +<head> + <title>multiple-frames-self-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["hello frame1","hello frame2"]'></script> + <!-- enforcing policy: +connect-src 'self' 'none'; script-src 'self' 'unsafe-inline'; frame-src 'self'; +--> + <script> + var startTestCtr = 0; + function onMessage(event) { + if(event.data == "start test") { + startTestCtr++; + if(startTestCtr == 2) { + startTest(); + } + } else { + alert_assert(event.data); + } + } + + window.addEventListener( + "message", + onMessage, + false); + + function startTest() { + window.frames['frame1'].postMessage("hello frame1", "*"); + window.frames['frame2'].postMessage("hello frame2", "*"); + } + </script> +</head> +<body> + <iframe src='http://{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/reporting-frame-allows-self.html' name="frame1"></iframe> + <iframe src='http://{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/reporting-frame-allows-none-meta.html' name="frame2"></iframe> + <div id="log"></div> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/multiple-frames-one-blocked.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/multiple-frames-one-blocked.sub.html new file mode 100644 index 0000000..3857a173 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/multiple-frames-one-blocked.sub.html
@@ -0,0 +1,37 @@ +<!DOCTYPE html> +<html> +<head> + <title>multiple-frames-self-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["hello frame2"]'></script> + <!-- enforcing policy: +connect-src 'self' 'none'; script-src 'self' 'unsafe-inline'; frame-src 'self'; +--> + <script> + function onMessage(event) { + if(event.data == "start test") { + startTest(); + } else { + alert_assert(event.data); + } + } + + window.addEventListener( + "message", + onMessage, + false); + + function startTest() { + window.frames['frame1'].postMessage("hello frame1", "*"); + window.frames['frame2'].postMessage("hello frame2", "*"); + } + </script> +</head> +<body> + <iframe src='http://{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/reporting-frame-allows-none.html' name="frame1"></iframe> + <iframe src='http://{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/reporting-frame-allows-self.html' name="frame2"></iframe> + <div id="log"></div> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/multiple-frames-self-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/multiple-frames-self-allowed.sub.html new file mode 100644 index 0000000..485b6eb --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/multiple-frames-self-allowed.sub.html
@@ -0,0 +1,39 @@ +<!DOCTYPE html> +<html> +<head> + <title>multiple-frames-self-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["hello frame1","hello frame2"]'></script> + <!-- enforcing policy: +connect-src 'self' 'none'; script-src 'self' 'unsafe-inline'; frame-src 'self'; +--> + <script> + var startTestCtr = 0; + function onMessage(event) { + if(event.data == "start test") { + startTestCtr++; + if(startTestCtr == 2) { + startTest(); + } + } else { + alert_assert(event.data); + } + } + window.addEventListener( + "message", + onMessage, + false); + function startTest() { + window.frames['frame1'].postMessage("hello frame1", "*"); + window.frames['frame2'].postMessage("hello frame2", "*"); + } + </script> +</head> +<body> + <iframe src='http://{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/reporting-frame-allows-self.html' name="frame1"></iframe> + <iframe src='http://{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/reporting-frame-allows-self.html' name="frame2"></iframe> + <div id="log"></div> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/nested-traversing-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/nested-traversing-allowed.sub.html new file mode 100644 index 0000000..a49049d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/nested-traversing-allowed.sub.html
@@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> +<head> + <title>single-frame-self-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["hello deep frame"]'></script> + <!-- enforcing policy: +connect-src 'self' 'none'; script-src 'self' 'unsafe-inline'; frame-src 'self'; +--> + <script> + function onMessage(event) { + if(event.data == "start test") { + startTest(); + } else { + alert_assert(event.data); + } + } + window.addEventListener( + "message", + onMessage, + false); + function startTest() { + window.frames['frame1'].frames['deepframe'].postMessage("hello deep frame", "*"); + } + </script> +</head> +<body> + <iframe src='http://{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-self.sub.html?subframe=http://{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/reporting-frame-allows-self.html' name="frame1"></iframe> + <div id="log"></div> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/nested-traversing-banned-top-is-self.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/nested-traversing-banned-top-is-self.sub.html new file mode 100644 index 0000000..ced262fd --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/nested-traversing-banned-top-is-self.sub.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html> +<head> + <title>single-frame-self-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["PASS"]'></script> + <!-- enforcing policy: +connect-src 'self' 'none'; script-src 'self' 'unsafe-inline'; frame-src 'self'; +--> + <script> + function onMessage(event) { + if(event.data == "start test") { + startTest(); + } else { + alert_assert(event.data); + } + } + window.addEventListener( + "message", + onMessage, + false); + function startTest() { + window.frames['frame1'].frames['deepframe'].postMessage("hello deep frame", "*"); + } + function done() { alert_assert("PASS"); } + setTimeout(done(), 1); + </script> +</head> +<body> + <iframe src='http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-star.sub.html?subframe=http://{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/reporting-frame-allows-self.html' name="frame1"></iframe> + <div id="log"></div> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/nested-traversing-banned.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/nested-traversing-banned.sub.html new file mode 100644 index 0000000..e58f0ba --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/nested-traversing-banned.sub.html
@@ -0,0 +1,37 @@ +<!DOCTYPE html> +<html> +<head> + <title>single-frame-self-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["PASS"]'></script> + <!-- enforcing policy: +connect-src 'self' 'none'; script-src 'self' 'unsafe-inline'; frame-src 'self'; +--> + <script> + function onMessage(event) { + if(event.data == "start test") { + startTest(); + } else { + alert_assert(event.data); + } + } + + window.addEventListener( + "message", + onMessage, + false); + + function startTest() { + window.frames['frame1'].frames['deepframe'].postMessage("hello deep frame", "*"); + } + function done() { alert_assert("PASS"); } + setTimeout(done(), 1); + </script> +</head> +<body> + <iframe src='http://{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/intermediate-reporting-frame-allows-self.sub.html?subframe=http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/reporting-frame-allows-self.html' name="frame1"></iframe> + <div id="log"></div> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/reporting-frame-allows-none-meta.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/reporting-frame-allows-none-meta.html new file mode 100644 index 0000000..c0d079f --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/reporting-frame-allows-none-meta.html
@@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> +<head> + <meta http-equiv="Content-Security-Policy" content="frame-ancestors 'none'"> +</head> +<body> + <p>Reporting Frame...</p> + <script> + function onMessage(event) { + var p = document.createElement(p); + p.textContent = event.data; + document.body.appendChild(p); + window.parent.postMessage(event.data, "*"); + } + window.addEventListener( + "message", + onMessage, + false + ); + window.parent.postMessage("start test", "*"); + </script> +</body> +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/reporting-frame-allows-none.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/reporting-frame-allows-none.html new file mode 100644 index 0000000..e38d99a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/reporting-frame-allows-none.html
@@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> +<body> + <p>Reporting Frame...</p> + <script> + function onMessage(event) { + var p = document.createElement(p); + p.textContent = event.data; + document.body.appendChild(p); + window.parent.postMessage(event.data, "*"); + } + + window.addEventListener( + "message", + onMessage, + false + ); + + window.parent.postMessage("start test", "*"); + </script> +</body> +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/reporting-frame-allows-none.html.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/reporting-frame-allows-none.html.headers new file mode 100644 index 0000000..18bfb815 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/reporting-frame-allows-none.html.headers
@@ -0,0 +1,5 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Content-Security-Policy: frame-ancestors 'none'
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/reporting-frame-allows-self.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/reporting-frame-allows-self.html new file mode 100644 index 0000000..7c1186e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/reporting-frame-allows-self.html
@@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> +<body> + <p>Reporting Frame...</p> + <script> + function onMessage(event) { + var p = document.createElement(p); + p.textContent = event.data; + document.body.appendChild(p); + window.parent.postMessage(event.data, "*"); + } + + window.addEventListener( + "message", + onMessage, + false + ); + + window.parent.postMessage("start test", "*"); + </script> +</body> +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/reporting-frame-allows-self.html.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/reporting-frame-allows-self.html.headers new file mode 100644 index 0000000..f0eb936 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/reporting-frame-allows-self.html.headers
@@ -0,0 +1,5 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Content-Security-Policy: frame-ancestors 'self'
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/single-frame-self-allowed.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/single-frame-self-allowed.sub.html new file mode 100644 index 0000000..3a9b455 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/frame-ancestors/single-frame-self-allowed.sub.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html> +<head> + <title>single-frame-self-allowed</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="../support/logTest.sub.js?logs=[]"></script> + <script src='../support/alertAssert.sub.js?alerts=["hello frame1"]'></script> + <!-- enforcing policy: +connect-src 'self' 'none'; script-src 'self' 'unsafe-inline'; frame-src 'self'; +--> + <script> + function onMessage(event) { + if(event.data == "start test") { + startTest(); + } else { + alert_assert(event.data); + } + } + + window.addEventListener( + "message", + onMessage, + false); + + function startTest() { + window.frames['frame1'].postMessage("hello frame1", "*"); + } + </script> +</head> +<body> + <iframe src='http://{{host}}:{{ports[http][0]}}/content-security-policy/frame-ancestors/reporting-frame-allows-self.html' name="frame1"></iframe> + <div id="log"></div> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/fail-0_1.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/fail-0_1.js new file mode 100644 index 0000000..5c58027 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/fail-0_1.js
@@ -0,0 +1,3 @@ +(function () { + scriptsrc1.step(function() { assert_unreached('Unsafe inline script ran.') }); +})();
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_1-img-src.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_1-img-src.html new file mode 100644 index 0000000..c3778f8 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_1-img-src.html
@@ -0,0 +1,35 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>default-src should cascade to img-src directive</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> + <script src='../support/siblingPath.js'></script> +</head> +<body> + <h1>default-src should cascade to img-src directive</h1> + <div id='log'></div> + + <script> + var imgsrc = async_test("Verify cascading of default-src to img-src policy"); + var onerrorFired = false; + </script> + + <img id='imgfail' src='' + onload='imgsrc.step(function() { assert_unreached("Image load was not blocked."); });' + onerror='onerrorFired = true;'> + <img src='../support/pass.png' + onload='imgsrc.step(function() { assert_true(true, "Image load was blocked."); });'> + + <script> + document.getElementById('imgfail').src = buildSiblingPath('www1', '../support/fail.png'); + onload = function() { + imgsrc.step(function() { assert_true(onerrorFired, "onerror handler for blocked img didn't fire");}); + imgsrc.done(); + } + </script> + + <script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=default-src%20%27self%27%20%27unsafe-inline%27'></script> + +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_1-img-src.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_1-img-src.html.sub.headers new file mode 100644 index 0000000..61bdc0a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_1-img-src.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: generic-0_1-img-src={{$id:uuid()}}; Path=/content-security-policy/generic/ +Content-Security-Policy: default-src 'self' 'unsafe-inline'; report-uri ../support/report.py?op=put&reportID={{$id}} \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_1-script-src.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_1-script-src.html new file mode 100644 index 0000000..740b2a5 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_1-script-src.html
@@ -0,0 +1,35 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>default-src should cascade to script-src directive</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> + <script src='../support/siblingPath.js'></script> +</head> +<body> + <h1>default-src should cascade to script-src directive</h1> + <div id='log'></div> + + <script> + var scriptsrc1 = async_test("Verify cascading of default-src to script-src policy: block"); + var scriptsrc2 = async_test("Verify cascading of default-src to script-src policy: allow"); + var allowedScriptRan = false; + </script> + + <script src='pass-0_1.js'></script> + + <script> + var inlineScript = document.createElement('script'); + inlineScript.src = buildSiblingPath('www1', 'fail-0_1.js'); + document.getElementById('log').appendChild(inlineScript); + onload = function() { + scriptsrc1.done(); + scriptsrc2.step( function() { assert_true(allowedScriptRan, "allowed script didn't run") }); + scriptsrc2.done(); + } + </script> + + <script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=default-src%20%27self%27%20%27unsafe-inline%27'></script> + +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_1-script-src.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_1-script-src.html.sub.headers new file mode 100644 index 0000000..b3ff8c4 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_1-script-src.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: generic-0_1-script-src={{$id:uuid()}}; Path=/content-security-policy/generic/ +Content-Security-Policy: default-src 'self' 'unsafe-inline'; report-uri ../support/report.py?op=put&reportID={{$id}} \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_10.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_10.html new file mode 100644 index 0000000..703e50b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_10.html
@@ -0,0 +1,21 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>test implicit port number matching (requires port 80)</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> + <script> + var head = document.getElementsByTagName('head')[0]; + var script = document.createElement('script'); + script.type = 'text/javascript'; + script.src = "http://www." + location.hostname + "/content-security-policy/generic/positiveTest.js"; + head.appendChild(script); + </script> +</head> +<body> + <h1>test implicit port number matching (requires port 80)</h1> + <div id='log'></div> + + <script async defer src='../support/checkReport.sub.js?reportExists=false'></script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_10.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_10.html.sub.headers new file mode 100644 index 0000000..c58b053 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_10.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: generic-0_10={{$id:uuid()}}; Path=/content-security-policy/generic/ +Content-Security-Policy: script-src 'self' www.{{host}} 'unsafe-inline'; report-uri ../support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_10_1.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_10_1.sub.html new file mode 100644 index 0000000..c66640de --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_10_1.sub.html
@@ -0,0 +1,22 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>implicit port number matching fails with a different port</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> + <script src='negativeTests.js'></script> + <script> + var head = document.getElementsByTagName('head')[0]; + var script = document.createElement('script'); + script.type = 'text/javascript'; + script.src = "http://www." + location.hostname + ":{{ports[http][1]}}/content-security-policy/generic/unreached.js"; + head.appendChild(script); + </script> +</head> +<body> + <h1>implicit port number matching fails with a different port</h1> + <div id='log'></div> + + <script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=script-src%20%27self%27%20www.{{host}}%20%27unsafe-inline%27'></script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_10_1.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_10_1.sub.html.sub.headers new file mode 100644 index 0000000..e8fcf07c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_10_1.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: generic-0_10_1={{$id:uuid()}}; Path=/content-security-policy/generic/ +Content-Security-Policy: script-src 'self' www.{{host}} 'unsafe-inline'; report-uri ../support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_2.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_2.html new file mode 100644 index 0000000..130bfad --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_2.html
@@ -0,0 +1,15 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>'self' keyword positive test</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> + <script src='positiveTest.js'></script> +</head> +<body> + <h1>'self' keyword positive test</h1> + <div id='log'></div> + + <script async defer src='../support/checkReport.sub.js?reportExists=false'></script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_2.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_2.html.sub.headers new file mode 100644 index 0000000..776112d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_2.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: generic-0_2={{$id:uuid()}}; Path=/content-security-policy/generic/ +Content-Security-Policy: script-src 'self'; report-uri ../support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_2_2.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_2_2.sub.html new file mode 100644 index 0000000..9d274ea5 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_2_2.sub.html
@@ -0,0 +1,22 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>'self' fails with a different port</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> + <script src='negativeTests.js'></script> + <script> + var head = document.getElementsByTagName('head')[0]; + var script = document.createElement('script'); + script.type = 'text/javascript'; + script.src = "http://" + location.hostname + ":{{ports[http][1]}}/content-security-policy/generic/unreached.js"; + head.appendChild(script); + </script> +</head> +<body> + <h1>'self' fails with a different port</h1> + <div id='log'></div> + + <script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=script-src%20%27self%27%20%27unsafe-inline%27'></script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_2_2.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_2_2.sub.html.sub.headers new file mode 100644 index 0000000..769ccc15 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_2_2.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: generic-0_2_2={{$id:uuid()}}; Path=/content-security-policy/generic/ +Content-Security-Policy: script-src 'self' 'unsafe-inline'; report-uri ../support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_2_3.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_2_3.html new file mode 100644 index 0000000..ff4b8db --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_2_3.html
@@ -0,0 +1,22 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>'self' fails with a different host (including sub-host e.g. foo.com as self with content from bar.foo.com)</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> + <script src='negativeTests.js'></script> + <script> + var head = document.getElementsByTagName('head')[0]; + var script = document.createElement('script'); + script.type = 'text/javascript'; + script.src = "http://www." + location.hostname + ":" + location.port + "/content-security-policy/generic/unreached.js"; + head.appendChild(script); + </script> +</head> +<body> + <h1>'self' fails with a different host (including sub-host e.g. foo.com as self with content from bar.foo.com)</h1> + <div id='log'></div> + + <script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=script-src%20%27self%27%20%27unsafe-inline%27'></script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_2_3.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_2_3.html.sub.headers new file mode 100644 index 0000000..0a8defc --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_2_3.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: generic-0_2_3={{$id:uuid()}}; Path=/content-security-policy/generic/ +Content-Security-Policy: script-src 'self' 'unsafe-inline'; report-uri ../support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_8.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_8.html new file mode 100644 index 0000000..2e7df377 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_8.html
@@ -0,0 +1,22 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>test wildcard host name matching (*.web-platform.test is good)</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> + <script src='wildcardHostTest.js'></script> + <script> + var head = document.getElementsByTagName('head')[0]; + var script = document.createElement('script'); + script.type = 'text/javascript'; + script.src = "http://www." + location.hostname + ":" + location.port + "/content-security-policy/generic/wildcardHostTestSuceeds.js"; + head.appendChild(script); + </script> +</head> +<body> + <h1>test wildcard host name matching (*.web-platform.test is good)</h1> + <div id='log'></div> + + <script async defer src='../support/checkReport.sub.js?reportExists=false'></script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_8.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_8.html.sub.headers new file mode 100644 index 0000000..34756f9 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_8.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: generic-0_8={{$id:uuid()}}; Path=/content-security-policy/generic/ +Content-Security-Policy: script-src 'self' *.{{host}}:{{ports[http][0]}} 'unsafe-inline'; report-uri ../support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_8_1.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_8_1.sub.html new file mode 100644 index 0000000..167b445 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_8_1.sub.html
@@ -0,0 +1,21 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>test wildcard host name matching (www*.web-platform.test is bad, *www.web-platform.test is bad)</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> + <script src='wildcardHostTestFailure.js'></script> + <script> + var head = document.getElementsByTagName('head')[0]; + var script = document.createElement('script'); + script.type = 'text/javascript'; + script.src = "http://www." + location.hostname + ":" + location.port + "/content-security-policy/generic/wildcardHostTestSuceeds.js"; + head.appendChild(script); + </script> +</head> +<body> + <h1>test wildcard host name matching (www*.web-platform.test is bad, *www.web-platform.test is bad)</h1> + <div id='log'></div> + <script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=script-src%20%27self%27%20*w.{{host}}:{{ports[http][0]}}%20w*.{{host}}:{{ports[http][0]}}%20%27unsafe-inline%27'></script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_8_1.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_8_1.sub.html.sub.headers new file mode 100644 index 0000000..57a038a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_8_1.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: generic-0_8_1={{$id:uuid()}}; Path=/content-security-policy/generic/ +Content-Security-Policy: script-src 'self' *w.{{host}}:{{ports[http][0]}} w*.{{host}}:{{ports[http][0]}} 'unsafe-inline'; report-uri ../support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_9.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_9.sub.html new file mode 100644 index 0000000..cadeb178 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_9.sub.html
@@ -0,0 +1,22 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>test wildcard port number matching</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> + <script src='wildcardPortTest.js'></script> + <script> + var head = document.getElementsByTagName('head')[0]; + var script = document.createElement('script'); + script.type = 'text/javascript'; + script.src = "http://" + location.hostname + ":{{ports[http][1]}}/content-security-policy/generic/wildcardPortTestSuceeds.js"; + head.appendChild(script); + </script> +</head> +<body> + <h1>test wildcard port number matching</h1> + <div id='log'></div> + + <script async defer src='../support/checkReport.sub.js?reportExists=false'></script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_9.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_9.sub.html.sub.headers new file mode 100644 index 0000000..2f233600 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/generic-0_9.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: generic-0_9={{$id:uuid()}}; Path=/content-security-policy/generic/ +Content-Security-Policy: script-src 'self' {{host}}:* 'unsafe-inline'; report-uri ../support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/negativeTests.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/negativeTests.js new file mode 100644 index 0000000..44b4d7f6 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/negativeTests.js
@@ -0,0 +1,3 @@ +var t1 = async_test("Prevents access to external scripts."); + +onload = function() {t1.done();}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/no-default-src.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/no-default-src.sub.html new file mode 100644 index 0000000..9339868 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/no-default-src.sub.html
@@ -0,0 +1,27 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>no default src doesn't behave exactly like *</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"> </script> + <script src='positiveTest.js'></script> + <!-- enforcing policy: foobar; report-uri ... + --> +</head> +<body> + <h1>no default src doesn't behave exactly like *</h1> + This page has a CSP header but an unknown directive. + This should have no impact on an img loaded from a data: + uri, or an inline script, although that would be blocked by a default-src policy of *. + <br> + <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKgAAABACAIAAAABPqsMAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QoMCC8h3if5rgAAAB10RVh0Q29tbWVudABDcmVhdGVkIHdpdGggVGhlIEdJTVDvZCVuAAAGD0lEQVR42u2aa0yTVxiA39ILxa4KIkKrVCCIitzrqkAXQiXDSFjQHyZDBRRdtoDzgooao5uaoInID4hRJFC8RBOzxQuKigyYokuDSB0WlaJQlQrITRCwte1+nKVhpbT9aGUue59fb84573dO+uR7v/drS4OfAPkf4oQfAYpHUDyC4hEUj6B4BMUjKB5B8QiKR1A8guIRFI+geATFIygeQfEIikdQPEIVxmd1GsN+w9hBrV7bN9Kn7FHWqmqLHxY3vW2ycIWtS7Yeiz9G4h0VO47eO2rj1p4cz7WhayW+kuCZwdNdpjsznIe0Q53vO1X9qsbOxrr2uprWmrb+Nofn/lvQPqs/W5oVb0KBrCDrVpZGpzE7++iHR8Ezg0ms6FIsPL7Qho+Ali3O3h+zn81gW1n5M82BuVjqqZEpyjyVeMrs1CL+IqN1AAj0CBTNElm9YGFiYc7SHKvmHJ6Lpd7K/cF0YvK5/KV+S3eLd/tP9weAlNAUaYO0qrXKJGtd2DoS6A16J5oTGZG9llnYKDEgcUPEBhI/636WL8uvelHV1t82rB1mM9geHA8fV58QzxAhTxjjE+PAXCz15ku92cLIZXFr1tWEe4UDwLk/z635dc3oWWe6s3q72o3tBgD7qvYdiD0AAH0jfbxc3sjHkfF2LF9dvsx/GQDcbLmZdCHJwkrH5mKpp8CAZiC7IpvEUd5RJrMrFqwg1pU9ykO/H2rpbQEAV7brygUrLVxz8ezFJNh2cxtVc/bkonhq3Ht5jwReX3iNV+elDVIDGKQNUpNxs0x1nkoCZY+S6mHsyUXxE30oGP7R/3tP9Y7ziyNP91J5KQCUNpTqDXoAkPhKBNME412ne6ibBEEzg6iewZ5cFE8NY4XveN8xejw1LJV0cxXPK169ewUAL9+9vP38NgA40ZxSQ1OtlpDCxMI50+ZMrPxMIBfFU4DD5ByOO2zyoRPSwtJIUPyw2DhojNPC0mhg/jU67488AxgAQMgTNv/YfPXbq5miTNEskQvDxep57MnFrt56V890YvK4vFif2D1f7QlwDyCDcafjKl9UkjhmTkx1WjUA9Az38HP5H3Qfxvb5saWx1a3VZjfdsmRL7te5pGAY0Rl0ii7FnbY7l55cqnxRSZ4ajs1F8WbEW8bkXU6aJCXFvEBWsKl80+iVBcsLMr7MAIDT8tOpl8Yt+JGzIw9KDkp8JWYLg7JHmXUr68rTKw7PRfEUxJ98cHJz+Wbjbc1lcdXb1RwmBwCEhcJ6df3oxUKesO67OgAY0g55HfUa0AxYuLJgmmD53OVigTiCFxHgHkCn0UfP7rq960jtkU+Ri+LH/ZGmf6S/pbelVlVb0lDS2Nk4ejY9PL3omyIAkHfIw06EjU2Xfy8P8QwBgI1XNxbVF9l4EheGi5AvTJibkB6R7jHFAwAMYBAXi016C4fn4jPe1p807q6/G+0dbWMTHl0cTfVIbmy3suQy8jZxUXFx1cVVk5OLXb0lAtwDbLROXgWNvaHt9I70ZlzPILFYIJ60XBRvCcvfytm/ntDU9fc/AEjdnrTcTwrjv2udTqOnhKaQOOlC0uWnl8dbmTA3oSy5DABSQlP2/rZXZ9BR2mjejHkksNwbOjwX73jzxPvH87l8AOh433Gt+ZqFlTeUN9SDagDgc/nx/vGUdpnCnJIXn0fiB+0PJi0X73jrdfvso7Mf9R8trNQZdGfkZ3ZG7yRZ15uvG6dUW1W1qtp6db2iS9HW36YeUA9qBrV6LYfJ8XPzk/hKMkWZfm5+ZLHJS4E9udjVT7Crd3dxb89qZ9FZABB0POhx12PL6+fPmN+U0QQAGp2Gn8vvHu6m9JWR2bbcnlws9RNkdchqYl32WmbVOgA8efvk/qv7AMCis5KDkyntpdFpcu7mJP+SPIFz2pOLpd5SnS9pKLExpeRhSeTsSABYH74+X5ZPBgV5gijvqAheRKBHoI+rD4/L47K4TDpzWDv8ZvCNoktR3Vp9vvF8+0D72Avak4ulHsFSj6B4BMUjKB5B8QiKR1A8guIRFI+geATFo3gExSMoHkHxCIpHUDyC4hEUj6B45HPmL9so2ZKs94sNAAAAAElFTkSuQmCC'> + <script> + var allowedScriptRan = true; + </script> + + <div id='log'></div> + + <script async defer src='../support/checkReport.sub.js?reportExists=false'></script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/no-default-src.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/no-default-src.sub.html.sub.headers new file mode 100644 index 0000000..a7337ac --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/no-default-src.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: no-default-src={{$id:uuid()}}; Path=/content-security-policy/generic/ +Content-Security-Policy: foobar; report-uri ../support/report.py?op=put&reportID={{$id}} \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/pass-0_1.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/pass-0_1.js new file mode 100644 index 0000000..3a08dd5 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/pass-0_1.js
@@ -0,0 +1,3 @@ +(function () { + allowedScriptRan = true; +})();
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/positiveTest.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/positiveTest.js new file mode 100644 index 0000000..63c9991 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/positiveTest.js
@@ -0,0 +1,6 @@ +onload = function() { + test(function() { + assert_true(true, 'Script ran.')}, + "Allows scripts from the same host." + ); +}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/unreached.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/unreached.js new file mode 100644 index 0000000..893fb5e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/unreached.js
@@ -0,0 +1,3 @@ +onload = function() { + t1.step(function() {assert_unreached("Script should not have ran.");}); +}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/wildcardHostTest.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/wildcardHostTest.js new file mode 100644 index 0000000..da3e2790 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/wildcardHostTest.js
@@ -0,0 +1,8 @@ +wildcardHostTestRan = false; + +onload = function() { + test(function() { + assert_true(wildcardHostTestRan, 'Script should have ran.')}, + "Wildcard host matching works." + ); +}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/wildcardHostTestFailure.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/wildcardHostTestFailure.js new file mode 100644 index 0000000..75ec8cf --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/wildcardHostTestFailure.js
@@ -0,0 +1,8 @@ +wildcardHostTestRan = false; + +onload = function() { + test(function() { + assert_false(wildcardHostTestRan, 'Script should not have ran.')}, + "Wildcard host matching works." + ); +}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/wildcardHostTestSuceeds.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/wildcardHostTestSuceeds.js new file mode 100644 index 0000000..8b115d7f --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/wildcardHostTestSuceeds.js
@@ -0,0 +1 @@ +wildcardHostTestRan = true;
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/wildcardPortTest.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/wildcardPortTest.js new file mode 100644 index 0000000..3cd1d2e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/wildcardPortTest.js
@@ -0,0 +1,8 @@ +wildcardPortTestRan = false; + +onload = function() { + test(function() { + assert_true(wildcardPortTestRan, 'Script should have ran.')}, + "Wildcard port matching works." + ); +}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/wildcardPortTestSuceeds.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/wildcardPortTestSuceeds.js new file mode 100644 index 0000000..0138deb --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/generic/wildcardPortTestSuceeds.js
@@ -0,0 +1 @@ +wildcardPortTestRan = true; \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/img-src/img-src-4_1.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/img-src/img-src-4_1.html new file mode 100644 index 0000000..edf04fb --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/img-src/img-src-4_1.html
@@ -0,0 +1,46 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>img element src attribute must match src list.</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> +</head> +<body> + <h1>img element src attribute must match src list.</h1> + <p> + <div id='log'></div> + + <script type="text/javascript"> + var t1 = async_test("img-src for relative path should load."); + var t2 = async_test("img-src from unapproved domains should not load"); + var t3 = async_test("img-src from approved domains should load"); + </script> + + <img src='/content-security-policy/support/pass.png' + onerror='t1.step(function() { assert_unreached("The img should have loaded."); t1.done() });' + onload='t1.done();'> + + <img src='http://www1.web-platform.test/content-security-policy/support/fail.png' + onerror='t2.done();' + onload='t2.step(function() { assert_unreached("Image from unapproved domain was loaded."); t2.done()} );'> + + <div id='t3'></div> + + <script> + var t3img = document.createElement('img'); + t3img.onerror = function() {t3.step(function() { assert_unreached(); t3.done();})} + t3img.onload = function() {t3.done();} + t3img.src = location.protocol + '//www.' + location.hostname + ':' + location.port + + '/content-security-policy/support/pass.png'; + var t3div = document.getElementById('t3'); + t3div.appendChild(t3img); + + var report = document.createElement('script'); + report.src = '../support/checkReport.sub.js?reportField=violated-directive&reportValue=img-src%20%27self%27%20www.' + location.hostname + (location.port ? ':' + location.port : ''); + t3div.appendChild(report); + + </script> + + +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/img-src/img-src-4_1.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/img-src/img-src-4_1.html.sub.headers new file mode 100644 index 0000000..543e48c1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/img-src/img-src-4_1.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: img-src-4_1={{$id:uuid()}}; Path=/content-security-policy/img-src/ +Content-Security-Policy: img-src 'self' www.{{host}}:{{ports[http][0]}}; report-uri ../support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_1.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_1.html new file mode 100644 index 0000000..d912b86 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_1.html
@@ -0,0 +1,44 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Video element src attribute must match src list - positive test</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> +</head> +<body> + <h1>Video element src attribute must match src list - positive test</h1> + <div id='log'></div> + + <script> + var src_test = async_test("In-policy async video src"); + var source_test = async_test("In-policy async video source element"); + + function media_loaded(t) { + t.done(); + } + + function media_error_handler(t) { + t.step( function () { + assert_unreached("Media error handler should be triggered for non-allowed domain."); + }); + t.done(); + } + </script> + + <video id="videoObject" width="320" height="240" controls + onloadeddata="media_loaded(source_test)"> + <source id="videoSourceObject" + type="video/mp4" + onerror="media_error_handler(source_test)" + src="/media/white.mp4"> + </video> + <video id="videoObject2" width="320" height="240" controls + onerror="media_error_handler(src_test)" + onloadeddata="media_loaded(src_test)" + src="/media/white.mp4"> + + <script async defer src="../support/checkReport.sub.js?reportExists=false"> + </script> + +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_1.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_1.html.sub.headers new file mode 100644 index 0000000..9361207 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_1.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: media-src-7_1={{$id:uuid()}}; Path=/content-security-policy/media-src/ +Content-Security-Policy: script-src * 'unsafe-inline'; media-src 'self'; report-uri ../support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_1_2.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_1_2.html new file mode 100644 index 0000000..61d4b142 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_1_2.html
@@ -0,0 +1,55 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Video element src attribute must match src list - negative test</title> + <meta name=timeout content=long> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> +</head> +<body> + <h1>Video element src attribute must match src list - negative test</h1> + <div id='log'></div> + + <script> + var src_test = async_test("Disallowed async video src"); + var source_test = async_test("Disallowed async video source element"); + + // we assume tests are run from 'hostname' and 'www.hostname' or 'www2.hostname' is a valid alias + var mediaURL = location.protocol + + "//www2." + + location.hostname + + ":" + + location.port + + "/media/white.mp4"; + + function media_loaded(t) { + t.step( function () { + assert_unreached("Media error handler should be triggered for non-allowed domain."); + }); + t.done(); + } + + function media_error_handler(t) { + t.done(); + } + </script> + + <video id="videoObject" width="320" height="240" controls + onloadeddata="media_loaded(source_test)"> + <source id="videoSourceObject" + type="video/mp4" + onerror="media_error_handler(source_test)"> + </video> + <video id="videoObject2" width="320" height="240" controls + onerror="media_error_handler(src_test)" + onloadeddata="media_loaded(src_test)"> + + <script> + document.getElementById("videoSourceObject").src = mediaURL; + document.getElementById("videoObject2").src = mediaURL; + </script> + + <script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=media-src%20%27self%27'></script> + +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_1_2.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_1_2.html.sub.headers new file mode 100644 index 0000000..036da86 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_1_2.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: media-src-7_1_2={{$id:uuid()}}; Path=/content-security-policy/media-src/ +Content-Security-Policy: script-src * 'unsafe-inline'; media-src 'self'; report-uri ../support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_2.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_2.html new file mode 100644 index 0000000..7509d7b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_2.html
@@ -0,0 +1,44 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Audio element src attribute must match src list - positive test</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> +</head> +<body> + <h1>Audio element src attribute must match src list - positive test</h1> + <div id='log'></div> + + <script> + var src_test = async_test("In-policy audio src"); + var source_test = async_test("In-policy audio source element"); + + function media_loaded(t) { + t.done(); + } + + function media_error_handler(t) { + t.step( function () { + assert_unreached("Media error handler should be triggered for non-allowed domain."); + }); + t.done(); + } + </script> + + <audio id="audioObject" width="320" height="240" controls + onloadeddata="media_loaded(source_test)"> + <source id="audioSourceObject" + type="audio/mpeg" + onerror="media_error_handler(source_test)" + src="/media/sound_5.mp3"> + </audio> + <audio id="audioObject2" width="320" height="240" controls + onerror="media_error_handler(src_test)" + onloadeddata="media_loaded(src_test)" + src="/media/sound_5.mp3"> + + <script async defer src="../support/checkReport.sub.js?reportExists=false"> + </script> + +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_2.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_2.html.sub.headers new file mode 100644 index 0000000..0f59cd9 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_2.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: media-src-7_2={{$id:uuid()}}; Path=/content-security-policy/media-src/ +Content-Security-Policy: script-src * 'unsafe-inline'; media-src 'self'; report-uri ../support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_2_2.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_2_2.html new file mode 100644 index 0000000..9b613429 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_2_2.html
@@ -0,0 +1,55 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Audio element src attribute must match src list - negative test</title> + <meta name=timeout content=long> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> +</head> +<body> + <h1>Audio element src attribute must match src list - negative test</h1> + <div id='log'></div> + + <script> + var src_test = async_test("Disallaowed audio src"); + var source_test = async_test("Disallowed audio source element"); + + // we assume tests are run from 'hostname' and 'www.hostname' or 'www2.hostname' is a valid alias + var mediaURL = location.protocol + + "//www2." + + location.hostname + + ":" + + location.port + + "/media/sound_5.mp3"; + + function media_loaded(t) { + t.step( function () { + assert_unreached("Media error handler should be triggered for non-allowed domain."); + }); + t.done(); + } + + function media_error_handler(t) { + t.done(); + } + </script> + + <audio id="audioObject" width="320" height="240" controls + onloadeddata="media_loaded(source_test)"> + <source id="audioSourceObject" + type="audio/mpeg" + onerror="media_error_handler(source_test)"> + </audio> + <audio id="audioObject2" width="320" height="240" controls + onerror="media_error_handler(src_test)" + onloadeddata="media_loaded(src_test)"> + + <script> + document.getElementById("audioSourceObject").src = mediaURL; + document.getElementById("audioObject2").src = mediaURL; + </script> + + <script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=media-src%20%27self%27'></script> + +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_2_2.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_2_2.html.sub.headers new file mode 100644 index 0000000..685978de --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_2_2.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: media-src-7_2_2={{$id:uuid()}}; Path=/content-security-policy/media-src/ +Content-Security-Policy: script-src * 'unsafe-inline'; media-src 'self'; report-uri ../support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_3.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_3.html new file mode 100644 index 0000000..3218770 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_3.html
@@ -0,0 +1,53 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Video track src attribute must match src list - positive test</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> +</head> +<body> + <h1>Video track src attribute must match src list - positive test</h1> + <div id='log'></div> + + <script> + var source_test = async_test("In-policy track element"); + + var trackURL = location.protocol + + "//www." + + location.hostname + + ":" + + location.port + + "/media/foo.vtt"; + + function media_loaded(t) { + t.done(); + } + + function media_error_handler(t) { + t.step( function () { + assert_unreached("Error handler called for allowed track source."); + }); + t.done(); + } + </script> + + <video id="videoObject" width="320" height="240" controls + onloadeddata="media_loaded(source_test)" crossorigin> + <source id="audioSourceObject" + type="audio/mpeg" + src="/media/white.mp4"> + <track id="trackObject" + kind="subtitles" + srclang="en" + label="English" + onerror="media_error_handler(source_test)"> + </video> + <script> + document.getElementById("trackObject").src = trackURL; + </script> + + <script async defer src="../support/checkReport.sub.js?reportExists=false"> + </script> + +</body> +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_3.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_3.html.sub.headers new file mode 100644 index 0000000..b764189ad --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_3.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: media-src-7_3={{$id:uuid()}}; Path=/content-security-policy/media-src/ +Content-Security-Policy: script-src * 'unsafe-inline'; media-src 'self' www.{{host}}:{{ports[http][0]}}; report-uri ../support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_3_2.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_3_2.html new file mode 100644 index 0000000..597ac7f8 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_3_2.html
@@ -0,0 +1,68 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Video track src attribute must match src list - negative test</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> +</head> +<body> + <h1>Video track src attribute must match src list - negative test</h1> + <div id='log'></div> + + <script> + var source_test = + async_test("Disallowed track element onerror handler fires."); + + var trackURL = location.protocol + + "//www." + + location.hostname + + ":" + + location.port + + "/media/foo.vtt"; + + function media_loaded(t) { + t.step( function () { + assert_unreached("Disllowed track source loaded."); + }); + t.done(); + } + + function media_error_handler(t) { + t.done(); + } + </script> + + <video id="videoObject" width="320" height="240" controls + onerror="media_error_handler(source_test)" + crossorigin> + <source id="audioSourceObject" + type="audio/mpeg" + src="/media/white.mp4"> + <track default + id="trackObject" + kind="subtitles" + srclang="en" + label="English" + onerror="media_error_handler(source_test)" + onload="media_loaded(source_test)" + onloadeddata="media_loaded(source_test)"> + </video> + <script> + document.getElementById("trackObject").src = trackURL; + source_test.step(function() { + source_test.set_status(source_test.FAIL); + }); + + setTimeout(function() { + if(source_test.phase != source_test.phases.COMPLETE) { + source_test.step( function () { assert_unreached("Onerror event never fired for track element."); }); + source_test.done(); + } + }, 2 * 1000); + </script> + + <script async defer src="../support/checkReport.sub.js?reportField=violated-directive&reportValue=media-src%20%27self%27"> + </script> + +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_3_2.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_3_2.html.sub.headers new file mode 100644 index 0000000..2cfe51fe --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-7_3_2.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: media-src-7_3_2={{$id:uuid()}}; Path=/content-security-policy/media-src/ +Content-Security-Policy: script-src * 'unsafe-inline'; media-src 'self'; report-uri ../support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-redir-bug.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-redir-bug.sub.html new file mode 100644 index 0000000..b835119 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-redir-bug.sub.html
@@ -0,0 +1,66 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Video element src attribute must match src list - positive test</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> +</head> +<body> + <h1>Video element in media-src list - redirect test</h1> + <div id='log'></div> + + <p>This test tests a buggy interaction in Chrome 46. Two hosts (self and www2) are both allowed + as media-src, but only one (self) is allowed for connect-src. If a video src starts on + an allowed host (self), and is redirected to another allowed media-src host, it should succeed. But a bug + causes the redirect to be done in a fetch context to which connect-src is being applied instead, so + the load is blocked. (This test passes in Firefox 45, modulo an event listener not firing.)</p> + + <script> + var src_test = async_test("In-policy async video src"); + var src_redir_test = async_test("in-policy async video src w/redir") + var source_test = async_test("In-policy async video source element"); + var source_redir_test = async_test("In-policy async video source element w/redir"); + + function media_loaded(t) { + t.done(); + } + + function media_error_handler(t) { + t.step( function () { + assert_unreached("Media error handler shouldn't be triggered for allowed domain."); + }); + t.done(); + } + </script> + + <video id="videoObject" width="320" height="240" controls + onloadeddata="media_loaded(source_test)"> + <source id="videoSourceObject" + type="video/mp4" + onerror="media_error_handler(source_test)" + src="http://www2.{{host}}:{{ports[http][0]}}/media/white.mp4"> + </video> + + <video id="videoObject2" width="320" height="240" controls + onerror="media_error_handler(src_test)" + onloadeddata="media_loaded(src_test)" + src="http://www2.{{host}}:{{ports[http][0]}}/media/white.mp4"> + + <video id="videoObject3" width="320" height="240" controls + onloadeddata="media_loaded(source_redir_test)"> + <source id="videoSourceObject" + type="video/mp4" + onerror="media_error_handler(source_test)" + src="/common/redirect.py?location=http://www2.{{host}}:{{ports[http][0]}}/media/white.mp4"> + </video> + + <video id="videoObject2" width="320" height="240" controls + onerror="media_error_handler(src_redir_test)" + onloadeddata="media_loaded(src_redir_test)" + src="/common/redirect.py?location=http://www2.{{host}}:{{ports[http][0]}}/media/white.mp4"> + + <script async defer src="../support/checkReport.sub.js?reportExists=false"> + </script> + +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-redir-bug.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-redir-bug.sub.html.sub.headers new file mode 100644 index 0000000..4ce3e428 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/media-src/media-src-redir-bug.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: media-src-redir-bug={{$id:uuid()}}; Path=/content-security-policy/media-src/ +Content-Security-Policy: script-src * 'unsafe-inline'; media-src http://www2.{{host}}:{{ports[http][0]}}/ 'self'; connect-src 'self'; report-uri ../support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/meta/meta-img-src.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/meta/meta-img-src.html new file mode 100644 index 0000000..bc7ffd66a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/meta/meta-img-src.html
@@ -0,0 +1,33 @@ +<!DOCTYPE html> +<html> + +<head> + <meta id="meta_csp" http-equiv="Content-Security-Policy" content="img-src 'none'"> + <title>meta-img-src</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS","TEST COMPLETE"]'></script> +</head> + +<body> +<p>Test passes if the image is blocked.</p> + + <script> + function testImgSrc() { + var img = document.createElement('img'); + img.src = '../support/fail.png'; + img.onerror = function() { + log("PASS"); + }; + img.onload = function() { + log("FAIL"); + }; + document.body.appendChild(img); + } + testImgSrc(); + log("TEST COMPLETE"); + </script> + <div id="log"></div> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/meta/meta-modified.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/meta/meta-modified.html new file mode 100644 index 0000000..d03115f3 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/meta/meta-modified.html
@@ -0,0 +1,35 @@ +<!DOCTYPE html> +<html> + +<head> + <meta id="meta_csp" http-equiv="Content-Security-Policy" content="img-src 'none'"> + <title>meta-modified</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["PASS", "PASS","TEST COMPLETE"]'></script> +</head> + +<body> +<p>Test passes if the image is blocked both before and after policy modification.</p> + + <script> + function testImgSrc() { + var img = document.createElement('img'); + img.src = '../support/fail.png'; + img.onerror = function() { + log("PASS"); + }; + img.onload = function() { + log("FAIL"); + }; + document.body.appendChild(img); + } + testImgSrc(); + document.getElementById("meta_csp").setAttribute("content", "img-src *"); + testImgSrc(); + log("TEST COMPLETE"); + </script> + <div id="log"></div> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/navigation/to-javascript-url.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/navigation/to-javascript-url.html new file mode 100644 index 0000000..6c120ad --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/navigation/to-javascript-url.html
@@ -0,0 +1,72 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<meta http-equiv="Content-Security-Policy" content="script-src 'nonce-abc'"> + +<body> + +<script nonce="abc"> + function assert_csp_event_for_element(test, element) { + assert_equals(typeof SecurityPolicyViolationEvent, "function", "These tests require 'SecurityPolicyViolationEvent'."); + document.addEventListener("securitypolicyviolation", test.step_func(e => { + if (e.target != element) + return; + assert_equals(e.blockedURI, "inline"); + assert_equals(e.effectiveDirective, "script-src"); + assert_equals(element.contentDocument.body.innerText, "", "Ensure that 'Fail' doesn't appear in the child document."); + element.remove(); + test.done(); + })); + } + + function navigate_to_javascript_onload(test, iframe) { + iframe.addEventListener("load", test.step_func(e => { + assert_equals(typeof SecurityPolicyViolationEvent, "function"); + iframe.contentDocument.addEventListener( + "securitypolicyviolation", + test.unreached_func("The CSP event should be fired in the embedding document, not in the embedee.") + ); + + iframe.src = "javascript:'Fail.'"; + })); + } + + async_test(t => { + var i = document.createElement("iframe"); + i.src = "javascript:'Fail.'"; + + assert_csp_event_for_element(t, i); + + document.body.appendChild(i); + }, "<iframe src='javascript:'> blocked without 'unsafe-inline'."); + + async_test(t => { + var i = document.createElement("iframe"); + + assert_csp_event_for_element(t, i); + navigate_to_javascript_onload(t, i); + + document.body.appendChild(i); + }, "<iframe> navigated to 'javascript:' blocked without 'unsafe-inline'."); + + async_test(t => { + var i = document.createElement("iframe"); + i.src = "../support/echo-policy.py?policy=" + encodeURIComponent("script-src 'unsafe-inline'"); + + assert_csp_event_for_element(t, i); + navigate_to_javascript_onload(t, i); + + document.body.appendChild(i); + }, "<iframe src='...'> with 'unsafe-inline' navigated to 'javascript:' blocked in this document"); + + async_test(t => { + var i = document.createElement("iframe"); + i.src = "../support/echo-policy.py?policy=" + encodeURIComponent("script-src 'none'"); + + assert_csp_event_for_element(t, i); + navigate_to_javascript_onload(t, i); + + document.body.appendChild(i); + }, "<iframe src='...'> without 'unsafe-inline' navigated to 'javascript:' blocked in this document."); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/object-src/object-src-2_1.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/object-src/object-src-2_1.html new file mode 100644 index 0000000..db29fd3 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/object-src/object-src-2_1.html
@@ -0,0 +1,66 @@ +<!DOCTYPE HTML> +<html> + +<head> + <title>Objects loaded using data attribute of <object> tag are blocked unless their host is listed as an allowed source in the object-src directive</title> + <meta name=timeout content=long> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> +</head> + +<body onLoad="object_loaded()"> + <h1>Objects loaded using data attribute of <object> tag are blocked unless their host is listed as an allowed source in the object-src directive</h1> + <div id="log"></div> + + <script> + var relativeMediaURL = "/support/media/flash.swf"; + var pageURL = window.location.toString(); + var temp1 = pageURL.split("//"); + var temp2 = temp1[1].substring(0, temp1[1].lastIndexOf("/object-src/")); + var mediaURL = "http://www2." + temp2 + relativeMediaURL; + var htmlStr = "<object id='flashObject' type='application/x-shockwave-flash' data='" + mediaURL + "' width='200' height='200'></object>"; + document.write(htmlStr); + </script> + + <script> + var len = navigator.mimeTypes.length; + var allTypes = ""; + var flashMimeType = "application/x-shockwave-flash"; + for (var i = 0; i < len; i++) { + allTypes += navigator.mimeTypes[i].type; + } + + var hasMimeType = allTypes.indexOf(flashMimeType) != -1; + + <!-- The actual test. --> + var test1 = async_test("Async SWF load test") + + function object_loaded() { + var elem = document.getElementById("flashObject"); + var is_loaded = false; + try { + <!-- The Flash Player exposes values to JavaScript if a SWF has successfully been loaded. --> + var pct_loaded = elem.PercentLoaded(); + is_loaded = true; + } catch (e) {} + + if (hasMimeType) { + test1.step(function () { + assert_false(is_loaded, "External object loaded.") + }); + var s = document.createElement('script'); + s.async = true; + s.defer = true; + s.src = "../support/checkReport.sub.js?reportField=violated-directive&reportValue=object-src%20%27self%27" + document.lastChild.appendChild(s); + } else { + test1.set_status(test1.NOTRUN, "No Flash Player, cannot run test."); + test1.phase = test1.phases.HAS_RESULT; + } + test1.done(); + } + </script> + +</body> + +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/object-src/object-src-2_1.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/object-src/object-src-2_1.html.sub.headers new file mode 100644 index 0000000..83fe95d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/object-src/object-src-2_1.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: object-src-2_1={{$id:uuid()}}; Path=/content-security-policy/object-src/ +Content-Security-Policy: script-src * 'unsafe-inline'; object-src 'self'; report-uri ../support/report.py?op=put&reportID={{$id}} \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/object-src/object-src-2_2.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/object-src/object-src-2_2.html new file mode 100644 index 0000000..a868834a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/object-src/object-src-2_2.html
@@ -0,0 +1,61 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Objects loaded using src attribute of <embed> tag are blocked unless their host is listed as an allowed source in the object-src directive</title> + <meta name=timeout content=long> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> +</head> +<body onLoad="object_loaded()"> + <h1>Objects loaded using src attribute of <embed> tag are blocked unless their host is listed as an allowed source in the object-src directive</h1> + <div id="log"></div> + + <script> + var relativeMediaURL = "/support/media/flash.swf"; + var pageURL = window.location.toString(); + var temp1 = pageURL.split("//"); + var temp2 = temp1[1].substring (0, temp1[1].lastIndexOf("/object-src/")); + var mediaURL = "http://www2." + temp2 + relativeMediaURL; + var htmlStr = "<embed id='flashObject' type='application/x-shockwave-flash' src='" + mediaURL + "' width='200' height='200'></object>"; + document.write (htmlStr); + </script> + + <script> + var len = navigator.mimeTypes.length; + var allTypes = ""; + var flashMimeType = "application/x-shockwave-flash"; + for ( var i=0;i<len;i++ ) { + allTypes+=navigator.mimeTypes[i].type; + } + + var hasMimeType = allTypes.indexOf(flashMimeType) != -1; + + <!-- The actual test. --> + var test1 = async_test("Async SWF load test") + + function object_loaded() { + var elem = document.getElementById("flashObject"); + var is_loaded = false; + try { + <!-- The Flash Player exposes values to JavaScript if a SWF has successfully been loaded. --> + var pct_loaded = elem.PercentLoaded(); + is_loaded = true; + } catch (e) {} + + if (hasMimeType) { + test1.step(function() {assert_false(is_loaded, "External object loaded.")}); + var s = document.createElement('script'); + s.async = true; + s.defer = true; + s.src = "../support/checkReport.sub.js?reportField=violated-directive&reportValue=object-src%20%27self%27" + document.lastChild.appendChild(s); + } else { + //test1.step(function() {}); + test1.set_status(test1.NOTRUN, "No Flash Player, cannot run test."); + test1.phase = test1.phases.HAS_RESULT; + } + test1.done(); + } + </script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/object-src/object-src-2_2.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/object-src/object-src-2_2.html.sub.headers new file mode 100644 index 0000000..0ee665ea --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/object-src/object-src-2_2.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: object-src-2_2={{$id:uuid()}}; Path=/content-security-policy/object-src/ +Content-Security-Policy: script-src * 'unsafe-inline'; object-src 'self'; report-uri ../support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/reporting/securitypolicyviolation-idl.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/reporting/securitypolicyviolation-idl.html new file mode 100644 index 0000000..2259512 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/reporting/securitypolicyviolation-idl.html
@@ -0,0 +1,55 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>SecurityPolicyViolationEvent IDL Tests</title> +<link rel="author" title="Louay Bassbouss" href="http://www.fokus.fraunhofer.de"> +<link rel="help" href="http://w3c.github.io/presentation-api/#dfn-controlling-user-agent"> + +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script src=/resources/WebIDLParser.js></script> +<script src=/resources/idlharness.js></script> + +<script id="idl" type="text/plain"> +[Constructor(DOMString type, optional SecurityPolicyViolationEventInit eventInitDict)] +interface SecurityPolicyViolationEvent : Event { + readonly attribute DOMString documentURI; + readonly attribute DOMString referrer; + readonly attribute DOMString blockedURI; + readonly attribute DOMString violatedDirective; + readonly attribute DOMString effectiveDirective; + readonly attribute DOMString originalPolicy; + readonly attribute DOMString disposition; + readonly attribute DOMString sourceFile; + readonly attribute unsigned short statusCode; + readonly attribute long lineNumber; + readonly attribute long columnNumber; +}; + +dictionary SecurityPolicyViolationEventInit : EventInit { + DOMString documentURI; + DOMString referrer; + DOMString blockedURI; + DOMString violatedDirective; + DOMString effectiveDirective; + DOMString originalPolicy; + DOMString disposition; + DOMString sourceFile; + unsigned short statusCode; + long lineNumber; + long columnNumber; +}; +</script> +<script> + (function() { + var idl_array = new IdlArray(); + var idls = document.getElementById('idl').textContent; + idl_array.add_idls(idls); + + window.event_to_test = new SecurityPolicyViolationEvent({}); + + idl_array.add_objects({ + SecurityPolicyViolationEvent: ['event_to_test'] + }); + idl_array.test(); + })(); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/10_1_support_1.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/10_1_support_1.js new file mode 100644 index 0000000..7b6e8521 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/10_1_support_1.js
@@ -0,0 +1 @@ +var dataScriptRan = false; \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/10_1_support_2.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/10_1_support_2.js new file mode 100644 index 0000000..ba586810 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/10_1_support_2.js
@@ -0,0 +1,3 @@ +test(function () { + assert_true(dataScriptRan, "data script ran"); + }, "Verify that data: as script src runs with this policy"); \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/addInlineTestsWithDOMManipulation.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/addInlineTestsWithDOMManipulation.js new file mode 100644 index 0000000..cd093ac --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/addInlineTestsWithDOMManipulation.js
@@ -0,0 +1,18 @@ +(function () { + + var dmTest = async_test("DOM manipulation inline tests"); + var attachPoint = document.getElementById('attachHere'); + var inlineScript = document.createElement('script'); + var scriptText = document.createTextNode('dmTest.step(function() {assert_unreached("Unsafe inline script ran - createTextNode.")});'); + + inlineScript.appendChild(scriptText); + attachPoint.appendChild(inlineScript); + + document.getElementById('emptyScript').innerHTML = 'dmTest.step(function() {assert_unreached("Unsafe inline script ran - innerHTML.")});'; + document.getElementById('emptyDiv').outerHTML = '<script id=outerHTMLScript>dmTest.step(function() {assert_unreached("Unsafe inline script ran - outerHTML.")});</script>'; + + document.write('<script>dmTest.step(function() {assert_unreached("Unsafe inline script ran - document.write")});</script>'); + document.writeln('<script>dmTest.step(function() {assert_unreached("Unsafe inline script ran - document.writeln")});</script>'); + + dmTest.done(); +})(); \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/buildInlineWorker.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/buildInlineWorker.js new file mode 100644 index 0000000..8cd0921 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/buildInlineWorker.js
@@ -0,0 +1,21 @@ +(function () +{ + var workerSource = document.getElementById('inlineWorker'); + var blob = new Blob([workerSource.textContent]); + + // can I create a new script tag like this? ack... + var url = window.URL.createObjectURL(blob); + + try { + var worker = new Worker(url); + } + catch (e) { + done(); + } + + worker.addEventListener('message', function(e) { + assert_unreached("script ran"); + }, false); + + worker.postMessage(''); +})();
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/inlineSuccessTest.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/inlineSuccessTest.js new file mode 100644 index 0000000..ea2be27 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/inlineSuccessTest.js
@@ -0,0 +1,8 @@ +var inlineRan = false; + +onload = function() { + test(function() { + assert_true(inlineRan, 'Unsafe inline script ran.')}, + 'Inline script in a script tag should run with an unsafe-inline directive' + ); +} \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/inlineTests.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/inlineTests.js new file mode 100644 index 0000000..6e76b0a1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/inlineTests.js
@@ -0,0 +1,4 @@ +var t1 = async_test("Inline script block"); +var t2 = async_test("Inline event handler"); + +onload = function() {t1.done(); t2.done()} \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_1.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_1.html new file mode 100644 index 0000000..c83f512b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_1.html
@@ -0,0 +1,22 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Inline script should not run without 'unsafe-inline' script-src directive.</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> + <script src='inlineTests.js'></script> +</head> +<body> + <h1>Inline script should not run without 'unsafe-inline' script-src directive, even for script-src 'self'.</h1> + <div id='log'></div> + + <script> + t1.step(function() {assert_unreached('Unsafe inline script ran.');}); + </script> + + <img src='doesnotexist.jpg' onerror='t2.step(function() { assert_unreached("Unsafe inline event handler ran.") });'> + + <script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=script-src%20%27self%27'></script> + +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_1.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_1.html.sub.headers new file mode 100644 index 0000000..d91fe1c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_1.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: script-src-1_1={{$id:uuid()}}; Path=/content-security-policy/script-src/ +Content-Security-Policy: script-src 'self'; report-uri ../support/report.py?op=put&reportID={{$id}} \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_10.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_10.html new file mode 100644 index 0000000..137a1642 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_10.html
@@ -0,0 +1,27 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>data: as script src should not run with a policy that doesn't specify data: as an allowed source</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> +</head> +<body> + <h1>data: as script src should not run with a policy that doesn't specify data: as an allowed source</h1> + <div id='log'></div> + + <script> + var dataScriptRan = false; + </script> + + <!-- This is our test case, but we don't expect it to actually execute if CSP is working. --> + <script src="data:text/javascript;charset=utf-8;base64,ZGF0YVNjcmlwdFJhbiA9IHRydWU7"></script> + + <script> + test(function () { + assert_false(dataScriptRan, "data script ran"); + }, "Verify that data: as script src doesn't run with this policy"); + </script> + + <script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=default-src%20%27self%27+%27unsafe-inline%27'></script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_10.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_10.html.sub.headers new file mode 100644 index 0000000..6c0c0fd --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_10.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: script-src-1_10={{$id:uuid()}}; Path=/content-security-policy/script-src/ +Content-Security-Policy: default-src 'self' 'unsafe-inline'; report-uri ../support/report.py?op=put&reportID={{$id}}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_10_1.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_10_1.html new file mode 100644 index 0000000..f1bfee2 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_10_1.html
@@ -0,0 +1,20 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>data: as script src should run with a policy that specifies data: as an allowed source but not 'unsafe-inline'</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> +</head> +<body> + <h1>data: as script src should run with a policy that specifies data: as an allowed source but not 'unsafe-inline'</h1> + <div id='log'></div> + + <script src="10_1_support_1.js"></script> + + <script src="data:text/javascript;charset=utf-8;base64,ZGF0YVNjcmlwdFJhbiA9IHRydWU7"></script> + + <script src="10_1_support_2.js"></script> + + <script async defer src='../support/checkReport.sub.js?reportExists=false'></script> +</body> +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_10_1.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_10_1.html.sub.headers new file mode 100644 index 0000000..dfb6f34 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_10_1.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: script-src-1_10_1={{$id:uuid()}}; Path=/content-security-policy/script-src/ +Content-Security-Policy: script-src 'self' data:; report-uri ../support/report.py?op=put&reportID={{$id}} \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_2.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_2.html new file mode 100644 index 0000000..a41310d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_2.html
@@ -0,0 +1,22 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Inline script should not run without 'unsafe-inline' script-src directive.</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> + <script src='inlineTests.js'></script> +</head> +<body> + <h1>Inline script should not run without 'unsafe-inline' script-src directive, even for script-src *.</h1> + <div id='log'></div> + + <script> + t1.step(function() {assert_unreached('Unsafe inline script ran.');}); + </script> + + <img src='doesnotexist.jpg' onerror='t2.step(function() { assert_unreached("Unsafe inline event handler ran.") });'> + + <script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=script-src%20%27self%27'></script> + +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_2.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_2.html.sub.headers new file mode 100644 index 0000000..4cf9c695 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_2.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: script-src-1_2={{$id:uuid()}}; Path=/content-security-policy/script-src/ +Content-Security-Policy: script-src *; report-uri ../support/report.py?op=put&reportID={{$id}} \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_2_1.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_2_1.html new file mode 100644 index 0000000..255f5df --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_2_1.html
@@ -0,0 +1,23 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Inline script attached by DOM manipulation should not run without an 'unsafe-inline' script-src policy, even with default-src *</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> +</head> +<body> + <h1>Inline script attached by DOM manipulation should not run without an 'unsafe-inline' script-src policy, even with default-src *</h1> + <div id="log"></div> + + <div id=attachHere></div> + + <script id=emptyScript></script> + + <div id=emptyDiv></div> + + <script src="addInlineTestsWithDOMManipulation.js"></script> + + <script async defer src="../support/checkReport.sub.js?reportField=violated-directive&reportValue=script-src%20*"></script> + +</body> +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_2_1.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_2_1.html.sub.headers new file mode 100644 index 0000000..9c58f0e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_2_1.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: script-src-1_2_1={{$id:uuid()}}; Path=/content-security-policy/script-src/ +Content-Security-Policy: script-src *; report-uri ../support/report.py?op=put&reportID={{$id}} \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_3.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_3.html new file mode 100644 index 0000000..30e6f68 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_3.html
@@ -0,0 +1,20 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Positive test case: Inline script should run 'unsafe-inline' script-src directive.</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> + <script src='inlineSuccessTest.js'></script> +</head> +<body> + <h1>Positive test case: Inline script should run 'unsafe-inline' script-src directive.</h1> + <div id='log'></div> + + <script> + inlineRan = true; + </script> + + <script async defer src='../support/checkReport.sub.js?reportExists=false'></script> + +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_3.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_3.html.sub.headers new file mode 100644 index 0000000..8227c62 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_3.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: script-src-1_3={{$id:uuid()}}; Path=/content-security-policy/script-src/ +Content-Security-Policy: script-src 'self' 'unsafe-inline'; report-uri ../support/report.py?op=put&reportID={{$id}} \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_4.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_4.html new file mode 100644 index 0000000..5293183d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_4.html
@@ -0,0 +1,25 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>eval() should not run without 'unsafe-eval' script-src directive.</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> +</head> +<body> + <h1>eval() should not run without 'unsafe-eval' script-src directive.</h1> + <div id='log'></div> + + <script> + + var evalRan = false; + + test(function() {assert_throws(new EvalError(), function() { eval('evalRan = true;') })}, "eval() should throw without 'unsafe-eval' keyword source in script-src directive."); + + test(function() {assert_false(evalRan);}) + + </script> + + <script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=script-src%20%27self%27+%27unsafe-inline%27'></script> + +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_4.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_4.html.sub.headers new file mode 100644 index 0000000..28ad14b6 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_4.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: script-src-1_4={{$id:uuid()}}; Path=/content-security-policy/script-src/ +Content-Security-Policy: script-src 'self' 'unsafe-inline'; report-uri ../support/report.py?op=put&reportID={{$id}} \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_4_1.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_4_1.html new file mode 100644 index 0000000..31664a16 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_4_1.html
@@ -0,0 +1,26 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>setTimeout() and setInterval() should not run without 'unsafe-eval' script-src directive.</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> +</head> +<body> + <h1>setTimeout() and setInterval() should not run without 'unsafe-eval' script-src directive.</h1> + <div id='log'></div> + + <script> + var t1 = async_test("window.setTimeout()"); + var t2 = async_test("window.setInterval()"); + + onload = function() {t1.done(); t2.done()} + + window.setTimeout('t1.step(function() {assert_unreached("window.setTimeout() ran without unsafe-eval.")})',0); + window.setInterval('t2.step(function() {assert_unreached("window.setInterval() ran without unsafe-eval.")})',0); + + </script> + + <script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=script-src%20%27self%27+%27unsafe-eval%27'></script> + +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_4_1.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_4_1.html.sub.headers new file mode 100644 index 0000000..6bd48d1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_4_1.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: script-src-1_4_1={{$id:uuid()}}; Path=/content-security-policy/script-src/ +Content-Security-Policy: script-src 'self' 'unsafe-inline'; report-uri ../support/report.py?op=put&reportID={{$id}} \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_4_2.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_4_2.html new file mode 100644 index 0000000..3138293 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_4_2.html
@@ -0,0 +1,27 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Function() called as a constructor should throw without 'unsafe-eval' script-src directive.</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> +</head> +<body> + <h1>Function() called as a constructor should throw without 'unsafe-eval' script-src directive.</h1> + <div id='log'></div> + + <script> + + test(function() { + assert_throws( + new EvalError(), + function() { + var funq = new Function(''); + funq(); + })}, "Unsafe eval ran in Function() constructor."); + + </script> + + <script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=script-src%20%27self%27+%27unsafe-inline%27'></script> + +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_4_2.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_4_2.html.sub.headers new file mode 100644 index 0000000..314849b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-1_4_2.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: script-src-1_4_2={{$id:uuid()}}; Path=/content-security-policy/script-src/ +Content-Security-Policy: script-src 'self' 'unsafe-inline'; report-uri ../support/report.py?op=put&reportID={{$id}} \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_and_unsafe_eval_eval.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_and_unsafe_eval_eval.html new file mode 100644 index 0000000..96ef2496 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_and_unsafe_eval_eval.html
@@ -0,0 +1,31 @@ +<!DOCTYPE HTML> +<html> + +<head> + <title>Scripts injected via `eval` are allowed with `strict-dynamic` with `unsafe-eval`.</title> + <script src='/resources/testharness.js' nonce='dummy'></script> + <script src='/resources/testharnessreport.js' nonce='dummy'></script> + + <!-- CSP served: script-src 'strict-dynamic' 'nonce-dummy' 'unsafe-eval' --> +</head> + +<body> + <h1>Scripts injected via `eval` are allowed with `strict-dynamic` with `unsafe-eval`.</h1> + <div id='log'></div> + + <script nonce='dummy'> + var evalScriptRan = false; + async_test(function(t) { + window.addEventListener('securitypolicyviolation', t.unreached_func('No CSP violation report has fired.')); + try { + eval("evalScriptRan = true;"); + } catch (e) { + assert_unreached("`eval` should be allowed with `strict-dynamic` with `unsafe-eval`."); + } + assert_true(evalScriptRan); + t.done(); + }, "Script injected via `eval` is allowed with `strict-dynamic` with `unsafe-eval`."); + </script> +</body> + +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_and_unsafe_eval_eval.html.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_and_unsafe_eval_eval.html.headers new file mode 100644 index 0000000..dc5f30a0 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_and_unsafe_eval_eval.html.headers
@@ -0,0 +1,5 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Content-Security-Policy: script-src 'strict-dynamic' 'nonce-dummy' 'unsafe-eval'
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_and_unsafe_eval_new_function.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_and_unsafe_eval_new_function.html new file mode 100644 index 0000000..3041db05 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_and_unsafe_eval_new_function.html
@@ -0,0 +1,31 @@ +<!DOCTYPE HTML> +<html> + +<head> + <title>Scripts injected via `new Function()` are allowed with `strict-dynamic` with `unsafe-eval`.</title> + <script src='/resources/testharness.js' nonce='dummy'></script> + <script src='/resources/testharnessreport.js' nonce='dummy'></script> + + <!-- CSP served: script-src 'strict-dynamic' 'nonce-dummy' 'unsafe-eval' --> +</head> + +<body> + <h1>Scripts injected via `new Function()` are allowed with `strict-dynamic` with `unsafe-eval`.</h1> + <div id='log'></div> + + <script nonce='dummy'> + var newFunctionScriptRan = false; + async_test(function(t) { + window.addEventListener('securitypolicyviolation', t.unreached_func('No CSP violation report has fired.')); + try { + new Function('newFunctionScriptRan = true;')(); + } catch (e) { + assert_unreached("`new Function()` should be allowed with `strict-dynamic` with `unsafe-eval`."); + } + assert_true(newFunctionScriptRan); + t.done(); + }, "Script injected via `new Function()` is allowed with `strict-dynamic` with `unsafe-eval`."); + </script> +</body> + +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_and_unsafe_eval_new_function.html.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_and_unsafe_eval_new_function.html.headers new file mode 100644 index 0000000..dc5f30a0 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_and_unsafe_eval_new_function.html.headers
@@ -0,0 +1,5 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Content-Security-Policy: script-src 'strict-dynamic' 'nonce-dummy' 'unsafe-eval'
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_discard_whitelist.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_discard_whitelist.html new file mode 100644 index 0000000..4e19446 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_discard_whitelist.html
@@ -0,0 +1,32 @@ +<!DOCTYPE HTML> +<html> + +<head> + <title>Whitelists are discarded with `strict-dynamic` in the script-src directive.</title> + <script src='/resources/testharness.js' nonce='dummy'></script> + <script src='/resources/testharnessreport.js' nonce='dummy'></script> + + <!-- CSP served: script-src 'self' 'strict-dynamic' 'nonce-dummy' --> +</head> + +<body> + <h1>Whitelists are discarded with `strict-dynamic` in the script-src directive.</h1> + <div id='log'></div> + + <script nonce='dummy'> + async_test(function(t) { + window.addEventListener('message', t.step_func(function(e) { + if (e.data === 'whitelistedScript') { + assert_unreached('Whitelisted script without a correct nonce is not allowed with `strict-dynamic`.'); + } + })); + window.addEventListener('securitypolicyviolation', t.step_func_done(function(e) { + assert_equals(e.effectiveDirective, 'script-src'); + })); + }, 'Whitelisted script without a correct nonce is not allowed with `strict-dynamic`.'); + </script> + <script id='whitelistedScript' src='simpleSourcedScript.js'></script> + +</body> + +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_discard_whitelist.html.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_discard_whitelist.html.headers new file mode 100644 index 0000000..8499eb0 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_discard_whitelist.html.headers
@@ -0,0 +1,5 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Content-Security-Policy: script-src 'self' 'strict-dynamic' 'nonce-dummy'
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_double_policy_different_nonce.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_double_policy_different_nonce.html new file mode 100644 index 0000000..cd2ae8c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_double_policy_different_nonce.html
@@ -0,0 +1,68 @@ +<!DOCTYPE HTML> +<html> + +<head> + <title>A separate policy with more nonces works correctly with `strict-dynamic` in the script-src directive.</title> + <script src='/resources/testharness.js' nonce='dummy'></script> + <script src='/resources/testharnessreport.js' nonce='dummy'></script> + + <!-- CSP served: + 1) Content-Security-Policy: script-src 'strict-dynamic' 'nonce-dummy' + 2) Content-Security-Policy: script-src 'nonce-dummy' 'nonce-dummy2' + --> +</head> + +<body> + <h1>A separate policy with more nonces works correctly with `strict-dynamic` in the script-src directive.</h1> + <div id='log'></div> + + <script nonce='dummy'> + async_test(function(t) { + window.addEventListener('message', t.step_func(function(e) { + if (e.data === 'unNonced-appendChild') { + assert_unreached('Unnonced script injected via `appendChild` is not allowed with `strict-dynamic` + a nonce-only double policy.'); + } + })); + + window.addEventListener('securitypolicyviolation', t.step_func(function(violation) { + if (violation.blockedURI.split('?')[1] !== 'unNonced-appendChild') { + return; + } + assert_equals(violation.effectiveDirective, 'script-src'); + t.done(); + })); + + var e = document.createElement('script'); + e.id = 'unNonced-appendChild'; + e.src = 'simpleSourcedScript.js?' + e.id; + e.onload = t.unreached_func('OnLoad should not be triggered.'); + document.body.appendChild(e); + }, 'Unnonced script injected via `appendChild` is not allowed with `strict-dynamic` + a nonce-only double policy.'); + </script> + + <script nonce='dummy'> + async_test(function(t) { + window.addEventListener('message', t.step_func(function(e) { + if (e.data === 'nonced-appendChild') { + t.done(); + } + })); + + window.addEventListener('securitypolicyviolation', t.step_func(function(violation) { + if (violation.blockedURI.split('?')[1] !== 'nonced-appendChild') { + return; + } + assert_unreached('No CSP violation report has fired.'); + })); + + var e = document.createElement('script'); + e.setAttribute('nonce', 'dummy2'); + e.id = 'nonced-appendChild'; + e.src = 'simpleSourcedScript.js?' + e.id; + e.onerror = t.unreached_func('Error should not be triggered.'); + document.body.appendChild(e); + }, 'Script injected via `appendChild` with a correct nonce is allowed with `strict-dynamic` + a nonce-only double policy.'); + </script> +</body> + +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_double_policy_different_nonce.html.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_double_policy_different_nonce.html.headers new file mode 100644 index 0000000..63d96aa --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_double_policy_different_nonce.html.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Content-Security-Policy: script-src 'strict-dynamic' 'nonce-dummy' +Content-Security-Policy: script-src 'nonce-dummy' 'nonce-dummy2'
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_double_policy_honor_whitelist.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_double_policy_honor_whitelist.sub.html new file mode 100644 index 0000000..94490de1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_double_policy_honor_whitelist.sub.html
@@ -0,0 +1,61 @@ +<!DOCTYPE HTML> +<html> + +<head> + <title>Whitelists in a separate policy are honored with `strict-dynamic` in the script-src directive.</title> + <script src='/resources/testharness.js' nonce='dummy'></script> + <script src='/resources/testharnessreport.js' nonce='dummy'></script> + + <!-- CSP served: + 1) Content-Security-Policy: script-src 'strict-dynamic' 'nonce-dummy' + 2) Content-Security-Policy: script-src 'self' 'nonce-dummy' + --> +</head> + +<body> + <h1>Whitelists in a separate policy are honored with `strict-dynamic` in the script-src directive.</h1> + <div id='log'></div> + + <script nonce='dummy'> + async_test(function(t) { + window.addEventListener('message', t.step_func(function(e) { + if (e.data === 'whitelisted-appendChild') { + t.done(); + } + })); + window.addEventListener('securitypolicyviolation', t.step_func(function(violation) { + if (violation.blockedURI.split('?')[1] !== 'whitelisted-appendChild') { + return; + } + assert_unreached('Script injected via `appendChild` is allowed with `strict-dynamic` + a nonce+whitelist double policy.'); + })); + + var e = document.createElement('script'); + e.id = 'whitelisted-appendChild'; + e.src = 'simpleSourcedScript.js?' + e.id; + e.onerror = t.unreached_func('Error should not be triggered.'); + document.body.appendChild(e); + }, 'Script injected via `appendChild` is allowed with `strict-dynamic` + a nonce+whitelist double policy.'); + </script> + + <script nonce='dummy'> + async_test(function(t) { + window.addEventListener('securitypolicyviolation', t.step_func(function(violation) { + if (violation.blockedURI.split('?')[1] !== 'nonWhitelisted-appendChild') { + return; + } + assert_equals(violation.effectiveDirective, 'script-src'); + assert_equals(violation.originalPolicy, "script-src 'self' 'nonce-dummy'"); + t.done(); + })); + + var e = document.createElement('script'); + e.id = 'nonWhitelisted-appendChild'; + e.src = '{{location[scheme]}}://{{domains[www2]}}:{{ports[http][0]}}/nonexisting.js?' + e.id; + e.onload = t.unreached_func('OnLoad should not be triggered.'); + document.body.appendChild(e); + }, 'Non-whitelisted script injected via `appendChild` is not allowed with `strict-dynamic` + a nonce+whitelist double policy.'); + </script> +</body> + +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_double_policy_honor_whitelist.sub.html.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_double_policy_honor_whitelist.sub.html.headers new file mode 100644 index 0000000..5b4078e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_double_policy_honor_whitelist.sub.html.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Content-Security-Policy: script-src 'strict-dynamic' 'nonce-dummy' +Content-Security-Policy: script-src 'self' 'nonce-dummy'
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_double_policy_report_only.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_double_policy_report_only.html new file mode 100644 index 0000000..1e057ba9 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_double_policy_report_only.html
@@ -0,0 +1,44 @@ +<!DOCTYPE HTML> +<html> + +<head> + <title>A separate Report-Only policy does not influence `strict-dynamic` in the script-src directive.</title> + <script src='/resources/testharness.js' nonce='dummy'></script> + <script src='/resources/testharnessreport.js' nonce='dummy'></script> + + <!-- CSP served: + 1) Content-Security-Policy: script-src 'strict-dynamic' 'nonce-dummy' + 2) Content-Security-Policy-Report-Only: script-src 'none' + --> +</head> + +<body> + <h1>A separate Report-Only policy does not influence `strict-dynamic` in the script-src directive.</h1> + <div id='log'></div> + + <script nonce='dummy'> + async_test(function(t) { + window.addEventListener('message', t.step_func(function(e) { + if (e.data === 'appendChild-reportOnly') { + t.done(); + } + })); + window.addEventListener('securitypolicyviolation', t.step_func(function(violation) { + if (violation.blockedURI.split('?')[1] !== 'appendChild-reportOnly') { + return; + } + assert_equals(violation.effectiveDirective, 'script-src'); + // Check that the violation comes from the Report-Only policy. + assert_equals(violation.originalPolicy, "script-src 'none'"); + t.done(); + })); + var e = document.createElement('script'); + e.id = 'appendChild-reportOnly'; + e.src = 'simpleSourcedScript.js?' + e.id; + e.onerror = t.unreached_func('Error should not be triggered.'); + document.body.appendChild(e); + }, 'Script injected via `appendChild` is allowed with `strict-dynamic` + Report-Only `script-src \'none\'` policy.'); + </script> +</body> + +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_double_policy_report_only.html.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_double_policy_report_only.html.headers new file mode 100644 index 0000000..7883f80e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_double_policy_report_only.html.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Content-Security-Policy: script-src 'strict-dynamic' 'nonce-dummy' +Content-Security-Policy-Report-Only: script-src 'none'
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_eval.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_eval.html new file mode 100644 index 0000000..62fda4f --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_eval.html
@@ -0,0 +1,37 @@ +<!DOCTYPE HTML> +<html> + +<head> + <title>Scripts injected via `eval` are not allowed with `strict-dynamic` without `unsafe-eval`.</title> + <script src='/resources/testharness.js' nonce='dummy'></script> + <script src='/resources/testharnessreport.js' nonce='dummy'></script> + + <!-- CSP served: script-src 'strict-dynamic' 'nonce-dummy' --> +</head> + +<body> + <h1>Scripts injected via `eval` are not allowed with `strict-dynamic` without `unsafe-eval`.</h1> + <div id='log'></div> + + <script nonce='dummy'> + var evalScriptRan = false; + + async_test(function(t) { + window.addEventListener('securitypolicyviolation', t.step_func_done(function(e) { + assert_false(evalScriptRan); + assert_equals(e.effectiveDirective, 'script-src'); + })); + + assert_throws(new Error(), + function() { + try { + eval("evalScriptRan = true;"); + } catch (e) { + throw new Error(); + } + }); + }, "Script injected via `eval` is not allowed with `strict-dynamic` without `unsafe-eval`."); + </script> +</body> + +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_eval.html.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_eval.html.headers new file mode 100644 index 0000000..b7918c9 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_eval.html.headers
@@ -0,0 +1,5 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Content-Security-Policy: script-src 'strict-dynamic' 'nonce-dummy'
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_hashes.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_hashes.html new file mode 100644 index 0000000..acb9f00d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_hashes.html
@@ -0,0 +1,52 @@ +<!DOCTYPE HTML> +<html> + +<head> + <title>`strict-dynamic` allows scripts matching hashes present in the policy.</title> + <script src='/resources/testharness.js' nonce='dummy'></script> + <script src='/resources/testharnessreport.js' nonce='dummy'></script> + + <!-- CSP served: script-src 'strict-dynamic' 'nonce-dummy' 'sha256-yU6Q7nD1TCBB9JvY06iIJ8ONLOPU4g8ml5JCDgXkv+M=' 'sha256-IFt1v6itHgqlrtInbPm/y7qyWcAlDbPgZM+92C5EZ5o=' --> +</head> + +<body> + <h1>`strict-dynamic` allows scripts matching hashes present in the policy.</h1> + <div id='log'></div> + + <script nonce='dummy'> + var hashScriptRan = false; + window.addEventListener('securitypolicyviolation', function(e) { + assert_unreached('No CSP violation report has fired.'); + }); + </script> + + <!-- Hash: 'sha256-yU6Q7nD1TCBB9JvY06iIJ8ONLOPU4g8ml5JCDgXkv+M=' --> + <script> + hashScriptRan = true; + </script> + + <script nonce='dummy'> + async_test(function(t) { + assert_true(hashScriptRan); + t.done(); + }, "Script matching SHA256 hash is allowed with `strict-dynamic`."); + </script> + + <!-- Hash: 'sha256-IFt1v6itHgqlrtInbPm/y7qyWcAlDbPgZM+92C5EZ5o=' --> + <script> + async_test(function(t) { + window.addEventListener('message', t.step_func(function(e) { + if (e.data === 'hashScript') { + t.done(); + } + })); + var e = document.createElement('script'); + e.id = 'hashScript'; + e.src = 'simpleSourcedScript.js?' + e.id; + e.onerror = t.unreached_func('Error should not be triggered.'); + document.body.appendChild(e); + }, 'Script injected via `appendChild` from a script matching SHA256 hash is allowed with `strict-dynamic`.'); + </script> +</body> + +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_hashes.html.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_hashes.html.headers new file mode 100644 index 0000000..f48fca3 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_hashes.html.headers
@@ -0,0 +1,5 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Content-Security-Policy: script-src 'strict-dynamic' 'nonce-dummy' 'sha256-yU6Q7nD1TCBB9JvY06iIJ8ONLOPU4g8ml5JCDgXkv+M=' 'sha256-IFt1v6itHgqlrtInbPm/y7qyWcAlDbPgZM+92C5EZ5o='
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_in_img-src.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_in_img-src.html new file mode 100644 index 0000000..d640421cb --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_in_img-src.html
@@ -0,0 +1,32 @@ +<!DOCTYPE HTML> +<html> + +<head> + <title>`strict-dynamic` does not drop whitelists in `img-src`.</title> + <script src='/resources/testharness.js' nonce='dummy'></script> + <script src='/resources/testharnessreport.js' nonce='dummy'></script> + + <!-- CSP served: img-src 'strict-dynamic' 'self' --> +</head> + +<body> + <h1>`strict-dynamic` does not drop whitelists in `img-src`.</h1> + <div id='log'></div> + + <script nonce='dummy'> + window.addEventListener('securitypolicyviolation', function(e) { + assert_unreached('No CSP violation report has fired.'); + }); + + async_test(function(t) { + var e = document.createElement('img'); + e.id = 'whitelistedImage'; + e.src = '/content-security-policy/support/pass.png'; + e.onerror = t.unreached_func('Error should not be triggered.'); + e.onload = t.step_func_done(); + document.body.appendChild(e); + }, '`strict-dynamic` does not drop whitelists in `img-src`.'); + </script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_in_img-src.html.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_in_img-src.html.headers new file mode 100644 index 0000000..75a41c9e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_in_img-src.html.headers
@@ -0,0 +1,5 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Content-Security-Policy: img-src 'strict-dynamic' 'self'
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_javascript_uri.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_javascript_uri.html new file mode 100644 index 0000000..3a6151b1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_javascript_uri.html
@@ -0,0 +1,32 @@ +<!DOCTYPE HTML> +<html> + +<head> + <title>Script injected via `javascript:` URIs are not allowed with `strict-dynamic`.</title> + <script src='/resources/testharness.js' nonce='dummy'></script> + <script src='/resources/testharnessreport.js' nonce='dummy'></script> + + <!-- CSP served: script-src 'strict-dynamic' 'nonce-dummy' --> +</head> + +<body> + <h1>Script injected via `javascript:` URIs are not allowed with `strict-dynamic`.</h1> + <div id='log'></div> + <a id='javascriptUri' href='javascript:javascriptUriScriptRan = true;'></a> + + <script nonce='dummy'> + var javascriptUriScriptRan = false; + + async_test(function(t) { + window.addEventListener('securitypolicyviolation', t.step_func_done(function(e) { + assert_false(javascriptUriScriptRan); + assert_equals(e.effectiveDirective, 'script-src'); + })); + + document.getElementById('javascriptUri').click(); + assert_false(javascriptUriScriptRan); + }, "Script injected via `javascript:` URIs are not allowed with `strict-dynamic`."); + </script> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_javascript_uri.html.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_javascript_uri.html.headers new file mode 100644 index 0000000..b7918c9 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_javascript_uri.html.headers
@@ -0,0 +1,5 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Content-Security-Policy: script-src 'strict-dynamic' 'nonce-dummy'
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_meta_tag.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_meta_tag.html new file mode 100644 index 0000000..fa38b65 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_meta_tag.html
@@ -0,0 +1,76 @@ +<!DOCTYPE HTML> +<html> + +<head> + <title>A `strict-dynamic` policy can be served in a META tag.</title> + <meta http-equiv="Content-Security-Policy" content="script-src 'strict-dynamic' 'nonce-dummy'"> + <script src='/resources/testharness.js' nonce='dummy'></script> + <script src='/resources/testharnessreport.js' nonce='dummy'></script> + + <!-- CSP served: script-src 'strict-dynamic' 'nonce-dummy' --> +</head> + +<body> + <h1>A `strict-dynamic` policy can be served in a META tag.</h1> + <div id='log'></div> + + <script nonce='dummy'> + window.addEventListener('securitypolicyviolation', function(e) { + assert_unreached('No CSP violation report has fired.'); + }); + + async_test(function(t) { + window.addEventListener('message', t.step_func(function(e) { + if (e.data === 'appendChild') { + t.done(); + } + })); + var e = document.createElement('script'); + e.id = 'appendChild'; + e.src = 'simpleSourcedScript.js?' + e.id; + e.onerror = t.unreached_func('Error should not be triggered.'); + document.body.appendChild(e); + }, 'Script injected via `appendChild` is allowed with `strict-dynamic`.'); + </script> + + <script nonce='dummy'> + async_test(function(t) { + window.addEventListener('message', t.step_func(function(e) { + if (e.data === 'appendChild-incorrectNonce') { + t.done(); + } + })); + var e = document.createElement('script'); + e.id = 'appendChild-incorrectNonce'; + e.src = 'simpleSourcedScript.js?' + e.id; + e.setAttribute('nonce', 'wrong'); + e.onerror = t.unreached_func('Error should not be triggered.'); + document.body.appendChild(e); + }, 'Script injected via `appendChild` is allowed with `strict-dynamic`, even if it carries an incorrect nonce.'); + </script> + + <script nonce='dummy'> + async_test(function(t) { + window.appendChildViaTextContent = t.step_func_done(); + var e = document.createElement('script'); + e.id = 'appendChild-textContent'; + e.textContent = "appendChildViaTextContent();"; + e.onerror = t.unreached_func('Error should not be triggered.'); + document.body.appendChild(e); + }, 'Script injected via `appendChild` populated via `textContent` is allowed with `strict-dynamic`.'); + </script> + + <script nonce='dummy'> + async_test(function(t) { + window.appendChildViaTextContentIncorrectNonce = t.step_func_done(); + var e = document.createElement('script'); + e.id = 'appendChild-textContent-incorrectNonce'; + e.setAttribute('nonce', 'wrong'); + e.textContent = "appendChildViaTextContentIncorrectNonce();"; + e.onerror = t.unreached_func('Error should not be triggered.'); + document.body.appendChild(e); + }, 'Script injected via `appendChild` populated via `textContent` is allowed with `strict-dynamic`, even if it carries an incorrect nonce.'); + </script> +</body> + +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_meta_tag.html.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_meta_tag.html.headers new file mode 100644 index 0000000..519dcaa --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_meta_tag.html.headers
@@ -0,0 +1,4 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_new_function.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_new_function.html new file mode 100644 index 0000000..2b75276 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_new_function.html
@@ -0,0 +1,37 @@ +<!DOCTYPE HTML> +<html> + +<head> + <title>Scripts injected via `new Function()` are not allowed with `strict-dynamic` without `unsafe-eval`.</title> + <script src='/resources/testharness.js' nonce='dummy'></script> + <script src='/resources/testharnessreport.js' nonce='dummy'></script> + + <!-- CSP served: script-src 'strict-dynamic' 'nonce-dummy' --> +</head> + +<body> + <h1>Scripts injected via `new Function()` are not allowed with `strict-dynamic` without `unsafe-eval`.</h1> + <div id='log'></div> + + <script nonce='dummy'> + var newFunctionScriptRan = false; + + async_test(function(t) { + window.addEventListener('securitypolicyviolation', t.step_func_done(function(e) { + assert_false(newFunctionScriptRan); + assert_equals(e.effectiveDirective, 'script-src'); + })); + + assert_throws(new Error(), + function() { + try { + new Function('newFunctionScriptRan = true;')(); + } catch (e) { + throw new Error(); + } + }); + }, "Script injected via 'eval' is not allowed with 'strict-dynamic' without 'unsafe-eval'."); + </script> +</body> + +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_new_function.html.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_new_function.html.headers new file mode 100644 index 0000000..b7918c9 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_new_function.html.headers
@@ -0,0 +1,5 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Content-Security-Policy: script-src 'strict-dynamic' 'nonce-dummy'
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_non_parser_inserted.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_non_parser_inserted.html new file mode 100644 index 0000000..63b7a6124 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_non_parser_inserted.html
@@ -0,0 +1,76 @@ +<!DOCTYPE HTML> +<html> + +<head> + <title>Nonced and non parser-inserted scripts should run with `strict-dynamic` in the script-src directive.</title> + <script src='/resources/testharness.js' nonce='dummy'></script> + <script src='/resources/testharnessreport.js' nonce='dummy'></script> + + <!-- CSP served: script-src 'strict-dynamic' 'nonce-dummy' --> +</head> + +<body> + <h1>Nonced and non parser-inserted scripts should run with `strict-dynamic` in the script-src directive.</h1> + <div id='log'></div> + + <script nonce='dummy'> + window.addEventListener('securitypolicyviolation', function(e) { + assert_unreached('No CSP violation report has fired.'); + }); + + async_test(function(t) { + window.addEventListener('message', t.step_func(function(e) { + if (e.data === 'appendChild') { + t.done(); + } + })); + var e = document.createElement('script'); + e.id = 'appendChild'; + e.src = 'simpleSourcedScript.js?' + e.id; + e.onerror = t.unreached_func('Error should not be triggered.'); + document.body.appendChild(e); + }, 'Script injected via `appendChild` is allowed with `strict-dynamic`.'); + </script> + + <script nonce='dummy'> + async_test(function(t) { + window.addEventListener('message', t.step_func(function(e) { + if (e.data === 'appendChild-incorrectNonce') { + t.done(); + } + })); + var e = document.createElement('script'); + e.id = 'appendChild-incorrectNonce'; + e.src = 'simpleSourcedScript.js?' + e.id; + e.setAttribute('nonce', 'wrong'); + e.onerror = t.unreached_func('Error should not be triggered.'); + document.body.appendChild(e); + }, 'Script injected via `appendChild` is allowed with `strict-dynamic`, even if it carries an incorrect nonce.'); + </script> + + <script nonce='dummy'> + async_test(function(t) { + window.appendChildViaTextContent = t.step_func_done(); + var e = document.createElement('script'); + e.id = 'appendChild-textContent'; + e.textContent = "appendChildViaTextContent();"; + e.onerror = t.unreached_func('Error should not be triggered.'); + document.body.appendChild(e); + }, 'Script injected via `appendChild` populated via `textContent` is allowed with `strict-dynamic`.'); + </script> + + <script nonce='dummy'> + async_test(function(t) { + window.appendChildViaTextContentIncorrectNonce = t.step_func_done(); + var e = document.createElement('script'); + e.id = 'appendChild-textContent-incorrectNonce'; + e.setAttribute('nonce', 'wrong'); + e.textContent = "appendChildViaTextContentIncorrectNonce();"; + e.onerror = t.unreached_func('Error should not be triggered.'); + document.body.appendChild(e); + }, 'Script injected via `appendChild` populated via `textContent` is allowed with `strict-dynamic`, even if it carries an incorrect nonce.'); + </script> + +</body> + +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_non_parser_inserted.html.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_non_parser_inserted.html.headers new file mode 100644 index 0000000..b7918c9 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_non_parser_inserted.html.headers
@@ -0,0 +1,5 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Content-Security-Policy: script-src 'strict-dynamic' 'nonce-dummy'
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_non_parser_inserted_incorrect_nonce.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_non_parser_inserted_incorrect_nonce.html new file mode 100644 index 0000000..19d2ae1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_non_parser_inserted_incorrect_nonce.html
@@ -0,0 +1,29 @@ +<!DOCTYPE HTML> +<html> + +<head> + <title>Scripts without a correct nonce should not run with `strict-dynamic` in the script-src directive.</title> + <script src='/resources/testharness.js' nonce='dummy'></script> + <script src='/resources/testharnessreport.js' nonce='dummy'></script> + + <!-- CSP served: script-src 'strict-dynamic' 'nonce-dummy' --> +</head> + +<body> + <h1>Scripts without a correct nonce should not run with `strict-dynamic` in the script-src directive.</h1> + <div id='log'></div> + + <script nonce='dummy'> + async_test(function(t) { + window.addEventListener('securitypolicyviolation', t.step_func_done(function(e) { + assert_equals(e.effectiveDirective, 'script-src'); + })); + }, 'All the expected CSP violation reports have been fired.'); + </script> + + <script nonce='wrong'> + assert_unreached('Inline script with an incorrect nonce should not be executed.'); + </script> +</body> + +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_non_parser_inserted_incorrect_nonce.html.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_non_parser_inserted_incorrect_nonce.html.headers new file mode 100644 index 0000000..b7918c9 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_non_parser_inserted_incorrect_nonce.html.headers
@@ -0,0 +1,5 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Content-Security-Policy: script-src 'strict-dynamic' 'nonce-dummy'
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_parser_inserted.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_parser_inserted.html new file mode 100644 index 0000000..c167e5ef --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_parser_inserted.html
@@ -0,0 +1,205 @@ +<!DOCTYPE HTML> +<html> + +<head> + <title>Parser-inserted scripts without a correct nonce are not allowed with `strict-dynamic` in the script-src directive.</title> + <script src='/resources/testharness.js' nonce='dummy'></script> + <script src='/resources/testharnessreport.js' nonce='dummy'></script> + + <!-- CSP served: script-src 'strict-dynamic' 'nonce-dummy' --> +</head> + +<body> + <h1>Parser-inserted scripts without a correct nonce are not allowed with `strict-dynamic` in the script-src directive.</h1> + <div id='log'></div> + + <script nonce='dummy'> + async_test(function(t) { + window.addEventListener('message', t.step_func(function(e) { + if (e.data === 'documentWrite') { + assert_unreached('Parser-inserted script via `document.write` without a correct nonce is not allowed with `strict-dynamic`.'); + } + })); + window.addEventListener('securitypolicyviolation', t.step_func(function(violation) { + if (violation.blockedURI.split('?')[1] !== 'documentWrite') { + return; + } + assert_equals(violation.effectiveDirective, 'script-src'); + t.done(); + })); + + document.write('<scr' + 'ipt id="documentWrite" src="simpleSourcedScript.js?documentWrite"></scr' + 'ipt>'); + }, 'Parser-inserted script via `document.write` without a correct nonce is not allowed with `strict-dynamic`.'); + </script> + + <script nonce='dummy'> + async_test(function(t) { + window.addEventListener('message', t.step_func(function(e) { + if (e.data === 'documentWriteln') { + assert_unreached('Parser-inserted script via `document.writeln` without a correct nonce is not allowed with `strict-dynamic`.'); + } + })); + window.addEventListener('securitypolicyviolation', t.step_func(function(violation) { + if (violation.blockedURI.split('?')[1] !== 'documentWriteln') { + return; + } + assert_equals(violation.effectiveDirective, 'script-src'); + t.done(); + })); + + document.writeln('<scr' + 'ipt id="documentWriteln" src="simpleSourcedScript.js?documentWriteln"></scr' + 'ipt>'); + }, 'Parser-inserted script via `document.writeln` without a correct nonce is not allowed with `strict-dynamic`.'); + </script> + + <script nonce='dummy'> + async_test(function(t) { + window.addEventListener('message', t.step_func(function(e) { + if (e.data === 'documentWrite-deferred') { + assert_unreached('Parser-inserted deferred script via `document.write` without a correct nonce is not allowed with `strict-dynamic`.'); + } + })); + window.addEventListener('securitypolicyviolation', t.step_func(function(violation) { + if (violation.blockedURI.split('?')[1] !== 'documentWrite-deferred') { + return; + } + assert_equals(violation.effectiveDirective, 'script-src'); + t.done(); + })); + + document.write('<scr' + 'ipt defer id="documentWrite-deferred" src="simpleSourcedScript.js?documentWrite-deferred"></scr' + 'ipt>'); + }, 'Parser-inserted deferred script via `document.write` without a correct nonce is not allowed with `strict-dynamic`.'); + </script> + + <script nonce='dummy'> + async_test(function(t) { + window.addEventListener('message', t.step_func(function(e) { + if (e.data === 'documentWriteln-deferred') { + assert_unreached('Parser-inserted deferred script via `document.writeln` without a correct nonce is not allowed with `strict-dynamic`.'); + } + })); + window.addEventListener('securitypolicyviolation', t.step_func(function(violation) { + if (violation.blockedURI.split('?')[1] !== 'documentWriteln-deferred') { + return; + } + assert_equals(violation.effectiveDirective, 'script-src'); + t.done(); + })); + + document.writeln('<scr' + 'ipt defer id="documentWriteln-deferred" src="simpleSourcedScript.js?documentWriteln-deferred"></scr' + 'ipt>'); + }, 'Parser-inserted deferred script via `document.writeln` without a correct nonce is not allowed with `strict-dynamic`.'); + </script> + + <script nonce='dummy'> + async_test(function(t) { + window.addEventListener('message', t.step_func(function(e) { + if (e.data === 'documentWrite-async') { + assert_unreached('Parser-inserted async script via `document.write` without a correct nonce is not allowed with `strict-dynamic`.'); + } + })); + window.addEventListener('securitypolicyviolation', t.step_func(function(violation) { + if (violation.blockedURI.split('?')[1] !== 'documentWrite-async') { + return; + } + assert_equals(violation.effectiveDirective, 'script-src'); + t.done(); + })); + + document.write('<scr' + 'ipt async id="documentWrite-async" src="simpleSourcedScript.js?documentWrite-async"></scr' + 'ipt>'); + }, 'Parser-inserted async script via `document.write` without a correct nonce is not allowed with `strict-dynamic`.'); + </script> + + <script nonce='dummy'> + async_test(function(t) { + window.addEventListener('message', t.step_func(function(e) { + if (e.data === 'documentWriteln-async') { + assert_unreached('Parser-inserted async script via `document.writeln` without a correct nonce is not allowed with `strict-dynamic`.'); + } + })); + window.addEventListener('securitypolicyviolation', t.step_func(function(violation) { + if (violation.blockedURI.split('?')[1] !== 'documentWriteln-async') { + return; + } + assert_equals(violation.effectiveDirective, 'script-src'); + t.done(); + })); + + document.writeln('<scr' + 'ipt async id="documentWriteln-async" src="simpleSourcedScript.js?documentWriteln-async"></scr' + 'ipt>'); + }, 'Parser-inserted async script via `document.writeln` without a correct nonce is not allowed with `strict-dynamic`.'); + </script> + + <script nonce='dummy'> + async_test(function(t) { + window.addEventListener('message', t.step_func(function(e) { + if (e.data === 'documentWrite-deferred-async') { + assert_unreached('Parser-inserted deferred async script via `document.write` without a correct nonce is not allowed with `strict-dynamic`.'); + } + })); + window.addEventListener('securitypolicyviolation', t.step_func(function(violation) { + if (violation.blockedURI.split('?')[1] !== 'documentWrite-deferred-async') { + return; + } + assert_equals(violation.effectiveDirective, 'script-src'); + t.done(); + })); + + document.write('<scr' + 'ipt defer async id="documentWrite-deferred-async" src="simpleSourcedScript.js?documentWrite-deferred-async"></scr' + 'ipt>'); + }, 'Parser-inserted deferred async script via `document.write` without a correct nonce is not allowed with `strict-dynamic`.'); + </script> + + <script nonce='dummy'> + async_test(function(t) { + window.addEventListener('message', t.step_func(function(e) { + if (e.data === 'documentWriteln-deferred-async') { + assert_unreached('Parser-inserted deferred async script via `document.writeln` without a correct nonce is not allowed with `strict-dynamic`.'); + } + })); + window.addEventListener('securitypolicyviolation', t.step_func(function(violation) { + if (violation.blockedURI.split('?')[1] !== 'documentWriteln-deferred-async') { + return; + } + assert_equals(violation.effectiveDirective, 'script-src'); + t.done(); + })); + + document.writeln('<scr' + 'ipt defer async id="documentWriteln-deferred-async " src="simpleSourcedScript.js?documentWriteln-deferred-async "></scr' + 'ipt>'); + }, 'Parser-inserted deferred async script via `document.writeln` without a correct nonce is not allowed with `strict-dynamic`.'); + </script> + + <script nonce='dummy'> + var innerHTMLScriptRan = false; + async_test(function(t) { + window.addEventListener('securitypolicyviolation', t.step_func(function(violation) { + if (violation.target.id !== 'innerHTML') { + return; + } + assert_false(innerHTMLScriptRan); + assert_equals(violation.effectiveDirective, 'script-src'); + t.done(); + })); + + var e = document.createElement('div'); + e.innerHTML = "<img id='innerHTML' src='/nonexisting.jpg' onerror='innerHTMLScriptRan = true;' style='display:none'>"; + document.body.appendChild(e); + }, 'Script injected via `innerHTML` is not allowed with `strict-dynamic`.'); + </script> + + <script nonce='dummy'> + var insertAdjacentHTMLScriptRan = false; + async_test(function(t) { + window.addEventListener('securitypolicyviolation', t.step_func(function(violation) { + if (violation.target.id !== 'insertAdjacentHTML') { + return; + } + assert_false(insertAdjacentHTMLScriptRan); + assert_equals(violation.effectiveDirective, 'script-src'); + t.done(); + })); + + var e = document.createElement('div'); + e.insertAdjacentHTML('afterbegin', "<img id='insertAdjacentHTML' src='/nonexisting.jpg' onerror='insertAdjacentHTMLScriptRan = true;' style='display:none'>"); + document.body.appendChild(e); + }, 'Script injected via `insertAdjacentHTML` is not allowed with `strict-dynamic`.'); + </script> +</body> + +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_parser_inserted.html.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_parser_inserted.html.headers new file mode 100644 index 0000000..b7918c9 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_parser_inserted.html.headers
@@ -0,0 +1,5 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Content-Security-Policy: script-src 'strict-dynamic' 'nonce-dummy'
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_parser_inserted_correct_nonce.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_parser_inserted_correct_nonce.html new file mode 100644 index 0000000..9368089 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_parser_inserted_correct_nonce.html
@@ -0,0 +1,110 @@ +<!DOCTYPE HTML> +<html> + +<head> + <title>Parser-inserted scripts with a correct nonce are allowed with `strict-dynamic` in the script-src directive.</title> + <script src='/resources/testharness.js' nonce='dummy'></script> + <script src='/resources/testharnessreport.js' nonce='dummy'></script> + + <!-- CSP served: script-src 'strict-dynamic' 'nonce-dummy' --> +</head> + +<body> + <h1>Parser-inserted scripts with a correct nonce are allowed with `strict-dynamic` in the script-src directive.</h1> + <div id='log'></div> + + <script nonce='dummy'> + window.addEventListener('securitypolicyviolation', function(e) { + assert_unreached('No CSP violation report has fired.'); + }); + + async_test(function(t) { + window.addEventListener('message', t.step_func(function(e) { + if (e.data === 'documentWrite') { + t.done(); + } + })); + document.write('<scr' + 'ipt nonce="dummy" id="documentWrite" src="simpleSourcedScript.js"></scr' + 'ipt>'); + }, 'Parser-inserted script via `document.write` with a correct nonce is allowed with `strict-dynamic`.'); + </script> + + <script nonce='dummy'> + async_test(function(t) { + window.addEventListener('message', t.step_func(function(e) { + if (e.data === 'documentWriteln') { + t.done(); + } + })); + document.writeln('<scr' + 'ipt nonce="dummy" id="documentWriteln" src="simpleSourcedScript.js"></scr' + 'ipt>'); + }, 'Parser-inserted script via `document.writeln` with a correct nonce is allowed with `strict-dynamic`.'); + </script> + + <script nonce='dummy'> + async_test(function(t) { + window.addEventListener('message', t.step_func(function(e) { + if (e.data === 'documentWrite-defer') { + t.done(); + } + })); + document.write('<scr' + 'ipt defer nonce="dummy" id="documentWrite-defer" src="simpleSourcedScript.js"></scr' + 'ipt>'); + }, 'Parser-inserted deferred script via `document.write` with a correct nonce is allowed with `strict-dynamic`.'); + </script> + + <script nonce='dummy'> + async_test(function(t) { + window.addEventListener('message', t.step_func(function(e) { + if (e.data === 'documentWriteln-defer') { + t.done(); + } + })); + document.writeln('<scr' + 'ipt defer nonce="dummy" id="documentWriteln-defer" src="simpleSourcedScript.js"></scr' + 'ipt>'); + }, 'Parser-inserted deferred script via `document.writeln` with a correct nonce is allowed with `strict-dynamic`.'); + </script> + + <script nonce='dummy'> + async_test(function(t) { + window.addEventListener('message', t.step_func(function(e) { + if (e.data === 'documentWrite-async') { + t.done(); + } + })); + document.write('<scr' + 'ipt async nonce="dummy" id="documentWrite-async" src="simpleSourcedScript.js"></scr' + 'ipt>'); + }, 'Parser-inserted async script via `document.write` with a correct nonce is allowed with `strict-dynamic`.'); + </script> + + <script nonce='dummy'> + async_test(function(t) { + window.addEventListener('message', t.step_func(function(e) { + if (e.data === 'documentWriteln-async') { + t.done(); + } + })); + document.writeln('<scr' + 'ipt async nonce="dummy" id="documentWriteln-async" src="simpleSourcedScript.js"></scr' + 'ipt>'); + }, 'Parser-inserted async script via `document.writeln` with a correct nonce is allowed with `strict-dynamic`.'); + </script> + + <script nonce='dummy'> + async_test(function(t) { + window.addEventListener('message', t.step_func(function(e) { + if (e.data === 'documentWrite-defer-async') { + t.done(); + } + })); + document.write('<scr' + 'ipt defer async nonce="dummy" id="documentWrite-defer-async" src="simpleSourcedScript.js"></scr' + 'ipt>'); + }, 'Parser-inserted deferred async script via `document.write` with a correct nonce is allowed with `strict-dynamic`.'); + </script> + + <script nonce='dummy'> + async_test(function(t) { + window.addEventListener('message', t.step_func(function(e) { + if (e.data === 'documentWriteln-defer-async') { + t.done(); + } + })); + document.writeln('<scr' + 'ipt defer async nonce="dummy" id="documentWriteln-defer-async" src="simpleSourcedScript.js"></scr' + 'ipt>'); + }, 'Parser-inserted deferred async script via `document.writeln` with a correct nonce is allowed with `strict-dynamic`.'); + </script> + +</body> + +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_parser_inserted_correct_nonce.html.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_parser_inserted_correct_nonce.html.headers new file mode 100644 index 0000000..b7918c9 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/script-src-strict_dynamic_parser_inserted_correct_nonce.html.headers
@@ -0,0 +1,5 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Content-Security-Policy: script-src 'strict-dynamic' 'nonce-dummy'
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/simpleSourcedScript.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/simpleSourcedScript.js new file mode 100644 index 0000000..deca8650 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/script-src/simpleSourcedScript.js
@@ -0,0 +1 @@ +window.postMessage(document.currentScript.id, "*");
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/securitypolicyviolation/blockeduri-eval.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/securitypolicyviolation/blockeduri-eval.html new file mode 100644 index 0000000..c9d74e6 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/securitypolicyviolation/blockeduri-eval.html
@@ -0,0 +1,19 @@ +<!doctype html> +<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline'"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> + async_test(t => { + var watcher = new EventWatcher(t, document, 'securitypolicyviolation'); + watcher.wait_for('securitypolicyviolation').then(t.step_func_done(e => { + assert_equals(e.blockedURI, "eval"); + assert_equals(e.lineNumber, 14); + })); + + try { + eval("assert_unreached('eval() should be blocked."); + } catch (e) { + assert_equals(e.name, 'EvalError'); + } + }, "Eval violations have a blockedURI of 'eval'"); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/securitypolicyviolation/blockeduri-inline.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/securitypolicyviolation/blockeduri-inline.html new file mode 100644 index 0000000..c4862337 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/securitypolicyviolation/blockeduri-inline.html
@@ -0,0 +1,18 @@ +<!doctype html> +<meta http-equiv="Content-Security-Policy" content="script-src 'nonce-abc'"> +<script nonce="abc" src="/resources/testharness.js"></script> +<script nonce="abc" src="/resources/testharnessreport.js"></script> +<script nonce="abc"> + async_test(t => { + var watcher = new EventWatcher(t, document, 'securitypolicyviolation'); + watcher.wait_for('securitypolicyviolation').then(t.step_func_done(e => { + assert_equals(e.blockedURI, "inline"); + assert_equals(e.lineNumber, 14); + })); + }, "Inline violations have a blockedURI of 'inline'"); +</script> +<script> + test(t => { + assert_unreached(); + }, "Blocked script shouldn't execute."); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/securitypolicyviolation/idl.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/securitypolicyviolation/idl.html new file mode 100644 index 0000000..17f492e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/securitypolicyviolation/idl.html
@@ -0,0 +1,49 @@ +<!DOCTYPE html> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<script src=/resources/WebIDLParser.js></script> +<script src=/resources/idlharness.js></script> +<script type="text/plain" id="untested"> + enum SecurityPolicyViolationEventDisposition { + "enforce", "report" + }; + + dictionary SecurityPolicyViolationEventInit : EventInit { + DOMString documentURI; + DOMString referrer; + DOMString blockedURI; + DOMString violatedDirective; + DOMString effectiveDirective; + DOMString originalPolicy; + DOMString sourceFile; + SecurityPolicyViolationEventDisposition disposition; + unsigned short statusCode; + long lineNumber; + long columnNumber; + }; +</script> +<script type="text/plain" id="tested"> + [Constructor(DOMString type, optional SecurityPolicyViolationEventInit eventInitDict)] + interface SecurityPolicyViolationEvent : Event { + readonly attribute DOMString documentURI; + readonly attribute DOMString referrer; + readonly attribute DOMString blockedURI; + readonly attribute DOMString violatedDirective; + readonly attribute DOMString effectiveDirective; + readonly attribute DOMString originalPolicy; + readonly attribute DOMString sourceFile; + readonly attribute SecurityPolicyViolationEventDisposition disposition; + readonly attribute unsigned short statusCode; + readonly attribute long lineNumber; + readonly attribute long columnNumber; + }; +</script> +<script> + var idl_array = new IdlArray(); + idl_array.add_untested_idls(document.querySelector('#untested').textContent); + idl_array.add_idls(document.querySelector('#tested').textContent); + idl_array.add_objects({ + SecurityPolicyViolationEvent: ['new SecurityPolicyViolationEvent({})'] + }); + idl_array.test(); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/securitypolicyviolation/targeting.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/securitypolicyviolation/targeting.html new file mode 100644 index 0000000..36069a5 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/securitypolicyviolation/targeting.html
@@ -0,0 +1,159 @@ +<!doctype html> +<meta http-equiv="Content-Security-Policy" content="script-src 'nonce-abc'; style-src 'self'"> +<script nonce="abc" src="/resources/testharness.js"></script> +<script nonce="abc" src="/resources/testharnessreport.js"></script> +<script nonce="abc"> + var unexecuted_test = async_test("These tests should not fail."); + + async_test(t => { + var watcher = new EventWatcher(t, document, ['securitypolicyviolation']) + watcher.wait_for('securitypolicyviolation') + .then(t.step_func(e => { + assert_equals(e.blockedURI, "inline"); + assert_equals(e.target, document.querySelector('#block1')); + return watcher.wait_for('securitypolicyviolation'); + })) + .then(t.step_func(e => { + assert_equals(e.blockedURI, "inline"); + assert_equals(e.target, document.querySelector('#block2')); + return watcher.wait_for('securitypolicyviolation'); + })) + .then(t.step_func(e => { + assert_equals(e.blockedURI, "inline"); + assert_equals(e.target, document.querySelector('#block3')); + return watcher.wait_for('securitypolicyviolation'); + })) + .then(t.step_func(e => { + assert_equals(e.blockedURI, "inline"); + assert_equals(e.target, document.querySelector('#block4')); + return watcher.wait_for('securitypolicyviolation'); + })) + .then(t.step_func(e => { + assert_equals(e.blockedURI, "inline"); + assert_equals(e.target, document.querySelector('#block5')); + return watcher.wait_for('securitypolicyviolation'); + })) + .then(t.step_func(e => { + assert_equals(e.blockedURI, "inline"); + assert_equals(e.lineNumber, 132); + assert_equals(e.target, document, "Disconnected elements target the document"); + return watcher.wait_for('securitypolicyviolation'); + })) + .then(t.step_func(e => { + assert_equals(e.blockedURI, "inline"); + assert_equals(e.lineNumber, 143); + assert_equals(e.target, document, "Elements disconnected after triggering target the document."); + return watcher.wait_for('securitypolicyviolation'); + })) + .then(t.step_func(e => { + assert_equals(e.blockedURI, "inline"); + assert_equals(e.lineNumber, 157); + assert_equals(e.target, document, "Elements in DocumentFragments target the document"); + })) + .then(t.step_func_done(_ => { + unexecuted_test.done(); + })); + }, "Inline violations target the right element."); +</script> +<!-- Inline block with no nonce. --> +<script id="block1"> + unexecuted_test.assert_unreached("This code block should not execute."); +</script> + +<!-- Inline event handler. --> +<a id="block2" onclick="void(0)">Click me!</a> +<script nonce='abc'>document.querySelector('#block2').click();</script> + +<!-- Style block. --> +<style id="block3"> + p { color: red !important; } +</style> + +<!-- Inline event handler inside Shadow DOM --> +<div id="block4"></div> +<script nonce='abc'> + async_test(t => { + var shadow = document.querySelector('#block4').attachShadow({"mode":"closed"}); + shadow.innerHTML = "<a id='block4a' onclick='void(0)'>Click!</a>"; + var a = shadow.querySelector('#block4a'); + a.addEventListener('securitypolicyviolation', t.step_func_done(e => { + assert_equals(e.blockedURI, "inline"); + assert_equals(e.target, a); + })); + a.click(); + }, "Correct targeting inside shadow tree (inline handler)."); +</script> + +<!-- Inline event handler inside Shadow DOM --> +<div id="block5"></div> +<script nonce='abc'> + async_test(t => { + var shadow = document.querySelector('#block5').attachShadow({"mode":"closed"}); + var style = document.createElement('style'); + style.innerText = 'p { color: red; }'; + style.addEventListener('securitypolicyviolation', t.step_func_done(e => { + assert_equals(e.blockedURI, "inline"); + assert_equals(e.target, style); + })); + shadow.appendChild(style); + }, "Correct targeting inside shadow tree (style)."); +</script> + +<!-- Pushed into a same-origin Document that isn't this Document --> +<iframe id="block6"></iframe> +<script nonce="abc"> + async_test(t => { + var d = document.createElement("div"); + d.setAttribute("onclick", "void(0);"); + var events = 0; + d.addEventListener('securitypolicyviolation', t.step_func(e => { + events++; + assert_equals(e.blockedURI, "inline"); + assert_equals(e.target, d); + })); + document.querySelector('#block6').contentDocument.addEventListener('securitypolicyviolation', t.step_func_done(e => { + events++; + assert_equals(e.blockedURI, "inline"); + assert_equals(e.target, d); + assert_equals(events, 2); + })); + document.querySelector('#block6').contentDocument.body.appendChild(d); + d.click(); + }, "Elements created in this document, but pushed into a same-origin frame trigger on that frame's document, not on this frame's document."); +</script> + +<!-- Disconnected inline event handler --> +<script nonce="abc"> + async_test(t => { + var d = document.createElement("div"); + d.setAttribute("onclick", "void(0);"); + d.addEventListener('securitypolicyviolation', t.unreached_func()); + d.click(); + t.done(); + }, "Inline event handlers for disconnected elements target the document."); +</script> + +<!-- Inline event handler, disconnected after click. --> +<a id="block8" onclick="void(0)">Click me also!</a> +<script nonce="abc"> + async_test(t => { + var a = document.querySelector('#block8'); + a.addEventListener('securitypolicyviolation', t.unreached_func()); + a.click(); + a.parentNode.removeChild(a); + t.done(); + }, "Inline event handlers for elements disconnected after triggering target the document."); +</script> + +<!-- Disconnected in a DocumentFragment --> +<script nonce="abc"> + async_test(t => { + var f = new DocumentFragment(); + var d = document.createElement('div'); + d.setAttribute('onclick', 'void(0)'); + d.addEventListener('securitypolicyviolation', t.unreached_func()); + f.appendChild(d); + d.click(); + t.done(); + }, "Inline event handlers for elements in a DocumentFragment target the document."); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/3_3.css b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/3_3.css new file mode 100644 index 0000000..8086244b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/3_3.css
@@ -0,0 +1 @@ +#content {margin-left: 2px;} \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_1.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_1.html new file mode 100644 index 0000000..6c4c1a320 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_1.html
@@ -0,0 +1,33 @@ +<!doctype html> +<html> +<head> + <title></title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + + <style> + /* none of this should be applied */ + #log { + margin-left: 200px; + } + </style> +</head> +<body> + <h1> + Inline style should not be applied + without unsafe-inline directive + </h1> + <div id='log'></div> + + <script> + test(function() { + var logEl = document.getElementById("log"); + var marginLeftVal = getComputedStyle(logEl).getPropertyValue('margin-left'); + assert_false(marginLeftVal == "200px")}, + "Inline style should not be applied" + ); + </script> + + <script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=style-src%20%27self%27'></script> +</body> +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_1.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_1.html.sub.headers new file mode 100644 index 0000000..c550a46c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_1.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: style-src-3_1={{$id:uuid()}}; Path=/content-security-policy/style-src/ +Content-Security-Policy: style-src 'self'; report-uri ../support/report.py?op=put&reportID={{$id}} \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_2.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_2.html new file mode 100644 index 0000000..ce904d9 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_2.html
@@ -0,0 +1,25 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Inline style attributes should not be applied without 'unsafe-inline' style-src directive.</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> + <script> + onload = function() { + test(function() { + var text = document.getElementById("content"); + assert_true(getComputedStyle(text).marginLeft != "2px", "Inline style attribute should not be applied to text"); + }); + } + </script> +</head> +<body> + <h1>Inline style attributes should not be applied without 'unsafe-inline' style-src directive.</h1> + <div id='log'></div> + + <div id="content" style="margin-left: 2px">This text should not have a margin-left of 2</div> + + <script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=style-src%20%27self%27'></script> + +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_2.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_2.html.sub.headers new file mode 100644 index 0000000..3343cce --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_2.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: style-src-3_2={{$id:uuid()}}; Path=/content-security-policy/style-src/ +Content-Security-Policy: script-src 'self' 'unsafe-inline'; style-src 'self'; report-uri ../support/report.py?op=put&reportID={{$id}} \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_3.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_3.html new file mode 100644 index 0000000..d836b35 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_3.html
@@ -0,0 +1,37 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>href of link with rel=stylesheet must be in src list</title> + <script src='/resources/testharness.js'></script> + <script src='/resources/testharnessreport.js'></script> + <script> + var head = document.getElementsByTagName('head')[0]; + var link = document.createElement('link'); + link.setAttribute('rel', 'stylesheet'); + link.setAttribute('type', 'text/css'); + link.setAttribute('href', location.protocol + + '//www1.' + + location.hostname + + ':' + + location.port + + '/content-security-policy/style-src/3_3.css'); + head.appendChild(link); + + onload = function doTest() { + test(function() { + var text = document.getElementById("content"); + assert_true(getComputedStyle(text).marginLeft != "2px", "Style sheet loaded from origin not in style-src directive should be blocked"); + }); + } + </script> +</head> +<body> + <h1>href of link with rel=stylesheet must be in src list</h1> + <div id='log'></div> + + <div id="content">This text should not have a margin-left of 2</div> + + <script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=style-src%20%27self%27'></script> + +</body> +</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_3.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_3.html.sub.headers new file mode 100644 index 0000000..ca1adc5 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_3.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: style-src-3_3={{$id:uuid()}}; Path=/content-security-policy/style-src/ +Content-Security-Policy: script-src 'self' 'unsafe-inline'; style-src 'self'; report-uri ../support/report.py?op=put&reportID={{$id}} \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_4-import.css b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_4-import.css new file mode 100644 index 0000000..8ef865f --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_4-import.css
@@ -0,0 +1,3 @@ +#log { + margin-left: 200px; +}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_4.css b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_4.css new file mode 100644 index 0000000..11729ce --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_4.css
@@ -0,0 +1 @@ +@import "http://{{host}}:{{ports[http][1]}}/content-security-policy/style-src/style-src-3_4-import.css";
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_4.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_4.html new file mode 100644 index 0000000..92553dd --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_4.html
@@ -0,0 +1,27 @@ +<!doctype html> +<html> +<head> + <title></title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <link href="style-src-3_4.css?pipe=sub" rel=stylesheet type=text/css> +</head> +<body> + <h1> + @import stylesheet should not be loaded + if its URL doesn't match style-src. + </h1> + <div id='log'></div> + + <script> + test(function() { + var logEl = document.getElementById("log"); + var marginLeftVal = getComputedStyle(logEl).getPropertyValue('margin-left'); + assert_false(marginLeftVal == "200px")}, + "@import stylesheet should not be applied" + ); + </script> + + <script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=style-src%20%27self%27'></script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_4.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_4.html.sub.headers new file mode 100644 index 0000000..9a9e1a2 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/style-src/style-src-3_4.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: style-src-3_4={{$id:uuid()}}; Path=/content-security-policy/style-src/ +Content-Security-Policy: style-src 'self'; report-uri ../support/report.py?op=put&reportID={{$id}} \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/alert-pass.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/alert-pass.js new file mode 100644 index 0000000..d3f811ec --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/alert-pass.js
@@ -0,0 +1 @@ +alert_assert("PASS"); \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/alertAssert.sub.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/alertAssert.sub.js new file mode 100644 index 0000000..ee9e54ea --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/alertAssert.sub.js
@@ -0,0 +1,43 @@ +// note, this template substitution is XSS, but no way to avoid it in this framework +var expected_alerts = {{GET[alerts]}}; +var timeout= "{{GET[timeout]}}"; +if (timeout == "") { + timeout = 2; +} + +if(expected_alerts.length == 0) { + function alert_assert(msg) { + test(function () { assert_unreached(msg) }); + } +} else { + var t_alert = async_test('Expecting alerts: {{GET[alerts]}}'); + step_timeout(function() { + if(t_alert.phase != t_alert.phases.COMPLETE) { + t_alert.step(function() { assert_unreached('Alert timeout, expected alerts ' + expected_alerts + ' not fired.') }); + t_alert.done(); + } + }, timeout * 1000); + var alert_assert = function (msg) { + t_alert.step(function () { + if(msg && msg instanceof Error) { + msg = msg.message; + } + if (msg && msg.match(/^FAIL/i)) { + assert_unreached(msg); + t_alert.done(); + } + for (var i = 0; i < expected_alerts.length; i++) { + if (expected_alerts[i] == msg) { + assert_true(expected_alerts[i] == msg); + expected_alerts.splice(i, 1); + if (expected_alerts.length == 0) { + t_alert.done(); + } + return; + } + } + assert_unreached('unexpected alert: ' + msg); + t_log.done(); + }); + }.bind(this); +}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/checkReport.sub.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/checkReport.sub.js new file mode 100644 index 0000000..803dc06 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/checkReport.sub.js
@@ -0,0 +1,84 @@ +(function () { + + // Get values from the substitution engine. + // We can't just pull these from the document context + // because this script is intended to be transcluded into + // another document, and we want the GET values used to request it, + // not the values for the including document + + // XXX these are unencoded, so there's an unavoidable + // injection vulnerability in constructing this file... + // need to upgrade the template engine. + var reportField = "{{GET[reportField]}}"; + var reportValue = "{{GET[reportValue]}}"; + var reportExists = "{{GET[reportExists]}}"; + var noCookies = "{{GET[noCookies]}}"; + + var location = window.location; + var thisTestName = location.pathname.split('/')[location.pathname.split('/').length - 1].split('.')[0]; + + var reportID = ""; + + var cookies = document.cookie.split(';'); + for (var i = 0; i < cookies.length; i++) { + var cookieName = cookies[i].split('=')[0].trim(); + var cookieValue = cookies[i].split('=')[1].trim(); + + if (cookieName == thisTestName) { + reportID = cookieValue; + var cookieToDelete = cookieName + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=" + document.location.pathname.substring(0, document.location.pathname.lastIndexOf('/') + 1); + document.cookie = cookieToDelete; + break; + } + } + + var timeout = document.querySelector("meta[name=timeout][content=long]") ? 50 : 5; + var reportLocation = location.protocol + "//" + location.host + "/content-security-policy/support/report.py?op=take&timeout=" + timeout + "&reportID=" + reportID; + + var reportTest = async_test("Violation report status OK."); + reportTest.step(function () { + + var report = new XMLHttpRequest(); + report.onload = reportTest.step_func(function () { + + var data = JSON.parse(report.responseText); + + if (data.error) { + assert_equals("false", reportExists, data.error); + } else { + if(reportExists != "" && reportExists == "false" && data["csp-report"]) { + assert_unreached("CSP report sent, but not expecting one: " + JSON.stringify(data["csp-report"])); + } + // Firefox expands 'self' or origins in a policy to the actual origin value + // so "www.example.com" becomes "http://www.example.com:80". + // Accomodate this by just testing that the correct directive name + // is reported, not the details... + + if(data["csp-report"] != undefined && data["csp-report"][reportField] != undefined) { + assert_true(data["csp-report"][reportField].indexOf(reportValue.split(" ")[0]) != -1, + reportField + " value of \"" + data["csp-report"][reportField] + "\" did not match " + + reportValue.split(" ")[0] + "."); + } + } + + reportTest.done(); + }); + + report.open("GET", reportLocation, true); + report.send(); + }); + + if (noCookies) { + var cookieTest = async_test("No cookies sent with report."); + var cookieReport = new XMLHttpRequest(); + cookieReport.onload = cookieTest.step_func(function () { + var data = JSON.parse(cookieReport.responseText); + assert_equals(data.reportCookies, "None"); + cookieTest.done(); + }); + var cReportLocation = location.protocol + "//" + location.host + "/content-security-policy/support/report.py?op=cookies&timeout=" + timeout + "&reportID=" + reportID; + cookieReport.open("GET", cReportLocation, true); + cookieReport.send(); + }; + +})();
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/echo-policy.py b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/echo-policy.py new file mode 100644 index 0000000..ebde3dc --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/echo-policy.py
@@ -0,0 +1,3 @@ +def main(request, response): + policy = request.GET.first("policy"); + return [("Content-Type", "text/html"), ("Content-Security-Policy", policy)], "<!DOCTYPE html><title>Echo.</title>"
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/fail.asis b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/fail.asis new file mode 100644 index 0000000..96196615 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/fail.asis
@@ -0,0 +1,5 @@ +HTTP/1.1 200 OK +Content-Type: text/plain +Access-Control-Allow-Origin: * + +FAIL \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/fail.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/fail.js new file mode 100644 index 0000000..9632567a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/fail.js
@@ -0,0 +1 @@ +test(function() { assert_unreached("FAIL")}); \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/fail.png b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/fail.png new file mode 100644 index 0000000..b5933803 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/fail.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/inject-image.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/inject-image.js new file mode 100644 index 0000000..cc5b6007 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/inject-image.js
@@ -0,0 +1,5 @@ +// This script block will trigger a violation report. +var i = document.createElement('img'); +i.src = '/content-security-policy/support/fail.png'; +document.body.appendChild(i); +log("TEST COMPLETE"); \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/logTest.sub.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/logTest.sub.js new file mode 100644 index 0000000..f712252c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/logTest.sub.js
@@ -0,0 +1,41 @@ +// note, this template substitution is XSS, but no way to avoid it in this framework +var expected_logs = {{GET[logs]}}; +var timeout = "{{GET[timeout]}}"; +if (timeout == "") { + timeout = 2; +} + +if (expected_logs.length == 0) { + function log_assert(msg) { + test(function () { assert_unreached(msg) }); + } +} else { + var t_log = async_test('Expecting logs: {{GET[logs]}}'); + step_timeout(function() { + if(t_log.phase != t_log.phases.COMPLETE){ + t_log.step(function () { assert_unreached('Logging timeout, expected logs ' + expected_logs + ' not sent.') }); + t_log.done(); + } + }, timeout * 1000); + function log(msg) { + //cons/**/ole.log(msg); + t_log.step(function () { + if (msg.match(/^FAIL/i)) { + assert_unreached(msg); + t_log.done(); + } + for (var i = 0; i < expected_logs.length; i++) { + if (expected_logs[i] == msg) { + assert_true(expected_logs[i] == msg); + expected_logs.splice(i, 1); + if (expected_logs.length == 0) { + t_log.done(); + } + return; + } + } + assert_unreached('unexpected log: ' + msg); + t_log.done(); + }); + } +}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/media/flash.swf b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/media/flash.swf new file mode 100644 index 0000000..80bf47e2 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/media/flash.swf Binary files differ
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/pass.png b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/pass.png new file mode 100644 index 0000000..2fa1e0a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/pass.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/ping.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/ping.js new file mode 100644 index 0000000..750ae45f --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/ping.js
@@ -0,0 +1,12 @@ +if (typeof ServiceWorkerGlobalScope === "function") { + self.onmessage = function (e) { e.source.postMessage("ping"); }; +} else if (typeof SharedWorkerGlobalScope === "function") { + onconnect = function (e) { + var port = e.ports[0]; + + port.onmessage = function () { port.postMessage("ping"); } + port.postMessage("ping"); + }; +} else if (typeof DedicatedWorkerGlobalScope === "function") { + self.postMessage("ping"); +}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/report.py b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/report.py new file mode 100644 index 0000000..193315fa --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/report.py
@@ -0,0 +1,34 @@ +import time +import json +import re + +def main(request, response): + op = request.GET.first("op"); + key = request.GET.first("reportID") + + if op == "take": + timeout = float(request.GET.first("timeout")) + t0 = time.time() + while time.time() - t0 < timeout: + time.sleep(0.5) + value = request.server.stash.take(key=key) + if value is not None: + return [("Content-Type", "application/json")], value + + return [("Content-Type", "application/json")], json.dumps({'error': 'No such report.' , 'guid' : key}) + + if op == "cookies": + cval = request.server.stash.take(key=re.sub('^...', 'ccc', key)) + if cval is None: + cval = "\"None\"" + + return [("Content-Type", "application/json")], "{ \"reportCookies\" : " + cval + "}" + + if hasattr(request, 'Cookies'): + request.server.stash.put(key=re.sub('^...', 'ccc', key), value=request.Cookies) + + report = request.body + report.rstrip() + request.server.stash.take(key=key) + request.server.stash.put(key=key, value=report) + return [("Content-Type", "text/plain")], "Recorded report " + report
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/siblingPath.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/siblingPath.js new file mode 100644 index 0000000..f4012f0 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/siblingPath.js
@@ -0,0 +1,5 @@ + buildSiblingPath = function(hostPrefix, relativePath, newPort) { + var port = newPort ? newPort : document.location.port; + var path = document.location.pathname.substring(0, document.location.pathname.lastIndexOf('/') + 1); + return (document.location.protocol + '//' + hostPrefix + "." + document.location.hostname + ':' + port + path + relativePath); +}; \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/testharness-helper.js b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/testharness-helper.js new file mode 100644 index 0000000..a1eaa891e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/support/testharness-helper.js
@@ -0,0 +1,131 @@ +function assert_no_csp_event_for_url(test, url) { + document.addEventListener("securitypolicyviolation", test.step_func(e => { + if (e.blockedURI !== url) + return; + assert_unreached("SecurityPolicyViolation event fired for " + url); + })); +} + +function assert_no_event(test, obj, name) { + obj.addEventListener(name, test.unreached_func("The '" + name + "' event should not have fired.")); +} + +function waitUntilCSPEventForURL(test, url) { + return new Promise((resolve, reject) => { + document.addEventListener("securitypolicyviolation", test.step_func(e => { + if (e.blockedURI == url) + resolve(e); + })); + }); +} + +function waitUntilEvent(obj, name) { + return new Promise((resolve, reject) => { + obj.addEventListener(name, resolve); + }); +} + +// Given the URL of a worker that pings its opener upon load, this +// function builds a test that asserts that the ping is received, +// and that no CSP event fires. +function assert_worker_is_loaded(url, description) { + async_test(t => { + assert_no_csp_event_for_url(t, url); + var w = new Worker(url); + assert_no_event(t, w, "error"); + waitUntilEvent(w, "message") + .then(t.step_func_done(e => { + assert_equals(e.data, "ping"); + })); + }, description); +} + +function assert_shared_worker_is_loaded(url, description) { + async_test(t => { + assert_no_csp_event_for_url(t, url); + var w = new SharedWorker(url); + assert_no_event(t, w, "error"); + waitUntilEvent(w.port, "message") + .then(t.step_func_done(e => { + assert_equals(e.data, "ping"); + })); + w.port.start(); + }, description); +} + +function assert_service_worker_is_loaded(url, description) { + promise_test(t => { + assert_no_csp_event_for_url(t, url); + return Promise.all([ + waitUntilEvent(navigator.serviceWorker, "message") + .then(e => { + assert_equals(e.data, "ping"); + }), + navigator.serviceWorker.register(url, { scope: url }) + .then(r => { + var sw = r.active || r.installing || r.waiting; + t.add_cleanup(_ => r.unregister()); + sw.postMessage("pong?"); + }) + ]); + }, description); +} + +// Given the URL of a worker that pings its opener upon load, this +// function builds a test that asserts that the constructor throws +// a SecurityError, and that a CSP event fires. +function assert_worker_is_blocked(url, description) { + async_test(t => { + // If |url| is a blob, it will be stripped down to "blob" for reporting. + var reportedURL = new URL(url).protocol == "blob:" ? "blob" : url; + waitUntilCSPEventForURL(t, reportedURL) + .then(t.step_func_done(e => { + assert_equals(e.blockedURI, reportedURL); + assert_equals(e.violatedDirective, "worker-src"); + assert_equals(e.effectiveDirective, "worker-src"); + })); + + // TODO(mkwst): We shouldn't be throwing here. We should be firing an + // `error` event on the Worker. https://crbug.com/663298 + assert_throws("SecurityError", function () { + var w = new Worker(url); + }); + }, description); +} + +function assert_shared_worker_is_blocked(url, description) { + async_test(t => { + // If |url| is a blob, it will be stripped down to "blob" for reporting. + var reportedURL = new URL(url).protocol == "blob:" ? "blob" : url; + waitUntilCSPEventForURL(t, reportedURL) + .then(t.step_func_done(e => { + assert_equals(e.blockedURI, reportedURL); + assert_equals(e.violatedDirective, "worker-src"); + assert_equals(e.effectiveDirective, "worker-src"); + })); + + // TODO(mkwst): We shouldn't be throwing here. We should be firing an + // `error` event on the SharedWorker. https://crbug.com/663298 + assert_throws("SecurityError", function () { + var w = new SharedWorker(url); + }); + }, description); +} + +function assert_service_worker_is_blocked(url, description) { + promise_test(t => { + assert_no_event(t, navigator.serviceWorker, "message"); + // If |url| is a blob, it will be stripped down to "blob" for reporting. + var reportedURL = new URL(url).protocol == "blob:" ? "blob" : url; + return Promise.all([ + waitUntilCSPEventForURL(t, reportedURL) + .then(t.step_func_done(e => { + assert_equals(e.blockedURI, reportedURL); + assert_equals(e.violatedDirective, "worker-src"); + assert_equals(e.effectiveDirective, "worker-src"); + })), + promise_rejects(t, "SecurityError", navigator.serviceWorker.register(url, { scope: url })) + ]); + }, description); +} +
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/svg/including.sub.svg b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/svg/including.sub.svg new file mode 100644 index 0000000..99b416b5 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/svg/including.sub.svg
@@ -0,0 +1,18 @@ +<?xml version="1.0" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg width="6cm" height="5cm" viewBox="0 0 600 500" + xmlns="http://www.w3.org/2000/svg" version="1.1"> + <desc>using SVG as a resource doc should apply this doc's CSP</desc> + + <use xlink:href="scripted.svg#postmessagescript" /> + + <circle cx="300" cy="225" r="100" fill="lawngreen"/> + + <text x="300" y="250" + font-family="Verdana" + font-size="50" + text-anchor="middle"> + PASS + </text> +</svg>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/svg/including.sub.svg.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/svg/including.sub.svg.sub.headers new file mode 100644 index 0000000..0f3f281d9 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/svg/including.sub.svg.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: including={{$id:uuid()}}; Path=/content-security-policy/svg +Content-Security-Policy: script-src 'none';
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/svg/scripted.svg b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/svg/scripted.svg new file mode 100644 index 0000000..a8aca4e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/svg/scripted.svg
@@ -0,0 +1,20 @@ +<?xml version="1.0" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg width="6cm" height="5cm" viewBox="0 0 600 500" + xmlns="http://www.w3.org/2000/svg" version="1.1"> + <desc>Example script01 - redirect</desc> + + <script id="postmessagescript" type="application/ecmascript"> <![CDATA[ + location = "/content-security-policy/blink-contrib/resources/postmessage-fail.html"; + ]]> </script> + + <circle cx="300" cy="225" r="100" fill="lawngreen"/> + + <text x="300" y="250" + font-family="Verdana" + font-size="50" + text-anchor="middle"> + PASS + </text> +</svg>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/svg/scripted.svg.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/svg/scripted.svg.sub.headers new file mode 100644 index 0000000..0e90e147 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/svg/scripted.svg.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: scripted={{$id:uuid()}}; Path=/content-security-policy/svg +Content-Security-Policy: script-src 'none';
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/svg/svg-from-guid.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/svg/svg-from-guid.html new file mode 100644 index 0000000..b565e94 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/svg/svg-from-guid.html
@@ -0,0 +1,51 @@ +<!DOCTYPE html> +<html> +<head> + <title>svg-from-guid</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <script> + window.addEventListener("message", function(event) { + alert_assert(event.data); + }, false); + window.addEventListener('load', function() { + setTimeout(function() { + log("TEST COMPLETE"); + }, 1); + }); + </script> +</head> + +<body> + <p>Tests that an SVG loaded in an iframe with a policy enforces it, not + the policy enforced by this parent frame. The SVG should render and + not redirect to a different resource.</p> + <!-- +<?xml version="1.0" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg width="6cm" height="5cm" viewBox="0 0 600 500" + xmlns="http://www.w3.org/2000/svg" version="1.1"> + <desc>Example script01 - redirect</desc> + + <script id="postmessagescript" type="application/ecmascript"> <![CDATA[ + location = "/content-security-policy/blink-contrib/resources/postmessage-fail.html"; + ]]> </script> + + <circle cx="300" cy="225" r="100" fill="lawngreen"/> + + <text x="300" y="250" + font-family="Verdana" + font-size="50" + text-anchor="middle"> + PASS + </text> +</svg> + --> + <iframe name="test_target" id="test_iframe" src="data:image/svg+xml;charset=utf-8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIg0KICAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4NCjxzdmcgd2lkdGg9IjZjbSIgaGVpZ2h0PSI1Y20iIHZpZXdCb3g9IjAgMCA2MDAgNTAwIg0KICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSI+DQogIDxkZXNjPkV4YW1wbGUgc2NyaXB0MDEgLSByZWRpcmVjdDwvZGVzYz4NCg0KICA8c2NyaXB0IGlkPSJwb3N0bWVzc2FnZXNjcmlwdCIgdHlwZT0iYXBwbGljYXRpb24vZWNtYXNjcmlwdCI+IDwhW0NEQVRBWw0KICAgIGxvY2F0aW9uID0gIi9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9ibGluay1jb250cmliL3Jlc291cmNlcy9wb3N0bWVzc2FnZS1mYWlsLmh0bWwiOw0KICBdXT4gPC9zY3JpcHQ+DQoNCiAgPGNpcmNsZSBjeD0iMzAwIiBjeT0iMjI1IiByPSIxMDAiIGZpbGw9Imxhd25ncmVlbiIvPg0KDQogIDx0ZXh0IHg9IjMwMCIgeT0iMjUwIg0KICAgICAgICBmb250LWZhbWlseT0iVmVyZGFuYSINCiAgICAgICAgZm9udC1zaXplPSI1MCINCiAgICAgICAgdGV4dC1hbmNob3I9Im1pZGRsZSI+DQogICAgICBQQVNTDQogICAgPC90ZXh0Pg0KPC9zdmc+"></iframe> + <div id="log"></div> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/svg/svg-inline.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/svg/svg-inline.sub.html new file mode 100644 index 0000000..7beb295 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/svg/svg-inline.sub.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<html> +<head> + <title>svg-policy-with-resource</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> +</head> + +<body> + <p>Tests that an SVG loaded in an iframe with a policy enforces it, not + the policy enforced by this parent frame. The SVG should render and + not redirect to a different resource.</p> + <div id="log"></div> + <?xml version="1.0" standalone="no"?> +<svg width="6cm" height="5cm" viewBox="0 0 600 500" + xmlns="http://www.w3.org/2000/svg" version="1.1"> + + <script type="application/ecmascript" + xlink:href="http://www1.{{host}}:{{ports[http][0]}}/content-security-policy/support/.js"> + </script> + + <circle cx="300" cy="225" r="100" fill="lawngreen"/> + + <text x="300" y="250" + font-family="Verdana" + font-size="50" + text-anchor="middle"> + PASS + </text> +</svg> + + <script async defer src='../support/checkReport.sub.js?reportField=violated-directive&reportValue=script-src%20%27self%27+%27unsafe-inline%27'></script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/svg/svg-inline.sub.html.sub.headers b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/svg/svg-inline.sub.html.sub.headers new file mode 100644 index 0000000..a846c4b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/svg/svg-inline.sub.html.sub.headers
@@ -0,0 +1,6 @@ +Expires: Mon, 26 Jul 1997 05:00:00 GMT +Cache-Control: no-store, no-cache, must-revalidate +Cache-Control: post-check=0, pre-check=0, false +Pragma: no-cache +Set-Cookie: svg-inline={{$id:uuid()}}; Path=/content-security-policy/svg/ +Content-Security-Policy: script-src 'self' 'unsafe-inline'; report-uri ../support/report.py?op=put&reportID={{$id}} \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/svg/svg-policy-resource-doc-includes.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/svg/svg-policy-resource-doc-includes.html new file mode 100644 index 0000000..3ca626240 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/svg/svg-policy-resource-doc-includes.html
@@ -0,0 +1,29 @@ +<!DOCTYPE html> +<html> +<head> + <title>svg-policy-with-resource</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <script> + window.addEventListener("message", function(event) { + alert_assert(event.data); + }, false); + window.addEventListener('load', function() { + setTimeout(function() { + log("TEST COMPLETE"); + }, 0); + }); + </script> +</head> + +<body> + <p>Tests that an SVG loaded in an iframe with a policy enforces it, not + the policy enforced by this parent frame. The SVG should render and + not redirect to a different resource.</p> + <iframe name="test_target" id="test_iframe" src="scripted.svg"></iframe> + <div id="log"></div> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/svg/svg-policy-with-resource.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/svg/svg-policy-with-resource.html new file mode 100644 index 0000000..88ba0b3 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/svg/svg-policy-with-resource.html
@@ -0,0 +1,30 @@ +<!DOCTYPE html> +<html> +<head> + <title>svg-policy-with-resource</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src='../support/logTest.sub.js?logs=["TEST COMPLETE"]'></script> + <script src="../support/alertAssert.sub.js?alerts=[]"></script> + <script> + window.addEventListener("message", function(event) { + alert_assert(event.data); + }, false); + window.addEventListener('load', function() { + setTimeout(function() { + log("TEST COMPLETE"); + }, 0); + }); + </script> +</head> + +<body> + <p>Tests that an SVG loaded in an iframe with a policy enforces it, not + the policy enforced by this parent frame. The SVG should render and + not redirect to a different resource.</p> + <iframe name="test_target" id="test_iframe" src="scripted.svg"></iframe> + <object type="image/svg+xml" data="scripted.svg"></object> + <div id="log"></div> +</body> + +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/dedicated-child.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/dedicated-child.sub.html new file mode 100644 index 0000000..cff8f953 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/dedicated-child.sub.html
@@ -0,0 +1,13 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../support/testharness-helper.js"></script> +<meta http-equiv="Content-Security-Policy" content="child-src http://{{host}}:{{ports[http][0]}} blob:"> +<script> + var url = new URL("../support/ping.js", document.baseURI).toString(); + assert_worker_is_loaded(url, "Same-origin dedicated worker allowed by host-source expression."); + + var b = new Blob(["postMessage('ping');"], {type: "text/javascript"}); + var url = URL.createObjectURL(b); + assert_worker_is_loaded(url, "blob: dedicated worker allowed by 'blob:'."); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/dedicated-fallback.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/dedicated-fallback.sub.html new file mode 100644 index 0000000..2560257 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/dedicated-fallback.sub.html
@@ -0,0 +1,13 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../support/testharness-helper.js"></script> +<meta http-equiv="Content-Security-Policy" content="worker-src http://{{host}}:{{ports[http][0]}} blob:; child-src 'none'"> +<script> + var url = new URL("../support/ping.js", document.baseURI).toString(); + assert_worker_is_loaded(url, "Same-origin dedicated worker allowed by host-source expression."); + + var b = new Blob(["postMessage('ping');"], {type: "text/javascript"}); + var url = URL.createObjectURL(b); + assert_worker_is_loaded(url, "blob: dedicated worker allowed by 'blob:'."); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/dedicated-list.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/dedicated-list.sub.html new file mode 100644 index 0000000..fc4f9123 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/dedicated-list.sub.html
@@ -0,0 +1,13 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../support/testharness-helper.js"></script> +<meta http-equiv="Content-Security-Policy" content="worker-src http://{{host}}:{{ports[http][0]}} blob:"> +<script> + var url = new URL("../support/ping.js", document.baseURI).toString(); + assert_worker_is_loaded(url, "Same-origin dedicated worker allowed by host-source expression."); + + var b = new Blob(["postMessage('ping');"], {type: "text/javascript"}); + var url = URL.createObjectURL(b); + assert_worker_is_loaded(url, "blob: dedicated worker allowed by 'blob:'."); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/dedicated-none.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/dedicated-none.sub.html new file mode 100644 index 0000000..62c5507 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/dedicated-none.sub.html
@@ -0,0 +1,13 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../support/testharness-helper.js"></script> +<meta http-equiv="Content-Security-Policy" content="worker-src 'none'"> +<script> + var url = new URL("../support/ping.js", document.baseURI).toString(); + assert_worker_is_blocked(url, "Same-origin dedicated worker blocked by host-source expression."); + + var b = new Blob(["postMessage('ping');"], {type: "text/javascript"}); + var url = URL.createObjectURL(b); + assert_worker_is_blocked(url, "blob: dedicated worker blocked by 'blob:'."); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/dedicated-self.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/dedicated-self.sub.html new file mode 100644 index 0000000..ba0cd1b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/dedicated-self.sub.html
@@ -0,0 +1,9 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../support/testharness-helper.js"></script> +<meta http-equiv="Content-Security-Policy" content="worker-src 'self'"> +<script> + var url = new URL("../support/ping.js", document.baseURI).toString(); + assert_worker_is_loaded(url, "Same-origin dedicated worker allowed by 'self'."); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/service-child.https.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/service-child.https.sub.html new file mode 100644 index 0000000..5036cae5 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/service-child.https.sub.html
@@ -0,0 +1,10 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../support/testharness-helper.js"></script> +<meta http-equiv="Content-Security-Policy" content="child-src http://{{host}}:{{ports[http][0]}}"> +<script> + var url = new URL("../support/ping.js", document.baseURI).toString(); + assert_service_worker_is_loaded(url, "Same-origin service worker allowed by host-source expression."); +</script> +
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/service-fallback.https.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/service-fallback.https.sub.html new file mode 100644 index 0000000..682a805 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/service-fallback.https.sub.html
@@ -0,0 +1,9 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../support/testharness-helper.js"></script> +<meta http-equiv="Content-Security-Policy" content="worker-src http://{{host}}:{{ports[http][0]}}; child-src 'none'"> +<script> + var url = new URL("../support/ping.js", document.baseURI).toString(); + assert_service_worker_is_loaded(url, "Same-origin service worker allowed by host-source expression."); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/service-list.https.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/service-list.https.sub.html new file mode 100644 index 0000000..251c856d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/service-list.https.sub.html
@@ -0,0 +1,9 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../support/testharness-helper.js"></script> +<meta http-equiv="Content-Security-Policy" content="worker-src http://{{host}}:{{ports[http][0]}}"> +<script> + var url = new URL("../support/ping.js", document.baseURI).toString(); + assert_service_worker_is_loaded(url, "Same-origin service worker allowed by host-source expression."); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/service-none.https.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/service-none.https.sub.html new file mode 100644 index 0000000..467a8ce2 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/service-none.https.sub.html
@@ -0,0 +1,9 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../support/testharness-helper.js"></script> +<meta http-equiv="Content-Security-Policy" content="worker-src 'none'"> +<script> + var url = new URL("../support/ping.js", document.baseURI).toString(); + assert_service_worker_is_blocked(url, "Same-origin service worker blocked by 'none'."); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/service-self.https.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/service-self.https.sub.html new file mode 100644 index 0000000..d725e730 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/service-self.https.sub.html
@@ -0,0 +1,9 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../support/testharness-helper.js"></script> +<meta http-equiv="Content-Security-Policy" content="worker-src 'self'"> +<script> + var url = new URL("../support/ping.js", document.baseURI).toString(); + assert_service_worker_is_loaded(url, "Same-origin service worker allowed by 'self'."); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/shared-child.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/shared-child.sub.html new file mode 100644 index 0000000..93dd38b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/shared-child.sub.html
@@ -0,0 +1,13 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../support/testharness-helper.js"></script> +<meta http-equiv="Content-Security-Policy" content="child-src http://{{host}}:{{ports[http][0]}} blob:"> +<script> + var url = new URL("../support/ping.js", document.baseURI).toString(); + assert_shared_worker_is_loaded(url, "Same-origin dedicated worker allowed by 'self'."); + + var b = new Blob(["onconnect = e => { e.ports[0].postMessage('ping'); }"], {type: "text/javascript"}); + var url = URL.createObjectURL(b); + assert_shared_worker_is_loaded(url, "blob: dedicated worker allowed by 'blob:'."); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/shared-fallback.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/shared-fallback.sub.html new file mode 100644 index 0000000..cfe9190 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/shared-fallback.sub.html
@@ -0,0 +1,13 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../support/testharness-helper.js"></script> +<meta http-equiv="Content-Security-Policy" content="worker-src http://{{host}}:{{ports[http][0]}} blob:; child-src 'none'"> +<script> + var url = new URL("../support/ping.js", document.baseURI).toString(); + assert_shared_worker_is_loaded(url, "Same-origin dedicated worker allowed by 'self'."); + + var b = new Blob(["onconnect = e => { e.ports[0].postMessage('ping'); }"], {type: "text/javascript"}); + var url = URL.createObjectURL(b); + assert_shared_worker_is_loaded(url, "blob: dedicated worker allowed by 'blob:'."); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/shared-list.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/shared-list.sub.html new file mode 100644 index 0000000..6c985c7 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/shared-list.sub.html
@@ -0,0 +1,13 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../support/testharness-helper.js"></script> +<meta http-equiv="Content-Security-Policy" content="worker-src http://{{host}}:{{ports[http][0]}} blob:"> +<script> + var url = new URL("../support/ping.js", document.baseURI).toString(); + assert_shared_worker_is_loaded(url, "Same-origin dedicated worker allowed by 'self'."); + + var b = new Blob(["onconnect = e => { e.ports[0].postMessage('ping'); }"], {type: "text/javascript"}); + var url = URL.createObjectURL(b); + assert_shared_worker_is_loaded(url, "blob: dedicated worker allowed by 'blob:'."); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/shared-none.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/shared-none.sub.html new file mode 100644 index 0000000..b443f321 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/shared-none.sub.html
@@ -0,0 +1,13 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../support/testharness-helper.js"></script> +<meta http-equiv="Content-Security-Policy" content="worker-src 'none'"> +<script> + var url = new URL("../support/ping.js", document.baseURI).toString(); + assert_shared_worker_is_blocked(url, "Same-origin shared worker blocked by 'none'."); + + var b = new Blob(["onconnect = e => { e.ports[0].postMessage('ping'); }"], {type: "text/javascript"}); + var url = URL.createObjectURL(b); + assert_shared_worker_is_blocked(url, "blob: shared worker blocked by 'none'."); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/shared-self.sub.html b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/shared-self.sub.html new file mode 100644 index 0000000..e6b368a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/content-security-policy/worker-src/shared-self.sub.html
@@ -0,0 +1,10 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../support/testharness-helper.js"></script> +<meta http-equiv="Content-Security-Policy" content="worker-src 'self'"> +<script> + var url = new URL("../support/ping.js", document.baseURI).toString(); + assert_shared_worker_is_loaded(url, "Same-origin dedicated worker allowed by 'self'."); +</script> +
diff --git a/third_party/WebKit/LayoutTests/external/wpt/domxpath/interfaces.html b/third_party/WebKit/LayoutTests/external/wpt/domxpath/interfaces.html new file mode 100644 index 0000000..dab085c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/domxpath/interfaces.html
@@ -0,0 +1,80 @@ +<!doctype html> +<title>XPath tests</title> +<script src='/resources/testharness.js'></script> +<script src='/resources/testharnessreport.js'></script> +<script src='/resources/WebIDLParser.js'></script> +<script src='/resources/idlharness.js'></script> +<script type='text/plain'> +[Constructor] interface XPathEvaluator { + [NewObject] XPathExpression createExpression(DOMString expression, + optional XPathNSResolver? resolver); + Node createNSResolver(Node nodeResolver); + XPathResult evaluate(DOMString expression, Node contextNode, + optional XPathNSResolver? resolver, + optional unsigned short type, + optional object? result); +}; + +interface XPathExpression { + XPathResult evaluate(Node contextNode, + optional unsigned short type, + optional object? result); +}; + +callback interface XPathNSResolver { + DOMString? lookupNamespaceURI(DOMString? prefix); +}; + +interface XPathResult { + const unsigned short ANY_TYPE = 0; + const unsigned short NUMBER_TYPE = 1; + const unsigned short STRING_TYPE = 2; + const unsigned short BOOLEAN_TYPE = 3; + const unsigned short UNORDERED_NODE_ITERATOR_TYPE = 4; + const unsigned short ORDERED_NODE_ITERATOR_TYPE = 5; + const unsigned short UNORDERED_NODE_SNAPSHOT_TYPE = 6; + const unsigned short ORDERED_NODE_SNAPSHOT_TYPE = 7; + const unsigned short ANY_UNORDERED_NODE_TYPE = 8; + const unsigned short FIRST_ORDERED_NODE_TYPE = 9; + readonly attribute unsigned short resultType; + readonly attribute double numberValue; + readonly attribute DOMString stringValue; + readonly attribute boolean booleanValue; + readonly attribute Node? singleNodeValue; + readonly attribute boolean invalidIteratorState; + readonly attribute unsigned long snapshotLength; + Node? iterateNext(); + Node? snapshotItem(unsigned long index); +}; +</script> +<script type='text/plain' class='untested'> +interface Document {}; +Document implements XPathEvaluator; +</script> +<script> +"use strict"; +var evaluator = document; +var resolver = function() {}; +var resolver2 = document.createNSResolver(document.documentElement); +var expression = document.createExpression("//*", resolver); +var result = document.evaluate("//*", document.documentElement, resolver, 0, null); + +var idlArray; +setup(function() { + idlArray = new IdlArray(); + [].forEach.call(document.querySelectorAll("script[type=text\\/plain]"), function(node) { + if (node.className == "untested") { + idlArray.add_untested_idls(node.textContent); + } else { + idlArray.add_idls(node.textContent); + } + }); + idlArray.add_objects({ + Document: ["document"], + XPathExpression: ["expression"], + XPathResolver: ["resolver", "resolver2"], + XPathResult: ["result"] + }); +}); +idlArray.test(); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling-1.html b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling-1.html new file mode 100644 index 0000000..26ffa0e3 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling-1.html
@@ -0,0 +1,31 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Support page for beforeunload-canceling.html</title> + +<h1>If this goes away, it navigated</h1> + +<script> +"use strict"; + +window.runTest = (t, { valueToReturn, expectCancelation, setReturnValue, expectedReturnValue }) => { + window.onbeforeunload = t.step_func(e => { + if (setReturnValue !== undefined) { + e.returnValue = setReturnValue; + } + + return valueToReturn; + }); + + const listener = t.step_func(e => { + top.assert_equals(e.defaultPrevented, expectCancelation, "canceled"); + top.assert_equals(e.returnValue, expectedReturnValue, "returnValue"); + window.onbeforeunload = null; + + t.done(); + }); + + window.addEventListener("beforeunload", listener); + + window.location.href = "about:blank"; +}; +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling.html b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling.html new file mode 100644 index 0000000..f330bfdc --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling.html
@@ -0,0 +1,135 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>beforeunload return value cancelation behavior</title> +<link rel="help" href="https://html.spec.whatwg.org/multipage/webappapis.html#the-event-handler-processing-algorithm"> +<link rel="author" title="Domenic Denicola" href="mailto:d@domenic.me"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<div id="log"></div> + +<script> +"use strict"; + +async_test(t => { + let onbeforeunloadHappened = false; + window.onbeforeunload = t.step_func(() => { + onbeforeunloadHappened = true; + return "cancel me"; + }); + + const listener = t.step_func(e => { + assert_true(onbeforeunloadHappened, "CustomEvent must be able to trigger the event handler"); + assert_false(e.defaultPrevented, "The event must not have been canceled"); + window.onbeforeunload = null; + t.done(); + }); + + window.addEventListener("beforeunload", listener); + + window.dispatchEvent(new CustomEvent("beforeunload")); +}, "Returning a string must not cancel the event: CustomEvent, non-cancelable"); + +async_test(t => { + let onbeforeunloadHappened = false; + window.onbeforeunload = t.step_func(() => { + onbeforeunloadHappened = true; + return "cancel me"; + }); + + const listener = t.step_func(e => { + assert_true(onbeforeunloadHappened, "CustomEvent must be able to trigger the event handler"); + assert_false(e.defaultPrevented, "The event must not have been canceled"); + window.onbeforeunload = null; + t.done(); + }); + + window.addEventListener("beforeunload", listener); + + window.dispatchEvent(new CustomEvent("beforeunload", { cancelable: true })); +}, "Returning a string must not cancel the event: CustomEvent, cancelable"); + +const testCases = [ + { + valueToReturn: null, + expectCancelation: false, + expectedReturnValue: "" + }, + { + valueToReturn: undefined, + expectCancelation: false, + expectedReturnValue: "" + }, + { + valueToReturn: "", + expectCancelation: true, + expectedReturnValue: "" + }, + { + valueToReturn: false, + expectCancelation: true, + expectedReturnValue: "false" + }, + { + valueToReturn: true, + expectCancelation: true, + expectedReturnValue: "true" + }, + { + valueToReturn: 0, + expectCancelation: true, + expectedReturnValue: "0" + }, + { + valueToReturn: null, + expectCancelation: false, + setReturnValue: "foo", + expectedReturnValue: "foo" + }, + { + valueToReturn: undefined, + expectCancelation: false, + setReturnValue: "foo", + expectedReturnValue: "foo" + }, + { + valueToReturn: "", + expectCancelation: true, + setReturnValue: "foo", + expectedReturnValue: "foo" + }, + { + valueToReturn: false, + expectCancelation: true, + setReturnValue: "foo", + expectedReturnValue: "foo" + }, + { + valueToReturn: true, + expectCancelation: true, + setReturnValue: "foo", + expectedReturnValue: "foo" + }, + { + valueToReturn: 0, + expectCancelation: true, + setReturnValue: "foo", + expectedReturnValue: "foo" + } +]; + +for (const testCase of testCases) { + const labelAboutReturnValue = testCase.setReturnValue === undefined ? "" : + `; setting returnValue to ${testCase.setReturnValue}`; + + async_test(t => { + const iframe = document.createElement("iframe"); + iframe.onload = t.step_func(() => { + iframe.contentWindow.runTest(t, testCase); + }); + + iframe.src = "beforeunload-canceling-1.html"; + document.body.appendChild(iframe); + }, `Returning ${testCase.valueToReturn} with a real iframe unloading${labelAboutReturnValue}`); +} +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/location-protocol-setter-with-colon.sub.html b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/location-protocol-setter-with-colon.sub.html new file mode 100644 index 0000000..396776d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/location-protocol-setter-with-colon.sub.html
@@ -0,0 +1,54 @@ +<!doctype html> +<meta charset=utf-8> +<title></title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<div id=log></div> +<iframe id="existing" src="resources/post-your-protocol.html?existing"></iframe> +<iframe id="http-and-gunk" src="resources/post-your-protocol.html?http-and-gunk"></iframe> +<iframe id="https-and-gunk" src="resources/post-your-protocol.html?https-and-gunk"></iframe> +<script> +// NOTE: we do not listen to message events until our load event fires, so we +// only get them for the things we actually care about. +var wrapper_test = async_test("General setup"); +var tests = { + "existing": { test: async_test("Set location.protocol = location.protocol"), + result: location.protocol }, + "http-and-gunk": { test: async_test("Set location.protocol to http:gunk"), + result: "http:" }, + // We should really test the "https:gunk" case too, and assert that it ends up + // with a protocol of "https:", but can't. See comments below for why. +}; + +function messageListener(e) { + test(function() { + var data = e.data; + var id = data.id; + var t = tests[id].test; + t.step(function() { + assert_equals(data.protocol, tests[id].result, "Protocol should match"); + }) + t.done(); + }, "Message listener"); +} + +addEventListener("load", wrapper_test.step_func_done(function() { + addEventListener("message", messageListener); + + tests["existing"].test.step(function() { + var loc = document.getElementById("existing").contentWindow.location; + loc.protocol = loc.protocol; + }); + tests["http-and-gunk"].test.step(function() { + var loc = document.getElementById("http-and-gunk").contentWindow.location; + loc.protocol = "http:gunk"; + }); + // I wish we could test the https bit, but can't figure out a non-racy way to + // do it, because we need to change both protocol (to https) _and_ port to + // {{ports[https][0]}} to get a successful load unless we're running on the + // default http port, but the setter uses the current value, which doesn't get + // updated sync, as the url to start with for the set. Oh, and there's no + // good way to detect when the port set is "done" either. +})); + +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/location-stringifier-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/location-stringifier-expected.txt new file mode 100644 index 0000000..a2fe3d2 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/location-stringifier-expected.txt
@@ -0,0 +1,9 @@ +This is a testharness.js-based test. +PASS Location stringifier +PASS Location stringifier 1 +PASS Location stringifier 2 +PASS Location stringifier 3 +PASS Location stringifier 4 +FAIL Location stringifier 5 assert_true: expected true got false +Harness: the test ran to completion. +
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/location-stringifier.html b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/location-stringifier.html index d23323b3..bde54b26 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/location-stringifier.html +++ b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/location-stringifier.html
@@ -8,4 +8,17 @@ <div id=log></div> <script> test_stringifier_attribute(location, "href", true); + +test(function() { + const prop1 = Object.getOwnPropertyDescriptor(location, "toString"), + prop2 = Object.getOwnPropertyDescriptor(location, "href") + + assert_true(prop1.enumerable) + assert_false(prop1.writable) + assert_false(prop1.configurable) + + assert_true(prop2.enumerable) + assert_false(prop2.configurable) + assert_equals(typeof prop2.get, "function") +}) </script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/location-symbol-toprimitive.html b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/location-symbol-toprimitive.html new file mode 100644 index 0000000..e666a3e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/location-symbol-toprimitive.html
@@ -0,0 +1,14 @@ +<!DOCTYPE html> +<title>Location Symbol.toPrimitive</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<div id=log></div> +<script> +test(() => { + assert_equals(location[Symbol.toPrimitive], undefined) + const prop = Object.getOwnPropertyDescriptor(location, Symbol.toPrimitive) + assert_false(prop.enumerable) + assert_false(prop.writable) + assert_false(prop.configurable) +}) +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/location-tojson.html b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/location-tojson.html new file mode 100644 index 0000000..5f20a6e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/location-tojson.html
@@ -0,0 +1,13 @@ +<!DOCTYPE html> +<title>Location has no toJSON</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<div id=log></div> +<script> +test(() => { + assert_equals(location.toJSON, undefined) + assert_equals(Object.getOwnPropertyDescriptor(location, "toJSON"), undefined) + assert_false(location.hasOwnProperty("toJSON")) +}) +</script> +<!-- See https://github.com/whatwg/html/pull/2294 for context. (And the HTML Standard of course.) -->
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/location-valueof.html b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/location-valueof.html new file mode 100644 index 0000000..978bbb6 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/location-valueof.html
@@ -0,0 +1,15 @@ +<!DOCTYPE html> +<title>Location valueOf</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<div id=log></div> +<script> +test(() => { + assert_equals(location.valueOf, Object.prototype.valueOf) + assert_equals(typeof location.valueOf.call(5), "object") + const prop = Object.getOwnPropertyDescriptor(location, "valueOf") + assert_false(prop.enumerable) + assert_false(prop.writable) + assert_false(prop.configurable) +}) +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/resources/post-your-protocol.html b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/resources/post-your-protocol.html new file mode 100644 index 0000000..c50d6238 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/browsers/history/the-location-interface/resources/post-your-protocol.html
@@ -0,0 +1,4 @@ +<script> + var id = location.search.substring(1); + parent.postMessage({ id: id, protocol: location.protocol }, "*"); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/interfaces.worker.js b/third_party/WebKit/LayoutTests/external/wpt/html/dom/interfaces.worker.js new file mode 100644 index 0000000..5bd08f3 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/dom/interfaces.worker.js
@@ -0,0 +1,33 @@ +"use strict"; + +importScripts("/resources/testharness.js"); +importScripts("/resources/WebIDLParser.js", "/resources/idlharness.js"); + +function doTest([untested, tested]) { + var idlArray = new IdlArray(); + idlArray.add_untested_idls(untested); + idlArray.add_idls(tested); + + idlArray.add_objects({ + WorkerNavigator: ['self.navigator'], + WebSocket: ['new WebSocket("ws://foo")'], + CloseEvent: ['new CloseEvent("close")'], + Worker: [], + MessageEvent: ['new MessageEvent("message", { data: 5 })'], + DedicatedWorkerGlobalScope: ['self'], + }); + + idlArray.test(); +}; + +function fetchData(url) { + return fetch(url).then((response) => response.text()); +} + +promise_test(function() { + return Promise.all([fetchData("resources/untested-interfaces.idl"), + fetchData("resources/interfaces.idl")]) + .then(doTest); +}, "Test driver"); + +done();
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/resources/interfaces.idl b/third_party/WebKit/LayoutTests/external/wpt/html/dom/resources/interfaces.idl new file mode 100644 index 0000000..8ad5abc --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/dom/resources/interfaces.idl
@@ -0,0 +1,2282 @@ +// HTML IDLs +typedef (Int8Array or Uint8Array or Uint8ClampedArray or + Int16Array or Uint16Array or + Int32Array or Uint32Array or + Float32Array or Float64Array or + DataView) ArrayBufferView; + +[NoInterfaceObject, Exposed=Window] +interface HTMLHyperlinkElementUtils { + stringifier attribute USVString href; + readonly attribute USVString origin; + attribute USVString protocol; + attribute USVString username; + attribute USVString password; + attribute USVString host; + attribute USVString hostname; + attribute USVString port; + attribute USVString pathname; + attribute USVString search; + attribute USVString hash; +}; + +interface HTMLAllCollection { + readonly attribute unsigned long length; + getter Element? item(unsigned long index); + (HTMLCollection or Element)? item(DOMString name); + legacycaller getter (HTMLCollection or Element)? namedItem(DOMString name); +}; + +interface HTMLFormControlsCollection : HTMLCollection { + // inherits length and item() + getter (RadioNodeList or Element)? namedItem(DOMString name); // shadows inherited namedItem() +}; + +interface RadioNodeList : NodeList { + attribute DOMString value; +}; + +interface HTMLOptionsCollection : HTMLCollection { + // inherits item(), namedItem() + attribute unsigned long length; // shadows inherited length + [CEReactions] setter void (unsigned long index, HTMLOptionElement? option); + [CEReactions] void add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null); + [CEReactions] void remove(long index); + attribute long selectedIndex; +}; + +typedef sequence<any> PropertyValueArray; + +[OverrideBuiltins] +interface DOMStringMap { + getter DOMString (DOMString name); + setter creator void (DOMString name, DOMString value); + deleter void (DOMString name); +}; + +typedef (ArrayBuffer or MessagePort) Transferable; + +callback FileCallback = void (File file); + +enum DocumentReadyState { "loading", "interactive", "complete" }; +typedef (HTMLScriptElement or SVGScriptElement) HTMLOrSVGScriptElement; + +[OverrideBuiltins] +partial /*sealed*/ interface Document { + // resource metadata management + [PutForwards=href, Unforgeable] readonly attribute Location? location; + attribute USVString domain; + readonly attribute USVString referrer; + attribute USVString cookie; + readonly attribute DOMString lastModified; + readonly attribute DocumentReadyState readyState; + + // DOM tree accessors + getter object (DOMString name); + [CEReactions] attribute DOMString title; + [CEReactions] attribute DOMString dir; + [CEReactions] attribute HTMLElement? body; + readonly attribute HTMLHeadElement? head; + [SameObject] readonly attribute HTMLCollection images; + [SameObject] readonly attribute HTMLCollection embeds; + [SameObject] readonly attribute HTMLCollection plugins; + [SameObject] readonly attribute HTMLCollection links; + [SameObject] readonly attribute HTMLCollection forms; + [SameObject] readonly attribute HTMLCollection scripts; + NodeList getElementsByName(DOMString elementName); + readonly attribute HTMLOrSVGScriptElement? currentScript; // classic scripts in a document tree only + + // dynamic markup insertion + [CEReactions] Document open(optional DOMString type = "text/html", optional DOMString replace = ""); + WindowProxy open(USVString url, DOMString name, DOMString features); + [CEReactions] void close(); + [CEReactions] void write(DOMString... text); + [CEReactions] void writeln(DOMString... text); + + // user interaction + readonly attribute WindowProxy? defaultView; + readonly attribute Element? activeElement; + boolean hasFocus(); + [CEReactions] attribute DOMString designMode; + [CEReactions] boolean execCommand(DOMString commandId, optional boolean showUI = false, optional DOMString value = ""); + boolean queryCommandEnabled(DOMString commandId); + boolean queryCommandIndeterm(DOMString commandId); + boolean queryCommandState(DOMString commandId); + boolean queryCommandSupported(DOMString commandId); + DOMString queryCommandValue(DOMString commandId); + + // special event handler IDL attributes that only apply to Document objects + [LenientThis] attribute EventHandler onreadystatechange; + + // also has obsolete members +}; +Document implements GlobalEventHandlers; +Document implements DocumentAndElementEventHandlers; + +[NoInterfaceObject] +interface ElementContentEditable { + [CEReactions] attribute DOMString contentEditable; + readonly attribute boolean isContentEditable; +}; + +interface HTMLElement : Element { + // metadata attributes + [CEReactions] attribute DOMString title; + [CEReactions] attribute DOMString lang; + [CEReactions] attribute boolean translate; + [CEReactions] attribute DOMString dir; + [SameObject] readonly attribute DOMStringMap dataset; + + // user interaction + [CEReactions] attribute boolean hidden; + void click(); + [CEReactions] attribute long tabIndex; + void focus(); + void blur(); + [CEReactions] attribute DOMString accessKey; + readonly attribute DOMString accessKeyLabel; + [CEReactions] attribute boolean draggable; + [CEReactions, SameObject, PutForwards=value] readonly attribute DOMTokenList dropzone; + [CEReactions] attribute HTMLMenuElement? contextMenu; + [CEReactions] attribute boolean spellcheck; + void forceSpellCheck(); + + [CEReactions, TreatNullAs=EmptyString] attribute DOMString innerText; +}; +HTMLElement implements GlobalEventHandlers; +HTMLElement implements DocumentAndElementEventHandlers; +HTMLElement implements ElementContentEditable; + +interface HTMLUnknownElement : HTMLElement { }; + +interface HTMLHtmlElement : HTMLElement { + // also has obsolete members +}; + +interface HTMLHeadElement : HTMLElement {}; + +interface HTMLTitleElement : HTMLElement { + attribute DOMString text; +}; + +interface HTMLBaseElement : HTMLElement { + attribute DOMString href; + attribute DOMString target; +}; + +[HTMLConstructor] +interface HTMLLinkElement : HTMLElement { + [CEReactions] attribute USVString href; + [CEReactions] attribute DOMString? crossOrigin; + [CEReactions] attribute DOMString rel; + // [CEReactions] attribute RequestDestination as; // (default "") XXX TODO + [CEReactions, SameObject, PutForwards=value] readonly attribute DOMTokenList relList; + [CEReactions] attribute DOMString media; + [CEReactions] attribute DOMString nonce; + [CEReactions] attribute DOMString integrity; + [CEReactions] attribute DOMString hreflang; + [CEReactions] attribute DOMString type; + [CEReactions, SameObject, PutForwards=value] readonly attribute DOMTokenList sizes; + [CEReactions] attribute DOMString referrerPolicy; + + // also has obsolete members +}; +HTMLLinkElement implements LinkStyle; + +interface HTMLMetaElement : HTMLElement { + attribute DOMString name; + attribute DOMString httpEquiv; + attribute DOMString content; + + // also has obsolete members +}; + +interface HTMLStyleElement : HTMLElement { + [CEReactions] attribute DOMString media; + [CEReactions] attribute DOMString nonce; + [CEReactions] attribute DOMString type; +}; +HTMLStyleElement implements LinkStyle; + +interface HTMLBodyElement : HTMLElement { + + // also has obsolete members +}; +HTMLBodyElement implements WindowEventHandlers; + +interface HTMLHeadingElement : HTMLElement { + // also has obsolete members +}; + +interface HTMLParagraphElement : HTMLElement { + // also has obsolete members +}; + +interface HTMLHRElement : HTMLElement { + // also has obsolete members +}; + +interface HTMLPreElement : HTMLElement { + // also has obsolete members +}; + +interface HTMLQuoteElement : HTMLElement { + attribute DOMString cite; +}; + +interface HTMLOListElement : HTMLElement { + attribute boolean reversed; + attribute long start; + attribute DOMString type; + + // also has obsolete members +}; + +interface HTMLUListElement : HTMLElement { + // also has obsolete members +}; + +interface HTMLLIElement : HTMLElement { + attribute long value; + + // also has obsolete members +}; + +interface HTMLDListElement : HTMLElement { + // also has obsolete members +}; + +interface HTMLDivElement : HTMLElement { + // also has obsolete members +}; + +[HTMLConstructor] +interface HTMLAnchorElement : HTMLElement { + [CEReactions] attribute DOMString target; + [CEReactions] attribute DOMString download; + [CEReactions] attribute USVString ping; + [CEReactions] attribute DOMString rel; + [CEReactions, SameObject, PutForwards=value] readonly attribute DOMTokenList relList; + [CEReactions] attribute DOMString hreflang; + [CEReactions] attribute DOMString type; + + [CEReactions] attribute DOMString text; + + [CEReactions] attribute DOMString referrerPolicy; + + // also has obsolete members +}; +HTMLAnchorElement implements HTMLHyperlinkElementUtils; + +interface HTMLDataElement : HTMLElement { + attribute DOMString value; +}; + +interface HTMLTimeElement : HTMLElement { + attribute DOMString dateTime; +}; + +interface HTMLSpanElement : HTMLElement {}; + +interface HTMLBRElement : HTMLElement { + // also has obsolete members +}; + +interface HTMLModElement : HTMLElement { + attribute DOMString cite; + attribute DOMString dateTime; +}; + +interface HTMLPictureElement : HTMLElement {}; + +partial interface HTMLSourceElement { + attribute DOMString srcset; + attribute DOMString sizes; + attribute DOMString media; +}; + +[HTMLConstructor, NamedConstructor=Image(optional unsigned long width, optional unsigned long height)] +interface HTMLImageElement : HTMLElement { + [CEReactions] attribute DOMString alt; + [CEReactions] attribute USVString src; + [CEReactions] attribute USVString srcset; + [CEReactions] attribute DOMString sizes; + [CEReactions] attribute DOMString? crossOrigin; + [CEReactions] attribute DOMString useMap; + [CEReactions] attribute boolean isMap; + [CEReactions] attribute unsigned long width; + [CEReactions] attribute unsigned long height; + readonly attribute unsigned long naturalWidth; + readonly attribute unsigned long naturalHeight; + readonly attribute boolean complete; + readonly attribute USVString currentSrc; + [CEReactions] attribute DOMString referrerPolicy; + + // also has obsolete members +}; + +[HTMLConstructor] +interface HTMLIFrameElement : HTMLElement { + [CEReactions] attribute USVString src; + [CEReactions] attribute DOMString srcdoc; + [CEReactions] attribute DOMString name; + [CEReactions, SameObject, PutForwards=value] readonly attribute DOMTokenList sandbox; + [CEReactions] attribute boolean allowFullscreen; + [CEReactions] attribute boolean allowUserMedia; + [CEReactions] attribute boolean allowPaymentRequest; + [CEReactions] attribute DOMString width; + [CEReactions] attribute DOMString height; + [CEReactions] attribute DOMString referrerPolicy; + readonly attribute Document? contentDocument; + readonly attribute WindowProxy? contentWindow; + Document? getSVGDocument(); +}; + +interface HTMLEmbedElement : HTMLElement { + attribute DOMString src; + attribute DOMString type; + attribute DOMString width; + attribute DOMString height; + Document getSVGDocument(); + + // also has obsolete members +}; + +interface HTMLObjectElement : HTMLElement { + attribute DOMString data; + attribute DOMString type; + attribute boolean typeMustMatch; + attribute DOMString name; + attribute DOMString useMap; + readonly attribute HTMLFormElement? form; + attribute DOMString width; + attribute DOMString height; + readonly attribute Document? contentDocument; + readonly attribute WindowProxy? contentWindow; + + readonly attribute boolean willValidate; + readonly attribute ValidityState validity; + readonly attribute DOMString validationMessage; + boolean checkValidity(); + boolean reportValidity(); + void setCustomValidity(DOMString error); + + // also has obsolete members +}; + +interface HTMLParamElement : HTMLElement { + attribute DOMString name; + attribute DOMString value; + + // also has obsolete members +}; + +interface HTMLVideoElement : HTMLMediaElement { + attribute unsigned long width; + attribute unsigned long height; + readonly attribute unsigned long videoWidth; + readonly attribute unsigned long videoHeight; + attribute DOMString poster; +}; + +[NamedConstructor=Audio(optional DOMString src)] +interface HTMLAudioElement : HTMLMediaElement {}; + +interface HTMLSourceElement : HTMLElement { + attribute DOMString src; + attribute DOMString type; + + // also has obsolete members +}; + +interface HTMLTrackElement : HTMLElement { + attribute DOMString kind; + attribute DOMString src; + attribute DOMString srclang; + attribute DOMString label; + attribute boolean default; + + const unsigned short NONE = 0; + const unsigned short LOADING = 1; + const unsigned short LOADED = 2; + const unsigned short ERROR = 3; + readonly attribute unsigned short readyState; + + readonly attribute TextTrack track; +}; + +enum CanPlayTypeResult { "" /* empty string */, "maybe", "probably" }; +interface HTMLMediaElement : HTMLElement { + + // error state + readonly attribute MediaError? error; + + // network state + attribute DOMString src; + readonly attribute DOMString currentSrc; + attribute DOMString? crossOrigin; + const unsigned short NETWORK_EMPTY = 0; + const unsigned short NETWORK_IDLE = 1; + const unsigned short NETWORK_LOADING = 2; + const unsigned short NETWORK_NO_SOURCE = 3; + readonly attribute unsigned short networkState; + attribute DOMString preload; + readonly attribute TimeRanges buffered; + void load(); + CanPlayTypeResult canPlayType(DOMString type); + + // ready state + const unsigned short HAVE_NOTHING = 0; + const unsigned short HAVE_METADATA = 1; + const unsigned short HAVE_CURRENT_DATA = 2; + const unsigned short HAVE_FUTURE_DATA = 3; + const unsigned short HAVE_ENOUGH_DATA = 4; + readonly attribute unsigned short readyState; + readonly attribute boolean seeking; + + // playback state + attribute double currentTime; + void fastSeek(double time); + readonly attribute unrestricted double duration; + Date getStartDate(); + readonly attribute boolean paused; + attribute double defaultPlaybackRate; + attribute double playbackRate; + readonly attribute TimeRanges played; + readonly attribute TimeRanges seekable; + readonly attribute boolean ended; + attribute boolean autoplay; + attribute boolean loop; + Promise<void> play(); + void pause(); + + // controls + attribute boolean controls; + attribute double volume; + attribute boolean muted; + attribute boolean defaultMuted; + + // tracks + readonly attribute AudioTrackList audioTracks; + readonly attribute VideoTrackList videoTracks; + readonly attribute TextTrackList textTracks; + TextTrack addTextTrack(TextTrackKind kind, optional DOMString label = "", optional DOMString language = ""); +}; + +interface MediaError { + const unsigned short MEDIA_ERR_ABORTED = 1; + const unsigned short MEDIA_ERR_NETWORK = 2; + const unsigned short MEDIA_ERR_DECODE = 3; + const unsigned short MEDIA_ERR_SRC_NOT_SUPPORTED = 4; + readonly attribute unsigned short code; + readonly attribute DOMString message; +}; + +interface AudioTrackList : EventTarget { + readonly attribute unsigned long length; + getter AudioTrack (unsigned long index); + AudioTrack? getTrackById(DOMString id); + + attribute EventHandler onchange; + attribute EventHandler onaddtrack; + attribute EventHandler onremovetrack; +}; + +interface AudioTrack { + readonly attribute DOMString id; + readonly attribute DOMString kind; + readonly attribute DOMString label; + readonly attribute DOMString language; + attribute boolean enabled; +}; + +interface VideoTrackList : EventTarget { + readonly attribute unsigned long length; + getter VideoTrack (unsigned long index); + VideoTrack? getTrackById(DOMString id); + readonly attribute long selectedIndex; + + attribute EventHandler onchange; + attribute EventHandler onaddtrack; + attribute EventHandler onremovetrack; +}; + +interface VideoTrack { + readonly attribute DOMString id; + readonly attribute DOMString kind; + readonly attribute DOMString label; + readonly attribute DOMString language; + attribute boolean selected; +}; + +interface TextTrackList : EventTarget { + readonly attribute unsigned long length; + getter TextTrack (unsigned long index); + TextTrack? getTrackById(DOMString id); + + attribute EventHandler onchange; + attribute EventHandler onaddtrack; + attribute EventHandler onremovetrack; +}; + +enum TextTrackMode { "disabled", "hidden", "showing" }; +enum TextTrackKind { "subtitles", "captions", "descriptions", "chapters", "metadata" }; +interface TextTrack : EventTarget { + readonly attribute TextTrackKind kind; + readonly attribute DOMString label; + readonly attribute DOMString language; + + readonly attribute DOMString id; + readonly attribute DOMString inBandMetadataTrackDispatchType; + + attribute TextTrackMode mode; + + readonly attribute TextTrackCueList? cues; + readonly attribute TextTrackCueList? activeCues; + + void addCue(TextTrackCue cue); + void removeCue(TextTrackCue cue); + + attribute EventHandler oncuechange; +}; + +interface TextTrackCueList { + readonly attribute unsigned long length; + getter TextTrackCue (unsigned long index); + TextTrackCue? getCueById(DOMString id); +}; + +interface TextTrackCue : EventTarget { + readonly attribute TextTrack? track; + + attribute DOMString id; + attribute double startTime; + attribute double endTime; + attribute boolean pauseOnExit; + + attribute EventHandler onenter; + attribute EventHandler onexit; +}; + +interface TimeRanges { + readonly attribute unsigned long length; + double start(unsigned long index); + double end(unsigned long index); +}; + +[Constructor(DOMString type, optional TrackEventInit eventInitDict)] +interface TrackEvent : Event { + readonly attribute (VideoTrack or AudioTrack or TextTrack) track; +}; + +dictionary TrackEventInit : EventInit { + (VideoTrack or AudioTrack or TextTrack) track; +}; + +interface HTMLMapElement : HTMLElement { + attribute DOMString name; + readonly attribute HTMLCollection areas; +}; + +[HTMLConstructor] +interface HTMLAreaElement : HTMLElement { + [CEReactions] attribute DOMString alt; + [CEReactions] attribute DOMString coords; + [CEReactions] attribute DOMString shape; + [CEReactions] attribute DOMString target; + [CEReactions] attribute DOMString download; + [CEReactions] attribute USVString ping; + [CEReactions] attribute DOMString rel; + [CEReactions, SameObject, PutForwards=value] readonly attribute DOMTokenList relList; + [CEReactions] attribute DOMString referrerPolicy; + + // also has obsolete members +}; +HTMLAreaElement implements HTMLHyperlinkElementUtils; + +interface HTMLTableElement : HTMLElement { + attribute HTMLTableCaptionElement? caption; + HTMLElement createCaption(); + void deleteCaption(); + attribute HTMLTableSectionElement? tHead; + HTMLElement createTHead(); + void deleteTHead(); + attribute HTMLTableSectionElement? tFoot; + HTMLElement createTFoot(); + void deleteTFoot(); + readonly attribute HTMLCollection tBodies; + HTMLElement createTBody(); + readonly attribute HTMLCollection rows; + HTMLElement insertRow(optional long index = -1); + void deleteRow(long index); + + // also has obsolete members +}; + +interface HTMLTableCaptionElement : HTMLElement { + // also has obsolete members +}; + +interface HTMLTableColElement : HTMLElement { + attribute unsigned long span; + + // also has obsolete members +}; + +interface HTMLTableSectionElement : HTMLElement { + readonly attribute HTMLCollection rows; + HTMLElement insertRow(optional long index = -1); + void deleteRow(long index); + + // also has obsolete members +}; + +interface HTMLTableRowElement : HTMLElement { + readonly attribute long rowIndex; + readonly attribute long sectionRowIndex; + readonly attribute HTMLCollection cells; + HTMLElement insertCell(optional long index = -1); + void deleteCell(long index); + + // also has obsolete members +}; + +interface HTMLTableCellElement : HTMLElement { + [CEReactions] attribute unsigned long colSpan; + [CEReactions] attribute unsigned long rowSpan; + [CEReactions] attribute DOMString headers; + readonly attribute long cellIndex; + + [CEReactions] attribute DOMString scope; // only conforming for th elements + [CEReactions] attribute DOMString abbr; // only conforming for th elements + + // also has obsolete members +}; + +[OverrideBuiltins] +interface HTMLFormElement : HTMLElement { + attribute DOMString acceptCharset; + attribute DOMString action; + attribute DOMString autocomplete; + attribute DOMString enctype; + attribute DOMString encoding; + attribute DOMString method; + attribute DOMString name; + attribute boolean noValidate; + attribute DOMString target; + + readonly attribute HTMLFormControlsCollection elements; + readonly attribute unsigned long length; + getter Element (unsigned long index); + getter (RadioNodeList or Element) (DOMString name); + + void submit(); + void reset(); + boolean checkValidity(); + boolean reportValidity(); +}; + +interface HTMLLabelElement : HTMLElement { + readonly attribute HTMLFormElement? form; + attribute DOMString htmlFor; + readonly attribute HTMLElement? control; +}; + +[HTMLConstructor] +interface HTMLInputElement : HTMLElement { + [CEReactions] attribute DOMString accept; + [CEReactions] attribute DOMString alt; + [CEReactions] attribute DOMString autocomplete; + [CEReactions] attribute boolean autofocus; + [CEReactions] attribute boolean defaultChecked; + attribute boolean checked; + [CEReactions] attribute DOMString dirName; + [CEReactions] attribute boolean disabled; + readonly attribute HTMLFormElement? form; + readonly attribute FileList? files; + [CEReactions] attribute USVString formAction; + [CEReactions] attribute DOMString formEnctype; + [CEReactions] attribute DOMString formMethod; + [CEReactions] attribute boolean formNoValidate; + [CEReactions] attribute DOMString formTarget; + [CEReactions] attribute unsigned long height; + attribute boolean indeterminate; + [CEReactions] attribute DOMString inputMode; + readonly attribute HTMLElement? list; + [CEReactions] attribute DOMString max; + [CEReactions] attribute long maxLength; + [CEReactions] attribute DOMString min; + [CEReactions] attribute long minLength; + [CEReactions] attribute boolean multiple; + [CEReactions] attribute DOMString name; + [CEReactions] attribute DOMString pattern; + [CEReactions] attribute DOMString placeholder; + [CEReactions] attribute boolean readOnly; + [CEReactions] attribute boolean required; + [CEReactions] attribute unsigned long size; + [CEReactions] attribute USVString src; + [CEReactions] attribute DOMString step; + [CEReactions] attribute DOMString type; + [CEReactions] attribute DOMString defaultValue; + [CEReactions, TreatNullAs=EmptyString] attribute DOMString value; + attribute object? valueAsDate; + attribute unrestricted double valueAsNumber; + [CEReactions] attribute unsigned long width; + + void stepUp(optional long n = 1); + void stepDown(optional long n = 1); + + readonly attribute boolean willValidate; + readonly attribute ValidityState validity; + readonly attribute DOMString validationMessage; + boolean checkValidity(); + boolean reportValidity(); + void setCustomValidity(DOMString error); + + readonly attribute NodeList? labels; + + void select(); + attribute unsigned long? selectionStart; + attribute unsigned long? selectionEnd; + attribute DOMString? selectionDirection; + void setRangeText(DOMString replacement); + void setRangeText(DOMString replacement, unsigned long start, unsigned long end, optional SelectionMode selectionMode = "preserve"); + void setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction); + + // also has obsolete members +}; + +[HTMLConstructor] +interface HTMLButtonElement : HTMLElement { + [CEReactions] attribute boolean autofocus; + [CEReactions] attribute boolean disabled; + readonly attribute HTMLFormElement? form; + [CEReactions] attribute USVString formAction; + [CEReactions] attribute DOMString formEnctype; + [CEReactions] attribute DOMString formMethod; + [CEReactions] attribute boolean formNoValidate; + [CEReactions] attribute DOMString formTarget; + [CEReactions] attribute DOMString name; + [CEReactions] attribute DOMString type; + [CEReactions] attribute DOMString value; + + readonly attribute boolean willValidate; + readonly attribute ValidityState validity; + readonly attribute DOMString validationMessage; + boolean checkValidity(); + boolean reportValidity(); + void setCustomValidity(DOMString error); + + readonly attribute NodeList labels; +}; + +[HTMLConstructor] +interface HTMLSelectElement : HTMLElement { + [CEReactions] attribute DOMString autocomplete; + [CEReactions] attribute boolean autofocus; + [CEReactions] attribute boolean disabled; + readonly attribute HTMLFormElement? form; + [CEReactions] attribute boolean multiple; + [CEReactions] attribute DOMString name; + [CEReactions] attribute boolean required; + [CEReactions] attribute unsigned long size; + + readonly attribute DOMString type; + + [SameObject] readonly attribute HTMLOptionsCollection options; + [CEReactions] attribute unsigned long length; + getter Element? item(unsigned long index); + HTMLOptionElement? namedItem(DOMString name); + [CEReactions] void add((HTMLOptionElement or HTMLOptGroupElement) element, optional (HTMLElement or long)? before = null); + [CEReactions] void remove(); // ChildNode overload + [CEReactions] void remove(long index); + [CEReactions] setter void (unsigned long index, HTMLOptionElement? option); + + [SameObject] readonly attribute HTMLCollection selectedOptions; + attribute long selectedIndex; + attribute DOMString value; + + readonly attribute boolean willValidate; + readonly attribute ValidityState validity; + readonly attribute DOMString validationMessage; + boolean checkValidity(); + boolean reportValidity(); + void setCustomValidity(DOMString error); + + readonly attribute NodeList labels; +}; + +interface HTMLDataListElement : HTMLElement { + readonly attribute HTMLCollection options; +}; + +interface HTMLOptGroupElement : HTMLElement { + attribute boolean disabled; + attribute DOMString label; +}; + +[NamedConstructor=Option(optional DOMString text = "", optional DOMString value, optional boolean defaultSelected = false, optional boolean selected = false)] +interface HTMLOptionElement : HTMLElement { + attribute boolean disabled; + readonly attribute HTMLFormElement? form; + attribute DOMString label; + attribute boolean defaultSelected; + attribute boolean selected; + attribute DOMString value; + + attribute DOMString text; + readonly attribute long index; +}; + +[HTMLConstructor] +interface HTMLTextAreaElement : HTMLElement { + [CEReactions] attribute DOMString autocomplete; + [CEReactions] attribute boolean autofocus; + [CEReactions] attribute unsigned long cols; + [CEReactions] attribute DOMString dirName; + [CEReactions] attribute boolean disabled; + readonly attribute HTMLFormElement? form; + [CEReactions] attribute DOMString inputMode; + [CEReactions] attribute long maxLength; + [CEReactions] attribute long minLength; + [CEReactions] attribute DOMString name; + [CEReactions] attribute DOMString placeholder; + [CEReactions] attribute boolean readOnly; + [CEReactions] attribute boolean required; + [CEReactions] attribute unsigned long rows; + [CEReactions] attribute DOMString wrap; + + readonly attribute DOMString type; + [CEReactions] attribute DOMString defaultValue; + [CEReactions, TreatNullAs=EmptyString] attribute DOMString value; + readonly attribute unsigned long textLength; + + readonly attribute boolean willValidate; + readonly attribute ValidityState validity; + readonly attribute DOMString validationMessage; + boolean checkValidity(); + boolean reportValidity(); + void setCustomValidity(DOMString error); + + readonly attribute NodeList labels; + + void select(); + attribute unsigned long selectionStart; + attribute unsigned long selectionEnd; + attribute DOMString selectionDirection; + void setRangeText(DOMString replacement); + void setRangeText(DOMString replacement, unsigned long start, unsigned long end, optional SelectionMode selectionMode = "preserve"); + void setSelectionRange(unsigned long start, unsigned long end, optional DOMString direction); +}; + +[HTMLConstructor] +interface HTMLOutputElement : HTMLElement { + [CEReactions, SameObject, PutForwards=value] readonly attribute DOMTokenList htmlFor; + readonly attribute HTMLFormElement? form; + [CEReactions] attribute DOMString name; + + readonly attribute DOMString type; + [CEReactions] attribute DOMString defaultValue; + [CEReactions] attribute DOMString value; + + readonly attribute boolean willValidate; + readonly attribute ValidityState validity; + readonly attribute DOMString validationMessage; + boolean checkValidity(); + boolean reportValidity(); + void setCustomValidity(DOMString error); + + readonly attribute NodeList labels; +}; + +[HTMLConstructor] +interface HTMLProgressElement : HTMLElement { + [CEReactions] attribute double value; + [CEReactions] attribute double max; + readonly attribute double position; + readonly attribute NodeList labels; +}; + +[HTMLConstructor] +interface HTMLMeterElement : HTMLElement { + [CEReactions] attribute double value; + [CEReactions] attribute double min; + [CEReactions] attribute double max; + [CEReactions] attribute double low; + [CEReactions] attribute double high; + [CEReactions] attribute double optimum; + readonly attribute NodeList labels; +}; + +interface HTMLFieldSetElement : HTMLElement { + attribute boolean disabled; + readonly attribute HTMLFormElement? form; + attribute DOMString name; + + readonly attribute DOMString type; + + readonly attribute HTMLFormControlsCollection elements; + + readonly attribute boolean willValidate; + readonly attribute ValidityState validity; + readonly attribute DOMString validationMessage; + boolean checkValidity(); + boolean reportValidity(); + void setCustomValidity(DOMString error); +}; + +interface HTMLLegendElement : HTMLElement { + readonly attribute HTMLFormElement? form; + + // also has obsolete members +}; + +enum SelectionMode { + "select", + "start", + "end", + "preserve"/*,*/ // default +}; + +interface ValidityState { + readonly attribute boolean valueMissing; + readonly attribute boolean typeMismatch; + readonly attribute boolean patternMismatch; + readonly attribute boolean tooLong; + readonly attribute boolean tooShort; + readonly attribute boolean rangeUnderflow; + readonly attribute boolean rangeOverflow; + readonly attribute boolean stepMismatch; + readonly attribute boolean badInput; + readonly attribute boolean customError; + readonly attribute boolean valid; +}; + +interface HTMLDetailsElement : HTMLElement { + attribute boolean open; +}; + +interface HTMLMenuElement : HTMLElement { + attribute DOMString type; + attribute DOMString label; + + // also has obsolete members +}; + +interface HTMLMenuItemElement : HTMLElement { + attribute DOMString type; + attribute DOMString label; + attribute DOMString icon; + attribute boolean disabled; + attribute boolean checked; + attribute DOMString radiogroup; + attribute boolean default; + readonly attribute HTMLElement? command; +}; + +[Constructor(DOMString type, optional RelatedEventInit eventInitDict)] +interface RelatedEvent : Event { + readonly attribute EventTarget? relatedTarget; +}; + +dictionary RelatedEventInit : EventInit { + EventTarget? relatedTarget; +}; + +interface HTMLDialogElement : HTMLElement { + attribute boolean open; + attribute DOMString returnValue; + void show(); + void showModal(); + void close(optional DOMString returnValue); +}; + +[HTMLConstructor] +interface HTMLScriptElement : HTMLElement { + [CEReactions] attribute USVString src; + [CEReactions] attribute DOMString type; + [CEReactions] attribute boolean noModule; + [CEReactions] attribute DOMString charset; + [CEReactions] attribute boolean async; + [CEReactions] attribute boolean defer; + [CEReactions] attribute DOMString? crossOrigin; + [CEReactions] attribute DOMString text; + [CEReactions] attribute DOMString nonce; + [CEReactions] attribute DOMString integrity; + + + // also has obsolete members +}; + +interface HTMLTemplateElement : HTMLElement { + readonly attribute DocumentFragment content; +}; + +interface HTMLSlotElement : HTMLElement { + /*[CEReactions]*/ attribute DOMString name; + sequence<Node> assignedNodes(optional AssignedNodesOptions options); +}; + +dictionary AssignedNodesOptions { + boolean flatten = false; +}; + +typedef (CanvasRenderingContext2D or WebGLRenderingContext) RenderingContext; +callback BlobCallback = void (Blob? blob); + +interface HTMLCanvasElement : HTMLElement { + attribute unsigned long width; + attribute unsigned long height; + + RenderingContext? getContext(DOMString contextId, any... arguments); + + DOMString toDataURL(optional DOMString type, any... arguments); + void toBlob(BlobCallback _callback, optional DOMString type, any... arguments); +}; + +typedef (HTMLImageElement or + SVGImageElement) HTMLOrSVGImageElement; + +typedef (HTMLOrSVGImageElement or + HTMLVideoElement or + HTMLCanvasElement or + ImageBitmap) CanvasImageSource; + +enum CanvasFillRule { "nonzero", "evenodd" }; + +dictionary CanvasRenderingContext2DSettings { + boolean alpha = true; +}; + +enum ImageSmoothingQuality { "low", "medium", "high" }; + +interface CanvasRenderingContext2D { + // back-reference to the canvas + readonly attribute HTMLCanvasElement canvas; +}; +CanvasRenderingContext2D implements CanvasState; +CanvasRenderingContext2D implements CanvasTransform; +CanvasRenderingContext2D implements CanvasCompositing; +CanvasRenderingContext2D implements CanvasImageSmoothing; +CanvasRenderingContext2D implements CanvasFillStrokeStyles; +CanvasRenderingContext2D implements CanvasShadowStyles; +CanvasRenderingContext2D implements CanvasFilters; +CanvasRenderingContext2D implements CanvasRect; +CanvasRenderingContext2D implements CanvasDrawPath; +CanvasRenderingContext2D implements CanvasUserInterface; +CanvasRenderingContext2D implements CanvasText; +CanvasRenderingContext2D implements CanvasDrawImage; +CanvasRenderingContext2D implements CanvasHitRegion; +CanvasRenderingContext2D implements CanvasImageData; +CanvasRenderingContext2D implements CanvasPathDrawingStyles; +CanvasRenderingContext2D implements CanvasTextDrawingStyles; +CanvasRenderingContext2D implements CanvasPath; + +[NoInterfaceObject] +interface CanvasState { + // state + void save(); // push state on state stack + void restore(); // pop state stack and restore state +}; + +[NoInterfaceObject] +interface CanvasTransform { + // transformations (default transform is the identity matrix) + void scale(unrestricted double x, unrestricted double y); + void rotate(unrestricted double angle); + void translate(unrestricted double x, unrestricted double y); + void transform(unrestricted double a, unrestricted double b, unrestricted double c, unrestricted double d, unrestricted double e, unrestricted double f); + + [NewObject] DOMMatrix getTransform(); + void setTransform(unrestricted double a, unrestricted double b, unrestricted double c, unrestricted double d, unrestricted double e, unrestricted double f); + void setTransform(optional DOMMatrixInit transform); + void resetTransform(); + +}; + +[NoInterfaceObject] +interface CanvasCompositing { + // compositing + attribute unrestricted double globalAlpha; // (default 1.0) + attribute DOMString globalCompositeOperation; // (default source-over) +}; + +[NoInterfaceObject] +interface CanvasImageSmoothing { + // image smoothing + attribute boolean imageSmoothingEnabled; // (default true) + attribute ImageSmoothingQuality imageSmoothingQuality; // (default low) + +}; + +[NoInterfaceObject] +interface CanvasFillStrokeStyles { + // colours and styles (see also the CanvasPathDrawingStyles and CanvasTextDrawingStyles interfaces) + attribute (DOMString or CanvasGradient or CanvasPattern) strokeStyle; // (default black) + attribute (DOMString or CanvasGradient or CanvasPattern) fillStyle; // (default black) + CanvasGradient createLinearGradient(double x0, double y0, double x1, double y1); + CanvasGradient createRadialGradient(double x0, double y0, double r0, double x1, double y1, double r1); + CanvasPattern? createPattern(CanvasImageSource image, [TreatNullAs=EmptyString] DOMString repetition); + +}; + +[NoInterfaceObject] +interface CanvasShadowStyles { + // shadows + attribute unrestricted double shadowOffsetX; // (default 0) + attribute unrestricted double shadowOffsetY; // (default 0) + attribute unrestricted double shadowBlur; // (default 0) + attribute DOMString shadowColor; // (default transparent black) +}; + +[NoInterfaceObject] +interface CanvasFilters { + // filters + attribute DOMString filter; // (default "none") +}; + +[NoInterfaceObject] +interface CanvasRect { + // rects + void clearRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h); + void fillRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h); + void strokeRect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h); +}; + +[NoInterfaceObject] +interface CanvasDrawPath { + // path API (see also CanvasPath) + void beginPath(); + void fill(optional CanvasFillRule fillRule = "nonzero"); + void fill(Path2D path, optional CanvasFillRule fillRule = "nonzero"); + void stroke(); + void stroke(Path2D path); + void clip(optional CanvasFillRule fillRule = "nonzero"); + void clip(Path2D path, optional CanvasFillRule fillRule = "nonzero"); + void resetClip(); + boolean isPointInPath(unrestricted double x, unrestricted double y, optional CanvasFillRule fillRule = "nonzero"); + boolean isPointInPath(Path2D path, unrestricted double x, unrestricted double y, optional CanvasFillRule fillRule = "nonzero"); + boolean isPointInStroke(unrestricted double x, unrestricted double y); + boolean isPointInStroke(Path2D path, unrestricted double x, unrestricted double y); +}; + +[NoInterfaceObject] +interface CanvasUserInterface { + void drawFocusIfNeeded(Element element); + void drawFocusIfNeeded(Path2D path, Element element); + void scrollPathIntoView(); + void scrollPathIntoView(Path2D path); +}; + +[NoInterfaceObject] +interface CanvasText { + // text (see also the CanvasPathDrawingStyles and CanvasTextDrawingStyles interfaces) + void fillText(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth); + void strokeText(DOMString text, unrestricted double x, unrestricted double y, optional unrestricted double maxWidth); + TextMetrics measureText(DOMString text); +}; + +[NoInterfaceObject] +interface CanvasDrawImage { + // drawing images + void drawImage(CanvasImageSource image, unrestricted double dx, unrestricted double dy); + void drawImage(CanvasImageSource image, unrestricted double dx, unrestricted double dy, unrestricted double dw, unrestricted double dh); + void drawImage(CanvasImageSource image, unrestricted double sx, unrestricted double sy, unrestricted double sw, unrestricted double sh, unrestricted double dx, unrestricted double dy, unrestricted double dw, unrestricted double dh); +}; + +[NoInterfaceObject] +interface CanvasHitRegion { + // hit regions + void addHitRegion(optional HitRegionOptions options); + void removeHitRegion(DOMString id); + void clearHitRegions(); +}; + +[NoInterfaceObject] +interface CanvasImageData { + // pixel manipulation + ImageData createImageData(double sw, double sh); + ImageData createImageData(ImageData imagedata); + ImageData getImageData(double sx, double sy, double sw, double sh); + void putImageData(ImageData imagedata, double dx, double dy); + void putImageData(ImageData imagedata, double dx, double dy, double dirtyX, double dirtyY, double dirtyWidth, double dirtyHeight); +}; + +enum CanvasLineCap { "butt", "round", "square" }; +enum CanvasLineJoin { "round", "bevel", "miter"}; +enum CanvasTextAlign { "start", "end", "left", "right", "center" }; +enum CanvasTextBaseline { "top", "hanging", "middle", "alphabetic", "ideographic", "bottom" }; +enum CanvasDirection { "ltr", "rtl", "inherit" }; + +[NoInterfaceObject] +interface CanvasPathDrawingStyles { + // line caps/joins + attribute unrestricted double lineWidth; // (default 1) + attribute CanvasLineCap lineCap; // (default "butt") + attribute CanvasLineJoin lineJoin; // (default "miter") + attribute unrestricted double miterLimit; // (default 10) + + // dashed lines + void setLineDash(sequence<unrestricted double> segments); // default empty + sequence<unrestricted double> getLineDash(); + attribute unrestricted double lineDashOffset; +}; + +[NoInterfaceObject] +interface CanvasTextDrawingStyles { + // text + attribute DOMString font; // (default 10px sans-serif) + attribute CanvasTextAlign textAlign; // (default: "start") + attribute CanvasTextBaseline textBaseline; // (default: "alphabetic") + attribute CanvasDirection direction; // (default: "inherit") +}; + +[NoInterfaceObject, Exposed=(Window,Worker)] +interface CanvasPath { + // shared path API methods + void closePath(); + void moveTo(unrestricted double x, unrestricted double y); + void lineTo(unrestricted double x, unrestricted double y); + void quadraticCurveTo(unrestricted double cpx, unrestricted double cpy, unrestricted double x, unrestricted double y); + void bezierCurveTo(unrestricted double cp1x, unrestricted double cp1y, unrestricted double cp2x, unrestricted double cp2y, unrestricted double x, unrestricted double y); + void arcTo(unrestricted double x1, unrestricted double y1, unrestricted double x2, unrestricted double y2, unrestricted double radius); + void arcTo(unrestricted double x1, unrestricted double y1, unrestricted double x2, unrestricted double y2, unrestricted double radiusX, unrestricted double radiusY, unrestricted double rotation); + void rect(unrestricted double x, unrestricted double y, unrestricted double w, unrestricted double h); + void arc(unrestricted double x, unrestricted double y, unrestricted double radius, unrestricted double startAngle, unrestricted double endAngle, optional boolean anticlockwise = false); + void ellipse(unrestricted double x, unrestricted double y, unrestricted double radiusX, unrestricted double radiusY, unrestricted double rotation, unrestricted double startAngle, unrestricted double endAngle, optional boolean anticlockwise = false); +}; + +interface CanvasGradient { + // opaque object + void addColorStop(double offset, DOMString color); +}; + +interface CanvasPattern { + // opaque object + void setTransform(optional DOMMatrixInit transform); +}; + +interface TextMetrics { + // x-direction + readonly attribute double width; // advance width + readonly attribute double actualBoundingBoxLeft; + readonly attribute double actualBoundingBoxRight; + + // y-direction + readonly attribute double fontBoundingBoxAscent; + readonly attribute double fontBoundingBoxDescent; + readonly attribute double actualBoundingBoxAscent; + readonly attribute double actualBoundingBoxDescent; + readonly attribute double emHeightAscent; + readonly attribute double emHeightDescent; + readonly attribute double hangingBaseline; + readonly attribute double alphabeticBaseline; + readonly attribute double ideographicBaseline; +}; + +dictionary HitRegionOptions { + Path2D? path = null; + CanvasFillRule fillRule = "nonzero"; + DOMString id = ""; + DOMString? parentID = null; + DOMString cursor = "inherit"; + // for control-backed regions: + Element? control = null; + // for unbacked regions: + DOMString? label = null; + DOMString? role = null; +}; + +[Constructor(unsigned long sw, unsigned long sh), + Constructor(Uint8ClampedArray data, unsigned long sw, optional unsigned long sh), + Exposed=(Window,Worker)] +interface ImageData { + readonly attribute unsigned long width; + readonly attribute unsigned long height; + readonly attribute Uint8ClampedArray data; +}; + +[Constructor, + Constructor(Path2D path), + Constructor(sequence<Path2D> paths, optional CanvasFillRule fillRule = "nonzero"), + Constructor(DOMString d), Exposed=(Window,Worker)] +interface Path2D { + void addPath(Path2D path, optional DOMMatrixInit transform); +}; +Path2D implements CanvasPath; + +partial interface MouseEvent { + readonly attribute DOMString? region; +}; + +// https://github.com/w3c/testharness.js/issues/84 +//partial dictionary MouseEventInit { +// DOMString? region; +//}; + +partial interface Touch { + readonly attribute DOMString? region; +}; + +interface DataTransfer { + attribute DOMString dropEffect; + attribute DOMString effectAllowed; + + readonly attribute DataTransferItemList items; + + void setDragImage(Element image, long x, long y); + + /* old interface */ + readonly attribute DOMString[] types; + DOMString getData(DOMString format); + void setData(DOMString format, DOMString data); + void clearData(optional DOMString format); + readonly attribute FileList files; +}; + +interface DataTransferItemList { + readonly attribute unsigned long length; + getter DataTransferItem (unsigned long index); + DataTransferItem? add(DOMString data, DOMString type); + DataTransferItem? add(File data); + void remove(unsigned long index); + void clear(); +}; + +interface DataTransferItem { + readonly attribute DOMString kind; + readonly attribute DOMString type; + void getAsString(FunctionStringCallback? _callback); + File? getAsFile(); +}; + +callback FunctionStringCallback = void (DOMString data); + +[Constructor(DOMString type, optional DragEventInit eventInitDict)] +interface DragEvent : MouseEvent { + readonly attribute DataTransfer? dataTransfer; +}; + +dictionary DragEventInit : MouseEventInit { + DataTransfer? dataTransfer; +}; + +// For purposes of this test, just treat WindowProxy as the same thing as +// Window. +typedef Window WindowProxy; + +[PrimaryGlobal] +/*sealed*/ interface Window : EventTarget { + // the current browsing context + [Unforgeable] readonly attribute WindowProxy window; + [Replaceable] readonly attribute WindowProxy self; + [Unforgeable] readonly attribute Document document; + attribute DOMString name; + [PutForwards=href, Unforgeable] readonly attribute Location location; + readonly attribute History history; + [Replaceable] readonly attribute BarProp locationbar; + [Replaceable] readonly attribute BarProp menubar; + [Replaceable] readonly attribute BarProp personalbar; + [Replaceable] readonly attribute BarProp scrollbars; + [Replaceable] readonly attribute BarProp statusbar; + [Replaceable] readonly attribute BarProp toolbar; + attribute DOMString status; + void close(); + readonly attribute boolean closed; + void stop(); + void focus(); + void blur(); + + // other browsing contexts + [Replaceable] readonly attribute WindowProxy frames; + [Replaceable] readonly attribute unsigned long length; + [Unforgeable] readonly attribute WindowProxy top; + attribute any opener; + [Replaceable] readonly attribute WindowProxy parent; + readonly attribute Element? frameElement; + WindowProxy open(optional DOMString url = "about:blank", optional DOMString target = "_blank", [TreatNullAs=EmptyString] optional DOMString features = "", optional boolean replace = false); + getter WindowProxy (unsigned long index); + getter object (DOMString name); + + // the user agent + readonly attribute Navigator navigator; + [Replaceable] readonly attribute External external; + readonly attribute ApplicationCache applicationCache; + + // user prompts + void alert(); + //void alert(DOMString message); + boolean confirm(optional DOMString message = ""); + DOMString? prompt(optional DOMString message = "", optional DOMString default = ""); + void print(); + any showModalDialog(DOMString url, optional any argument); + + void postMessage(any message, DOMString targetOrigin, optional sequence<Transferable> transfer); + + // also has obsolete members +}; +Window implements GlobalEventHandlers; +Window implements WindowEventHandlers; + +interface BarProp { + readonly attribute boolean visible; +}; + +enum ScrollRestoration { "auto", "manual" }; +interface History { + + readonly attribute long length; + attribute ScrollRestoration scrollRestoration; + readonly attribute any state; + void go(optional long delta); + void back(); + void forward(); + void pushState(any data, DOMString title, optional DOMString? url = null); + void replaceState(any data, DOMString title, optional DOMString? url = null); +}; + +[Unforgeable] interface Location { + stringifier attribute USVString href; + readonly attribute USVString origin; + attribute USVString protocol; + attribute USVString host; + attribute USVString hostname; + attribute USVString port; + attribute USVString pathname; + attribute USVString search; + attribute USVString hash; + + void assign(USVString url); + void replace(USVString url); + void reload(); + + [SameObject] readonly attribute USVString[] ancestorOrigins; +}; + +[Constructor(DOMString type, optional PopStateEventInit eventInitDict)] +interface PopStateEvent : Event { + readonly attribute any state; +}; + +dictionary PopStateEventInit : EventInit { + any state; +}; + +[Constructor(DOMString type, optional HashChangeEventInit eventInitDict)] +interface HashChangeEvent : Event { + readonly attribute DOMString oldURL; + readonly attribute DOMString newURL; +}; + +dictionary HashChangeEventInit : EventInit { + DOMString oldURL; + DOMString newURL; +}; + +[Constructor(DOMString type, optional PageTransitionEventInit eventInitDict)] +interface PageTransitionEvent : Event { + readonly attribute boolean persisted; +}; + +dictionary PageTransitionEventInit : EventInit { + boolean persisted; +}; + +interface BeforeUnloadEvent : Event { + attribute DOMString returnValue; +}; + +[Exposed=(Window,SharedWorker)] +interface ApplicationCache : EventTarget { + + // update status + const unsigned short UNCACHED = 0; + const unsigned short IDLE = 1; + const unsigned short CHECKING = 2; + const unsigned short DOWNLOADING = 3; + const unsigned short UPDATEREADY = 4; + const unsigned short OBSOLETE = 5; + readonly attribute unsigned short status; + + // updates + void update(); + void abort(); + void swapCache(); + + // events + attribute EventHandler onchecking; + attribute EventHandler onerror; + attribute EventHandler onnoupdate; + attribute EventHandler ondownloading; + attribute EventHandler onprogress; + attribute EventHandler onupdateready; + attribute EventHandler oncached; + attribute EventHandler onobsolete; +}; + +[NoInterfaceObject, Exposed=(Window,Worker)] +interface NavigatorOnLine { + readonly attribute boolean onLine; +}; + +[Constructor(DOMString type, optional ErrorEventInit eventInitDict), Exposed=(Window,Worker)] +interface ErrorEvent : Event { + readonly attribute DOMString message; + readonly attribute DOMString filename; + readonly attribute unsigned long lineno; + readonly attribute unsigned long colno; + readonly attribute any error; +}; + +dictionary ErrorEventInit : EventInit { + DOMString message; + DOMString filename; + unsigned long lineno; + unsigned long colno; + any error; +}; + +[TreatNonCallableAsNull] +callback EventHandlerNonNull = any (Event event); +typedef EventHandlerNonNull? EventHandler; + +[TreatNonCallableAsNull] +callback OnErrorEventHandlerNonNull = any ((Event or DOMString) event, optional DOMString source, optional unsigned long lineno, optional unsigned long column, optional any error); +typedef OnErrorEventHandlerNonNull? OnErrorEventHandler; + +[TreatNonCallableAsNull] +callback OnBeforeUnloadEventHandlerNonNull = DOMString? (Event event); +typedef OnBeforeUnloadEventHandlerNonNull? OnBeforeUnloadEventHandler; + +[NoInterfaceObject] +interface GlobalEventHandlers { + attribute EventHandler onabort; + attribute EventHandler onauxclick; + attribute EventHandler onblur; + attribute EventHandler oncancel; + attribute EventHandler oncanplay; + attribute EventHandler oncanplaythrough; + attribute EventHandler onchange; + attribute EventHandler onclick; + attribute EventHandler onclose; + attribute EventHandler oncontextmenu; + attribute EventHandler oncuechange; + attribute EventHandler ondblclick; + attribute EventHandler ondrag; + attribute EventHandler ondragend; + attribute EventHandler ondragenter; + attribute EventHandler ondragexit; + attribute EventHandler ondragleave; + attribute EventHandler ondragover; + attribute EventHandler ondragstart; + attribute EventHandler ondrop; + attribute EventHandler ondurationchange; + attribute EventHandler onemptied; + attribute EventHandler onended; + attribute OnErrorEventHandler onerror; + attribute EventHandler onfocus; + attribute EventHandler oninput; + attribute EventHandler oninvalid; + attribute EventHandler onkeydown; + attribute EventHandler onkeypress; + attribute EventHandler onkeyup; + attribute EventHandler onload; + attribute EventHandler onloadeddata; + attribute EventHandler onloadedmetadata; + attribute EventHandler onloadstart; + attribute EventHandler onmousedown; + [LenientThis] attribute EventHandler onmouseenter; + [LenientThis] attribute EventHandler onmouseleave; + attribute EventHandler onmousemove; + attribute EventHandler onmouseout; + attribute EventHandler onmouseover; + attribute EventHandler onmouseup; + attribute EventHandler onmousewheel; + attribute EventHandler onpause; + attribute EventHandler onplay; + attribute EventHandler onplaying; + attribute EventHandler onprogress; + attribute EventHandler onratechange; + attribute EventHandler onreset; + attribute EventHandler onresize; + attribute EventHandler onscroll; + attribute EventHandler onseeked; + attribute EventHandler onseeking; + attribute EventHandler onselect; + attribute EventHandler onshow; + attribute EventHandler onstalled; + attribute EventHandler onsubmit; + attribute EventHandler onsuspend; + attribute EventHandler ontimeupdate; + attribute EventHandler ontoggle; + attribute EventHandler onvolumechange; + attribute EventHandler onwaiting; +}; + +[NoInterfaceObject] +interface DocumentAndElementEventHandlers { + attribute EventHandler oncopy; + attribute EventHandler oncut; + attribute EventHandler onpaste; +}; + +[NoInterfaceObject] +interface WindowEventHandlers { + attribute EventHandler onafterprint; + attribute EventHandler onbeforeprint; + attribute OnBeforeUnloadEventHandler onbeforeunload; + attribute EventHandler onhashchange; + attribute EventHandler onlanguagechange; + attribute EventHandler onmessage; + attribute EventHandler onoffline; + attribute EventHandler ononline; + attribute EventHandler onpagehide; + attribute EventHandler onpageshow; + attribute EventHandler onpopstate; + attribute EventHandler onstorage; + attribute EventHandler onunload; +}; + +typedef (DOMString or Function) TimerHandler; + +[NoInterfaceObject, Exposed=(Window,Worker)] +interface WindowOrWorkerGlobalScope { + [Replaceable] readonly attribute USVString origin; + + // base64 utility methods + DOMString btoa(DOMString btoa); + DOMString atob(DOMString atob); + + // timers + long setTimeout(TimerHandler handler, optional long timeout = 0, any... arguments); + void clearTimeout(optional long handle = 0); + long setInterval(TimerHandler handler, optional long timeout = 0, any... arguments); + void clearInterval(optional long handle = 0); + + // ImageBitmap + Promise<ImageBitmap> createImageBitmap(ImageBitmapSource image, optional ImageBitmapOptions options); + Promise<ImageBitmap> createImageBitmap(ImageBitmapSource image, long sx, long sy, long sw, long sh, optional ImageBitmapOptions options); +}; + +Window implements WindowOrWorkerGlobalScope; +WorkerGlobalScope implements WindowOrWorkerGlobalScope; + +[NoInterfaceObject] +interface WindowModal { + readonly attribute any dialogArguments; + attribute any returnValue; +}; + +interface Navigator { + // objects implementing this interface also implement the interfaces given below +}; +Navigator implements NavigatorID; +Navigator implements NavigatorLanguage; +Navigator implements NavigatorOnLine; +Navigator implements NavigatorContentUtils; +Navigator implements NavigatorCookies; +Navigator implements NavigatorPlugins; +Navigator implements NavigatorConcurrentHardware; + +[NoInterfaceObject, Exposed=(Window,Worker)] +interface NavigatorID { + readonly attribute DOMString appCodeName; // constant "Mozilla" + readonly attribute DOMString appName; // constant "Netscape" + readonly attribute DOMString appVersion; + readonly attribute DOMString platform; + readonly attribute DOMString product; // constant "Gecko" + [Exposed=Window] readonly attribute DOMString productSub; + readonly attribute DOMString userAgent; + [Exposed=Window] readonly attribute DOMString vendor; + [Exposed=Window] readonly attribute DOMString vendorSub; // constant "" +}; + +[NoInterfaceObject, Exposed=(Window,Worker)] +interface NavigatorLanguage { + readonly attribute DOMString language; + readonly attribute FrozenArray<DOMString> languages; +}; + +[NoInterfaceObject] +interface NavigatorContentUtils { + // content handler registration + void registerProtocolHandler(DOMString scheme, USVString url, DOMString title); + void registerContentHandler(DOMString mimeType, USVString url, DOMString title); + DOMString isProtocolHandlerRegistered(DOMString scheme, USVString url); + DOMString isContentHandlerRegistered(DOMString mimeType, USVString url); + void unregisterProtocolHandler(DOMString scheme, USVString url); + void unregisterContentHandler(DOMString mimeType, USVString url); +}; + +[NoInterfaceObject] +interface NavigatorCookies { + readonly attribute boolean cookieEnabled; +}; + +[NoInterfaceObject] +interface NavigatorPlugins { + [SameObject] readonly attribute PluginArray plugins; + [SameObject] readonly attribute MimeTypeArray mimeTypes; + boolean javaEnabled(); +}; + +interface PluginArray { + void refresh(optional boolean reload = false); + readonly attribute unsigned long length; + getter Plugin? item(unsigned long index); + getter Plugin? namedItem(DOMString name); +}; + +[NoInterfaceObject, Exposed=(Window,Worker)] +interface NavigatorConcurrentHardware { + readonly attribute unsigned long long hardwareConcurrency; +}; + +interface MimeTypeArray { + readonly attribute unsigned long length; + getter MimeType? item(unsigned long index); + getter MimeType? namedItem(DOMString name); +}; + +interface Plugin { + readonly attribute DOMString name; + readonly attribute DOMString description; + readonly attribute DOMString filename; + readonly attribute unsigned long length; + getter MimeType? item(unsigned long index); + getter MimeType? namedItem(DOMString name); +}; + +interface MimeType { + readonly attribute DOMString type; + readonly attribute DOMString description; + readonly attribute DOMString suffixes; // comma-separated + readonly attribute Plugin enabledPlugin; +}; + +interface External { + void AddSearchProvider(DOMString engineURL); + unsigned long IsSearchProviderInstalled(DOMString engineURL); +}; + +[Exposed=(Window,Worker)] +interface ImageBitmap { + readonly attribute unsigned long width; + readonly attribute unsigned long height; +}; + +typedef (HTMLImageElement or + HTMLVideoElement or + HTMLCanvasElement or + Blob or + ImageData or + CanvasRenderingContext2D or + ImageBitmap) ImageBitmapSource; + +dictionary ImageBitmapOptions { + ImageOrientation imageOrientation = "none"; + PremultiplyAlpha premultiplyAlpha = "default"; + ColorSpaceConversion colorSpaceConversion = "default"; + [EnforceRange] unsigned long resizeWidth; + [EnforceRange] unsigned long resizeHeight; + ResizeQuality resizeQuality = "low"; +}; + +[Constructor(DOMString type, optional MessageEventInit eventInitDict), Exposed=(Window,Worker)] +interface MessageEvent : Event { + readonly attribute any data; + readonly attribute DOMString origin; + readonly attribute DOMString lastEventId; + readonly attribute (WindowProxy or MessagePort)? source; + readonly attribute FrozenArray<MessagePort> ports; + + void initMessageEvent(DOMString type, boolean bubbles, boolean cancelable, any data, DOMString origin, DOMString lastEventId, (WindowProxy or MessagePort) source, sequence<MessagePort> ports); +}; + +dictionary MessageEventInit : EventInit { + any data; + DOMString origin; + DOMString lastEventId; + (WindowProxy or MessagePort)? source; + sequence<MessagePort> ports; +}; + +[Constructor(DOMString url, optional EventSourceInit eventSourceInitDict), Exposed=(Window,Worker)] +interface EventSource : EventTarget { + readonly attribute DOMString url; + readonly attribute boolean withCredentials; + + // ready state + const unsigned short CONNECTING = 0; + const unsigned short OPEN = 1; + const unsigned short CLOSED = 2; + readonly attribute unsigned short readyState; + + // networking + attribute EventHandler onopen; + attribute EventHandler onmessage; + attribute EventHandler onerror; + void close(); +}; + +dictionary EventSourceInit { + boolean withCredentials = false; +}; + +enum BinaryType { "blob", "arraybuffer" }; +[Constructor(DOMString url, optional (DOMString or DOMString[]) protocols), Exposed=(Window,Worker)] +interface WebSocket : EventTarget { + readonly attribute DOMString url; + + // ready state + const unsigned short CONNECTING = 0; + const unsigned short OPEN = 1; + const unsigned short CLOSING = 2; + const unsigned short CLOSED = 3; + readonly attribute unsigned short readyState; + readonly attribute unsigned long bufferedAmount; + + // networking + attribute EventHandler onopen; + attribute EventHandler onerror; + attribute EventHandler onclose; + readonly attribute DOMString extensions; + readonly attribute DOMString protocol; + void close([Clamp] optional unsigned short code, optional USVString reason); + + // messaging + attribute EventHandler onmessage; + attribute BinaryType binaryType; + void send(USVString data); + void send(Blob data); + void send(ArrayBuffer data); + void send(ArrayBufferView data); +}; + +[Constructor(DOMString type, optional CloseEventInit eventInitDict), Exposed=(Window,Worker)] +interface CloseEvent : Event { + readonly attribute boolean wasClean; + readonly attribute unsigned short code; + readonly attribute DOMString reason; +}; + +dictionary CloseEventInit : EventInit { + boolean wasClean; + unsigned short code; + DOMString reason; +}; + +[Constructor, Exposed=(Window,Worker)] +interface MessageChannel { + readonly attribute MessagePort port1; + readonly attribute MessagePort port2; +}; + +[Exposed=(Window,Worker)] +interface MessagePort : EventTarget { + void postMessage(any message, optional sequence<Transferable> transfer); + void start(); + void close(); + + // event handlers + attribute EventHandler onmessage; +}; +// MessagePort implements Transferable; + +[Constructor(DOMString channel), Exposed=(Window,Worker)] +interface BroadcastChannel : EventTarget { + readonly attribute DOMString name; + void postMessage(any message); + void close(); + attribute EventHandler onmessage; +}; + +[Exposed=Worker] +interface WorkerGlobalScope : EventTarget { + readonly attribute WorkerGlobalScope self; + readonly attribute WorkerLocation location; + readonly attribute WorkerNavigator navigator; + void importScripts(USVString... urls); + + attribute OnErrorEventHandler onerror; + attribute EventHandler onlanguagechange; + attribute EventHandler onoffline; + attribute EventHandler ononline; + + // also has additional members in a partial interface +}; + +[Global=(Worker,DedicatedWorker),Exposed=DedicatedWorker] +/*sealed*/ interface DedicatedWorkerGlobalScope : WorkerGlobalScope { + void postMessage(any message, optional sequence<Transferable> transfer); + attribute EventHandler onmessage; +}; + +[Global=(Worker,SharedWorker),Exposed=SharedWorker] +/*sealed*/ interface SharedWorkerGlobalScope : WorkerGlobalScope { + readonly attribute DOMString name; + readonly attribute ApplicationCache applicationCache; + attribute EventHandler onconnect; +}; + +[NoInterfaceObject, Exposed=(Window,Worker)] +interface AbstractWorker { + attribute EventHandler onerror; +}; + +[Constructor(DOMString scriptURL), Exposed=(Window,Worker)] +interface Worker : EventTarget { + void terminate(); + + void postMessage(any message, optional sequence<Transferable> transfer); + attribute EventHandler onmessage; +}; +Worker implements AbstractWorker; + +[Constructor(DOMString scriptURL, optional DOMString name), Exposed=(Window,Worker)] +interface SharedWorker : EventTarget { + readonly attribute MessagePort port; +}; +SharedWorker implements AbstractWorker; + +[Exposed=Worker] +interface WorkerNavigator {}; +WorkerNavigator implements NavigatorID; +WorkerNavigator implements NavigatorLanguage; +WorkerNavigator implements NavigatorOnLine; + +[Exposed=Worker] +interface WorkerLocation { + stringifier readonly attribute USVString href; + readonly attribute USVString origin; + readonly attribute USVString protocol; + readonly attribute USVString host; + readonly attribute USVString hostname; + readonly attribute USVString port; + readonly attribute USVString pathname; + readonly attribute USVString search; + readonly attribute USVString hash; +}; + +interface Storage { + readonly attribute unsigned long length; + DOMString? key(unsigned long index); + getter DOMString? getItem(DOMString key); + setter creator void setItem(DOMString key, DOMString value); + deleter void removeItem(DOMString key); + void clear(); +}; + +[NoInterfaceObject] +interface WindowSessionStorage { + readonly attribute Storage sessionStorage; +}; +Window implements WindowSessionStorage; + +[NoInterfaceObject] +interface WindowLocalStorage { + readonly attribute Storage localStorage; +}; +Window implements WindowLocalStorage; + +[Constructor(DOMString type, optional StorageEventInit eventInitDict)] +interface StorageEvent : Event { + readonly attribute DOMString? key; + readonly attribute DOMString? oldValue; + readonly attribute DOMString? newValue; + readonly attribute DOMString url; + readonly attribute Storage? storageArea; +}; + +dictionary StorageEventInit : EventInit { + DOMString? key; + DOMString? oldValue; + DOMString? newValue; + DOMString url; + Storage? storageArea; +}; + +interface HTMLAppletElement : HTMLElement { + attribute DOMString align; + attribute DOMString alt; + attribute DOMString archive; + attribute DOMString code; + attribute DOMString codeBase; + attribute DOMString height; + attribute unsigned long hspace; + attribute DOMString name; + attribute DOMString _object; // the underscore is not part of the identifier + attribute unsigned long vspace; + attribute DOMString width; +}; + +interface HTMLMarqueeElement : HTMLElement { + attribute DOMString behavior; + attribute DOMString bgColor; + attribute DOMString direction; + attribute DOMString height; + attribute unsigned long hspace; + attribute long loop; + attribute unsigned long scrollAmount; + attribute unsigned long scrollDelay; + attribute boolean trueSpeed; + attribute unsigned long vspace; + attribute DOMString width; + + attribute EventHandler onbounce; + attribute EventHandler onfinish; + attribute EventHandler onstart; + + void start(); + void stop(); +}; + +interface HTMLFrameSetElement : HTMLElement { + attribute DOMString cols; + attribute DOMString rows; +}; +HTMLFrameSetElement implements WindowEventHandlers; + +interface HTMLFrameElement : HTMLElement { + attribute DOMString name; + attribute DOMString scrolling; + attribute DOMString src; + attribute DOMString frameBorder; + attribute DOMString longDesc; + attribute boolean noResize; + readonly attribute Document? contentDocument; + readonly attribute WindowProxy? contentWindow; + + [TreatNullAs=EmptyString] attribute DOMString marginHeight; + [TreatNullAs=EmptyString] attribute DOMString marginWidth; +}; + +partial interface HTMLAnchorElement { + attribute DOMString coords; + attribute DOMString charset; + attribute DOMString name; + attribute DOMString rev; + attribute DOMString shape; +}; + +partial interface HTMLAreaElement { + attribute boolean noHref; +}; + +partial interface HTMLBodyElement { + [TreatNullAs=EmptyString] attribute DOMString text; + [TreatNullAs=EmptyString] attribute DOMString link; + [TreatNullAs=EmptyString] attribute DOMString vLink; + [TreatNullAs=EmptyString] attribute DOMString aLink; + [TreatNullAs=EmptyString] attribute DOMString bgColor; + attribute DOMString background; +}; + +partial interface HTMLBRElement { + attribute DOMString clear; +}; + +partial interface HTMLTableCaptionElement { + attribute DOMString align; +}; + +partial interface HTMLTableColElement { + attribute DOMString align; + attribute DOMString ch; + attribute DOMString chOff; + attribute DOMString vAlign; + attribute DOMString width; +}; + +interface HTMLDirectoryElement : HTMLElement { + attribute boolean compact; +}; + +partial interface HTMLDivElement { + attribute DOMString align; +}; + +partial interface HTMLDListElement { + attribute boolean compact; +}; + +partial interface HTMLEmbedElement { + attribute DOMString align; + attribute DOMString name; +}; + +interface HTMLFontElement : HTMLElement { + [TreatNullAs=EmptyString] attribute DOMString color; + attribute DOMString face; + attribute DOMString size; +}; + +partial interface HTMLHeadingElement { + attribute DOMString align; +}; + +partial interface HTMLHRElement { + attribute DOMString align; + attribute DOMString color; + attribute boolean noShade; + attribute DOMString size; + attribute DOMString width; +}; + +partial interface HTMLHtmlElement { + attribute DOMString version; +}; + +partial interface HTMLIFrameElement { + [CEReactions] attribute DOMString align; + [CEReactions] attribute DOMString scrolling; + [CEReactions] attribute DOMString frameBorder; + [CEReactions] attribute USVString longDesc; + + [CEReactions, TreatNullAs=EmptyString] attribute DOMString marginHeight; + [CEReactions, TreatNullAs=EmptyString] attribute DOMString marginWidth; +}; + +partial interface HTMLImageElement { + [CEReactions] attribute DOMString name; + [CEReactions] attribute USVString lowsrc; + [CEReactions] attribute DOMString align; + [CEReactions] attribute unsigned long hspace; + [CEReactions] attribute unsigned long vspace; + [CEReactions] attribute USVString longDesc; + + [CEReactions, TreatNullAs=EmptyString] attribute DOMString border; +}; + +partial interface HTMLInputElement { + attribute DOMString align; + attribute DOMString useMap; +}; + +partial interface HTMLLegendElement { + attribute DOMString align; +}; + +partial interface HTMLLIElement { + attribute DOMString type; +}; + +partial interface HTMLLinkElement { + [CEReactions] attribute DOMString charset; + [CEReactions] attribute DOMString rev; + [CEReactions] attribute DOMString target; +}; + +partial interface HTMLMenuElement { + attribute boolean compact; +}; + +partial interface HTMLMetaElement { + attribute DOMString scheme; +}; + +partial interface HTMLObjectElement { + attribute DOMString align; + attribute DOMString archive; + attribute DOMString code; + attribute boolean declare; + attribute unsigned long hspace; + attribute DOMString standby; + attribute unsigned long vspace; + attribute DOMString codeBase; + attribute DOMString codeType; + + [TreatNullAs=EmptyString] attribute DOMString border; +}; + +partial interface HTMLOListElement { + attribute boolean compact; +}; + +partial interface HTMLParagraphElement { + attribute DOMString align; +}; + +partial interface HTMLParamElement { + attribute DOMString type; + attribute DOMString valueType; +}; + +partial interface HTMLPreElement { + attribute long width; +}; + +partial interface HTMLScriptElement { + attribute DOMString event; + attribute DOMString htmlFor; +}; + +partial interface HTMLTableElement { + attribute DOMString align; + attribute DOMString border; + attribute DOMString frame; + attribute DOMString rules; + attribute DOMString summary; + attribute DOMString width; + + [TreatNullAs=EmptyString] attribute DOMString bgColor; + [TreatNullAs=EmptyString] attribute DOMString cellPadding; + [TreatNullAs=EmptyString] attribute DOMString cellSpacing; +}; + +partial interface HTMLTableSectionElement { + attribute DOMString align; + attribute DOMString ch; + attribute DOMString chOff; + attribute DOMString vAlign; +}; + +partial interface HTMLTableCellElement { + attribute DOMString align; + attribute DOMString axis; + attribute DOMString height; + attribute DOMString width; + + attribute DOMString ch; + attribute DOMString chOff; + attribute boolean noWrap; + attribute DOMString vAlign; + + [TreatNullAs=EmptyString] attribute DOMString bgColor; +}; + +partial interface HTMLTableRowElement { + attribute DOMString align; + attribute DOMString ch; + attribute DOMString chOff; + attribute DOMString vAlign; + + [TreatNullAs=EmptyString] attribute DOMString bgColor; +}; + +partial interface HTMLUListElement { + attribute boolean compact; + attribute DOMString type; +}; + +partial interface Document { + [TreatNullAs=EmptyString] attribute DOMString fgColor; + [TreatNullAs=EmptyString] attribute DOMString linkColor; + [TreatNullAs=EmptyString] attribute DOMString vlinkColor; + [TreatNullAs=EmptyString] attribute DOMString alinkColor; + [TreatNullAs=EmptyString] attribute DOMString bgColor; + + readonly attribute HTMLCollection anchors; + readonly attribute HTMLCollection applets; + + void clear(); + void captureEvents(); + void releaseEvents(); + + readonly attribute HTMLAllCollection all; +}; + +partial interface Window { + void captureEvents(); + void releaseEvents(); +};
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/resources/self-origin-subframe.html b/third_party/WebKit/LayoutTests/external/wpt/html/dom/resources/self-origin-subframe.html new file mode 100644 index 0000000..8759362b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/dom/resources/self-origin-subframe.html
@@ -0,0 +1,22 @@ +<script> + window.onmessage = function(e){ + if (e.data == "getOrigin") { + parent.postMessage(self.origin, "*"); + } else if (e.data == "setDomainAndGetOrigin") { + var oldDomain = document.domain; + try { + document.domain = document.domain.replace(/^[^.]*./, ""); + } catch (e) { + parent.postMessage("THREW WHEN SETTING DOMAIN: " + e, "*"); + return; + } + if (oldDomain === document.domain) { + parent.postMessage("FAILED TO SET DOMAIN", "*"); + } else { + parent.postMessage(self.origin, "*"); + } + } else { + parent.postMessage("UNEXPECTED MESSAGE", "*"); + } + } +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/resources/untested-interfaces.idl b/third_party/WebKit/LayoutTests/external/wpt/html/dom/resources/untested-interfaces.idl new file mode 100644 index 0000000..75428f83 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/dom/resources/untested-interfaces.idl
@@ -0,0 +1,830 @@ +// DOM IDLs +[Constructor(DOMString type, optional EventInit eventInitDict), + Exposed=(Window,Worker)] +interface Event { + readonly attribute DOMString type; + readonly attribute EventTarget? target; + readonly attribute EventTarget? currentTarget; + + const unsigned short NONE = 0; + const unsigned short CAPTURING_PHASE = 1; + const unsigned short AT_TARGET = 2; + const unsigned short BUBBLING_PHASE = 3; + readonly attribute unsigned short eventPhase; + + void stopPropagation(); + void stopImmediatePropagation(); + + readonly attribute boolean bubbles; + readonly attribute boolean cancelable; + void preventDefault(); + readonly attribute boolean defaultPrevented; + + [Unforgeable] readonly attribute boolean isTrusted; + readonly attribute DOMTimeStamp timeStamp; + + void initEvent(DOMString type, boolean bubbles, boolean cancelable); +}; + +dictionary EventInit { + boolean bubbles = false; + boolean cancelable = false; +}; + +[Constructor(DOMString type, optional CustomEventInit eventInitDict), + Exposed=(Window,Worker)] +interface CustomEvent : Event { + readonly attribute any detail; + + void initCustomEvent(DOMString type, boolean bubbles, boolean cancelable, any detail); +}; + +dictionary CustomEventInit : EventInit { + any detail = null; +}; + +[Exposed=(Window,Worker)] +interface EventTarget { + void addEventListener(DOMString type, EventListener? callback, optional boolean capture = false); + void removeEventListener(DOMString type, EventListener? callback, optional boolean capture = false); + boolean dispatchEvent(Event event); +}; + +callback interface EventListener { + void handleEvent(Event event); +}; + +[NoInterfaceObject] +interface NonElementParentNode { + Element? getElementById(DOMString elementId); +}; +Document implements NonElementParentNode; +DocumentFragment implements NonElementParentNode; + +[NoInterfaceObject] +interface ParentNode { + [SameObject] readonly attribute HTMLCollection children; + readonly attribute Element? firstElementChild; + readonly attribute Element? lastElementChild; + readonly attribute unsigned long childElementCount; + + [Unscopable] void prepend((Node or DOMString)... nodes); + [Unscopable] void append((Node or DOMString)... nodes); + + Element? querySelector(DOMString selectors); + [NewObject] NodeList querySelectorAll(DOMString selectors); +}; +Document implements ParentNode; +DocumentFragment implements ParentNode; +Element implements ParentNode; + +[NoInterfaceObject] +interface NonDocumentTypeChildNode { + readonly attribute Element? previousElementSibling; + readonly attribute Element? nextElementSibling; +}; +Element implements NonDocumentTypeChildNode; +CharacterData implements NonDocumentTypeChildNode; + +[NoInterfaceObject] +interface ChildNode { + [Unscopable] void before((Node or DOMString)... nodes); + [Unscopable] void after((Node or DOMString)... nodes); + [Unscopable] void replaceWith((Node or DOMString)... nodes); + [Unscopable] void remove(); +}; +DocumentType implements ChildNode; +Element implements ChildNode; +CharacterData implements ChildNode; + +// XXX unrecognized tokens "class", "extends" +// https://www.w3.org/Bugs/Public/show_bug.cgi?id=20020 +// https://www.w3.org/Bugs/Public/show_bug.cgi?id=23225 +//class Elements extends Array { +// Element? query(DOMString relativeSelectors); +// Elements queryAll(DOMString relativeSelectors); +//}; + +interface NodeList { + getter Node? item(unsigned long index); + readonly attribute unsigned long length; +// iterable<Node>; +}; + +interface HTMLCollection { + readonly attribute unsigned long length; + getter Element? item(unsigned long index); + getter Element? namedItem(DOMString name); +}; + +[Constructor(MutationCallback callback)] +interface MutationObserver { + void observe(Node target, MutationObserverInit options); + void disconnect(); + sequence<MutationRecord> takeRecords(); +}; + +callback MutationCallback = void (sequence<MutationRecord> mutations, MutationObserver observer); + +dictionary MutationObserverInit { + boolean childList = false; + boolean attributes; + boolean characterData; + boolean subtree = false; + boolean attributeOldValue; + boolean characterDataOldValue; + sequence<DOMString> attributeFilter; +}; + +interface MutationRecord { + readonly attribute DOMString type; + readonly attribute Node target; + [SameObject] readonly attribute NodeList addedNodes; + [SameObject] readonly attribute NodeList removedNodes; + readonly attribute Node? previousSibling; + readonly attribute Node? nextSibling; + readonly attribute DOMString? attributeName; + readonly attribute DOMString? attributeNamespace; + readonly attribute DOMString? oldValue; +}; + +interface Node : EventTarget { + const unsigned short ELEMENT_NODE = 1; + const unsigned short ATTRIBUTE_NODE = 2; // historical + const unsigned short TEXT_NODE = 3; + const unsigned short CDATA_SECTION_NODE = 4; + const unsigned short ENTITY_REFERENCE_NODE = 5; // historical + const unsigned short ENTITY_NODE = 6; // historical + const unsigned short PROCESSING_INSTRUCTION_NODE = 7; + const unsigned short COMMENT_NODE = 8; + const unsigned short DOCUMENT_NODE = 9; + const unsigned short DOCUMENT_TYPE_NODE = 10; + const unsigned short DOCUMENT_FRAGMENT_NODE = 11; + const unsigned short NOTATION_NODE = 12; // historical + readonly attribute unsigned short nodeType; + readonly attribute DOMString nodeName; + + readonly attribute DOMString? baseURI; + + readonly attribute Document? ownerDocument; + readonly attribute Node? parentNode; + readonly attribute Element? parentElement; + boolean hasChildNodes(); + [SameObject] readonly attribute NodeList childNodes; + readonly attribute Node? firstChild; + readonly attribute Node? lastChild; + readonly attribute Node? previousSibling; + readonly attribute Node? nextSibling; + + attribute DOMString? nodeValue; + attribute DOMString? textContent; + void normalize(); + + [NewObject] Node cloneNode(optional boolean deep = false); + boolean isEqualNode(Node? node); + + const unsigned short DOCUMENT_POSITION_DISCONNECTED = 0x01; + const unsigned short DOCUMENT_POSITION_PRECEDING = 0x02; + const unsigned short DOCUMENT_POSITION_FOLLOWING = 0x04; + const unsigned short DOCUMENT_POSITION_CONTAINS = 0x08; + const unsigned short DOCUMENT_POSITION_CONTAINED_BY = 0x10; + const unsigned short DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 0x20; + unsigned short compareDocumentPosition(Node other); + boolean contains(Node? other); + + DOMString? lookupPrefix(DOMString? namespace); + DOMString? lookupNamespaceURI(DOMString? prefix); + boolean isDefaultNamespace(DOMString? namespace); + + Node insertBefore(Node node, Node? child); + Node appendChild(Node node); + Node replaceChild(Node node, Node child); + Node removeChild(Node child); +}; + +[Constructor] +interface Document : Node { + [SameObject] readonly attribute DOMImplementation implementation; + readonly attribute DOMString URL; + readonly attribute DOMString documentURI; + readonly attribute DOMString origin; + readonly attribute DOMString compatMode; + readonly attribute DOMString characterSet; + readonly attribute DOMString charset; // legacy alias of .characterSet + readonly attribute DOMString inputEncoding; // legacy alias of .characterSet + readonly attribute DOMString contentType; + + readonly attribute DocumentType? doctype; + readonly attribute Element? documentElement; + HTMLCollection getElementsByTagName(DOMString localName); + HTMLCollection getElementsByTagNameNS(DOMString? namespace, DOMString localName); + HTMLCollection getElementsByClassName(DOMString classNames); + + [NewObject] Element createElement(DOMString localName); + [NewObject] Element createElementNS(DOMString? namespace, DOMString qualifiedName); + [NewObject] DocumentFragment createDocumentFragment(); + [NewObject] Text createTextNode(DOMString data); + [NewObject] CDATASection createCDATASection(DOMString data); + [NewObject] Comment createComment(DOMString data); + [NewObject] ProcessingInstruction createProcessingInstruction(DOMString target, DOMString data); + + [NewObject] Node importNode(Node node, optional boolean deep = false); + Node adoptNode(Node node); + + [NewObject] Attr createAttribute(DOMString localName); + [NewObject] Attr createAttributeNS(DOMString? namespace, DOMString name); + + [NewObject] Event createEvent(DOMString interface); + + [NewObject] Range createRange(); + + // NodeFilter.SHOW_ALL = 0xFFFFFFFF + [NewObject] NodeIterator createNodeIterator(Node root, optional unsigned long whatToShow = 0xFFFFFFFF, optional NodeFilter? filter = null); + [NewObject] TreeWalker createTreeWalker(Node root, optional unsigned long whatToShow = 0xFFFFFFFF, optional NodeFilter? filter = null); +}; + +interface XMLDocument : Document {}; + +interface DOMImplementation { + [NewObject] DocumentType createDocumentType(DOMString qualifiedName, DOMString publicId, DOMString systemId); + [NewObject] XMLDocument createDocument(DOMString? namespace, [TreatNullAs=EmptyString] DOMString qualifiedName, optional DocumentType? doctype = null); + [NewObject] Document createHTMLDocument(optional DOMString title); + + boolean hasFeature(); // useless; always returns true +}; + +[Constructor] +interface DocumentFragment : Node { +}; + +interface DocumentType : Node { + readonly attribute DOMString name; + readonly attribute DOMString publicId; + readonly attribute DOMString systemId; +}; + +interface Element : Node { + readonly attribute DOMString? namespaceURI; + readonly attribute DOMString? prefix; + readonly attribute DOMString localName; + readonly attribute DOMString tagName; + + attribute DOMString id; + attribute DOMString className; + [SameObject, PutForwards=value] readonly attribute DOMTokenList classList; + + boolean hasAttributes(); + [SameObject] readonly attribute NamedNodeMap attributes; + sequence<DOMString> getAttributeNames(); + DOMString? getAttribute(DOMString name); + DOMString? getAttributeNS(DOMString? namespace, DOMString localName); + void setAttribute(DOMString name, DOMString value); + void setAttributeNS(DOMString? namespace, DOMString name, DOMString value); + void removeAttribute(DOMString name); + void removeAttributeNS(DOMString? namespace, DOMString localName); + boolean hasAttribute(DOMString name); + boolean hasAttributeNS(DOMString? namespace, DOMString localName); + + Attr? getAttributeNode(DOMString name); + Attr? getAttributeNodeNS(DOMString? namespace, DOMString localName); + Attr? setAttributeNode(Attr attr); + Attr? setAttributeNodeNS(Attr attr); + Attr removeAttributeNode(Attr attr); + + Element? closest(DOMString selectors); + boolean matches(DOMString selectors); + + HTMLCollection getElementsByTagName(DOMString localName); + HTMLCollection getElementsByTagNameNS(DOMString? namespace, DOMString localName); + HTMLCollection getElementsByClassName(DOMString classNames); +}; + +interface NamedNodeMap { + readonly attribute unsigned long length; + getter Attr? item(unsigned long index); + getter Attr? getNamedItem(DOMString name); + Attr? getNamedItemNS(DOMString? namespace, DOMString localName); + Attr? setNamedItem(Attr attr); + Attr? setNamedItemNS(Attr attr); + Attr removeNamedItem(DOMString name); + Attr removeNamedItemNS(DOMString? namespace, DOMString localName); +}; + +interface Attr { + readonly attribute DOMString? namespaceURI; + readonly attribute DOMString? prefix; + readonly attribute DOMString localName; + readonly attribute DOMString name; + attribute DOMString value; + attribute DOMString nodeValue; // legacy alias of .value + attribute DOMString textContent; // legacy alias of .value + + readonly attribute Element? ownerElement; + + readonly attribute boolean specified; // useless; always returns true +}; + +interface CharacterData : Node { + [TreatNullAs=EmptyString] attribute DOMString data; + readonly attribute unsigned long length; + DOMString substringData(unsigned long offset, unsigned long count); + void appendData(DOMString data); + void insertData(unsigned long offset, DOMString data); + void deleteData(unsigned long offset, unsigned long count); + void replaceData(unsigned long offset, unsigned long count, DOMString data); +}; + +[Constructor(optional DOMString data = "")] +interface Text : CharacterData { + [NewObject] Text splitText(unsigned long offset); + readonly attribute DOMString wholeText; +}; + +[Exposed=Window] +interface CDATASection : Text { +}; + +interface ProcessingInstruction : CharacterData { + readonly attribute DOMString target; +}; + +[Constructor(optional DOMString data = "")] +interface Comment : CharacterData { +}; + +[Constructor] +interface Range { + readonly attribute Node startContainer; + readonly attribute unsigned long startOffset; + readonly attribute Node endContainer; + readonly attribute unsigned long endOffset; + readonly attribute boolean collapsed; + readonly attribute Node commonAncestorContainer; + + void setStart(Node node, unsigned long offset); + void setEnd(Node node, unsigned long offset); + void setStartBefore(Node node); + void setStartAfter(Node node); + void setEndBefore(Node node); + void setEndAfter(Node node); + void collapse(optional boolean toStart = false); + void selectNode(Node node); + void selectNodeContents(Node node); + + const unsigned short START_TO_START = 0; + const unsigned short START_TO_END = 1; + const unsigned short END_TO_END = 2; + const unsigned short END_TO_START = 3; + short compareBoundaryPoints(unsigned short how, Range sourceRange); + + void deleteContents(); + [NewObject] DocumentFragment extractContents(); + [NewObject] DocumentFragment cloneContents(); + void insertNode(Node node); + void surroundContents(Node newParent); + + [NewObject] Range cloneRange(); + void detach(); + + boolean isPointInRange(Node node, unsigned long offset); + short comparePoint(Node node, unsigned long offset); + + boolean intersectsNode(Node node); + + stringifier; +}; + +interface NodeIterator { + [SameObject] readonly attribute Node root; + readonly attribute Node referenceNode; + readonly attribute boolean pointerBeforeReferenceNode; + readonly attribute unsigned long whatToShow; + readonly attribute NodeFilter? filter; + + Node? nextNode(); + Node? previousNode(); + + void detach(); +}; + +interface TreeWalker { + [SameObject] readonly attribute Node root; + readonly attribute unsigned long whatToShow; + readonly attribute NodeFilter? filter; + attribute Node currentNode; + + Node? parentNode(); + Node? firstChild(); + Node? lastChild(); + Node? previousSibling(); + Node? nextSibling(); + Node? previousNode(); + Node? nextNode(); +}; + +callback interface NodeFilter { + // Constants for acceptNode() + const unsigned short FILTER_ACCEPT = 1; + const unsigned short FILTER_REJECT = 2; + const unsigned short FILTER_SKIP = 3; + + // Constants for whatToShow + const unsigned long SHOW_ALL = 0xFFFFFFFF; + const unsigned long SHOW_ELEMENT = 0x1; + const unsigned long SHOW_ATTRIBUTE = 0x2; // historical + const unsigned long SHOW_TEXT = 0x4; + const unsigned long SHOW_CDATA_SECTION = 0x8; + const unsigned long SHOW_ENTITY_REFERENCE = 0x10; // historical + const unsigned long SHOW_ENTITY = 0x20; // historical + const unsigned long SHOW_PROCESSING_INSTRUCTION = 0x40; + const unsigned long SHOW_COMMENT = 0x80; + const unsigned long SHOW_DOCUMENT = 0x100; + const unsigned long SHOW_DOCUMENT_TYPE = 0x200; + const unsigned long SHOW_DOCUMENT_FRAGMENT = 0x400; + const unsigned long SHOW_NOTATION = 0x800; // historical + + unsigned short acceptNode(Node node); +}; + +interface DOMTokenList { + readonly attribute unsigned long length; + getter DOMString? item(unsigned long index); + boolean contains(DOMString token); + [CEReactions] void add(DOMString... tokens); + [CEReactions] void remove(DOMString... tokens); + [CEReactions] boolean toggle(DOMString token, optional boolean force); + [CEReactions] void replace(DOMString token, DOMString newToken); + boolean supports(DOMString token); + [CEReactions] stringifier attribute DOMString value; + // iterable<DOMString>; +}; + +// UI Events IDLs +[Constructor(DOMString type, optional UIEventInit eventInitDict)] +interface UIEvent : Event { + readonly attribute WindowProxy? view; + readonly attribute long detail; +}; + +dictionary UIEventInit : EventInit { + WindowProxy? view = null; + long detail = 0; +}; + +[Constructor(DOMString typeArg, optional MouseEventInit mouseEventInitDict)] +interface MouseEvent : UIEvent { + readonly attribute long screenX; + readonly attribute long screenY; + readonly attribute long clientX; + readonly attribute long clientY; + readonly attribute boolean ctrlKey; + readonly attribute boolean shiftKey; + readonly attribute boolean altKey; + readonly attribute boolean metaKey; + readonly attribute short button; + readonly attribute EventTarget? relatedTarget; + // Introduced in DOM Level 3 + readonly attribute unsigned short buttons; + boolean getModifierState (DOMString keyArg); +}; + +dictionary MouseEventInit : EventModifierInit { + long screenX = 0; + long screenY = 0; + long clientX = 0; + long clientY = 0; + short button = 0; + unsigned short buttons = 0; + EventTarget? relatedTarget = null; +}; + +dictionary EventModifierInit : UIEventInit { + boolean ctrlKey = false; + boolean shiftKey = false; + boolean altKey = false; + boolean metaKey = false; + boolean keyModifierStateAltGraph = false; + boolean keyModifierStateCapsLock = false; + boolean keyModifierStateFn = false; + boolean keyModifierStateFnLock = false; + boolean keyModifierStateHyper = false; + boolean keyModifierStateNumLock = false; + boolean keyModifierStateOS = false; + boolean keyModifierStateScrollLock = false; + boolean keyModifierStateSuper = false; + boolean keyModifierStateSymbol = false; + boolean keyModifierStateSymbolLock = false; +}; + +partial interface MouseEvent { + // Deprecated in DOM Level 3 + void initMouseEvent (DOMString typeArg, boolean bubblesArg, boolean cancelableArg, Window? viewArg, long detailArg, long screenXArg, long screenYArg, long clientXArg, long clientYArg, boolean ctrlKeyArg, boolean altKeyArg, boolean shiftKeyArg, boolean metaKeyArg, short buttonArg, EventTarget? relatedTargetArg); +}; + +// Touch Events IDLs +interface Touch { + readonly attribute long identifier; + readonly attribute EventTarget target; + readonly attribute long screenX; + readonly attribute long screenY; + readonly attribute long clientX; + readonly attribute long clientY; + readonly attribute long pageX; + readonly attribute long pageY; +}; + +// CSSOM IDLs +interface MediaList { + stringifier attribute DOMString mediaText; + readonly attribute unsigned long length; + getter DOMString item(unsigned long index); + void appendMedium(DOMString medium); + void deleteMedium(DOMString medium); +}; + +interface StyleSheet { + readonly attribute DOMString type; + readonly attribute DOMString href; + readonly attribute Node ownerNode; + readonly attribute StyleSheet parentStyleSheet; + readonly attribute DOMString title; + [PutForwards=mediaText] readonly attribute MediaList media; + attribute boolean disabled; +}; + +interface CSSStyleSheet : StyleSheet { + readonly attribute CSSRule ownerRule; + readonly attribute CSSRuleList cssRules; + unsigned long insertRule(DOMString rule, unsigned long index); + void deleteRule(unsigned long index); +}; + +typedef sequence<StyleSheet> StyleSheetList; + +partial interface Document { + [SameObject] readonly attribute StyleSheetList styleSheets; +}; + +[NoInterfaceObject] interface LinkStyle { + readonly attribute StyleSheet sheet; +}; + +ProcessingInstruction implements LinkStyle; + +typedef sequence<CSSRule> CSSRuleList; + +interface CSSRule { + // Types + const unsigned short STYLE_RULE = 1; + const unsigned short IMPORT_RULE = 3; + const unsigned short MEDIA_RULE = 4; + const unsigned short FONT_FACE_RULE = 5; + const unsigned short PAGE_RULE = 6; + const unsigned short NAMESPACE_RULE = 10; + readonly attribute unsigned short type; + + // Parsing and serialization + attribute DOMString cssText; + + // Context + readonly attribute CSSRule parentRule; + readonly attribute CSSStyleSheet parentStyleSheet; +}; + +interface CSSStyleRule : CSSRule { + attribute DOMString selectorText; + readonly attribute CSSStyleDeclaration style; +}; + +interface CSSImportRule : CSSRule { + readonly attribute DOMString href; + [PutForwards=mediaText] readonly attribute MediaList media; + readonly attribute CSSStyleSheet styleSheet; +}; + +interface CSSMediaRule : CSSRule { + [PutForwards=mediaText] readonly attribute MediaList media; + readonly attribute CSSRuleList cssRules; + unsigned long insertRule(DOMString rule, unsigned long index); + void deleteRule(unsigned long index); +}; + +interface CSSFontFaceRule : CSSRule { + readonly attribute CSSStyleDeclaration style; +}; + +interface CSSPageRule : CSSRule { + attribute DOMString selectorText; + readonly attribute CSSStyleDeclaration style; +}; + +interface CSSNamespaceRule : CSSRule { + readonly attribute DOMString namespaceURI; + readonly attribute DOMString? prefix; +}; + +interface CSSStyleDeclaration { + attribute DOMString cssText; + + readonly attribute unsigned long length; + DOMString item(unsigned long index); + + DOMString getPropertyValue(DOMString property); + DOMString getPropertyPriority(DOMString property); + void setProperty(DOMString property, DOMString value, optional DOMString priority); + DOMString removeProperty(DOMString property); + + readonly attribute CSSStyleDeclarationValue values; + + readonly attribute CSSRule parentRule; + + // CSS Properties + attribute DOMString azimuth; + attribute DOMString background; + attribute DOMString backgroundAttachment; + attribute DOMString backgroundColor; + attribute DOMString backgroundImage; + attribute DOMString backgroundPosition; + attribute DOMString backgroundRepeat; + attribute DOMString border; + attribute DOMString borderCollapse; + attribute DOMString borderColor; + attribute DOMString borderSpacing; + attribute DOMString borderStyle; + attribute DOMString borderTop; + attribute DOMString borderRight; + attribute DOMString borderBottom; + attribute DOMString borderLeft; + attribute DOMString borderTopColor; + attribute DOMString borderRightColor; + attribute DOMString borderBottomColor; + attribute DOMString borderLeftColor; + attribute DOMString borderTopStyle; + attribute DOMString borderRightStyle; + attribute DOMString borderBottomStyle; + attribute DOMString borderLeftStyle; + attribute DOMString borderTopWidth; + attribute DOMString borderRightWidth; + attribute DOMString borderBottomWidth; + attribute DOMString borderLeftWidth; + attribute DOMString borderWidth; + attribute DOMString bottom; + attribute DOMString captionSide; + attribute DOMString clear; + attribute DOMString clip; + attribute DOMString color; + attribute DOMString content; + attribute DOMString counterIncrement; + attribute DOMString counterReset; + attribute DOMString cue; + attribute DOMString cueAfter; + attribute DOMString cueBefore; + attribute DOMString cursor; + attribute DOMString direction; + attribute DOMString display; + attribute DOMString elevation; + attribute DOMString emptyCells; + attribute DOMString cssFloat; + attribute DOMString font; + attribute DOMString fontFamily; + attribute DOMString fontSize; + attribute DOMString fontSizeAdjust; + attribute DOMString fontStretch; + attribute DOMString fontStyle; + attribute DOMString fontVariant; + attribute DOMString fontWeight; + attribute DOMString height; + attribute DOMString left; + attribute DOMString letterSpacing; + attribute DOMString lineHeight; + attribute DOMString listStyle; + attribute DOMString listStyleImage; + attribute DOMString listStylePosition; + attribute DOMString listStyleType; + attribute DOMString margin; + attribute DOMString marginTop; + attribute DOMString marginRight; + attribute DOMString marginBottom; + attribute DOMString marginLeft; + attribute DOMString marks; + attribute DOMString maxHeight; + attribute DOMString maxWidth; + attribute DOMString minHeight; + attribute DOMString minWidth; + attribute DOMString orphans; + attribute DOMString outline; + attribute DOMString outlineColor; + attribute DOMString outlineStyle; + attribute DOMString outlineWidth; + attribute DOMString overflow; + attribute DOMString padding; + attribute DOMString paddingTop; + attribute DOMString paddingRight; + attribute DOMString paddingBottom; + attribute DOMString paddingLeft; + attribute DOMString page; + attribute DOMString pageBreakAfter; + attribute DOMString pageBreakBefore; + attribute DOMString pageBreakInside; + attribute DOMString pause; + attribute DOMString pauseAfter; + attribute DOMString pauseBefore; + attribute DOMString pitch; + attribute DOMString pitchRange; + attribute DOMString playDuring; + attribute DOMString position; + attribute DOMString quotes; + attribute DOMString richness; + attribute DOMString right; + attribute DOMString size; + attribute DOMString speak; + attribute DOMString speakHeader; + attribute DOMString speakNumeral; + attribute DOMString speakPunctuation; + attribute DOMString speechRate; + attribute DOMString stress; + attribute DOMString tableLayout; + attribute DOMString textAlign; + attribute DOMString textDecoration; + attribute DOMString textIndent; + attribute DOMString textShadow; + attribute DOMString textTransform; + attribute DOMString top; + attribute DOMString unicodeBidi; + attribute DOMString verticalAlign; + attribute DOMString visibility; + attribute DOMString voiceFamily; + attribute DOMString volume; + attribute DOMString whiteSpace; + attribute DOMString widows; + attribute DOMString width; + attribute DOMString wordSpacing; + attribute DOMString zIndex; +}; + +interface CSSStyleDeclarationValue { + // ... + + // CSS Properties + +}; + +interface CSSPropertyValue { + attribute DOMString cssText; +}; + +[NoInterfaceObject] interface CSSMapValue { + getter CSSValue (DOMString name); +}; + +[NoInterfaceObject] interface CSSPropertyValueList { + readonly attribute CSSValue[] list; +}; + +[NoInterfaceObject] interface CSSComponentValue { + readonly attribute DOMString type; + attribute any value; +}; + +[NoInterfaceObject] interface CSSStringComponentValue { + attribute DOMString string; +}; + +[NoInterfaceObject] interface CSSKeywordComponentValue { + attribute DOMString keyword; +}; + +[NoInterfaceObject] interface CSSIdentifierComponentValue { + attribute DOMString identifier; +}; + +[NoInterfaceObject] interface CSSColorComponentValue { + attribute short red; + attribute short green; + attribute short blue; + attribute float alpha; +}; + +[NoInterfaceObject] interface CSSLengthComponentValue { + attribute float em; + attribute float ex; + attribute float px; + // figure out what to do with absolute lengths +}; + +[NoInterfaceObject] interface CSSPercentageComponentValue { + attribute float percent; +}; + +[NoInterfaceObject] interface CSSURLComponentValue { + attribute DOMString? url; +}; + +[NoInterfaceObject] interface ElementCSSInlineStyle { + readonly attribute CSSStyleDeclaration style; +}; + +//partial interface Window { +// CSSStyleDeclaration getComputedStyle(Element elt); +// CSSStyleDeclaration getComputedStyle(Element elt, DOMString pseudoElt); +//};
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/self-origin.any.js b/third_party/WebKit/LayoutTests/external/wpt/html/dom/self-origin.any.js new file mode 100644 index 0000000..c103a32 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/dom/self-origin.any.js
@@ -0,0 +1,5 @@ +"use strict"; + +test(function() { + assert_equals(self.origin, "http://" + location.host); +}, "self.origin should be correct");
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/dom/self-origin.sub.html b/third_party/WebKit/LayoutTests/external/wpt/html/dom/self-origin.sub.html new file mode 100644 index 0000000..4143a4a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/dom/self-origin.sub.html
@@ -0,0 +1,93 @@ +<!DOCTYPE HTML> +<meta charset=utf-8> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id=log></div> +<iframe></iframe> +<iframe id="blob-test"></iframe> <!-- will get blob: URI --> +<iframe src="javascript:'javascript'"></iframe> +<iframe srcdoc="srcdoc"></iframe> +<!-- Use the non-default HTTP port so we can make sure it gets included in + self.origin --> +<iframe src="http://{{domains[www1]}}:{{ports[http][1]}}{{location[path]}}/../resources/self-origin-subframe.html"></iframe> +<!-- Using the punycode version on purpose, we expect to get back the IDNA + version in self.origin --> +<iframe src="http://xn--lve-6lad.{{domains[]}}:{{ports[http][1]}}{{location[path]}}/../resources/self-origin-subframe.html"></iframe> +<iframe src="resources/self-origin-subframe.html" sandbox="allow-scripts"></iframe> +<script type="application/javascript"> +test(function() { + var blob = new Blob(['blob']); + var url = URL.createObjectURL(blob); + document.getElementById("blob-test").src = url; +}, "Assigning blob url"); + +/* Each message test is a four things: window to send message to, message to + send, expected response, async test to use. */ +var messageTests = [ + [ frames[4], "getOrigin", "http://{{domains[www1]}}:{{ports[http][1]}}", + async_test("Should have the right origin for cross-origin subframe") ], + [ frames[4], "setDomainAndGetOrigin", "http://{{domains[www1]}}:{{ports[http][1]}}", + async_test("Should have the right origin for cross-origin subframe after setting document.domain") ], + [ frames[5], "getOrigin", "http://élève.{{domains[]}}:{{ports[http][1]}}", + async_test("Should have the right origin for IDN subframe") ], + [ frames[5], "setDomainAndGetOrigin", "http://élève.{{domains[]}}:{{ports[http][1]}}", + async_test("Should have the right origin for IDN subframe after setting document.domain") ], + [ frames[6], "getOrigin", "null", + async_test("Should have the right origin for sandboxed iframe") ], +]; + +var curTest = 0; +function nextMessageTest() { + if (curTest == messageTests.length) { + return; + } + + var testData = messageTests[curTest]; + testData[0].postMessage(testData[1], "*"); +} + +window.onmessage = function(e) { + var testData = messageTests[curTest++]; + testData[3].step_func(function() { + assert_equals(e.data, testData[2]) + }); + testData[3].done(); + nextMessageTest(); +} + +addEventListener("load", nextMessageTest); + +test(function() { + assert_equals(self.origin, "http://{{location[host]}}"); +}, "We should have the right origin for our page"); + +var t1 = async_test("about:blank subframe origins"); +addEventListener("load", t1.step_func_done(function() { + assert_equals(frames[0].location.origin, "null", + "Should have the right location origin for about:blank iframe"); + assert_equals(frames[0].origin, "http://{{location[host]}}", + "Should have the right origin for about:blank iframe"); +})); + +var t2 = async_test("blob: subframe origins"); +addEventListener("load", t2.step_func_done(function() { + assert_equals(frames[1].location.origin, "http://{{location[host]}}", + "Should have the right location origin for blob: iframe"); + assert_equals(frames[1].origin, "http://{{location[host]}}", + "Should have the right origin for blob: iframe"); +})); + +var t3 = async_test("javascript: subframe origins"); +addEventListener("load", t3.step_func_done(function() { + assert_equals(frames[2].origin, "http://{{location[host]}}", + "Should have the right origin for javascript: iframe"); +})); + +var t4 = async_test("srcdoc subframe origins"); +addEventListener("load", t4.step_func_done(function() { + assert_equals(frames[3].location.origin, "null", + "Should have the right location origin for srcdoc iframe"); + assert_equals(frames[3].origin, "http://{{location[host]}}", + "Should have the right origin for srcdoc iframe"); +})); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks.html new file mode 100644 index 0000000..cf1b98c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/media-elements/ready-states/autoplay-with-slow-text-tracks.html
@@ -0,0 +1,45 @@ +<!doctype html> +<title>autoplay with slow text tracks</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/common/media.js"></script> +<div id="log"></div> +<script> +// https://html.spec.whatwg.org/#ready-states says: +// +// HAVE_FUTURE_DATA: "the text tracks are ready". +// HAVE_ENOUGH_DATA: All the conditions described for the HAVE_FUTURE_DATA state are met, ... +// +// When the ready state of a media element whose networkState is not NETWORK_EMPTY changes, +// the user agent must follow the steps given below: +// If the new ready state is HAVE_ENOUGH_DATA +// (autoplay) +// +// So if the text tracks are not yet ready, we can't autoplay. + +var started = 0; +var numOfTests = 5; + +function createTest() { + var video = document.createElement('video'); + video.src = getVideoURI('/media/movie_5'); + video.autoplay = true; + video.muted = true; + video.controls = true; + video.onplaying = function() { + started++; + assert_equals(track.track.cues.length, 1); + if (started === numOfTests) { + done(); + } + }; + var track = document.createElement('track'); + track.src = '/media/foo.vtt?pipe=trickle(d2)'; + track.default = true; + video.appendChild(track); + document.body.appendChild(video); +} +for (var i = 0; i < numOfTests; ++i) { + createTest(); +} +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/resources/should-load.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/resources/should-load.html new file mode 100644 index 0000000..a9a178c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/resources/should-load.html
@@ -0,0 +1,3 @@ +<script> + parent.loadedCount++; +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/resources/should-not-load.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/resources/should-not-load.html new file mode 100644 index 0000000..6281b2d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/resources/should-not-load.html
@@ -0,0 +1,5 @@ +<script> + parent.nestingTest.step(function() { + parent.assert_unreached(window.frameElement.getAttribute("test-description")); + }); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-embed-element/embed-ignored-in-media-element.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-embed-element/embed-ignored-in-media-element.html index d29d520..941b0c0 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-embed-element/embed-ignored-in-media-element.html +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-embed-element/embed-ignored-in-media-element.html
@@ -5,18 +5,18 @@ <script src="/resources/testharnessreport.js"></script> <meta name="assert" content="Check if the embed element is ignored when used inside a media element"> <script type="application/javascript"> - window.childLoaded = false; - async_test(function() { - addEventListener("load", this.step_func_done(function() { - assert_false(window.childLoaded); - })); - }, "Test embed being ignored inside media element"); + var nestingTest = async_test("Test embed being ignored inside media element"); + onload = nestingTest.step_func_done(function() { + assert_true(true, "We got to a load event without loading things we should not load"); + }); </script> <body> <video> - <embed type="text/html" src="embed-iframe.html" /> + <embed type="text/html" src="../resources/should-not-load.html" + test-description="<embed> in <video>"> </video> <audio> - <embed type="text/html" src="embed-iframe.html" /> + <embed type="text/html" src="../resources/should-not-load.html" + test-description="<embed> in <audio>"> </audio> </body>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-embed-element/embed-in-object-fallback-2.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-embed-element/embed-in-object-fallback-2.html new file mode 100644 index 0000000..d904a7e1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-embed-element/embed-in-object-fallback-2.html
@@ -0,0 +1,56 @@ +<!doctype html> +<html> + <head> + <meta charset=utf-8> + <title></title> + <script src=/resources/testharness.js></script> + <script src=/resources/testharnessreport.js></script> + <script> + var loadedCount = 0; + var nestingTest = async_test("Test <embed> nesting inside <object>"); + onload = nestingTest.step_func_done(function() { + assert_equals(loadedCount, 12, "Should have loaded all should-load elements"); + }); + </script> + <style> + object, embed { display: none } + </style> + </head> + <body> + <object data="../resources/should-load.html" style="width: 100px; height: 100px"> + <embed type="text/html" src="../resources/should-not-load.html" + test-description="<embed> inside <object>"> + </object> + <object style="width: 100px; height: 100px" data="data:application/x-does-not-exist,test"> + <embed type="text/html" src="../resources/should-load.html" /> + </object> + <object style="width: 100px; height: 100px" data="data:application/x-does-not-exist,test"> + <div></div> + <embed type="text/html" src="../resources/should-load.html" /> + </object> + <object style="width: 100px; height: 100px" data="data:application/x-does-not-exist,test"> + <div> + <embed type="text/html" src="../resources/should-load.html" /> + </div> + </object> + <object style="width: 100px; height: 100px" data="data:application/x-does-not-exist,test"> + <embed type="text/html" src="../resources/should-load.html" /> + <embed type="text/html" src="../resources/should-load.html" /> + <object data="../resources/should-load.html"> + <embed type="text/html" src="../resources/should-not-load.html" + test-description="<embed> inside loaded <object> inside non-loaded <object>"> + </object> + <object data="data:application/x-does-not-exist,test"> + <embed type="text/html" src="../resources/should-load.html" /> + </object> + </object> + <div> + <object data="../resources/should-load.html" style="width: 100px; height: 100px"></object> + <embed type="text/html" src="../resources/should-load.html" /> + </div> + <div> + <embed type="text/html" src="../resources/should-load.html" /> + <object data="../resources/should-load.html" style="width: 100px; height: 100px"></object> + </div> + </body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-object-element/object-ignored-in-media-element.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-object-element/object-ignored-in-media-element.html new file mode 100644 index 0000000..2bf84c2 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-object-element/object-ignored-in-media-element.html
@@ -0,0 +1,22 @@ +<!doctype html> +<meta charset="utf-8"> +<title>HTML Test: The embed element represents a document</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<meta name="assert" content="Check if the object element is ignored when used inside a media element"> +<script type="application/javascript"> + var nestingTest = async_test("Test <object> being ignored inside media element"); + onload = nestingTest.step_func_done(function() { + assert_true(true, "We got to a load event without loading things we should not load"); + }); +</script> +<body> + <video> + <object type="text/html" data="../resources/should-not-load.html" + test-description="<object> in <video>"></object> + </video> + <audio> + <object type="text/html" data="../resources/should-not-load.html" + test-description="<object> in <audio>"></object> + </audio> +</body>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-object-element/object-in-object-fallback-2.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-object-element/object-in-object-fallback-2.html new file mode 100644 index 0000000..47cf8016 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/embedded-content/the-object-element/object-in-object-fallback-2.html
@@ -0,0 +1,56 @@ +<!doctype html> +<html> + <head> + <meta charset=utf-8> + <title></title> + <script src=/resources/testharness.js></script> + <script src=/resources/testharnessreport.js></script> + <script> + var loadedCount = 0; + var nestingTest = async_test("Test <object> nesting inside <object>"); + onload = nestingTest.step_func_done(function() { + assert_equals(loadedCount, 12, "Should have loaded all should-load elements"); + }); + </script> + <style> + object { display: none } + </style> + </head> + <body> + <object data="../resources/should-load.html" style="width: 100px; height: 100px"> + <object type="text/html" data="../resources/should-not-load.html" + test-description="<object> inside <object>"></object> + </object> + <object style="width: 100px; height: 100px" data="data:application/x-does-not-exist,test"> + <object type="text/html" data="../resources/should-load.html"></object> + </object> + <object style="width: 100px; height: 100px" data="data:application/x-does-not-exist,test"> + <div></div> + <object type="text/html" data="../resources/should-load.html"></object> + </object> + <object style="width: 100px; height: 100px" data="data:application/x-does-not-exist,test"> + <div> + <object type="text/html" data="../resources/should-load.html"></object> + </div> + </object> + <object style="width: 100px; height: 100px" data="data:application/x-does-not-exist,test"> + <object type="text/html" data="../resources/should-load.html"></object> + <object type="text/html" data="../resources/should-load.html"></object> + <object data="../resources/should-load.html"> + <object type="text/html" data="../resources/should-not-load.html" + test-description="<object> inside loaded <object> inside non-loaded <object>"></object> + </object> + <object data="data:application/x-does-not-exist,test"> + <object type="text/html" data="../resources/should-load.html"></object> + </object> + </object> + <div> + <object data="../resources/should-load.html" style="width: 100px; height: 100px"></object> + <object type="text/html" data="../resources/should-load.html"></object> + </div> + <div> + <object type="text/html" data="../resources/should-load.html"></object> + <object data="../resources/should-load.html" style="width: 100px; height: 100px"></object> + </div> + </body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/the-input-element/valueMode-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/the-input-element/valueMode-expected.txt deleted file mode 100644 index 8bee2a60..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/the-input-element/valueMode-expected.txt +++ /dev/null
@@ -1,45 +0,0 @@ -This is a testharness.js-based test. -PASS value IDL attribute of input type hidden without value attribute -PASS value IDL attribute of input type hidden with value attribute -PASS value IDL attribute of input type submit without value attribute -PASS value IDL attribute of input type submit with value attribute -PASS value IDL attribute of input type image without value attribute -PASS value IDL attribute of input type image with value attribute -PASS value IDL attribute of input type reset without value attribute -PASS value IDL attribute of input type reset with value attribute -PASS value IDL attribute of input type button without value attribute -PASS value IDL attribute of input type button with value attribute -FAIL value IDL attribute of input type checkbox without value attribute assert_equals: expected "on" but got "foo" -FAIL value IDL attribute of input type checkbox with value attribute assert_equals: expected "bar" but got "foo" -FAIL value IDL attribute of input type radio without value attribute assert_equals: expected "on" but got "foo" -FAIL value IDL attribute of input type radio with value attribute assert_equals: expected "bar" but got "foo" -PASS value IDL attribute of input type text without value attribute -PASS value IDL attribute of input type text with value attribute -PASS value IDL attribute of input type search without value attribute -PASS value IDL attribute of input type search with value attribute -PASS value IDL attribute of input type tel without value attribute -PASS value IDL attribute of input type tel with value attribute -PASS value IDL attribute of input type url without value attribute -PASS value IDL attribute of input type url with value attribute -PASS value IDL attribute of input type email without value attribute -PASS value IDL attribute of input type email with value attribute -PASS value IDL attribute of input type password without value attribute -PASS value IDL attribute of input type password with value attribute -PASS value IDL attribute of input type datetime-local without value attribute -PASS value IDL attribute of input type datetime-local with value attribute -PASS value IDL attribute of input type date without value attribute -PASS value IDL attribute of input type date with value attribute -PASS value IDL attribute of input type month without value attribute -PASS value IDL attribute of input type month with value attribute -PASS value IDL attribute of input type week without value attribute -PASS value IDL attribute of input type week with value attribute -PASS value IDL attribute of input type time without value attribute -PASS value IDL attribute of input type time with value attribute -PASS value IDL attribute of input type number without value attribute -PASS value IDL attribute of input type number with value attribute -PASS value IDL attribute of input type range without value attribute -PASS value IDL attribute of input type range with value attribute -PASS value IDL attribute of input type color without value attribute -PASS value IDL attribute of input type color with value attribute -Harness: the test ran to completion. -
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/the-input-element/valueMode.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/the-input-element/valueMode.html index 6d5bc47b..2a5b946 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/the-input-element/valueMode.html +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/the-input-element/valueMode.html
@@ -82,28 +82,28 @@ var input = document.createElement("input"); input.type = "checkbox"; input.value = "foo"; - assert_equals(input.value, "on"); + assert_equals(input.value, "foo"); }, "value IDL attribute of input type checkbox without value attribute"); test(function() { var input = document.createElement("input"); input.type = "checkbox"; input.setAttribute("value", "bar"); input.value = "foo"; - assert_equals(input.value, "bar"); + assert_equals(input.value, "foo"); }, "value IDL attribute of input type checkbox with value attribute"); test(function () { var input = document.createElement("input"); input.type = "radio"; input.value = "foo"; - assert_equals(input.value, "on"); + assert_equals(input.value, "foo"); }, "value IDL attribute of input type radio without value attribute"); test(function() { var input = document.createElement("input"); input.type = "radio"; input.setAttribute("value", "bar"); input.value = "foo"; - assert_equals(input.value, "bar"); + assert_equals(input.value, "foo"); }, "value IDL attribute of input type radio with value attribute"); // MODE VALUE
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/the-label-element/labelable-elements-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/the-label-element/labelable-elements-expected.txt index 895d1fd..53eb07b 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/the-label-element/labelable-elements-expected.txt +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/the-label-element/labelable-elements-expected.txt
@@ -10,7 +10,7 @@ PASS Check if the button element is a labelable element PASS Check if the button element can access 'labels' PASS Check if the hidden input element is not a labelable element. -FAIL Check if the hidden input element can access 'labels' Cannot read property 'length' of null +FAIL Check if the hidden input element has null 'labels' assert_equals: .labels NodeList should contain the input after the input type is changed from 'hidden' to 'checkbox' expected 1 but got 0 PASS Check if the input element in radio state is a labelable element PASS Check if the input element in radio state can access 'labels' PASS Check if the keygen element is not a labelable element
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/the-label-element/labelable-elements.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/the-label-element/labelable-elements.html index a508a91..9dfe214 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/the-label-element/labelable-elements.html +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/forms/the-label-element/labelable-elements.html
@@ -36,7 +36,7 @@ </form> <script> -function testLabelsAttr(formElementId, labelElementId, hasLabels) { +function testLabelsAttr(formElementId, labelElementId) { var elem = document.getElementById(formElementId); if (labelElementId) { assert_equals(elem.labels.length, 1); @@ -91,8 +91,24 @@ }, "Check if the hidden input element is not a labelable element."); test(function() { - testLabelsAttr("testHidden", null); -}, "Check if the hidden input element can access 'labels'"); + var hiddenInput = document.getElementById("testHidden"); + assert_equals(hiddenInput.labels, null, "input[type=hidden] must have null .labels"); + + this.add_cleanup(function () { + hiddenInput.type = "hidden"; + }); + + hiddenInput.type = "text"; + testLabelsAttr("testHidden", "lbl5"); + var labels = hiddenInput.labels; + + hiddenInput.type = "hidden"; + assert_equals(labels.length, 0, "Retained .labels NodeList should be empty after input type changed to hidden"); + + hiddenInput.type = "checkbox"; + assert_true(labels === hiddenInput.labels, ".labels property must return the [SameObject] after input type is toggled back from 'hidden'"); + assert_equals(hiddenInput.labels.length, 1, ".labels NodeList should contain the input after the input type is changed from 'hidden' to 'checkbox'"); +}, "Check if the hidden input element has null 'labels'"); test(function() { assert_equals(document.getElementById("lbl6").control.id, "testRadio", "An input element in radio state should be labelable.");
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-common.js b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-common.js new file mode 100644 index 0000000..59bf0fd42 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-common.js
@@ -0,0 +1,8 @@ +document._log = []; +window.addEventListener("error", function (ev) { + var errorSerialized = ev.lineno + "-" + ev.colno; + document._log.push(errorSerialized); +}); +window.addEventListener("load", function () { + document._log = document._log.join(","); +});
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-import-different.sub.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-import-different.sub.html new file mode 100644 index 0000000..29528d5 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-import-different.sub.html
@@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> +<head> + <title>html-script-module-crossOrigin-import-NoCORS</title> + <script src="crossorigin-common.js"></script> +</head> +<body> + <h1>html-script-module-crossOrigin-import-NoCORS</h1> + <script type="module"> + + import { foo } from "http://{{domains[www2]}}:{{ports[http][0]}}/html/semantics/scripting-1/the-script-element/module/crossorigin-scripterror.js"; + + </script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-import-missingheader.sub.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-import-missingheader.sub.html new file mode 100644 index 0000000..cccb30f --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-import-missingheader.sub.html
@@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> +<head> + <title>html-script-module-crossOrigin-root-BlockedMissingHeader</title> + <script src="crossorigin-common.js"></script> +</head> +<body> + <h1>html-script-module-crossOrigin-root-BlockedMissingHeader</h1> + <script type="module" onerror="document._log.push('error');" crossorigin> + + import { foo } from "http://{{domains[www2]}}:{{ports[http][0]}}/html/semantics/scripting-1/the-script-element/module/crossorigin-scripterror.js"; + + </script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-import-same.sub.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-import-same.sub.html new file mode 100644 index 0000000..84f4de1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-import-same.sub.html
@@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> +<head> + <title>html-script-module-crossOrigin-root-WithCORS</title> + <script src="crossorigin-common.js"></script> +</head> +<body> + <h1>html-script-module-crossOrigin-root-WithCORS</h1> + <script type="module" crossorigin> + + import { foo } from "http://{{domains[www2]}}:{{ports[http][0]}}/html/semantics/scripting-1/the-script-element/module/crossorigin-scripterror.js?pipe=header(Access-Control-Allow-Origin,*)"; + + </script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-import-wrongheader.sub.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-import-wrongheader.sub.html new file mode 100644 index 0000000..5743a9e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-import-wrongheader.sub.html
@@ -0,0 +1,15 @@ +<!DOCTYPE html> +<html> +<head> + <title>html-script-module-crossOrigin-root-BlockedWrongHeader</title> + <script src="crossorigin-common.js"></script> +</head> +<body> + <h1>html-script-module-crossOrigin-root-BlockedWrongHeader</h1> + <script type="module" onerror="document._log.push('error');" crossorigin> + + import { foo } from "http://{{domains[www2]}}:{{ports[http][0]}}/html/semantics/scripting-1/the-script-element/module/crossorigin-scripterror.js?pipe=header(Access-Control-Allow-Origin,http://{{domains[www2]}}:{{ports[http][0]}})"; + + </script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-root-different.sub.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-root-different.sub.html new file mode 100644 index 0000000..870d8a4 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-root-different.sub.html
@@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> +<head> + <title>html-script-module-crossOrigin-root-NoCORS</title> + <script src="crossorigin-common.js"></script> +</head> +<body> + <h1>html-script-module-crossOrigin-root-NoCORS</h1> + <script type="module" src="http://{{domains[www2]}}:{{ports[http][0]}}/html/semantics/scripting-1/the-script-element/module/crossorigin-scripterror.js"></script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-root-missingheader.sub.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-root-missingheader.sub.html new file mode 100644 index 0000000..0394300 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-root-missingheader.sub.html
@@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> +<head> + <title>html-script-module-crossOrigin-root-BlockedMissingHeader</title> + <script src="crossorigin-common.js"></script> +</head> +<body> + <h1>html-script-module-crossOrigin-root-BlockedMissingHeader</h1> + <script type="module" src="http://{{domains[www2]}}:{{ports[http][0]}}/html/semantics/scripting-1/the-script-element/module/crossorigin-scripterror.js" onerror="document._log.push('error');" crossorigin></script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-root-same.sub.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-root-same.sub.html new file mode 100644 index 0000000..3ec839e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-root-same.sub.html
@@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> +<head> + <title>html-script-module-crossOrigin-root-WithCORS</title> + <script src="crossorigin-common.js"></script> +</head> +<body> + <h1>html-script-module-crossOrigin-root-WithCORS</h1> + <script type="module" src="http://{{domains[www2]}}:{{ports[http][0]}}/html/semantics/scripting-1/the-script-element/module/crossorigin-scripterror.js?pipe=header(Access-Control-Allow-Origin,*)" crossorigin></script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-root-wrongheader.sub.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-root-wrongheader.sub.html new file mode 100644 index 0000000..c45736a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-root-wrongheader.sub.html
@@ -0,0 +1,11 @@ +<!DOCTYPE html> +<html> +<head> + <title>html-script-module-crossOrigin-root-BlockedWrongHeader</title> + <script src="crossorigin-common.js"></script> +</head> +<body> + <h1>html-script-module-crossOrigin-root-BlockedWrongHeader</h1> + <script type="module" src="http://{{domains[www2]}}:{{ports[http][0]}}/html/semantics/scripting-1/the-script-element/module/crossorigin-scripterror.js?pipe=header(Access-Control-Allow-Origin,http://{{domains[www2]}}:{{ports[http][0]}})" onerror="document._log.push('error');" crossorigin></script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-scripterror.js b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-scripterror.js new file mode 100644 index 0000000..29d04ec --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin-scripterror.js
@@ -0,0 +1,8 @@ +export var foo = {}; + +// Push an event to the log indicating that the script was executed. +document._log.push("running"); + +// Deliberately trigger an error to test what details of the error +// the (possibly) cross-origin parent can listen to. +nonExistentMethod();
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin.html new file mode 100644 index 0000000..cf7be01 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/crossorigin.html
@@ -0,0 +1,43 @@ +<!doctype html> +<html> +<head> + <title>html-script-module-crossOrigin</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> +</head> +<body> + <h1>html-script-module-crossOrigin</h1> + <iframe id="root-NoCORS" src="crossorigin-root-different.sub.html"></iframe> + <iframe id="root-WithCORS" src="crossorigin-root-same.sub.html"></iframe> + <iframe id="root-BlockedMissingHeader" src="crossorigin-root-missingheader.sub.html"></iframe> + <iframe id="root-BlockedWrongHeader" src="crossorigin-root-wrongheader.sub.html"></iframe> + <iframe id="import-NoCORS" src="crossorigin-import-different.sub.html"></iframe> + <iframe id="import-WithCORS" src="crossorigin-import-same.sub.html"></iframe> + <iframe id="import-BlockedMissingHeader" src="crossorigin-import-missingheader.sub.html"></iframe> + <iframe id="import-BlockedWrongHeader" src="crossorigin-import-wrongheader.sub.html"></iframe> + <script> + + var tests = [ + { "obj": async_test("Root module, Error in CORS-different-origin script"), "id": "root-NoCORS", "expected": "running,0-0" }, + { "obj": async_test("Root module, Error in CORS-same-origin script"), "id": "root-WithCORS", "expected": "running,8-1" }, + { "obj": async_test("Root module, Blocked script download, missing CORS ACAO header"), "id": "root-BlockedMissingHeader", "expected": "error" }, + { "obj": async_test("Root module, Blocked script download, mismatched CORS ACAO header"), "id": "root-BlockedWrongHeader", "expected": "error" }, + { "obj": async_test("Imported module, Error in CORS-different-origin script"), "id": "import-NoCORS", "expected": "running,0-0" }, + { "obj": async_test("Imported module, Error in CORS-same-origin script"), "id": "import-WithCORS", "expected": "running,8-1" }, + { "obj": async_test("Imported module, Blocked script download, missing CORS ACAO header"), "id": "import-BlockedMissingHeader", "expected": "error" }, + { "obj": async_test("Imported module, Blocked script download, mismatched CORS ACAO header"), "id": "import-BlockedWrongHeader", "expected": "error" }, + ]; + + window.addEventListener("load", function () { + tests.forEach(function (test) { + var target = document.getElementById(test.id); + test.obj.step(function () { + assert_equals(target.contentDocument._log, test.expected, "Unexpected _log value"); + }); + test.obj.done(); + }); + }); + + </script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-common.js b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-common.js new file mode 100644 index 0000000..4eb5597 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-common.js
@@ -0,0 +1,10 @@ +function errorHandler(ev) +{ + document._errorReported.push("error"); +} + +document._errorReported = []; +window.addEventListener("error", errorHandler); +window.addEventListener("load", function () { + document._errorReported = document._errorReported.join(","); +});
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependent.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependent.html new file mode 100644 index 0000000..3a00f62f --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependent.html
@@ -0,0 +1,16 @@ +<!doctype html> +<html> +<head> + <title>html-script-module-errorHandling-parseError-Dependent</title> + <script src="errorhandling-parseerror-common.js"></script> +</head> +<body> + <script type="module" onerror="errorHandler(event);"> + + // No parse errors in the root module, just in the dependent module + import test from "./errorhandling-parseerror-dependent.js"; + document._errorReported = "shouldn't have run dependent module"; + + </script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependent.js b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependent.js new file mode 100644 index 0000000..71872c4 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependent.js
@@ -0,0 +1,2 @@ +// Parse error in a dependent module +1A
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependentmultiple.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependentmultiple.html new file mode 100644 index 0000000..37487aa5 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependentmultiple.html
@@ -0,0 +1,31 @@ +<!doctype html> +<html> +<head> + <title>html-script-module-errorHandling-parseError-DependentMultiple</title> + <script src="errorhandling-parseerror-common.js"></script> +</head> +<body> + <script type="module" onerror="errorHandler(event);createSecondDependentRoot();"> + + // No parse errors in the root module, just in the dependent module + import test from "./errorhandling-parseerror-dependentmultiple.js"; + document._errorReported = "shouldn't have run dependent module"; + + </script> + <script> + + function createSecondDependentRoot() + { + // With the broken dependent module already acquired, try to import it + // again from another root. This root should be unwound appropriately. + var script = document.createElement("script"); + script.type = "module"; + script.textContent = "import test from './errorhandling-parseerror-dependentmultiple.js';" + + "document._errorReported = 'really shouldn\\'t have run dependent module';"; + script.addEventListener("error", errorHandler); + document.body.appendChild(script); + } + + </script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependentmultiple.js b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependentmultiple.js new file mode 100644 index 0000000..71872c4 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-dependentmultiple.js
@@ -0,0 +1,2 @@ +// Parse error in a dependent module +1A
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-root.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-root.html new file mode 100644 index 0000000..012f3e9b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling-parseerror-root.html
@@ -0,0 +1,15 @@ +<!doctype html> +<html> +<head> + <title>html-script-module-errorHandling-parseError-Root</title> + <script src="errorhandling-parseerror-common.js"></script> +</head> +<body> + <script type="module"> + + // Parse error in a root module + 1A + + </script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling-wrongMimetype-import.js b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling-wrongMimetype-import.js new file mode 100644 index 0000000..5e7b21b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling-wrongMimetype-import.js
@@ -0,0 +1,8 @@ +import foo from "./errorhandling-wrongMimetype.js?pipe=header(X-Content-Type-Options,nosniff),header(Content-Type,text/plain)"; + +// We don't expect this code to run, the import above should fail! +// If we do run though, don't trigger an error that the testharness +// might misinterpret as the import itself failing to load. + +var A = null; +export { A };
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling-wrongMimetype.js b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling-wrongMimetype.js new file mode 100644 index 0000000..373a532 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling-wrongMimetype.js
@@ -0,0 +1,7 @@ +// This is a plain JavaScript file, but since it will only be accessed with +// a Content-Type of text/plain and nosniff, it will be seen as invalid. +// The file itself will have no errors/effects, so if it does actually run, +// no error will be detected, and the test will fail. + +var foo = null; +export foo; \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling.html new file mode 100644 index 0000000..6f36d2c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/errorhandling.html
@@ -0,0 +1,61 @@ +<!doctype html> +<html> +<head> + <title>html-script-module-errorHandling</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <style> + + iframe + { display: none; } + + </style> +</head> +<body> + <h1>html-script-module-errorHandling</h1> + <iframe id="iframe_parseError_Root" src="errorhandling-parseerror-root.html"></iframe> + <iframe id="iframe_parseError_Dependent" src="errorhandling-parseerror-dependent.html"></iframe> + <iframe id="iframe_parseError_DependentMultiple" src="errorhandling-parseerror-dependentmultiple.html"></iframe> + <script> + + var tests = [ + { "id": "iframe_parseError_Root", "expected": "error" }, + { "id": "iframe_parseError_Dependent", "expected": "error" }, + { "id": "iframe_parseError_DependentMultiple", "expected": "error,error" }, + ]; + tests.forEach(function (testObj) { + var testHandle = async_test("IFrame test: '" + testObj.id + "'"); + var testTarget = document.getElementById(testObj.id); + testTarget.addEventListener("load", testHandle.step_func(function () { + assert_equals(testTarget.contentDocument._errorReported, testObj.expected, "Unexpected _errorReported value"); + testHandle.done(); + })); + }); + + var test_wrongMimetype_root = async_test("External root module with non-script mimetype"); + var script_wrongMimetype_root = document.createElement("script"); + script_wrongMimetype_root.type = "module"; + script_wrongMimetype_root.src = "errorhandling-wrongMimetype.js?pipe=header(Content-Type,text/plain),header(X-Content-Type-Options,nosniff)"; + script_wrongMimetype_root.addEventListener("error", test_wrongMimetype_root.step_func(function () { + test_wrongMimetype_root.done(); + })); + script_wrongMimetype_root.addEventListener("load", test_wrongMimetype_root.step_func(function () { + assert_unreached("This script should not have loaded!"); + })); + document.body.appendChild(script_wrongMimetype_root); + + var test_wrongMimetype_import = async_test("Module with imported non-script mimetype"); + var script_wrongMimetype_import = document.createElement("script"); + script_wrongMimetype_import.type = "module"; + script_wrongMimetype_import.src = "errorhandling-wrongMimetype-import.js"; + script_wrongMimetype_import.addEventListener("error", test_wrongMimetype_import.step_func(function () { + test_wrongMimetype_import.done(); + })); + script_wrongMimetype_import.addEventListener("load", test_wrongMimetype_import.step_func(function () { + assert_unreached("This script should not have loaded!"); + })); + document.body.appendChild(script_wrongMimetype_import); + + </script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered2.js b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered2.js new file mode 100644 index 0000000..d7115a2 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered2.js
@@ -0,0 +1,3 @@ +test_dynamicOrdered.step(function() { + assert_execCount(1, 2, "External script element (#1) should have fired second"); +});
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered3.js b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered3.js new file mode 100644 index 0000000..c04e101 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered3.js
@@ -0,0 +1,3 @@ +test_dynamicOrdered.step(function() { + assert_execCount(1, 3, "External script element (#2) should have fired third"); +});
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered4.js b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered4.js new file mode 100644 index 0000000..958736a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-dynamicordered4.js
@@ -0,0 +1,3 @@ +test_dynamicOrdered.step(function() { + assert_execCount(1, 4, "External script element (#3) should have fired fourth"); +});
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-dynamicunordered1.js b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-dynamicunordered1.js new file mode 100644 index 0000000..a54cb7a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-dynamicunordered1.js
@@ -0,0 +1,3 @@ +test_dynamicUnordered1.step(function() { + test_dynamicUnordered1.done(); +});
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-dynamicunordered2.js b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-dynamicunordered2.js new file mode 100644 index 0000000..df0cd85 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-dynamicunordered2.js
@@ -0,0 +1,3 @@ +test_dynamicUnordered2.step(function() { + test_dynamicUnordered2.done(); +});
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-parsedordered2.js b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-parsedordered2.js new file mode 100644 index 0000000..fca73bd --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-parsedordered2.js
@@ -0,0 +1,3 @@ +test_parsedOrdered.step(function() { + assert_execCount(0, 2, "External deferred (#1) script element should have fired second"); +});
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-parsedordered4.js b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-parsedordered4.js new file mode 100644 index 0000000..6435333b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-parsedordered4.js
@@ -0,0 +1,3 @@ +test_parsedOrdered.step(function() { + assert_execCount(0, 4, "External deferred (#2) script element should have fired fourth"); +});
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-parsedunordered1.js b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-parsedunordered1.js new file mode 100644 index 0000000..ea0bb1b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-parsedunordered1.js
@@ -0,0 +1,3 @@ +test_parsedUnordered1.step(function() { + test_parsedUnordered1.done(); +});
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-parsedunordered2.js b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-parsedunordered2.js new file mode 100644 index 0000000..ce219ee --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder-parsedunordered2.js
@@ -0,0 +1,3 @@ +test_parsedUnordered2.step(function() { + test_parsedUnordered2.done(); +});
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder.html new file mode 100644 index 0000000..3f282672 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/execorder.html
@@ -0,0 +1,105 @@ +<!doctype html> +<html> +<head> + <title>html-script-module-execOrder</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script> + + var execCounts = [ + 0, // test_parsedOrdered + 0, // test_dynamicOrdered + ]; + function assert_execCount(set, expected, description) + { + if (!execCounts[set]) + { + execCounts[set] = 0; + } + assert_equals(++execCounts[set], expected, description); + } + + function create_script(src, opts) + { + var element = document.createElement("script"); + element.src = src; + element.async = (opts.asyncOrdered ? false : true); + element.type = (opts.module ? "module" : "text/javascript"); + document.body.appendChild(element); + } + + </script> +</head> +<body> + <h1>html-script-module-execOrder</h1> + <script> + + ///// + // Start test_parsedUnordered* + ///// + var test_parsedUnordered1 = async_test("Unordered module script execution (parsed, unordered #1)"); + var test_parsedUnordered2 = async_test("Unordered module script execution (parsed, unordered #2)"); + </script> + <script type="module" src="execOrder-parsedUnordered1.js"></script> + <script type="module" src="execOrder-parsedUnordered2.js"></script> + <script> + ///// + // End test_parsedUnordered* + ///// + + ///// + // Start test_dynamicUnordered* + ///// + var test_dynamicUnordered1 = async_test("Unordered module script execution (dynamic, unordered #1)"); + var test_dynamicUnordered2 = async_test("Unordered module script execution (dynamic, unordered #2)"); + create_script("execOrder-dynamicUnordered1.js", { module: true }); + create_script("execOrder-dynamicUnordered2.js", { module: true }); + ///// + // End test_dynamicUnordered* + ///// + + ///// + // Begin test_parsedOrdered + ///// + var test_parsedOrdered = async_test("Interlaced module/non-module script execution (parsed, async-ordered)"); + window.addEventListener("load", test_parsedOrdered.step_func(function() { + assert_execCount(0, 5, "onload should have fired fifth"); + test_parsedOrdered.done(); + })); + </script> + <script src="execOrder-parsedOrdered2.js" defer></script> + <script type="module"> + test_parsedOrdered.step(function() { + assert_execCount(0, 3, "Inline module-typed script element should have fired third"); + }); + </script> + <script src="execOrder-parsedOrdered4.js" defer></script> + <script> + test_parsedOrdered.step(function() { + assert_execCount(0, 1, "Inline untyped script element should have fired first"); + }); + ///// + // End test_parsedOrdered + ///// + + ///// + // Start test_dynamicOrdered + ///// + var test_dynamicOrdered = async_test("Interlaced module/non-module script execution (dynamic, async-ordered)"); + window.addEventListener("load", test_dynamicOrdered.step_func(function() { + assert_execCount(1, 5, "onload should have fired fifth (last)"); + test_dynamicOrdered.done(); + })); + create_script("execOrder-dynamicOrdered2.js", { asyncOrdered: true, module: false }); + create_script("execOrder-dynamicOrdered3.js", { asyncOrdered: true, module: true }); + create_script("execOrder-dynamicOrdered4.js", { asyncOrdered: true, module: false }); + test_dynamicOrdered.step(function() { + assert_execCount(1, 1, "Inline untyped script element should have fired first"); + }); + ///// + // End test_dynamicOrdered + ///// + + </script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-a.js b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-a.js new file mode 100644 index 0000000..2d16783d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-a.js
@@ -0,0 +1,2 @@ +var A = { "from": "imports-a.js" }; +export { A };
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-b.js b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-b.js new file mode 100644 index 0000000..ae194e4 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-b.js
@@ -0,0 +1 @@ +export var B = { "from": "imports-b.js" };
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-cycle-a.js b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-cycle-a.js new file mode 100644 index 0000000..8bd8526 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-cycle-a.js
@@ -0,0 +1,2 @@ +import { CycleB } from "./imports-cycle-b.js"; +export var CycleA = "CycleA";
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-cycle-b.js b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-cycle-b.js new file mode 100644 index 0000000..218f350 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-cycle-b.js
@@ -0,0 +1,2 @@ +import { CycleA } from "./imports-cycle-a.js"; +export var CycleB = "CycleB";
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-cycle.js b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-cycle.js new file mode 100644 index 0000000..9f452e4 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-cycle.js
@@ -0,0 +1,5 @@ +import { CycleA } from "./imports-cycle-a.js"; + +test_importCycle.step(function () { + assert_unreached("This module should not have loaded!"); +});
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-inc-a.js b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-inc-a.js new file mode 100644 index 0000000..8cb2298e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-inc-a.js
@@ -0,0 +1,2 @@ +import { A } from "./imports-a.js"; +export { A as INC_A };
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-inc-ab.js b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-inc-ab.js new file mode 100644 index 0000000..b7d8400 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-inc-ab.js
@@ -0,0 +1,5 @@ +import { A } from "./imports-a.js"; +export { A as INC_AB_A }; + +import { B } from "./imports-b.js"; +export { B as INC_AB_B };
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-inc-b.js b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-inc-b.js new file mode 100644 index 0000000..243b84f --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-inc-b.js
@@ -0,0 +1,2 @@ +import { B } from "./imports-b.js"; +export { B as INC_B }; \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-self-inner.js b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-self-inner.js new file mode 100644 index 0000000..40eca1c --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-self-inner.js
@@ -0,0 +1,2 @@ +import { SelfInner as SelfInnerA } from "./imports-self-inner.js"; +export var SelfInner = "SelfInner";
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-self.js b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-self.js new file mode 100644 index 0000000..32eb7b6 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports-self.js
@@ -0,0 +1,5 @@ +import { SelfInner } from "./imports-self-inner.js"; + +test_importSelf.step(function () { + assert_unreached("This module should not have loaded!"); +});
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports.html new file mode 100644 index 0000000..91a0fd35 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/imports.html
@@ -0,0 +1,64 @@ +<!DOCTYPE html> +<html> +<head> + <title>html-script-module-imports</title> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> +</head> +<body> + <h1>html-script-module-imports</h1> + + <script type="module"> + + import { A } from "./imports-a.js"; + + test(function () { + assert_equals(A.from, "imports-a.js", "Unexpected A"); + }, "Import a simple module"); + + </script> + <script type="module"> + + import { B as B_RENAMED } from "./imports-b.js"; + + test(function () { + assert_equals(B_RENAMED.from, "imports-b.js", "Unexpected B_RENAMED"); + + try + { + B; + assert_unreached("Unexpectedly defined B"); + } + catch (ex) + {} + }, "Import a simple module, renamed"); + + </script> + <script type="module"> + + import { INC_A } from "./imports-inc-a.js"; + import { INC_B } from "./imports-inc-b.js"; + import { INC_AB_A, INC_AB_B } from "./imports-inc-ab.js"; + + test(function () { + assert_equals(INC_A.from, "imports-a.js", "Unexpected INC_A"); + assert_equals(INC_B.from, "imports-b.js", "Unexpected INC_A"); + assert_equals(INC_AB_A.from, "imports-a.js", "Unexpected INC_A"); + assert_equals(INC_AB_B.from, "imports-b.js", "Unexpected INC_A"); + assert_equals(INC_A, INC_AB_A, "INC_A and INC_AB_A should be the same"); + assert_equals(INC_B, INC_AB_B, "INC_B and INC_AB_B should be the same"); + }, "Import the same module multiple times"); + + </script> + + <script> + var test_importSelf = async_test("Import a module that tries to import itself"); + </script> + <script type="module" src="imports-self.js" onerror="test_importSelf.done();"></script> + + <script> + var test_importCycle = async_test("Import a module with a cyclical module dependency"); + </script> + <script type="module" src="imports-cycle.js" onerror="test_importCycle.done();"></script> +</body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-basic.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-basic.html new file mode 100644 index 0000000..7335122 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-basic.html
@@ -0,0 +1,18 @@ +<!doctype html> +<title>Origin check in document.open() - Basic usage</title> +<link rel="author" title="Jochen Eisinger" href="mailto:jochen@chromium.org"> +<link rel="help" href="https://html.spec.whatwg.org/multipage/#opening-the-input-stream"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/html/resources/common.js"></script> +<body> +<script> +testInIFrame(undefined, (ctx) => { + try { + ctx.iframes[0].contentDocument.open(); + } catch (e) { + assert_unreached("Opening a same origin document throws"); + } +}, "It should be possible to open same origin documents."); +</script> +</body>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-same-origin-domain.sub.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-same-origin-domain.sub.html new file mode 100644 index 0000000..d2f4e4023 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-same-origin-domain.sub.html
@@ -0,0 +1,16 @@ +<!doctype html> +<title>Origin check in document.open() - same origin-domain (but not same origin) documents</title> +<link rel="author" title="Jochen Eisinger" href="mailto:jochen@chromium.org"> +<link rel="help" href="https://html.spec.whatwg.org/multipage/#opening-the-input-stream"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/html/resources/common.js"></script> +<body> +<script> +testInIFrame("http://{{host}}:{{ports[http][1]}}/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/set-document-domain.html", (ctx) => { + document.domain = document.domain; + var doc = ctx.iframes[0].contentDocument; + assert_throws("SecurityError", doc.open.bind(doc), "Opening a same origin-domain (but not same origin) document doesn't throw."); +}, "It should not be possible to open same origin-domain (but not same origin) documents."); +</script> +</body>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/set-document-domain.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/set-document-domain.html new file mode 100644 index 0000000..a92a7ae3 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/set-document-domain.html
@@ -0,0 +1,4 @@ +<!doctype html> +<script> +document.domain = document.domain; +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/idle-callbacks/callback-suspended.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/idle-callbacks/callback-suspended.html new file mode 100644 index 0000000..6040de9 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/idle-callbacks/callback-suspended.html
@@ -0,0 +1,93 @@ +<!doctype html> +<meta charset=utf-8> +<title>Dispatching idle callbacks should be able to be suspended and then resumed</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<div id="log"></div> +<script> + function withEventListener(target, event, handler) { + handler = handler || (e => e); + return new Promise(resolve => { + let wrapper = function(e) { + let result = handler(e); + if (!result) { + return; + } + + resolve(result); + } + target.addEventListener(event, wrapper, { once: true }); + }); + } + + function makePostBackUrl(name) { + return new URL('resources/post_name_on_load.html?name=' + name, + window.location).href; + } + + function waitForMessage(message, handler) { + return withEventListener(window, 'message', e => (e.data === message) && handler(e));; + } + + function withWindow(name) { + let win = window.open(makePostBackUrl(name)) + return waitForMessage(name, _ => win); + } + + function navigateWindow(win, name) { + win.location = makePostBackUrl(name); + return waitForMessage(name, _ => win); + } + + function waitDuration(delay) { + return new Promise(resolve => { + setTimeout(resolve, delay); + }) + } + + function goBack(win) { + var p = withEventListener(win, 'pagehide'); + win.history.back(); + return p; + } + + promise_test(t => { + let idleCalled = false; + let running = true; + return withWindow('foo') + .then(win => { + let callback = function(d) { + idleCalled = true; + if (running) { + win.requestIdleCallback(callback); + } + }; + + win.requestIdleCallback(callback); + + return navigateWindow(win, 'bar') + .then(_ => idleCalled = false) + .then(_ => waitDuration(2000)) + .then(_ => { + assert_false(idleCalled, "idle callback shouldn't have been called yet"); + return goBack(win); + }) + .then(_ => Promise.race([ + // At this point it's a matter of having bfcache ... + waitDuration(2000) + .then(_ => { + assert_true(idleCalled, "idle callback should've been called by now"); + running = false; + }), + // ... or not. If not, we expect a load event. + waitForMessage("foo") + ])) + .then(_ => win.close()) + .catch(e => { + win.close(); + throw e; + }) + }); + }); + +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/idle-callbacks/cancel-invoked.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/idle-callbacks/cancel-invoked.html index 8956b870..9fb77d6 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/idle-callbacks/cancel-invoked.html +++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/idle-callbacks/cancel-invoked.html
@@ -23,4 +23,10 @@ t.done(); }, 2000); }, "A cancelled callback is never invoked"); + + async_test(function (t) { + var handle = requestIdleCallback(t.step_func_done(function () { + cancelIdleCallback(handle); + })); + }, "Cancelling the currently executing idle callback should be allowed"); </script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/idle-callbacks/resources/post_name_on_load.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/idle-callbacks/resources/post_name_on_load.html new file mode 100644 index 0000000..4679a6e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/idle-callbacks/resources/post_name_on_load.html
@@ -0,0 +1,7 @@ +<!doctype html> +<script> + addEventListener('load', _ => { + let params = new URLSearchParams(window.location.search); + window.opener.postMessage(params.get('name'), '*'); + }); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/events/body-exposed-window-event-handlers.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/events/body-exposed-window-event-handlers.html index 0bd26dc..e4f00b86 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/events/body-exposed-window-event-handlers.html +++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/events/body-exposed-window-event-handlers.html
@@ -2,7 +2,6 @@ <meta charset="utf-8"> <title></title> <body></body> -<script src="https://code.jquery.com/jquery-1.10.2.js"></script> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/events/event-handler-processing-algorithm-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/events/event-handler-processing-algorithm-expected.txt index 4a419e1..98d71d5 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/events/event-handler-processing-algorithm-expected.txt +++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/events/event-handler-processing-algorithm-expected.txt
@@ -1,8 +1,6 @@ This is a testharness.js-based test. FAIL mouseover listener returning true cancels event assert_equals: expected true but got false FAIL mouseover listener returning false doesn't cancel event assert_equals: expected false but got true -FAIL beforeunload listener returning null cancels event assert_equals: expected true but got false -PASS beforeunload listener returning non-null doesn't cancel event PASS click listener returning false cancels event PASS blur listener returning false cancels event PASS dblclick listener returning false cancels event
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/events/event-handler-processing-algorithm.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/events/event-handler-processing-algorithm.html index f3848b5..0a9403e 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/events/event-handler-processing-algorithm.html +++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/events/event-handler-processing-algorithm.html
@@ -21,21 +21,7 @@ t.done(); }, "mouseover listener returning false doesn't cancel event"); - async_test(function(t) { - var ev = new Event('beforeunload', {cancelable: true}); - window.onbeforeunload = t.step_func(function() {return null}); - window.dispatchEvent(ev); - assert_equals(ev.defaultPrevented, true); - t.done(); - }, "beforeunload listener returning null cancels event"); - - async_test(function(t) { - var ev = new Event('beforeunload', {cancelable: true}); - window.onbeforeunload = t.step_func(function() {return true}); - window.dispatchEvent(ev); - assert_equals(ev.defaultPrevented, false); - t.done(); - }, "beforeunload listener returning non-null doesn't cancel event"); + // beforeunload is tested in html/browsers/browsing-the-web/unloading-documents/beforeunload-canceling.html async_test(function(t) { var ev = new Event("click", {cancelable: true});
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/allow-crossorigin.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/allow-crossorigin.html new file mode 100644 index 0000000..75246041 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/allow-crossorigin.html
@@ -0,0 +1,30 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/cors/support.js?pipe=sub"></script> +<link rel="help" href="https://html.spec.whatwg.org/#unhandled-promise-rejections"> +<link rel="help" href="https://html.spec.whatwg.org/#muted-errors"> + +<body> +<script> +'use strict'; +setup({ + allow_uncaught_exception: true +}); + +async_test(function(t) { + addEventListener('unhandledrejection', t.step_func(function(e) { + assert_equals(e.reason, 42, 'reason should be the one given by the script'); + t.done(); + })); +}, 'Promise rejection event should be received for the cross-origin CORS script'); + +(function() { + var scriptEl = document.createElement('script'); + scriptEl.src = CROSSDOMAIN + 'support/promise-access-control.py?allow=true'; + scriptEl.crossOrigin = 'anonymous'; + document.body.appendChild(scriptEl); +}()); +</script> +</body>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/disallow-crossorigin.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/disallow-crossorigin.html new file mode 100644 index 0000000..627a2f3 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/disallow-crossorigin.html
@@ -0,0 +1,34 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/cors/support.js?pipe=sub"></script> +<link rel="help" href="https://html.spec.whatwg.org/#unhandled-promise-rejections"> +<link rel="help" href="https://html.spec.whatwg.org/#muted-errors"> + +<body> +<script> +'use strict'; + +(function() { + var resolveLoaded; + var loadedPromise = new Promise(function(resolve) { resolveLoaded = resolve; }); + + async_test(function(t) { + addEventListener('unhandledrejection', t.unreached_func('unhandledrejection event should never be triggered')); + addEventListener('rejectionhandled', t.unreached_func('rejectionhandled event should never be triggered')); + + loadedPromise.then(t.step_func(function() { + t.step_timeout(function() { + t.done(); + }, 1000); + })); + }, 'Promise rejection event should be muted for cross-origin non-CORS script'); + + var scriptEl = document.createElement('script'); + scriptEl.src = CROSSDOMAIN + 'support/promise-access-control.py?allow=false'; + scriptEl.onload = resolveLoaded; + document.body.appendChild(scriptEl); +}()); +</script> +</body>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-event-constructor.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-event-constructor.html new file mode 100644 index 0000000..109b10ead --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-event-constructor.html
@@ -0,0 +1,44 @@ +<!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/#the-promiserejectionevent-interface"> +<script> +'use strict'; + +test(function() { + var p = new Promise(function(resolve, reject) {}); + + // No custom options are passed (besides required promise). + assert_equals(new PromiseRejectionEvent('eventType', { promise: p }).bubbles, false); + assert_equals(new PromiseRejectionEvent('eventType', { promise: p }).cancelable, false); + assert_equals(new PromiseRejectionEvent('eventType', { promise: p }).promise, p); + assert_equals(new PromiseRejectionEvent('eventType', { promise: p }).reason, undefined); + + // No promise is passed. + assert_throws(new TypeError(), + function() { + new PromiseRejectionEvent('eventType', { bubbles: false }); + }, + 'Cannot construct PromiseRejectionEventInit without promise'); + + // bubbles is passed. + assert_equals(new PromiseRejectionEvent('eventType', { bubbles: false, promise: p }).bubbles, false); + assert_equals(new PromiseRejectionEvent('eventType', { bubbles: true, promise: p }).bubbles, true); + + // cancelable is passed. + assert_equals(new PromiseRejectionEvent('eventType', { cancelable: false, promise: p }).cancelable, false); + assert_equals(new PromiseRejectionEvent('eventType', { cancelable: true, promise: p }).cancelable, true); + + // reason is passed. + var r = new Error(); + assert_equals(new PromiseRejectionEvent('eventType', { promise: p, reason: r }).reason, r); + + + // All initializers are passed. + assert_equals(new PromiseRejectionEvent('eventType', { bubbles: true, cancelable: true, promise: p, reason: r }).bubbles, true); + assert_equals(new PromiseRejectionEvent('eventType', { bubbles: true, cancelable: true, promise: p, reason: r }).cancelable, true); + assert_equals(new PromiseRejectionEvent('eventType', { bubbles: true, cancelable: true, promise: p, reason: r }).promise, p); + assert_equals(new PromiseRejectionEvent('eventType', { bubbles: true, cancelable: true, promise: p, reason: r }).reason, r); +}, "This tests the constructor for the PromiseRejectionEvent DOM class."); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events-attached-in-event.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events-attached-in-event.html new file mode 100644 index 0000000..b151bd8 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events-attached-in-event.html
@@ -0,0 +1,31 @@ +<!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/#unhandled-promise-rejections"> +<script> +'use strict'; +setup({ + allow_uncaught_exception: true +}); +async_test(function(t) { + var e = new Error('e'); + var p = Promise.reject(e); + + window.onunhandledrejection = function(evt) { + t.step(function() { + assert_equals(evt.promise, p); + assert_equals(evt.reason, e); + }); + var unreached = t.unreached_func('promise should not be fulfilled'); + p.then(unreached, function(reason) { + t.step(function() { + assert_equals(reason, e); + }); + t.step_timeout(function() { t.done(); }, 10); + }); + }; + + window.onrejectionhandled = t.unreached_func('rejectionhandled event should not be invoked'); +}, 'Attaching a handler in unhandledrejection should not trigger rejectionhandled.'); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events-onerror.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events-onerror.html new file mode 100644 index 0000000..386af169 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events-onerror.html
@@ -0,0 +1,35 @@ +<!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/#runtime-script-errors"> +<link rel="help" href="https://html.spec.whatwg.org/#unhandled-promise-rejections"> +<script> +'use strict'; +setup({ + allow_uncaught_exception: true +}); +async_test(function(t) { + var e = new Error('e'); + var e2 = new Error('e2'); + + window.onerror = function (msg, url, line, col, error) { + t.step(function() { + assert_equals(msg, 'Uncaught Error: e2'); + assert_equals(error, e2); + }); + t.done(); + }; + + window.onrejectionhandled = function() { + // This should cause onerror + throw e2; + }; + + var p = Promise.reject(e); + setTimeout(t.step_func(function() { + // This will cause onrejectionhandled + p.catch(function() {}); + }), 1); +}, 'Throwing inside an unhandledrejection handler invokes the error handler.'); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.dedicatedworker.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.dedicatedworker.html new file mode 100644 index 0000000..b6a4a9f --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.dedicatedworker.html
@@ -0,0 +1,11 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Promise rejection events tests: in a dedicated worker context</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<link rel="help" href="https://html.spec.whatwg.org/#unhandled-promise-rejections"> + +<script> +'use strict'; +fetch_tests_from_worker(new Worker('support/promise-rejection-events.js')); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html new file mode 100644 index 0000000..2fdfe26 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html
@@ -0,0 +1,8 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Promise rejection events tests: in a Window context</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<link rel="help" href="https://html.spec.whatwg.org/#unhandled-promise-rejections"> + +<script src="support/promise-rejection-events.js"></script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.serviceworker.https.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.serviceworker.https.html new file mode 100644 index 0000000..9d12125 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.serviceworker.https.html
@@ -0,0 +1,12 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Promise rejection events tests: in a service worker context</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/service-workers/service-worker/resources/test-helpers.sub.js"></script> +<link rel="help" href="https://html.spec.whatwg.org/#unhandled-promise-rejections"> + +<script> +'use strict'; +service_worker_test('support/promise-rejection-events.js', 'Service worker setup'); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.sharedworker.html b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.sharedworker.html new file mode 100644 index 0000000..d832d182 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.sharedworker.html
@@ -0,0 +1,11 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>Promise rejection events tests: in a shared worker context</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<link rel="help" href="https://html.spec.whatwg.org/#unhandled-promise-rejections"> + +<script> +'use strict'; +fetch_tests_from_worker(new SharedWorker('support/promise-rejection-events.js')); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/support/promise-access-control.py b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/support/promise-access-control.py new file mode 100644 index 0000000..3e897bc --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/support/promise-access-control.py
@@ -0,0 +1,10 @@ +def main(request, response): + allow = request.GET.first("allow", "false") + + headers = [("Content-Type", "application/javascript")] + if allow != "false": + headers.append(("Access-Control-Allow-Origin", "*")) + + body = "new Promise(function(resolve, reject) { reject(42); })" + + return headers, body
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/support/promise-rejection-events.js b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/support/promise-rejection-events.js new file mode 100644 index 0000000..0de39f6 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/support/promise-rejection-events.js
@@ -0,0 +1,900 @@ +'use strict'; + +if (self.importScripts) { + importScripts('/resources/testharness.js'); +} + +setup({ + allow_uncaught_exception: true +}); + +// +// Straightforward unhandledrejection tests +// +async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledSucceed(t, e, function() { return p; }); + + p = Promise.reject(e); +}, 'unhandledrejection: from Promise.reject'); + +async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledSucceed(t, e, function() { return p; }); + + p = new Promise(function(_, reject) { + reject(e); + }); +}, 'unhandledrejection: from a synchronous rejection in new Promise'); + +async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledSucceed(t, e, function() { return p; }); + + p = new Promise(function(_, reject) { + postMessageTask(function() { + reject(e); + }); + }); +}, 'unhandledrejection: from a task-delayed rejection'); + +async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledSucceed(t, e, function() { return p; }); + + p = new Promise(function(_, reject) { + setTimeout(function() { + reject(e); + }, 1); + }); +}, 'unhandledrejection: from a setTimeout-delayed rejection'); + +async_test(function(t) { + var e = new Error(); + var e2 = new Error(); + var promise2; + + onUnhandledSucceed(t, e2, function() { return promise2; }); + + var unreached = t.unreached_func('promise should not be fulfilled'); + promise2 = Promise.reject(e).then(unreached, function(reason) { + t.step(function() { + assert_equals(reason, e); + }); + throw e2; + }); +}, 'unhandledrejection: from a throw in a rejection handler chained off of Promise.reject'); + +async_test(function(t) { + var e = new Error(); + var e2 = new Error(); + var promise2; + + onUnhandledSucceed(t, e2, function() { return promise2; }); + + var unreached = t.unreached_func('promise should not be fulfilled'); + promise2 = new Promise(function(_, reject) { + setTimeout(function() { + reject(e); + }, 1); + }).then(unreached, function(reason) { + t.step(function() { + assert_equals(reason, e); + }); + throw e2; + }); +}, 'unhandledrejection: from a throw in a rejection handler chained off of a setTimeout-delayed rejection'); + +async_test(function(t) { + var e = new Error(); + var e2 = new Error(); + var promise2; + + onUnhandledSucceed(t, e2, function() { return promise2; }); + + var promise = new Promise(function(_, reject) { + setTimeout(function() { + reject(e); + mutationObserverMicrotask(function() { + var unreached = t.unreached_func('promise should not be fulfilled'); + promise2 = promise.then(unreached, function(reason) { + t.step(function() { + assert_equals(reason, e); + }); + throw e2; + }); + }); + }, 1); + }); +}, 'unhandledrejection: from a throw in a rejection handler attached one microtask after a setTimeout-delayed rejection'); + +async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledSucceed(t, e, function() { return p; }); + + p = Promise.resolve().then(function() { + return Promise.reject(e); + }); +}, 'unhandledrejection: from returning a Promise.reject-created rejection in a fulfillment handler'); + +async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledSucceed(t, e, function() { return p; }); + + p = Promise.resolve().then(function() { + throw e; + }); +}, 'unhandledrejection: from a throw in a fulfillment handler'); + +async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledSucceed(t, e, function() { return p; }); + + p = Promise.resolve().then(function() { + return new Promise(function(_, reject) { + setTimeout(function() { + reject(e); + }, 1); + }); + }); +}, 'unhandledrejection: from returning a setTimeout-delayed rejection in a fulfillment handler'); + +async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledSucceed(t, e, function() { return p; }); + + p = Promise.all([Promise.reject(e)]); +}, 'unhandledrejection: from Promise.reject, indirected through Promise.all'); + +// +// Negative unhandledrejection/rejectionhandled tests with immediate attachment +// + +async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledFail(t, function() { return p; }); + + var unreached = t.unreached_func('promise should not be fulfilled'); + p = Promise.reject(e).then(unreached, function() {}); +}, 'no unhandledrejection/rejectionhandled: rejection handler attached synchronously to a promise from Promise.reject'); + +async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledFail(t, function() { return p; }); + + var unreached = t.unreached_func('promise should not be fulfilled'); + p = Promise.all([Promise.reject(e)]).then(unreached, function() {}); +}, 'no unhandledrejection/rejectionhandled: rejection handler attached synchronously to a promise from ' + + 'Promise.reject, indirecting through Promise.all'); + +async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledFail(t, function() { return p; }); + + var unreached = t.unreached_func('promise should not be fulfilled'); + p = new Promise(function(_, reject) { + reject(e); + }).then(unreached, function() {}); +}, 'no unhandledrejection/rejectionhandled: rejection handler attached synchronously to a synchronously-rejected ' + + 'promise created with new Promise'); + +async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledFail(t, function() { return p; }); + + var unreached = t.unreached_func('promise should not be fulfilled'); + p = Promise.resolve().then(function() { + throw e; + }).then(unreached, function(reason) { + t.step(function() { + assert_equals(reason, e); + }); + }); +}, 'no unhandledrejection/rejectionhandled: rejection handler attached synchronously to a promise created from ' + + 'throwing in a fulfillment handler'); + +async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledFail(t, function() { return p; }); + + var unreached = t.unreached_func('promise should not be fulfilled'); + p = Promise.resolve().then(function() { + return Promise.reject(e); + }).then(unreached, function(reason) { + t.step(function() { + assert_equals(reason, e); + }); + }); +}, 'no unhandledrejection/rejectionhandled: rejection handler attached synchronously to a promise created from ' + + 'returning a Promise.reject-created promise in a fulfillment handler'); + +async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledFail(t, function() { return p; }); + + var unreached = t.unreached_func('promise should not be fulfilled'); + p = Promise.resolve().then(function() { + return new Promise(function(_, reject) { + setTimeout(function() { + reject(e); + }, 1); + }); + }).then(unreached, function(reason) { + t.step(function() { + assert_equals(reason, e); + }); + }); +}, 'no unhandledrejection/rejectionhandled: rejection handler attached synchronously to a promise created from ' + + 'returning a setTimeout-delayed rejection in a fulfillment handler'); + +async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledFail(t, function() { return p; }); + + postMessageTask(function() { + p = Promise.resolve().then(function() { + return Promise.reject(e); + }) + .catch(function() {}); + }); +}, 'no unhandledrejection/rejectionhandled: all inside a queued task, a rejection handler attached synchronously to ' + + 'a promise created from returning a Promise.reject-created promise in a fulfillment handler'); + +// +// Negative unhandledrejection/rejectionhandled tests with microtask-delayed attachment +// + +async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledFail(t, function() { return p; }); + + p = Promise.reject(e); + mutationObserverMicrotask(function() { + var unreached = t.unreached_func('promise should not be fulfilled'); + p.then(unreached, function() {}); + }); +}, 'delayed handling: a microtask delay before attaching a handler prevents both events (Promise.reject-created ' + + 'promise)'); + +async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledFail(t, function() { return p; }); + + p = new Promise(function(_, reject) { + reject(e); + }); + mutationObserverMicrotask(function() { + var unreached = t.unreached_func('promise should not be fulfilled'); + p.then(unreached, function() {}); + }); +}, 'delayed handling: a microtask delay before attaching a handler prevents both events (immediately-rejected new ' + + 'Promise-created promise)'); + +async_test(function(t) { + var e = new Error(); + var p1; + var p2; + + onUnhandledFail(t, function() { return p1; }); + onUnhandledFail(t, function() { return p2; }); + + p1 = new Promise(function(_, reject) { + mutationObserverMicrotask(function() { + reject(e); + }); + }); + p2 = Promise.all([p1]); + mutationObserverMicrotask(function() { + var unreached = t.unreached_func('promise should not be fulfilled'); + p2.then(unreached, function() {}); + }); +}, 'delayed handling: a microtask delay before attaching the handler, and before rejecting the promise, indirected ' + + 'through Promise.all'); + +// +// Negative unhandledrejection/rejectionhandled tests with nested-microtask-delayed attachment +// + +async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledFail(t, function() { return p; }); + + p = Promise.reject(e); + mutationObserverMicrotask(function() { + Promise.resolve().then(function() { + mutationObserverMicrotask(function() { + Promise.resolve().then(function() { + p.catch(function() {}); + }); + }); + }); + }); +}, 'microtask nesting: attaching a handler inside a combination of mutationObserverMicrotask + promise microtasks'); + +async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledFail(t, function() { return p; }); + + postMessageTask(function() { + p = Promise.reject(e); + mutationObserverMicrotask(function() { + Promise.resolve().then(function() { + mutationObserverMicrotask(function() { + Promise.resolve().then(function() { + p.catch(function() {}); + }); + }); + }); + }); + }); +}, 'microtask nesting: attaching a handler inside a combination of mutationObserverMicrotask + promise microtasks, ' + + 'all inside a postMessageTask'); + +async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledFail(t, function() { return p; }); + + setTimeout(function() { + p = Promise.reject(e); + mutationObserverMicrotask(function() { + Promise.resolve().then(function() { + mutationObserverMicrotask(function() { + Promise.resolve().then(function() { + p.catch(function() {}); + }); + }); + }); + }); + }, 0); +}, 'microtask nesting: attaching a handler inside a combination of mutationObserverMicrotask + promise microtasks, ' + + 'all inside a setTimeout'); + +async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledFail(t, function() { return p; }); + + p = Promise.reject(e); + Promise.resolve().then(function() { + mutationObserverMicrotask(function() { + Promise.resolve().then(function() { + mutationObserverMicrotask(function() { + p.catch(function() {}); + }); + }); + }); + }); +}, 'microtask nesting: attaching a handler inside a combination of promise microtasks + mutationObserverMicrotask'); + +async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledFail(t, function() { return p; }); + + postMessageTask(function() { + p = Promise.reject(e); + Promise.resolve().then(function() { + mutationObserverMicrotask(function() { + Promise.resolve().then(function() { + mutationObserverMicrotask(function() { + p.catch(function() {}); + }); + }); + }); + }); + }); +}, 'microtask nesting: attaching a handler inside a combination of promise microtasks + mutationObserverMicrotask, ' + + 'all inside a postMessageTask'); + +async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledFail(t, function() { return p; }); + + setTimeout(function() { + p = Promise.reject(e); + Promise.resolve().then(function() { + mutationObserverMicrotask(function() { + Promise.resolve().then(function() { + mutationObserverMicrotask(function() { + p.catch(function() {}); + }); + }); + }); + }); + }, 0); +}, 'microtask nesting: attaching a handler inside a combination of promise microtasks + mutationObserverMicrotask, ' + + 'all inside a setTimeout'); + + +// For workers, postMessageTask() involves posting tasks to other threads, so +// the following tests don't work there. + +if ('document' in self) { + // + // Negative unhandledrejection/rejectionhandled tests with task-delayed attachment + // + + async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledFail(t, function() { return p; }); + + var _reject; + p = new Promise(function(_, reject) { + _reject = reject; + }); + _reject(e); + postMessageTask(function() { + var unreached = t.unreached_func('promise should not be fulfilled'); + p.then(unreached, function() {}); + }); + }, 'delayed handling: a task delay before attaching a handler prevents unhandledrejection'); + + async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledFail(t, function() { return p; }); + + p = Promise.reject(e); + postMessageTask(function() { + Promise.resolve().then(function() { + p.catch(function() {}); + }); + }); + }, 'delayed handling: postMessageTask after promise creation/rejection, plus promise microtasks, is not too late to ' + + 'attach a rejection handler'); + + async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledFail(t, function() { return p; }); + + postMessageTask(function() { + Promise.resolve().then(function() { + Promise.resolve().then(function() { + Promise.resolve().then(function() { + Promise.resolve().then(function() { + p.catch(function() {}); + }); + }); + }); + }); + }); + p = Promise.reject(e); + }, 'delayed handling: postMessageTask before promise creation/rejection, plus many promise microtasks, is not too ' + + 'late to attach a rejection handler'); + + async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledFail(t, function() { return p; }); + + p = Promise.reject(e); + postMessageTask(function() { + Promise.resolve().then(function() { + Promise.resolve().then(function() { + Promise.resolve().then(function() { + Promise.resolve().then(function() { + p.catch(function() {}); + }); + }); + }); + }); + }); + }, 'delayed handling: postMessageTask after promise creation/rejection, plus many promise microtasks, is not too ' + + 'late to attach a rejection handler'); +} + +// +// Positive unhandledrejection/rejectionhandled tests with delayed attachment +// + +async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledSucceed(t, e, function() { return p; }); + + var _reject; + p = new Promise(function(_, reject) { + _reject = reject; + }); + _reject(e); + postMessageTask(function() { + postMessageTask(function() { + var unreached = t.unreached_func('promise should not be fulfilled'); + p.then(unreached, function() {}); + }); + }); +}, 'delayed handling: a nested-task delay before attaching a handler causes unhandledrejection'); + +async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledSucceed(t, e, function() { return p; }); + + p = Promise.reject(e); + postMessageTask(function() { + postMessageTask(function() { + Promise.resolve().then(function() { + p.catch(function() {}); + }); + }); + }); +}, 'delayed handling: a nested-postMessageTask after promise creation/rejection, plus promise microtasks, is too ' + + 'late to attach a rejection handler'); + +async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledSucceed(t, e, function() { return p; }); + + postMessageTask(function() { + postMessageTask(function() { + Promise.resolve().then(function() { + Promise.resolve().then(function() { + Promise.resolve().then(function() { + Promise.resolve().then(function() { + p.catch(function() {}); + }); + }); + }); + }); + }); + }); + p = Promise.reject(e); +}, 'delayed handling: a nested-postMessageTask before promise creation/rejection, plus many promise microtasks, is ' + + 'too late to attach a rejection handler'); + +async_test(function(t) { + var e = new Error(); + var p; + + onUnhandledSucceed(t, e, function() { return p; }); + + p = Promise.reject(e); + postMessageTask(function() { + postMessageTask(function() { + Promise.resolve().then(function() { + Promise.resolve().then(function() { + Promise.resolve().then(function() { + Promise.resolve().then(function() { + p.catch(function() {}); + }); + }); + }); + }); + }); + }); +}, 'delayed handling: a nested-postMessageTask after promise creation/rejection, plus many promise microtasks, is ' + + 'too late to attach a rejection handler'); + +async_test(function(t) { + var unhandledPromises = []; + var unhandledReasons = []; + var e = new Error(); + var p; + + var unhandled = function(ev) { + if (ev.promise === p) { + t.step(function() { + unhandledPromises.push(ev.promise); + unhandledReasons.push(ev.reason); + }); + } + }; + var handled = function(ev) { + if (ev.promise === p) { + t.step(function() { + assert_array_equals(unhandledPromises, [p]); + assert_array_equals(unhandledReasons, [e]); + assert_equals(ev.promise, p); + assert_equals(ev.reason, e); + }); + } + }; + addEventListener('unhandledrejection', unhandled); + addEventListener('rejectionhandled', handled); + ensureCleanup(t, unhandled, handled); + + p = new Promise(function() { + throw e; + }); + setTimeout(function() { + var unreached = t.unreached_func('promise should not be fulfilled'); + p.then(unreached, function(reason) { + assert_equals(reason, e); + setTimeout(function() { t.done(); }, 10); + }); + }, 10); +}, 'delayed handling: delaying handling by setTimeout(,10) will cause both events to fire'); + +// +// Miscellaneous tests about integration with the rest of the platform +// + +async_test(function(t) { + var e = new Error(); + var l = function(ev) { + var order = []; + mutationObserverMicrotask(function() { + order.push(1); + }); + setTimeout(function() { + order.push(2); + t.step(function() { + assert_array_equals(order, [1, 2]); + }); + t.done(); + }, 1); + }; + addEventListener('unhandledrejection', l); + ensureCleanup(t, l); + Promise.reject(e); +}, 'mutationObserverMicrotask vs. postMessageTask ordering is not disturbed inside unhandledrejection events'); + +// For workers, postMessageTask() involves posting tasks to other threads, so +// the following tests don't work there. + +if ('document' in self) { + + // For the next two see https://github.com/domenic/unhandled-rejections-browser-spec/issues/2#issuecomment-121121695 + // and the following comments. + + async_test(function(t) { + var sequenceOfEvents = []; + + addEventListener('unhandledrejection', l); + ensureCleanup(t, l); + + var p1 = Promise.reject(); + var p2; + postMessageTask(function() { + p2 = Promise.reject(); + postMessageTask(function() { + sequenceOfEvents.push('postMessageTask'); + checkSequence(); + }); + }); + + function l(ev) { + if (ev.promise === p1 || ev.promise === p2) { + sequenceOfEvents.push(ev.promise); + checkSequence(); + } + } + + function checkSequence() { + if (sequenceOfEvents.length === 3) { + t.step(function() { + assert_array_equals(sequenceOfEvents, [p1, 'postMessageTask', p2]); + }); + t.done(); + } + } + }, 'postMessageTask ordering vs. the task queued for unhandled rejection notification (1)'); + + async_test(function(t) { + var sequenceOfEvents = []; + + addEventListener('unhandledrejection', l); + ensureCleanup(t, l); + + var p2; + postMessageTask(function() { + p2 = Promise.reject(); + postMessageTask(function() { + sequenceOfEvents.push('postMessageTask'); + checkSequence(); + }); + }); + + function l(ev) { + if (ev.promise == p2) { + sequenceOfEvents.push(ev.promise); + checkSequence(); + } + } + + function checkSequence() { + if (sequenceOfEvents.length === 2) { + t.step(function() { + assert_array_equals(sequenceOfEvents, ['postMessageTask', p2]); + }); + t.done(); + } + } + }, 'postMessageTask ordering vs. the task queued for unhandled rejection notification (2)'); + + async_test(function(t) { + var sequenceOfEvents = []; + + + addEventListener('unhandledrejection', unhandled); + addEventListener('rejectionhandled', handled); + ensureCleanup(t, unhandled, handled); + + var p = Promise.reject(); + + setTimeout(function() { + postMessageTask(function() { + sequenceOfEvents.push('task before catch'); + checkSequence(); + }); + + p.catch(function() { + sequenceOfEvents.push('catch'); + checkSequence(); + }); + + postMessageTask(function() { + sequenceOfEvents.push('task after catch'); + checkSequence(); + }); + + sequenceOfEvents.push('after catch'); + checkSequence(); + }, 10); + + function unhandled(ev) { + if (ev.promise === p) { + sequenceOfEvents.push('unhandled'); + checkSequence(); + } + } + + function handled(ev) { + if (ev.promise === p) { + sequenceOfEvents.push('handled'); + checkSequence(); + } + } + + function checkSequence() { + if (sequenceOfEvents.length === 6) { + t.step(function() { + assert_array_equals(sequenceOfEvents, + ['unhandled', 'after catch', 'catch', 'task before catch', 'handled', 'task after catch']); + }); + t.done(); + } + } + }, 'rejectionhandled is dispatched from a queued task, and not immediately'); +} + +// +// HELPERS +// + +var globalPostMessageCounter = 0; + +function postMessageTask(f) { + if ('document' in self) { + var message = 'abusingpostmessageforfunandprofit' + globalPostMessageCounter; + globalPostMessageCounter++; + var l = function(ev) { + if (ev.data === message) { + removeEventListener('message', l); + f(); + } + }; + addEventListener('message', l); + postMessage(message, '*'); + } else { + var channel = new MessageChannel(); + channel.port1.onmessage = function() { channel.port1.close(); f(); }; + channel.port2.postMessage('abusingpostmessageforfunandprofit'); + channel.port2.close(); + } +} + +function mutationObserverMicrotask(f) { + if ('document' in self) { + var observer = new MutationObserver(function() { f(); }); + var node = document.createTextNode(''); + observer.observe(node, { characterData: true }); + node.data = 'foo'; + } else { + // We don't have mutation observers on workers, so just post a promise-based + // microtask. + Promise.resolve().then(function() { f(); }); + } +} + +function onUnhandledSucceed(t, expectedReason, expectedPromiseGetter) { + var l = function(ev) { + if (ev.promise === expectedPromiseGetter()) { + t.step(function() { + assert_equals(ev.reason, expectedReason); + assert_equals(ev.promise, expectedPromiseGetter()); + }); + t.done(); + } + }; + addEventListener('unhandledrejection', l); + ensureCleanup(t, l); +} + +function onUnhandledFail(t, expectedPromiseGetter) { + var unhandled = function(evt) { + if (evt.promise === expectedPromiseGetter()) { + t.step(function() { + assert_unreached('unhandledrejection event is not supposed to be triggered'); + }); + } + }; + var handled = function(evt) { + if (evt.promise === expectedPromiseGetter()) { + t.step(function() { + assert_unreached('rejectionhandled event is not supposed to be triggered'); + }); + } + }; + addEventListener('unhandledrejection', unhandled); + addEventListener('rejectionhandled', handled); + ensureCleanup(t, unhandled, handled); + setTimeout(function() { + t.done(); + }, 10); +} + +function ensureCleanup(t, unhandled, handled) { + t.add_cleanup(function() { + if (unhandled) + removeEventListener('unhandledrejection', unhandled); + if (handled) + removeEventListener('rejectionhandled', handled); + }); +} + +done();
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/sandboxed-iframe-with-opaque-origin.html b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/sandboxed-iframe-with-opaque-origin.html new file mode 100644 index 0000000..8fee77f8 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/sandboxed-iframe-with-opaque-origin.html
@@ -0,0 +1,44 @@ +<!DOCTYPE html> +<html> + <head> + <title>Referrer Policy: Sandboxed iframes with opaque origins don't send referrers</title> + <link rel="author" title="Jochen Eisinger" href="mailto:jochen@chromium.org"> + <link rel="help" href="https://www.w3.org/TR/referrer-policy/#determine-requests-referrer"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <!-- Common global functions for referrer-policy tests. --> + <script src="/referrer-policy/generic/common.js"></script> + </head> + <body> + <h1>Referrer Policy: A document with an opaque origin doesn't send referrers</h1> + <script> + function testSandboxedIframe(description, sandboxAttributes, expectedReferrer) { + var test = async_test(description); + window.addEventListener("message", test.step_func((msg) => { + if (msg.data.description === description) { + assert_equals(msg.data.referrer, expectedReferrer); + test.done(); + } + })); + + var iframe = document.createElement("iframe"); + iframe.sandbox = sandboxAttributes; + iframe.srcdoc = ` + <meta name = "referrer" content = "always"> + <script src = "/referrer-policy/generic/common.js"></` + `script> + <script> + var urlPath = "/referrer-policy/generic/subresource/xhr.py"; + var url = "${location.protocol}//www1.${location.hostname}:${location.port}" + urlPath; + queryXhr(url, (msg) => { + parent.postMessage({referrer: msg.referrer, description: "${description}"}, "*")}); + </` + "script>"; + document.body.appendChild(iframe); + } + + testSandboxedIframe("Sandboxed iframe with opaque origin doesn't send referrers.", "allow-scripts", undefined); + testSandboxedIframe("Sandboxed iframe with tuple origin sends referrers.", "allow-same-origin allow-scripts", document.location.href); + </script> + + <div id="log"></div> + </body> +</html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/subresource-test/image-decoding.html b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/subresource-test/image-decoding.html index 133c0cf..448f12b 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/subresource-test/image-decoding.html +++ b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/subresource-test/image-decoding.html
@@ -31,7 +31,7 @@ assert_own_property(headers, "connection") }); messaging_test.done(); - }); + }, null, "always", messaging_test); </script> <div id="log"></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/unsupported-csp-referrer-directive.html b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/unsupported-csp-referrer-directive.html index b6c5b306..9627d16 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/unsupported-csp-referrer-directive.html +++ b/third_party/WebKit/LayoutTests/external/wpt/referrer-policy/generic/unsupported-csp-referrer-directive.html
@@ -22,7 +22,7 @@ queryImage(url, test.step_func(function(message) { assert_equals(message.referrer, document.location.href); test.done(); - })); + }), null, 'always', test); </script> <div id="log"></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/client-navigate.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/client-navigate.https.html index a505e872..b651a20a 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/client-navigate.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/client-navigate.https.html
@@ -3,7 +3,7 @@ <title>Service Worker: WindowClient.navigate</title> <script src=/resources/testharness.js></script> <script src=/resources/testharnessreport.js></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js"></script> <script> function wait_for_message(msg) {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/clients-get-cross-origin.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/clients-get-cross-origin.https.html index 3413acb..d562205 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/clients-get-cross-origin.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/clients-get-cross-origin.https.html
@@ -2,7 +2,7 @@ <title>Service Worker: Clients.get across origins</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js"></script> <script> var host_info = get_host_info();
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/clients-get.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/clients-get.https.html index af38502..85c70a2 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/clients-get.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/clients-get.https.html
@@ -2,7 +2,7 @@ <title>Service Worker: Clients.get</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js"></script> <script> var host_info = get_host_info();
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-canvas-tainting-cache.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-canvas-tainting-cache.https.html index fdb64e1..74754935 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-canvas-tainting-cache.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-canvas-tainting-cache.https.html
@@ -2,7 +2,7 @@ <title>Service Worker: canvas tainting of the fetched image using cached responses</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js?pipe=sub"></script> <body> <script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-canvas-tainting.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-canvas-tainting.https.html index bb754739..55faa9d 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-canvas-tainting.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-canvas-tainting.https.html
@@ -2,7 +2,7 @@ <title>Service Worker: canvas tainting of the fetched image</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js?pipe=sub"></script> <body> <script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-cors-xhr.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-cors-xhr.https.html index 3b1f1d6..521c01c5 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-cors-xhr.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-cors-xhr.https.html
@@ -2,7 +2,7 @@ <title>Service Worker: CORS XHR of fetch()</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js?pipe=sub"></script> <body> <script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-csp.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-csp.https.html index bdb56c2..9f33650 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-csp.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-csp.https.html
@@ -2,7 +2,7 @@ <title>Service Worker: CSP control of fetch()</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js?pipe=sub"></script> <script> async_test(function(t) {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-event-redirect.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-event-redirect.https.html index 17f4cb1..54eb4bc 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-event-redirect.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-event-redirect.https.html
@@ -4,7 +4,7 @@ <script src="/resources/testharness.js"></script> <script src="resources/testharness-helpers.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js"></script> <body> <script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-event-within-sw-manual.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-event-within-sw-manual.html new file mode 100644 index 0000000..15a2e95b --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-event-within-sw-manual.html
@@ -0,0 +1,122 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/common/get-host-info.sub.js"></script> +<script src="resources/test-helpers.sub.js"></script> +<body> +<script> +const worker = 'resources/fetch-event-within-sw-worker.js'; + +function wait(ms) { + return new Promise(r => setTimeout(r, ms)); +} + +function reset() { + for (const iframe of [...document.querySelectorAll('.test-iframe')]) { + iframe.remove(); + } + return navigator.serviceWorker.getRegistrations().then(registrations => { + return Promise.all(registrations.map(r => r.unregister())); + }).then(() => caches.keys()).then(cacheKeys => { + return Promise.all(cacheKeys.map(c => caches.delete(c))); + }); +} + +add_completion_callback(reset); + +function regReady(reg) { + return new Promise((resolve, reject) => { + if (reg.active) { + resolve(); + return; + } + const nextWorker = reg.waiting || reg.installing; + + nextWorker.addEventListener('statechange', () => { + if (nextWorker.state == 'redundant') { + reject(Error(`Service worker failed to install`)); + return; + } + if (nextWorker.state == 'activated') { + resolve(); + } + }); + }); +} + +function getCookies() { + return new Map( + document.cookie + .split(/;/g) + .map(c => c.trim().split('=').map(s => s.trim())) + ); +} + +function registerSwAndOpenFrame() { + return reset().then(() => navigator.serviceWorker.register(worker, {scope: 'resources/'})) + .then(reg => regReady(reg)) + .then(() => with_iframe('resources/simple.html')); +} + +function raceBroadcastAndCookie(channel, cookie) { + const initialCookie = getCookies().get(cookie); + let done = false; + + return Promise.race([ + new Promise(resolve => { + const bc = new BroadcastChannel(channel); + bc.onmessage = () => { + bc.close(); + resolve('broadcast'); + }; + }), + (function checkCookie() { + // Stop polling if the broadcast channel won + if (done == true) return; + if (getCookies().get(cookie) != initialCookie) return 'cookie'; + + return wait(200).then(checkCookie); + }()) + ]).then(val => { + done = true; + return val; + }); +} + +promise_test(() => { + return Notification.requestPermission().then(permission => { + if (permission != "granted") { + throw Error('You must allow notifications for this origin before running this test.'); + } + return registerSwAndOpenFrame(); + }).then(iframe => { + return Promise.resolve().then(() => { + // In this test, the service worker will ping the 'icon-request' channel + // if it intercepts a request for 'notification_icon.py'. If the request + // reaches the server it sets the 'notification' cookie to the value given + // in the URL. "raceBroadcastAndCookie" monitors both and returns which + // happens first. + const race = raceBroadcastAndCookie('icon-request', 'notification'); + const notification = new iframe.contentWindow.Notification('test', { + icon: `notification_icon.py?set-cookie-notification=${Math.random()}` + }); + notification.close(); + + return race.then(winner => { + assert_equals(winner, 'broadcast', 'The service worker intercepted the from-window notification icon request'); + }); + }).then(() => { + // Similar race to above, but this time the service worker requests the + // notification. + const race = raceBroadcastAndCookie('icon-request', 'notification'); + iframe.contentWindow.fetch(`show-notification?set-cookie-notification=${Math.random()}`); + + return race.then(winner => { + assert_equals(winner, 'broadcast', 'The service worker intercepted the from-service-worker notification icon request'); + }); + }) + }); +}, `Notification requests intercepted both from window and SW`); + +</script> +</body>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-event-within-sw.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-event-within-sw.html new file mode 100644 index 0000000..c73abc4 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-event-within-sw.html
@@ -0,0 +1,79 @@ +<!DOCTYPE html> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/common/get-host-info.sub.js"></script> +<script src="resources/test-helpers.sub.js"></script> +<body> +<script> +const worker = 'resources/fetch-event-within-sw-worker.js'; + +function reset() { + for (const iframe of [...document.querySelectorAll('.test-iframe')]) { + iframe.remove(); + } + return navigator.serviceWorker.getRegistrations().then(registrations => { + return Promise.all(registrations.map(r => r.unregister())); + }).then(() => caches.keys()).then(cacheKeys => { + return Promise.all(cacheKeys.map(c => caches.delete(c))); + }); +} + +add_completion_callback(reset); + +function regReady(reg) { + return new Promise((resolve, reject) => { + if (reg.active) { + resolve(); + return; + } + const nextWorker = reg.waiting || reg.installing; + + nextWorker.addEventListener('statechange', () => { + if (nextWorker.state == 'redundant') { + reject(Error(`Service worker failed to install`)); + return; + } + if (nextWorker.state == 'activated') { + resolve(); + } + }); + }); +} + +function registerSwAndOpenFrame() { + return reset().then(() => navigator.serviceWorker.register(worker, { scope: 'resources/' })) + .then(reg => regReady(reg)) + .then(() => with_iframe('resources/simple.html')); +} + +promise_test(() => { + return registerSwAndOpenFrame().then(iframe => { + return Promise.all([ + iframe.contentWindow.fetch('dummy.txt').then(r => r.text()), + iframe.contentWindow.caches.open('test') + .then(cache => + cache.add('dummy.txt').then(() => cache.match('dummy.txt')) + ).then(response => { + if (!response) return 'cache match failed'; + return response.text(); + }) + ]) + }).then(([fetchText, cacheText]) => { + assert_equals(fetchText, 'intercepted', 'fetch intercepted'); + assert_equals(cacheText, 'intercepted', 'cache.add intercepted'); + }); +}, 'Service worker intercepts requests from window'); + +promise_test(() => { + return registerSwAndOpenFrame().then(iframe => { + return Promise.all([ + iframe.contentWindow.fetch('dummy.txt-inner-fetch').then(r => r.text()), + iframe.contentWindow.fetch('dummy.txt-inner-cache').then(r => r.text()) + ]) + }).then(([fetchText, cacheText]) => { + assert_equals(fetchText, 'Hello world\n', 'fetch within SW not intercepted'); + assert_equals(cacheText, 'Hello world\n', 'cache.add within SW not intercepted'); + }); +}, `Service worker does not intercept fetch/cache requests within service worker`); +</script> +</body>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-event.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-event.https.html index 26409e9..de0046a 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-event.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-event.https.html
@@ -1,7 +1,7 @@ <!DOCTYPE html> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js"></script> <body> <script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-frame-resource.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-frame-resource.https.html index fd74198..4d30ff4 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-frame-resource.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-frame-resource.https.html
@@ -3,7 +3,7 @@ <meta name=timeout content=long> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js"></script> <body> <script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-header-visibility.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-header-visibility.https.html index 36bf16f3..1ceb164 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-header-visibility.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-header-visibility.https.html
@@ -2,7 +2,7 @@ <title>Service Worker: Visibility of headers during fetch.</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js"></script> <body> <script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-mixed-content-to-inscope.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-mixed-content-to-inscope.https.html index fb9fa9b..2a0342f 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-mixed-content-to-inscope.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-mixed-content-to-inscope.https.html
@@ -3,7 +3,7 @@ <meta name=timeout content=long> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js?pipe=sub"></script> <body></body> <script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-mixed-content-to-outscope.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-mixed-content-to-outscope.https.html index cee89ce..28b43ac 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-mixed-content-to-outscope.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-mixed-content-to-outscope.https.html
@@ -3,7 +3,7 @@ <meta name=timeout content=long> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js?pipe=sub"></script> <body></body> <script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-css-base-url.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-css-base-url.https.html index 0405ed7..7c66520 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-css-base-url.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-css-base-url.https.html
@@ -2,7 +2,7 @@ <title>Service Worker: CSS's base URL must be the request URL even when fetched from other URL</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js?pipe=sub"></script> <script> async_test(function(t) {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-css-images.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-css-images.https.html index 7773082..6f323ca 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-css-images.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-css-images.https.html
@@ -2,7 +2,7 @@ <title>Service Worker: FetchEvent for css image</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js?pipe=sub"></script> <script> var SCOPE = 'resources/fetch-request-resources-iframe.https.html';
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-fallback.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-fallback.https.html index 8290e21d..57934d5 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-fallback.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-fallback.https.html
@@ -2,7 +2,7 @@ <title>Service Worker: the fallback behavior of FetchEvent</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js?pipe=sub"></script> <script> var expected_urls = [];
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-redirect.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-redirect.https.html index 25d4a6e..4cefad3a 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-redirect.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-redirect.https.html
@@ -3,7 +3,7 @@ <meta name="timeout" content="long"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js"></script> <script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-resources.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-resources.https.html index 7a64e94..5536304f 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-resources.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-resources.https.html
@@ -2,7 +2,7 @@ <title>Service Worker: FetchEvent for resources</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js?pipe=sub"></script> <script> var url_count = 0;
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-xhr.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-xhr.https.html index 1b80985a..87af410 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-xhr.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-request-xhr.https.html
@@ -2,7 +2,7 @@ <title>Service Worker: the body of FetchEvent using XMLHttpRequest</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js?pipe=sub"></script> <script> async_test(function(t) {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-response-xhr.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-response-xhr.https.html index 8b66c60..24eb44e2 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-response-xhr.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-response-xhr.https.html
@@ -2,7 +2,7 @@ <title>Service Worker: the response of FetchEvent using XMLHttpRequest</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js?pipe=sub"></script> <script> async_test(function(t) {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-waits-for-activate.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-waits-for-activate.https.html index 304680c..2c9d4a5 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-waits-for-activate.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/fetch-waits-for-activate.https.html
@@ -4,7 +4,7 @@ <script src="/resources/testharness.js"></script> <script src="resources/testharness-helpers.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js"></script> <body> <script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/foreign-fetch-basics.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/foreign-fetch-basics.https.html index 21e132d..8519f8f 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/foreign-fetch-basics.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/foreign-fetch-basics.https.html
@@ -2,7 +2,7 @@ <title>Service Worker: basic Foreign Fetch functionality</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js"></script> <script src="resources/foreign-fetch-helpers.js"></script> <body>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/foreign-fetch-cors.https-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/foreign-fetch-cors.https-expected.txt new file mode 100644 index 0000000..00325dc --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/foreign-fetch-cors.https-expected.txt
@@ -0,0 +1,19 @@ +This is a testharness.js-based test. +FAIL Same origin fetch without CORS headers, not exposed promise_test: Unhandled rejection with value: "failure:TypeError: Failed to register a ServiceWorker: ServiceWorker script evaluation failed" +FAIL Same origin fetch without CORS headers, only origin exposed promise_test: Unhandled rejection with value: "failure:TypeError: Failed to register a ServiceWorker: ServiceWorker script evaluation failed" +FAIL Same origin fetch without CORS headers, headers and origin exposed promise_test: Unhandled rejection with value: "failure:TypeError: Failed to register a ServiceWorker: ServiceWorker script evaluation failed" +FAIL Same origin fetch without CORS headers, exposed to wrong origin promise_test: Unhandled rejection with value: "failure:TypeError: Failed to register a ServiceWorker: ServiceWorker script evaluation failed" +FAIL Same origin fetch with CORS headers, not exposed promise_test: Unhandled rejection with value: "failure:TypeError: Failed to register a ServiceWorker: ServiceWorker script evaluation failed" +FAIL Same origin fetch with CORS headers, only origin exposed promise_test: Unhandled rejection with value: "failure:TypeError: Failed to register a ServiceWorker: ServiceWorker script evaluation failed" +FAIL Same origin fetch with CORS headers, headers and origin exposed promise_test: Unhandled rejection with value: "failure:TypeError: Failed to register a ServiceWorker: ServiceWorker script evaluation failed" +FAIL Same origin fetch with CORS headers, exposed to wrong origin promise_test: Unhandled rejection with value: "failure:TypeError: Failed to register a ServiceWorker: ServiceWorker script evaluation failed" +FAIL Cross origin fetch without CORS headers, not exposed promise_test: Unhandled rejection with value: "failure:TypeError: Failed to register a ServiceWorker: ServiceWorker script evaluation failed" +FAIL Cross origin fetch with ACEHeaders header, not exposed promise_test: Unhandled rejection with value: "failure:TypeError: Failed to register a ServiceWorker: ServiceWorker script evaluation failed" +FAIL Cross origin fetch with ACEHeaders header, only origin exposed promise_test: Unhandled rejection with value: "failure:TypeError: Failed to register a ServiceWorker: ServiceWorker script evaluation failed" +FAIL Cross origin fetch with ACEHeaders header, headers and origin exposed promise_test: Unhandled rejection with value: "failure:TypeError: Failed to register a ServiceWorker: ServiceWorker script evaluation failed" +FAIL Cross origin fetch with ACEHeaders header, exposed to wrong origin promise_test: Unhandled rejection with value: "failure:TypeError: Failed to register a ServiceWorker: ServiceWorker script evaluation failed" +FAIL Cross origin fetch without ACEHeaders header, not exposed promise_test: Unhandled rejection with value: "failure:TypeError: Failed to register a ServiceWorker: ServiceWorker script evaluation failed" +FAIL Cross origin fetch without ACEHeaders header, only origin exposed promise_test: Unhandled rejection with value: "failure:TypeError: Failed to register a ServiceWorker: ServiceWorker script evaluation failed" +FAIL Cross origin fetch without ACEHeaders header, headers and origin exposed promise_test: Unhandled rejection with value: "failure:TypeError: Failed to register a ServiceWorker: ServiceWorker script evaluation failed" +Harness: the test ran to completion. +
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/foreign-fetch-cors.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/foreign-fetch-cors.https.html index d4d728b..c111a31 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/foreign-fetch-cors.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/foreign-fetch-cors.https.html
@@ -2,7 +2,7 @@ <title>Service Worker: Foreign Fetch CORS functionality</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js"></script> <script src="resources/foreign-fetch-helpers.js"></script> <body>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/foreign-fetch-workers.https-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/foreign-fetch-workers.https-expected.txt new file mode 100644 index 0000000..e3b0557f --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/foreign-fetch-workers.https-expected.txt
@@ -0,0 +1,9 @@ +CONSOLE ERROR: Fetch API cannot load https://www2.web-platform.test:8444/service-workers/service-worker/resources/simple.txt?basic_dedicated_insecure. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://www2.web-platform.test:8001' is therefore not allowed access. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled. +This is a testharness.js-based test. +FAIL Foreign fetch can intercept fetches made from a service worker assert_unreached: unregister and register should not fail: Failed to register a ServiceWorker: ServiceWorker script evaluation failed Reached unreachable code +PASS Foreign fetch can intercept fetches made from a dedicated worker +PASS Foreign fetch can intercept fetches made from a shared worker +PASS Fetches from an insecure dedicated worker aren't intercepted. +PASS Fetches from an insecure shared worker aren't intercepted. +Harness: the test ran to completion. +
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/foreign-fetch-workers.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/foreign-fetch-workers.https.html index c2e5b65..65972900 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/foreign-fetch-workers.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/foreign-fetch-workers.https.html
@@ -1,7 +1,7 @@ <!DOCTYPE html> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js"></script> <script src="resources/foreign-fetch-helpers.js"></script> <body>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/getregistrations.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/getregistrations.https.html index b65a978..036764d1 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/getregistrations.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/getregistrations.https.html
@@ -3,7 +3,7 @@ <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="resources/test-helpers.sub.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="../fetch/resources/fetch-test-helpers.sub.js"></script> <script> // Purge the existing registrations for the origin.
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/invalid-blobtype.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/invalid-blobtype.https.html index f1f2d1bd..868cf6e 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/invalid-blobtype.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/invalid-blobtype.https.html
@@ -2,7 +2,7 @@ <title>Service Worker: respondWith with header value containing a null byte</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js?pipe=sub"></script> <script> async_test(function(t) {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/invalid-header.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/invalid-header.https.html index 7946952..b771f3c 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/invalid-header.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/invalid-header.https.html
@@ -2,7 +2,7 @@ <title>Service Worker: respondWith with header value containing a null byte</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js?pipe=sub"></script> <script> async_test(function(t) {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/multi-globals/current/test-sw.js b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/multi-globals/current/test-sw.js index ca34094..e673292f 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/multi-globals/current/test-sw.js +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/multi-globals/current/test-sw.js
@@ -1,15 +1 @@ -'use strict'; - -this.addEventListener('install', event => { - this.skipWaiting(); -}); - -this.addEventListener('activate', event => { - clients.claim(); -}); - -this.addEventListener('fetch', event => { - if (event.request.url.includes('test.txt')) { - event.respondWith(new Response('current')); - } -}); +// Service worker for current/ \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/multi-globals/incumbent/test-sw.js b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/multi-globals/incumbent/test-sw.js index 2f970a2..e2a0e93 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/multi-globals/incumbent/test-sw.js +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/multi-globals/incumbent/test-sw.js
@@ -1,15 +1 @@ -'use strict'; - -this.addEventListener('install', event => { - this.skipWaiting(); -}); - -this.addEventListener('activate', event => { - clients.claim(); -}); - -this.addEventListener('fetch', event => { - if (event.request.url.includes('test.txt')) { - event.respondWith(new Response('incumbent')); - } -}); +// Service worker for incumbent/ \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/multi-globals/relevant/test-sw.js b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/multi-globals/relevant/test-sw.js index 3cf80c5..ff44cdf 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/multi-globals/relevant/test-sw.js +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/multi-globals/relevant/test-sw.js
@@ -1,15 +1 @@ -'use strict'; - -this.addEventListener('install', event => { - this.skipWaiting(); -}); - -this.addEventListener('activate', event => { - clients.claim(); -}); - -this.addEventListener('fetch', event => { - if (event.request.url.includes('test.txt')) { - event.respondWith(new Response('relevant')); - } -}); +// Service worker for relevant/ \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/multi-globals/test-sw.js b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/multi-globals/test-sw.js index f5a6cc5..ce3c940 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/multi-globals/test-sw.js +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/multi-globals/test-sw.js
@@ -1,15 +1 @@ -'use strict'; - -this.addEventListener('install', event => { - this.skipWaiting(); -}); - -this.addEventListener('activate', event => { - clients.claim(); -}); - -this.addEventListener('fetch', event => { - if (event.request.url.includes('test.txt')) { - event.respondWith(new Response('entry')); - } -}); +// Service worker for / \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/multi-globals/url-parsing.https-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/multi-globals/url-parsing.https-expected.txt index b35da08c..49b9b15a 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/multi-globals/url-parsing.https-expected.txt +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/multi-globals/url-parsing.https-expected.txt
@@ -1,6 +1,6 @@ This is a testharness.js-based test. -FAIL register should use the relevant global of the object it was called on to resolve the script URL assert_equals: the service worker found at relevant/test-sw.js must have been the one to intercept the fetch expected "relevant" but got "entry" -FAIL register should use the relevant global of the object it was called on to resolve the scope URL assert_equals: the scope URL should be relevant/scope expected "https://web-platform.test:8444/service-workers/service-worker/multi-globals/relevant/scope" but got "https://web-platform.test:8444/service-workers/service-worker/multi-globals/current/scope" +FAIL register should use the relevant global of the object it was called on to resolve the script URL and the default scope URL assert_equals: the script URL should be parsed against the relevant global expected "https://web-platform.test:8444/service-workers/service-worker/multi-globals/relevant/test-sw.js" but got "https://web-platform.test:8444/service-workers/service-worker/multi-globals/test-sw.js" +PASS register should use the relevant global of the object it was called on to resolve the script URL and the given scope URL FAIL getRegistration should use the relevant global of the object it was called on to resolve the script URL assert_equals: the retrieved registration's scope should be equal to the original's scope expected "https://web-platform.test:8444/service-workers/service-worker/multi-globals/relevant/" but got "https://web-platform.test:8444/service-workers/service-worker/multi-globals/" Harness: the test ran to completion.
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/multi-globals/url-parsing.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/multi-globals/url-parsing.https.html index 1330d07..b9dfe363 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/multi-globals/url-parsing.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/multi-globals/url-parsing.https.html
@@ -26,29 +26,30 @@ return frames[0].testRegister(); }).then(r => { registration = r; - const newestWorker = r.installing || r.waiting || r.active; - return wait_for_state(t, newestWorker, 'activated'); - }).then(() => { - return fetch('relevant/test.txt'); - }) - .then(response => response.text()) - .then(text => { - assert_equals(text, 'relevant', - 'the service worker found at relevant/test-sw.js must have been the one to intercept the fetch'); + return wait_for_state(t, registration.installing, 'activated'); + }).then(_ => { + assert_equals(registration.active.scriptURL, normalizeURL('relevant/test-sw.js'), 'the script URL should be parsed against the relevant global'); + assert_equals(registration.scope, normalizeURL('relevant/'), 'the default scope URL should be parsed against the parsed script URL'); return registration.unregister(); }); -}, 'register should use the relevant global of the object it was called on to resolve the script URL'); +}, 'register should use the relevant global of the object it was called on to resolve the script URL and the default scope URL'); promise_test(t => { + let registration; + return loadPromise.then(() => { return frames[0].testRegister({ scope: 'scope' }); - }).then(registration => { - assert_equals(registration.scope, normalizeURL('relevant/scope'), 'the scope URL should be relevant/scope'); + }).then(r => { + registration = r; + return wait_for_state(t, registration.installing, 'activated'); + }).then(_ => { + assert_equals(registration.active.scriptURL, normalizeURL('relevant/test-sw.js'), 'the script URL should be parsed against the relevant global'); + assert_equals(registration.scope, normalizeURL('relevant/scope'), 'the given scope URL should be parsed against the relevant global'); return registration.unregister(); }); -}, 'register should use the relevant global of the object it was called on to resolve the scope URL'); +}, 'register should use the relevant global of the object it was called on to resolve the script URL and the given scope URL'); promise_test(t => { let registration;
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/navigate-window.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/navigate-window.https.html index e3aaf4c..31e800f 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/navigate-window.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/navigate-window.https.html
@@ -2,7 +2,7 @@ <title>Service Worker: Navigate a Window</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js"></script> <body> <script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/navigation-redirect.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/navigation-redirect.https.html index 7b606cf0..586e9036 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/navigation-redirect.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/navigation-redirect.https.html
@@ -2,7 +2,7 @@ <title>Service Worker: Navigation redirection</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js"></script> <body> <script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/performance-timeline.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/performance-timeline.https.html index d2ed677..b66d4a8 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/performance-timeline.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/performance-timeline.https.html
@@ -21,16 +21,10 @@ .then(_ => with_iframe(scope)) .then(f => { frame = f; - return Promise.all([ - // This will get effectively an empty service worker FetchEvent - // handler. It should have no additional delay. Note that the - // text() call is necessary to complete the response and have the - // timings show up in the performance entries. - frame.contentWindow.fetch(url).then(r => r && r.text()), - // This will cause the service worker to spin for two seconds - // in its FetchEvent handler. - frame.contentWindow.fetch(slowURL).then(r => r && r.text()) - ]); + return frame.contentWindow.fetch(url).then(r => r && r.text()); + }) + .then(_ => { + return frame.contentWindow.fetch(slowURL).then(r => r && r.text()); }) .then(_ => { function elapsed(u) { @@ -42,7 +36,7 @@ // Verify the request slowed by the service worker is indeed measured // to be slower. Note, we compare to smaller delay instead of the exact // delay amount to avoid making the test racy under automation. - assert_true(slowURLTime >= urlTime + 1500, + assert_greater_than(slowURLTime, urlTime + 1000, 'Slow service worker request should measure increased delay.'); frame.remove(); return service_worker_unregister_and_done(t, scope);
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/postmessage-to-client.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/postmessage-to-client.https.html index 2ee9808..8eac04a 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/postmessage-to-client.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/postmessage-to-client.https.html
@@ -2,7 +2,7 @@ <title>Service Worker: postMessage to Client</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js"></script> <script> var frame;
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/referer.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/referer.https.html index 9b356532..43fccba 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/referer.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/referer.https.html
@@ -2,7 +2,7 @@ <title>Service Worker: check referer of fetch()</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js?pipe=sub"></script> <script> async_test(function(t) {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/register-closed-window.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/register-closed-window.https.html index 2213567..9c1b639b 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/register-closed-window.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/register-closed-window.https.html
@@ -4,7 +4,7 @@ <script src="/resources/testharness.js"></script> <script src="resources/testharness-helpers.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js"></script> <body> <script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resource-timing.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resource-timing.https.html index f33c41d..79789675 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resource-timing.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resource-timing.https.html
@@ -1,7 +1,7 @@ <!DOCTYPE html> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js"></script> <script> function resourceUrl(path) {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/client-navigate-worker.js b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/client-navigate-worker.js index 3f2424078..59866e7 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/client-navigate-worker.js +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/client-navigate-worker.js
@@ -1,6 +1,6 @@ importScripts("worker-testharness.js"); importScripts("test-helpers.sub.js"); -importScripts("get-host-info.sub.js") +importScripts("/common/get-host-info.sub.js") importScripts("testharness-helpers.js") self.onfetch = function(e) {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/clients-get-other-origin.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/clients-get-other-origin.html index cbd3dcc..6342fe04 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/clients-get-other-origin.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/clients-get-other-origin.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<script src="get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="test-helpers.sub.js"></script> <script> var host_info = get_host_info();
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/dummy-worker-interceptor.js b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/dummy-worker-interceptor.js index 43244e1d..abec5fd 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/dummy-worker-interceptor.js +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/dummy-worker-interceptor.js
@@ -1,4 +1,4 @@ -importScripts('get-host-info.sub.js'); +importScripts('/common/get-host-info.sub.js'); var worker_text = 'postMessage("worker loading intercepted by service worker"); ';
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-canvas-tainting-iframe.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-canvas-tainting-iframe.html index 3822971..75eca56 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-canvas-tainting-iframe.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-canvas-tainting-iframe.html
@@ -1,4 +1,4 @@ -<script src="../resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="test-helpers.sub.js?pipe=sub"></script> <script> var image_path = base_path() + 'fetch-access-control.py?PNGIMAGE';
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-cors-xhr-iframe.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-cors-xhr-iframe.html index 121c5c34..1fd8094 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-cors-xhr-iframe.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-cors-xhr-iframe.html
@@ -1,4 +1,4 @@ -<script src="../resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="test-helpers.sub.js?pipe=sub"></script> <script> var path = base_path() + 'fetch-access-control.py';
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-csp-iframe.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-csp-iframe.html index cf7175b..df218364 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-csp-iframe.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-csp-iframe.html
@@ -1,4 +1,4 @@ -<script src="../resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="test-helpers.sub.js?pipe=sub"></script> <script> var image_path = base_path() + 'fetch-access-control.py?PNGIMAGE';
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-event-within-sw-worker.js b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-event-within-sw-worker.js new file mode 100644 index 0000000..f3180d7 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-event-within-sw-worker.js
@@ -0,0 +1,48 @@ +skipWaiting(); + +addEventListener('fetch', event => { + const url = new URL(event.request.url); + + if (url.origin != location.origin) return; + + if (url.pathname.endsWith('/dummy.txt')) { + event.respondWith(new Response('intercepted')); + return; + } + + if (url.pathname.endsWith('/dummy.txt-inner-fetch')) { + event.respondWith(fetch('dummy.txt')); + return; + } + + if (url.pathname.endsWith('/dummy.txt-inner-cache')) { + event.respondWith( + caches.open('test-inner-cache').then(cache => + cache.add('dummy.txt').then(() => cache.match('dummy.txt')) + ) + ); + return; + } + + if (url.pathname.endsWith('/show-notification')) { + // Copy the currect search string onto the icon url + const iconURL = new URL('notification_icon.py', location); + iconURL.search = url.search; + + event.respondWith( + registration.showNotification('test', { + icon: iconURL + }).then(() => registration.getNotifications()).then(notifications => { + for (const n of notifications) n.close(); + return new Response('done'); + }) + ); + return; + } + + if (url.pathname.endsWith('/notification_icon.py')) { + new BroadcastChannel('icon-request').postMessage('yay'); + event.respondWith(new Response('done')); + return; + } +});
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-header-visibility-iframe.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-header-visibility-iframe.html index e0f32f7..0d9ab6ff 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-header-visibility-iframe.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-header-visibility-iframe.html
@@ -1,4 +1,4 @@ -<script src="../resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="test-helpers.sub.js?pipe=sub"></script> <script> var host_info = get_host_info();
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-mixed-content-iframe-inscope-to-inscope.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-mixed-content-iframe-inscope-to-inscope.html index a7db229c..b6a260d 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-mixed-content-iframe-inscope-to-inscope.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-mixed-content-iframe-inscope-to-inscope.html
@@ -1,4 +1,4 @@ -<script src="../resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="test-helpers.sub.js?pipe=sub"></script> <script> var image_path = base_path() + 'fetch-access-control.py?PNGIMAGE';
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-mixed-content-iframe-inscope-to-outscope.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-mixed-content-iframe-inscope-to-outscope.html index cec00cb2..b8c940c 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-mixed-content-iframe-inscope-to-outscope.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-mixed-content-iframe-inscope-to-outscope.html
@@ -1,4 +1,4 @@ -<script src="../resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="test-helpers.sub.js?pipe=sub"></script> <script> var image_path = base_path() + 'fetch-access-control.py?PNGIMAGE';
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-mixed-content-iframe.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-mixed-content-iframe.html index 961fd2ab..2831c38 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-mixed-content-iframe.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-mixed-content-iframe.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<script src="../resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="test-helpers.sub.js?pipe=sub"></script> <script> var params = get_query_params(location.href);
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-request-css-base-url-worker.js b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-request-css-base-url-worker.js index 0d9244e..91c32599 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-request-css-base-url-worker.js +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-request-css-base-url-worker.js
@@ -1,4 +1,4 @@ -importScripts('../resources/get-host-info.sub.js'); +importScripts('/common/get-host-info.sub.js'); importScripts('test-helpers.sub.js'); var port = undefined;
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-request-xhr-iframe.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-request-xhr-iframe.https.html index 26c6b734..ef2f925a 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-request-xhr-iframe.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-request-xhr-iframe.https.html
@@ -1,4 +1,4 @@ -<script src="../resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="test-helpers.sub.js?pipe=sub"></script> <script> var port;
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-response-xhr-iframe.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-response-xhr-iframe.https.html index 3391381..08b887b7 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-response-xhr-iframe.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-response-xhr-iframe.https.html
@@ -1,4 +1,4 @@ -<script src="../resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="test-helpers.sub.js?pipe=sub"></script> <script> var host_info = get_host_info();
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/get-host-info.sub.js b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/get-host-info.sub.js deleted file mode 100644 index e6edccf..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/get-host-info.sub.js +++ /dev/null
@@ -1,17 +0,0 @@ -function get_host_info() { - const HTTP_PORT = '{{ports[http][0]}}'; - const HTTPS_PORT = '{{ports[https][0]}}'; - const ORIGINAL_HOST = '{{host}}'; - const REMOTE_HOST = '{{domains[www1]}}'; - const OTHER_HOST = '{{domains[www2]}}'; - return { - HTTP_ORIGIN: 'http://' + ORIGINAL_HOST + ':' + HTTP_PORT, - HTTPS_ORIGIN: 'https://' + ORIGINAL_HOST + ':' + HTTPS_PORT, - HTTPS_ORIGIN_WITH_CREDS: 'https://foo:bar@' + ORIGINAL_HOST + ':' + HTTPS_PORT, - HTTP_REMOTE_ORIGIN: 'http://' + REMOTE_HOST + ':' + HTTP_PORT, - HTTPS_REMOTE_ORIGIN: 'https://' + REMOTE_HOST + ':' + HTTPS_PORT, - HTTPS_REMOTE_ORIGIN_WITH_CREDS: 'https://foo:bar@' + REMOTE_HOST + ':' + HTTPS_PORT, - UNAUTHENTICATED_ORIGIN: 'http://' + OTHER_HOST + ':' + HTTP_PORT, - AUTHENTICATED_ORIGIN: 'https://' + OTHER_HOST + ':' + HTTPS_PORT - }; -}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/navigation-redirect-other-origin.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/navigation-redirect-other-origin.html index c1441ba6..8688c8a8 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/navigation-redirect-other-origin.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/navigation-redirect-other-origin.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<script src="get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="test-helpers.sub.js"></script> <script> var host_info = get_host_info();
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/notification_icon.py b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/notification_icon.py new file mode 100644 index 0000000..517ab0a0 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/notification_icon.py
@@ -0,0 +1,9 @@ +import urlparse + +def main(req, res): + qs_cookie_val = urlparse.parse_qs(req.url_parts.query).get('set-cookie-notification') + + if qs_cookie_val: + res.set_cookie('notification', qs_cookie_val[0]) + + return 'not really an icon' \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/referer-iframe.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/referer-iframe.html index 491262e..295ff456 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/referer-iframe.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/referer-iframe.html
@@ -1,4 +1,4 @@ -<script src="../resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="test-helpers.sub.js"></script> <script> function check_referer(url, expected_referer) {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/service-worker-csp-worker.py b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/service-worker-csp-worker.py index 4e5c6f3..5f06454 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/service-worker-csp-worker.py +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/service-worker-csp-worker.py
@@ -1,7 +1,7 @@ bodyDefault = ''' importScripts('worker-testharness.js'); importScripts('test-helpers.sub.js'); -importScripts('../resources/get-host-info.sub.js'); +importScripts('/common/get-host-info.sub.js'); var host_info = get_host_info(); @@ -47,7 +47,7 @@ bodyScript = ''' importScripts('worker-testharness.js'); importScripts('test-helpers.sub.js'); -importScripts('../resources/get-host-info.sub.js'); +importScripts('/common/get-host-info.sub.js'); var host_info = get_host_info(); @@ -93,7 +93,7 @@ bodyConnect = ''' importScripts('worker-testharness.js'); importScripts('test-helpers.sub.js'); -importScripts('../resources/get-host-info.sub.js'); +importScripts('/common/get-host-info.sub.js'); var host_info = get_host_info();
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/test-helpers.sub.js b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/test-helpers.sub.js index b0ffbd40..1d7643a 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/test-helpers.sub.js +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/test-helpers.sub.js
@@ -52,6 +52,7 @@ function with_iframe(url) { return new Promise(function(resolve) { var frame = document.createElement('iframe'); + frame.className = 'test-iframe'; frame.src = url; frame.onload = function() { resolve(frame); }; document.body.appendChild(frame);
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/worker-interception-iframe.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/worker-interception-iframe.https.html index 12a461ea..e89b386 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/worker-interception-iframe.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/worker-interception-iframe.https.html
@@ -1,4 +1,4 @@ -<script src="../resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="test-helpers.sub.js?pipe=sub"></script> <script> var host_info = get_host_info();
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/worker-load-interceptor.js b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/worker-load-interceptor.js index 960c632..695777a5 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/worker-load-interceptor.js +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/worker-load-interceptor.js
@@ -1,4 +1,4 @@ -importScripts('get-host-info.sub.js'); +importScripts('/common/get-host-info.sub.js'); var response_text = "This load was successfully intercepted."; var response_script = "postMessage(\"This load was successfully intercepted.\");";
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/websocket.https-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/websocket.https-expected.txt index 120351d..384841e 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/websocket.https-expected.txt +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/websocket.https-expected.txt
@@ -1,4 +1,4 @@ -CONSOLE ERROR: line 186: WebSocket connection to 'wss://web-platform.test:9444/echo' failed: Error during WebSocket handshake: Unexpected response code: 404 +CONSOLE ERROR: line 187: WebSocket connection to 'wss://web-platform.test:9444/echo' failed: Error during WebSocket handshake: Unexpected response code: 404 This is a testharness.js-based test. FAIL Verify WebSocket handshake channel does not get intercepted assert_unreached: unexpected rejection: [object Event] Reached unreachable code Harness: the test ran to completion.
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/websocket.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/websocket.https.html index 3dfa6e5..b9c526d 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/websocket.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/websocket.https.html
@@ -2,7 +2,7 @@ <title>Service Worker: WebSocket handshake channel is not intercepted</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js?pipe=sub"></script> <script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/xhr.https.html b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/xhr.https.html index 776e61db..0805cf8 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/xhr.https.html +++ b/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/xhr.https.html
@@ -2,7 +2,7 @@ <title>Service Worker: XHR doesn't exist</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> -<script src="resources/get-host-info.sub.js"></script> +<script src="/common/get-host-info.sub.js"></script> <script src="resources/test-helpers.sub.js?pipe=sub"></script> <script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/storage/README.md b/third_party/WebKit/LayoutTests/external/wpt/storage/README.md new file mode 100644 index 0000000..d95c3ce --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/storage/README.md
@@ -0,0 +1,7 @@ +This directory contains the Storage test suite. + +To run the tests in this test suite within a browser, go to: <https://w3c-test.org/storage/>. + +The living standard is: <https://storage.spec.whatwg.org/> + +The API is at: <https://storage.spec.whatwg.org/#api>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/storage/interfaces.html b/third_party/WebKit/LayoutTests/external/wpt/storage/interfaces.html new file mode 100644 index 0000000..c390f3278 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/storage/interfaces.html
@@ -0,0 +1,30 @@ +<!doctype html> +<meta charset=utf-8> +<title>Storage API IDL tests</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/WebIDLParser.js"></script> +<script src="/resources/idlharness.js"></script> + +<script> +'use strict'; +promise_test(t => { + return fetch('interfaces.idl') + .then(response => response.text()) + .then(idls => { + var idl_array = new IdlArray(); + + idl_array.add_untested_idls('interface Navigator {};'); + idl_array.add_untested_idls('[Exposed=Worker] interface WorkerNavigator {};'); + + idl_array.add_idls(idls); + + idl_array.add_objects({ + StorageManager: ['navigator.storage'] + }); + + idl_array.test(); + t.done(); + }); +}, 'Storage API IDL test'); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/storage/interfaces.idl b/third_party/WebKit/LayoutTests/external/wpt/storage/interfaces.idl new file mode 100644 index 0000000..49674042 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/storage/interfaces.idl
@@ -0,0 +1,22 @@ +[SecureContext, + NoInterfaceObject, + Exposed=(Window,Worker)] +interface NavigatorStorage { + readonly attribute StorageManager storage; +}; +Navigator implements NavigatorStorage; +WorkerNavigator implements NavigatorStorage; + +[SecureContext, + Exposed=(Window,Worker)] +interface StorageManager { + Promise<boolean> persisted(); + [Exposed=Window] Promise<boolean> persist(); + + Promise<StorageEstimate> estimate(); +}; + +dictionary StorageEstimate { + unsigned long long usage; + unsigned long long quota; +};
diff --git a/third_party/WebKit/LayoutTests/external/wpt/storage/interfaces.worker.js b/third_party/WebKit/LayoutTests/external/wpt/storage/interfaces.worker.js new file mode 100644 index 0000000..e6feed7d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/storage/interfaces.worker.js
@@ -0,0 +1,26 @@ +'use strict'; + +importScripts('/resources/testharness.js'); +importScripts('/resources/WebIDLParser.js', '/resources/idlharness.js'); + +promise_test(t => { + return fetch('interfaces.idl') + .then(response => response.text()) + .then(idls => { + var idl_array = new IdlArray(); + + idl_array.add_untested_idls('interface Navigator {};'); + idl_array.add_untested_idls('[Exposed=Worker] interface WorkerNavigator {};'); + + idl_array.add_idls(idls); + + idl_array.add_objects({ + StorageManager: ['navigator.storage'] + }); + + idl_array.test(); + t.done(); + }); +}, 'Storage API IDL test'); + +done();
diff --git a/third_party/WebKit/LayoutTests/external/wpt/streams/readable-byte-streams/general-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-byte-streams/general-expected.txt index 0c13a87..5cf88f8 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/streams/readable-byte-streams/general-expected.txt +++ b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-byte-streams/general-expected.txt
@@ -1,10 +1,12 @@ This is a testharness.js-based test. -Found 68 tests; 1 PASS, 67 FAIL, 0 TIMEOUT, 0 NOTRUN. +Found 70 tests; 1 PASS, 69 FAIL, 0 TIMEOUT, 0 NOTRUN. PASS getReader({mode: "byob"}) throws on non-bytes streams FAIL ReadableStream with byte source can be constructed with no errors bytes type is not yet implemented FAIL ReadableStream with byte source: Construct and expect start and pull being called bytes type is not yet implemented FAIL ReadableStream with byte source: No automatic pull call if start doesn't finish bytes type is not yet implemented FAIL ReadableStream with byte source: Construct with highWaterMark of 0 bytes type is not yet implemented +FAIL ReadableStream with byte source: desiredSize when closed bytes type is not yet implemented +FAIL ReadableStream with byte source: desiredSize when errored bytes type is not yet implemented FAIL ReadableStream with byte source: getReader(), then releaseLock() bytes type is not yet implemented FAIL ReadableStream with byte source: getReader() with mode set to byob, then releaseLock() bytes type is not yet implemented FAIL ReadableStream with byte source: Test that closing a stream does not release a reader automatically bytes type is not yet implemented
diff --git a/third_party/WebKit/LayoutTests/external/wpt/streams/readable-byte-streams/general.dedicatedworker-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-byte-streams/general.dedicatedworker-expected.txt index 0c13a87..5cf88f8 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/streams/readable-byte-streams/general.dedicatedworker-expected.txt +++ b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-byte-streams/general.dedicatedworker-expected.txt
@@ -1,10 +1,12 @@ This is a testharness.js-based test. -Found 68 tests; 1 PASS, 67 FAIL, 0 TIMEOUT, 0 NOTRUN. +Found 70 tests; 1 PASS, 69 FAIL, 0 TIMEOUT, 0 NOTRUN. PASS getReader({mode: "byob"}) throws on non-bytes streams FAIL ReadableStream with byte source can be constructed with no errors bytes type is not yet implemented FAIL ReadableStream with byte source: Construct and expect start and pull being called bytes type is not yet implemented FAIL ReadableStream with byte source: No automatic pull call if start doesn't finish bytes type is not yet implemented FAIL ReadableStream with byte source: Construct with highWaterMark of 0 bytes type is not yet implemented +FAIL ReadableStream with byte source: desiredSize when closed bytes type is not yet implemented +FAIL ReadableStream with byte source: desiredSize when errored bytes type is not yet implemented FAIL ReadableStream with byte source: getReader(), then releaseLock() bytes type is not yet implemented FAIL ReadableStream with byte source: getReader() with mode set to byob, then releaseLock() bytes type is not yet implemented FAIL ReadableStream with byte source: Test that closing a stream does not release a reader automatically bytes type is not yet implemented
diff --git a/third_party/WebKit/LayoutTests/external/wpt/streams/readable-byte-streams/general.js b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-byte-streams/general.js index d9cc7fc..ef74ae1b 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/streams/readable-byte-streams/general.js +++ b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-byte-streams/general.js
@@ -100,6 +100,32 @@ return Promise.resolve(); }, 'ReadableStream with byte source: Construct with highWaterMark of 0'); +test(() => { + const rs = new ReadableStream({ + start(c) { + assert_equals(c.desiredSize, 10, 'desiredSize must start at the highWaterMark'); + c.close(); + assert_equals(c.desiredSize, 0, 'after closing, desiredSize must be 0'); + }, + type: 'bytes' + }, { + highWaterMark: 10 + }); +}, 'ReadableStream with byte source: desiredSize when closed'); + +test(() => { + const rs = new ReadableStream({ + start(c) { + assert_equals(c.desiredSize, 10, 'desiredSize must start at the highWaterMark'); + c.error(); + assert_equals(c.desiredSize, null, 'after erroring, desiredSize must be null'); + }, + type: 'bytes' + }, { + highWaterMark: 10 + }); +}, 'ReadableStream with byte source: desiredSize when errored'); + promise_test(t => { const stream = new ReadableStream({ type: 'bytes'
diff --git a/third_party/WebKit/LayoutTests/external/wpt/streams/readable-byte-streams/general.serviceworker.https-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-byte-streams/general.serviceworker.https-expected.txt index 218a38b..98ed307 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/streams/readable-byte-streams/general.serviceworker.https-expected.txt +++ b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-byte-streams/general.serviceworker.https-expected.txt
@@ -5,6 +5,8 @@ FAIL ReadableStream with byte source: Construct and expect start and pull being called bytes type is not yet implemented FAIL ReadableStream with byte source: No automatic pull call if start doesn't finish bytes type is not yet implemented FAIL ReadableStream with byte source: Construct with highWaterMark of 0 bytes type is not yet implemented +FAIL ReadableStream with byte source: desiredSize when closed bytes type is not yet implemented +FAIL ReadableStream with byte source: desiredSize when errored bytes type is not yet implemented FAIL ReadableStream with byte source: getReader(), then releaseLock() bytes type is not yet implemented FAIL ReadableStream with byte source: getReader() with mode set to byob, then releaseLock() bytes type is not yet implemented FAIL ReadableStream with byte source: Test that closing a stream does not release a reader automatically bytes type is not yet implemented
diff --git a/third_party/WebKit/LayoutTests/external/wpt/streams/readable-byte-streams/general.sharedworker-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-byte-streams/general.sharedworker-expected.txt index 0c13a87..5cf88f8 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/streams/readable-byte-streams/general.sharedworker-expected.txt +++ b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-byte-streams/general.sharedworker-expected.txt
@@ -1,10 +1,12 @@ This is a testharness.js-based test. -Found 68 tests; 1 PASS, 67 FAIL, 0 TIMEOUT, 0 NOTRUN. +Found 70 tests; 1 PASS, 69 FAIL, 0 TIMEOUT, 0 NOTRUN. PASS getReader({mode: "byob"}) throws on non-bytes streams FAIL ReadableStream with byte source can be constructed with no errors bytes type is not yet implemented FAIL ReadableStream with byte source: Construct and expect start and pull being called bytes type is not yet implemented FAIL ReadableStream with byte source: No automatic pull call if start doesn't finish bytes type is not yet implemented FAIL ReadableStream with byte source: Construct with highWaterMark of 0 bytes type is not yet implemented +FAIL ReadableStream with byte source: desiredSize when closed bytes type is not yet implemented +FAIL ReadableStream with byte source: desiredSize when errored bytes type is not yet implemented FAIL ReadableStream with byte source: getReader(), then releaseLock() bytes type is not yet implemented FAIL ReadableStream with byte source: getReader() with mode set to byob, then releaseLock() bytes type is not yet implemented FAIL ReadableStream with byte source: Test that closing a stream does not release a reader automatically bytes type is not yet implemented
diff --git a/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/floating-point-total-queue-size.dedicatedworker.html b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/floating-point-total-queue-size.dedicatedworker.html new file mode 100644 index 0000000..f098b39a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/floating-point-total-queue-size.dedicatedworker.html
@@ -0,0 +1,11 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>floating-point-total-queue-size.js dedicated worker wrapper file</title> + +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<script> +'use strict'; +fetch_tests_from_worker(new Worker('floating-point-total-queue-size.js')); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/floating-point-total-queue-size.html b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/floating-point-total-queue-size.html new file mode 100644 index 0000000..b0ea679 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/floating-point-total-queue-size.html
@@ -0,0 +1,10 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>floating-point-total-queue-size.js browser context wrapper file</title> + +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + + + +<script src="floating-point-total-queue-size.js"></script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/floating-point-total-queue-size.js b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/floating-point-total-queue-size.js new file mode 100644 index 0000000..3bb3b6a9 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/floating-point-total-queue-size.js
@@ -0,0 +1,119 @@ +'use strict'; + +if (self.importScripts) { + self.importScripts('/resources/testharness.js'); +} + +// Due to the limitations of floating-point precision, the calculation of desiredSize sometimes gives different answers +// than adding up the items in the queue would. It is important that implementations give the same result in these edge +// cases so that developers do not come to depend on non-standard behaviour. See +// https://github.com/whatwg/streams/issues/582 and linked issues for further discussion. + +promise_test(() => { + const { reader, controller } = setupTestStream(); + + controller.enqueue(2); + assert_equals(controller.desiredSize, 0 - 2, 'desiredSize must be -2 after enqueueing such a chunk'); + + controller.enqueue(Number.MAX_SAFE_INTEGER); + assert_equals(controller.desiredSize, 0 - Number.MAX_SAFE_INTEGER - 2, + 'desiredSize must be calculated using double-precision floating-point arithmetic (adding a second chunk)'); + + return reader.read().then(() => { + assert_equals(controller.desiredSize, 0 - Number.MAX_SAFE_INTEGER - 2 + 2, + 'desiredSize must be calculated using double-precision floating-point arithmetic (subtracting a chunk)'); + + return reader.read(); + }).then(() => { + assert_equals(controller.desiredSize, 0, '[[queueTotalSize]] must clamp to 0 if it becomes negative'); + }); +}, 'Floating point arithmetic must manifest near NUMBER.MAX_SAFE_INTEGER (total ends up positive)'); + +promise_test(() => { + const { reader, controller } = setupTestStream(); + + controller.enqueue(1e-16); + assert_equals(controller.desiredSize, 0 - 1e-16, 'desiredSize must be -1e16 after enqueueing such a chunk'); + + controller.enqueue(1); + assert_equals(controller.desiredSize, 0 - 1e-16 - 1, + 'desiredSize must be calculated using double-precision floating-point arithmetic (adding a second chunk)'); + + return reader.read().then(() => { + assert_equals(controller.desiredSize, 0 - 1e-16 - 1 + 1e-16, + 'desiredSize must be calculated using double-precision floating-point arithmetic (subtracting a chunk)'); + + return reader.read(); + }).then(() => { + assert_equals(controller.desiredSize, 0, '[[queueTotalSize]] must clamp to 0 if it becomes negative'); + }); +}, 'Floating point arithmetic must manifest near 0 (total ends up positive, but clamped)'); + +promise_test(() => { + const { reader, controller } = setupTestStream(); + + controller.enqueue(1e-16); + assert_equals(controller.desiredSize, 0 - 1e-16, 'desiredSize must be -2e16 after enqueueing such a chunk'); + + controller.enqueue(1); + assert_equals(controller.desiredSize, 0 - 1e-16 - 1, + 'desiredSize must be calculated using double-precision floating-point arithmetic (adding a second chunk)'); + + controller.enqueue(2e-16); + assert_equals(controller.desiredSize, 0 - 1e-16 - 1 - 2e-16, + 'desiredSize must be calculated using double-precision floating-point arithmetic (adding a third chunk)'); + + return reader.read().then(() => { + assert_equals(controller.desiredSize, 0 - 1e-16 - 1 - 2e-16 + 1e-16, + 'desiredSize must be calculated using double-precision floating-point arithmetic (subtracting a chunk)'); + + return reader.read(); + }).then(() => { + assert_equals(controller.desiredSize, 0 - 1e-16 - 1 - 2e-16 + 1e-16 + 1, + 'desiredSize must be calculated using double-precision floating-point arithmetic (subtracting a second chunk)'); + + return reader.read(); + }).then(() => { + assert_equals(controller.desiredSize, 0 - 1e-16 - 1 - 2e-16 + 1e-16 + 1 + 2e-16, + 'desiredSize must be calculated using double-precision floating-point arithmetic (subtracting a third chunk)'); + }); +}, 'Floating point arithmetic must manifest near 0 (total ends up positive, and not clamped)'); + +promise_test(() => { + const { reader, controller } = setupTestStream(); + + controller.enqueue(2e-16); + assert_equals(controller.desiredSize, 0 - 2e-16, 'desiredSize must be -2e16 after enqueueing such a chunk'); + + controller.enqueue(1); + assert_equals(controller.desiredSize, 0 - 2e-16 - 1, + 'desiredSize must be calculated using double-precision floating-point arithmetic (adding a second chunk)'); + + return reader.read().then(() => { + assert_equals(controller.desiredSize, 0 - 2e-16 - 1 + 2e-16, + 'desiredSize must be calculated using double-precision floating-point arithmetic (subtracting a chunk)'); + + return reader.read(); + }).then(() => { + assert_equals(controller.desiredSize, 0, + 'desiredSize must be calculated using double-precision floating-point arithmetic (subtracting a second chunk)'); + }); +}, 'Floating point arithmetic must manifest near 0 (total ends up zero)'); + +function setupTestStream() { + const strategy = { + size(x) { + return x; + }, + highWaterMark: 0 + }; + + let controller; + const rs = new ReadableStream({ + start(c) { + controller = c; + } + }, strategy); + + return { reader: rs.getReader(), controller }; +}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/floating-point-total-queue-size.serviceworker.https.html b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/floating-point-total-queue-size.serviceworker.https.html new file mode 100644 index 0000000..1eb7c9e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/floating-point-total-queue-size.serviceworker.https.html
@@ -0,0 +1,12 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>floating-point-total-queue-size.js service worker wrapper file</title> + +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/service-workers/service-worker/resources/test-helpers.sub.js"></script> + +<script> +'use strict'; +service_worker_test('floating-point-total-queue-size.js', 'Service worker test setup'); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/floating-point-total-queue-size.sharedworker.html b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/floating-point-total-queue-size.sharedworker.html new file mode 100644 index 0000000..17be746 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/floating-point-total-queue-size.sharedworker.html
@@ -0,0 +1,11 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>floating-point-total-queue-size.js shared worker wrapper file</title> + +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<script> +'use strict'; +fetch_tests_from_worker(new SharedWorker('floating-point-total-queue-size.js')); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/general.dedicatedworker-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/general.dedicatedworker-expected.txt index aa3e4e4..5184a03d 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/general.dedicatedworker-expected.txt +++ b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/general.dedicatedworker-expected.txt
@@ -29,6 +29,8 @@ PASS ReadableStream: enqueue should throw when the stream is readable but draining PASS ReadableStream: enqueue should throw when the stream is closed PASS ReadableStream: should call underlying source methods as methods +FAIL ReadableStream: desiredSize when closed assert_equals: after closing, desiredSize must be 0 expected 0 but got 10 +FAIL ReadableStream: desiredSize when errored assert_equals: after erroring, desiredSize must be null expected (object) null but got (number) 10 PASS ReadableStream strategies: the default strategy should give desiredSize of 1 to start, decreasing by 1 per enqueue PASS ReadableStream strategies: the default strategy should continue giving desiredSize of 1 if the chunks are read immediately PASS ReadableStream integration test: adapting a random push source
diff --git a/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/general.js b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/general.js index a8924be0..edb49f4 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/general.js +++ b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/general.js
@@ -733,6 +733,30 @@ }, 'ReadableStream: should call underlying source methods as methods'); test(() => { + const rs = new ReadableStream({ + start(c) { + assert_equals(c.desiredSize, 10, 'desiredSize must start at highWaterMark'); + c.close(); + assert_equals(c.desiredSize, 0, 'after closing, desiredSize must be 0'); + } + }, { + highWaterMark: 10 + }); +}, 'ReadableStream: desiredSize when closed'); + +test(() => { + const rs = new ReadableStream({ + start(c) { + assert_equals(c.desiredSize, 10, 'desiredSize must start at highWaterMark'); + c.error(); + assert_equals(c.desiredSize, null, 'after erroring, desiredSize must be null'); + } + }, { + highWaterMark: 10 + }); +}, 'ReadableStream: desiredSize when errored'); + +test(() => { let startCalled = false; new ReadableStream({
diff --git a/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/general.serviceworker.https-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/general.serviceworker.https-expected.txt index 09889cf2..5d5d139 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/general.serviceworker.https-expected.txt +++ b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/general.serviceworker.https-expected.txt
@@ -30,6 +30,8 @@ PASS ReadableStream: enqueue should throw when the stream is readable but draining PASS ReadableStream: enqueue should throw when the stream is closed PASS ReadableStream: should call underlying source methods as methods +FAIL ReadableStream: desiredSize when closed assert_equals: after closing, desiredSize must be 0 expected 0 but got 10 +FAIL ReadableStream: desiredSize when errored assert_equals: after erroring, desiredSize must be null expected (object) null but got (number) 10 PASS ReadableStream strategies: the default strategy should give desiredSize of 1 to start, decreasing by 1 per enqueue PASS ReadableStream strategies: the default strategy should continue giving desiredSize of 1 if the chunks are read immediately PASS ReadableStream integration test: adapting a random push source
diff --git a/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/general.sharedworker-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/general.sharedworker-expected.txt index aa3e4e4..5184a03d 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/general.sharedworker-expected.txt +++ b/third_party/WebKit/LayoutTests/external/wpt/streams/readable-streams/general.sharedworker-expected.txt
@@ -29,6 +29,8 @@ PASS ReadableStream: enqueue should throw when the stream is readable but draining PASS ReadableStream: enqueue should throw when the stream is closed PASS ReadableStream: should call underlying source methods as methods +FAIL ReadableStream: desiredSize when closed assert_equals: after closing, desiredSize must be 0 expected 0 but got 10 +FAIL ReadableStream: desiredSize when errored assert_equals: after erroring, desiredSize must be null expected (object) null but got (number) 10 PASS ReadableStream strategies: the default strategy should give desiredSize of 1 to start, decreasing by 1 per enqueue PASS ReadableStream strategies: the default strategy should continue giving desiredSize of 1 if the chunks are read immediately PASS ReadableStream integration test: adapting a random push source
diff --git a/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/floating-point-total-queue-size.dedicatedworker.html b/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/floating-point-total-queue-size.dedicatedworker.html new file mode 100644 index 0000000..f098b39a --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/floating-point-total-queue-size.dedicatedworker.html
@@ -0,0 +1,11 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>floating-point-total-queue-size.js dedicated worker wrapper file</title> + +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<script> +'use strict'; +fetch_tests_from_worker(new Worker('floating-point-total-queue-size.js')); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/floating-point-total-queue-size.html b/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/floating-point-total-queue-size.html new file mode 100644 index 0000000..b0ea679 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/floating-point-total-queue-size.html
@@ -0,0 +1,10 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>floating-point-total-queue-size.js browser context wrapper file</title> + +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + + + +<script src="floating-point-total-queue-size.js"></script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/floating-point-total-queue-size.js b/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/floating-point-total-queue-size.js new file mode 100644 index 0000000..44cf5fb --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/floating-point-total-queue-size.js
@@ -0,0 +1,90 @@ +'use strict'; + +if (self.importScripts) { + self.importScripts('/resources/testharness.js'); +} + +// Due to the limitations of floating-point precision, the calculation of desiredSize sometimes gives different answers +// than adding up the items in the queue would. It is important that implementations give the same result in these edge +// cases so that developers do not come to depend on non-standard behaviour. See +// https://github.com/whatwg/streams/issues/582 and linked issues for further discussion. + +promise_test(() => { + const writer = setupTestStream(); + + const writePromises = [ + writer.write(2), + writer.write(Number.MAX_SAFE_INTEGER) + ]; + + assert_equals(writer.desiredSize, 0 - 2 - Number.MAX_SAFE_INTEGER, + 'desiredSize must be calculated using double-precision floating-point arithmetic (after writing two chunks)'); + + return Promise.all(writePromises).then(() => { + assert_equals(writer.desiredSize, 0, '[[queueTotalSize]] must clamp to 0 if it becomes negative'); + }); +}, 'Floating point arithmetic must manifest near NUMBER.MAX_SAFE_INTEGER (total ends up positive)'); + +promise_test(() => { + const writer = setupTestStream(); + + const writePromises = [ + writer.write(1e-16), + writer.write(1) + ]; + + assert_equals(writer.desiredSize, 0 - 1e-16 - 1, + 'desiredSize must be calculated using double-precision floating-point arithmetic (after writing two chunks)'); + + return Promise.all(writePromises).then(() => { + assert_equals(writer.desiredSize, 0, '[[queueTotalSize]] must clamp to 0 if it becomes negative'); + }); +}, 'Floating point arithmetic must manifest near 0 (total ends up positive, but clamped)'); + +promise_test(() => { + const writer = setupTestStream(); + + const writePromises = [ + writer.write(1e-16), + writer.write(1), + writer.write(2e-16) + ]; + + assert_equals(writer.desiredSize, 0 - 1e-16 - 1 - 2e-16, + 'desiredSize must be calculated using double-precision floating-point arithmetic (after writing three chunks)'); + + return Promise.all(writePromises).then(() => { + assert_equals(writer.desiredSize, 0 - 1e-16 - 1 - 2e-16 + 1e-16 + 1 + 2e-16, + 'desiredSize must be calculated using floating-point arithmetic (after the three chunks have finished writing)'); + }); +}, 'Floating point arithmetic must manifest near 0 (total ends up positive, and not clamped)'); + +promise_test(() => { + const writer = setupTestStream(); + + const writePromises = [ + writer.write(2e-16), + writer.write(1) + ]; + + assert_equals(writer.desiredSize, 0 - 2e-16 - 1, + 'desiredSize must be calculated using double-precision floating-point arithmetic (after writing two chunks)'); + + return Promise.all(writePromises).then(() => { + assert_equals(writer.desiredSize, 0 - 2e-16 - 1 + 2e-16 + 1, + 'desiredSize must be calculated using floating-point arithmetic (after the two chunks have finished writing)'); + }); +}, 'Floating point arithmetic must manifest near 0 (total ends up zero)'); + +function setupTestStream() { + const strategy = { + size(x) { + return x; + }, + highWaterMark: 0 + }; + + const ws = new WritableStream({}, strategy); + + return ws.getWriter(); +}
diff --git a/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/floating-point-total-queue-size.serviceworker.https.html b/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/floating-point-total-queue-size.serviceworker.https.html new file mode 100644 index 0000000..1eb7c9e --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/floating-point-total-queue-size.serviceworker.https.html
@@ -0,0 +1,12 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>floating-point-total-queue-size.js service worker wrapper file</title> + +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/service-workers/service-worker/resources/test-helpers.sub.js"></script> + +<script> +'use strict'; +service_worker_test('floating-point-total-queue-size.js', 'Service worker test setup'); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/floating-point-total-queue-size.sharedworker.html b/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/floating-point-total-queue-size.sharedworker.html new file mode 100644 index 0000000..17be746 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/floating-point-total-queue-size.sharedworker.html
@@ -0,0 +1,11 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<title>floating-point-total-queue-size.js shared worker wrapper file</title> + +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<script> +'use strict'; +fetch_tests_from_worker(new SharedWorker('floating-point-total-queue-size.js')); +</script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/general.js b/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/general.js index c284338..bb48859e 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/general.js +++ b/third_party/WebKit/LayoutTests/external/wpt/streams/writable-streams/general.js
@@ -33,6 +33,17 @@ }, 'desiredSize on a writer for a closed stream'); test(() => { + const ws = new WritableStream({ + start(c) { + c.error(); + } + }); + + const writer = ws.getWriter(); + assert_equals(writer.desiredSize, null, 'desiredSize should be null'); +}, 'desiredSize on a writer for an errored stream'); + +test(() => { const ws = new WritableStream({}); const writer = ws.getWriter();
diff --git a/third_party/WebKit/LayoutTests/external/wpt/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes.html b/third_party/WebKit/LayoutTests/external/wpt/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes.html new file mode 100644 index 0000000..99b4f3d --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes.html
@@ -0,0 +1,73 @@ +<!DOCTYPE html> +<meta charset=utf-8> +<title>Effect value computation tests when keyframes overlap</title> +<link rel="help" href="https://w3c.github.io/web-animations/#the-effect-value-of-a-keyframe-animation-effect"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../../testcommon.js"></script> +<body> +<div id="log"></div> +<div id="target"></div> +<script> +'use strict'; + +test(function(t) { + var div = createDiv(t); + var anim = div.animate([ { offset: 0, opacity: 0 }, + { offset: 0, opacity: 0.1 }, + { offset: 0, opacity: 0.2 }, + { offset: 1, opacity: 0.8 }, + { offset: 1, opacity: 0.9 }, + { offset: 1, opacity: 1 } ], + { duration: 1000, + easing: 'cubic-bezier(0.5, -0.5, 0.5, 1.5)' }); + assert_equals(getComputedStyle(div).opacity, '0.2', + 'When progress is zero the last keyframe with offset 0 should' + + ' be used'); + // http://cubic-bezier.com/#.5,-0.5,.5,1.5 + // At t=0.15, the progress should be negative + anim.currentTime = 150; + assert_equals(getComputedStyle(div).opacity, '0', + 'When progress is negative, the first keyframe with a 0 offset' + + ' should be used'); + // At t=0.71, the progress should be just less than 1 + anim.currentTime = 710; + assert_approx_equals(parseFloat(getComputedStyle(div).opacity), 0.8, 0.01, + 'When progress is just less than 1, the first keyframe with an' + + ' offset of 1 should be used as the interval endpoint'); + // At t=0.85, the progress should be > 1 + anim.currentTime = 850; + assert_equals(getComputedStyle(div).opacity, '1', + 'When progress is greater than 1.0, the last keyframe with a 1' + + ' offset should be used'); + anim.finish(); + assert_equals(getComputedStyle(div).opacity, '1', + 'When progress is equal to 1.0, the last keyframe with a 1' + + ' offset should be used'); +}, 'Overlapping keyframes at 0 and 1 use the appropriate value when the' + + ' progress is outside the range [0, 1]'); + +test(function(t) { + var div = createDiv(t); + var anim = div.animate([ { offset: 0, opacity: 0 }, + { offset: 0.5, opacity: 0.3 }, + { offset: 0.5, opacity: 0.5 }, + { offset: 0.5, opacity: 0.7 }, + { offset: 1, opacity: 1 } ], 1000); + anim.currentTime = 250; + assert_equals(getComputedStyle(div).opacity, '0.15', + 'Before the overlap point, the first keyframe from the' + + ' overlap point should be used as interval endpoint'); + anim.currentTime = 500; + assert_equals(getComputedStyle(div).opacity, '0.7', + 'At the overlap point, the last keyframe from the' + + ' overlap point should be used as interval startpoint'); + anim.currentTime = 750; + assert_equals(getComputedStyle(div).opacity, '0.85', + 'After the overlap point, the last keyframe from the' + + ' overlap point should be used as interval startpoint'); +}, 'Overlapping keyframes between 0 and 1 use the appropriate value on each' + + ' side of the overlap point'); + +</script> +</body>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/web-animations/animation-model/keyframe-effects/effect-value-transformed-distance.html b/third_party/WebKit/LayoutTests/external/wpt/web-animations/animation-model/keyframe-effects/effect-value-transformed-distance.html new file mode 100644 index 0000000..2766745 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/web-animations/animation-model/keyframe-effects/effect-value-transformed-distance.html
@@ -0,0 +1,417 @@ +<!DOCTYPE html> +<meta charset=utf-8> +<title>Tests for calculation of the transformed distance when computing an effect value</title> +<link rel="help" href="https://w3c.github.io/web-animations/#the-effect-value-of-a-keyframe-animation-effect"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../../testcommon.js"></script> +<script src="../../resources/easing-tests.js"></script> +<body> +<div id="log"></div> +<div id="target"></div> +<script> +'use strict'; + +// Test that applying easing to keyframes is applied as expected + +gEasingTests.forEach(params => { + test(function(t) { + const target = createDiv(t); + const anim = target.animate([ { width: '0px' }, + // We put the easing on the second keyframe + // so we can test that it is only applied + // to the specified keyframe. + { width: '100px', easing: params.easing }, + { width: '200px' } ], + { duration: 2000, + fill: 'forwards' }); + + [ 0, 999, 1000, 1100, 1500, 2000 ].forEach(sampleTime => { + anim.currentTime = sampleTime; + + const portion = (sampleTime - 1000) / 1000; + const expectedWidth = sampleTime < 1000 + ? sampleTime / 10 // first segment is linear + : 100 + params.easingFunction(portion) * 100; + assert_approx_equals(parseFloat(getComputedStyle(target).width), + expectedWidth, + 0.01, + 'The width should be approximately ' + + `${expectedWidth} at ${sampleTime}ms`); + }); + }, `A ${params.desc} on a keyframe affects the resulting style`); +}); + +// Test that a linear-equivalent cubic-bezier easing applied to a keyframe does +// not alter (including clamping) the result. + +gEasingTests.forEach(params => { + const linearEquivalentEasings = [ 'cubic-bezier(0, 0, 0, 0)', + 'cubic-bezier(1, 1, 1, 1)' ]; + test(function(t) { + linearEquivalentEasings.forEach(linearEquivalentEasing => { + const timing = { duration: 1000, + fill: 'forwards', + easing: params.easing }; + + const linearTarget = createDiv(t); + const linearAnim = linearTarget.animate([ { width: '0px' }, + { width: '100px' } ], + timing); + + const equivalentTarget = createDiv(t); + const equivalentAnim = + equivalentTarget.animate([ { width: '0px', + easing: linearEquivalentEasing }, + { width: '100px' } ], + timing); + + [ 0, 250, 500, 750, 1000 ].forEach(sampleTime => { + linearAnim.currentTime = sampleTime; + equivalentAnim.currentTime = sampleTime; + + assert_equals(getComputedStyle(linearTarget).width, + getComputedStyle(equivalentTarget).width, + `The 'width' of the animated elements should be equal ` + + `at ${sampleTime}ms`); + }); + }); + }, 'Linear-equivalent cubic-bezier keyframe easing applied to an effect ' + + `with a ${params.desc} does not alter the result`); +}); + +// Test that different easing functions correctly handle inputs outside the +// range [0, 1]. This only occurs when we have an easing specified on the +// effect that produces a value outside [0, 1] which we then pass to an easing +// on a keyframe. + +function assert_style_left_at(animation, time, easingFunction) { + animation.currentTime = time; + var portion = time / animation.effect.timing.duration; + assert_approx_equals(pxToNum(getComputedStyle(animation.effect.target).left), + easingFunction(portion) * 100, + 0.01, + 'The left of the animation should be approximately ' + + easingFunction(portion) * 100 + ' at ' + time + 'ms'); +} + +test(function(t) { + var target = createDiv(t); + target.style.position = 'absolute'; + var anim = target.animate([ { left: '0px', easing: 'step-start' }, + { left: '100px' } ], + { duration: 1000, + fill: 'forwards', + easing: 'cubic-bezier(0, 1.5, 1, 1.5)' }); + + // The bezier function produces values greater than 1 (but always less than 2) + // in (0.23368794, 1) + anim.currentTime = 0; + assert_equals(getComputedStyle(target).left, '100px'); + anim.currentTime = 230; + assert_equals(getComputedStyle(target).left, '100px'); + anim.currentTime = 250; + assert_equals(getComputedStyle(target).left, '200px'); + anim.currentTime = 1000; + assert_equals(getComputedStyle(target).left, '100px'); +}, 'step-start easing with input progress greater than 1'); + +test(function(t) { + var target = createDiv(t); + target.style.position = 'absolute'; + var anim = target.animate([ { left: '0px', easing: 'step-end' }, + { left: '100px' } ], + { duration: 1000, + fill: 'forwards', + easing: 'cubic-bezier(0, 1.5, 1, 1.5)' }); + + // The bezier function produces values greater than 1 (but always less than 2) + // in (0.23368794, 1) + anim.currentTime = 0; + assert_equals(getComputedStyle(target).left, '0px'); + anim.currentTime = 230; + assert_equals(getComputedStyle(target).left, '0px'); + anim.currentTime = 250; + assert_equals(getComputedStyle(target).left, '100px'); + anim.currentTime = 1000; + assert_equals(getComputedStyle(target).left, '100px'); +}, 'step-end easing with input progress greater than 1'); + +test(function(t) { + var target = createDiv(t); + target.style.position = 'absolute'; + var anim = target.animate([ { left: '0px', easing: 'step-end' }, + { left: '100px' } ], + { duration: 1000, + fill: 'forwards', + easing: 'cubic-bezier(0, 3, 1, 3)' }); + + // The bezier function produces values greater than 2 (but always less than 3) + // in the range (~0.245, ~0.882) + anim.currentTime = 0; + assert_equals(getComputedStyle(target).left, '0px'); + anim.currentTime = 500; + assert_equals(getComputedStyle(target).left, '200px'); + anim.currentTime = 900; + assert_equals(getComputedStyle(target).left, '100px'); +}, 'step-end easing with input progress greater than 2'); + +test(function(t) { + var target = createDiv(t); + target.style.position = 'absolute'; + var anim = target.animate([ { left: '0px', easing: 'step-start' }, + { left: '100px' } ], + { duration: 1000, + fill: 'forwards', + easing: 'cubic-bezier(0, -0.5, 1, -0.5)' }); + + // The bezier function produces negative values (but always greater than -1) + // in (0, 0.766312060) + anim.currentTime = 0; + assert_equals(getComputedStyle(target).left, '100px'); + anim.currentTime = 750; + assert_equals(getComputedStyle(target).left, '0px'); + anim.currentTime = 800; + assert_equals(getComputedStyle(target).left, '100px'); + anim.currentTime = 1000; + assert_equals(getComputedStyle(target).left, '100px'); +}, 'step-start easing with input progress less than 0'); + +test(function(t) { + var target = createDiv(t); + target.style.position = 'absolute'; + var anim = target.animate([ { left: '0px', easing: 'step-start' }, + { left: '100px' } ], + { duration: 1000, + fill: 'forwards', + easing: 'cubic-bezier(0, -2, 1, -2)' }); + + // The bezier function produces values less than -1 (but always greater than + // -2) in the range (~0.118, ~0.755) + anim.currentTime = 0; + assert_equals(getComputedStyle(target).left, '100px'); + anim.currentTime = 100; + assert_equals(getComputedStyle(target).left, '0px'); + anim.currentTime = 500; + assert_equals(getComputedStyle(target).left, '-100px'); + anim.currentTime = 1000; + assert_equals(getComputedStyle(target).left, '100px'); +}, 'step-start easing with input progress less than -1'); + +test(function(t) { + var target = createDiv(t); + target.style.position = 'absolute'; + var anim = target.animate([ { left: '0px', easing: 'step-end' }, + { left: '100px' } ], + { duration: 1000, + fill: 'forwards', + easing: 'cubic-bezier(0, -0.5, 1, -0.5)' }); + + // The bezier function produces negative values (but always greater than -1) + // in (0, 0.766312060) + anim.currentTime = 0; + assert_equals(getComputedStyle(target).left, '0px'); + anim.currentTime = 750; + assert_equals(getComputedStyle(target).left, '-100px'); + anim.currentTime = 800; + assert_equals(getComputedStyle(target).left, '0px'); + anim.currentTime = 1000; + assert_equals(getComputedStyle(target).left, '100px'); +}, 'step-end easing with input progress less than 0'); + +test(function(t) { + var target = createDiv(t); + target.style.position = 'absolute'; + var anim = target.animate( + // http://cubic-bezier.com/#.5,1,.5,0 + [ { left: '0px', easing: 'cubic-bezier(0.5, 1, 0.5, 0)' }, + { left: '100px' } ], + { duration: 1000, + fill: 'forwards', + easing: 'cubic-bezier(0, 1.5, 1, 1.5)' }); + var keyframeEasing = function(x) { + assert_greater_than_equal(x, 0.0, + 'This function should be called in [0, 1.0] range'); + assert_less_than_equal(x, 1.0, + 'This function should be called in [0, 1.0] range'); + return cubicBezier(0.5, 1, 0.5, 0)(x); + } + var keyframeEasingExtrapolated = function(x) { + assert_greater_than(x, 1.0, + 'This function should be called in (1.0, infinity) range'); + // p3x + (p2y - p3y) / (p2x - p3x) * (x - p3x) + return 1.0 + (0 - 1) / (0.5 - 1) * (x - 1.0); + } + var effectEasing = function(x) { + return cubicBezier(0, 1.5, 1, 1.5)(x); + } + + // The effect-easing produces values greater than 1 in (0.23368794, 1) + assert_style_left_at(anim, 0, function(x) { + return keyframeEasing(effectEasing(x)); + }); + assert_style_left_at(anim, 230, function(x) { + return keyframeEasing(effectEasing(x)); + }); + assert_style_left_at(anim, 240, function(x) { + return keyframeEasingExtrapolated(effectEasing(x)); + }); + // Near the extreme point of the effect-easing function + assert_style_left_at(anim, 700, function(x) { + return keyframeEasingExtrapolated(effectEasing(x)); + }); + assert_style_left_at(anim, 990, function(x) { + return keyframeEasingExtrapolated(effectEasing(x)); + }); + assert_style_left_at(anim, 1000, function(x) { + return keyframeEasing(effectEasing(x)); + }); +}, 'cubic-bezier easing with input progress greater than 1'); + +test(function(t) { + var target = createDiv(t); + target.style.position = 'absolute'; + var anim = target.animate( + // http://cubic-bezier.com/#0,1.5,1,1.5 + [ { left: '0px', easing: 'cubic-bezier(0, 1.5, 1, 1.5)' }, + { left: '100px' } ], + { duration: 1000, + fill: 'forwards', + easing: 'cubic-bezier(0, 1.5, 1, 1.5)' }); + var easing = function(x) { + assert_greater_than_equal(x, 0.0, + 'This function should be called in [0, 1.0] range'); + assert_less_than_equal(x, 1.0, + 'This function should be called in [0, 1.0] range'); + return cubicBezier(0, 1.5, 1, 1.5)(x); + } + var easingExtrapolated = function(x) { + assert_greater_than(x, 1.0, + 'This function should be called in negative range'); + // For cubic-bezier(0, 1.5, 1, 1.5), the tangent at the + // endpoint (x = 1.0) is infinity so we should just return 1.0. + return 1.0; + } + + // The effect-easing produces values greater than 1 in (0.23368794, 1) + assert_style_left_at(anim, 0, function(x) { + return easing(easing(x)) + }); + assert_style_left_at(anim, 230, function(x) { + return easing(easing(x)) + }); + assert_style_left_at(anim, 240, function(x) { + return easingExtrapolated(easing(x)); + }); + // Near the extreme point of the effect-easing function + assert_style_left_at(anim, 700, function(x) { + return easingExtrapolated(easing(x)); + }); + assert_style_left_at(anim, 990, function(x) { + return easingExtrapolated(easing(x)); + }); + assert_style_left_at(anim, 1000, function(x) { + return easing(easing(x)) + }); +}, 'cubic-bezier easing with input progress greater than 1 and where the ' + + 'tangent on the upper boundary is infinity'); + +test(function(t) { + var target = createDiv(t); + target.style.position = 'absolute'; + var anim = target.animate( + // http://cubic-bezier.com/#.5,1,.5,0 + [ { left: '0px', easing: 'cubic-bezier(0.5, 1, 0.5, 0)' }, + { left: '100px' } ], + { duration: 1000, + fill: 'forwards', + easing: 'cubic-bezier(0, -0.5, 1, -0.5)' }); + var keyframeEasing = function(x) { + assert_greater_than_equal(x, 0.0, + 'This function should be called in [0, 1.0] range'); + assert_less_than_equal(x, 1.0, + 'This function should be called in [0, 1.0] range'); + return cubicBezier(0.5, 1, 0.5, 0)(x); + } + var keyframeEasingExtrapolated = function(x) { + assert_less_than(x, 0.0, + 'This function should be called in negative range'); + // p0x + (p1y - p0y) / (p1x - p0x) * (x - p0x) + return (1 / 0.5) * x; + } + var effectEasing = function(x) { + return cubicBezier(0, -0.5, 1, -0.5)(x); + } + + // The effect-easing produces negative values in (0, 0.766312060) + assert_style_left_at(anim, 0, function(x) { + return keyframeEasing(effectEasing(x)); + }); + assert_style_left_at(anim, 10, function(x) { + return keyframeEasingExtrapolated(effectEasing(x)); + }); + // Near the extreme point of the effect-easing function + assert_style_left_at(anim, 300, function(x) { + return keyframeEasingExtrapolated(effectEasing(x)); + }); + assert_style_left_at(anim, 750, function(x) { + return keyframeEasingExtrapolated(effectEasing(x)); + }); + assert_style_left_at(anim, 770, function(x) { + return keyframeEasing(effectEasing(x)); + }); + assert_style_left_at(anim, 1000, function(x) { + return keyframeEasing(effectEasing(x)); + }); +}, 'cubic-bezier easing with input progress less than 0'); + +test(function(t) { + var target = createDiv(t); + target.style.position = 'absolute'; + var anim = target.animate( + // http://cubic-bezier.com/#0,-0.5,1,-0.5 + [ { left: '0px', easing: 'cubic-bezier(0, -0.5, 1, -0.5)' }, + { left: '100px' } ], + { duration: 1000, + fill: 'forwards', + easing: 'cubic-bezier(0, -0.5, 1, -0.5)' }); + var easing = function(x) { + assert_greater_than_equal(x, 0.0, + 'This function should be called in [0, 1.0] range'); + assert_less_than_equal(x, 1.0, + 'This function should be called in [0, 1.0] range'); + return cubicBezier(0, -0.5, 1, -0.5)(x); + } + var easingExtrapolated = function(x) { + assert_less_than(x, 0.0, + 'This function should be called in negative range'); + // For cubic-bezier(0, -0.5, 1, -0.5), the tangent at the + // endpoint (x = 0.0) is infinity so we should just return 0.0. + return 0.0; + } + + // The effect-easing produces negative values in (0, 0.766312060) + assert_style_left_at(anim, 0, function(x) { + return easing(easing(x)) + }); + assert_style_left_at(anim, 10, function(x) { + return easingExtrapolated(easing(x)); + }); + // Near the extreme point of the effect-easing function + assert_style_left_at(anim, 300, function(x) { + return easingExtrapolated(easing(x)); + }); + assert_style_left_at(anim, 750, function(x) { + return easingExtrapolated(easing(x)); + }); + assert_style_left_at(anim, 770, function(x) { + return easing(easing(x)) + }); + assert_style_left_at(anim, 1000, function(x) { + return easing(easing(x)) + }); +}, 'cubic-bezier easing with input progress less than 0 and where the ' + + 'tangent on the lower boundary is infinity'); + +</script> +</body>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/web-animations/animation-model/keyframe-effects/effect-value-visibility.html b/third_party/WebKit/LayoutTests/external/wpt/web-animations/animation-model/keyframe-effects/effect-value-visibility.html new file mode 100644 index 0000000..cf951b01 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/web-animations/animation-model/keyframe-effects/effect-value-visibility.html
@@ -0,0 +1,55 @@ +<!DOCTYPE html> +<meta charset=utf-8> +<title>Effect value computation tests for 'visibility' property</title> +<link rel="help" href="https://w3c.github.io/web-animations/#the-effect-value-of-a-keyframe-animation-effect"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../../testcommon.js"></script> +<body> +<div id="log"></div> +<div id="target"></div> +<script> +'use strict'; + +test(function(t) { + var div = createDiv(t); + var anim = div.animate({ visibility: ['hidden','visible'] }, + { duration: 100 * MS_PER_SEC, fill: 'both' }); + + anim.currentTime = 0; + assert_equals(getComputedStyle(div).visibility, 'hidden', + 'Visibility when progress = 0'); + + anim.currentTime = 10 * MS_PER_SEC + 1; + assert_equals(getComputedStyle(div).visibility, 'visible', + 'Visibility when progress > 0 due to linear easing'); + + anim.finish(); + assert_equals(getComputedStyle(div).visibility, 'visible', + 'Visibility when progress = 1'); + +}, 'Visibility clamping behavior'); + +test(function(t) { + var div = createDiv(t); + var anim = div.animate({ visibility: ['hidden', 'visible'] }, + { duration: 100 * MS_PER_SEC, fill: 'both', + easing: 'cubic-bezier(0.25, -0.6, 0, 0.5)' }); + + anim.currentTime = 0; + assert_equals(getComputedStyle(div).visibility, 'hidden', + 'Visibility when progress = 0'); + + // Timing function is below zero. So we expected visibility is hidden. + anim.currentTime = 10 * MS_PER_SEC + 1; + assert_equals(getComputedStyle(div).visibility, 'hidden', + 'Visibility when progress < 0 due to cubic-bezier easing'); + + anim.currentTime = 60 * MS_PER_SEC; + assert_equals(getComputedStyle(div).visibility, 'visible', + 'Visibility when progress > 0 due to cubic-bezier easing'); + +}, 'Visibility clamping behavior with an easing that has a negative component'); + +</script> +</body>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/web-animations/animation-model/keyframe-effects/the-effect-value-of-a-keyframe-effect.html b/third_party/WebKit/LayoutTests/external/wpt/web-animations/animation-model/keyframe-effects/the-effect-value-of-a-keyframe-effect.html deleted file mode 100644 index eb67f669..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/web-animations/animation-model/keyframe-effects/the-effect-value-of-a-keyframe-effect.html +++ /dev/null
@@ -1,114 +0,0 @@ -<!DOCTYPE html> -<meta charset=utf-8> -<title>Keyframe handling tests</title> -<link rel="help" href="https://w3c.github.io/web-animations/#the-effect-value-of-a-keyframe-animation-effect"> -<script src="/resources/testharness.js"></script> -<script src="/resources/testharnessreport.js"></script> -<script src="../../testcommon.js"></script> -<body> -<div id="log"></div> -<div id="target"></div> -<script> -'use strict'; - -test(function(t) { - var div = createDiv(t); - var anim = div.animate([ { offset: 0, opacity: 0 }, - { offset: 0, opacity: 0.1 }, - { offset: 0, opacity: 0.2 }, - { offset: 1, opacity: 0.8 }, - { offset: 1, opacity: 0.9 }, - { offset: 1, opacity: 1 } ], - { duration: 1000, - easing: 'cubic-bezier(0.5, -0.5, 0.5, 1.5)' }); - assert_equals(getComputedStyle(div).opacity, '0.2', - 'When progress is zero the last keyframe with offset 0 should' - + ' be used'); - // http://cubic-bezier.com/#.5,-0.5,.5,1.5 - // At t=0.15, the progress should be negative - anim.currentTime = 150; - assert_equals(getComputedStyle(div).opacity, '0', - 'When progress is negative, the first keyframe with a 0 offset' - + ' should be used'); - // At t=0.71, the progress should be just less than 1 - anim.currentTime = 710; - assert_approx_equals(parseFloat(getComputedStyle(div).opacity), 0.8, 0.01, - 'When progress is just less than 1, the first keyframe with an' - + ' offset of 1 should be used as the interval endpoint'); - // At t=0.85, the progress should be > 1 - anim.currentTime = 850; - assert_equals(getComputedStyle(div).opacity, '1', - 'When progress is greater than 1.0, the last keyframe with a 1' - + ' offset should be used'); - anim.finish(); - assert_equals(getComputedStyle(div).opacity, '1', - 'When progress is equal to 1.0, the last keyframe with a 1' - + ' offset should be used'); -}, 'Overlapping keyframes at 0 and 1 use the appropriate value when the' - + ' progress is outside the range [0, 1]'); - -test(function(t) { - var div = createDiv(t); - var anim = div.animate([ { offset: 0, opacity: 0 }, - { offset: 0.5, opacity: 0.3 }, - { offset: 0.5, opacity: 0.5 }, - { offset: 0.5, opacity: 0.7 }, - { offset: 1, opacity: 1 } ], 1000); - anim.currentTime = 250; - assert_equals(getComputedStyle(div).opacity, '0.15', - 'Before the overlap point, the first keyframe from the' - + ' overlap point should be used as interval endpoint'); - anim.currentTime = 500; - assert_equals(getComputedStyle(div).opacity, '0.7', - 'At the overlap point, the last keyframe from the' - + ' overlap point should be used as interval startpoint'); - anim.currentTime = 750; - assert_equals(getComputedStyle(div).opacity, '0.85', - 'After the overlap point, the last keyframe from the' - + ' overlap point should be used as interval startpoint'); -}, 'Overlapping keyframes between 0 and 1 use the appropriate value on each' - + ' side of the overlap point'); - -test(function(t) { - var div = createDiv(t); - var anim = div.animate({ visibility: ['hidden','visible'] }, - { duration: 100 * MS_PER_SEC, fill: 'both' }); - - anim.currentTime = 0; - assert_equals(getComputedStyle(div).visibility, 'hidden', - 'Visibility when progress = 0.'); - - anim.currentTime = 10 * MS_PER_SEC + 1; - assert_equals(getComputedStyle(div).visibility, 'visible', - 'Visibility when progress > 0 due to linear easing.'); - - anim.finish(); - assert_equals(getComputedStyle(div).visibility, 'visible', - 'Visibility when progress = 1.'); - -}, "Test visibility clamping behavior."); - -test(function(t) { - var div = createDiv(t); - var anim = div.animate({ visibility: ['hidden', 'visible'] }, - { duration: 100 * MS_PER_SEC, fill: 'both', - easing: 'cubic-bezier(0.25, -0.6, 0, 0.5)' }); - - anim.currentTime = 0; - assert_equals(getComputedStyle(div).visibility, 'hidden', - 'Visibility when progress = 0.'); - - // Timing function is below zero. So we expected visibility is hidden. - anim.currentTime = 10 * MS_PER_SEC + 1; - assert_equals(getComputedStyle(div).visibility, 'hidden', - 'Visibility when progress < 0 due to cubic-bezier easing.'); - - anim.currentTime = 60 * MS_PER_SEC; - assert_equals(getComputedStyle(div).visibility, 'visible', - 'Visibility when progress > 0 due to cubic-bezier easing.'); - -}, "Test visibility clamping behavior with an easing that has a negative component"); - -done(); -</script> -</body>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/Animatable/animate-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/Animatable/animate-expected.txt index a06e6d2e..965a1c7 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/Animatable/animate-expected.txt +++ b/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/Animatable/animate-expected.txt
@@ -1,8 +1,8 @@ -CONSOLE WARNING: line 77: Invalid keyframe value for property top: invalid -CONSOLE WARNING: line 77: Invalid keyframe value for property left: invalid -CONSOLE WARNING: line 77: Invalid keyframe value for property left: invalid +CONSOLE WARNING: line 78: Invalid keyframe value for property top: invalid +CONSOLE WARNING: line 78: Invalid keyframe value for property left: invalid +CONSOLE WARNING: line 78: Invalid keyframe value for property left: invalid This is a testharness.js-based test. -Found 59 tests; 17 PASS, 42 FAIL, 0 TIMEOUT, 0 NOTRUN. +Found 67 tests; 25 PASS, 42 FAIL, 0 TIMEOUT, 0 NOTRUN. PASS Element.animate() creates an Animation object FAIL Element.animate() creates an Animation object in the relevant realm of the target element Cannot read property 'prototype' of undefined PASS Element.animate() creates an Animation object with a KeyframeEffect @@ -54,6 +54,14 @@ FAIL Element.animate() does not accept keyframes with an invalid composite value assert_throws: function "function () { div.animate(subtest.input, 2000); }" did not throw +PASS Element.animate() does not accept invalid easing: '' +PASS Element.animate() does not accept invalid easing: 'test' +PASS Element.animate() does not accept invalid easing: 'cubic-bezier(1.1, 0, 1, 1)' +PASS Element.animate() does not accept invalid easing: 'cubic-bezier(0, 0, 1.1, 1)' +PASS Element.animate() does not accept invalid easing: 'cubic-bezier(-0.1, 0, 1, 1)' +PASS Element.animate() does not accept invalid easing: 'cubic-bezier(0, 0, -0.1, 1)' +PASS Element.animate() does not accept invalid easing: 'steps(-1, start)' +PASS Element.animate() does not accept invalid easing: 'steps(0.1, start)' PASS Element.animate() accepts a double as an options argument PASS Element.animate() accepts a KeyframeAnimationOptions argument PASS Element.animate() accepts an absent options argument
diff --git a/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/Animatable/animate.html b/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/Animatable/animate.html index a54298aa4..6c5dae0 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/Animatable/animate.html +++ b/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/Animatable/animate.html
@@ -5,6 +5,7 @@ <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="../../testcommon.js"></script> +<script src="../../resources/easing-tests.js"></script> <script src="../../resources/keyframe-utils.js"></script> <body> <div id="log"></div> @@ -96,6 +97,15 @@ }, 'Element.animate() does not accept ' + subtest.desc); }); +gInvalidEasings.forEach(invalidEasing => { + test(function(t) { + var div = createDiv(t); + assert_throws(new TypeError, () => { + div.animate({ easing: invalidEasing }, 2000); + }); + }, `Element.animate() does not accept invalid easing: '${invalidEasing}'`); +}); + test(function(t) { var div = createDiv(t); var anim = div.animate({ opacity: [ 0, 1 ] }, 2000);
diff --git a/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/AnimationEffectTiming/easing.html b/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/AnimationEffectTiming/easing.html index cedd7e6..6c3d305 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/AnimationEffectTiming/easing.html +++ b/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/AnimationEffectTiming/easing.html
@@ -5,7 +5,7 @@ <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="../../testcommon.js"></script> -<script src="../../resources/effect-easing-tests.js"></script> +<script src="../../resources/easing-tests.js"></script> <body> <div id="log"></div> <script> @@ -21,7 +21,7 @@ easingFunction(portion) + ' at ' + currentTime + 'ms'); } -gEffectEasingTests.forEach(function(options) { +gEasingTests.forEach(function(options) { test(function(t) { var target = createDiv(t); var anim = target.animate([ { opacity: 0 }, { opacity: 1 } ], @@ -40,15 +40,15 @@ }, options.desc); }); -gInvalidEasingTests.forEach(function(options) { +gInvalidEasings.forEach(function(invalidEasing) { test(function(t) { var div = createDiv(t); var anim = div.animate({ opacity: [ 0, 1 ] }, 100 * MS_PER_SEC); assert_throws({ name: 'TypeError' }, function() { - anim.effect.timing.easing = options.easing; + anim.effect.timing.easing = invalidEasing; }); - }, 'Invalid effect easing value test: \'' + options.easing + '\''); + }, 'Invalid effect easing value test: \'' + invalidEasing + '\''); }); test(function(t) {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/KeyframeEffect/constructor-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/KeyframeEffect/constructor-expected.txt index 19bfac9..3ea8aff 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/KeyframeEffect/constructor-expected.txt +++ b/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/KeyframeEffect/constructor-expected.txt
@@ -1,15 +1,17 @@ -CONSOLE WARNING: line 128: Invalid keyframe value for property top: invalid -CONSOLE WARNING: line 133: Invalid keyframe value for property top: invalid -CONSOLE WARNING: line 128: Invalid keyframe value for property left: invalid -CONSOLE WARNING: line 133: Invalid keyframe value for property left: invalid -CONSOLE WARNING: line 128: Invalid keyframe value for property left: invalid -CONSOLE WARNING: line 133: Invalid keyframe value for property left: invalid +CONSOLE WARNING: line 147: Invalid keyframe value for property top: invalid +CONSOLE WARNING: line 152: Invalid keyframe value for property top: invalid +CONSOLE WARNING: line 147: Invalid keyframe value for property left: invalid +CONSOLE WARNING: line 152: Invalid keyframe value for property left: invalid +CONSOLE WARNING: line 147: Invalid keyframe value for property left: invalid +CONSOLE WARNING: line 152: Invalid keyframe value for property left: invalid This is a testharness.js-based test. -Found 125 tests; 38 PASS, 87 FAIL, 0 TIMEOUT, 0 NOTRUN. +Found 127 tests; 40 PASS, 87 FAIL, 0 TIMEOUT, 0 NOTRUN. FAIL a KeyframeEffectReadOnly can be constructed with no frames (intermediate value).getKeyframes is not a function FAIL easing values are parsed correctly when passed to the KeyframeEffectReadOnly constructor in a property-indexed keyframe effect.getKeyframes is not a function FAIL easing values are parsed correctly when passed to the KeyframeEffectReadOnly constructor in regular keyframes effect.getKeyframes is not a function -PASS easing values are parsed correctly when passed to the KeyframeEffectReadOnly constructor in KeyframeTimingOptions +PASS easing values are parsed correctly when passed to the KeyframeEffectReadOnly constructor in KeyframeEffectOptions +PASS invalid easing values are correctly rejected when passed to the KeyframeEffectReadOnly constructor in regular keyframes +PASS invalid easing values are correctly rejected when passed to the KeyframeEffectReadOnly constructor in KeyframeEffectOptions FAIL composite values are parsed correctly when passed to the KeyframeEffectReadOnly constructor in property-indexed keyframes effect.getKeyframes is not a function FAIL composite values are parsed correctly when passed to the KeyframeEffectReadOnly constructor in regular keyframes effect.getKeyframes is not a function FAIL composite value is absent if the composite operation specified on the keyframe effect is being used effect.getKeyframes is not a function
diff --git a/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/KeyframeEffect/constructor.html b/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/KeyframeEffect/constructor.html index f7c61995..6be0c78 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/KeyframeEffect/constructor.html +++ b/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/KeyframeEffect/constructor.html
@@ -5,6 +5,7 @@ <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="../../testcommon.js"></script> +<script src="../../resources/easing-tests.js"></script> <script src="../../resources/keyframe-utils.js"></script> <body> <div id="log"></div> @@ -66,7 +67,25 @@ "resulting easing for '" + easing + "'"); }); }, "easing values are parsed correctly when passed to the " + - "KeyframeEffectReadOnly constructor in KeyframeTimingOptions"); + "KeyframeEffectReadOnly constructor in KeyframeEffectOptions"); + +test(function(t) { + gInvalidEasings.forEach(invalidEasing => { + assert_throws(new TypeError, () => { + new KeyframeEffectReadOnly(target, { easing: invalidEasing }); + }, `TypeError is thrown for easing '${invalidEasing}'`); + }); +}, 'invalid easing values are correctly rejected when passed to the ' + + 'KeyframeEffectReadOnly constructor in regular keyframes'); + +test(function(t) { + gInvalidEasings.forEach(invalidEasing => { + assert_throws(new TypeError, () => { + new KeyframeEffectReadOnly(target, null, { easing: invalidEasing }); + }, `TypeError is thrown for easing '${invalidEasing}'`); + }); +}, 'invalid easing values are correctly rejected when passed to the ' + + 'KeyframeEffectReadOnly constructor in KeyframeEffectOptions'); test(function(t) { var getKeyframe = function(composite) {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/KeyframeEffect/effect-easing-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/KeyframeEffect/effect-easing-expected.txt deleted file mode 100644 index fdf8ff2..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/KeyframeEffect/effect-easing-expected.txt +++ /dev/null
@@ -1,48 +0,0 @@ -This is a testharness.js-based test. -FAIL step-start function Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'. -FAIL steps(1, start) function Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'. -FAIL steps(2, start) function Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'. -FAIL step-end function Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'. -FAIL steps(1) function Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'. -FAIL steps(1, end) function Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'. -FAIL steps(2, end) function Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'. -FAIL linear function Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'. -FAIL ease function Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'. -FAIL ease-in function Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'. -FAIL ease-in-out function Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'. -FAIL ease-out function Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'. -FAIL easing function which produces values greater than 1 Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'. -FAIL effect easing produces values greater than 1 with keyframe easing cubic-bezier(0, 0, 0, 0) Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'. -FAIL effect easing produces values greater than 1 with keyframe easing cubic-bezier(1, 1, 1, 1) Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'. -FAIL effect easing produces negative values 1 with keyframe easing cubic-bezier(0, 0, 0, 0) Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'. -FAIL effect easing produces negative values 1 with keyframe easing cubic-bezier(1, 1, 1, 1) Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'. -PASS effect easing produces values greater than 1 with step-start keyframe -PASS effect easing produces values greater than 1 with step-end keyframe -PASS effect easing produces negative values with step-start keyframe -PASS effect easing produces negative values with step-end keyframe -FAIL effect easing produces values greater than 1 with keyframe easing producing values greater than 1 Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'. -FAIL effect easing which produces values greater than 1 and the tangent on the upper boundary is infinity with keyframe easing producing values greater than 1 Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'. -FAIL effect easing produces negative values with keyframe easing producing negative values Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'. -FAIL effect easing which produces negative values and the tangent on the lower boundary is infinity with keyframe easing producing negative values Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'. -FAIL Test bounds point of step-start easing assert_equals: Progress at 0ms expected 0 but got 0.5 -FAIL Test bounds point of step-start easing with compositor assert_equals: Progress at 0ms expected 0 but got 0.5 -FAIL Test bounds point of step-start easing with reverse direction assert_equals: Progress at 2000ms expected 0 but got 0.5 -PASS Test bounds point of step-start easing with iterationStart not at a transition point -FAIL Test bounds point of step-start easing with iterationStart and delay assert_equals: Progress at 0ms expected 0.5 but got 1 -FAIL Test bounds point of step-start easing with iterationStart and reverse direction assert_equals: Progress at 2000ms expected 0.5 but got 1 -FAIL Test bounds point of step(4, start) easing with iterationStart 0.75 and delay assert_equals: Progress at 0ms expected 0.75 but got 1 -FAIL Test bounds point of step-start easing with alternate direction assert_equals: Progress at 3000ms expected 0.5 but got 1 -FAIL Test bounds point of step-start easing with alternate-reverse direction assert_equals: Progress at 3000ms expected 0.5 but got 1 -FAIL Test bounds point of step-start easing in keyframe assert_equals: Progress at 0ms expected "0px" but got "50px" -FAIL Test bounds point of step-end easing with iterationStart and delay assert_equals: Progress at 0ms expected 0 but got 0.5 -PASS Test bounds point of step-end easing with iterationStart not at a transition point -PASS Invalid keyframe easing value: '' -PASS Invalid keyframe easing value: 'test' -PASS Invalid keyframe easing value: 'cubic-bezier(1.1, 0, 1, 1)' -PASS Invalid keyframe easing value: 'cubic-bezier(0, 0, 1.1, 1)' -PASS Invalid keyframe easing value: 'cubic-bezier(-0.1, 0, 1, 1)' -PASS Invalid keyframe easing value: 'cubic-bezier(0, 0, -0.1, 1)' -PASS Invalid keyframe easing value: 'steps(-1, start)' -PASS Invalid keyframe easing value: 'steps(0.1, start)' -Harness: the test ran to completion. -
diff --git a/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/KeyframeEffect/effect-easing.html b/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/KeyframeEffect/effect-easing.html deleted file mode 100644 index 05019cdf..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/web-animations/interfaces/KeyframeEffect/effect-easing.html +++ /dev/null
@@ -1,683 +0,0 @@ -<!DOCTYPE html> -<meta charset=utf-8> -<title>Effect-level easing tests</title> -<link rel="help" href="http://w3c.github.io/web-animations/#calculating-the-transformed-time"> -<link rel="author" title="Hiroyuki Ikezoe" href="mailto:hiikezoe@mozilla-japan.org"> -<script src="/resources/testharness.js"></script> -<script src="/resources/testharnessreport.js"></script> -<script src="../../testcommon.js"></script> -<script src="../../resources/effect-easing-tests.js"></script> -<body> -<div id="log"></div> -<div id="target"></div> -<script> -"use strict"; - -function assert_style_left_at(animation, time, easingFunction) { - animation.currentTime = time; - var portion = time / animation.effect.timing.duration; - assert_approx_equals(pxToNum(getComputedStyle(animation.effect.target).left), - easingFunction(portion) * 100, - 0.01, - 'The left of the animation should be approximately ' + - easingFunction(portion) * 100 + ' at ' + time + 'ms'); -} - -gEffectEasingTests.forEach(function(options) { - test(function(t) { - var target = createDiv(t); - target.style.position = 'absolute'; - var anim = target.animate([ { left: '0px' }, { left: '100px' } ], - { duration: 1000, - fill: 'forwards', - easing: options.easing }); - var easing = options.easingFunction; - - anim.pause(); - - assert_style_left_at(anim, 0, easing); - assert_style_left_at(anim, 250, easing); - assert_style_left_at(anim, 500, easing); - assert_style_left_at(anim, 750, easing); - assert_style_left_at(anim, 1000, easing); - }, options.desc); -}); - -var gEffectEasingTestsWithKeyframeEasing = [ - { - desc: 'effect easing produces values greater than 1 with keyframe ' + - 'easing cubic-bezier(0, 0, 0, 0)', - easing: 'cubic-bezier(0, 1.5, 1, 1.5)', - keyframeEasing: 'cubic-bezier(0, 0, 0, 0)', // linear - easingFunction: cubicBezier(0, 1.5, 1, 1.5) - }, - { - desc: 'effect easing produces values greater than 1 with keyframe ' + - 'easing cubic-bezier(1, 1, 1, 1)', - easing: 'cubic-bezier(0, 1.5, 1, 1.5)', - keyframeEasing: 'cubic-bezier(1, 1, 1, 1)', // linear - easingFunction: cubicBezier(0, 1.5, 1, 1.5) - }, - { - desc: 'effect easing produces negative values 1 with keyframe ' + - 'easing cubic-bezier(0, 0, 0, 0)', - easing: 'cubic-bezier(0, -0.5, 1, -0.5)', - keyframeEasing: 'cubic-bezier(0, 0, 0, 0)', // linear - easingFunction: cubicBezier(0, -0.5, 1, -0.5) - }, - { - desc: 'effect easing produces negative values 1 with keyframe ' + - 'easing cubic-bezier(1, 1, 1, 1)', - easing: 'cubic-bezier(0, -0.5, 1, -0.5)', - keyframeEasing: 'cubic-bezier(1, 1, 1, 1)', // linear - easingFunction: cubicBezier(0, -0.5, 1, -0.5) - }, -]; - -gEffectEasingTestsWithKeyframeEasing.forEach(function(options) { - test(function(t) { - var target = createDiv(t); - target.style.position = 'absolute'; - var anim = target.animate( - [ { left: '0px', easing: options.keyframeEasing }, - { left: '100px' } ], - { duration: 1000, - fill: 'forwards', - easing: options.easing }); - var easing = options.easingFunction; - - anim.pause(); - - assert_style_left_at(anim, 0, easing); - assert_style_left_at(anim, 250, easing); - assert_style_left_at(anim, 500, easing); - assert_style_left_at(anim, 750, easing); - assert_style_left_at(anim, 1000, easing); - }, options.desc); -}); - -// Other test cases that effect easing produces values outside of [0,1]. -test(function(t) { - var target = createDiv(t); - target.style.position = 'absolute'; - var anim = target.animate([ { left: '0px', easing: 'step-start' }, - { left: '100px' } ], - { duration: 1000, - fill: 'forwards', - easing: 'cubic-bezier(0, 1.5, 1, 1.5)' }); - anim.pause(); - - // The bezier function produces values greater than 1 in (0.23368794, 1) - anim.currentTime = 0; - assert_equals(getComputedStyle(target).left, '100px'); - anim.currentTime = 230; - assert_equals(getComputedStyle(target).left, '100px'); - anim.currentTime = 250; - assert_equals(getComputedStyle(target).left, '100px'); - anim.currentTime = 1000; - assert_equals(getComputedStyle(target).left, '100px'); -}, 'effect easing produces values greater than 1 with step-start keyframe'); - -test(function(t) { - var target = createDiv(t); - target.style.position = 'absolute'; - var anim = target.animate([ { left: '0px', easing: 'step-end' }, - { left: '100px' } ], - { duration: 1000, - fill: 'forwards', - easing: 'cubic-bezier(0, 1.5, 1, 1.5)' }); - anim.pause(); - - // The bezier function produces values greater than 1 in (0.23368794, 1) - anim.currentTime = 0; - assert_equals(getComputedStyle(target).left, '0px'); - anim.currentTime = 230; - assert_equals(getComputedStyle(target).left, '0px'); - anim.currentTime = 250; - assert_equals(getComputedStyle(target).left, '100px'); - anim.currentTime = 1000; - assert_equals(getComputedStyle(target).left, '100px'); -}, 'effect easing produces values greater than 1 with step-end keyframe'); - -test(function(t) { - var target = createDiv(t); - target.style.position = 'absolute'; - var anim = target.animate([ { left: '0px', easing: 'step-start' }, - { left: '100px' } ], - { duration: 1000, - fill: 'forwards', - easing: 'cubic-bezier(0, -0.5, 1, -0.5)' }); - anim.pause(); - - // The bezier function produces negative values in (0, 0.766312060) - anim.currentTime = 0; - assert_equals(getComputedStyle(target).left, '100px'); - anim.currentTime = 750; - assert_equals(getComputedStyle(target).left, '0px'); - anim.currentTime = 800; - assert_equals(getComputedStyle(target).left, '100px'); - anim.currentTime = 1000; - assert_equals(getComputedStyle(target).left, '100px'); -}, 'effect easing produces negative values with step-start keyframe'); - -test(function(t) { - var target = createDiv(t); - target.style.position = 'absolute'; - var anim = target.animate([ { left: '0px', easing: 'step-end' }, - { left: '100px' } ], - { duration: 1000, - fill: 'forwards', - easing: 'cubic-bezier(0, -0.5, 1, -0.5)' }); - anim.pause(); - - // The bezier function produces negative values in (0, 0.766312060) - anim.currentTime = 0; - assert_equals(getComputedStyle(target).left, '0px'); - anim.currentTime = 750; - assert_equals(getComputedStyle(target).left, '0px'); - anim.currentTime = 800; - assert_equals(getComputedStyle(target).left, '0px'); - anim.currentTime = 1000; - assert_equals(getComputedStyle(target).left, '100px'); -}, 'effect easing produces negative values with step-end keyframe'); - -test(function(t) { - var target = createDiv(t); - target.style.position = 'absolute'; - var anim = target.animate( - // http://cubic-bezier.com/#.5,1,.5,0 - [ { left: '0px', easing: 'cubic-bezier(0.5, 1, 0.5, 0)' }, - { left: '100px' } ], - { duration: 1000, - fill: 'forwards', - easing: 'cubic-bezier(0, 1.5, 1, 1.5)' }); - var keyframeEasing = function(x) { - assert_greater_than_equal(x, 0.0, - 'This function should be called in [0, 1.0] range'); - assert_less_than_equal(x, 1.0, - 'This function should be called in [0, 1.0] range'); - return cubicBezier(0.5, 1, 0.5, 0)(x); - } - var keyframeEasingExtrapolated = function(x) { - assert_greater_than(x, 1.0, - 'This function should be called in (1.0, infinity) range'); - // p3x + (p2y - p3y) / (p2x - p3x) * (x - p3x) - return 1.0 + (0 - 1) / (0.5 - 1) * (x - 1.0); - } - var effectEasing = function(x) { - return cubicBezier(0, 1.5, 1, 1.5)(x); - } - - anim.pause(); - - // The effect-easing produces values greater than 1 in (0.23368794, 1) - assert_style_left_at(anim, 0, function(x) { - return keyframeEasing(effectEasing(x)); - }); - assert_style_left_at(anim, 230, function(x) { - return keyframeEasing(effectEasing(x)); - }); - assert_style_left_at(anim, 240, function(x) { - return keyframeEasingExtrapolated(effectEasing(x)); - }); - // Near the extreme point of the effect-easing function - assert_style_left_at(anim, 700, function(x) { - return keyframeEasingExtrapolated(effectEasing(x)); - }); - assert_style_left_at(anim, 990, function(x) { - return keyframeEasingExtrapolated(effectEasing(x)); - }); - assert_style_left_at(anim, 1000, function(x) { - return keyframeEasing(effectEasing(x)); - }); -}, 'effect easing produces values greater than 1 with keyframe easing ' + - 'producing values greater than 1'); - -test(function(t) { - var target = createDiv(t); - target.style.position = 'absolute'; - var anim = target.animate( - // http://cubic-bezier.com/#0,1.5,1,1.5 - [ { left: '0px', easing: 'cubic-bezier(0, 1.5, 1, 1.5)' }, - { left: '100px' } ], - { duration: 1000, - fill: 'forwards', - easing: 'cubic-bezier(0, 1.5, 1, 1.5)' }); - var easing = function(x) { - assert_greater_than_equal(x, 0.0, - 'This function should be called in [0, 1.0] range'); - assert_less_than_equal(x, 1.0, - 'This function should be called in [0, 1.0] range'); - return cubicBezier(0, 1.5, 1, 1.5)(x); - } - var easingExtrapolated = function(x) { - assert_greater_than(x, 1.0, - 'This function should be called in negative range'); - // For cubic-bezier(0, 1.5, 1, 1.5), the tangent at the - // endpoint (x = 1.0) is infinity so we should just return 1.0. - return 1.0; - } - - anim.pause(); - - // The effect-easing produces values greater than 1 in (0.23368794, 1) - assert_style_left_at(anim, 0, function(x) { - return easing(easing(x)) - }); - assert_style_left_at(anim, 230, function(x) { - return easing(easing(x)) - }); - assert_style_left_at(anim, 240, function(x) { - return easingExtrapolated(easing(x)); - }); - // Near the extreme point of the effect-easing function - assert_style_left_at(anim, 700, function(x) { - return easingExtrapolated(easing(x)); - }); - assert_style_left_at(anim, 990, function(x) { - return easingExtrapolated(easing(x)); - }); - assert_style_left_at(anim, 1000, function(x) { - return easing(easing(x)) - }); -}, 'effect easing which produces values greater than 1 and the tangent on ' + - 'the upper boundary is infinity with keyframe easing producing values ' + - 'greater than 1'); - -test(function(t) { - var target = createDiv(t); - target.style.position = 'absolute'; - var anim = target.animate( - // http://cubic-bezier.com/#.5,1,.5,0 - [ { left: '0px', easing: 'cubic-bezier(0.5, 1, 0.5, 0)' }, - { left: '100px' } ], - { duration: 1000, - fill: 'forwards', - easing: 'cubic-bezier(0, -0.5, 1, -0.5)' }); - var keyframeEasing = function(x) { - assert_greater_than_equal(x, 0.0, - 'This function should be called in [0, 1.0] range'); - assert_less_than_equal(x, 1.0, - 'This function should be called in [0, 1.0] range'); - return cubicBezier(0.5, 1, 0.5, 0)(x); - } - var keyframeEasingExtrapolated = function(x) { - assert_less_than(x, 0.0, - 'This function should be called in negative range'); - // p0x + (p1y - p0y) / (p1x - p0x) * (x - p0x) - return (1 / 0.5) * x; - } - var effectEasing = function(x) { - return cubicBezier(0, -0.5, 1, -0.5)(x); - } - - anim.pause(); - - // The effect-easing produces negative values in (0, 0.766312060) - assert_style_left_at(anim, 0, function(x) { - return keyframeEasing(effectEasing(x)); - }); - assert_style_left_at(anim, 10, function(x) { - return keyframeEasingExtrapolated(effectEasing(x)); - }); - // Near the extreme point of the effect-easing function - assert_style_left_at(anim, 300, function(x) { - return keyframeEasingExtrapolated(effectEasing(x)); - }); - assert_style_left_at(anim, 750, function(x) { - return keyframeEasingExtrapolated(effectEasing(x)); - }); - assert_style_left_at(anim, 770, function(x) { - return keyframeEasing(effectEasing(x)); - }); - assert_style_left_at(anim, 1000, function(x) { - return keyframeEasing(effectEasing(x)); - }); -}, 'effect easing produces negative values with keyframe easing ' + - 'producing negative values'); - -test(function(t) { - var target = createDiv(t); - target.style.position = 'absolute'; - var anim = target.animate( - // http://cubic-bezier.com/#0,-0.5,1,-0.5 - [ { left: '0px', easing: 'cubic-bezier(0, -0.5, 1, -0.5)' }, - { left: '100px' } ], - { duration: 1000, - fill: 'forwards', - easing: 'cubic-bezier(0, -0.5, 1, -0.5)' }); - var easing = function(x) { - assert_greater_than_equal(x, 0.0, - 'This function should be called in [0, 1.0] range'); - assert_less_than_equal(x, 1.0, - 'This function should be called in [0, 1.0] range'); - return cubicBezier(0, -0.5, 1, -0.5)(x); - } - var easingExtrapolated = function(x) { - assert_less_than(x, 0.0, - 'This function should be called in negative range'); - // For cubic-bezier(0, -0.5, 1, -0.5), the tangent at the - // endpoint (x = 0.0) is infinity so we should just return 0.0. - return 0.0; - } - - anim.pause(); - - // The effect-easing produces negative values in (0, 0.766312060) - assert_style_left_at(anim, 0, function(x) { - return easing(easing(x)) - }); - assert_style_left_at(anim, 10, function(x) { - return easingExtrapolated(easing(x)); - }); - // Near the extreme point of the effect-easing function - assert_style_left_at(anim, 300, function(x) { - return easingExtrapolated(easing(x)); - }); - assert_style_left_at(anim, 750, function(x) { - return easingExtrapolated(easing(x)); - }); - assert_style_left_at(anim, 770, function(x) { - return easing(easing(x)) - }); - assert_style_left_at(anim, 1000, function(x) { - return easing(easing(x)) - }); -}, 'effect easing which produces negative values and the tangent on ' + - 'the lower boundary is infinity with keyframe easing producing ' + - 'negative values'); - -var gStepTimingFunctionTests = [ - { - description: 'Test bounds point of step-start easing', - keyframe: [ { width: '0px' }, - { width: '100px' } ], - effect: { - delay: 1000, - duration: 1000, - fill: 'both', - easing: 'steps(2, start)' - }, - conditions: [ - { currentTime: 0, progress: 0 }, - { currentTime: 999, progress: 0 }, - { currentTime: 1000, progress: 0.5 }, - { currentTime: 1499, progress: 0.5 }, - { currentTime: 1500, progress: 1 }, - { currentTime: 2000, progress: 1 } - ] - }, - { - description: 'Test bounds point of step-start easing with compositor', - keyframe: [ { opacity: 0 }, - { opacity: 1 } ], - effect: { - delay: 1000, - duration: 1000, - fill: 'both', - easing: 'steps(2, start)' - }, - conditions: [ - { currentTime: 0, progress: 0 }, - { currentTime: 999, progress: 0 }, - { currentTime: 1000, progress: 0.5 }, - { currentTime: 1499, progress: 0.5 }, - { currentTime: 1500, progress: 1 }, - { currentTime: 2000, progress: 1 } - ] - }, - { - description: 'Test bounds point of step-start easing with reverse direction', - keyframe: [ { width: '0px' }, - { width: '100px' } ], - effect: { - delay: 1000, - duration: 1000, - fill: 'both', - direction: 'reverse', - easing: 'steps(2, start)' - }, - conditions: [ - { currentTime: 0, progress: 1 }, - { currentTime: 1001, progress: 1 }, - { currentTime: 1500, progress: 1 }, - { currentTime: 1501, progress: 0.5 }, - { currentTime: 2000, progress: 0 }, - { currentTime: 2500, progress: 0 } - ] - }, - { - description: 'Test bounds point of step-start easing ' + - 'with iterationStart not at a transition point', - keyframe: [ { width: '0px' }, - { width: '100px' } ], - effect: { - delay: 1000, - duration: 1000, - fill: 'both', - iterationStart: 0.25, - easing: 'steps(2, start)' - }, - conditions: [ - { currentTime: 0, progress: 0.5 }, - { currentTime: 999, progress: 0.5 }, - { currentTime: 1000, progress: 0.5 }, - { currentTime: 1249, progress: 0.5 }, - { currentTime: 1250, progress: 1 }, - { currentTime: 1749, progress: 1 }, - { currentTime: 1750, progress: 0.5 }, - { currentTime: 2000, progress: 0.5 }, - { currentTime: 2500, progress: 0.5 }, - ] - }, - { - description: 'Test bounds point of step-start easing ' + - 'with iterationStart and delay', - keyframe: [ { width: '0px' }, - { width: '100px' } ], - effect: { - delay: 1000, - duration: 1000, - fill: 'both', - iterationStart: 0.5, - easing: 'steps(2, start)' - }, - conditions: [ - { currentTime: 0, progress: 0.5 }, - { currentTime: 999, progress: 0.5 }, - { currentTime: 1000, progress: 1 }, - { currentTime: 1499, progress: 1 }, - { currentTime: 1500, progress: 0.5 }, - { currentTime: 2000, progress: 1 } - ] - }, - { - description: 'Test bounds point of step-start easing ' + - 'with iterationStart and reverse direction', - keyframe: [ { width: '0px' }, - { width: '100px' } ], - effect: { - delay: 1000, - duration: 1000, - fill: 'both', - iterationStart: 0.5, - direction: 'reverse', - easing: 'steps(2, start)' - }, - conditions: [ - { currentTime: 0, progress: 1 }, - { currentTime: 1000, progress: 1 }, - { currentTime: 1001, progress: 0.5 }, - { currentTime: 1499, progress: 0.5 }, - { currentTime: 1500, progress: 1 }, - { currentTime: 1999, progress: 1 }, - { currentTime: 2000, progress: 0.5 }, - { currentTime: 2500, progress: 0.5 } - ] - }, - { - description: 'Test bounds point of step(4, start) easing ' + - 'with iterationStart 0.75 and delay', - keyframe: [ { width: '0px' }, - { width: '100px' } ], - effect: { - duration: 1000, - fill: 'both', - delay: 1000, - iterationStart: 0.75, - easing: 'steps(4, start)' - }, - conditions: [ - { currentTime: 0, progress: 0.75 }, - { currentTime: 999, progress: 0.75 }, - { currentTime: 1000, progress: 1 }, - { currentTime: 2000, progress: 1 }, - { currentTime: 2500, progress: 1 } - ] - }, - { - description: 'Test bounds point of step-start easing ' + - 'with alternate direction', - keyframe: [ { width: '0px' }, - { width: '100px' } ], - effect: { - duration: 1000, - fill: 'both', - delay: 1000, - iterations: 2, - iterationStart: 1.5, - direction: 'alternate', - easing: 'steps(2, start)' - }, - conditions: [ - { currentTime: 0, progress: 1 }, - { currentTime: 1000, progress: 1 }, - { currentTime: 1001, progress: 0.5 }, - { currentTime: 2999, progress: 1 }, - { currentTime: 3000, progress: 0.5 }, - { currentTime: 3500, progress: 0.5 } - ] - }, - { - description: 'Test bounds point of step-start easing ' + - 'with alternate-reverse direction', - keyframe: [ { width: '0px' }, - { width: '100px' } ], - effect: { - duration: 1000, - fill: 'both', - delay: 1000, - iterations: 2, - iterationStart: 0.5, - direction: 'alternate-reverse', - easing: 'steps(2, start)' - }, - conditions: [ - { currentTime: 0, progress: 1 }, - { currentTime: 1000, progress: 1 }, - { currentTime: 1001, progress: 0.5 }, - { currentTime: 2999, progress: 1 }, - { currentTime: 3000, progress: 0.5 }, - { currentTime: 3500, progress: 0.5 } - ] - }, - { - description: 'Test bounds point of step-start easing in keyframe', - keyframe: [ { width: '0px', easing: 'steps(2, start)' }, - { width: '100px' } ], - effect: { - delay: 1000, - duration: 1000, - fill: 'both', - }, - conditions: [ - { currentTime: 0, progress: 0, width: '0px' }, - { currentTime: 999, progress: 0, width: '0px' }, - { currentTime: 1000, progress: 0, width: '50px' }, - { currentTime: 1499, progress: 0.499, width: '50px' }, - { currentTime: 1500, progress: 0.5, width: '100px' }, - { currentTime: 2000, progress: 1, width: '100px' }, - { currentTime: 2500, progress: 1, width: '100px' } - ] - }, - { - description: 'Test bounds point of step-end easing ' + - 'with iterationStart and delay', - keyframe: [ { width: '0px' }, - { width: '100px' } ], - effect: { - duration: 1000, - fill: 'both', - delay: 1000, - iterationStart: 0.5, - easing: 'steps(2, end)' - }, - conditions: [ - { currentTime: 0, progress: 0 }, - { currentTime: 999, progress: 0 }, - { currentTime: 1000, progress: 0.5 }, - { currentTime: 1499, progress: 0.5 }, - { currentTime: 1500, progress: 0 }, - { currentTime: 1999, progress: 0 }, - { currentTime: 2000, progress: 0.5 }, - { currentTime: 2500, progress: 0.5 } - ] - }, - { - description: 'Test bounds point of step-end easing ' + - 'with iterationStart not at a transition point', - keyframe: [ { width: '0px' }, - { width: '100px' } ], - effect: { - delay: 1000, - duration: 1000, - fill: 'both', - iterationStart: 0.75, - easing: 'steps(2, end)' - }, - conditions: [ - { currentTime: 0, progress: 0.5 }, - { currentTime: 999, progress: 0.5 }, - { currentTime: 1000, progress: 0.5 }, - { currentTime: 1249, progress: 0.5 }, - { currentTime: 1250, progress: 0 }, - { currentTime: 1749, progress: 0 }, - { currentTime: 1750, progress: 0.5 }, - { currentTime: 2000, progress: 0.5 }, - { currentTime: 2500, progress: 0.5 }, - ] - } -]; - -gStepTimingFunctionTests.forEach(function(options) { - test(function(t) { - var target = createDiv(t); - var animation = target.animate(options.keyframe, options.effect); - options.conditions.forEach(function(condition) { - animation.currentTime = condition.currentTime; - if (typeof condition.progress !== 'undefined') { - assert_equals(animation.effect.getComputedTiming().progress, - condition.progress, - 'Progress at ' + animation.currentTime + 'ms'); - } - if (typeof condition.width !== 'undefined') { - assert_equals(getComputedStyle(target).width, - condition.width, - 'Progress at ' + animation.currentTime + 'ms'); - } - }); - }, options.description); -}); - -gInvalidEasingTests.forEach(function(options) { - test(function(t) { - var div = createDiv(t); - assert_throws({ name: 'TypeError' }, - function() { - div.animate({ easing: options.easing }, 100 * MS_PER_SEC); - }); - }, 'Invalid keyframe easing value: \'' + options.easing + '\''); -}); - -</script> -</body>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/web-animations/resources/easing-tests.js b/third_party/WebKit/LayoutTests/external/wpt/web-animations/resources/easing-tests.js new file mode 100644 index 0000000..b983eae --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/web-animations/resources/easing-tests.js
@@ -0,0 +1,87 @@ +var gEasingTests = [ + { + desc: 'step-start function', + easing: 'step-start', + easingFunction: stepStart(1), + serialization: 'steps(1, start)' + }, + { + desc: 'steps(1, start) function', + easing: 'steps(1, start)', + easingFunction: stepStart(1) + }, + { + desc: 'steps(2, start) function', + easing: 'steps(2, start)', + easingFunction: stepStart(2) + }, + { + desc: 'step-end function', + easing: 'step-end', + easingFunction: stepEnd(1), + serialization: 'steps(1)' + }, + { + desc: 'steps(1) function', + easing: 'steps(1)', + easingFunction: stepEnd(1) + }, + { + desc: 'steps(1, end) function', + easing: 'steps(1, end)', + easingFunction: stepEnd(1), + serialization: 'steps(1)' + }, + { + desc: 'steps(2, end) function', + easing: 'steps(2, end)', + easingFunction: stepEnd(2), + serialization: 'steps(2)' + }, + { + desc: 'linear function', + easing: 'linear', // cubic-bezier(0, 0, 1.0, 1.0) + easingFunction: cubicBezier(0, 0, 1.0, 1.0) + }, + { + desc: 'ease function', + easing: 'ease', // cubic-bezier(0.25, 0.1, 0.25, 1.0) + easingFunction: cubicBezier(0.25, 0.1, 0.25, 1.0) + }, + { + desc: 'ease-in function', + easing: 'ease-in', // cubic-bezier(0.42, 0, 1.0, 1.0) + easingFunction: cubicBezier(0.42, 0, 1.0, 1.0) + }, + { + desc: 'ease-in-out function', + easing: 'ease-in-out', // cubic-bezier(0.42, 0, 0.58, 1.0) + easingFunction: cubicBezier(0.42, 0, 0.58, 1.0) + }, + { + desc: 'ease-out function', + easing: 'ease-out', // cubic-bezier(0, 0, 0.58, 1.0) + easingFunction: cubicBezier(0, 0, 0.58, 1.0) + }, + { + desc: 'easing function which produces values greater than 1', + easing: 'cubic-bezier(0, 1.5, 1, 1.5)', + easingFunction: cubicBezier(0, 1.5, 1, 1.5) + }, + { + desc: 'easing function which produces values less than 1', + easing: 'cubic-bezier(0, -0.5, 1, -0.5)', + easingFunction: cubicBezier(0, -0.5, 1, -0.5) + } +]; + +var gInvalidEasings = [ + '', + 'test', + 'cubic-bezier(1.1, 0, 1, 1)', + 'cubic-bezier(0, 0, 1.1, 1)', + 'cubic-bezier(-0.1, 0, 1, 1)', + 'cubic-bezier(0, 0, -0.1, 1)', + 'steps(-1, start)', + 'steps(0.1, start)' +];
diff --git a/third_party/WebKit/LayoutTests/external/wpt/web-animations/resources/effect-easing-tests.js b/third_party/WebKit/LayoutTests/external/wpt/web-animations/resources/effect-easing-tests.js deleted file mode 100644 index 49c4ff5b..0000000 --- a/third_party/WebKit/LayoutTests/external/wpt/web-animations/resources/effect-easing-tests.js +++ /dev/null
@@ -1,98 +0,0 @@ -var gEffectEasingTests = [ - { - desc: 'step-start function', - easing: 'step-start', - easingFunction: stepStart(1), - serialization: 'steps(1, start)' - }, - { - desc: 'steps(1, start) function', - easing: 'steps(1, start)', - easingFunction: stepStart(1) - }, - { - desc: 'steps(2, start) function', - easing: 'steps(2, start)', - easingFunction: stepStart(2) - }, - { - desc: 'step-end function', - easing: 'step-end', - easingFunction: stepEnd(1), - serialization: 'steps(1)' - }, - { - desc: 'steps(1) function', - easing: 'steps(1)', - easingFunction: stepEnd(1) - }, - { - desc: 'steps(1, end) function', - easing: 'steps(1, end)', - easingFunction: stepEnd(1), - serialization: 'steps(1)' - }, - { - desc: 'steps(2, end) function', - easing: 'steps(2, end)', - easingFunction: stepEnd(2), - serialization: 'steps(2)' - }, - { - desc: 'linear function', - easing: 'linear', // cubic-bezier(0, 0, 1.0, 1.0) - easingFunction: cubicBezier(0, 0, 1.0, 1.0) - }, - { - desc: 'ease function', - easing: 'ease', // cubic-bezier(0.25, 0.1, 0.25, 1.0) - easingFunction: cubicBezier(0.25, 0.1, 0.25, 1.0) - }, - { - desc: 'ease-in function', - easing: 'ease-in', // cubic-bezier(0.42, 0, 1.0, 1.0) - easingFunction: cubicBezier(0.42, 0, 1.0, 1.0) - }, - { - desc: 'ease-in-out function', - easing: 'ease-in-out', // cubic-bezier(0.42, 0, 0.58, 1.0) - easingFunction: cubicBezier(0.42, 0, 0.58, 1.0) - }, - { - desc: 'ease-out function', - easing: 'ease-out', // cubic-bezier(0, 0, 0.58, 1.0) - easingFunction: cubicBezier(0, 0, 0.58, 1.0) - }, - { - desc: 'easing function which produces values greater than 1', - easing: 'cubic-bezier(0, 1.5, 1, 1.5)', - easingFunction: cubicBezier(0, 1.5, 1, 1.5) - } -]; - -var gInvalidEasingTests = [ - { - easing: '' - }, - { - easing: 'test' - }, - { - easing: 'cubic-bezier(1.1, 0, 1, 1)' - }, - { - easing: 'cubic-bezier(0, 0, 1.1, 1)' - }, - { - easing: 'cubic-bezier(-0.1, 0, 1, 1)' - }, - { - easing: 'cubic-bezier(0, 0, -0.1, 1)' - }, - { - easing: 'steps(-1, start)' - }, - { - easing: 'steps(0.1, start)' - }, -];
diff --git a/third_party/WebKit/LayoutTests/external/wpt/web-animations/timing-model/time-transformations/transformed-progress.html b/third_party/WebKit/LayoutTests/external/wpt/web-animations/timing-model/time-transformations/transformed-progress.html new file mode 100644 index 0000000..3d97e4c1 --- /dev/null +++ b/third_party/WebKit/LayoutTests/external/wpt/web-animations/timing-model/time-transformations/transformed-progress.html
@@ -0,0 +1,272 @@ +<!DOCTYPE html> +<meta charset=utf-8> +<title>Tests for the transformed progress</title> +<link rel="help" href="https://w3c.github.io/web-animations/#calculating-the-transformed-progress"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="../../testcommon.js"></script> +<script src="../../resources/easing-tests.js"></script> +<body> +<div id="log"></div> +<div id="target"></div> +<script> +'use strict'; + +gEasingTests.forEach(params => { + test(function(t) { + const target = createDiv(t); + const anim = target.animate(null, { duration: 1000, + fill: 'forwards', + easing: params.easing }); + + [ 0, 250, 500, 750, 1000 ].forEach(sampleTime => { + anim.currentTime = sampleTime; + const portion = sampleTime / anim.effect.getComputedTiming().duration; + const expectedProgress = params.easingFunction(portion); + assert_approx_equals(anim.effect.getComputedTiming().progress, + expectedProgress, + 0.01, + 'The progress should be approximately ' + + expectedProgress + ` at ${sampleTime}ms`); + }); + }, 'Transformed progress for ' + params.desc); +}); + +// Additional tests for various boundary conditions of step timing functions + +var gStepTimingFunctionTests = [ + { + description: 'Test bounds point of step-start easing', + effect: { + delay: 1000, + duration: 1000, + fill: 'both', + easing: 'steps(2, start)' + }, + conditions: [ + { currentTime: 0, progress: 0 }, + { currentTime: 999, progress: 0 }, + { currentTime: 1000, progress: 0.5 }, + { currentTime: 1499, progress: 0.5 }, + { currentTime: 1500, progress: 1 }, + { currentTime: 2000, progress: 1 } + ] + }, + { + description: 'Test bounds point of step-start easing with reverse direction', + effect: { + delay: 1000, + duration: 1000, + fill: 'both', + direction: 'reverse', + easing: 'steps(2, start)' + }, + conditions: [ + { currentTime: 0, progress: 1 }, + { currentTime: 1001, progress: 1 }, + { currentTime: 1500, progress: 1 }, + { currentTime: 1501, progress: 0.5 }, + { currentTime: 2000, progress: 0 }, + { currentTime: 2500, progress: 0 } + ] + }, + { + description: 'Test bounds point of step-start easing ' + + 'with iterationStart not at a transition point', + effect: { + delay: 1000, + duration: 1000, + fill: 'both', + iterationStart: 0.25, + easing: 'steps(2, start)' + }, + conditions: [ + { currentTime: 0, progress: 0.5 }, + { currentTime: 999, progress: 0.5 }, + { currentTime: 1000, progress: 0.5 }, + { currentTime: 1249, progress: 0.5 }, + { currentTime: 1250, progress: 1 }, + { currentTime: 1749, progress: 1 }, + { currentTime: 1750, progress: 0.5 }, + { currentTime: 2000, progress: 0.5 }, + { currentTime: 2500, progress: 0.5 }, + ] + }, + { + description: 'Test bounds point of step-start easing ' + + 'with iterationStart and delay', + effect: { + delay: 1000, + duration: 1000, + fill: 'both', + iterationStart: 0.5, + easing: 'steps(2, start)' + }, + conditions: [ + { currentTime: 0, progress: 0.5 }, + { currentTime: 999, progress: 0.5 }, + { currentTime: 1000, progress: 1 }, + { currentTime: 1499, progress: 1 }, + { currentTime: 1500, progress: 0.5 }, + { currentTime: 2000, progress: 1 } + ] + }, + { + description: 'Test bounds point of step-start easing ' + + 'with iterationStart and reverse direction', + effect: { + delay: 1000, + duration: 1000, + fill: 'both', + iterationStart: 0.5, + direction: 'reverse', + easing: 'steps(2, start)' + }, + conditions: [ + { currentTime: 0, progress: 1 }, + { currentTime: 1000, progress: 1 }, + { currentTime: 1001, progress: 0.5 }, + { currentTime: 1499, progress: 0.5 }, + { currentTime: 1500, progress: 1 }, + { currentTime: 1999, progress: 1 }, + { currentTime: 2000, progress: 0.5 }, + { currentTime: 2500, progress: 0.5 } + ] + }, + { + description: 'Test bounds point of step(4, start) easing ' + + 'with iterationStart 0.75 and delay', + effect: { + duration: 1000, + fill: 'both', + delay: 1000, + iterationStart: 0.75, + easing: 'steps(4, start)' + }, + conditions: [ + { currentTime: 0, progress: 0.75 }, + { currentTime: 999, progress: 0.75 }, + { currentTime: 1000, progress: 1 }, + { currentTime: 2000, progress: 1 }, + { currentTime: 2500, progress: 1 } + ] + }, + { + description: 'Test bounds point of step-start easing ' + + 'with alternate direction', + effect: { + duration: 1000, + fill: 'both', + delay: 1000, + iterations: 2, + iterationStart: 1.5, + direction: 'alternate', + easing: 'steps(2, start)' + }, + conditions: [ + { currentTime: 0, progress: 1 }, + { currentTime: 1000, progress: 1 }, + { currentTime: 1001, progress: 0.5 }, + { currentTime: 2999, progress: 1 }, + { currentTime: 3000, progress: 0.5 }, + { currentTime: 3500, progress: 0.5 } + ] + }, + { + description: 'Test bounds point of step-start easing ' + + 'with alternate-reverse direction', + effect: { + duration: 1000, + fill: 'both', + delay: 1000, + iterations: 2, + iterationStart: 0.5, + direction: 'alternate-reverse', + easing: 'steps(2, start)' + }, + conditions: [ + { currentTime: 0, progress: 1 }, + { currentTime: 1000, progress: 1 }, + { currentTime: 1001, progress: 0.5 }, + { currentTime: 2999, progress: 1 }, + { currentTime: 3000, progress: 0.5 }, + { currentTime: 3500, progress: 0.5 } + ] + }, + { + description: 'Test bounds point of step-end easing', + effect: { + delay: 1000, + duration: 1000, + fill: 'both', + easing: 'steps(2, end)' + }, + conditions: [ + { currentTime: 0, progress: 0 }, + { currentTime: 999, progress: 0 }, + { currentTime: 1000, progress: 0 }, + { currentTime: 1499, progress: 0 }, + { currentTime: 1500, progress: 0.5 }, + { currentTime: 2000, progress: 1 } + ] + }, + { + description: 'Test bounds point of step-end easing ' + + 'with iterationStart and delay', + effect: { + duration: 1000, + fill: 'both', + delay: 1000, + iterationStart: 0.5, + easing: 'steps(2, end)' + }, + conditions: [ + { currentTime: 0, progress: 0 }, + { currentTime: 999, progress: 0 }, + { currentTime: 1000, progress: 0.5 }, + { currentTime: 1499, progress: 0.5 }, + { currentTime: 1500, progress: 0 }, + { currentTime: 1999, progress: 0 }, + { currentTime: 2000, progress: 0.5 }, + { currentTime: 2500, progress: 0.5 } + ] + }, + { + description: 'Test bounds point of step-end easing ' + + 'with iterationStart not at a transition point', + effect: { + delay: 1000, + duration: 1000, + fill: 'both', + iterationStart: 0.75, + easing: 'steps(2, end)' + }, + conditions: [ + { currentTime: 0, progress: 0.5 }, + { currentTime: 999, progress: 0.5 }, + { currentTime: 1000, progress: 0.5 }, + { currentTime: 1249, progress: 0.5 }, + { currentTime: 1250, progress: 0 }, + { currentTime: 1749, progress: 0 }, + { currentTime: 1750, progress: 0.5 }, + { currentTime: 2000, progress: 0.5 }, + { currentTime: 2500, progress: 0.5 }, + ] + } +]; + +gStepTimingFunctionTests.forEach(function(options) { + test(function(t) { + var target = createDiv(t); + var animation = target.animate(null, options.effect); + options.conditions.forEach(function(condition) { + animation.currentTime = condition.currentTime; + assert_equals(animation.effect.getComputedTiming().progress, + condition.progress, + 'Progress at ' + animation.currentTime + 'ms'); + }); + }, options.description); +}); + +</script> +</body>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_completely_move_up-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_completely_move_up-ref.html index f90f72343..f73008f7 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_completely_move_up-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_completely_move_up-ref.html
@@ -5,16 +5,17 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } #cue1 { position: absolute; top: 50%; left: 0; right: 0; - margin-top: -18px; + margin-top: -4.5px; text-align: center } #cue2 { @@ -22,14 +23,13 @@ top: 50%; left: 0; right: 0; - margin-top: -54px; + margin-top: -13.5px; text-align: center } .cue > span { font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px; } </style> <div class="video"><span class="cue" id="cue1"><span>This is a test subtitle</span></span><span class="cue" id="cue2"><span>This is another test subtitle</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_completely_move_up.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_completely_move_up.html index 11ea59d9..72e904f 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_completely_move_up.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_completely_move_up.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 2;" onseeked="this.onseeked = null; takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 2;" onseeked="this.onseeked = null; takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/2_cues_overlapping_completely_move_up.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_down-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_down-ref.html index 4ddb155..18ae4b17 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_down-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_down-ref.html
@@ -5,16 +5,17 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } #cue1 { position: absolute; top: 50%; left: 0; right: 0; - margin-top: -18px; + margin-top: -4.5px; text-align: center } #cue2 { @@ -22,14 +23,13 @@ top: 50%; left: 0; right: 0; - margin-top: 18px; + margin-top: 4.5px; text-align: center } .cue > span { font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px; } </style> <div class="video"><span class="cue" id="cue1"><span>This is a test subtitle</span></span><span class="cue" id="cue2"><span>This is another test subtitle</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_down.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_down.html index 9fd5c44..c39ce96 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_down.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_down.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 2;" onseeked="this.onseeked = null; takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 2;" onseeked="this.onseeked = null; takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/2_cues_overlapping_partially_move_down.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_up-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_up-ref.html index cc3047d..b1a8b3b8 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_up-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_up-ref.html
@@ -5,16 +5,17 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } #cue1 { position: absolute; top: 50%; left: 0; right: 0; - margin-top: -18px; + margin-top: -4.5px; text-align: center } #cue2 { @@ -22,14 +23,13 @@ top: 50%; left: 0; right: 0; - margin-top: -54px; + margin-top: -13.5px; text-align: center } .cue > span { font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px; } </style> <div class="video"><span class="cue" id="cue1"><span>This is a test subtitle</span></span><span class="cue" id="cue2"><span>This is another test subtitle</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_up.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_up.html index c78c3033..b0c96c7 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_up.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_cues_overlapping_partially_move_up.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 2;" onseeked="this.onseeked = null; takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 2;" onseeked="this.onseeked = null; takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/2_cues_overlapping_partially_move_up.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_tracks-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_tracks-ref.html index f0f4504..9bc6d927 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_tracks-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_tracks-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: sans-serif; background: rgba(0,0,0,0.8); color: white; - font-size: 36px; } </style> <div class="video"><span class="cue"><span>This is a <u>test subtitle</u><br>This is a test subtitle</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_tracks.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_tracks.html index 2394d6b5..f422d73d 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_tracks.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/2_tracks.html
@@ -7,7 +7,7 @@ body { margin:0 } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/3_tracks-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/3_tracks-ref.html index 9fdd7b1..46f8615 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/3_tracks-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/3_tracks-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: sans-serif; background: rgba(0,0,0,0.8); color: white; - font-size: 36px; } </style> <div class="video"><span class="cue"><span>This is a <b>test subtitle</b><br>This is a <u>test subtitle</u><br>This is a test subtitle</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/3_tracks.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/3_tracks.html index fee125f..809e173 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/3_tracks.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/3_tracks.html
@@ -7,7 +7,7 @@ body { margin:0 } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_end-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_end-ref.html index 030fe6a..247e6e24 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_end-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_end-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -21,7 +22,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px } </style> <div class=video><span class=cue><span>This is a test</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_end.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_end.html index d4b5cf4..9da66bf 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_end.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_end.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/align_end.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_end_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_end_wrapped-ref.html index eed9217..f26b3a076 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_end_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_end_wrapped-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -21,7 +22,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px } </style> <div class=video><span class=cue><span>This is a test <br>subtitle that <br>most likely <br>will span over <br>several rows <br>since it is a <br>pretty long <br>cue with a <br>lot of text.</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_end_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_end_wrapped.html index 7247795..5c85a55 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_end_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_end_wrapped.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/align_end_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle-ref.html index 55cc7dd..fab75c8e 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px } </style> <div class=video><span class=cue><span>This is a test</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle.html index 530dccf..43732a5 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/align_middle.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_50-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_50-ref.html index 2c7d6c8..88718e5 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_50-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_50-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px } </style> <div class=video><span class=cue><span>This is a test</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_50.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_50.html index 88b66428..6be073f 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_50.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_50.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/align_middle_position_50.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_gt_50-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_gt_50-ref.html index 93bfd0c..b9b6d293 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_gt_50-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_gt_50-ref.html
@@ -5,22 +5,22 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; bottom: 0; - right: 92px; - width: 256px; + right: 23px; + width: 64px; text-align: center; } .cue > span { font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px } </style> <div class=video><span class=cue><span>Aweso<br>me!!!</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_gt_50.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_gt_50.html index 7790b20..4f725f5 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_gt_50.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_gt_50.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/align_middle_position_gt_50.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_lt_50-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_lt_50-ref.html index 86b3b5c..9fa1f28e 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_lt_50-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_lt_50-ref.html
@@ -5,23 +5,23 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; bottom: 0; - left: 92px; + left: 23px; right: 0; - width: 256px; + width: 64px; text-align: center } .cue > span { font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px } </style> <div class=video><span class=cue><span>Awesome<br>!!!</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_lt_50.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_lt_50.html index 137dad806..7d09fd98 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_lt_50.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_lt_50.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/align_middle_position_lt_50.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_lt_50_size_gt_maximum_size-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_lt_50_size_gt_maximum_size-ref.html index a930331..ddbdf16 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_lt_50_size_gt_maximum_size-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_lt_50_size_gt_maximum_size-ref.html
@@ -5,23 +5,23 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; bottom: 0; - left: 92px; + left: 23px; right: 0; - width: 256px; + width: 64px; text-align: center; } .cue > span { font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px } </style> <div class=video><span class=cue><span>Aweso<br>me!!!</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_lt_50_size_gt_maximum_size.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_lt_50_size_gt_maximum_size.html index 50cc5c1..590db24c 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_lt_50_size_gt_maximum_size.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_position_lt_50_size_gt_maximum_size.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/align_middle_position_lt_50_size_gt_maximum_size.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_wrapped-ref.html index 1c751fe1..d9852d86 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_wrapped-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px } </style> <div class=video><span class=cue><span>This is a test subtitle that <br>most likely will span over <br>several rows since it is a pretty <br>long cue with a lot of text.</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_wrapped.html index 552788a..2ef93c4b 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_middle_wrapped.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/align_middle_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_start-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_start-ref.html index 4cdbc0e..15f24fb 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_start-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_start-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px } </style> <div class=video><span class=cue><span>This is a test</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_start.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_start.html index a0f2eb0..4b87e52 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_start.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_start.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/align_start.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_start_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_start_wrapped-ref.html index 01051f0..6f5b6335 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_start_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_start_wrapped-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px } </style> <div class=video><span class=cue><span>This is a test <br>subtitle that <br>most likely <br>will span over <br>several rows <br>since it is a <br>pretty long <br>cue with a <br>lot of text.</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_start_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_start_wrapped.html index e7244bf..c8bbb996 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_start_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/align_start_wrapped.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/align_start_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/audio_has_no_subtitles-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/audio_has_no_subtitles-ref.html index a8a1c037..d4bd2b7 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/audio_has_no_subtitles-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/audio_has_no_subtitles-ref.html
@@ -3,13 +3,13 @@ <title>Reference for WebVTT rendering, <audio> should not have subtitles</title> <style> audio { - width: 1280px; - height: 720px; + width: 320px; + height: 180px; outline: solid } </style> <script src="/common/reftest-wait.js"></script> -<audio autoplay controls onplaying="this.onplaying = null; this.pause(); this.currentTime = 0; takeScreenshot();"> +<audio autoplay controls onplaying="this.onplaying = null; this.pause(); this.currentTime = 0; takeScreenshotDelayed(1000)"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> </audio>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/audio_has_no_subtitles.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/audio_has_no_subtitles.html index 013e455..c29cf1fd 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/audio_has_no_subtitles.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/audio_has_no_subtitles.html
@@ -4,8 +4,8 @@ <link rel="match" href="audio_has_no_subtitles-ref.html"> <style> audio { - width: 1280px; - height: 720px; + width: 320px; + height: 180px; outline: solid } ::cue { @@ -14,7 +14,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<audio autoplay controls onplaying="this.onplaying = null; this.pause(); this.currentTime = 0; takeScreenshot();"> +<audio autoplay controls onplaying="this.onplaying = null; this.pause(); this.currentTime = 0; takeScreenshotDelayed(1000);"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/basic-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/basic-ref.html index 261a640e..89d7f35 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/basic-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/basic-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px; } </style> <div class="video"><span class="cue"><span>This is a test subtitle</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/basic.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/basic.html index fdaed5a..983600b 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/basic.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/basic.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/bidi_ruby-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/bidi_ruby-ref.html index cda42be..cc4df417 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/bidi_ruby-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/bidi_ruby-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: sans-serif; background: rgba(0,0,0,0.8); color: white; - font-size: 36px; } </style> <div class="video"><span class="cue"><span><ruby>.<rt><bdo dir="ltr">אא</bdo></rt>ab)<rt>x</rt></ruby></span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/bidi_ruby.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/bidi_ruby.html index 78393bf..ed2b2e0 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/bidi_ruby.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/bidi_ruby.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, bidi ruby</title> <link rel="match" href="bidi_ruby-ref.html"> <style> @@ -7,7 +7,7 @@ body { margin:0 } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../support/bidi_ruby.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u002E_LF_u05D0-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u002E_LF_u05D0-ref.html index 1d22556..3c968da 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u002E_LF_u05D0-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u002E_LF_u05D0-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: sans-serif; background: rgba(0,0,0,0.8); color: white; - font-size: 36px; } </style> <div class="video"><span class="cue"><span>.<br><bdo dir=ltr>אab)</bdo></span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u002E_LF_u05D0.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u002E_LF_u05D0.html index 2cea16e..e47cc12 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u002E_LF_u05D0.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u002E_LF_u05D0.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, bidi U+002E LF U+05D0</title> <link rel="match" href="u002E_LF_u05D0-ref.html"> <style> @@ -7,7 +7,7 @@ body { margin:0 } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../support/u002E_LF_u05D0.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u002E_u2028_u05D0-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u002E_u2028_u05D0-ref.html index a1d748ed..492b1941 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u002E_u2028_u05D0-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u002E_u2028_u05D0-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: sans-serif; background: rgba(0,0,0,0.8); color: white; - font-size: 36px; } </style> <div class="video"><span class="cue"><span>.<br><bdo dir=ltr>(abא</bdo></span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u002E_u2028_u05D0.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u002E_u2028_u05D0.html index f38c7964f..0c0ec18 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u002E_u2028_u05D0.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u002E_u2028_u05D0.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, bidi U+002E U+2028 U+05D0</title> <link rel="match" href="u002E_u2028_u05D0-ref.html"> <style> @@ -7,7 +7,7 @@ body { margin:0 } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../support/u002E_u2028_u05D0.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u002E_u2029_u05D0-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u002E_u2029_u05D0-ref.html index 09be0be..b2c0340 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u002E_u2029_u05D0-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u002E_u2029_u05D0-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: sans-serif; background: rgba(0,0,0,0.8); color: white; - font-size: 36px; } </style> <div class="video"><span class="cue"><span>.<br><bdo dir=ltr>אab)</bdo></span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u002E_u2029_u05D0.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u002E_u2029_u05D0.html index 6243caa..49b21759 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u002E_u2029_u05D0.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u002E_u2029_u05D0.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, bidi U+002E U+2029 U+05D0</title> <link rel="match" href="u002E_u2029_u05D0-ref.html"> <style> @@ -7,7 +7,7 @@ body { margin:0 } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../support/u002E_u2029_u05D0.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u0041_first-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u0041_first-ref.html index 208d20a..56e47f0 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u0041_first-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u0041_first-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: sans-serif; background: rgba(0,0,0,0.8); color: white; - font-size: 36px; } </style> <div class="video"><span class="cue"><span><bdo dir=ltr>Aab)</bdo></span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u0041_first.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u0041_first.html index df9ed1a..487d4ab4 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u0041_first.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u0041_first.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, bidi U+0041 first</title> <link rel="match" href="u0041_first-ref.html"> <!-- @@ -11,7 +11,7 @@ body { margin:0 } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../support/u0041_first.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u05D0_first-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u05D0_first-ref.html index 211f864..8ea95ae5 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u05D0_first-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u05D0_first-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: sans-serif; background: rgba(0,0,0,0.8); color: white; - font-size: 36px; } </style> <div class="video"><span class="cue"><span><bdo dir=ltr>(abא</bdo></span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u05D0_first.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u05D0_first.html index ea18c7a..4075d205 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u05D0_first.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u05D0_first.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, bidi U+05D0 first</title> <link rel="match" href="u05D0_first-ref.html"> <!-- @@ -11,7 +11,7 @@ body { margin:0 } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../support/u05D0_first.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u0628_first-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u0628_first-ref.html index 4fb97c4f..f5816cf 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u0628_first-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u0628_first-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: sans-serif; background: rgba(0,0,0,0.8); color: white; - font-size: 36px; } </style> <div class="video"><span class="cue"><span><bdo dir=ltr>(abب</bdo></span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u0628_first.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u0628_first.html index 9f3d9e8..8524375 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u0628_first.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u0628_first.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, bidi U+0628 first</title> <link rel="match" href="u0628_first-ref.html"> <!-- @@ -11,7 +11,7 @@ body { margin:0 } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../support/u0628_first.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u06E9_no_strong_dir-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u06E9_no_strong_dir-ref.html index cbd9ee0..c1dfd3b 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u06E9_no_strong_dir-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u06E9_no_strong_dir-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: sans-serif; background: rgba(0,0,0,0.8); color: white; - font-size: 36px; } </style> <div class="video"><span class="cue"><span><bdo dir=ltr>۩)</bdo></span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u06E9_no_strong_dir.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u06E9_no_strong_dir.html index af6288a3..a3c69c8 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u06E9_no_strong_dir.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/bidi/u06E9_no_strong_dir.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, bidi U+06E9 no strong direction</title> <link rel="match" href="u06E9_no_strong_dir-ref.html"> <!-- @@ -11,7 +11,7 @@ body { margin:0 } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../support/u06E9_no_strong_dir.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/cue_too_long-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/cue_too_long-ref.html index 56ce01cb..05f12413 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/cue_too_long-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/cue_too_long-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -21,7 +22,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px; } </style> <div class="video"><span class="cue"><span>This is a test subtitle that should wrap several times and become so long that the cue must be cut when displayed, because it does not fit on the screen. This is a test subtitle that should wrap several times and become so long that the cue must be cut when displayed, because it does not fit on the</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/cue_too_long.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/cue_too_long.html index 21c4f11..b6ded24e 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/cue_too_long.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/cue_too_long.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/very_long_cue.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/decode_escaped_entities-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/decode_escaped_entities-ref.html index 7b9db92..b51698e6 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/decode_escaped_entities-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/decode_escaped_entities-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px; } </style> <div class="video"><span class="cue"><span>Here are the escaped <br>entities: & < > ‎ ‏ </span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/decode_escaped_entities.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/decode_escaped_entities.html index b729e06..0f314559 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/decode_escaped_entities.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/decode_escaped_entities.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/decode_escaped_entities.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/disable_controls_reposition.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/disable_controls_reposition.html index 892e7e6a..f01f4c2 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/disable_controls_reposition.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/disable_controls_reposition.html
@@ -21,8 +21,11 @@ setTimeout(function(video){ video.controls = false; }, 100, this); - setTimeout(takeScreenshot, 200);"> - <source src="/media/white.webm" type="video/webm"> - <source src="/media/white.mp4" type="video/mp4"> - <track src=support/foo.vtt> + takeScreenshotDelayed(1000);"> + <source src="/media/white.webm" type="video/webm"> + <source src="/media/white.mp4" type="video/mp4"> + <track src=support/foo.vtt> + <script> + document.getElementsByTagName('track')[0].track.mode = 'showing'; + </script> </video>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_align_position_line_size-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_align_position_line_size-ref.html index 3ee9a94..483352b9 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_align_position_line_size-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_align_position_line_size-ref.html
@@ -5,22 +5,22 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; top: 0; - right: 204.8px; - width: 256px; + right: 51.2px; + width: 64px; text-align: left } .cue > span { font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px; } </style> <div class="video"><span class="cue"><span>There is nothing to see here people, move on</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_align_position_line_size.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_align_position_line_size.html index 2db260a..e4890fa 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_align_position_line_size.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_align_position_line_size.html
@@ -12,7 +12,12 @@ </style> <script src="/common/reftest-wait.js"></script> <script> + var i = 0; function updateCue() { + i++; + if (i !== 2) { + return; + } var t = document.getElementById('track'); var c = t.track.cues[0]; c.align = 'start'; @@ -27,15 +32,15 @@ v.onplaying = function() { this.onplaying = null; this.pause(); - takeScreenshot(); + takeScreenshotDelayed(1000); }; v.play(); } </script> -<video id="video" width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); updateCue();"> +<video id="video" width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); updateCue();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> - <track id="track" src="support/test.vtt"> + <track id="track" src="support/test.vtt" onload="updateCue();"> <script> document.getElementsByTagName('track')[0].track.mode = 'showing'; </script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_align_position_line_size_while_paused-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_align_position_line_size_while_paused-ref.html index f796ddf..51afb9b 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_align_position_line_size_while_paused-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_align_position_line_size_while_paused-ref.html
@@ -5,22 +5,22 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; top: 0; - right: 204.8px; - width: 256px; + right: 51.2px; + width: 64px; text-align: left } .cue > span { font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px; } </style> <div class="video"><span class="cue"><span>This test tests</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_align_position_line_size_while_paused.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_align_position_line_size_while_paused.html index 4bf3a24a3..e0a0194 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_align_position_line_size_while_paused.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_align_position_line_size_while_paused.html
@@ -12,7 +12,12 @@ </style> <script src="/common/reftest-wait.js"></script> <script> + var i = 0; function updateCue() { + i++; + if (i !== 2) { + return; + } var t = document.getElementById('track'); var c = t.track.cues[0]; c.align = 'start'; @@ -20,13 +25,13 @@ c.line = 0; c.size = 20; c.text = 'This test tests'; - takeScreenshot(); + takeScreenshotDelayed(1000); } </script> -<video id="video" width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); updateCue();"> +<video id="video" width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); updateCue();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> - <track id="track" src="support/test.vtt"> + <track id="track" src="support/test.vtt" onload="updateCue();"> <script> document.getElementsByTagName('track')[0].track.mode = 'showing'; </script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_line-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_line-ref.html index 53de102..d438491 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_line-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_line-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px; } </style> <div class="video"><span class="cue"><span>This is a test subtitle</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_line.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_line.html index f409411..189090e 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_line.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_line.html
@@ -12,7 +12,12 @@ </style> <script src="/common/reftest-wait.js"></script> <script> + var i = 0; function updateCue() { + i++; + if (i !== 2) { + return; + } var t = document.getElementById('track'); var c = t.track.cues[0]; c.line = 0; @@ -23,15 +28,15 @@ v.onplaying = function() { this.onplaying = null; this.pause(); - takeScreenshot(); + takeScreenshotDelayed(1000); }; v.play(); } </script> -<video id="video" width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); updateCue();"> +<video id="video" width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); updateCue();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> - <track id="track" src="support/test.vtt"> + <track id="track" src="support/test.vtt" onload="updateCue();"> <script> document.getElementsByTagName('track')[0].track.mode = 'showing'; </script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_text-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_text-ref.html index fb9f13f..94d88c4 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_text-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_text-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px; } </style> <div class="video"><span class="cue"><span>f o o</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_text.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_text.html index a5d1026..aca244c 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_text.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_text.html
@@ -12,7 +12,12 @@ </style> <script src="/common/reftest-wait.js"></script> <script> + var i = 0; function updateCue() { + i++; + if (i !== 2) { + return; + } var t = document.getElementById('track'); var c = t.track.cues[0]; c.text = 'f o o'; @@ -23,15 +28,15 @@ v.onplaying = function() { this.onplaying = null; this.pause(); - takeScreenshot(); + takeScreenshotDelayed(1000); }; v.play(); } </script> -<video id="video" width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); updateCue();"> +<video id="video" width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); updateCue();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> - <track id="track" src="support/test.vtt"> + <track id="track" src="support/test.vtt" onload="updateCue();"> <script> document.getElementsByTagName('track')[0].track.mode = 'showing'; </script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_text_while_paused-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_text_while_paused-ref.html index 42ca638a..a5f68ce 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_text_while_paused-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_text_while_paused-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px; } </style> <div class="video"><span class="cue"><span>f o o</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_text_while_paused.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_text_while_paused.html index 295db32..b6dc07e 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_text_while_paused.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_cue_text_while_paused.html
@@ -12,17 +12,22 @@ </style> <script src="/common/reftest-wait.js"></script> <script> + var i = 0; function updateCue() { + i++; + if (i !== 2) { + return; + } var t = document.getElementById('track'); var c = t.track.cues[0]; c.text = 'f o o'; - takeScreenshot(); + takeScreenshotDelayed(1000); } </script> -<video id="video" width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); updateCue();"> +<video id="video" width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); updateCue();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> - <track id="track" src="support/test.vtt"> + <track id="track" src="support/test.vtt" onload="updateCue();"> <script> document.getElementsByTagName('track')[0].track.mode = 'showing'; </script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_remove_cue_while_paused-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_remove_cue_while_paused-ref.html index 4525a7c..66505b2 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_remove_cue_while_paused-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_remove_cue_while_paused-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } </style> <div class="video"></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_remove_cue_while_paused.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_remove_cue_while_paused.html index 3748108..708eba9 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_remove_cue_while_paused.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/dom_override_remove_cue_while_paused.html
@@ -12,19 +12,24 @@ </style> <script src="/common/reftest-wait.js"></script> <script> + var i = 0; function updateCue() { + i++; + if (i !== 2) { + return; + } var t = document.getElementById('track'); var c = t.track.cues[0]; t.track.removeCue(c); - takeScreenshot(); + takeScreenshotDelayed(1000); } </script> -<video id="video" width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); updateCue();"> +<video id="video" width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); updateCue();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> - <track id="track" src="support/test.vtt"> + <track id="track" src="support/test.vtt" onload="updateCue();"> + <script> + document.getElementsByTagName('track')[0].track.mode = 'showing'; + </script> </video> -<script> -document.getElementsByTagName('track')[0].track.mode = 'showing'; -</script> </html>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/enable_controls_reposition-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/enable_controls_reposition-ref.html index 2076622..07f9dc1 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/enable_controls_reposition-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/enable_controls_reposition-ref.html
@@ -28,7 +28,7 @@ } </style> <video controls> - <source src="/media/white.webm" type="video/webm"> - <source src="/media/white.mp4" type="video/mp4"> + <source src="/media/white.webm" type="video/webm"> + <source src="/media/white.mp4" type="video/mp4"> </video> <div class="video"><span class="cue"><span>Foo</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/enable_controls_reposition.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/enable_controls_reposition.html index ab37c36..192595c 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/enable_controls_reposition.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/enable_controls_reposition.html
@@ -21,8 +21,11 @@ setTimeout(function(video){ video.controls = true; }, 100, this); - setTimeout(takeScreenshot, 200);"> - <source src="/media/white.webm" type="video/webm"> - <source src="/media/white.mp4" type="video/mp4"> - <track src=support/foo.vtt> + takeScreenshotDelayed(1000);"> + <source src="/media/white.webm" type="video/webm"> + <source src="/media/white.mp4" type="video/mp4"> + <track src=support/foo.vtt> + <script> + document.getElementsByTagName('track')[0].track.mode = 'showing'; + </script> </video>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/9_cues_overlapping_completely-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/9_cues_overlapping_completely-ref.html index 62fe1a6..58fcb89e0 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/9_cues_overlapping_completely-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/9_cues_overlapping_completely-ref.html
@@ -3,18 +3,19 @@ <style> .video { display: inline-block; - width: 720px; - height: 720px; + width: 180px; + height: 180px; outline: solid; - position: relative + position: relative; + font-size: 9px } #cue1 { position: absolute; top: 50%; left: 50%; right: 0; - margin-top: -18px; - margin-left: -18px; + margin-top: -4.5px; + margin-left: -4.5px; color: #000 } #cue2 { @@ -22,8 +23,8 @@ top: 50%; left: 50%; right: 0; - margin-top: -54px; - margin-left: -18px; + margin-top: -13.5px; + margin-left: -4.5px; color: #222 } #cue3 { @@ -31,8 +32,8 @@ top: 50%; left: 50%; right: 0; - margin-top: -18px; - margin-left: -54px; + margin-top: -4.5px; + margin-left: -13.5px; color: #444 } #cue4 { @@ -40,8 +41,8 @@ top: 50%; left: 50%; right: 0; - margin-top: -18px; - margin-left: 18px; + margin-top: -4.5px; + margin-left: 4.5px; color: #666 } #cue5 { @@ -49,8 +50,8 @@ top: 50%; left: 50%; right: 0; - margin-top: 18px; - margin-left: -18px; + margin-top: 4.5px; + margin-left: -4.5px; color: #888 } #cue6 { @@ -58,8 +59,8 @@ top: 50%; left: 50%; right: 0; - margin-top: -54px; - margin-left: -54px; + margin-top: -13.5px; + margin-left: -13.5px; color: #aaa } #cue7 { @@ -67,8 +68,8 @@ top: 50%; left: 50%; right: 0; - margin-top: -54px; - margin-left: 18px; + margin-top: -13.5px; + margin-left: 4.5px; color: #ccc } #cue8 { @@ -76,8 +77,8 @@ top: 50%; left: 50%; right: 0; - margin-top: 18px; - margin-left: -54px; + margin-top: 4.5px; + margin-left: -13.5px; color: #eee } #cue9 { @@ -85,18 +86,17 @@ top: 50%; left: 50%; right: 0; - margin-top: 18px; - margin-left: 18px; + margin-top: 4.5px; + margin-left: 4.5px; color: green } .cue { - width: 36px; + width: 9px; text-align: center } .cue > span { font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; } </style> <div class="video">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/9_cues_overlapping_completely.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/9_cues_overlapping_completely.html index ac897a13..2edc420 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/9_cues_overlapping_completely.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/9_cues_overlapping_completely.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, repositioning of 9 cues that overlap completely</title> <link rel="match" href="9_cues_overlapping_completely-ref.html"> <style> @@ -37,7 +37,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="720" height="720" autoplay ontimeupdate="if (this.currentTime >= 1) { this.ontimeupdate = null; this.pause(); takeScreenshot(); }"> +<video width="180" height="180" autoplay ontimeupdate="if (this.currentTime >= 1) { this.ontimeupdate = null; this.pause(); takeScreenshot(); }"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/9_cues_overlapping_completely.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/9_cues_overlapping_completely_all_cues_have_same_timestamp-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/9_cues_overlapping_completely_all_cues_have_same_timestamp-ref.html index 66140c01..fa69db1d 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/9_cues_overlapping_completely_all_cues_have_same_timestamp-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/9_cues_overlapping_completely_all_cues_have_same_timestamp-ref.html
@@ -3,18 +3,19 @@ <style> .video { display: inline-block; - width: 720px; - height: 720px; + width: 180px; + height: 180px; outline: solid; - position: relative + position: relative; + font-size: 9px; } #cue1 { position: absolute; top: 50%; left: 50%; right: 0; - margin-top: -18px; - margin-left: -18px; + margin-top: -4.5px; + margin-left: -4.5px; color: #000 } #cue2 { @@ -22,8 +23,8 @@ top: 50%; left: 50%; right: 0; - margin-top: -54px; - margin-left: -18px; + margin-top: -13.5px; + margin-left: -4.5px; color: #222 } #cue3 { @@ -31,8 +32,8 @@ top: 50%; left: 50%; right: 0; - margin-top: -18px; - margin-left: -54px; + margin-top: -4.5px; + margin-left: -13.5px; color: #444 } #cue4 { @@ -40,8 +41,8 @@ top: 50%; left: 50%; right: 0; - margin-top: -18px; - margin-left: 18px; + margin-top: -4.5px; + margin-left: 4.5px; color: #666 } #cue5 { @@ -49,8 +50,8 @@ top: 50%; left: 50%; right: 0; - margin-top: 18px; - margin-left: -18px; + margin-top: 4.5px; + margin-left: -4.5px; color: #888 } #cue6 { @@ -58,8 +59,8 @@ top: 50%; left: 50%; right: 0; - margin-top: -54px; - margin-left: -54px; + margin-top: -13.5px; + margin-left: -13.5px; color: #aaa } #cue7 { @@ -67,8 +68,8 @@ top: 50%; left: 50%; right: 0; - margin-top: -54px; - margin-left: 18px; + margin-top: -13.5px; + margin-left: 4.5px; color: #ccc } #cue8 { @@ -76,8 +77,8 @@ top: 50%; left: 50%; right: 0; - margin-top: 18px; - margin-left: -54px; + margin-top: 4.5px; + margin-left: -13.5px; color: #eee } #cue9 { @@ -85,18 +86,17 @@ top: 50%; left: 50%; right: 0; - margin-top: 18px; - margin-left: 18px; + margin-top: 4.5px; + margin-left: 4.5px; color: green } .cue { - width: 36px; + width: 9px; text-align: center } .cue > span { font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; } </style> <div class="video">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/9_cues_overlapping_completely_all_cues_have_same_timestamp.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/9_cues_overlapping_completely_all_cues_have_same_timestamp.html index 267c319..a730c27b2 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/9_cues_overlapping_completely_all_cues_have_same_timestamp.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/9_cues_overlapping_completely_all_cues_have_same_timestamp.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, repositioning of 9 cues that overlap completely and all cues have the same timestamp</title> <link rel="match" href="9_cues_overlapping_completely_all_cues_have_same_timestamp-ref.html"> <style> @@ -37,7 +37,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="720" height="720" autoplay ontimeupdate="if (this.currentTime >= 1) { this.ontimeupdate = null; this.pause(); takeScreenshot(); }"> +<video width="180" height="180" autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 1; takeScreenshotDelayed(1000);"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/9_cues_overlapping_completely_all_cues_have_same_timestamp.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/media_404_omit_subtitles-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/media_404_omit_subtitles-ref.html index a3b4803..b4b2427 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/media_404_omit_subtitles-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/media_404_omit_subtitles-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } </style> <div class="video"></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/media_404_omit_subtitles.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/media_404_omit_subtitles.html index 15b1248..e216ce0 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/media_404_omit_subtitles.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/media_404_omit_subtitles.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<!-- no reftest-wait --> <title>WebVTT rendering, when media cannot be played (404 error), subtitles are not displayed</title> <link rel="match" href="media_404_omit_subtitles-ref.html"> <style> @@ -10,10 +10,12 @@ color: green } </style> -<script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> - <source src="videonotfound.webm" type="video/webm"> - <source src="videonotfound.mp4" type="video/mp4"> +<!-- +The subtitles are not expected to render because the "show poster flag" +is set, so when the track loads it will *not* run "time marches on". +--> +<video width="320" height="180" autoplay> + <source src="/common/text-plain.txt?pipe=status(404)"> <track src="support/test.vtt"> <script> document.getElementsByTagName('track')[0].track.mode = 'showing';
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/media_height_19-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/media_height_19-ref.html index 5908cf2..e6dcfce 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/media_height_19-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/media_height_19-ref.html
@@ -3,10 +3,11 @@ <style> .video { display: inline-block; - width: 1280px; + width: 320px; height: 19px; outline: solid; - position: relative + position: relative; + font-size: 0.95px } .cue { position: absolute; @@ -19,7 +20,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 0.95px } </style> <div class=video><span class=cue><span>This is a test subtitle</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/media_height_19.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/media_height_19.html index 9e2a060..b3eeed2 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/media_height_19.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/media_height_19.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, when media height is 19 or less, font size should be smaller than when it is 20 and above</title> <link rel="match" href="media_height_19-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="19" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="19" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/single_quote-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/single_quote-ref.html index 2f1c1505..81c546e 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/single_quote-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/single_quote-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px; } </style> <div class="video"><span class="cue"><span>'</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/single_quote.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/single_quote.html index af36ad78..8870e943 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/single_quote.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/single_quote.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, single quote should not be levitated</title> <link rel="match" href="single_quote-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/single_quote.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/size_90-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/size_90-ref.html index 65cf4c8..4eb2bdc 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/size_90-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/size_90-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px } </style> <div class=video><span class=cue><span>This is a test subtitle</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/size_90.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/size_90.html index 9470da4..d5a6a3ae 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/size_90.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/size_90.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, size:99% == size:100% when text does not need to wrap</title> <link rel="match" href="size_90-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/size_90.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/size_99-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/size_99-ref.html index ffabbe4..99bc90b 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/size_99-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/size_99-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px } </style> <div class=video><span class=cue><span>This is a test subtitle</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/size_99.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/size_99.html index 8eef684e..b3466e9 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/size_99.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/evil/size_99.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, size:99% == size:100% when text does not need to wrap</title> <link rel="match" href="size_99-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/size_99.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_-2_wrapped_cue_grow_upwards-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_-2_wrapped_cue_grow_upwards-ref.html index b62f6ea..b7332d1 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_-2_wrapped_cue_grow_upwards-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_-2_wrapped_cue_grow_upwards-ref.html
@@ -5,23 +5,23 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; - bottom: 36px; - left: 320px; + bottom: 9px; + left: 80px; right: 0; - width: 640px; + width: 160px; text-align: center } .cue > span { font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px; } </style> <div class="video"><span class="cue"><span>This is a test subtitle that will line break</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_-2_wrapped_cue_grow_upwards.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_-2_wrapped_cue_grow_upwards.html index 0fc7b1d..6da6cc5 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_-2_wrapped_cue_grow_upwards.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_-2_wrapped_cue_grow_upwards.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/line_-2_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_0_is_top-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_0_is_top-ref.html index 8538a20..7edb887 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_0_is_top-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_0_is_top-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px; } </style> <div class="video"><span class="cue"><span>This is a test subtitle</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_0_is_top.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_0_is_top.html index 86ba937..2167f21 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_0_is_top.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_0_is_top.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/line_0.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_1_wrapped_cue_grow_downwards-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_1_wrapped_cue_grow_downwards-ref.html index 0b48ad6..6630675e 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_1_wrapped_cue_grow_downwards-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_1_wrapped_cue_grow_downwards-ref.html
@@ -5,23 +5,23 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; - top: 36px; - left: 320px; + top: 9px; + left: 80px; right: 0; - width: 640px; + width: 160px; text-align: center } .cue > span { font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px; } </style> <div class="video"><span class="cue"><span>This is a test subtitle that will line break</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_1_wrapped_cue_grow_downwards.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_1_wrapped_cue_grow_downwards.html index 34048ee1..b92b3dcbd 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_1_wrapped_cue_grow_downwards.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_1_wrapped_cue_grow_downwards.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/line_1_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_50_percent-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_50_percent-ref.html index bd3cffc..fde1b48 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_50_percent-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_50_percent-ref.html
@@ -5,23 +5,23 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; top: 50%; left: 0; right: 0; - margin-top: -18px; + margin-top: -4.5px; text-align: center } .cue > span { font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px; } </style> <div class="video"><span class="cue"><span>This is a test subtitle</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_50_percent.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_50_percent.html index ddfb450b..d4abdcc8 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_50_percent.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_50_percent.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/line_50_percent.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_integer_and_percent_mixed_overlap-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_integer_and_percent_mixed_overlap-ref.html index 4d853a1..05f9085 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_integer_and_percent_mixed_overlap-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_integer_and_percent_mixed_overlap-ref.html
@@ -5,20 +5,21 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } #cue1 { position: absolute; - top: 324px; + top: 81px; left: 0; right: 0; text-align: center } #cue2 { position: absolute; - top: 360px; + top: 90px; left: 0; right: 0; text-align: center @@ -27,7 +28,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px; } </style> <div class="video"><span id="cue1" class="cue"><span>This is a test subtitle</span></span><span id="cue2" class="cue"><span>This is another test subtitle</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_integer_and_percent_mixed_overlap.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_integer_and_percent_mixed_overlap.html index 3a3c13ef..fe8dc20 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_integer_and_percent_mixed_overlap.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_integer_and_percent_mixed_overlap.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/line_integer_and_percent_overlap.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_integer_and_percent_mixed_overlap_move_up-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_integer_and_percent_mixed_overlap_move_up-ref.html index 05ff966..d29b18c0 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_integer_and_percent_mixed_overlap_move_up-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_integer_and_percent_mixed_overlap_move_up-ref.html
@@ -5,20 +5,21 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } #cue1 { position: absolute; - top: 360px; + top: 90px; left: 0; right: 0; text-align: center } #cue2 { position: absolute; - top: 324px; + top: 81px; left: 0; right: 0; text-align: center @@ -27,7 +28,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px; } </style> <div class="video"><span id="cue1" class="cue"><span>This is a test subtitle</span></span><span id="cue2" class="cue"><span>This is another test subtitle</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_integer_and_percent_mixed_overlap_move_up.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_integer_and_percent_mixed_overlap_move_up.html index e0474200..97d283f 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_integer_and_percent_mixed_overlap_move_up.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_integer_and_percent_mixed_overlap_move_up.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/line_integer_and_percent_overlap_move_up.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_percent_and_integer_mixed_overlap-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_percent_and_integer_mixed_overlap-ref.html index 8c4fd89..babbd03 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_percent_and_integer_mixed_overlap-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_percent_and_integer_mixed_overlap-ref.html
@@ -5,20 +5,21 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } #cue1 { position: absolute; - top: 307.8px; + top: 76.95px; left: 0; right: 0; text-align: center } #cue2 { position: absolute; - top: 360px; + top: 90px; left: 0; right: 0; text-align: center @@ -27,7 +28,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px; } </style> <div class="video"><span id="cue1" class="cue"><span>This is a test subtitle</span></span><span id="cue2" class="cue"><span>This is another test subtitle</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_percent_and_integer_mixed_overlap.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_percent_and_integer_mixed_overlap.html index be24600..bd61881b 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_percent_and_integer_mixed_overlap.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_percent_and_integer_mixed_overlap.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/line_percent_and_integer_overlap.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_percent_and_integer_mixed_overlap_move_up-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_percent_and_integer_mixed_overlap_move_up-ref.html index e728943..3eb6ec9 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_percent_and_integer_mixed_overlap_move_up-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_percent_and_integer_mixed_overlap_move_up-ref.html
@@ -5,20 +5,21 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } #cue1 { position: absolute; - top: 376.2px; + top: 94.05px; left: 0; right: 0; text-align: center } #cue2 { position: absolute; - top: 324px; + top: 81px; left: 0; right: 0; text-align: center @@ -27,7 +28,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px; } </style> <div class="video"><span id="cue1" class="cue"><span>This is a test subtitle</span></span><span id="cue2" class="cue"><span>This is another test subtitle</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_percent_and_integer_mixed_overlap_move_up.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_percent_and_integer_mixed_overlap_move_up.html index a78bad2..e12bcd5 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_percent_and_integer_mixed_overlap_move_up.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/line_percent_and_integer_mixed_overlap_move_up.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/line_percent_and_integer_overlap_move_up.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/media_height400_with_controls-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/media_height400_with_controls-ref.html index 468e4061..088cea5 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/media_height400_with_controls-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/media_height400_with_controls-ref.html
@@ -5,9 +5,10 @@ .video { display: inline-block; position: absolute; - width: 1280px; + width: 320px; height: 400px; - outline: solid + outline: solid; + font-size: 20px; } .cue { position: absolute; @@ -15,18 +16,17 @@ left: 0; right: 0; text-align: center; - padding-bottom: 40px + padding-bottom: 40px; } .cue > span { font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 20px } </style> <script src="/common/reftest-wait.js"></script> <div class="video"><span class="cue"><span>This is a test subtitle</span></span></div> -<video width="1280" height="400" autoplay controls onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="400" autoplay controls onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/media_height400_with_controls.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/media_height400_with_controls.html index 6a5c36c..b864eec 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/media_height400_with_controls.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/media_height400_with_controls.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="400" autoplay controls onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="400" autoplay controls onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/media_with_controls-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/media_with_controls-ref.html index 798bef10..d12de27 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/media_with_controls-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/media_with_controls-ref.html
@@ -5,9 +5,10 @@ .video { display: inline-block; position: absolute; - width: 1280px; - height: 720px; - outline: solid + width: 320px; + height: 180px; + outline: solid; + font-size: 9px; } .cue { position: absolute; @@ -15,18 +16,17 @@ left: 0; right: 0; text-align: center; - padding-bottom: 36px + padding-bottom: 9px; } .cue > span { font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px } </style> <script src="/common/reftest-wait.js"></script> <div class="video"><span class="cue"><span>This is a test subtitle</span></span></div> -<video width="1280" height="720" autoplay controls onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay controls onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/media_with_controls.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/media_with_controls.html index dcb8993..aab664f 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/media_with_controls.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/media_with_controls.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay controls onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay controls onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/navigate_cue_position-1.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/navigate_cue_position-1.html index 5effb332b..d9589b035 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/navigate_cue_position-1.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/navigate_cue_position-1.html
@@ -17,7 +17,10 @@ this.pause(); this.currentTime = 0; "> - <source src="/media/white.webm" type="video/webm"> - <source src="/media/white.mp4" type="video/mp4"> - <track src=support/foo.vtt> -</video> \ No newline at end of file + <source src="/media/white.webm" type="video/webm"> + <source src="/media/white.mp4" type="video/mp4"> + <track src=support/foo.vtt> + <script> + document.getElementsByTagName('track')[0].track.mode = 'showing'; + </script> +</video>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/navigate_cue_position-ref-1.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/navigate_cue_position-ref-1.html index e155162f..019ada8 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/navigate_cue_position-ref-1.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/navigate_cue_position-ref-1.html
@@ -6,7 +6,8 @@ outline: solid; width: 320px; height: 240px; - position: relative + position: relative; + font-size: 50px; } video { position: absolute; @@ -24,11 +25,10 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 50px; } </style> <video controls> - <source src="/media/white.webm" type="video/webm"> - <source src="/media/white.mp4" type="video/mp4"> + <source src="/media/white.webm" type="video/webm"> + <source src="/media/white.mp4" type="video/mp4"> </video> -<div class="video"><span class="cue"><span>Foo</span></span></div> \ No newline at end of file +<div class="video"><span class="cue"><span>Foo</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/navigate_cue_position.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/navigate_cue_position.html index 6a50429..e176ef0 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/navigate_cue_position.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/navigate_cue_position.html
@@ -24,4 +24,4 @@ } } </script> -<iframe src="navigate_cue_position-1.html"></iframe> \ No newline at end of file +<iframe src="navigate_cue_position-1.html"></iframe>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/one_line_cue_plus_wrapped_cue-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/one_line_cue_plus_wrapped_cue-ref.html index f77a6dc..40181d1 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/one_line_cue_plus_wrapped_cue-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/one_line_cue_plus_wrapped_cue-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -21,7 +22,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px; } </style> <div class="video"><span class="cue"><span>This is a test subtitle<br>This test subtitle wraps and should be visible</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/one_line_cue_plus_wrapped_cue.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/one_line_cue_plus_wrapped_cue.html index c6ad95e..68c44bea 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/one_line_cue_plus_wrapped_cue.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/one_line_cue_plus_wrapped_cue.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/one_line_cue_plus_wrapped_cue.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/repaint-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/repaint-ref.html index d0943070..49f385b0 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/repaint-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/repaint-ref.html
@@ -5,7 +5,8 @@ display: inline-block; width: 320px; height: 240px; - position: relative + position: relative; + font-size: 50px; } .cue { position: absolute; @@ -18,7 +19,6 @@ font-family: sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 50px; } </style> <p>You should see the word 'PASS' below.</p>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_properties-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_properties-ref.html index b23278a..addbb46f 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_properties-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_properties-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,7 @@ .cue > span { font-family: Ahem, sans-serif; background: #0f0 url('../../media/background.gif') repeat-x top left; - font-size: 36px; + font-size: 9px; color: green; } </style>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_properties.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_properties.html index ef1f0a9..9830c7ad 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_properties.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_properties.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue, background properties</title> <link rel="match" href="background_properties-ref.html"> <style> @@ -15,7 +15,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_shorthand-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_shorthand-ref.html index 944723c..9dc3306 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_shorthand-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_shorthand-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,7 @@ .cue > span { font-family: Ahem, sans-serif; background: #0f0 url('../../media/background.gif') repeat-x top left; - font-size: 36px; + font-size: 9px; color: green; } </style>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_shorthand.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_shorthand.html index 612fe90..f3e86673 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_shorthand.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_shorthand.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue, background shorthand</title> <link rel="match" href="background_shorthand-ref.html"> <style> @@ -12,7 +12,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_shorthand_css_relative_url-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_shorthand_css_relative_url-ref.html index 4ad4215..62f6872 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_shorthand_css_relative_url-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_shorthand_css_relative_url-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,7 @@ .cue > span { font-family: Ahem, sans-serif; background: #0f0 url('../../media/background.gif') repeat-x top left; - font-size: 36px; + font-size: 9px; color: green; } </style>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_shorthand_css_relative_url.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_shorthand_css_relative_url.html index 91cd11e7..f7edc2cb0 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_shorthand_css_relative_url.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/background_shorthand_css_relative_url.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue, background shorthand, background image URL with relative path from CSS file</title> <link rel="match" href="background_shorthand_css_relative_url-ref.html"> <style> @@ -12,7 +12,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_hex-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_hex-ref.html index 5894286..351dfd7 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_hex-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_hex-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,7 @@ .cue > span { font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; + font-size: 9px; color: #60ff60; } </style>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_hex.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_hex.html index e8d091b25..0c30919 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_hex.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_hex.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue, color: #60ff60</title> <link rel="match" href="color_hex-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_hsla-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_hsla-ref.html index 2fd9a03..9cf828f 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_hsla-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_hsla-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,7 @@ .cue > span { font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; + font-size: 9px; color: hsla(100,100%,50%,0.5); } </style>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_hsla.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_hsla.html index 3830e8f..b97d2f6 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_hsla.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_hsla.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue, color: hsla()</title> <link rel="match" href="color_hsla-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_rgba-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_rgba-ref.html index 50326b9..8d25f4c 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_rgba-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_rgba-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,7 @@ .cue > span { font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; + font-size: 9px; color: rgba(128,255,128,0.5); } </style>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_rgba.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_rgba.html index c1eb1d95..c3ca5dc9 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_rgba.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/color_rgba.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue, color: rgba()</title> <link rel="match" href="color_rgba-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/cue_selector_single_colon-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/cue_selector_single_colon-ref.html index 709f517..cf00fe89 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/cue_selector_single_colon-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/cue_selector_single_colon-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -21,7 +22,6 @@ font-family: sans-serif; background: rgba(0,0,0,0.8); color: white; - font-size: 36px; } </style> <div class="video"><span class="cue"><span>This is a test subtitle</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/cue_selector_single_colon.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/cue_selector_single_colon.html index 5130855..d27ac3e 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/cue_selector_single_colon.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/cue_selector_single_colon.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, :cue (single colon) should not be supported</title> <link rel="match" href="cue_selector_single_colon-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/font_properties-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/font_properties-ref.html index d7071fcc..c584cf1 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/font_properties-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/font_properties-ref.html
@@ -5,16 +5,17 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; bottom: 0; left: 0; right: 0; - font: italic small-caps bold 36px/72px sans-serif; + font: italic small-caps bold 9px/18px sans-serif; text-align: center } .cue > span {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/font_properties.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/font_properties.html index 1d24f921..cafc222e 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/font_properties.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/font_properties.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue, font properties</title> <link rel="match" href="font_properties-ref.html"> <style> @@ -9,13 +9,13 @@ font-style: italic; font-variant: small-caps; font-weight: bold; - font-size: 36px; - line-height: 72px; + font-size: 9px; + line-height: 18px; font-family: sans-serif; } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/font_shorthand-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/font_shorthand-ref.html index b3a5d47..c078724 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/font_shorthand-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/font_shorthand-ref.html
@@ -5,16 +5,17 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; bottom: 0; left: 0; right: 0; - font: italic small-caps bold 36px/72px sans-serif; + font: italic small-caps bold 9px/18px sans-serif; text-align: center } .cue > span {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/font_shorthand.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/font_shorthand.html index b7a3a26..78e2800 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/font_shorthand.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/font_shorthand.html
@@ -1,16 +1,16 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue, font shorthand</title> <link rel="match" href="font_shorthand-ref.html"> <style> html { overflow:hidden } body { margin:0 } ::cue { - font: italic small-caps bold 36px/72px sans-serif; + font: italic small-caps bold 9px/18px sans-serif; } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/inherit_values_from_media_element-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/inherit_values_from_media_element-ref.html index e8ef51b..82cebf46 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/inherit_values_from_media_element-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/inherit_values_from_media_element-ref.html
@@ -4,23 +4,24 @@ .video { position: absolute; display: inline-block; - width: 1280px; - height: 720px; + width: 320px; + height: 180px; position: relative; color: #f0f; white-space: pre-wrap; - font: italic small-caps bold 36px/72px sans-serif; + font: italic small-caps bold 9px/18px sans-serif; text-decoration: overline underline line-through; text-shadow: 0px 0px 5px #0f0; background: #0f0 url('../../media/background.gif') repeat-x top left; outline: solid #00f 2px; + font-size: 9px; } .videoWhite { position: absolute; top: 0; - left: 160px; - width: 960px; - height: 720px;; + left: 40px; + width: 240px; + height: 180px;; background: #fff; z-index: 1; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/inherit_values_from_media_element.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/inherit_values_from_media_element.html index b93ac56..0b7bcf1c 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/inherit_values_from_media_element.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/inherit_values_from_media_element.html
@@ -1,12 +1,12 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue, css properties with value inherit should inherit from media element</title> <link rel="match" href="inherit_values_from_media_element-ref.html"> <style> video { color: #f0f; white-space: pre-wrap; - font: italic small-caps bold 36px/72px sans-serif; + font: italic small-caps bold 9px/18px sans-serif; text-decoration: overline underline line-through; text-shadow: 0px 0px 5px #0f0; background: #0f0 url('../../media/background.gif') repeat-x top left; @@ -23,7 +23,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/white-spaces_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/outline_properties-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/outline_properties-ref.html index be06607..cabf34c 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/outline_properties-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/outline_properties-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,7 @@ font-family: Ahem, sans-serif; outline: solid #00f 2px; background: rgba(0,0,0,0.8); - font-size: 36px; + font-size: 9px; color: green; } </style>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/outline_properties.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/outline_properties.html index bfac121..763723b 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/outline_properties.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/outline_properties.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue, outline properties</title> <link rel="match" href="outline_properties-ref.html"> <style> @@ -14,7 +14,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/outline_shorthand-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/outline_shorthand-ref.html index 252094f..c29f841d 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/outline_shorthand-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/outline_shorthand-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,7 @@ font-family: Ahem, sans-serif; outline: solid #00f 2px; background: rgba(0,0,0,0.8); - font-size: 36px; + font-size: 9px; color: green; } </style>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/outline_shorthand.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/outline_shorthand.html index 4c39516c..60759c9 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/outline_shorthand.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/outline_shorthand.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue, outline shorthand</title> <link rel="match" href="outline_shorthand-ref.html"> <style> @@ -12,7 +12,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_line-through-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_line-through-ref.html index 70e314aa..594d5b29b 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_line-through-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_line-through-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,7 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; + font-size: 9px; color: white; text-decoration: line-through; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_line-through.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_line-through.html index 3233b9d..9a4179b 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_line-through.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_line-through.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue, text-decoration: line-through</title> <link rel="match" href="text-decoration_line-through-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_overline-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_overline-ref.html index e3a3473..bb18854b 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_overline-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_overline-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,7 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; + font-size: 9px; color: white; text-decoration: overline; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_overline.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_overline.html index 1d17b7f3..be7056c 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_overline.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_overline.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue, text-decoration: overline</title> <link rel="match" href="text-decoration_overline-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_overline_underline_line-through-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_overline_underline_line-through-ref.html index 7fb7d24c..85b2067 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_overline_underline_line-through-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_overline_underline_line-through-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,7 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; + font-size: 9px; color: white; text-decoration: overline underline line-through; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_overline_underline_line-through.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_overline_underline_line-through.html index 3d75cde..47f1999 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_overline_underline_line-through.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_overline_underline_line-through.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue, text-decoration: overline underline line-through</title> <link rel="match" href="text-decoration_overline_underline_line-through-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_underline-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_underline-ref.html index acc0fb3e..4a52472 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_underline-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_underline-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,7 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; + font-size: 9px; color: white; text-decoration: underline; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_underline.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_underline.html index bc2e1e9..67d920c 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_underline.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-decoration_underline.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue, text-decoration: underline</title> <link rel="match" href="text-decoration_underline-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-shadow-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-shadow-ref.html index d12360f..72e6a15 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-shadow-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-shadow-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,7 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; + font-size: 9px; color: white; text-shadow: 0px 0px 5px #0f0; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-shadow.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-shadow.html index cc4bfbd..fbd4022 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-shadow.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/text-shadow.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue, text-shadow</title> <link rel="match" href="text-shadow-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_normal_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_normal_wrapped-ref.html index 56a79a18..6c28a4f 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_normal_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_normal_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_normal_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_normal_wrapped.html index 68c2e45..3241820 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_normal_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_normal_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue, white-space: normal (cue that wraps)</title> <link rel="match" href="white-space_normal_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/foo_space_space_bar_LF_baz.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_nowrap_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_nowrap_wrapped-ref.html index ab23711..b6364ca 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_nowrap_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_nowrap_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_nowrap_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_nowrap_wrapped.html index b22b5e1..db78752e 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_nowrap_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_nowrap_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue, white-space: nowrap (cue that wraps)</title> <link rel="match" href="white-space_nowrap_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/white-spaces_long_size_20.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre-line_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre-line_wrapped-ref.html index 3d7607a11..45ee7f8 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre-line_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre-line_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre-line_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre-line_wrapped.html index 8069ad6d..c06e054 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre-line_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre-line_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue, white-space: pre-line (cue that wraps)</title> <link rel="match" href="white-space_pre-line_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/white-spaces_long_size_20.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre-ref.html index ad03b21..075b762b 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre-wrap_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre-wrap_wrapped-ref.html index c92c303..06313b9 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre-wrap_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre-wrap_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre-wrap_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre-wrap_wrapped.html index e056a7d..68bfee07 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre-wrap_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre-wrap_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue, white-space: pre-wrap (cue that wraps)</title> <link rel="match" href="white-space_pre-wrap_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/white-spaces_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre.html index 7b0c602..f4dda8f 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue, white-space: pre</title> <link rel="match" href="white-space_pre-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/white-spaces.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre_wrapped-ref.html index 65adcd3..ac208c8 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre_wrapped.html index 512808ef..1c82c62 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue/white-space_pre_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue, white-space: pre (cue that wraps)</title> <link rel="match" href="white-space_pre_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/white-spaces_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_box-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_box-ref.html index 05948c5..04ce82a 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_box-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_box-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -21,7 +22,6 @@ font-family: sans-serif; background: rgba(0,0,0,0.8); color: white; - font-size: 36px; } </style> <div class="video"><span class="cue"><span>This is a test subtitle</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_box.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_box.html index be87c028..3cbf2d19 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_box.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_box.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(* *) should match nothing (since the background box is anonymous)</title> <link rel="match" href="background_box-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_properties-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_properties-ref.html index 8e1fa2e..cf5136611 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_properties-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_properties-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,7 @@ .cue > span { font-family: Ahem, sans-serif; background: #0f0 url('../../media/background.gif') repeat-x top left; - font-size: 36px; + font-size: 9px; color: green; } </style>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_properties.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_properties.html index d95a4f2..41c5164 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_properties.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_properties.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(), background properties</title> <link rel="match" href="background_properties-ref.html"> <style> @@ -15,7 +15,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_shorthand-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_shorthand-ref.html index 22769b2a..709c1a6 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_shorthand-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_shorthand-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,7 @@ .cue > span { font-family: Ahem, sans-serif; background: #0f0 url('../../media/background.gif') repeat-x top left; - font-size: 36px; + font-size: 9px; color: green; } </style>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_shorthand.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_shorthand.html index b5653c7..a45f889 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_shorthand.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_shorthand.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(), background shorthand</title> <link rel="match" href="background_shorthand-ref.html"> <style> @@ -12,7 +12,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_shorthand_css_relative_url-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_shorthand_css_relative_url-ref.html index 9ac9fe9e..9e06fba 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_shorthand_css_relative_url-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_shorthand_css_relative_url-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,7 @@ .cue > span { font-family: Ahem, sans-serif; background: #0f0 url('../../media/background.gif') repeat-x top left; - font-size: 36px; + font-size: 9px; color: green; } </style>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_shorthand_css_relative_url.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_shorthand_css_relative_url.html index 1a20676..18718f52 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_shorthand_css_relative_url.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/background_shorthand_css_relative_url.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(), background shorthand, background image URL with relative path from CSS file</title> <link rel="match" href="background_shorthand_css_relative_url-ref.html"> <style> @@ -12,7 +12,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_animation_with_timestamp-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_animation_with_timestamp-ref.html index 747b525e..12ff3e1 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_animation_with_timestamp-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_animation_with_timestamp-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .green {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_animation_with_timestamp.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_animation_with_timestamp.html index 8d5cfee9..8ba9672 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_animation_with_timestamp.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_animation_with_timestamp.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, bold object animation with timestamp, ::cue(b:past) selector</title> <link rel="match" href="bold_animation_with_timestamp-ref.html"> <style> @@ -27,7 +27,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; takeScreenshotDelayed(200);"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 0.2; takeScreenshotDelayed(1000);"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/bold_with_timestamp.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_background_properties-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_background_properties-ref.html index 40e10546..53c778e 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_background_properties-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_background_properties-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -18,7 +19,6 @@ } .cue > span { font-family: sans-serif; - font-size: 36px; background: rgba(0,0,0,0.8); color: white; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_background_properties.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_background_properties.html index d964bc83..f2252d1 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_background_properties.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_background_properties.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(b), background properties</title> <link rel="match" href="bold_background_properties-ref.html"> <style> @@ -15,7 +15,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_bold.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_background_shorthand-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_background_shorthand-ref.html index 68571ebf5..7d973a5 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_background_shorthand-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_background_shorthand-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -18,7 +19,6 @@ } .cue > span { font-family: sans-serif; - font-size: 36px; background: rgba(0,0,0,0.8); color: white; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_background_shorthand.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_background_shorthand.html index c42e28b..7c718d7 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_background_shorthand.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_background_shorthand.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(b), background shorthand</title> <link rel="match" href="bold_background_shorthand-ref.html"> <style> @@ -12,7 +12,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_bold.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_color-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_color-ref.html index 1d703ed4..35ed895 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_color-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_color-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .cue > span > b {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_color.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_color.html index 73f3b8c2..66fe3f2 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_color.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_color.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(b), color: #0000ff</title> <link rel="match" href="bold_color-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_bold.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_font_properties-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_font_properties-ref.html index 68c7e5b4..74e8acc 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_font_properties-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_font_properties-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -15,7 +16,6 @@ left: 0; right: 0; font-family: sans-serif; - font-size: 36px; text-align: center } .cue > span { @@ -23,7 +23,7 @@ color: white; } .cue > span > b { - font: italic small-caps normal 36px/72px sans-serif; + font: italic small-caps normal 9px/18px sans-serif; } </style> <div class="video"><span class="cue"><span>This is a <b>test subtitle</b></span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_font_properties.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_font_properties.html index fe86d0a..5b241c66 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_font_properties.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_font_properties.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(b), font properties</title> <link rel="match" href="bold_font_properties-ref.html"> <style> @@ -9,13 +9,13 @@ font-style: italic; font-variant: small-caps; font-weight: normal; - font-size: 36px; - line-height: 72px; + font-size: 9px; + line-height: 18px; font-family: sans-serif; } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_bold.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_font_shorthand-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_font_shorthand-ref.html index 6cbd672..ad45073 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_font_shorthand-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_font_shorthand-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -15,7 +16,6 @@ left: 0; right: 0; font-family: sans-serif; - font-size: 36px; text-align: center } .cue > span { @@ -23,7 +23,7 @@ color: white; } .cue > span > b { - font: normal small-caps normal 36px/72px sans-serif; + font: normal small-caps normal 9px/18px sans-serif; } </style> <div class="video"><span class="cue"><span>This is a <b>test subtitle</b></span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_font_shorthand.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_font_shorthand.html index ed86c07..eb0e456 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_font_shorthand.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_font_shorthand.html
@@ -1,16 +1,16 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(b), font shorthand</title> <link rel="match" href="bold_font_shorthand-ref.html"> <style> html { overflow:hidden } body { margin:0 } ::cue(b) { - font: normal small-caps normal 36px/72px sans-serif; + font: normal small-caps normal 9px/18px sans-serif; } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_bold.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_namespace-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_namespace-ref.html index a0c20ef..dba8e3d37 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_namespace-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_namespace-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px } .green { font-weight: bold;
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_namespace.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_namespace.html index 7db2820..93b6e1b 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_namespace.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_namespace.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(|b) should match</title> <link rel="match" href="bold_namespace-ref.html"> <style> @@ -16,7 +16,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_bold.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_outline_properties-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_outline_properties-ref.html index a771152..67f873c 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_outline_properties-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_outline_properties-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .cue > span > b {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_outline_properties.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_outline_properties.html index 1e04f848..39a2fe5 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_outline_properties.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_outline_properties.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(b), outline properties</title> <link rel="match" href="bold_outline_properties-ref.html"> <style> @@ -13,7 +13,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_bold.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_outline_shorthand-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_outline_shorthand-ref.html index 46f19dd..ebb9258 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_outline_shorthand-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_outline_shorthand-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .cue > span > b {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_outline_shorthand.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_outline_shorthand.html index 96e2791..163e5f9 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_outline_shorthand.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_outline_shorthand.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(b), outline shorthand</title> <link rel="match" href="bold_outline_shorthand-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_bold.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_text-decoration_line-through-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_text-decoration_line-through-ref.html index aa984fc..eb061256 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_text-decoration_line-through-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_text-decoration_line-through-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .cue > span > b {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_text-decoration_line-through.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_text-decoration_line-through.html index caf81d78..e3045d5 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_text-decoration_line-through.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_text-decoration_line-through.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(b), text-decoration: line-through</title> <link rel="match" href="bold_text-decoration_line-through-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_bold.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_text-shadow-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_text-shadow-ref.html index c1d64400..5cd5f898 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_text-shadow-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_text-shadow-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .cue > span > b {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_text-shadow.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_text-shadow.html index 00f5d44..d5b32a6 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_text-shadow.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_text-shadow.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(b), text-shadow</title> <link rel="match" href="bold_text-shadow-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_bold.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_timestamp_future-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_timestamp_future-ref.html index bdc4c16d..425754e 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_timestamp_future-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_timestamp_future-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; font-weight: bold; color: white; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_timestamp_future.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_timestamp_future.html index ffe710f..6dae921 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_timestamp_future.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_timestamp_future.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, bold object transition with timestamp, ::cue(b:future) selector</title> <link rel="match" href="bold_timestamp_future-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; takeScreenshotDelayed(200);"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 0.2; takeScreenshotDelayed(1000);"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/bold_with_2_timestamps.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_timestamp_past-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_timestamp_past-ref.html index f0fd1ae..7cca2b4 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_timestamp_past-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_timestamp_past-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; font-weight: bold; color: white; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_timestamp_past.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_timestamp_past.html index b46a5ae..b43d786d 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_timestamp_past.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_timestamp_past.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, bold object transition with timestamp, ::cue(b:past) selector</title> <link rel="match" href="bold_timestamp_past-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; takeScreenshotDelayed(200);"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 0.2; takeScreenshotDelayed(1000);"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/bold_with_timestamp.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_transition_with_timestamp-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_transition_with_timestamp-ref.html index 602480a..a958d8f 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_transition_with_timestamp-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_transition_with_timestamp-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .green {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_transition_with_timestamp.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_transition_with_timestamp.html index 01e8751c..d83f85ca 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_transition_with_timestamp.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_transition_with_timestamp.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, bold object transition with timestamp, ::cue(b:past) selector</title> <link rel="match" href="bold_transition_with_timestamp-ref.html"> <style> @@ -14,7 +14,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; takeScreenshotDelayed(200);"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 0.2; takeScreenshotDelayed(1000);"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/bold_with_timestamp.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_normal_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_normal_wrapped-ref.html index 3ba3d4b4..9b682b25 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_normal_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_normal_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_normal_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_normal_wrapped.html index 3ac0dde..66869fa0 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_normal_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_normal_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, bold object, ::cue(b), white-space: normal (cue that wraps)</title> <link rel="match" href="bold_white-space_normal_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/bold_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_nowrap-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_nowrap-ref.html index 4aca609..949a72e 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_nowrap-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_nowrap-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative; overflow: hidden; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_nowrap.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_nowrap.html index 150f1d2..636ecd4 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_nowrap.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_nowrap.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, bold object, ::cue(b), white-space: nowrap (cue does not wrap)</title> <link rel="match" href="bold_white-space_nowrap-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/bold_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre-line_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre-line_wrapped-ref.html index 19da7439..951b9c9 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre-line_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre-line_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre-line_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre-line_wrapped.html index e6d52f8..b8eb488 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre-line_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre-line_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, bold object, ::cue(b), white-space: pre-line (cue that wraps)</title> <link rel="match" href="bold_white-space_pre-line_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/bold_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre-wrap_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre-wrap_wrapped-ref.html index 4d4eecf..ffc8721 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre-wrap_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre-wrap_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre-wrap_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre-wrap_wrapped.html index 4ac9e526..ab1f100 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre-wrap_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre-wrap_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, bold object, ::cue(b), white-space: pre-wrap (cue that wraps)</title> <link rel="match" href="bold_white-space_pre-wrap_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/bold_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre_wrapped-ref.html index 398c090..4acb777 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre_wrapped.html index 3b100b55..bc116eb 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_white-space_pre_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, bold object, ::cue(b), white-space: pre (cue that wraps)</title> <link rel="match" href="bold_white-space_pre_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/bold_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_with_class-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_with_class-ref.html index 7e0b4af..e8ce47e 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_with_class-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_with_class-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .green {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_with_class.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_with_class.html index ad542c5..c3173c22 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_with_class.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_with_class.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, bold object with class, ::cue(.foo) selector</title> <link rel="match" href="bold_with_class-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_bold_with_class.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_with_class_object_specific_selector-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_with_class_object_specific_selector-ref.html index 7097530b..5de9e15 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_with_class_object_specific_selector-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_with_class_object_specific_selector-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .green {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_with_class_object_specific_selector.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_with_class_object_specific_selector.html index 1d54d956..611fdd48 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_with_class_object_specific_selector.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/bold_object/bold_with_class_object_specific_selector.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, bold object with class, ::cue(b.foo) selector</title> <link rel="match" href="bold_with_class_object_specific_selector-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_bold_with_class.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_animation_with_timestamp-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_animation_with_timestamp-ref.html index 81c6ca5..bbd5d40 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_animation_with_timestamp-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_animation_with_timestamp-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .green {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_animation_with_timestamp.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_animation_with_timestamp.html index 896dc71..3313941fc 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_animation_with_timestamp.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_animation_with_timestamp.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, class object animation with timestamp, ::cue(c:past) selector</title> <link rel="match" href="class_animation_with_timestamp-ref.html"> <style> @@ -27,7 +27,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; takeScreenshotDelayed(200);"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 0.2; takeScreenshotDelayed(1000);"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/class_with_timestamp.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_background_properties-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_background_properties-ref.html index 703daabd..5639c67 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_background_properties-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_background_properties-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -18,7 +19,6 @@ } .cue > span { font-family: sans-serif; - font-size: 36px; background: rgba(0,0,0,0.8); color: white; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_background_properties.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_background_properties.html index 765b01f..2d8c2f8 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_background_properties.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_background_properties.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(c), background properties</title> <link rel="match" href="class_background_properties-ref.html"> <style> @@ -15,7 +15,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_class.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_background_shorthand-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_background_shorthand-ref.html index b66ec76..a6886935 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_background_shorthand-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_background_shorthand-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -18,7 +19,6 @@ } .cue > span { font-family: sans-serif; - font-size: 36px; background: rgba(0,0,0,0.8); color: white; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_background_shorthand.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_background_shorthand.html index f57619c..52ab133 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_background_shorthand.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_background_shorthand.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(c), background shorthand</title> <link rel="match" href="class_background_shorthand-ref.html"> <style> @@ -12,7 +12,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_class.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_color-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_color-ref.html index e665021..22584f691 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_color-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_color-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .cue > span > span {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_color.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_color.html index 0a609d1..47c4be5 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_color.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_color.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(c), color: #0000ff</title> <link rel="match" href="class_color-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_class.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_font_properties-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_font_properties-ref.html index 2c6fec8f..62ab1423 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_font_properties-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_font_properties-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -15,7 +16,6 @@ left: 0; right: 0; font-family: sans-serif; - font-size: 36px; text-align: center } .cue > span { @@ -23,7 +23,7 @@ color: white; } .cue > span > span { - font: italic small-caps bold 36px/72px sans-serif; + font: italic small-caps bold 9px/18px sans-serif; } </style> <div class="video"><span class="cue"><span>This is a <span>test subtitle</span></span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_font_properties.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_font_properties.html index 42ae57e..5658f81 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_font_properties.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_font_properties.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(c), font properties</title> <link rel="match" href="class_font_properties-ref.html"> <style> @@ -9,13 +9,13 @@ font-style: italic; font-variant: small-caps; font-weight: bold; - font-size: 36px; - line-height: 72px; + font-size: 9px; + line-height: 18px; font-family: sans-serif; } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_class.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_font_shorthand-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_font_shorthand-ref.html index 1ea755a3..fe17d8f4 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_font_shorthand-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_font_shorthand-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -15,7 +16,6 @@ left: 0; right: 0; font-family: sans-serif; - font-size: 36px; text-align: center } .cue > span { @@ -23,7 +23,7 @@ color: white; } .cue > span > span { - font: normal small-caps bold 36px/72px sans-serif; + font: normal small-caps bold 9px/18px sans-serif; } </style> <div class="video"><span class="cue"><span>This is a <span>test subtitle</span></span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_font_shorthand.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_font_shorthand.html index e4fd5735..aa24353 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_font_shorthand.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_font_shorthand.html
@@ -1,16 +1,16 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(c), font shorthand</title> <link rel="match" href="class_font_shorthand-ref.html"> <style> html { overflow:hidden } body { margin:0 } ::cue(c) { - font: normal small-caps bold 36px/72px sans-serif; + font: normal small-caps bold 9px/18px sans-serif; } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_class.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_namespace-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_namespace-ref.html index 3ca6dfd8..3aea69a 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_namespace-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_namespace-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px } .green { color: green;
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_namespace.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_namespace.html index 474a54d0..777ce66 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_namespace.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_namespace.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(|c) should match</title> <link rel="match" href="class_namespace-ref.html"> <style> @@ -17,7 +17,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_class.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_outline_properties-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_outline_properties-ref.html index 0384141..cd712ea 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_outline_properties-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_outline_properties-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .cue > span > span {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_outline_properties.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_outline_properties.html index de7abf8..82fdc14 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_outline_properties.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_outline_properties.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(c), outline properties</title> <link rel="match" href="class_outline_properties-ref.html"> <style> @@ -13,7 +13,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_class.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_outline_shorthand-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_outline_shorthand-ref.html index fa6bdb6..eb0195f2 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_outline_shorthand-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_outline_shorthand-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .cue > span > span {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_outline_shorthand.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_outline_shorthand.html index c0dab359..881a096 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_outline_shorthand.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_outline_shorthand.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(c), outline shorthand</title> <link rel="match" href="class_outline_shorthand-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_class.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_text-decoration_line-through-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_text-decoration_line-through-ref.html index ceec8b8..d7eabfa 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_text-decoration_line-through-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_text-decoration_line-through-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .cue > span > span {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_text-decoration_line-through.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_text-decoration_line-through.html index 72bb885..cf6caa4 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_text-decoration_line-through.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_text-decoration_line-through.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(c), text-decoration: line-through</title> <link rel="match" href="class_text-decoration_line-through-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_class.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_text-shadow-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_text-shadow-ref.html index cfd46836..22c339c8 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_text-shadow-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_text-shadow-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .cue > span > span {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_text-shadow.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_text-shadow.html index 07a1ed6..786f9b7d 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_text-shadow.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_text-shadow.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(c), text-shadow</title> <link rel="match" href="class_text-shadow-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_class.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_timestamp_future-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_timestamp_future-ref.html index 5333596f..0567e7e2 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_timestamp_future-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_timestamp_future-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .green {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_timestamp_future.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_timestamp_future.html index c1939ff6..a4a1d75 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_timestamp_future.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_timestamp_future.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, class object transition with timestamp, ::cue(c:future) selector</title> <link rel="match" href="class_timestamp_future-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; takeScreenshotDelayed(200);"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 0.2; takeScreenshotDelayed(1000);"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/class_with_2_timestamps.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_timestamp_past-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_timestamp_past-ref.html index 5f45ee7..20c8a37 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_timestamp_past-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_timestamp_past-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .green {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_timestamp_past.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_timestamp_past.html index 6f80b4e0..4d1ceea2 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_timestamp_past.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_timestamp_past.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, class object transition with timestamp, ::cue(c:past) selector</title> <link rel="match" href="class_timestamp_past-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; takeScreenshotDelayed(200);"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 0.2; takeScreenshotDelayed(1000);"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/class_with_timestamp.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_transition_with_timestamp-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_transition_with_timestamp-ref.html index 4a53043a1..7cb9a1e 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_transition_with_timestamp-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_transition_with_timestamp-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .green {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_transition_with_timestamp.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_transition_with_timestamp.html index 10f7da72..adb5328b 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_transition_with_timestamp.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_transition_with_timestamp.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, class object transition with timestamp, ::cue(c:past) selector</title> <link rel="match" href="class_transition_with_timestamp-ref.html"> <style> @@ -14,7 +14,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; takeScreenshotDelayed(200);"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 0.2; takeScreenshotDelayed(1000);"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/class_with_timestamp.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_normal_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_normal_wrapped-ref.html index 7cd630d7..8fea564 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_normal_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_normal_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_normal_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_normal_wrapped.html index 9213a4db..ee38e36 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_normal_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_normal_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, class object, ::cue(c), white-space: normal (cue that wraps)</title> <link rel="match" href="class_white-space_normal_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/class_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_nowrap-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_nowrap-ref.html index 640a889..4176a65 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_nowrap-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_nowrap-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative; overflow: hidden; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_nowrap.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_nowrap.html index 27e5d8a..c86bcb6 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_nowrap.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_nowrap.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, class object, ::cue(c), white-space: nowrap (cue does not wrap)</title> <link rel="match" href="class_white-space_nowrap-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/class_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre-line_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre-line_wrapped-ref.html index 2c9a49d..5b5a13c 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre-line_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre-line_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre-line_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre-line_wrapped.html index 3b5045c..0a1b7206 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre-line_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre-line_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, class object, ::cue(c), white-space: pre-line (cue that wraps)</title> <link rel="match" href="class_white-space_pre-line_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/class_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre-wrap_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre-wrap_wrapped-ref.html index da4db85..bf64242 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre-wrap_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre-wrap_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre-wrap_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre-wrap_wrapped.html index a269ca1b..3b11fd5e 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre-wrap_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre-wrap_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, class object, ::cue(c), white-space: pre-wrap (cue that wraps)</title> <link rel="match" href="class_white-space_pre-wrap_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/class_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre_wrapped-ref.html index 03852d9..1c91eb7 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre_wrapped.html index 418ea44..dbca54f 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_white-space_pre_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, class object, ::cue(c), white-space: pre (cue that wraps)</title> <link rel="match" href="class_white-space_pre_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/class_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_with_class-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_with_class-ref.html index 343fccc9..7f524ca8 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_with_class-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_with_class-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .green {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_with_class.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_with_class.html index 622edca4..9b24c87b 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_with_class.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_with_class.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, class object with class, ::cue(.foo) selector</title> <link rel="match" href="class_with_class-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_class_with_class.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_with_class_object_specific_selector-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_with_class_object_specific_selector-ref.html index 01081e98..15fcc651 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_with_class_object_specific_selector-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_with_class_object_specific_selector-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .green {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_with_class_object_specific_selector.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_with_class_object_specific_selector.html index 682be90..9812c96 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_with_class_object_specific_selector.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/class_object/class_with_class_object_specific_selector.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, class object with class, ::cue(c.foo) selector</title> <link rel="match" href="class_with_class_object_specific_selector-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_class_with_class.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_hex-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_hex-ref.html index 5a0a0b12..d4b80bf 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_hex-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_hex-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: #60ff60; } </style>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_hex.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_hex.html index 42eaf66f..d22fce30 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_hex.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_hex.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(), color: #60ff60</title> <link rel="match" href="color_hex-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_hsla-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_hsla-ref.html index 15c19e9..8d1ca416d 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_hsla-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_hsla-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: hsla(100,100%,50%,0.5); } </style>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_hsla.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_hsla.html index 7dadd55d..b003c4b 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_hsla.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_hsla.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(), color: hsla()</title> <link rel="match" href="color_hsla-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_rgba-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_rgba-ref.html index 87004f8..078d1e3 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_rgba-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_rgba-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: rgba(128,255,128,0.5); } </style>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_rgba.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_rgba.html index cd8ed2f..a6f4c6c 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_rgba.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/color_rgba.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(), color: rgba()</title> <link rel="match" href="color_rgba-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/cue_func_selector_single_colon-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/cue_func_selector_single_colon-ref.html index bc541fb..e2ccf63 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/cue_func_selector_single_colon-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/cue_func_selector_single_colon-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -21,7 +22,6 @@ font-family: sans-serif; background: rgba(0,0,0,0.8); color: white; - font-size: 36px; } </style> <div class="video"><span class="cue"><span>This is a test subtitle</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/cue_func_selector_single_colon.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/cue_func_selector_single_colon.html index 4ab2d9a5..3494918 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/cue_func_selector_single_colon.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/cue_func_selector_single_colon.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, :cue()</title> <link rel="match" href="cue_func_selector_single_colon-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/font_properties-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/font_properties-ref.html index 41be87a..ce446d9 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/font_properties-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/font_properties-ref.html
@@ -5,16 +5,17 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; bottom: 0; left: 0; right: 0; - font: italic small-caps bold 36px/72px sans-serif; + font: italic small-caps bold 9px/18px sans-serif; text-align: center } .cue > span {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/font_properties.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/font_properties.html index e9d1ef8..e38cc7e 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/font_properties.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/font_properties.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(), font properties</title> <link rel="match" href="font_properties-ref.html"> <style> @@ -9,13 +9,13 @@ font-style: italic; font-variant: small-caps; font-weight: bold; - font-size: 36px; - line-height: 72px; + font-size: 9px; + line-height: 18px; font-family: sans-serif; } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/font_shorthand-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/font_shorthand-ref.html index 341079b1..4c9d11a 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/font_shorthand-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/font_shorthand-ref.html
@@ -5,16 +5,17 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; bottom: 0; left: 0; right: 0; - font: italic small-caps bold 36px/72px sans-serif; + font: italic small-caps bold 9px/18px sans-serif; text-align: center } .cue > span {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/font_shorthand.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/font_shorthand.html index d711f54..9deb493 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/font_shorthand.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/font_shorthand.html
@@ -1,16 +1,16 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(), font shorthand</title> <link rel="match" href="font_shorthand-ref.html"> <style> html { overflow:hidden } body { margin:0 } ::cue(*) { - font: italic small-caps bold 36px/72px sans-serif; + font: italic small-caps bold 9px/18px sans-serif; } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/id_color-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/id_color-ref.html index 5effb11d..c719ec8f 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/id_color-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/id_color-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,7 @@ .cue > span { font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; + font-size: 9px; color: #00ff00; } </style>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/id_color.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/id_color.html index 85ffff6d..0069792 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/id_color.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/id_color.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, cue with ID, ::cue(#foo) selector</title> <link rel="match" href="id_color-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/cue_with_id.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/inherit_values_from_media_element-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/inherit_values_from_media_element-ref.html index ba554e2..caef6dc 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/inherit_values_from_media_element-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/inherit_values_from_media_element-ref.html
@@ -4,23 +4,24 @@ .video { position: absolute; display: inline-block; - width: 1280px; - height: 720px; + width: 320px; + height: 180px; position: relative; color: #f0f; white-space: pre-wrap; - font: italic small-caps bold 36px/72px sans-serif; + font: italic small-caps bold 9px/18px sans-serif; text-decoration: overline underline line-through; text-shadow: 0px 0px 5px #0f0; background: #0f0 url('../../media/background.gif') repeat-x top left; outline: solid #00f 2px; + font-size: 9px; } .videoWhite { position: absolute; top: 0; left: 160px; width: 960px; - height: 720px;; + height: 180px;; background: #fff; z-index: 1; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/inherit_values_from_media_element.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/inherit_values_from_media_element.html index a3be846..d2a7f01 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/inherit_values_from_media_element.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/inherit_values_from_media_element.html
@@ -1,12 +1,12 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(*), css properties with value inherit should inherit from media element</title> <link rel="match" href="inherit_values_from_media_element-ref.html"> <style> video { color: #f0f; white-space: pre-wrap; - font: italic small-caps bold 36px/72px sans-serif; + font: italic small-caps bold 9px/18px sans-serif; text-decoration: overline underline line-through; text-shadow: 0px 0px 5px #0f0; background: #0f0 url('../../media/background.gif') repeat-x top left; @@ -23,7 +23,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/white-spaces_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_animation_with_timestamp-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_animation_with_timestamp-ref.html index 8567adb..14e4fce 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_animation_with_timestamp-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_animation_with_timestamp-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .green {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_animation_with_timestamp.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_animation_with_timestamp.html index 2b32ff83..42a44d4 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_animation_with_timestamp.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_animation_with_timestamp.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, italic object animation with timestamp, ::cue(i:past) selector</title> <link rel="match" href="italic_animation_with_timestamp-ref.html"> <style> @@ -27,7 +27,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; takeScreenshotDelayed(200);"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 0.2; takeScreenshotDelayed(1000);"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/italic_with_timestamp.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_background_properties-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_background_properties-ref.html index 6cd53d42..7af39a3 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_background_properties-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_background_properties-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -18,7 +19,6 @@ } .cue > span { font-family: sans-serif; - font-size: 36px; background: rgba(0,0,0,0.8); color: white; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_background_properties.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_background_properties.html index a9ceca7..0db33d0 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_background_properties.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_background_properties.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(i), background properties</title> <link rel="match" href="italic_background_properties-ref.html"> <style> @@ -15,7 +15,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_italic.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_background_shorthand-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_background_shorthand-ref.html index d4d94a6e..030c3160 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_background_shorthand-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_background_shorthand-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -18,7 +19,6 @@ } .cue > span { font-family: sans-serif; - font-size: 36px; background: rgba(0,0,0,0.8); color: white; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_background_shorthand.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_background_shorthand.html index b7d98e2f..e98fad3a 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_background_shorthand.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_background_shorthand.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(i), background shorthand</title> <link rel="match" href="italic_background_shorthand-ref.html"> <style> @@ -12,7 +12,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_italic.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_color-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_color-ref.html index f7b60d7..dd8c1d2f 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_color-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_color-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .cue > span > i {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_color.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_color.html index c7e8882..35ec74a 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_color.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_color.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(i), color: #0000ff</title> <link rel="match" href="italic_color-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_italic.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_font_properties-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_font_properties-ref.html index c02042f..1d0312a 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_font_properties-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_font_properties-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -15,7 +16,6 @@ left: 0; right: 0; font-family: sans-serif; - font-size: 36px; text-align: center } .cue > span { @@ -23,7 +23,7 @@ color: white; } .cue > span > i { - font: italic small-caps bold 36px/72px sans-serif; + font: italic small-caps bold 9px/18px sans-serif; } </style> <div class="video"><span class="cue"><span>This is a <i>test subtitle</i></span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_font_properties.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_font_properties.html index 5fb92509..873b7b3 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_font_properties.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_font_properties.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(i), font properties</title> <link rel="match" href="italic_font_properties-ref.html"> <style> @@ -9,13 +9,13 @@ font-style: italic; font-variant: small-caps; font-weight: bold; - font-size: 36px; - line-height: 72px; + font-size: 9px; + line-height: 18px; font-family: sans-serif; } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_italic.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_font_shorthand-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_font_shorthand-ref.html index f00ee60..0abd4d3 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_font_shorthand-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_font_shorthand-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -15,7 +16,6 @@ left: 0; right: 0; font-family: sans-serif; - font-size: 36px; text-align: center } .cue > span { @@ -23,7 +23,7 @@ color: white; } .cue > span > i { - font: normal small-caps bold 36px/72px sans-serif; + font: normal small-caps bold 9px/18px sans-serif; } </style> <div class="video"><span class="cue"><span>This is a <i>test subtitle</i></span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_font_shorthand.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_font_shorthand.html index 21effa1..7f52e00 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_font_shorthand.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_font_shorthand.html
@@ -1,16 +1,16 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(i), font shorthand</title> <link rel="match" href="italic_font_shorthand-ref.html"> <style> html { overflow:hidden } body { margin:0 } ::cue(i) { - font: normal small-caps bold 36px/72px sans-serif; + font: normal small-caps bold 9px/18px sans-serif; } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_italic.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_namespace-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_namespace-ref.html index 6bad23b..d75cf446f 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_namespace-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_namespace-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px } .green { font-style: italic;
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_namespace.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_namespace.html index 0f51c5c..9615d81 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_namespace.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_namespace.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(|i) should match</title> <link rel="match" href="italic_namespace-ref.html"> <style> @@ -16,7 +16,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_italic.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_outline_properties-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_outline_properties-ref.html index 849d6e7..77e4d70 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_outline_properties-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_outline_properties-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .cue > span > i {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_outline_properties.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_outline_properties.html index e83daeb..1e5d348 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_outline_properties.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_outline_properties.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(i), outline properties</title> <link rel="match" href="italic_outline_properties-ref.html"> <style> @@ -13,7 +13,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_italic.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_outline_shorthand-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_outline_shorthand-ref.html index 218eb00..57ce50f 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_outline_shorthand-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_outline_shorthand-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .cue > span > i {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_outline_shorthand.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_outline_shorthand.html index cbceba8b..237a388 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_outline_shorthand.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_outline_shorthand.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(i), outline shorthand</title> <link rel="match" href="italic_outline_shorthand-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_italic.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_text-decoration_line-through-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_text-decoration_line-through-ref.html index c1de8d04a..814440a5 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_text-decoration_line-through-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_text-decoration_line-through-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .cue > span > i {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_text-decoration_line-through.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_text-decoration_line-through.html index dd1212a..a4e4006 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_text-decoration_line-through.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_text-decoration_line-through.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(i), text-decoration: line-through</title> <link rel="match" href="italic_text-decoration_line-through-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_italic.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_text-shadow-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_text-shadow-ref.html index a20a8eb..47765604 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_text-shadow-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_text-shadow-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .cue > span > i {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_text-shadow.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_text-shadow.html index 41582bb..af63481 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_text-shadow.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_text-shadow.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(i), text-shadow</title> <link rel="match" href="italic_text-shadow-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_italic.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_timestamp_future-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_timestamp_future-ref.html index 17f7709..bd27d1b 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_timestamp_future-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_timestamp_future-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; font-style: italic; color: white; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_timestamp_future.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_timestamp_future.html index 8330881..30d707b 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_timestamp_future.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_timestamp_future.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, italic object transition with timestamp, ::cue(i:future) selector</title> <link rel="match" href="italic_timestamp_future-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; takeScreenshotDelayed(200);"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 0.2; takeScreenshotDelayed(1000);"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/italic_with_2_timestamps.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_timestamp_past-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_timestamp_past-ref.html index 6b02c72..b721f25 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_timestamp_past-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_timestamp_past-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; font-style: italic; color: white; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_timestamp_past.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_timestamp_past.html index 294b642..24de973 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_timestamp_past.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_timestamp_past.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, italic object transition with timestamp, ::cue(i:past) selector</title> <link rel="match" href="italic_timestamp_past-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; takeScreenshotDelayed(200);"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 0.2; takeScreenshotDelayed(1000);"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/italic_with_timestamp.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_transition_with_timestamp-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_transition_with_timestamp-ref.html index 9bca411..019e66d 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_transition_with_timestamp-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_transition_with_timestamp-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .green {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_transition_with_timestamp.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_transition_with_timestamp.html index a6028a36..37aea9d 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_transition_with_timestamp.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_transition_with_timestamp.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, italic object transition with timestamp, ::cue(i:past) selector</title> <link rel="match" href="italic_transition_with_timestamp-ref.html"> <style> @@ -14,7 +14,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; takeScreenshotDelayed(200);"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 0.2; takeScreenshotDelayed(1000);"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/italic_with_timestamp.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_normal_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_normal_wrapped-ref.html index a765d9f..5a50562e 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_normal_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_normal_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_normal_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_normal_wrapped.html index 251cf9c..d00fc92 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_normal_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_normal_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, italic object, ::cue(i), white-space: normal (cue that wraps)</title> <link rel="match" href="italic_white-space_normal_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/italic_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_nowrap-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_nowrap-ref.html index ee0bd02..fddae1e 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_nowrap-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_nowrap-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative; overflow: hidden; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_nowrap.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_nowrap.html index 4fabbdbb..1a975ad 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_nowrap.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_nowrap.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, italic object, ::cue(i), white-space: nowrap (cue does not wrap)</title> <link rel="match" href="italic_white-space_nowrap-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/italic_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre-line_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre-line_wrapped-ref.html index d0177e3..3d075bf 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre-line_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre-line_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre-line_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre-line_wrapped.html index c0dc1ec1..bd19196 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre-line_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre-line_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, italic object, ::cue(i), white-space: pre-line (cue that wraps)</title> <link rel="match" href="italic_white-space_pre-line_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/italic_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre-wrap_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre-wrap_wrapped-ref.html index 1dfdb7b..be50ab9 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre-wrap_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre-wrap_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre-wrap_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre-wrap_wrapped.html index 1f88ec6..5a02026 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre-wrap_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre-wrap_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, italic object, ::cue(i), white-space: pre-wrap (cue that wraps)</title> <link rel="match" href="italic_white-space_pre-wrap_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/italic_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre_wrapped-ref.html index 2734b32..afcc80c1 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre_wrapped.html index 308571d..80e2dd0f 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_white-space_pre_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, italic object, ::cue(i), white-space: pre (cue that wraps)</title> <link rel="match" href="italic_white-space_pre_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/italic_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_with_class-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_with_class-ref.html index 658c20083..f1d54d9 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_with_class-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_with_class-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .green {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_with_class.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_with_class.html index b3ac8c70..fa77b699 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_with_class.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_with_class.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, italic object with class, ::cue(.foo) selector</title> <link rel="match" href="italic_with_class-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_italic_with_class.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_with_class_object_specific_selector-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_with_class_object_specific_selector-ref.html index ed73e77..00f9a8f 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_with_class_object_specific_selector-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_with_class_object_specific_selector-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .green {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_with_class_object_specific_selector.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_with_class_object_specific_selector.html index 9f62a62..caace971 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_with_class_object_specific_selector.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/italic_object/italic_with_class_object_specific_selector.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, italic object with class, ::cue(i.foo) selector</title> <link rel="match" href="italic_with_class_object_specific_selector-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_italic_with_class.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/not_allowed_properties-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/not_allowed_properties-ref.html index c3fcae2c..333cdb8 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/not_allowed_properties-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/not_allowed_properties-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } </style>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/not_allowed_properties.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/not_allowed_properties.html index f105b01..e66f9c0 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/not_allowed_properties.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/not_allowed_properties.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(), properties that should not affect the cue</title> <link rel="match" href="not_allowed_properties-ref.html"> <style> @@ -36,7 +36,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/not_root_selector-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/not_root_selector-ref.html index fd7ce73..d7b46209 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/not_root_selector-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/not_root_selector-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -21,7 +22,6 @@ font-family: sans-serif; background: rgba(0,0,0,0.8); color: white; - font-size: 36px; } .cue > span > span { color: lime
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/not_root_selector.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/not_root_selector.html index 94d4436..468e5ba 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/not_root_selector.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/not_root_selector.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(:not(:root)) should not match the root</title> <link rel="match" href="not_root_selector-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/foo_c_bar.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/outline_properties-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/outline_properties-ref.html index 4fe5d753b..e329fb7 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/outline_properties-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/outline_properties-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: Ahem, sans-serif; outline: solid #00f 2px; background: rgba(0,0,0,0.8); - font-size: 36px; color: green; } </style>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/outline_properties.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/outline_properties.html index 5684f17..32fa70e1 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/outline_properties.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/outline_properties.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(), outline properties</title> <link rel="match" href="outline_properties-ref.html"> <style> @@ -14,7 +14,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/outline_shorthand-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/outline_shorthand-ref.html index 4b4dcd9..0f79e92 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/outline_shorthand-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/outline_shorthand-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: Ahem, sans-serif; outline: solid #00f 2px; background: rgba(0,0,0,0.8); - font-size: 36px; color: green; } </style>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/outline_shorthand.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/outline_shorthand.html index 40a856a..579bfea 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/outline_shorthand.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/outline_shorthand.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(), outline shorthand</title> <link rel="match" href="outline_shorthand-ref.html"> <style> @@ -12,7 +12,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/root_namespace-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/root_namespace-ref.html index 3e882f8..75b73fce 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/root_namespace-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/root_namespace-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px } </style> <div class="video"><span class="cue"><span>This is a test subtitle</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/root_namespace.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/root_namespace.html index 4119868..8706b17a 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/root_namespace.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/root_namespace.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(|*) should match the root</title> <link rel="match" href="root_namespace-ref.html"> <style> @@ -16,7 +16,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/root_selector-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/root_selector-ref.html index 7216054c..a6840f1 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/root_selector-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/root_selector-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -21,7 +22,6 @@ font-family: sans-serif; background: rgba(0,0,0,0.8); color: lime; - font-size: 36px; } </style> <div class="video"><span class="cue"><span>This is a test subtitle</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/root_selector.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/root_selector.html index e5cda77b..532c83a 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/root_selector.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/root_selector.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(:root) should match the root</title> <link rel="match" href="root_selector-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_line-through-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_line-through-ref.html index 8bf1dd4..537f3ebf 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_line-through-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_line-through-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; text-decoration: line-through; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_line-through.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_line-through.html index 76f38f1d..1f13da71 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_line-through.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_line-through.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(), text-decoration: line-through</title> <link rel="match" href="text-decoration_line-through-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_overline-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_overline-ref.html index 351353b..893bbfd 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_overline-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_overline-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; text-decoration: overline; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_overline.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_overline.html index 8031b3d..625b1fe 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_overline.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_overline.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(), text-decoration: overline</title> <link rel="match" href="text-decoration_overline-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_overline_underline_line-through-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_overline_underline_line-through-ref.html index 9a6017a7..a8f54e2 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_overline_underline_line-through-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_overline_underline_line-through-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; text-decoration: overline underline line-through; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_overline_underline_line-through.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_overline_underline_line-through.html index 191e1bcc..da162cc 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_overline_underline_line-through.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_overline_underline_line-through.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(), text-decoration: overline underline line-through</title> <link rel="match" href="text-decoration_overline_underline_line-through-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_underline-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_underline-ref.html index 864a930..46bada3 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_underline-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_underline-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; text-decoration: underline; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_underline.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_underline.html index 13e9761..7d53e54 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_underline.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-decoration_underline.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(), text-decoration: underline</title> <link rel="match" href="text-decoration_underline-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-shadow-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-shadow-ref.html index e3a59193..7fcb4e1 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-shadow-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-shadow-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; text-shadow: 0px 0px 5px #0f0; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-shadow.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-shadow.html index dffde42..42dd8f6 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-shadow.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/text-shadow.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(), text-shadow</title> <link rel="match" href="text-shadow-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/type_selector_root-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/type_selector_root-ref.html index 016b3c4..95d3f77 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/type_selector_root-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/type_selector_root-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -21,7 +22,6 @@ font-family: sans-serif; background: rgba(0,0,0,0.8); color: white; - font-size: 36px; } </style> <div class="video"><span class="cue"><span>This is a test subtitle</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/type_selector_root.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/type_selector_root.html index 5c54ed31..beaf6e7 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/type_selector_root.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/type_selector_root.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(root) should match nothing; the root element should have no name</title> <link rel="match" href="type_selector_root-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_animation_with_timestamp-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_animation_with_timestamp-ref.html index 7822dd6..4836d205 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_animation_with_timestamp-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_animation_with_timestamp-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .green {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_animation_with_timestamp.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_animation_with_timestamp.html index 0860216..c4584b3 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_animation_with_timestamp.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_animation_with_timestamp.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, underline object animation with timestamp, ::cue(u:past) selector</title> <link rel="match" href="underline_animation_with_timestamp-ref.html"> <style> @@ -27,7 +27,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; takeScreenshotDelayed(200);"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 0.2; takeScreenshotDelayed(1000);"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/underline_with_timestamp.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_background_properties-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_background_properties-ref.html index f065a514..a56ed92 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_background_properties-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_background_properties-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -18,7 +19,6 @@ } .cue > span { font-family: sans-serif; - font-size: 36px; background: rgba(0,0,0,0.8); color: white; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_background_properties.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_background_properties.html index 121258de..5312955e8 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_background_properties.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_background_properties.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(u), background properties</title> <link rel="match" href="underline_background_properties-ref.html"> <style> @@ -15,7 +15,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_underline.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_background_shorthand-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_background_shorthand-ref.html index d435823..a87f5bd 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_background_shorthand-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_background_shorthand-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -18,7 +19,6 @@ } .cue > span { font-family: sans-serif; - font-size: 36px; background: rgba(0,0,0,0.8); color: white; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_background_shorthand.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_background_shorthand.html index b1512f2f..84c97b07 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_background_shorthand.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_background_shorthand.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(u), background shorthand</title> <link rel="match" href="underline_background_shorthand-ref.html"> <style> @@ -12,7 +12,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_underline.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_color-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_color-ref.html index 64367cf..2f77c824 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_color-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_color-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .cue > span > u {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_color.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_color.html index d59a8284..2fe4234 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_color.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_color.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(u), color: #0000ff</title> <link rel="match" href="underline_color-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_underline.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_font_properties-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_font_properties-ref.html index edc2f02..5acb4e5 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_font_properties-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_font_properties-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -15,7 +16,6 @@ left: 0; right: 0; font-family: sans-serif; - font-size: 36px; text-align: center } .cue > span { @@ -23,7 +23,7 @@ color: white; } .cue > span > u { - font: italic small-caps normal 36px/72px sans-serif; + font: italic small-caps normal 9px/18px sans-serif; } </style> <div class="video"><span class="cue"><span>This is a <u>test subtitle</u></span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_font_properties.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_font_properties.html index 9efbd384..29fed11 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_font_properties.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_font_properties.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(u), font properties</title> <link rel="match" href="underline_font_properties-ref.html"> <style> @@ -9,13 +9,13 @@ font-style: italic; font-variant: small-caps; font-weight: normal; - font-size: 36px; - line-height: 72px; + font-size: 9px; + line-height: 18px; font-family: sans-serif; } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_underline.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_font_shorthand-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_font_shorthand-ref.html index 355f5d7f..5326c488 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_font_shorthand-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_font_shorthand-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -15,7 +16,6 @@ left: 0; right: 0; font-family: sans-serif; - font-size: 36px; text-align: center } .cue > span { @@ -23,7 +23,7 @@ color: white; } .cue > span > u { - font: normal small-caps normal 36px/72px sans-serif; + font: normal small-caps normal 9px/18px sans-serif; } </style> <div class="video"><span class="cue"><span>This is a <u>test subtitle</u></span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_font_shorthand.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_font_shorthand.html index 347cb8a..54630d4 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_font_shorthand.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_font_shorthand.html
@@ -1,16 +1,16 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(u), font shorthand</title> <link rel="match" href="underline_font_shorthand-ref.html"> <style> html { overflow:hidden } body { margin:0 } ::cue(u) { - font: normal small-caps normal 36px/72px sans-serif; + font: normal small-caps normal 9px/18px sans-serif; } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_underline.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_namespace-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_namespace-ref.html index 31b61e1..0823f44 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_namespace-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_namespace-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px } .green { text-decoration: underline;
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_namespace.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_namespace.html index 9b75bf79..ab6378b2 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_namespace.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_namespace.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(|u) should match</title> <link rel="match" href="underline_namespace-ref.html"> <style> @@ -16,7 +16,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_underline.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_outline_properties-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_outline_properties-ref.html index 8554b59..04fbe5a 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_outline_properties-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_outline_properties-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .cue > span > u {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_outline_properties.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_outline_properties.html index 9e9b107..7602da0 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_outline_properties.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_outline_properties.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(u), outline properties</title> <link rel="match" href="underline_outline_properties-ref.html"> <style> @@ -13,7 +13,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_underline.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_outline_shorthand-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_outline_shorthand-ref.html index 6537b87..47ac3ce 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_outline_shorthand-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_outline_shorthand-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .cue > span > u {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_outline_shorthand.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_outline_shorthand.html index f76a5205..40645d25 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_outline_shorthand.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_outline_shorthand.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(u), outline shorthand</title> <link rel="match" href="underline_outline_shorthand-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_underline.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_text-decoration_line-through-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_text-decoration_line-through-ref.html index cd30f46..6f78eb5 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_text-decoration_line-through-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_text-decoration_line-through-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .cue > span > u {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_text-decoration_line-through.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_text-decoration_line-through.html index e0f81b7..e238ccf 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_text-decoration_line-through.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_text-decoration_line-through.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(u), text-decoration: line-through</title> <link rel="match" href="underline_text-decoration_line-through-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_underline.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_text-shadow-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_text-shadow-ref.html index 7bbc39f2..daf2c61 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_text-shadow-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_text-shadow-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .cue > span > u {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_text-shadow.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_text-shadow.html index 28daaf3..69c08fb 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_text-shadow.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_text-shadow.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(u), text-shadow</title> <link rel="match" href="underline_text-shadow-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_underline.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_timestamp_future-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_timestamp_future-ref.html index 1fa3755..5021041 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_timestamp_future-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_timestamp_future-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; text-decoration: underline; color: white; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_timestamp_future.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_timestamp_future.html index b87678c..dff106c 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_timestamp_future.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_timestamp_future.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, underline object transition with timestamp, ::cue(u:future) selector</title> <link rel="match" href="underline_timestamp_future-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; takeScreenshotDelayed(200);"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 0.2; takeScreenshotDelayed(1000);"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/underline_with_2_timestamps.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_timestamp_past-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_timestamp_past-ref.html index e32ff05c..7ab2592 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_timestamp_past-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_timestamp_past-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .green {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_timestamp_past.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_timestamp_past.html index e686ef95..3ca96e8 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_timestamp_past.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_timestamp_past.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, underline object transition with timestamp, ::cue(u:past) selector</title> <link rel="match" href="underline_timestamp_past-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; takeScreenshotDelayed(200);"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 0.2; takeScreenshotDelayed(1000);"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/underline_with_timestamp.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_transition_with_timestamp-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_transition_with_timestamp-ref.html index 6d5d3fa..97e2b1af 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_transition_with_timestamp-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_transition_with_timestamp-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .green {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_transition_with_timestamp.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_transition_with_timestamp.html index ad2dbd9c..7b34fa2 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_transition_with_timestamp.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_transition_with_timestamp.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, underline object transition with timestamp, ::cue(u:past) selector</title> <link rel="match" href="underline_transition_with_timestamp-ref.html"> <style> @@ -14,7 +14,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; takeScreenshotDelayed(200);"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 0.2; takeScreenshotDelayed(1000);"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/underline_with_timestamp.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_normal_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_normal_wrapped-ref.html index fe576afa..12563423 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_normal_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_normal_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_normal_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_normal_wrapped.html index 9c5cb5c..23cec2f 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_normal_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_normal_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, voice object, ::cue(u), white-space: normal (cue that wraps)</title> <link rel="match" href="underline_white-space_normal_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/underline_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_nowrap-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_nowrap-ref.html index 1dc7af8..7e81310 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_nowrap-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_nowrap-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative; overflow: hidden; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_nowrap.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_nowrap.html index 64d5d12..0b143f9 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_nowrap.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_nowrap.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, underline object, ::cue(u), white-space: nowrap (cue does not wrap)</title> <link rel="match" href="underline_white-space_nowrap-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/underline_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre-line_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre-line_wrapped-ref.html index 288d89c..2276517 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre-line_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre-line_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre-line_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre-line_wrapped.html index 7032ae8..cd1a7ba 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre-line_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre-line_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, underline object, ::cue(u), white-space: pre-line (cue that wraps)</title> <link rel="match" href="underline_white-space_pre-line_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/underline_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre-wrap_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre-wrap_wrapped-ref.html index 8819e44..756a66f 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre-wrap_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre-wrap_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre-wrap_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre-wrap_wrapped.html index 6ffe2b1..c597181 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre-wrap_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre-wrap_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, underline object, ::cue(u), white-space: pre-wrap (cue that wraps)</title> <link rel="match" href="underline_white-space_pre-wrap_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/underline_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre_wrapped-ref.html index 2c3b204..ec2f459 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre_wrapped.html index 4bf3e45d..8857446 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_white-space_pre_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, underline object, ::cue(u), white-space: pre (cue that wraps)</title> <link rel="match" href="underline_white-space_pre_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/underline_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_with_class-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_with_class-ref.html index b948cc8..2af8b317 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_with_class-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_with_class-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .green {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_with_class.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_with_class.html index 96f909b..12d73a9 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_with_class.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/underline_object/underline_with_class.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, underline object with class, ::cue(.foo) selector</title> <link rel="match" href="underline_with_class-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_underline_with_class.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_animation_with_timestamp-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_animation_with_timestamp-ref.html index fb57a8f..7a8a94f 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_animation_with_timestamp-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_animation_with_timestamp-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .green {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_animation_with_timestamp.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_animation_with_timestamp.html index a6e43e8..09baf69 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_animation_with_timestamp.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_animation_with_timestamp.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, voice object animation with timestamp, ::cue(v:past) selector</title> <link rel="match" href="voice_animation_with_timestamp-ref.html"> <style> @@ -27,7 +27,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; takeScreenshotDelayed(200);"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 0.2; takeScreenshotDelayed(1000);"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/voice_with_timestamp.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_background_properties-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_background_properties-ref.html index 7ead3aeb..c45b7a5 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_background_properties-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_background_properties-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -18,7 +19,6 @@ } .cue > span { font-family: sans-serif; - font-size: 36px; background: rgba(0,0,0,0.8); color: white; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_background_properties.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_background_properties.html index 7392ca9..600915a 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_background_properties.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_background_properties.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(v), background properties</title> <link rel="match" href="voice_background_properties-ref.html"> <style> @@ -15,7 +15,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_voice.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_background_shorthand-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_background_shorthand-ref.html index 30ca288..5766b54 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_background_shorthand-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_background_shorthand-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -18,7 +19,6 @@ } .cue > span { font-family: sans-serif; - font-size: 36px; background: rgba(0,0,0,0.8); color: white; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_background_shorthand.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_background_shorthand.html index 51cef0e8..aeae0c9 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_background_shorthand.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_background_shorthand.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(v), background shorthand</title> <link rel="match" href="voice_background_shorthand-ref.html"> <style> @@ -12,7 +12,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_voice.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_color-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_color-ref.html index 8375977..81919b22 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_color-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_color-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .cue > span > span {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_color.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_color.html index 98ad936..c72b2d5 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_color.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_color.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(v), color: #0000ff</title> <link rel="match" href="voice_color-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_voice.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_font_properties-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_font_properties-ref.html index 6675e8c..4ed65ec5 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_font_properties-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_font_properties-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -15,7 +16,6 @@ left: 0; right: 0; font-family: sans-serif; - font-size: 36px; text-align: center } .cue > span { @@ -23,7 +23,7 @@ color: white; } .cue > span > span { - font: italic small-caps bold 36px/72px sans-serif; + font: italic small-caps bold 9px/18px sans-serif; } </style> <div class="video"><span class="cue"><span>This is a <span>test subtitle</span></span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_font_properties.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_font_properties.html index 8626d9e..a8b691ca 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_font_properties.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_font_properties.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(v), font properties</title> <link rel="match" href="voice_font_properties-ref.html"> <style> @@ -9,13 +9,13 @@ font-style: italic; font-variant: small-caps; font-weight: bold; - font-size: 36px; - line-height: 72px; + font-size: 9px; + line-height: 18px; font-family: sans-serif; } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_voice.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_font_shorthand-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_font_shorthand-ref.html index b656ea9..e2ca7e18 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_font_shorthand-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_font_shorthand-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -15,7 +16,6 @@ left: 0; right: 0; font-family: sans-serif; - font-size: 36px; text-align: center } .cue > span { @@ -23,7 +23,7 @@ color: white; } .cue > span > span { - font: normal small-caps bold 36px/72px sans-serif; + font: normal small-caps bold 9px/18px sans-serif; } </style> <div class="video"><span class="cue"><span>This is a <span>test subtitle</span></span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_font_shorthand.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_font_shorthand.html index 522a20da..0b91ad1 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_font_shorthand.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_font_shorthand.html
@@ -1,16 +1,16 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(v), font shorthand</title> <link rel="match" href="voice_font_shorthand-ref.html"> <style> html { overflow:hidden } body { margin:0 } ::cue(v) { - font: normal small-caps bold 36px/72px sans-serif; + font: normal small-caps bold 9px/18px sans-serif; } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_voice.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_namespace-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_namespace-ref.html index 275f00f..b9be8d1 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_namespace-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_namespace-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -20,7 +21,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px } .green { color: green;
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_namespace.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_namespace.html index aa5eb25..d9e1521 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_namespace.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_namespace.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(|v) should match</title> <link rel="match" href="voice_namespace-ref.html"> <style> @@ -17,7 +17,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_voice.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_outline_properties-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_outline_properties-ref.html index 2d2fd34b..da004b3a 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_outline_properties-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_outline_properties-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .cue > span > span {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_outline_properties.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_outline_properties.html index 082be8e3..f9b1dd25 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_outline_properties.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_outline_properties.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(v), outline properties</title> <link rel="match" href="voice_outline_properties-ref.html"> <style> @@ -13,7 +13,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_voice.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_outline_shorthand-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_outline_shorthand-ref.html index 01731bd1..b3b85ed 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_outline_shorthand-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_outline_shorthand-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .cue > span > span {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_outline_shorthand.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_outline_shorthand.html index 260243a..f60ca62 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_outline_shorthand.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_outline_shorthand.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(v), outline shorthand</title> <link rel="match" href="voice_outline_shorthand-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_voice.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_text-decoration_line-through-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_text-decoration_line-through-ref.html index b6bc91f..3d43b6a 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_text-decoration_line-through-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_text-decoration_line-through-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .cue > span > span {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_text-decoration_line-through.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_text-decoration_line-through.html index 217dbfa5..dc52936 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_text-decoration_line-through.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_text-decoration_line-through.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(v), text-decoration: line-through</title> <link rel="match" href="voice_text-decoration_line-through-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_voice.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_text-shadow-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_text-shadow-ref.html index b67b96c..bd237e9 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_text-shadow-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_text-shadow-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .cue > span > span {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_text-shadow.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_text-shadow.html index de83df95..4599913 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_text-shadow.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_text-shadow.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(v), text-shadow</title> <link rel="match" href="voice_text-shadow-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_voice.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_timestamp_future-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_timestamp_future-ref.html index 9face62..7523993 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_timestamp_future-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_timestamp_future-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .green {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_timestamp_future.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_timestamp_future.html index 4c515cc..c66ad02 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_timestamp_future.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_timestamp_future.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, voice object transition with timestamp, ::cue(v:future) selector</title> <link rel="match" href="voice_timestamp_future-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; takeScreenshotDelayed(200);"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 0.2; takeScreenshotDelayed(1000);"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/voice_with_2_timestamps.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_timestamp_past-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_timestamp_past-ref.html index e7bb2ec..c142eca 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_timestamp_past-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_timestamp_past-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .green {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_timestamp_past.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_timestamp_past.html index afb1af1..64c7b99 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_timestamp_past.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_timestamp_past.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, voice object transition with timestamp, ::cue(v:past) selector</title> <link rel="match" href="voice_timestamp_past-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; takeScreenshotDelayed(200);"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 0.2; takeScreenshotDelayed(1000);"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/voice_with_timestamp.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_transition_with_timestamp-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_transition_with_timestamp-ref.html index b672da2..039034d9 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_transition_with_timestamp-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_transition_with_timestamp-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .green {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_transition_with_timestamp.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_transition_with_timestamp.html index a10ab6d..6eb8b1a 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_transition_with_timestamp.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_transition_with_timestamp.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, voice object transition with timestamp, ::cue(v:past) selector</title> <link rel="match" href="voice_transition_with_timestamp-ref.html"> <style> @@ -14,7 +14,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; takeScreenshotDelayed(200);"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); this.currentTime = 0.2; takeScreenshotDelayed(1000);"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/voice_with_timestamp.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_voice_attribute-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_voice_attribute-ref.html index cac9a86..c4a91ab8 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_voice_attribute-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_voice_attribute-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .green {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_voice_attribute.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_voice_attribute.html index 2f67bf2..b9df4552 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_voice_attribute.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_voice_attribute.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(v[voice="bar"])</title> <link rel="match" href="voice_voice_attribute-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_two_voices.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_normal_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_normal_wrapped-ref.html index 046d1a2..ad67ecc 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_normal_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_normal_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_normal_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_normal_wrapped.html index e8e272c..1ceea7b7 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_normal_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_normal_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, voice object, ::cue(v), white-space: normal (cue that wraps)</title> <link rel="match" href="voice_white-space_normal_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/voice_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_nowrap-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_nowrap-ref.html index 014a2c8c..1d682da 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_nowrap-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_nowrap-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative; overflow: hidden; }
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_nowrap.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_nowrap.html index 45bb59a..145a6bc 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_nowrap.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_nowrap.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, voice object, ::cue(v), white-space: nowrap (cue does not wrap)</title> <link rel="match" href="voice_white-space_nowrap-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/voice_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre-line_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre-line_wrapped-ref.html index 59d9d35..6ddaff8 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre-line_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre-line_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre-line_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre-line_wrapped.html index a7a3172..6eb5797 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre-line_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre-line_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, voice object, ::cue(v), white-space: pre-line (cue that wraps)</title> <link rel="match" href="voice_white-space_pre-line_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/voice_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre-wrap_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre-wrap_wrapped-ref.html index c15e59e..3822d83 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre-wrap_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre-wrap_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre-wrap_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre-wrap_wrapped.html index 610c07db..5058fb2 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre-wrap_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre-wrap_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, voice object, ::cue(v), white-space: pre-wrap (cue that wraps)</title> <link rel="match" href="voice_white-space_pre-wrap_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/voice_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre_wrapped-ref.html index 9ae0bf8d7..aee2b7db 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre_wrapped.html index 06a0d0f..e6e0139 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_white-space_pre_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, voice object, ::cue(v), white-space: pre (cue that wraps)</title> <link rel="match" href="voice_white-space_pre_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/voice_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_with_class-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_with_class-ref.html index af1988c..6090532 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_with_class-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_with_class-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .green {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_with_class.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_with_class.html index 5d99d4c..c32f7ed 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_with_class.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_with_class.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, voice object with class, ::cue(.foo) selector</title> <link rel="match" href="voice_with_class-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_voice_with_class.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_with_class_object_specific_selector-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_with_class_object_specific_selector-ref.html index 8e5fc06..f6e9c19 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_with_class_object_specific_selector-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_with_class_object_specific_selector-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -19,7 +20,6 @@ .cue > span { font-family: sans-serif; background: rgba(0,0,0,0.8); - font-size: 36px; color: white; } .green {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_with_class_object_specific_selector.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_with_class_object_specific_selector.html index a610569..dbff16d 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_with_class_object_specific_selector.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/voice_object/voice_with_class_object_specific_selector.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, voice object with class, ::cue(v.foo) selector</title> <link rel="match" href="voice_with_class_object_specific_selector-ref.html"> <style> @@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../../support/test_voice_with_class.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_normal_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_normal_wrapped-ref.html index bb5f6d5..b4f797d 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_normal_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_normal_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_normal_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_normal_wrapped.html index 469b5c7e..ae9ef6d 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_normal_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_normal_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(), white-space: normal (cue that wraps)</title> <link rel="match" href="white-space_normal_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/foo_space_space_bar_LF_baz.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_nowrap_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_nowrap_wrapped-ref.html index c1519e7..901257b 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_nowrap_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_nowrap_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_nowrap_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_nowrap_wrapped.html index 510f0e964..ab3217fd 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_nowrap_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_nowrap_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(), white-space: nowrap (cue that wraps)</title> <link rel="match" href="white-space_nowrap_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/white-spaces_long_size_20.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre-line_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre-line_wrapped-ref.html index bc8214d2..4b80518 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre-line_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre-line_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre-line_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre-line_wrapped.html index 15d21e8..f075dfe 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre-line_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre-line_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(), white-space: pre-line (cue that wraps)</title> <link rel="match" href="white-space_pre-line_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/white-spaces_long_size_20.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre-ref.html index 8b7ccda..d21f199 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre-wrap_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre-wrap_wrapped-ref.html index 6979f1d8..8e9e33d 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre-wrap_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre-wrap_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre-wrap_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre-wrap_wrapped.html index 2a42498..866ca52 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre-wrap_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre-wrap_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(), white-space: pre-wrap (cue that wraps)</title> <link rel="match" href="white-space_pre-wrap_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/white-spaces_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre.html index ef6f37f..3da2343 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(), white-space: pre</title> <link rel="match" href="white-space_pre-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/white-spaces.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre_wrapped-ref.html index 1ad6d44..6a7e6586 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre_wrapped-ref.html
@@ -5,9 +5,9 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - font-size: 36px; + width: 320px; + height: 180px; + font-size: 9px; position: relative } .cue {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre_wrapped.html index 51919b6..5432de4 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/cue_function/white-space_pre_wrapped.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, ::cue(), white-space: pre (cue that wraps)</title> <link rel="match" href="white-space_pre_wrapped-ref.html"> <style> @@ -10,7 +10,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/white-spaces_long.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/bold_object_default_font-style-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/bold_object_default_font-style-ref.html index 4097c4b..fa38860 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/bold_object_default_font-style-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/bold_object_default_font-style-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -15,7 +16,6 @@ left: 0; right: 0; font-family: sans-serif; - font-size: 36px; text-align: center } .cue > span {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/bold_object_default_font-style.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/bold_object_default_font-style.html index 53148d8..31a8fad0 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/bold_object_default_font-style.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/bold_object_default_font-style.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, default style, bold objects</title> <link rel="match" href="bold_object_default_font-style-ref.html"> <style> @@ -7,7 +7,7 @@ body { margin:0 } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test_bold.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/italic_object_default_font-style-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/italic_object_default_font-style-ref.html index b24a259..76b85bb9 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/italic_object_default_font-style-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/italic_object_default_font-style-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -15,7 +16,6 @@ left: 0; right: 0; font-family: sans-serif; - font-size: 36px; text-align: center } .cue > span {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/italic_object_default_font-style.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/italic_object_default_font-style.html index 6f07cb8..b48f181 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/italic_object_default_font-style.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/italic_object_default_font-style.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, default style, italic objects</title> <link rel="match" href="italic_object_default_font-style-ref.html"> <style> @@ -7,7 +7,7 @@ body { margin:0 } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test_italic.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/underline_object_default_font-style-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/underline_object_default_font-style-ref.html index 1b3744ab..3769a49 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/underline_object_default_font-style-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/underline_object_default_font-style-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -15,7 +16,6 @@ left: 0; right: 0; font-family: sans-serif; - font-size: 36px; text-align: center } .cue > span {
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/underline_object_default_font-style.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/underline_object_default_font-style.html index 431ca4c..80770651 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/underline_object_default_font-style.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/selectors/default_styles/underline_object_default_font-style.html
@@ -1,5 +1,5 @@ <!DOCTYPE html> -<html> +<html class="reftest-wait"> <title>WebVTT rendering, default style, underline objects</title> <link rel="match" href="underline_object_default_font-style-ref.html"> <style> @@ -7,7 +7,7 @@ body { margin:0 } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="../../support/test_underline.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/size_50-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/size_50-ref.html index c76f675c..a192ccf 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/size_50-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/size_50-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -21,7 +22,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px; } </style> <div class="video"><span class="cue"><span>This is a test subtitle that should wrap</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/size_50.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/size_50.html index 9888cb68..95e14de 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/size_50.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/size_50.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/size_50.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/too_many_cues-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/too_many_cues-ref.html index a14dfb9..bb6c0a40 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/too_many_cues-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/too_many_cues-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -21,7 +22,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px; } </style> <div class="video"><span class="cue"><span>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br></span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/too_many_cues.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/too_many_cues.html index 573ffcc2..e249327 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/too_many_cues.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/too_many_cues.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/too_many_cues.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/too_many_cues_wrapped-ref.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/too_many_cues_wrapped-ref.html index f05cd51..113e69e 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/too_many_cues_wrapped-ref.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/too_many_cues_wrapped-ref.html
@@ -5,9 +5,10 @@ body { margin:0 } .video { display: inline-block; - width: 1280px; - height: 720px; - position: relative + width: 320px; + height: 180px; + position: relative; + font-size: 9px; } .cue { position: absolute; @@ -21,7 +22,6 @@ font-family: Ahem, sans-serif; background: rgba(0,0,0,0.8); color: green; - font-size: 36px; } </style> <div class="video"><span class="cue"><span>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle<br>This is a test subtitle</span></span></div>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/too_many_cues_wrapped.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/too_many_cues_wrapped.html index beb8160..ebe1f6e9 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/too_many_cues_wrapped.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/rendering/cues-with-video/processing-model/too_many_cues_wrapped.html
@@ -11,7 +11,7 @@ } </style> <script src="/common/reftest-wait.js"></script> -<video width="1280" height="720" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> +<video width="320" height="180" autoplay onplaying="this.onplaying = null; this.pause(); takeScreenshot();"> <source src="/media/white.webm" type="video/webm"> <source src="/media/white.mp4" type="video/mp4"> <track src="support/too_many_cues_wrapped.vtt">
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/webvtt-file-format-parsing/webvtt-cue-text-parsing-rules/tests/timestamps-expected.txt b/third_party/WebKit/LayoutTests/external/wpt/webvtt/webvtt-file-format-parsing/webvtt-cue-text-parsing-rules/tests/timestamps-expected.txt index 6976db4..5634352 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/webvtt-file-format-parsing/webvtt-cue-text-parsing-rules/tests/timestamps-expected.txt +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/webvtt-file-format-parsing/webvtt-cue-text-parsing-rules/tests/timestamps-expected.txt
@@ -15,7 +15,7 @@ FAIL WebVTT cue data parser test timestamps - c1036a4322c1852e02e5a1843a9a81dfca6d7af3 assert_unreached: got error event Reached unreachable code FAIL WebVTT cue data parser test timestamps - 70ec34d828ca661a583c651207becb968bb41653 assert_unreached: got error event Reached unreachable code FAIL WebVTT cue data parser test timestamps - 66ba641ff047a226fa60fe867fd2479d40f3ff0f assert_unreached: got error event Reached unreachable code -FAIL WebVTT cue data parser test timestamps - 398e8da1aaaf392739ca72057fef58bd5333f74d assert_unreached: got error event Reached unreachable code +FAIL WebVTT cue data parser test timestamps - 398e8da1aaaf392739ca18057fef58bd5333f74d assert_unreached: got error event Reached unreachable code FAIL WebVTT cue data parser test timestamps - 391fce67644cf4dd9967e1436d1449ef5baf675f assert_unreached: got error event Reached unreachable code Harness: the test ran to completion.
diff --git a/third_party/WebKit/LayoutTests/external/wpt/webvtt/webvtt-file-format-parsing/webvtt-cue-text-parsing-rules/tests/timestamps.html b/third_party/WebKit/LayoutTests/external/wpt/webvtt/webvtt-file-format-parsing/webvtt-cue-text-parsing-rules/tests/timestamps.html index bc19e2d..cc86dd3 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/webvtt/webvtt-file-format-parsing/webvtt-cue-text-parsing-rules/tests/timestamps.html +++ b/third_party/WebKit/LayoutTests/external/wpt/webvtt/webvtt-file-format-parsing/webvtt-cue-text-parsing-rules/tests/timestamps.html
@@ -16,7 +16,7 @@ {name:'c1036a4322c1852e02e5a1843a9a81dfca6d7af3', input:'%3C00%3A00%3A00.500', expected:'%23document-fragment%0A%7C%20%3C%3Ftimestamp%2000%3A00%3A00.500%3E'}, {name:'70ec34d828ca661a583c651207becb968bb41653', input:'test%3C00%3A00%3A00.500%3Etest', expected:'%23document-fragment%0A%7C%20%22test%22%0A%7C%20%3C%3Ftimestamp%2000%3A00%3A00.500%3E%0A%7C%20%22test%22'}, {name:'66ba641ff047a226fa60fe867fd2479d40f3ff0f', input:'test%3C01%3A00%3A00.000%3Etest', expected:'%23document-fragment%0A%7C%20%22test%22%0A%7C%20%3C%3Ftimestamp%2001%3A00%3A00.000%3E%0A%7C%20%22test%22'}, -{name:'398e8da1aaaf392739ca72057fef58bd5333f74d', input:'test%3C10%3A00%3A00.000%3Etest', expected:'%23document-fragment%0A%7C%20%22test%22%0A%7C%20%3C%3Ftimestamp%2010%3A00%3A00.000%3E%0A%7C%20%22test%22'}, +{name:'398e8da1aaaf392739ca18057fef58bd5333f74d', input:'test%3C10%3A00%3A00.000%3Etest', expected:'%23document-fragment%0A%7C%20%22test%22%0A%7C%20%3C%3Ftimestamp%2010%3A00%3A00.000%3E%0A%7C%20%22test%22'}, {name:'391fce67644cf4dd9967e1436d1449ef5baf675f', input:'test%3C100%3A00%3A00.000%3Etest', expected:'%23document-fragment%0A%7C%20%22test%22%0A%7C%20%3C%3Ftimestamp%20100%3A00%3A00.000%3E%0A%7C%20%22test%22'} ]); </script>
diff --git a/third_party/WebKit/LayoutTests/external/wpt/workers/Worker_cross_origin_security_err.htm b/third_party/WebKit/LayoutTests/external/wpt/workers/Worker_cross_origin_security_err.htm index 647a8b81..d57dc29 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/workers/Worker_cross_origin_security_err.htm +++ b/third_party/WebKit/LayoutTests/external/wpt/workers/Worker_cross_origin_security_err.htm
@@ -8,7 +8,7 @@ try { var w = new Worker("ftp://example.org/support/WorkerBasic.js"); w.onerror = t.step_func_done(function(e) { - assert_true(e instanceof ErrorEvent); + assert_true(e instanceof Event); }); } catch (e) { t.step_func_done(function(e) { assert_true(true); });
diff --git a/third_party/WebKit/LayoutTests/external/wpt/workers/constructors/SharedWorker/same-origin.html b/third_party/WebKit/LayoutTests/external/wpt/workers/constructors/SharedWorker/same-origin.html index 2e0dd8d..78d53164 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/workers/constructors/SharedWorker/same-origin.html +++ b/third_party/WebKit/LayoutTests/external/wpt/workers/constructors/SharedWorker/same-origin.html
@@ -16,7 +16,7 @@ try { var worker = new SharedWorker(script, ''); worker.onerror = t.step_func_done(function(e) { - assert_true(e instanceof ErrorEvent); + assert_true(e instanceof Event); }); } catch (e) { t.step_func_done(function(e) { assert_true(true); });
diff --git a/third_party/WebKit/LayoutTests/external/wpt/workers/constructors/Worker/same-origin.html b/third_party/WebKit/LayoutTests/external/wpt/workers/constructors/Worker/same-origin.html index 9b0148d..bbc4382 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/workers/constructors/Worker/same-origin.html +++ b/third_party/WebKit/LayoutTests/external/wpt/workers/constructors/Worker/same-origin.html
@@ -14,7 +14,7 @@ try { var worker = new SharedWorker(script, ''); worker.onerror = t.step_func_done(function(e) { - assert_true(e instanceof ErrorEvent); + assert_true(e instanceof Event); }); } catch (e) { t.step_func_done(function(e) { assert_true(true); });
diff --git a/third_party/WebKit/LayoutTests/external/wpt/workers/interfaces.idl b/third_party/WebKit/LayoutTests/external/wpt/workers/interfaces.idl index 228efba..531a59cf 100644 --- a/third_party/WebKit/LayoutTests/external/wpt/workers/interfaces.idl +++ b/third_party/WebKit/LayoutTests/external/wpt/workers/interfaces.idl
@@ -27,10 +27,12 @@ interface WorkerGlobalScope : EventTarget { readonly attribute WorkerGlobalScope self; readonly attribute WorkerLocation location; + readonly attribute WorkerNavigator navigator; - void close(); + void importScripts(DOMString... urls); + attribute OnErrorEventHandler onerror; - attribute EventHandler onlanguagechange; + attribute EventHandler onoffline; attribute EventHandler ononline; }; @@ -38,14 +40,10 @@ [Global=(Worker,DedicatedWorker),Exposed=DedicatedWorker] /*sealed*/ interface DedicatedWorkerGlobalScope : WorkerGlobalScope { void postMessage(any message, optional sequence<Transferable> transfer); + void close(); attribute EventHandler onmessage; }; -//[Exposed=Worker] -partial interface WorkerGlobalScope { // not obsolete - void importScripts(DOMString... urls); - readonly attribute WorkerNavigator navigator; -}; WorkerGlobalScope implements WindowTimers; WorkerGlobalScope implements WindowBase64;
diff --git a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png index 17874fc..21e61911 100644 --- a/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png +++ b/third_party/WebKit/LayoutTests/platform/mac-mac10.9/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png Binary files differ
diff --git a/third_party/WebKit/LayoutTests/svg/zoom/page/zoom-get-screen-ctm-expected.txt b/third_party/WebKit/LayoutTests/svg/zoom/page/zoom-get-screen-ctm-expected.txt deleted file mode 100644 index 8529076..0000000 --- a/third_party/WebKit/LayoutTests/svg/zoom/page/zoom-get-screen-ctm-expected.txt +++ /dev/null
@@ -1,14 +0,0 @@ -This test checks getScreenCTM() on zoomed pages. - -On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". - - -PASS CTM1 is "1, 0, 0, 1, 0, 100" -PASS CTM2 is "1, 0, 0, 1, 100, 200" -PASS CTM3 is "1, 0, 0, 1, 200, 300" -PASS CTM4 is "1, 0, 0, 1, 300, 400" - -PASS successfullyParsed is true - -TEST COMPLETE -
diff --git a/third_party/WebKit/LayoutTests/svg/zoom/page/zoom-get-screen-ctm.html b/third_party/WebKit/LayoutTests/svg/zoom/page/zoom-get-screen-ctm.html index b72c242..d9d2b7c 100644 --- a/third_party/WebKit/LayoutTests/svg/zoom/page/zoom-get-screen-ctm.html +++ b/third_party/WebKit/LayoutTests/svg/zoom/page/zoom-get-screen-ctm.html
@@ -1,53 +1,43 @@ <!DOCTYPE html> -<html> -<body style="margin: 0px; padding: 0px;"> - <div style="width: 100px; height: 100px;"></div> - <svg id="svg1" xmlns="http://www.w3.org/2000/svg" width="400" height="400"> +<title>SVGGraphicsElement.getScreenCTM subject to page zoom</title> +<script src="../../../resources/testharness.js"></script> +<script src="../../../resources/testharnessreport.js"></script> +<script src="../../../resources/run-after-layout-and-paint.js"></script> +<style> +body { margin: 0; padding: 0; } +</style> +<div style="width: 100px; height: 100px;"></div> +<svg id="svg1" width="400" height="400"> + <rect width="100" height="100" fill="green"/> + <svg id="svg2" x="100" y="100" width="300" height="300"> <rect width="100" height="100" fill="green"/> - <svg id="svg2" x="100" y="100" width="300" height="300"> + <svg id="svg3" x="100" y="100" width="200" height="200"> <rect width="100" height="100" fill="green"/> - <svg id="svg3" x="100" y="100" width="200" height="200"> + <svg id="svg4" x="100" y="100" width="100" height="100"> <rect width="100" height="100" fill="green"/> - <svg id="svg4" x="100" y="100" width="100" height="100"> - <rect width="100" height="100" fill="green"/> - </svg> </svg> </svg> </svg> - -<script src="../../../resources/js-test.js"></script> -<script src="../../../resources/run-after-layout-and-paint.js"></script> -<script src="../resources/testPageZoom.js"></script> - +</svg> <script> - var zoomCount = 2; +function assert_matrix_equals(actual, expected) { + for (let prop of [ 'a', 'b', 'c', 'd', 'e', 'f']) + assert_equals(actual[prop], expected[prop], prop); +} - window.jsTestIsAsync = true; - if (window.testRunner) { - testRunner.waitUntilDone(); - window.postZoomCallback = executeTest; - runAfterLayoutAndPaint(repaintTest); - } +async_test(t => { + runAfterLayoutAndPaint(t.step_func_done(() => { + eventSender.zoomPageIn(); + eventSender.zoomPageIn(); - function ctmToString(ctm) { - return [ ctm.a, ctm.b, ctm.c, ctm.d, ctm.e, ctm.f ].join(', '); - } - - function executeTest() { - CTM1 = ctmToString(document.getElementById('svg1').getScreenCTM()); - CTM2 = ctmToString(document.getElementById('svg2').getScreenCTM()); - CTM3 = ctmToString(document.getElementById('svg3').getScreenCTM()); - CTM4 = ctmToString(document.getElementById('svg4').getScreenCTM()); - - description("This test checks getScreenCTM() on zoomed pages."); - - shouldBeEqualToString('CTM1', '1, 0, 0, 1, 0, 100'); - shouldBeEqualToString('CTM2', '1, 0, 0, 1, 100, 200'); - shouldBeEqualToString('CTM3', '1, 0, 0, 1, 200, 300'); - shouldBeEqualToString('CTM4', '1, 0, 0, 1, 300, 400'); - debug(''); - } - + assert_matrix_equals(document.getElementById('svg1').getScreenCTM(), + { a: 1, b: 0, c: 0, d: 1, e: 0, f: 100 }); + assert_matrix_equals(document.getElementById('svg2').getScreenCTM(), + { a: 1, b: 0, c: 0, d: 1, e: 100, f: 200 }); + assert_matrix_equals(document.getElementById('svg3').getScreenCTM(), + { a: 1, b: 0, c: 0, d: 1, e: 200, f: 300 }); + assert_matrix_equals(document.getElementById('svg4').getScreenCTM(), + { a: 1, b: 0, c: 0, d: 1, e: 300, f: 400 }); + })); +}); </script> -</body> -</html>
diff --git a/third_party/WebKit/Source/core/frame/ImageBitmap.cpp b/third_party/WebKit/Source/core/frame/ImageBitmap.cpp index 12b14ef..1b15e37 100644 --- a/third_party/WebKit/Source/core/frame/ImageBitmap.cpp +++ b/third_party/WebKit/Source/core/frame/ImageBitmap.cpp
@@ -765,7 +765,7 @@ [](const void*, void* pixels) { static_cast<Uint8Array*>(pixels)->deref(); }, - resizedPixels.release().leakRef()); + resizedPixels.leakRef()); } RefPtr<Float32Array> resizedPixels = @@ -778,7 +778,7 @@ [](const void*, void* pixels) { static_cast<Float32Array*>(pixels)->deref(); }, - resizedPixels.release().leakRef()); + resizedPixels.leakRef()); } ImageBitmap::ImageBitmap(ImageData* data,
diff --git a/third_party/WebKit/Source/core/layout/LayoutView.cpp b/third_party/WebKit/Source/core/layout/LayoutView.cpp index cfaadac..e45c1c6 100644 --- a/third_party/WebKit/Source/core/layout/LayoutView.cpp +++ b/third_party/WebKit/Source/core/layout/LayoutView.cpp
@@ -606,8 +606,6 @@ } void LayoutView::invalidatePaintForSelection() { - HashSet<LayoutBlock*> processedBlocks; - LayoutObject* end = layoutObjectAfterPosition(m_selectionEnd, m_selectionEndPos); for (LayoutObject* o = m_selectionStart; o && o != end;
diff --git a/third_party/WebKit/Source/wtf/PassRefPtr.h b/third_party/WebKit/Source/wtf/PassRefPtr.h index 94a0faa0..a65d744 100644 --- a/third_party/WebKit/Source/wtf/PassRefPtr.h +++ b/third_party/WebKit/Source/wtf/PassRefPtr.h
@@ -126,7 +126,7 @@ template <typename U> inline PassRefPtr<T>::PassRefPtr(RefPtr<U>&& o, EnsurePtrConvertibleArgDefn(U, T)) - : m_ptr(o.release().leakRef()) {} + : m_ptr(o.leakRef()) {} template <typename T> inline T* PassRefPtr<T>::leakRef() const {
diff --git a/third_party/WebKit/Source/wtf/RefPtr.h b/third_party/WebKit/Source/wtf/RefPtr.h index c6b28fa7..6dca0985 100644 --- a/third_party/WebKit/Source/wtf/RefPtr.h +++ b/third_party/WebKit/Source/wtf/RefPtr.h
@@ -70,7 +70,7 @@ ALWAYS_INLINE ~RefPtr() { derefIfNotNull(m_ptr); } ALWAYS_INLINE T* get() const { return m_ptr; } - + T* leakRef() WARN_UNUSED_RESULT; void clear(); PassRefPtr<T> release() { PassRefPtr<T> tmp = adoptRef(m_ptr); @@ -111,6 +111,13 @@ : m_ptr(o.leakRef()) {} template <typename T> +inline T* RefPtr<T>::leakRef() { + T* ptr = m_ptr; + m_ptr = nullptr; + return ptr; +} + +template <typename T> inline void RefPtr<T>::clear() { T* ptr = m_ptr; m_ptr = nullptr;
diff --git a/third_party/WebKit/Source/wtf/RefPtrTest.cpp b/third_party/WebKit/Source/wtf/RefPtrTest.cpp index e823520..9e0975a 100644 --- a/third_party/WebKit/Source/wtf/RefPtrTest.cpp +++ b/third_party/WebKit/Source/wtf/RefPtrTest.cpp
@@ -19,6 +19,19 @@ EXPECT_TRUE(!string); } +TEST(RefPtrTest, LeakRef) { + RefPtr<StringImpl> string = StringImpl::create("test"); + EXPECT_TRUE(string); + EXPECT_TRUE(string->hasOneRef()); + StringImpl* raw = string.get(); + StringImpl* leaked = string.leakRef(); + EXPECT_TRUE(!string); + EXPECT_TRUE(leaked); + EXPECT_TRUE(leaked->hasOneRef()); + EXPECT_EQ(raw, leaked); + leaked->deref(); +} + TEST(RefPtrTest, MoveAssignmentOperator) { RefPtr<StringImpl> a = StringImpl::create("a"); RefPtr<StringImpl> b = StringImpl::create("b");
diff --git a/third_party/WebKit/Source/wtf/text/AtomicStringTable.cpp b/third_party/WebKit/Source/wtf/text/AtomicStringTable.cpp index bc40b4d..2c57768 100644 --- a/third_party/WebKit/Source/wtf/text/AtomicStringTable.cpp +++ b/third_party/WebKit/Source/wtf/text/AtomicStringTable.cpp
@@ -137,7 +137,7 @@ if (isAllASCII) newString = StringImpl::create(buffer.characters, buffer.length); - location = newString.release().leakRef(); + location = newString.leakRef(); location->setHash(hash); location->setIsAtomic(true); }