mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-17 07:15:46 +00:00
Merge mozilla-central to autoland. a=merge CLOSED TREE
This commit is contained in:
commit
8c891cd16f
@ -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());
|
||||
}
|
||||
|
||||
|
||||
|
@ -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
|
||||
};
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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">
|
||||
|
@ -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 {
|
||||
|
@ -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"
|
||||
|
@ -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"/>
|
||||
|
@ -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
|
||||
|
@ -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;
|
@ -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">
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
}
|
||||
]
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
33
testing/mozharness/configs/android/androidx86_7_0.py
Normal file
33
testing/mozharness/configs/android/androidx86_7_0.py
Normal 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
@ -0,0 +1,2 @@
|
||||
[storage-smoke-test.https.tentative.html]
|
||||
expected: TIMEOUT
|
@ -0,0 +1,4 @@
|
||||
[__host.document-cookie.non-secure.html]
|
||||
[Untitled]
|
||||
expected: FAIL
|
||||
|
@ -0,0 +1,4 @@
|
||||
[__host.http.non-secure.html]
|
||||
[Untitled]
|
||||
expected: FAIL
|
||||
|
@ -0,0 +1,4 @@
|
||||
[__secure.document-cookie.non-secure.html]
|
||||
[Untitled]
|
||||
expected: FAIL
|
||||
|
@ -0,0 +1,4 @@
|
||||
[__secure.http.non-secure.html]
|
||||
[Untitled]
|
||||
expected: FAIL
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
16
testing/web-platform/meta/cookies/samesite/fetch.html.ini
Normal file
16
testing/web-platform/meta/cookies/samesite/fetch.html.ini
Normal 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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -0,0 +1,5 @@
|
||||
[form-post-blank-reload.html]
|
||||
expected: ERROR
|
||||
[Untitled]
|
||||
expected: FAIL
|
||||
|
@ -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
|
||||
|
@ -0,0 +1,4 @@
|
||||
[iframe-reload.html]
|
||||
[Untitled]
|
||||
expected: FAIL
|
||||
|
10
testing/web-platform/meta/cookies/samesite/iframe.html.ini
Normal file
10
testing/web-platform/meta/cookies/samesite/iframe.html.ini
Normal 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
|
||||
|
10
testing/web-platform/meta/cookies/samesite/img.html.ini
Normal file
10
testing/web-platform/meta/cookies/samesite/img.html.ini
Normal 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
|
||||
|
@ -0,0 +1,7 @@
|
||||
[window-open-reload.html]
|
||||
[Untitled]
|
||||
expected: FAIL
|
||||
|
||||
[Reloaded ross-site auxiliary navigations are laxly same-site]
|
||||
expected: FAIL
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -0,0 +1,7 @@
|
||||
[create-cookie-http.html]
|
||||
[Untitled]
|
||||
expected: FAIL
|
||||
|
||||
[Secure cookies cannot be set by insecure origins]
|
||||
expected: FAIL
|
||||
|
@ -0,0 +1,4 @@
|
||||
[client-hint-request-headers.htm]
|
||||
[Client hint headers are simple headers]
|
||||
expected: FAIL
|
||||
|
10
testing/web-platform/meta/cors/simple-requests.htm.ini
Normal file
10
testing/web-platform/meta/cors/simple-requests.htm.ini
Normal 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
|
||||
|
@ -0,0 +1,2 @@
|
||||
[inline-block-baseline-003.xht]
|
||||
expected: FAIL
|
@ -0,0 +1,2 @@
|
||||
[inline-block-baseline-004.xht]
|
||||
expected: FAIL
|
@ -0,0 +1,2 @@
|
||||
[inline-block-baseline-005.xht]
|
||||
expected: FAIL
|
@ -0,0 +1,2 @@
|
||||
[inline-block-baseline-006.xht]
|
||||
expected: FAIL
|
@ -0,0 +1,2 @@
|
||||
[border-image-outset-003.html]
|
||||
expected: FAIL
|
@ -0,0 +1,2 @@
|
||||
[filtered-html-is-not-container.html]
|
||||
expected: FAIL
|
@ -0,0 +1,2 @@
|
||||
[filtered-inline-is-container.html]
|
||||
expected: FAIL
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -1,3 +1,4 @@
|
||||
[Event-defaultPrevented-after-dispatch.html]
|
||||
[Default prevention via returnValue]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -3,3 +3,6 @@
|
||||
[Reset targets before activation behavior]
|
||||
expected: FAIL
|
||||
|
||||
[Retarget a shadow-tree relatedTarget]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -0,0 +1,5 @@
|
||||
[response-stream-with-broken-then.any.html]
|
||||
expected: TIMEOUT
|
||||
|
||||
[response-stream-with-broken-then.any.worker.html]
|
||||
expected: TIMEOUT
|
@ -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
|
||||
|
||||
|
@ -2,3 +2,6 @@
|
||||
[Untitled]
|
||||
expected: FAIL
|
||||
|
||||
[CORB-blocked script has no syntax errors]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -0,0 +1,4 @@
|
||||
[form-data-set-empty-file.window.html]
|
||||
[Empty <input type=file> is still serialized]
|
||||
expected: FAIL
|
||||
|
@ -0,0 +1,4 @@
|
||||
[idlharness.https.html]
|
||||
[Test IDL implementation of Keyboard Map API]
|
||||
expected: FAIL
|
||||
|
@ -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
|
||||
|
@ -0,0 +1,4 @@
|
||||
[MediaDevices-getUserMedia.https.html]
|
||||
[groupId is correctly supported by getUserMedia() for video devices]
|
||||
expected: FAIL
|
||||
|
@ -0,0 +1,7 @@
|
||||
[MediaStreamTrack-applyConstraints.https.html]
|
||||
[applyConstraints rejects invalid groupID]
|
||||
expected: FAIL
|
||||
|
||||
[applyConstraints rejects attempt to switch device using groupId]
|
||||
expected: FAIL
|
||||
|
@ -4,3 +4,4 @@
|
||||
|
||||
[Passing MediaStream to URL.createObjectURL() should throw]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -1,2 +1,2 @@
|
||||
local: eaf335c0df64708b11afdfca1f5f99066c1e0137
|
||||
upstream: d3578ca763c561ab44f62405d02949183e2bdba7
|
||||
local: 3756285c99f210dfed8da126564e24a2d75c1d8c
|
||||
upstream: f0fe4791f5b87491d8d9662832fae543e4edbca1
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -1,3 +1,4 @@
|
||||
[user_prompts.py]
|
||||
[test_handle_prompt_accept]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -19,3 +19,4 @@
|
||||
[test_handle_prompt_twice]
|
||||
expected: FAIL
|
||||
disabled: Bug 1459118
|
||||
|
||||
|
@ -19,3 +19,4 @@
|
||||
[test_handle_prompt_twice]
|
||||
expected: FAIL
|
||||
disabled: Bug 1459118
|
||||
|
||||
|
@ -1,9 +0,0 @@
|
||||
[user_prompts.py]
|
||||
disabled:
|
||||
if webrender: bug 1425588
|
||||
[test_handle_prompt_dismiss]
|
||||
expected: FAIL
|
||||
|
||||
[test_handle_prompt_accept]
|
||||
expected: FAIL
|
||||
|
@ -1,3 +1,4 @@
|
||||
[user_prompts.py]
|
||||
[test_handle_prompt_accept]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -1,7 +0,0 @@
|
||||
[user_prompts.py]
|
||||
[test_handle_prompt_dismiss]
|
||||
expected: FAIL
|
||||
|
||||
[test_handle_prompt_accept]
|
||||
expected: FAIL
|
||||
|
@ -1,3 +1,4 @@
|
||||
[user_prompts.py]
|
||||
[test_handle_prompt_accept]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -1 +0,0 @@
|
||||
[RTCDTMFSender-ontonechange-long.https.html]
|
@ -0,0 +1,4 @@
|
||||
[video-codecs.html]
|
||||
[H.264 and VP8 should be supported in initial offer]
|
||||
expected: FAIL
|
||||
|
@ -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")
|
||||
|
||||
|
@ -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 }}'
|
||||
|
@ -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.');
|
||||
|
@ -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
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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>
|
1
testing/web-platform/tests/budget-api/OWNERS
Normal file
1
testing/web-platform/tests/budget-api/OWNERS
Normal file
@ -0,0 +1 @@
|
||||
@beverloo
|
3
testing/web-platform/tests/client-hints/OWNERS
Normal file
3
testing/web-platform/tests/client-hints/OWNERS
Normal file
@ -0,0 +1,3 @@
|
||||
@igrigorik
|
||||
@yoavweiss
|
||||
@tarunban
|
@ -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");
|
||||
|
||||
|
@ -1 +1 @@
|
||||
Accept-CH: device-memory, dpr, viewport-width
|
||||
Accept-CH: device-memory, dpr, viewport-width, rtt, downlink, ect
|
@ -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");
|
||||
|
||||
|
@ -1 +1 @@
|
||||
Accept-CH: device-memory, dpr, viewport-width
|
||||
Accept-CH: device-memory, dpr, viewport-width, rtt, downlink, ect
|
@ -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
Loading…
Reference in New Issue
Block a user