Merge mozilla-central to autoland. a=merge CLOSED TREE

This commit is contained in:
Margareta Eliza Balazs 2018-05-14 19:48:37 +03:00
commit 8c891cd16f
267 changed files with 5927 additions and 934 deletions

View File

@ -17,6 +17,7 @@
#include "mozilla/dom/Promise.h"
#include "mozilla/dom/ServiceWorkerGlobalScopeBinding.h"
#include "mozilla/dom/WorkerPrivate.h"
#include "mozilla/dom/ipc/StructuredCloneData.h"
#ifdef XP_WIN
#undef PostMessage
@ -147,7 +148,42 @@ ServiceWorker::PostMessage(JSContext* aCx, JS::Handle<JS::Value> aMessage,
return;
}
mInner->PostMessage(GetParentObject(), aCx, aMessage, aTransferable, aRv);
nsPIDOMWindowInner* window = GetOwner();
if (NS_WARN_IF(!window || !window->GetExtantDoc())) {
aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR);
return;
}
auto storageAllowed = nsContentUtils::StorageAllowedForWindow(window);
if (storageAllowed != nsContentUtils::StorageAccess::eAllow) {
ServiceWorkerManager::LocalizeAndReportToAllClients(
mDescriptor.Scope(), "ServiceWorkerPostMessageStorageError",
nsTArray<nsString> { NS_ConvertUTF8toUTF16(mDescriptor.Scope()) });
aRv.Throw(NS_ERROR_DOM_SECURITY_ERR);
return;
}
Maybe<ClientInfo> clientInfo = window->GetClientInfo();
Maybe<ClientState> clientState = window->GetClientState();
if (NS_WARN_IF(clientInfo.isNothing() || clientState.isNothing())) {
aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR);
return;
}
JS::Rooted<JS::Value> transferable(aCx, JS::UndefinedValue());
aRv = nsContentUtils::CreateJSValueFromSequenceOfObject(aCx, aTransferable,
&transferable);
if (aRv.Failed()) {
return;
}
ipc::StructuredCloneData data;
data.Write(aCx, aMessage, transferable, aRv);
if (aRv.Failed()) {
return;
}
mInner->PostMessage(Move(data), clientInfo.ref(), clientState.ref());
}

View File

@ -20,6 +20,10 @@ class nsIGlobalObject;
namespace mozilla {
namespace dom {
namespace ipc {
class StructuredCloneData;
} // namespace ipc
#define NS_DOM_SERVICEWORKER_IID \
{0xd42e0611, 0x3647, 0x4319, {0xae, 0x05, 0x19, 0x89, 0x59, 0xba, 0x99, 0x5e}}
@ -54,10 +58,9 @@ public:
RemoveServiceWorker(ServiceWorker* aWorker) = 0;
virtual void
PostMessage(nsIGlobalObject* aGlobal,
JSContext* aCx, JS::Handle<JS::Value> aMessage,
const Sequence<JSObject*>& aTransferable,
ErrorResult& aRv) = 0;
PostMessage(ipc::StructuredCloneData&& aData,
const ClientInfo& aClientInfo,
const ClientState& aClientState) = 0;
NS_INLINE_DECL_PURE_VIRTUAL_REFCOUNTING
};

View File

@ -256,38 +256,13 @@ ServiceWorkerInfo::RemoveServiceWorker(ServiceWorker* aWorker)
}
void
ServiceWorkerInfo::PostMessage(nsIGlobalObject* aGlobal,
JSContext* aCx, JS::Handle<JS::Value> aMessage,
const Sequence<JSObject*>& aTransferable,
ErrorResult& aRv)
ServiceWorkerInfo::PostMessage(ipc::StructuredCloneData&& aData,
const ClientInfo& aClientInfo,
const ClientState& aClientState)
{
MOZ_ASSERT(NS_IsMainThread());
nsCOMPtr<nsPIDOMWindowInner> window = do_QueryInterface(aGlobal);
if (NS_WARN_IF(!window || !window->GetExtantDoc())) {
aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR);
return;
}
auto storageAllowed = nsContentUtils::StorageAllowedForWindow(window);
if (storageAllowed != nsContentUtils::StorageAccess::eAllow) {
ServiceWorkerManager::LocalizeAndReportToAllClients(
Scope(), "ServiceWorkerPostMessageStorageError",
nsTArray<nsString> { NS_ConvertUTF8toUTF16(Scope()) });
aRv.Throw(NS_ERROR_DOM_SECURITY_ERR);
return;
}
Maybe<ClientInfo> clientInfo = window->GetClientInfo();
Maybe<ClientState> clientState = window->GetClientState();
if (NS_WARN_IF(clientInfo.isNothing() || clientState.isNothing())) {
aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR);
return;
}
aRv = mServiceWorkerPrivate->SendMessageEvent(aCx, aMessage, aTransferable,
ClientInfoAndState(clientInfo.ref().ToIPC(),
clientState.ref().ToIPC()));
mServiceWorkerPrivate->SendMessageEvent(Move(aData),
ClientInfoAndState(aClientInfo.ToIPC(),
aClientState.ToIPC()));
}
void

View File

@ -17,6 +17,7 @@
namespace mozilla {
namespace dom {
class ClientInfoAndState;
class ServiceWorkerPrivate;
/*
@ -85,10 +86,9 @@ private:
RemoveServiceWorker(ServiceWorker* aWorker) override;
virtual void
PostMessage(nsIGlobalObject* aGlobal,
JSContext* aCx, JS::Handle<JS::Value> aMessage,
const Sequence<JSObject*>& aTransferable,
ErrorResult& aRv) override;
PostMessage(ipc::StructuredCloneData&& aData,
const ClientInfo& aClientInfo,
const ClientState& aClientState) override;
public:
NS_DECL_ISUPPORTS

View File

@ -23,6 +23,7 @@
#include "nsStreamUtils.h"
#include "nsStringStream.h"
#include "mozilla/Assertions.h"
#include "mozilla/JSObjectHolder.h"
#include "mozilla/dom/Client.h"
#include "mozilla/dom/ClientIPCTypes.h"
#include "mozilla/dom/DOMPrefs.h"
@ -33,10 +34,12 @@
#include "mozilla/dom/PromiseNativeHandler.h"
#include "mozilla/dom/PushEventBinding.h"
#include "mozilla/dom/RequestBinding.h"
#include "mozilla/dom/StructuredCloneHolder.h"
#include "mozilla/dom/WorkerDebugger.h"
#include "mozilla/dom/WorkerRef.h"
#include "mozilla/dom/WorkerRunnable.h"
#include "mozilla/dom/WorkerScope.h"
#include "mozilla/dom/ipc/StructuredCloneData.h"
#include "mozilla/Unused.h"
using namespace mozilla;
@ -212,6 +215,24 @@ ServiceWorkerPrivate::CheckScriptEvaluation(LifeCycleEventCallback* aScriptEvalu
return NS_OK;
}
JSObject*
ServiceWorkerPrivate::GetOrCreateSandbox(JSContext* aCx)
{
AssertIsOnMainThread();
if (!mSandbox) {
nsIXPConnect* xpc = nsContentUtils::XPConnect();
JS::Rooted<JSObject*> sandbox(aCx);
nsresult rv = xpc->CreateSandbox(aCx, mInfo->Principal(), sandbox.address());
NS_ENSURE_SUCCESS(rv, nullptr);
mSandbox = new JSObjectHolder(aCx, sandbox);
}
return mSandbox->GetJSObject();
}
namespace {
enum ExtendableEventResult {
@ -500,17 +521,17 @@ public:
};
class SendMessageEventRunnable final : public ExtendableEventWorkerRunnable
, public StructuredCloneHolder
{
StructuredCloneHolder mData;
const ClientInfoAndState mClientInfoAndState;
public:
SendMessageEventRunnable(WorkerPrivate* aWorkerPrivate,
KeepAliveToken* aKeepAliveToken,
StructuredCloneHolder&& aData,
const ClientInfoAndState& aClientInfoAndState)
: ExtendableEventWorkerRunnable(aWorkerPrivate, aKeepAliveToken)
, StructuredCloneHolder(CloningSupported, TransferringSupported,
StructuredCloneScope::SameProcessDifferentThread)
, mData(Move(aData))
, mClientInfoAndState(aClientInfoAndState)
{
MOZ_ASSERT(NS_IsMainThread());
@ -522,13 +543,13 @@ public:
JS::Rooted<JS::Value> messageData(aCx);
nsCOMPtr<nsIGlobalObject> sgo = aWorkerPrivate->GlobalScope();
ErrorResult rv;
Read(sgo, aCx, &messageData, rv);
mData.Read(sgo, aCx, &messageData, rv);
if (NS_WARN_IF(rv.Failed())) {
return true;
}
Sequence<OwningNonNull<MessagePort>> ports;
if (!TakeTransferredPortsAsSequence(ports)) {
if (!mData.TakeTransferredPortsAsSequence(ports)) {
return true;
}
@ -563,35 +584,82 @@ public:
} // anonymous namespace
nsresult
ServiceWorkerPrivate::SendMessageEvent(JSContext* aCx,
JS::Handle<JS::Value> aMessage,
const Sequence<JSObject*>& aTransferable,
ServiceWorkerPrivate::SendMessageEvent(ipc::StructuredCloneData&& aData,
const ClientInfoAndState& aClientInfoAndState)
{
MOZ_ASSERT(NS_IsMainThread());
ErrorResult rv(SpawnWorkerIfNeeded(MessageEvent));
if (NS_WARN_IF(rv.Failed())) {
ErrorResult rv;
// Ideally we would simply move the StructuredCloneData to the
// SendMessageEventRunnable, but we cannot because it uses non-threadsafe
// ref-counting. The following gnarly code unpacks the IPC-friendly
// StructuredCloneData and re-packs it into the thread-friendly
// StructuredCloneHolder. In the future we should remove this and make
// it easier to simple move the data to the other thread. See bug 1458936.
AutoSafeJSContext cx;
JSObject* sandbox = GetOrCreateSandbox(cx);
NS_ENSURE_TRUE(sandbox, NS_ERROR_FAILURE);
JS::Rooted<JSObject*> global(cx, sandbox);
NS_ENSURE_TRUE(sandbox, NS_ERROR_FAILURE);
// The CreateSandbox call returns a proxy to the actual sandbox object. We
// don't need a proxy here.
global = js::UncheckedUnwrap(global);
JSAutoCompartment ac(cx, global);
JS::Rooted<JS::Value> messageData(cx);
aData.Read(cx, &messageData, rv);
if (rv.Failed()) {
return rv.StealNSResult();
}
JS::Rooted<JS::Value> transferable(aCx, JS::UndefinedHandleValue);
Sequence<OwningNonNull<MessagePort>> ports;
if (!aData.TakeTransferredPortsAsSequence(ports)) {
return NS_ERROR_FAILURE;
}
rv = nsContentUtils::CreateJSValueFromSequenceOfObject(aCx, aTransferable,
&transferable);
JS::Rooted<JSObject*> array(cx, JS_NewArrayObject(cx, ports.Length()));
NS_ENSURE_TRUE(array, NS_ERROR_OUT_OF_MEMORY);
for (uint32_t i = 0; i < ports.Length(); ++i) {
JS::Rooted<JS::Value> value(cx);
if (!GetOrCreateDOMReflector(cx, ports[i], &value)) {
JS_ClearPendingException(cx);
return NS_ERROR_FAILURE;
}
if (!JS_DefineElement(cx, array, i, value, JSPROP_ENUMERATE)) {
return NS_ERROR_OUT_OF_MEMORY;
}
}
JS::Rooted<JS::Value> transferable(cx);
transferable.setObject(*array);
StructuredCloneHolder holder(StructuredCloneHolder::CloningSupported,
StructuredCloneHolder::TransferringSupported,
JS::StructuredCloneScope::DifferentProcess);
holder.Write(cx, messageData, transferable, JS::CloneDataPolicy(), rv);
if (rv.Failed()) {
return rv.StealNSResult();
}
// Now that the re-packing is complete, send a runnable to the service worker
// thread.
rv = SpawnWorkerIfNeeded(MessageEvent);
if (NS_WARN_IF(rv.Failed())) {
return rv.StealNSResult();
}
RefPtr<KeepAliveToken> token = CreateEventKeepAliveToken();
RefPtr<SendMessageEventRunnable> runnable =
new SendMessageEventRunnable(mWorkerPrivate, token, aClientInfoAndState);
runnable->Write(aCx, aMessage, transferable, JS::CloneDataPolicy(), rv);
if (NS_WARN_IF(rv.Failed())) {
return rv.StealNSResult();
}
new SendMessageEventRunnable(mWorkerPrivate, token, Move(holder),
aClientInfoAndState);
if (!runnable->Dispatch()) {
return NS_ERROR_FAILURE;
}

View File

@ -16,6 +16,9 @@
class nsIInterceptedChannel;
namespace mozilla {
class JSObjectHolder;
namespace dom {
class ClientInfoAndState;
@ -23,6 +26,10 @@ class KeepAliveToken;
class ServiceWorkerInfo;
class ServiceWorkerRegistrationInfo;
namespace ipc {
class StructuredCloneData;
} // namespace ipc
class LifeCycleEventCallback : public Runnable
{
public:
@ -82,8 +89,7 @@ public:
explicit ServiceWorkerPrivate(ServiceWorkerInfo* aInfo);
nsresult
SendMessageEvent(JSContext* aCx, JS::Handle<JS::Value> aMessage,
const Sequence<JSObject*>& aTransferable,
SendMessageEvent(ipc::StructuredCloneData&& aData,
const ClientInfoAndState& aClientInfoAndState);
// This is used to validate the worker script and continue the installation
@ -199,6 +205,9 @@ private:
already_AddRefed<KeepAliveToken>
CreateEventKeepAliveToken();
JSObject*
GetOrCreateSandbox(JSContext* aCx);
// The info object owns us. It is possible to outlive it for a brief period
// of time if there are pending waitUntil promises, in which case it
// will be null and |SpawnWorkerIfNeeded| will always fail.
@ -215,6 +224,11 @@ private:
// worker a grace period after each event.
RefPtr<KeepAliveToken> mIdleKeepAliveToken;
// Sandbox global used to re-pack structured clone data before sending
// to the service worker thread. Ideally we would remove this and just
// make StructuredCloneData thread safe enough to pass to the worker thread.
RefPtr<JSObjectHolder> mSandbox;
uint64_t mDebuggerCount;
uint64_t mTokenCount;

View File

@ -20,10 +20,9 @@ gfxFontFeatureValueSet::GetFontFeatureValuesFor(const nsAString& aFamily,
const nsAString& aName,
nsTArray<uint32_t>& aValues)
{
nsAutoString family(aFamily), name(aName);
nsAutoString family(aFamily);
ToLowerCase(family);
ToLowerCase(name);
FeatureValueHashKey key(family, aVariantProperty, name);
FeatureValueHashKey key(family, aVariantProperty, aName);
aValues.Clear();
FeatureValueHashEntry *entry = mFontFeatureValues.GetEntry(key);
@ -64,9 +63,7 @@ gfxFontFeatureValueSet::AppendFeatureValueHashEntry(const nsAString& aFamily,
const nsAString& aName,
uint32_t aAlternate)
{
nsAutoString name(aName);
ToLowerCase(name);
FeatureValueHashKey key(aFamily, aAlternate, name);
FeatureValueHashKey key(aFamily, aAlternate, aName);
FeatureValueHashEntry *entry = mFontFeatureValues.PutEntry(key);
entry->mKey = key;
return &entry->mValues;

View File

@ -17,6 +17,9 @@ span {
font-feature-settings: "ss05"; /* crossed W */
}
/* tests that should NOT use the feature, due to case-sensitivity of font-feature-values names */
#test2, #test3 { font-feature-settings: "ss05" off; }
</style>
</head>
<body lang="en">

View File

@ -58,13 +58,13 @@ div { margin: 0 20px; }
}
#test2 {
/* testing case-insensitivity of styleset name */
/* testing case-sensitivity of styleset name */
font-family: fontB;
font-variant-alternates: styleset(altW);
}
#test3 {
/* testing case-insensitivity of styleset name */
/* testing case-sensitivity of styleset name */
font-family: fontB;
font-variant-alternates: styleset(ALTW);
}
@ -72,7 +72,7 @@ div { margin: 0 20px; }
#test4 {
/* testing escapes in styleset name */
font-family: fontB;
font-variant-alternates: styleset(\41 ltW);
font-variant-alternates: styleset(\41 lTw);
}
#test5 {

View File

@ -2,6 +2,11 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.mozilla.geckoview.test">
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.CAMERA"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"

View File

@ -2,17 +2,9 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.mozilla.geckoview">
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
<uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.VIBRATE"/>
@ -24,8 +16,6 @@
android:required="false"/>
<uses-feature android:name="android.hardware.touchscreen"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature
android:name="android.hardware.camera"
android:required="false"/>
@ -38,8 +28,6 @@
TODO preprocess AndroidManifest.xml so that we can
conditionally include WebRTC permissions based on MOZ_WEBRTC.
-->
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
-->
<uses-feature
android:name="android.hardware.audio.low_latency"
android:required="false"/>
@ -55,7 +43,7 @@
<!-- #endif -->
<!-- App requires OpenGL ES 2.0 -->
<!-- GeckoView requires OpenGL ES 2.0 -->
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>

View File

@ -231,6 +231,7 @@ public final class GeckoRuntimeSettings implements Parcelable {
mNativeCrashReporting = settings.mNativeCrashReporting;
mJavaCrashReporting = settings.mJavaCrashReporting;
mDebugPause = settings.mDebugPause;
}
/* package */ void flush() {
@ -386,7 +387,7 @@ public final class GeckoRuntimeSettings implements Parcelable {
mNativeCrashReporting = ParcelableUtils.readBoolean(source);
mJavaCrashReporting = ParcelableUtils.readBoolean(source);
mJavaCrashReporting = ParcelableUtils.readBoolean(source);
mDebugPause = ParcelableUtils.readBoolean(source);
}
public static final Parcelable.Creator<GeckoRuntimeSettings> CREATOR

View File

@ -0,0 +1,47 @@
/* -*- Mode: Java; c-basic-offset: 4; tab-width: 20; indent-tabs-mode: nil; -*-
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/**
* This package contains the public interfaces for the library.
*
* <ul>
* <li>
* {@link org.mozilla.geckoview.GeckoRuntime} is the entry point for starting and initializing
* Gecko. You can use this to preload Gecko before you need to load a page or to configure features
* such as crash reporting.
* </li>
*
* <li>
* {@link org.mozilla.geckoview.GeckoSession} is where most interesting work happens, such as
* loading pages. It relies on {@link org.mozilla.geckoview.GeckoRuntime}
* to talk to Gecko.
* </li>
*
* <li>
* {@link org.mozilla.geckoview.GeckoView} is the embeddable {@link android.view.View}. This is
* the most common way of getting a {@link org.mozilla.geckoview.GeckoSession} onto the screen.
* </li>
* </ul>
*
* <p>
* <strong>Permissions</strong>
* <p>
* This library does not request any dangerous permissions in the manifest, though it's possible
* that some web features may require them. For instance, WebRTC video calls would need the
* {@link android.Manifest.permission#CAMERA} and {@link android.Manifest.permission#RECORD_AUDIO}
* permissions. Declaring these are at the application's discretion. If you want full web
* functionality, the following permissions should be declared:
*
* <ul>
* <li>{@link android.Manifest.permission#ACCESS_COARSE_LOCATION}</li>
* <li>{@link android.Manifest.permission#ACCESS_FINE_LOCATION}</li>
* <li>{@link android.Manifest.permission#READ_EXTERNAL_STORAGE}</li>
* <li>{@link android.Manifest.permission#WRITE_EXTERNAL_STORAGE}</li>
* <li>{@link android.Manifest.permission#CAMERA}</li>
* <li>{@link android.Manifest.permission#RECORD_AUDIO}</li>
* </ul>
*
*/
package org.mozilla.geckoview;

View File

@ -1,6 +1,11 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.mozilla.geckoview_example">
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.CAMERA"/>
<application android:allowBackup="true"
android:label="@string/app_name"
android:supportsRtl="true">

View File

@ -31,7 +31,7 @@ jobs:
USE_MOZILLA_CENTRAL: "1"
BRANCH: mozilla-central
PRODUCT: firefox
REVIEWERS: "sfraser, aki"
REVIEWERS: "mtabara, jlund"
command:
- /runme.sh
taskcluster-proxy: true

View File

@ -14,6 +14,9 @@ geckoview:
android-4.2-x86/opt:
- android/android_common.py
- android/androidx86.py
android-7.0-x86/opt:
- android/android_common.py
- android/androidx86_7_0.py
android.*:
- android/android_common.py
- android/androidarm_4_3.py
@ -41,6 +44,9 @@ geckoview-junit:
android-4.2-x86/opt:
- android/android_common.py
- android/androidx86.py
android-7.0-x86/opt:
- android/android_common.py
- android/androidx86_7_0.py
android.*:
- android/android_common.py
- android/androidarm_4_3.py

View File

@ -1,4 +1,8 @@
job-defaults:
target:
by-test-platform:
android-7.0-x86/opt: geckoview-androidTest.apk
default: null
mozharness:
no-read-buildbot-config: true
script:
@ -10,6 +14,9 @@ job-defaults:
android-4.2-x86/opt:
- android/android_common.py
- android/androidx86.py
android-7.0-x86/opt:
- android/android_common.py
- android/androidx86_7_0.py
android.*:
- android/android_common.py
- android/androidarm_4_3.py
@ -38,6 +45,7 @@ mochitest:
chunks:
by-test-platform:
android-4.3-arm7-api-16/debug: 48
android-7.0-x86/opt: 4
android.*: 24
linux.*/debug: 16
linux64-asan/opt: 10
@ -161,6 +169,7 @@ mochitest-chrome:
chunks:
by-test-platform:
android-4.3-arm7-api-16/debug: 8
android-7.0-x86/opt: 1
android.*: 4
default: 3
max-run-time:
@ -296,6 +305,7 @@ mochitest-media:
default: large
chunks:
by-test-platform:
android-7.0-x86/opt: 1
macosx64.*: 1
windows10-64.*: 1
default: 3

View File

@ -1,4 +1,8 @@
job-defaults:
target:
by-test-platform:
android-7.0-x86/opt: geckoview-androidTest.apk
default: null
mozharness:
no-read-buildbot-config: true
script:
@ -7,6 +11,9 @@ job-defaults:
default: desktop_unittest.py
config:
by-test-platform:
android-7.0-x86/opt:
- android/android_common.py
- android/androidx86_7_0.py
android.*:
- android/android_common.py
- android/androidarm_4_3.py
@ -34,6 +41,7 @@ crashtest:
chunks:
by-test-platform:
android-4.3-arm7-api-16/debug: 10
android-7.0-x86/opt: 1
android.*: 4
default: 1
e10s:
@ -59,6 +67,7 @@ jsreftest:
chunks:
by-test-platform:
android-4.3-arm7-api-16/debug: 100
android-7.0-x86/opt: 3
android.*: 40
windows.*: 2
windows10-64-ccov/debug: 5
@ -94,6 +103,7 @@ reftest:
chunks:
by-test-platform:
android-4.3-arm7-api-16/debug: 56
android-7.0-x86/opt: 5
android.*: 28
macosx64.*/opt: 1
macosx64.*/debug: 3
@ -139,6 +149,7 @@ reftest-fonts:
chunks:
by-test-platform:
android-4.3-arm7-api-16/debug: 28
android-7.0-x86/opt: 5
android.*: 7
macosx64.*/opt: 1
macosx64.*/debug: 2

View File

@ -281,3 +281,9 @@ android-4.2-x86/opt:
build-platform: android-x86/opt
test-sets:
- android-x86-tests
# Coming soon!
# android-7.0-x86/opt:
# build-platform: android-x86/opt
# test-sets:
# - android-x86-kvm-tests

View File

@ -351,6 +351,18 @@ android-x86-tests:
- xpcshell
- geckoview
android-x86-kvm-tests:
- crashtest
- geckoview-junit
- jsreftest
- mochitest
- mochitest-chrome
- mochitest-clipboard
- mochitest-gpu
- mochitest-media
- reftest
- reftest-fonts
devtools-tests:
- mochitest-devtools-chrome

View File

@ -128,6 +128,32 @@ def verify_gecko_v2_routes(task, taskgraph, scratch_pad):
scratch_pad[route] = task.label
@verifications.add('full_task_graph')
def verify_routes_notification_filters(task, taskgraph, scratch_pad):
"""
This function ensures that only understood filters for notifications are
specified.
See: https://docs.taskcluster.net/reference/core/taskcluster-notify/docs/usage
"""
if task is None:
return
route_prefix = "notify."
valid_filters = ('on-any', 'on-completed', 'on-failed', 'on-exception')
task_dict = task.task
routes = task_dict.get('routes', [])
for route in routes:
if route.startswith(route_prefix):
# Get the filter of the route
route_filter = route.split('.')[-1]
if route_filter not in valid_filters:
raise Exception(
'{} has invalid notification filter ({})'
.format(task.label, route_filter)
)
@verifications.add('full_task_graph')
def verify_dependency_tiers(task, taskgraph, scratch_pad):
tiers = scratch_pad

View File

@ -0,0 +1,10 @@
[
{
"size": 445624230,
"visibility": "public",
"digest": "fb951185e21ba6124d8c8ba42202613312401c65e56d52480cc08c87816936b9dd00024f4fc00183ee0e199c91ed5b9209867983c1d13daf5b34bcdc14ee9fb6",
"algorithm": "sha512",
"filename": "AVDs-x86-android-7.0-build-2017-12-08.tar.gz",
"unpack": true
}
]

View File

@ -33,7 +33,7 @@ By participating in this project, you agree to abide by the Mozilla
for contributing high-quality and actionable bugs and code.
[_Marionette_]: ./index.html
[_geckodriver_]: ../geckodriver
[_geckodriver_]: ../../geckodriver/geckodriver
[_webdriver_]: https://searchfox.org/mozilla-central/source/testing/webdriver/README.md
[WebDriver protocol]: https://w3c.github.io/webdriver/webdriver-spec.html#protocol
[XPCOM]: https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Guide

View File

@ -92,7 +92,7 @@ Getting the code, running tests
* These are the same tests that you ran with `./mach
marionette test`, but they are testing the Firefox Nightly
that you just installed. (`./mach marionette tests`
that you just installed. (`./mach marionette test`
just calls code in runtests.py).
* Configure Mercurial with helpful extensions for Mozilla
@ -105,8 +105,8 @@ Getting the code, running tests
you respond with 'No'.
[mach]: https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/mach
[Marionette]: ../README.md
[Running Marionette tests]: https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/Running_Tests
[Marionette]: index.html
[Running Marionette tests]: PythonTests.html
[latest results on Treeherder]: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&filter-job_type_symbol=Mn
[Firefox Nightly]: https://nightly.mozilla.org/
[virtualenv]: https://www.dabapps.com/blog/introduction-to-pip-and-virtualenv-python/
@ -160,8 +160,8 @@ Resources
* Textbook about general open source practices: [Practical
Open Source Software Exploration]
* If you'd rather use git instead of hg, see git workflow for
Gecko development and/or [this blog post by :ato].
* If you'd rather use git instead of hg, see [git workflow for
Gecko development] and/or [this blog post by :ato].
[searchfox]: https://searchfox.org/mozilla-central/source/testing/marionette/
[guide for new contributors]: https://ateam-bootcamp.readthedocs.org/en/latest/guide/index.html#new-contributor-guide
@ -170,3 +170,4 @@ Resources
[Practical Open Source Software Exploration]: https://quaid.fedorapeople.org/TOS/Practical_Open_Source_Software_Exploration/html/index.html
[git workflow for Gecko development]: https://github.com/glandium/git-cinnabar/wiki/Mozilla:-A-git-workflow-for-Gecko-development
[this blog post by :ato]: https://sny.no/2016/03/geckogit
[git workflow for Gecko development]: https://github.com/glandium/git-cinnabar/wiki/Mozilla:-A-git-workflow-for-Gecko-development

View File

@ -52,28 +52,18 @@ In case you want to run the tests with another Firefox binary:
% ./mach marionette test --binary /path/to/firefox TEST
Running the tests on Fennec requires a bit more setup:
% ./mach marionette test --emulator --app fennec --avd-home /path/to/.mozbuild/android-device/avd --emulator-binary /path/to/.mozbuild/android-sdk-macosx/tools/emulator
For Fennec tests, if you have an `AVD_HOME` environment variable and
the emulator command is in your `PATH`, you may omit the `--avd-home`
and `--emulator-binary` arguments. See `./mach marionette test
-h` for additional options. It is for example possible to specify
x86/ARM and so on.
When working on Marionette it is often useful to surface the stdout
from Gecko, which can be achived using the `--gecko-log` option.
See <Debugging.html> for usage instructions, but the gist is that
you can redirect all Gecko output to stdout:
% ./mach marionette test --gecko-log - TEST
% ./mach marionette test --gecko-log - TEST
Our functional integration tests pop up Firefox windows sporadically,
and a helpful tip is to suppress the window can be to use Firefox
[headless mode]:
% ./mach marionette test -z TEST
% ./mach marionette test -z TEST
`-z` is an alias for `--headless` and equivalent to setting the
`MOZ_HEADLESS` output variable. In addition to `MOZ_HEADLESS` there
@ -82,15 +72,54 @@ the dimensions of the no-op virtual display. This is similar to
using xvfb(1) which you may know from the X windowing system, but
has the additional benefit of also working on macOS and Windows.
To connect to an already-running Fennec instance either in an
emulator or on a device, you will need to enable Marionette manually.
You can do this by building with `ac_add_options --enable-marionette`
and adding a boolean preference named `marionette.enabled` set to
true in your profile. Once this preference has been set you will
need to restart Fennec for it to take effect.
adb forward tcp:2828 tcp:2828
./mach marionette test --address 'localhost:2828'
### Android
Prerequisites:
* You have [built Fennec](https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Simple_Firefox_for_Android_build) with
`ac_add_options --enable-marionette` in your mozconfig.
* You can run an Android [emulator](https://wiki.mozilla.org/Mobile/Fennec/Android/Testing#Running_tests_on_the_Android_emulator),
which means you have the AVD you need.
When running tests on Fennec, you can have Marionette runner take care of
starting Fennec on the emulator, as shown below.
% ./mach marionette test --emulator --app fennec
--avd-home /path/to/.mozbuild/android-device/avd
--emulator-binary /path/to/.mozbuild/android-sdk/emulator/emulator
--avd=mozemulator-x86
For Fennec tests, if the appropriate `emulator` command is in your `PATH`, you may omit the `--emulator-binary` argument. See `./mach marionette test -h`
for additional options.
To connect to Fennec in an already running emulator or on a device, you will need to enable Marionette manually by setting the browser preference
`marionette.enabled` set to true in the Fennec profile.
Make sure port 2828 is forwarded:
% adb forward tcp:2828 tcp:2828
If Fennec is already started:
% ./mach marionette test --app='fennec' --address=localhost:2828 --disable-e10s
If Fennec is not already started on the emulator/device, add the `--emulator`
option. Marionette Test Runner will take care of forwarding the port and
starting Fennec with the correct prefs. (You may need to run
`adb forward --remove-all` to allow the runner to start.)
% ./mach marionette test --emulator --app='fennec' --address=localhost:2828 --disable-e10s
--startup-timeout=300
If you need to troubleshoot the Marionette connection, the most basic check is
to start Fennec, make sure the `marionette.enabled` browser preference is
true and port 2828 is forwarded, then see if you get any response from
Marionette when you connect manually:
% telnet localhost:2828
You should see output like `{"applicationType":"gecko","marionetteProtocol":3}`
[headless mode]: https://developer.mozilla.org/en-US/Firefox/Headless_mode
[geckodriver]: /testing/geckodriver/geckodriver

View File

@ -0,0 +1,33 @@
# mozharness configuration for Android x86 7.0 unit tests
#
# This configuration should be combined with suite definitions and other
# mozharness configuration from android_common.py, or similar.
config = {
"tooltool_manifest_path": "testing/config/tooltool-manifests/androidx86_7_0/releng.manifest",
"emulator_manifest": """
[
{
"size": "237849484",
"digest": "596db3063758aea49f441ed3dccc5429408e037ba953ab8ea676969c12ed267416a7b1f7d61ad5a06fd2c0fe234131843bd9c57a33b8dd8677aa0b25bbb799d7",
"algorithm": "sha512",
"filename": "android-sdk_r26b-linux.tar.gz",
"unpack": "True"
}
] """,
"emulator_process_name": "emulator64-x86",
"emulator_extra_args": "-gpu swiftshader -skip-adb-auth -verbose -show-kernel -use-system-libs -ranchu -selinux permissive -memory 3072 -cores 4",
"exes": {
'adb': '%(abs_work_dir)s/android-sdk-linux/platform-tools/adb',
},
"env": {
"DISPLAY": ":0.0",
"PATH": "%(PATH)s:%(abs_work_dir)s/android-sdk-linux/emulator:%(abs_work_dir)s/android-sdk-linux/tools:%(abs_work_dir)s/android-sdk-linux/platform-tools",
"MINIDUMP_SAVEPATH": "%(abs_work_dir)s/../minidumps",
# "LIBGL_DEBUG": "verbose"
},
"emulator": {
"name": "test-1",
"device_id": "emulator-5554",
},
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,2 @@
[storage-smoke-test.https.tentative.html]
expected: TIMEOUT

View File

@ -0,0 +1,4 @@
[__host.document-cookie.non-secure.html]
[Untitled]
expected: FAIL

View File

@ -0,0 +1,4 @@
[__host.http.non-secure.html]
[Untitled]
expected: FAIL

View File

@ -0,0 +1,4 @@
[__secure.document-cookie.non-secure.html]
[Untitled]
expected: FAIL

View File

@ -0,0 +1,4 @@
[__secure.http.non-secure.html]
[Untitled]
expected: FAIL

View File

@ -0,0 +1,28 @@
[__secure.http.secure.html]
[Untitled]
expected: FAIL
[__Secure: secure origin: 'Path=/;']
expected: FAIL
[__Secure: secure origin: 'Secure;Path=/;']
expected: FAIL
[__Secure: secure origin: 'Path=/;domain=not-web-platform.test']
expected: FAIL
[__Secure: secure origin: 'Secure;Path=/;domain=not-web-platform.test']
expected: FAIL
[__Secure: secure origin: 'Path=/;MaxAge=10']
expected: FAIL
[__Secure: secure origin: 'Secure;Path=/;MaxAge=10']
expected: FAIL
[__Secure: secure origin: 'Path=/;HttpOnly']
expected: FAIL
[__Secure: secure origin: 'Secure;Path=/;HttpOnly']
expected: FAIL

View File

@ -0,0 +1,7 @@
[document-cookie.non-secure.html]
[No prefix, root path, no special behavior]
expected: FAIL
[No prefix, domain, no special behavior]
expected: FAIL

View File

@ -0,0 +1,16 @@
[fetch.html]
[Untitled]
expected: FAIL
[Subdomain redirecting to same-host fetches are strictly same-site]
expected: FAIL
[Cross-site redirecting to same-host fetches are strictly same-site]
expected: FAIL
[Cross-site redirecting to subdomain fetches are strictly same-site]
expected: FAIL
[Subdomain redirecting to cross-site fetches are cross-site]
expected: FAIL

View File

@ -0,0 +1,7 @@
[form-get-blank-reload.html]
[Untitled]
expected: FAIL
[Reloaded cross-site top-level form GETs are laxly same-site]
expected: FAIL

View File

@ -0,0 +1,22 @@
[form-get-blank.html]
[Untitled]
expected: FAIL
[Cross-site top-level form GETs are laxly same-site]
expected: FAIL
[Cross-site redirecting to same-host top-level form GETs are strictly same-site]
expected: FAIL
[Cross-site redirecting to subdomain top-level form GETs are strictly same-site]
expected: FAIL
[Same-host redirecting to cross-site top-level form GETs are laxly same-site]
expected: FAIL
[Subdomain redirecting to cross-site top-level form GETs are laxly same-site]
expected: FAIL
[Cross-site redirecting to cross-site top-level form GETs are laxly same-site]
expected: FAIL

View File

@ -0,0 +1,5 @@
[form-post-blank-reload.html]
expected: ERROR
[Untitled]
expected: FAIL

View File

@ -0,0 +1,10 @@
[form-post-blank.html]
[Untitled]
expected: FAIL
[Cross-site redirecting to same-host top-level form POSTs are strictly same-site]
expected: FAIL
[Cross-site redirecting to subdomain top-level form POSTs are strictly same-site]
expected: FAIL

View File

@ -0,0 +1,4 @@
[iframe-reload.html]
[Untitled]
expected: FAIL

View File

@ -0,0 +1,10 @@
[iframe.html]
[Untitled]
expected: FAIL
[Cross-site redirecting to same-host fetches are strictly same-site]
expected: FAIL
[Cross-site redirecting to subdomain fetches are strictly same-site]
expected: FAIL

View File

@ -0,0 +1,10 @@
[img.html]
[Untitled]
expected: FAIL
[Cross-site redirecting to same-host images are strictly same-site]
expected: FAIL
[Cross-site redirecting to subdomain images are strictly same-site]
expected: FAIL

View File

@ -0,0 +1,7 @@
[window-open-reload.html]
[Untitled]
expected: FAIL
[Reloaded ross-site auxiliary navigations are laxly same-site]
expected: FAIL

View File

@ -0,0 +1,16 @@
[window-open.html]
[Untitled]
expected: FAIL
[Cross-site auxiliary navigations are laxly same-site]
expected: FAIL
[Same-host redirecting to cross-site auxiliary navigations are laxly same-site]
expected: FAIL
[Subdomain redirecting to cross-site auxiliary navigations are laxly same-site]
expected: FAIL
[Cross-site redirecting to cross-site auxiliary navigations are laxly same-site]
expected: FAIL

View File

@ -0,0 +1,6 @@
[cookie-forcing.html]
expected:
if debug and not webrender and not e10s and (os == "linux") and (version == "Ubuntu 16.04") and (processor == "x86") and (bits == 32): TIMEOUT
[non-secure origins should be able to force out insecure cookies.]
expected: FAIL

View File

@ -0,0 +1,7 @@
[create-cookie-http.html]
[Untitled]
expected: FAIL
[Secure cookies cannot be set by insecure origins]
expected: FAIL

View File

@ -0,0 +1,4 @@
[client-hint-request-headers.htm]
[Client hint headers are simple headers]
expected: FAIL

View File

@ -0,0 +1,10 @@
[simple-requests.htm]
[No preflight GET and {"save-data":"on","device-memory":"2.0","dpr":"3.0","width":"1200","viewport-width":"1300"}]
expected: FAIL
[No preflight HEAD and {"save-data":"on","device-memory":"2.0","dpr":"3.0","width":"1200","viewport-width":"1300"}]
expected: FAIL
[No preflight POST and {"save-data":"on","device-memory":"2.0","dpr":"3.0","width":"1200","viewport-width":"1300"}]
expected: FAIL

View File

@ -0,0 +1,2 @@
[inline-block-baseline-003.xht]
expected: FAIL

View File

@ -0,0 +1,2 @@
[inline-block-baseline-004.xht]
expected: FAIL

View File

@ -0,0 +1,2 @@
[inline-block-baseline-005.xht]
expected: FAIL

View File

@ -0,0 +1,2 @@
[inline-block-baseline-006.xht]
expected: FAIL

View File

@ -0,0 +1,2 @@
[border-image-outset-003.html]
expected: FAIL

View File

@ -0,0 +1,2 @@
[filtered-html-is-not-container.html]
expected: FAIL

View File

@ -0,0 +1,2 @@
[filtered-inline-is-container.html]
expected: FAIL

View File

@ -143,3 +143,9 @@
[font-style(valid): Bounds out of order: oblique 20deg 10deg]
expected: FAIL
[font-stretch(valid): Negative calc value (to be clamped): calc(-100%)]
expected: FAIL
[font-stretch(valid): Negative calc expression (to be clamped): calc(50% - 50%*2)]
expected: FAIL

View File

@ -0,0 +1,22 @@
[grid-intrinsic-size-with-orthogonal-items.html]
[.grid 1]
expected: FAIL
[.grid 2]
expected: FAIL
[.grid 3]
expected: FAIL
[.grid 4]
expected: FAIL
[.grid 5]
expected: FAIL
[.grid 6]
expected: FAIL
[.grid 7]
expected: FAIL

View File

@ -1,3 +1,4 @@
[Event-defaultPrevented-after-dispatch.html]
[Default prevention via returnValue]
expected: FAIL

View File

@ -3,3 +3,6 @@
[Reset targets before activation behavior]
expected: FAIL
[Retarget a shadow-tree relatedTarget]
expected: FAIL

View File

@ -0,0 +1,5 @@
[response-stream-with-broken-then.any.html]
expected: TIMEOUT
[response-stream-with-broken-then.any.worker.html]
expected: TIMEOUT

View File

@ -41,3 +41,9 @@
[CORB should block the response if Content-Type is: 'APPLICATION/BLAH+XML'. ]
expected: FAIL
[CORB should block the response if Content-Type is: 'text/json;does=it;matter'. ]
expected: FAIL
[CORB should block the response if Content-Type is: 'text/HTML;NO=it;does=NOT'. ]
expected: FAIL

View File

@ -2,3 +2,6 @@
[Untitled]
expected: FAIL
[CORB-blocked script has no syntax errors]
expected: FAIL

View File

@ -0,0 +1,4 @@
[form-data-set-empty-file.window.html]
[Empty <input type=file> is still serialized]
expected: FAIL

View File

@ -0,0 +1,4 @@
[idlharness.https.html]
[Test IDL implementation of Keyboard Map API]
expected: FAIL

View File

@ -0,0 +1,7 @@
[keyboard-map-https.html]
[navigator.keyboard instanceof Keyboard]
expected: FAIL
[navigator.keyboard.getLayoutMap() returns a Promise<KeyboardLayoutMap> when successful]
expected: FAIL

View File

@ -0,0 +1,4 @@
[MediaDevices-getUserMedia.https.html]
[groupId is correctly supported by getUserMedia() for video devices]
expected: FAIL

View File

@ -0,0 +1,7 @@
[MediaStreamTrack-applyConstraints.https.html]
[applyConstraints rejects invalid groupID]
expected: FAIL
[applyConstraints rejects attempt to switch device using groupId]
expected: FAIL

View File

@ -4,3 +4,4 @@
[Passing MediaStream to URL.createObjectURL() should throw]
expected: FAIL

View File

@ -1,2 +1,2 @@
local: eaf335c0df64708b11afdfca1f5f99066c1e0137
upstream: d3578ca763c561ab44f62405d02949183e2bdba7
local: 3756285c99f210dfed8da126564e24a2d75c1d8c
upstream: f0fe4791f5b87491d8d9662832fae543e4edbca1

View File

@ -0,0 +1,38 @@
[audiobuffer-copy-channel.html]
expected: ERROR
[X 3: buffer.copyFromChannel(x, -1) threw "NotSupportedError" instead of IndexSizeError.]
expected: FAIL
[X 4: buffer.copyFromChannel(x, 3) threw "NotSupportedError" instead of IndexSizeError.]
expected: FAIL
[X 5: buffer.copyFromChannel(x, 0, -1) threw "NotSupportedError" instead of IndexSizeError.]
expected: FAIL
[X 6: buffer.copyFromChannel(x, 0, 16) threw "NotSupportedError" instead of IndexSizeError.]
expected: FAIL
[X 7: buffer.copyFromChannel(x, 3) threw "NotSupportedError" instead of IndexSizeError.]
expected: FAIL
[< [copyFrom-exceptions\] 5 out of 9 assertions were failed.]
expected: FAIL
[X 2: buffer.copyToChannel(x, -1) threw "NotSupportedError" instead of IndexSizeError.]
expected: FAIL
[X 3: buffer.copyToChannel(x, 3) threw "NotSupportedError" instead of IndexSizeError.]
expected: FAIL
[X 4: buffer.copyToChannel(x, 0, -1) threw "NotSupportedError" instead of IndexSizeError.]
expected: FAIL
[X 5: buffer.copyToChannel(x, 0, 16) threw "NotSupportedError" instead of IndexSizeError.]
expected: FAIL
[X 6: buffer.copyToChannel(x, 3) threw "NotSupportedError" instead of IndexSizeError.]
expected: FAIL
[< [copyTo-exceptions\] 5 out of 8 assertions were failed.]
expected: FAIL

View File

@ -0,0 +1,10 @@
[audiobuffer.html]
[X buffer.getChannelData(4) threw "NotSupportedError" instead of IndexSizeError.]
expected: FAIL
[< [Basic tests for AudioBuffer\] 1 out of 11 assertions were failed.]
expected: FAIL
[# AUDIT TASK RUNNER FINISHED: 1 out of 1 tasks were failed.]
expected: FAIL

View File

@ -1,3 +1,4 @@
[user_prompts.py]
[test_handle_prompt_accept]
expected: FAIL

View File

@ -19,3 +19,4 @@
[test_handle_prompt_twice]
expected: FAIL
disabled: Bug 1459118

View File

@ -19,3 +19,4 @@
[test_handle_prompt_twice]
expected: FAIL
disabled: Bug 1459118

View File

@ -1,9 +0,0 @@
[user_prompts.py]
disabled:
if webrender: bug 1425588
[test_handle_prompt_dismiss]
expected: FAIL
[test_handle_prompt_accept]
expected: FAIL

View File

@ -1,3 +1,4 @@
[user_prompts.py]
[test_handle_prompt_accept]
expected: FAIL

View File

@ -1,7 +0,0 @@
[user_prompts.py]
[test_handle_prompt_dismiss]
expected: FAIL
[test_handle_prompt_accept]
expected: FAIL

View File

@ -1,3 +1,4 @@
[user_prompts.py]
[test_handle_prompt_accept]
expected: FAIL

View File

@ -1 +0,0 @@
[RTCDTMFSender-ontonechange-long.https.html]

View File

@ -0,0 +1,4 @@
[video-codecs.html]
[H.264 and VP8 should be supported in initial offer]
expected: FAIL

View File

@ -330,9 +330,6 @@ with Files("tests/html-longdesc/**"):
with Files("tests/html-media-capture/**"):
BUG_COMPONENT = ("Core", "DOM: Core & HTML")
with Files("tests/http/**"):
BUG_COMPONENT = ("Core", "DOM")
with Files("tests/imagebitmap-renderingcontext/**"):
BUG_COMPONENT = ("Core", "Canvas: 2D")

View File

@ -11,12 +11,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ chrome reftest 1 10"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -29,12 +28,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ chrome reftest 2 10"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -47,12 +45,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ chrome reftest 3 10"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -65,12 +62,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ chrome reftest 4 10"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -83,12 +79,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ chrome reftest 5 10"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -101,12 +96,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ chrome reftest 6 10"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -119,12 +113,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ chrome reftest 7 10"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -137,12 +130,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ chrome reftest 8 10"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -155,12 +147,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ chrome reftest 9 10"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -173,12 +164,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ chrome reftest 10 10"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -191,12 +181,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ chrome wdspec 1 1"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -209,12 +198,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ chrome testharness 1 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -227,12 +215,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ chrome testharness 2 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -245,12 +232,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ chrome testharness 3 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -263,12 +249,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ chrome testharness 4 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -281,12 +266,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ chrome testharness 5 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -299,12 +283,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ chrome testharness 6 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -317,12 +300,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ chrome testharness 7 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -335,12 +317,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ chrome testharness 8 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -353,12 +334,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ chrome testharness 9 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -371,12 +351,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ chrome testharness 10 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -389,12 +368,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ chrome testharness 11 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -407,12 +385,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ chrome testharness 12 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -425,12 +402,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ chrome testharness 13 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -443,12 +419,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ chrome testharness 14 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -461,12 +436,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} chrome-dev &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ chrome testharness 15 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -479,12 +453,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ firefox reftest 1 10"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -497,12 +470,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ firefox reftest 2 10"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -515,12 +487,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ firefox reftest 3 10"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -533,12 +504,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ firefox reftest 4 10"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -551,12 +521,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ firefox reftest 5 10"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -569,12 +538,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ firefox reftest 6 10"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -587,12 +555,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ firefox reftest 7 10"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -605,12 +572,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ firefox reftest 8 10"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -623,12 +589,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ firefox reftest 9 10"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -641,12 +606,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ firefox reftest 10 10"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -659,12 +623,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ firefox wdspec 1 1"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -677,12 +640,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ firefox testharness 1 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -695,12 +657,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ firefox testharness 2 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -713,12 +674,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ firefox testharness 3 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -731,12 +691,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ firefox testharness 4 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -749,12 +708,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ firefox testharness 5 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -767,12 +725,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ firefox testharness 6 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -785,12 +742,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ firefox testharness 7 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -803,12 +759,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ firefox testharness 8 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -821,12 +776,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ firefox testharness 9 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -839,12 +793,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ firefox testharness 10 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -857,12 +810,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ firefox testharness 11 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -875,12 +827,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ firefox testharness 12 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -893,12 +844,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ firefox testharness 13 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -911,12 +861,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ firefox testharness 14 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'
@ -929,12 +878,11 @@ tasks:
payload:
artifacts:
public/results: {path: /home/test/artifacts, type: directory}
command: [/bin/bash, --login, -c, ">-\n ~/start.sh &&\n \
\ cd /home/test/web-platform-tests &&\n git fetch {{event.head.repo.url}}\
\ &&\n git config advice.detachedHead false &&\n git\
\ checkout {{event.head.sha}} &&\n ./tools/ci/ci_taskcluster.sh\
command: [/bin/bash, --login, -c, ">-\n ~/start.sh {{event.head.repo.url}}\
\ {{ event.head.repo.branch }} {{event.head.sha}} firefox-nightly &&\n \
\ cd ~/web-platform-tests &&\n ./tools/ci/ci_taskcluster.sh\
\ firefox testharness 15 15"]
image: harjgam/web-platform-tests:0.6
image: harjgam/web-platform-tests:0.11
maxRunTime: 7200
provisionerId: '{{ taskcluster.docker.provisionerId }}'
workerType: '{{ taskcluster.docker.workerType }}'

View File

@ -31,7 +31,6 @@ async_test(t => {
}, 'Blob URLs can be used in iframes, and are treated same origin');
async_test(t => {
const scroll_position = 5000;
const blob_contents = '<!doctype html>\n<meta charset="utf-8">\n' +
'<style>body { margin: 0; } .block { height: 5000px; }</style>\n' +
'<body>\n' +
@ -43,8 +42,7 @@ async_test(t => {
const frame = document.createElement('iframe');
frame.setAttribute('src', url + '#block2');
document.body.appendChild(frame);
frame.onload = t.step_func_done(() => {
frame.contentWindow.onscroll = t.step_func_done(() => {
assert_equals(frame.contentWindow.scrollY, 5000);
});
}, 'Blob URL fragment is implemented.');

View File

@ -44,10 +44,10 @@ For example, on most UNIX-like systems, you can setup the hosts file with:
./wpt make-hosts-file | sudo tee -a /etc/hosts
```
And on Windows (note this requires an Administrator privileged shell):
And on Windows (this must be run in a PowerShell session with Administrator privileges):
```bash
python wpt make-hosts-file >> %SystemRoot%\System32\drivers\etc\hosts
python wpt make-hosts-file | Out-File %SystemRoot%\System32\drivers\etc\hosts -Encoding ascii -Append
```
If you are behind a proxy, you also need to make sure the domains above are

View File

@ -75,7 +75,7 @@
<span aria-label="Garaventa">Zambino</span>
</span>
<span>the weird.</span>
(<span>Q</span><span>E</span><span>D</span>)
(QED)
<span class="hidden"><i><b>and don't you forget it.</b></i></span>
<table>
<tr>

View File

@ -83,7 +83,7 @@
<span aria-label="Garaventa">Zambino</span>
</span>
<span>the weird.</span>
(<span>Q</span><span>E</span><span>D</span>)
(QED)
<span class="hidden"><i><b>and don't you forget it.</b></i></span>
<table>
<tr>

View File

@ -73,7 +73,7 @@
<span aria-label="Garaventa">Zambino</span>
</span>
<span>the weird.</span>
(<span>Q</span><span>E</span><span>D</span>)
(QED)
<span class="hidden"><i><b>and don't you forget it.</b></i></span>
<table>
<tr>

View File

@ -74,7 +74,7 @@
<span aria-label="Garaventa">Zambino</span>
</span>
<span>the weird.</span>
(<span>Q</span><span>E</span><span>D</span>)
(QED)
<span class="hidden"><i><b>and don't you forget it.</b></i></span>
<table>
<tr>

View File

@ -74,7 +74,7 @@
<span aria-label="Garaventa">Zambino</span>
</span>
<span>the weird.</span>
(<span>Q</span><span>E</span><span>D</span>)
(QED)
<span class="hidden"><i><b>and don't you forget it.</b></i></span>
<table>
<tr>

View File

@ -83,7 +83,7 @@
<span aria-label="Garaventa">Zambino</span>
</span>
<span>the weird.</span>
(<span>Q</span><span>E</span><span>D</span>)
(QED)
<span class="hidden"><i><b>and don't you forget it.</b></i></span>
<table>
<tr>

View File

@ -71,7 +71,7 @@
<div><img src="file.jpg" title="Bryan" alt="" role="presentation" /></div>
<span role="presentation" aria-label="Eli"><span aria-label="Garaventa">Zambino</span></span>
<span>the weird.</span>
(<span>Q</span><span>E</span><span>D</span>)
(QED)
<span class="hidden"><i><b>and don't you forget it.</b></i></span>
</div>

View File

@ -0,0 +1,46 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Async local storage storage export smoke test</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script type="module">
import { storage } from "std:async-local-storage";
test(() => {
const { backingStore } = storage;
assert_array_equals(Object.keys(backingStore), ["database", "store", "version"]);
assert_own_property(backingStore, "database");
assert_own_property(backingStore, "store");
assert_own_property(backingStore, "version");
assert_equals(Object.getPrototypeOf(backingStore), Object.prototype);
assert_equals(backingStore.database, "async-local-storage:default");
assert_equals(backingStore.store, "store");
assert_equals(backingStore.version, 1);
}, "backingStore returns the correct object");
promise_test(async (t) => {
t.add_cleanup(async () => {
await storage.clear();
});
assert_equals(await storage.set("key", "value"), undefined);
assert_equals(await storage.get("key"), "value");
assert_equals(await storage.has("key"), true);
assert_array_equals(await storage.keys(), ["key"]);
assert_array_equals(await storage.values(), ["value"]);
const entries = await storage.entries();
assert_true(Array.isArray(entries));
assert_equals(entries.length, 1);
assert_array_equals(entries[0], ["key", "value"]);
assert_equals(await storage.delete("key"), undefined);
assert_equals(await storage.get("key"), undefined);
assert_equals(await storage.has("key"), false);
}, "storage methods work, at least for one entry with string key and value");
</script>

View File

@ -0,0 +1 @@
@beverloo

View File

@ -0,0 +1,3 @@
@igrigorik
@yoavweiss
@tarunban

View File

@ -10,20 +10,22 @@
// the HTTP request headers if the response was delivered by an insecure HTTP
// server. Test this functionality by fetching an XHR from this page hosted on
// an insecure HTTP server. The response headers for this page include
// "Accept-CH: device-memory, dpr, viewport-width".
// "Accept-CH: device-memory, dpr, viewport-width, rtt, downlink, ect".
//
// echo_client_hints_received.py includes "device-memory-received",
// "dpr-received" and "viewport-width-received" in the response headers
// depending on the set of client hints it receives in the request headers.
// echo_client_hints_received.py sets the response headers depending on the set
// of client hints it receives in the request headers.
promise_test(t => {
return fetch("/client-hints/echo_client_hints_received.py").then(r => {
assert_equals(r.status, 200)
// Verify that the browser does not include client hints in the headers
// when fetching the XHR from an insecure HTTP server.
assert_false(r.headers.has("device-memory-received"));
assert_false(r.headers.has("dpr-received"));
assert_false(r.headers.has("viewport-width-received"));
assert_false(r.headers.has("device-memory-received"), "device-memory-received");
assert_false(r.headers.has("dpr-received"), "dpr-received");
assert_false(r.headers.has("viewport-width-received"), "viewport-width-received");
assert_false(r.headers.has("rtt-received"), "rtt-received");
assert_false(r.headers.has("downlink-received"), "downlink-received");
assert_false(r.headers.has("ect-received"), "ect-received");
});
}, "Accept-CH header test");

View File

@ -1 +1 @@
Accept-CH: device-memory, dpr, viewport-width
Accept-CH: device-memory, dpr, viewport-width, rtt, downlink, ect

View File

@ -10,11 +10,10 @@
// HTTP request headers depending on whether the resource is being fetched from
// the same origin or a different origin. Test this functionality by fetching
// same-origin and cross-origin resources from this page. The response headers
// for this page include "Accept-CH: device-memory, dpr, viewport-width".
// for this page include "Accept-CH: device-memory, dpr, viewport-width, rtt, downlink, ect".
//
// echo_client_hints_received.py includes "device-memory-received",
// "dpr-received" and "viewport-width-received" in the response headers
// depending on the set of client hints it receives in the request headers.
// echo_client_hints_received.py sets the response headers depending on the set
// of client hints it receives in the request headers.
promise_test(t => {
return fetch("https://{{domains[]}}:{{ports[https][0]}}/client-hints/echo_client_hints_received.py", {"mode": "no-cors"}).then(r => {
@ -24,6 +23,9 @@ promise_test(t => {
assert_true(r.headers.has("device-memory-received"), "device-memory-received");
assert_true(r.headers.has("dpr-received"), "dpr-received");
assert_true(r.headers.has("viewport-width-received"), "viewport-width-received");
assert_true(r.headers.has("rtt-received"), "rtt-received");
assert_true(r.headers.has("downlink-received"), "downlink-received");
assert_true(r.headers.has("ect-received"), "ect-received");
});
}, "Accept-CH header test");
@ -35,6 +37,9 @@ promise_test(t => {
assert_false(r.headers.has("device-memory-received"), "device-memory-received");
assert_false(r.headers.has("dpr-received"), "dpr-received");
assert_false(r.headers.has("viewport-width-received"), "viewport-width-received");
assert_false(r.headers.has("rtt-received"), "rtt-received");
assert_false(r.headers.has("downlink-received"), "downlink-received");
assert_false(r.headers.has("ect-received"), "ect-received");
});
}, "Cross-Origin Accept-CH header test");

View File

@ -1 +1 @@
Accept-CH: device-memory, dpr, viewport-width
Accept-CH: device-memory, dpr, viewport-width, rtt, downlink, ect

View File

@ -14,6 +14,9 @@ promise_test(t => {
assert_false(r.headers.has("device-memory-received"), "device-memory-received");
assert_false(r.headers.has("dpr-received"), "dpr-received");
assert_false(r.headers.has("viewport-width-received"), "viewport-width-received");
assert_false(r.headers.has("rtt-received"), "rtt-received");
assert_false(r.headers.has("downlink-received"), "downlink-received");
assert_false(r.headers.has("ect-received"), "ect-received");
});
}, "Accept-CH header test");

Some files were not shown because too many files have changed in this diff Show More