HomeExpandableListView
is a custom extension of
+ * ExpandableListView, that packs a HomeContextMenuInfo
+ * when any of its rows is long pressed.
+ *
+ * This is the ExpandableListView
equivalent of
+ * HomeListView
.
+ */
+public class HomeExpandableListView extends ExpandableListView
+ implements OnItemLongClickListener {
+
+ // ContextMenuInfo associated with the currently long pressed list item.
+ private HomeContextMenuInfo mContextMenuInfo;
+
+ // ContextMenuInfo factory.
+ private HomeContextMenuInfo.ExpandableFactory mContextMenuInfoFactory;
+
+ public HomeExpandableListView(Context context) {
+ this(context, null);
+ }
+
+ public HomeExpandableListView(Context context, AttributeSet attrs) {
+ this(context, attrs, 0);
+ }
+
+ public HomeExpandableListView(Context context, AttributeSet attrs, int defStyle) {
+ super(context, attrs, defStyle);
+
+ setOnItemLongClickListener(this);
+ }
+
+ @Override
+ public boolean onItemLongClick(AdapterView> parent, View view, int position, long id) {
+ if (mContextMenuInfoFactory == null) {
+ return false;
+ }
+
+ // HomeExpandableListView items can correspond to groups and children.
+ // The factory can determine whether to add context menu for either,
+ // both, or none by unpacking the given position.
+ mContextMenuInfo = mContextMenuInfoFactory.makeInfoForAdapter(view, position, id, getExpandableListAdapter());
+ return showContextMenuForChild(HomeExpandableListView.this);
+ }
+
+ @Override
+ public ContextMenuInfo getContextMenuInfo() {
+ return mContextMenuInfo;
+ }
+
+ public void setContextMenuInfoFactory(final HomeContextMenuInfo.ExpandableFactory factory) {
+ mContextMenuInfoFactory = factory;
+ }
+}
diff --git a/mobile/android/base/java/org/mozilla/gecko/mma/MmaDelegate.java b/mobile/android/base/java/org/mozilla/gecko/mma/MmaDelegate.java
index fd248df0dd61..1d203d183696 100644
--- a/mobile/android/base/java/org/mozilla/gecko/mma/MmaDelegate.java
+++ b/mobile/android/base/java/org/mozilla/gecko/mma/MmaDelegate.java
@@ -25,6 +25,7 @@ import org.mozilla.gecko.Tab;
import org.mozilla.gecko.Tabs;
import org.mozilla.gecko.fxa.FirefoxAccounts;
import org.mozilla.gecko.preferences.GeckoPreferences;
+import org.mozilla.gecko.push.PushManager;
import org.mozilla.gecko.switchboard.SwitchBoard;
import org.mozilla.gecko.util.ContextUtils;
@@ -74,6 +75,7 @@ public class MmaDelegate {
// we gather the information here then pass to mmaHelper.init()
// Note that generateUserAttribute always return a non null HashMap.
final Map attributes = gatherUserAttributes(activity);
+ mmaHelper.setGcmSenderId(PushManager.getSenderIds());
final String deviceId = getDeviceId(activity);
mmaHelper.setDeviceId(deviceId);
PrefsHelper.setPref(GeckoPreferences.PREFS_MMA_DEVICE_ID, deviceId);
@@ -159,6 +161,10 @@ public class MmaDelegate {
}
}
+ public static String getMmaSenderId() {
+ return mmaHelper.getMmaSenderId();
+ }
+
private static String getDeviceId(Activity activity) {
if (SwitchBoard.isInExperiment(activity, Experiments.LEANPLUM_DEBUG)) {
return DEBUG_LEANPLUM_DEVICE_ID;
diff --git a/mobile/android/base/java/org/mozilla/gecko/mma/MmaInterface.java b/mobile/android/base/java/org/mozilla/gecko/mma/MmaInterface.java
index c5c20ade6090..317922f2fe71 100644
--- a/mobile/android/base/java/org/mozilla/gecko/mma/MmaInterface.java
+++ b/mobile/android/base/java/org/mozilla/gecko/mma/MmaInterface.java
@@ -20,6 +20,8 @@ public interface MmaInterface {
void init(Activity Activity, Map attributes);
+ void setGcmSenderId(String senderIds);
+
void setCustomIcon(@DrawableRes int iconResId);
void start(Context context);
@@ -32,5 +34,7 @@ public interface MmaInterface {
@CheckResult boolean handleGcmMessage(Context context, String from, Bundle bundle);
+ String getMmaSenderId();
+
void setDeviceId(@NonNull String deviceId);
}
diff --git a/mobile/android/base/java/org/mozilla/gecko/mma/MmaLeanplumImp.java b/mobile/android/base/java/org/mozilla/gecko/mma/MmaLeanplumImp.java
index 8da751b3c9b0..b7943f0bc528 100644
--- a/mobile/android/base/java/org/mozilla/gecko/mma/MmaLeanplumImp.java
+++ b/mobile/android/base/java/org/mozilla/gecko/mma/MmaLeanplumImp.java
@@ -46,8 +46,6 @@ public class MmaLeanplumImp implements MmaInterface {
Leanplum.setAppIdForDevelopmentMode(MmaConstants.MOZ_LEANPLUM_SDK_CLIENTID, MmaConstants.MOZ_LEANPLUM_SDK_KEY);
}
- LeanplumPushService.setGcmSenderId(AppConstants.MOZ_ANDROID_GCM_SENDERIDS);
-
if (attributes != null) {
Leanplum.start(activity, attributes);
} else {
@@ -71,6 +69,11 @@ public class MmaLeanplumImp implements MmaInterface {
});
}
+ @Override
+ public void setGcmSenderId(String senderIds) {
+ LeanplumPushService.setGcmSenderId(senderIds);
+ }
+
@Override
public void setCustomIcon(@DrawableRes final int iconResId) {
LeanplumPushService.setCustomizer(new LeanplumPushNotificationCustomizer() {
@@ -114,6 +117,11 @@ public class MmaLeanplumImp implements MmaInterface {
return false;
}
+ @Override
+ public String getMmaSenderId() {
+ return MmaConstants.MOZ_MMA_SENDER_ID;
+ }
+
@Override
public void setDeviceId(@NonNull String deviceId) {
Leanplum.setDeviceId(deviceId);
diff --git a/mobile/android/base/java/org/mozilla/gecko/mma/MmaStubImp.java b/mobile/android/base/java/org/mozilla/gecko/mma/MmaStubImp.java
index b84de3b9d386..fec85177f94c 100644
--- a/mobile/android/base/java/org/mozilla/gecko/mma/MmaStubImp.java
+++ b/mobile/android/base/java/org/mozilla/gecko/mma/MmaStubImp.java
@@ -21,6 +21,11 @@ public class MmaStubImp implements MmaInterface {
}
+ @Override
+ public void setGcmSenderId(String senderIds) {
+
+ }
+
@Override
public void setCustomIcon(@DrawableRes int iconResId) {
@@ -51,6 +56,11 @@ public class MmaStubImp implements MmaInterface {
return false;
}
+ @Override
+ public String getMmaSenderId() {
+ return "";
+ }
+
@Override
public void setDeviceId(@NonNull String deviceId) {
diff --git a/mobile/android/base/java/org/mozilla/gecko/push/PushManager.java b/mobile/android/base/java/org/mozilla/gecko/push/PushManager.java
index 47b18e5d96d3..0522ac2b6139 100644
--- a/mobile/android/base/java/org/mozilla/gecko/push/PushManager.java
+++ b/mobile/android/base/java/org/mozilla/gecko/push/PushManager.java
@@ -57,6 +57,15 @@ public class PushManager {
this.pushClientFactory = pushClientFactory;
}
+ public static String getSenderIds() {
+ final String mmaSenderId = MmaDelegate.getMmaSenderId();
+ if (mmaSenderId != null && mmaSenderId.length() > 0) {
+ return AppConstants.MOZ_ANDROID_GCM_SENDERID + "," + mmaSenderId;
+ } else {
+ return AppConstants.MOZ_ANDROID_GCM_SENDERID;
+ }
+ }
+
public PushRegistration registrationForSubscription(String chid) {
// chids are globally unique, so we're not concerned about finding a chid associated to
// any particular profile.
@@ -244,7 +253,7 @@ public class PushManager {
}
protected @NonNull PushRegistration advanceRegistration(final PushRegistration registration, final @NonNull String profileName, final long now) throws AutopushClientException, PushClient.LocalException, GcmTokenClient.NeedsGooglePlayServicesException, IOException {
- final Fetched gcmToken = gcmClient.getToken(AppConstants.MOZ_ANDROID_GCM_SENDERIDS, registration.debug);
+ final Fetched gcmToken = gcmClient.getToken(getSenderIds(), registration.debug);
final PushClient pushClient = pushClientFactory.getPushClient(registration.autopushEndpoint, registration.debug);
@@ -296,7 +305,7 @@ public class PushManager {
public void startup(long now) {
try {
Log.i(LOG_TAG, "Startup: requesting GCM token.");
- gcmClient.getToken(AppConstants.MOZ_ANDROID_GCM_SENDERIDS, false); // For side-effects.
+ gcmClient.getToken(getSenderIds(), false); // For side-effects.
} catch (GcmTokenClient.NeedsGooglePlayServicesException e) {
// Requires user intervention. At App startup, we don't want to address this. In
// response to user activity, we do want to try to have the user address this.
diff --git a/mobile/android/base/java/org/mozilla/gecko/updater/UpdateService.java b/mobile/android/base/java/org/mozilla/gecko/updater/UpdateService.java
index 0598105fe108..12068c741b3d 100644
--- a/mobile/android/base/java/org/mozilla/gecko/updater/UpdateService.java
+++ b/mobile/android/base/java/org/mozilla/gecko/updater/UpdateService.java
@@ -294,14 +294,12 @@ public class UpdateService extends IntentService {
public void run() {
showPermissionNotification();
sendCheckUpdateResult(CheckUpdateResult.NOT_AVAILABLE);
- }
- })
+ }})
.run(new Runnable() {
@Override
public void run() {
startDownload(info, flags);
- }
- });
+ }});
}
private void startDownload(UpdateInfo info, int flags) {
diff --git a/mobile/android/base/java/org/mozilla/gecko/util/UnusedResourcesUtil.java b/mobile/android/base/java/org/mozilla/gecko/util/UnusedResourcesUtil.java
index 8f68e29ba069..7abe104de8c4 100644
--- a/mobile/android/base/java/org/mozilla/gecko/util/UnusedResourcesUtil.java
+++ b/mobile/android/base/java/org/mozilla/gecko/util/UnusedResourcesUtil.java
@@ -101,8 +101,4 @@ final class UnusedResourcesUtil {
public static final int[] USED_IN_PAGE_ACTION = {
R.drawable.add_to_homescreen
};
-
- public static final int[] USED_IN_LEANPLUM_EXPANDABLE_LIST_ACTIVITY = {
- R.style.Widget_ExpandableListView,
- };
}
diff --git a/mobile/android/base/moz.build b/mobile/android/base/moz.build
index b89f43d0ca2f..2d1aaa90790d 100644
--- a/mobile/android/base/moz.build
+++ b/mobile/android/base/moz.build
@@ -565,6 +565,7 @@ gbjar.sources += ['java/org/mozilla/gecko/' + x for x in [
'db/LocalURLMetadata.java',
'db/LoginsProvider.java',
'db/PasswordsProvider.java',
+ 'db/PerProfileDatabaseProvider.java',
'db/PerProfileDatabases.java',
'db/RemoteClient.java',
'db/RemoteTab.java',
@@ -662,6 +663,7 @@ gbjar.sources += ['java/org/mozilla/gecko/' + x for x in [
'home/HomeConfigLoader.java',
'home/HomeConfigPrefsBackend.java',
'home/HomeContextMenuInfo.java',
+ 'home/HomeExpandableListView.java',
'home/HomeFragment.java',
'home/HomeListView.java',
'home/HomePager.java',
@@ -1160,7 +1162,7 @@ gbjar.extra_jars += [CONFIG['ANDROID_DESIGN_AAR_LIB']]
gbjar.extra_jars += [CONFIG['ANDROID_RECYCLERVIEW_V7_AAR_LIB']]
gbjar.extra_jars += [CONFIG['ANDROID_CUSTOMTABS_AAR_LIB']]
-gbjar.javac_flags += ['-Xlint:all,-deprecation,-fallthrough,-cast', '-J-Xmx512m', '-J-Xms128m']
+gbjar.javac_flags += ['-Xlint:all,-deprecation,-fallthrough', '-J-Xmx512m', '-J-Xms128m']
# gecko-thirdparty is a good place to put small independent libraries
gtjar = add_java_jar('gecko-thirdparty')
diff --git a/mobile/android/app/src/main/res/values-v17/themes.xml b/mobile/android/base/resources/values-v17/themes.xml
similarity index 100%
rename from mobile/android/app/src/main/res/values-v17/themes.xml
rename to mobile/android/base/resources/values-v17/themes.xml
diff --git a/mobile/android/config/mozconfigs/android-api-16/nightly-without-google-play-services b/mobile/android/config/mozconfigs/android-api-16/nightly-without-google-play-services
deleted file mode 100644
index 2d980f1f172c..000000000000
--- a/mobile/android/config/mozconfigs/android-api-16/nightly-without-google-play-services
+++ /dev/null
@@ -1,12 +0,0 @@
-. "$topsrcdir/build/mozconfig.artifact.automation"
-
-. "$topsrcdir/mobile/android/config/mozconfigs/common"
-
-. "$topsrcdir/mobile/android/config/mozconfigs/android-api-16/nightly"
-
-ac_add_options --without-google-play-services
-
-unset MOZ_ANDROID_MMA
-unset MOZ_ANDROID_POCKET
-
-. "$topsrcdir/mobile/android/config/mozconfigs/common.override"
diff --git a/mobile/android/docs/gradle.rst b/mobile/android/docs/gradle.rst
deleted file mode 100644
index 745453ff20b6..000000000000
--- a/mobile/android/docs/gradle.rst
+++ /dev/null
@@ -1,101 +0,0 @@
-.. -*- Mode: rst; fill-column: 80; -*-
-
-=================================
- The Fennec Gradle configuration
-=================================
-
-The Fennec Gradle configuration has three major facets:
-
-1. separation into Gradle projects;
-2. Android-Gradle build configurations using `flavorDimensions`;
-3. integration into the larger `moz.build` build system.
-
-Separation into Gradle projects
-===============================
-
-The Fennec source code is separated into multiple Gradle projects. Right now,
-there are only a few: `:app`, `:geckoview`, `:thirdparty`, etc. Over time, pieces
-of the Fennec source code will be extracted into separate, more-or-less
-stand-alone Gradle projects (e.g., `:services`, `:stumbler`, `:media`) and use
-modern techniques such as dependency injection to configure themselves at
-runtime.
-
-The `:omnijar` project is special and exists only to support integration with
-Android Studio.
-
-The details of the Gradle projects are reflected in the root `settings.gradle`
-and the `**/build.gradle` files throughout the tree.
-
-Android-Gradle build configurations
-===================================
-
-The Fennec `:app` project uses the Android-Gradle build plugin
-`flavorDimensions` feature set to support many different configurations. The
-Gradle integration must support many often conflicting requirements; the flavor
-dimensions chosen support these requirements.
-
-Version 3.0+ of the Android-Gradle build plugin improves support for "variant
-dependencies". This makes it easier for a consuming application (for us,
-`:app`) to use the appropriate configuration of consumed libraries (for us,
-`:geckoview`). This allows us to simplify the logic around packaging the Gecko
-libraries and Omnijar.
-
-The details of the Android-Gradle build configurations are reflected
-`**/build.gradle` files throughout the tree, in the
-`mobile/android/gradle/*.gradle` files, and in the configuration baked into
-`mobile/android/gradle.configure`.
-
-The notable flavor dimensions are:
-
-audience
---------
-
-The `audience` flavor dimension determines who the build is for. "local"
-audiences are developers: they should get extra logging and as much support for
-building Fennec as possible. In particular, "local" audiences get support for
-modifying the Android manifest and regenerating the pre-processed `strings.xml`
-files while building with Gradle from within Android Studio.
-
-"official" audiences are end users: they should get Mozilla's official branding
-and have security-sensitive developer features disabled. The "official"
-audience corresponds roughly to the `MOZILLA_OFFICIAL=1` build setting.
-
-**Builds shipped to the Google Play Store are always for "official" audiences.**
-
-geckoBinaries
--------------
-
-For deep historical reasons, Mozilla's build system has multiple stages, the
-most important of which are the build stage and the package stage. During the
-build stage, the Gecko compiled libraries (e.g., `libxul.so`) and the Omnijar
-have not yet been built. These libraries are only available during the package
-stage. Gradle builds always want to include the Gecko libraries and the
-Omnijar.
-
-To accommodate the different stages, the build stage always invokes
-"withoutGeckoBinaries" Gradle configurations. These configurations don't expect
-or use the Gecko libraries or Omnijar. At the moment, the package stage also
-invokes "withoutGeckoBinaries", but in the future, the package stage will invoke
-"withGeckoBinaries" Gradle configurations to simplify the packaging of libraries
-and the omnijar.
-
-**Local developers almost always want to build "withGeckoBinaries", so that the
-APK files produced can be run on device.**
-
-minApi
-------
-
-At various times in the past, Fennec has supported APK splits, producing APKs
-that support only specific Android versions. While this is not used at this
-time, there are certain developer options (i.e., options that should only apply
-to "local" audiences) that *also* depend on the target Android version. This
-flavor dimension allows to opt in to those options, improving the speed of
-development.
-
-Integration into the larger `moz.build` build system
-====================================================
-
-The details of the Gradle integration into the larger `moz.build` system are
-mostly captured in configuration baked into `mobile/android/gradle.configure`.
-This configuration is reflected in the Android-specific `mach android *`
-commands defined in `mobile/android/mach_commands.py`.
diff --git a/mobile/android/docs/index.rst b/mobile/android/docs/index.rst
index 9a65d19a8393..ec94a05bc59b 100644
--- a/mobile/android/docs/index.rst
+++ b/mobile/android/docs/index.rst
@@ -20,7 +20,6 @@ Contents:
defaultdomains
shutdown
push
- gradle
Indices and tables
==================
diff --git a/mobile/android/docs/mma.rst b/mobile/android/docs/mma.rst
index b80b58099450..7f201f69a117 100644
--- a/mobile/android/docs/mma.rst
+++ b/mobile/android/docs/mma.rst
@@ -202,7 +202,7 @@ To test this locally, add lines like:
export MOZ_ANDROID_MMA=1
ac_add_options --with-leanplum-sdk-keyfile=/path/to/leanplum-sdk-developer.token
-MOZ_ANDROID_MMA depends on MOZ_ANDROID_GOOGLE_PLAY_SERVICES and MOZ_ANDROID_GCM.
+MOZ_ANDROID_MMA depends on MOZ_NATIVE_DEVICES and MOZ_ANDROID_GCM.
Since Leanplum requires Google Play Services library, those flags are a proxy for it, and enable respectively.
We want to enable MOZ_ANDROID_MMA in Nightly, but only for
diff --git a/mobile/android/geckoview/build.gradle b/mobile/android/geckoview/build.gradle
index 2e81365e993a..5df55e1a9330 100644
--- a/mobile/android/geckoview/build.gradle
+++ b/mobile/android/geckoview/build.gradle
@@ -2,8 +2,6 @@ buildDir "${topobjdir}/gradle/build/mobile/android/geckoview"
apply plugin: 'com.android.library'
-apply from: "${topsrcdir}/mobile/android/gradle/product_flavors.gradle"
-
// This converts MOZ_APP_VERSION into an integer
// version code.
//
@@ -40,8 +38,12 @@ def computeVersionCode() {
android {
compileSdkVersion project.ext.compileSdkVersion
+ buildToolsVersion project.ext.buildToolsVersion
defaultConfig {
+ defaultPublishConfig 'release'
+ publishNonDefault true
+
targetSdkVersion project.ext.targetSdkVersion
minSdkVersion project.ext.minSdkVersion
manifestPlaceholders = project.ext.manifestPlaceholders
@@ -101,8 +103,14 @@ android {
buildConfigField 'boolean', 'MOZILLA_OFFICIAL', mozconfig.substs.MOZILLA_OFFICIAL ? 'true' : 'false';
}
- project.configureProductFlavors.delegate = it
- project.configureProductFlavors()
+ buildTypes {
+ withGeckoBinaries {
+ initWith release
+ }
+ withoutGeckoBinaries { // For clarity and consistency throughout the tree.
+ initWith release
+ }
+ }
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
@@ -146,16 +154,21 @@ android {
}
dependencies {
- implementation "com.android.support:support-v4:${mozconfig.substs.ANDROID_SUPPORT_LIBRARY_VERSION}"
- implementation "com.android.support:palette-v7:${mozconfig.substs.ANDROID_SUPPORT_LIBRARY_VERSION}"
+ compile "com.android.support:support-v4:${mozconfig.substs.ANDROID_SUPPORT_LIBRARY_VERSION}"
+ compile "com.android.support:palette-v7:${mozconfig.substs.ANDROID_SUPPORT_LIBRARY_VERSION}"
}
apply from: "${topsrcdir}/mobile/android/gradle/with_gecko_binaries.gradle"
android.libraryVariants.all { variant ->
- // See the notes in mobile/android/app/build.gradle for details on including
- // Gecko binaries and the Omnijar.
- if ((variant.productFlavors*.name).contains('withGeckoBinaries')) {
+ // Like 'debug', 'release', or 'withGeckoBinaries'.
+ def buildType = variant.buildType.name
+
+ // It would be most natural for :geckoview to always include the Gecko
+ // binaries, but that's difficult; see the notes in
+ // mobile/android/gradle/with_gecko_binaries.gradle. Instead :app uses
+ // :geckoview:release and handles it's own Gecko binary inclusion.
+ if (buildType.equals('withGeckoBinaries')) {
configureVariantWithGeckoBinaries(variant)
}
@@ -189,12 +202,12 @@ android.libraryVariants.all { variant ->
options.addStringOption('noqualifier', 'java.lang');
}
- def javadocJar = task("javadocJar${name.capitalize()}", type: Jar, dependsOn: javadoc) {
+ task "javadocJar${name.capitalize()}"(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
- def sourcesJar = task("sourcesJar${name.capitalize()}", type: Jar) {
+ task "sourcesJar${name.capitalize()}"(type: Jar) {
classifier 'sources'
description = "Generate Javadoc for build variant $name"
destinationDir = new File(destinationDir, variant.baseName)
@@ -203,7 +216,7 @@ android.libraryVariants.all { variant ->
}
android.libraryVariants.all { variant ->
- configureLibraryVariantWithJNIWrappers(variant, "Generated")
+ configureVariantWithJNIWrappers(variant, "Generated")
}
apply plugin: 'maven'
@@ -232,7 +245,7 @@ afterEvaluate {
// The bundle tasks are only present when the particular configuration is
// being built, so this task might not exist. (This is due to the way the
// Android Gradle plugin defines things during configuration.)
- def bundleWithGeckoBinaries = tasks.findByName('bundleOfficialWithGeckoBinariesNoMinApiRelease')
+ def bundleWithGeckoBinaries = tasks.findByName('bundleWithGeckoBinaries')
if (!bundleWithGeckoBinaries) {
return
}
@@ -246,10 +259,10 @@ afterEvaluate {
artifacts {
// Instead of default (release) configuration, publish one with Gecko binaries.
- archives bundleOfficialWithGeckoBinariesNoMinApiRelease
+ archives bundleWithGeckoBinaries
// Javadoc and sources for developer ergononomics.
- archives javadocJarOfficialWithGeckoBinariesNoMinApiRelease
- archives sourcesJarOfficialWithGeckoBinariesNoMinApiRelease
+ archives javadocJarWithGeckoBinaries
+ archives sourcesJarWithGeckoBinaries
}
}
diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoHlsPlayer.java b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoHlsPlayer.java
index 0bb3dcf7627f..d5a363a37e9d 100644
--- a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoHlsPlayer.java
+++ b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoHlsPlayer.java
@@ -64,7 +64,7 @@ public class GeckoHlsPlayer implements BaseHlsPlayer, ExoPlayer.EventListener {
private final int mPlayerId;
private boolean mExoplayerSuspended = false;
- private enum MediaDecoderPlayState {
+ private enum MediaDecoderPlayState{
PLAY_STATE_PREPARING,
PLAY_STATE_PAUSED,
PLAY_STATE_PLAYING
diff --git a/mobile/android/geckoview_example/build.gradle b/mobile/android/geckoview_example/build.gradle
index 3743ae5ea9cd..daa984863571 100644
--- a/mobile/android/geckoview_example/build.gradle
+++ b/mobile/android/geckoview_example/build.gradle
@@ -2,10 +2,9 @@ buildDir "${topobjdir}/gradle/build/mobile/android/geckoview_example"
apply plugin: 'com.android.application'
-apply from: "${topsrcdir}/mobile/android/gradle/product_flavors.gradle"
-
android {
compileSdkVersion project.ext.compileSdkVersion
+ buildToolsVersion project.ext.buildToolsVersion
defaultConfig {
targetSdkVersion project.ext.targetSdkVersion
@@ -18,27 +17,52 @@ android {
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
+ // This is extremely frustrating, but the only way to do it automation for
+ // now. Without this, we only get a "debugAndroidTest" configuration; we
+ // have no "withoutGeckoBinariesAndroidTest" configuration.
+ testBuildType "withoutGeckoBinaries"
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
+ withGeckoBinaries { // For consistency with :geckoview project in Task Cluster invocations.
+ initWith debug
+ }
+ withoutGeckoBinaries { // Logical negation of withGeckoBinaries.
+ initWith debug
+ }
}
-
- project.configureProductFlavors.delegate = it
- project.configureProductFlavors()
}
dependencies {
- testImplementation 'junit:junit:4.12'
+ testCompile 'junit:junit:4.12'
- implementation 'com.android.support:support-annotations:23.4.0'
+ compile 'com.android.support:support-annotations:23.4.0'
- androidTestImplementation 'com.android.support.test.espresso:espresso-core:2.2.2'
- androidTestImplementation 'com.android.support.test:runner:0.5'
+ androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
+ androidTestCompile 'com.android.support.test:runner:0.5'
// Not defining this library again results in test-app assuming 23.1.1, and the following errors:
// "Conflict with dependency 'com.android.support:support-annotations'. Resolved versions for app (23.4.0) and test app (23.1.1) differ."
- androidTestImplementation 'com.android.support:support-annotations:23.4.0'
+ androidTestCompile 'com.android.support:support-annotations:23.4.0'
- implementation project(path: ':geckoview')
+ debugCompile project(path: ':geckoview', configuration: "debug")
+ releaseCompile project(path: ':geckoview', configuration: "release")
+ withGeckoBinariesCompile project(path: ':geckoview', configuration: "withGeckoBinaries")
+ withoutGeckoBinariesCompile project(path: ':geckoview', configuration: "withoutGeckoBinaries")
+}
+
+apply from: "${topsrcdir}/mobile/android/gradle/with_gecko_binaries.gradle"
+
+android.applicationVariants.all { variant ->
+ // Like 'debug', 'release', or 'withoutGeckoBinaries'.
+ def buildType = variant.buildType.name
+
+ // It would be most natural for :geckoview to always include the Gecko
+ // binaries, but that's difficult; see the notes in
+ // mobile/android/gradle/with_gecko_binaries.gradle. Instead we handle our
+ // own Gecko binary inclusion.
+ if (!buildType.equals('withoutGeckoBinaries')) {
+ configureVariantWithGeckoBinaries(variant)
+ }
}
diff --git a/mobile/android/gradle.configure b/mobile/android/gradle.configure
index 47416e40db33..926c63557857 100644
--- a/mobile/android/gradle.configure
+++ b/mobile/android/gradle.configure
@@ -46,6 +46,9 @@ def gradle_android_build_config():
else:
return s
+ # It's not really possible to abstract the GeckoView details just yet; post
+ # Android-Gradle plugin 3.0+, the configurations can be more sensible and
+ # we'll do this work.
def variant(productFlavors, buildType):
return namespace(
productFlavors=productFlavors,
@@ -56,13 +59,7 @@ def gradle_android_build_config():
return namespace(
app=namespace(
- variant=variant(('official', 'withoutGeckoBinaries', 'noMinApi', 'photon'), 'debug'),
- ),
- geckoview=namespace(
- variant=variant(('official', 'withGeckoBinaries', 'noMinApi'), 'release'),
- ),
- geckoview_example=namespace(
- variant=variant(('official', 'withGeckoBinaries', 'noMinApi'), 'debug'),
+ variant=variant(('official', 'photon'), 'debug'),
),
)
@@ -85,7 +82,7 @@ set_config('GRADLE_ANDROID_APP_VARIANT_NAME', gradle_android_app_variant_name)
def gradle_android_app_tasks(build_config):
'''Gradle tasks run by |mach android assemble-app|.'''
return [
- 'geckoview:generateJNIWrappersForGenerated{geckoview.variant.name}'.format(geckoview=build_config.geckoview),
+ 'geckoview:generateJNIWrappersForGeneratedRelease',
'app:generateJNIWrappersForFennec{app.variant.name}'.format(app=build_config.app),
'app:assemble{app.variant.name}'.format(app=build_config.app),
'app:assemble{app.variant.name}AndroidTest'.format(app=build_config.app),
@@ -95,39 +92,14 @@ set_config('GRADLE_ANDROID_APP_TASKS', gradle_android_app_tasks)
@depends(gradle_android_build_config, check_build_environment)
-@imports(_from='itertools', _import='imap')
def gradle_android_app_apks(build_config, build_env):
'''Paths to APK files produced by |mach android assemble-app|.'''
- def capitalize(s):
- # str.capitalize lower cases trailing letters.
- if s:
- return s[0].upper() + s[1:]
- else:
- return s
-
- def uncapitalize(s):
- if s:
- return s[0].lower() + s[1:]
- else:
- return s
-
- # Like 'officialPhoton'.
- productFlavor = uncapitalize(''.join(imap(capitalize, build_config.app.variant.productFlavors)))
- # Like 'official-photon'.
- product_flavor = '-'.join(build_config.app.variant.productFlavors)
-
- substs = {
- 'topobjdir': build_env.topobjdir,
- 'productFlavor': productFlavor,
- 'product_flavor': product_flavor,
- 'buildType': build_config.app.variant.buildType,
- }
-
- f = '{topobjdir}/gradle/build/mobile/android/app/outputs/apk/{productFlavor}/{buildType}/app-{product_flavor}-{buildType}.apk'
- g = '{topobjdir}/gradle/build/mobile/android/app/outputs/apk/androidTest/{productFlavor}/{buildType}/app-{product_flavor}-{buildType}-androidTest.apk'
-
- return namespace(app_apk=f.format(**substs),
- app_androidTest_apk=g.format(**substs))
+ flavor = '-'.join(build_config.app.variant.productFlavors)
+ buildType = build_config.app.variant.buildType
+ f = '{}/gradle/build/mobile/android/app/outputs/apk/app-{}-{}.apk'
+ g = '{}/gradle/build/mobile/android/app/outputs/apk/app-{}-{}-androidTest.apk'
+ return namespace(app_apk=f.format(build_env.topobjdir, flavor, buildType),
+ app_androidTest_apk=g.format(build_env.topobjdir, flavor, buildType))
set_config('GRADLE_ANDROID_APP_APK', gradle_android_app_apks.app_apk)
set_config('GRADLE_ANDROID_APP_ANDROIDTEST_APK', gradle_android_app_apks.app_androidTest_apk)
@@ -174,13 +146,13 @@ def gradle_android_findbugs_tasks(build_config):
set_config('GRADLE_ANDROID_FINDBUGS_TASKS', gradle_android_findbugs_tasks)
-@depends(gradle_android_build_config)
-def gradle_android_archive_geckoview_tasks(build_config):
+@dependable
+def gradle_android_archive_geckoview_tasks():
'''Gradle tasks run by |mach android archive-geckoview|.'''
return [
- 'geckoview:assemble{geckoview.variant.name}'.format(geckoview=build_config.geckoview),
- 'geckoview_example:assemble{geckoview_example.variant.name}'.format(geckoview_example=build_config.geckoview_example),
- 'geckoview_example:assemble{geckoview_example.variant.name}AndroidTest'.format(geckoview_example=build_config.geckoview_example),
+ 'geckoview:assembleWithGeckoBinaries',
+ 'geckoview_example:assembleWithGeckoBinaries',
+ 'geckoview_example:assembleWithGeckoBinariesAndroidTest',
'geckoview:uploadArchives',
]
diff --git a/mobile/android/gradle/debug_level.gradle b/mobile/android/gradle/debug_level.gradle
index c9f8f232a201..e02dbcbc3895 100644
--- a/mobile/android/gradle/debug_level.gradle
+++ b/mobile/android/gradle/debug_level.gradle
@@ -5,13 +5,16 @@
// Bug 1353055 - Strip 'vars' debugging information to agree with moz.build.
ext.configureVariantDebugLevel = { variant ->
- // Like 'debug' or 'release'.
+ // Like 'debug', 'release', or 'withGeckoBinaries'.
def buildType = variant.buildType.name
+ // For :app, like 'local', 'localOld', or 'official'. For other projects, null.
+ def audienceDimension = variant.productFlavors[0]?.name
+
// The default is 'lines,source,vars', which includes debugging information
// that is quite large: roughly 500kb for Fennec. Therefore we remove
// 'vars' unless we're producing a debug build, where it is useful.
- if (!'debug'.equals(buildType) || (variant.productFlavors*.name).contains('official')) {
+ if (!'debug'.equals(buildType) || 'official'.equals(audienceDimension)) {
variant.javaCompile.options.debugOptions.debugLevel = 'lines,source'
}
}
diff --git a/mobile/android/gradle/product_flavors.gradle b/mobile/android/gradle/product_flavors.gradle
deleted file mode 100644
index 4adf049fd4b1..000000000000
--- a/mobile/android/gradle/product_flavors.gradle
+++ /dev/null
@@ -1,48 +0,0 @@
-/* -*- Mode: Groovy; 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/. */
-
-ext.configureProductFlavors = {
- flavorDimensions "audience", "geckoBinaries", "minApi"
- productFlavors {
- local {
- dimension "audience"
- }
-
- // Automation builds. We use "official" rather than "automation" to drive these builds down
- // the list of configurations that Android Studio offers, thereby making it _not_ the
- // default. This avoids a common issue with "omni.ja" not being packed into the default APK
- // built and deployed by Android Studio.
- official {
- dimension "audience"
- }
-
- withGeckoBinaries {
- dimension "geckoBinaries"
- }
-
- withoutGeckoBinaries {
- dimension "geckoBinaries"
- }
-
- // For API 21+ - with pre-dexing, this will be faster for local development.
- minApi21 {
- dimension "minApi"
-
- // For pre-dexing, setting `minSdkVersion 21` allows the Android gradle plugin to
- // pre-DEX each module and produce an APK that can be tested on
- // Android Lollipop without time consuming DEX merging processes.
- minSdkVersion 21
- dexOptions {
- preDexLibraries true
- }
- }
-
- // For API < 21 - does not support pre-dexing because local development
- // is slow in that case.
- noMinApi {
- dimension "minApi"
- }
- }
-}
diff --git a/mobile/android/gradle/with_gecko_binaries.gradle b/mobile/android/gradle/with_gecko_binaries.gradle
index 3128aa8f274f..9b8bc53074f1 100644
--- a/mobile/android/gradle/with_gecko_binaries.gradle
+++ b/mobile/android/gradle/with_gecko_binaries.gradle
@@ -1,22 +1,46 @@
-/* -*- Mode: Groovy; c-basic-offset: 4; tab-width: 20; indent-tabs-mode: nil; -*-
+/* -*- 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/. */
+// We run fairly hard into a fundamental limitation of the Android Gradle
+// plugin. There are many bugs filed about this, but
+// https://code.google.com/p/android/issues/detail?id=216978#c6 is a reason one.
+// The issue is that we need fine-grained control over when to include Gecko's
+// binary libraries into the GeckoView AAR and the Fennec APK, and that's hard
+// to achieve. In particular:
+//
+// * :app:official* wants :geckoview to not include Gecko binaries (official
+// * automation build, before package)
+//
+// * :geckoview:withLibraries wants :geckoview to include Gecko binaries
+// * (automation build, after package)
+//
+// * non-:app:official* wants :geckoview to include Gecko binaries (local
+// * build, always after package)
+//
+// publishNonDefault (see
+// http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Library-Publication)
+// is intended to address this, but doesn't handle our case. That option always
+// builds *all* configurations, which fails when the required Gecko binaries
+// don't exist (automation build, before package). So instead, we make both
+// :app and :geckoview both know how to include the Gecko binaries, and use a
+// non-default, non-published :geckoview:withGeckoBinaries configuration to
+// handle automation's needs. Simple, right?
+
// The omnijar inputs are listed as resource directory inputs to a dummy JAR.
// That arrangement labels them nicely in IntelliJ. See the comment in the
// :omnijar project for more context.
evaluationDependsOn(':omnijar')
-task buildOmnijars(type:Exec) {
+task buildOmnijar(type:Exec) {
dependsOn rootProject.generateCodeAndResources
// See comment in :omnijar project regarding interface mismatches here.
inputs.file(project(':omnijar').sourceSets.main.resources.srcDirs).skipWhenEmpty()
- // Produce both the Fennec and the GeckoView omnijars.
+ // Produce a single output file.
outputs.file "${topobjdir}/dist/fennec/assets/omni.ja"
- outputs.file "${topobjdir}/dist/geckoview/assets/omni.ja"
workingDir "${topobjdir}"
@@ -36,85 +60,97 @@ task buildOmnijars(type:Exec) {
}
}
-ext.configureVariantWithGeckoBinaries = { variant ->
- // :app needs the full Fennec omni.ja, whereas other projects need the
- // GeckoView-specific omni.ja.
+task syncOmnijarFromDistDir(type: Sync) {
+ // :app needs the full Fennec omni.ja, whereas other projects need the GeckoView-specific omni.ja.
def omnijar_dir = "app".equals(project.name) ? "fennec" : "geckoview"
- def distDir = "${topobjdir}/dist/${omnijar_dir}"
-
- def syncOmnijarFromDistDir = task("syncOmnijarFromDistDirFor${variant.name.capitalize()}", type: Sync) {
- doFirst {
- if (source.empty) {
- throw new GradleException("Required omnijar not found in ${source.asPath}. Have you built and packaged?")
- }
- }
-
- into("${project.buildDir}/moz.build/src/${variant.name}/omnijar")
- from("${distDir}/omni.ja",
- "${distDir}/assets/omni.ja") {
- // Throw an exception if we find multiple, potentially conflicting omni.ja files.
- duplicatesStrategy 'fail'
- }
- }
-
- def syncLibsFromDistDir = task("syncLibsFromDistDirFor${variant.name.capitalize()}", type: Sync) {
- doFirst {
- if (source.empty) {
- throw new GradleException("Required JNI libraries not found in ${source.asPath}. Have you built and packaged?")
- }
- }
-
- into("${project.buildDir}/moz.build/src/${variant.name}/jniLibs")
- from("${distDir}/lib")
- }
-
- def syncAssetsFromDistDir = task("syncAssetsFromDistDirFor${variant.name.capitalize()}", type: Sync) {
- doFirst {
- if (source.empty) {
- throw new GradleException("Required assets not found in ${source.asPath}. Have you built and packaged?")
- }
- }
-
- into("${project.buildDir}/moz.build/src/${variant.name}/assets")
- from("${distDir}/assets") {
- exclude 'omni.ja'
- }
- }
-
- // Local (read, not 'official') builds want to reflect developer changes to
- // the Omnijar sources. To do this, the Gradle build calls out to the
- // moz.build system, which can be re-entrant. Official builds are driven by
- // the moz.build system and should never be re-entrant in this way.
- if (!((variant.productFlavors*.name).contains('official'))) {
- syncOmnijarFromDistDir.dependsOn buildOmnijars
- }
-
- def assetGenTask = tasks.findByName("generate${variant.name.capitalize()}Assets")
- if ((variant.productFlavors*.name).contains('withGeckoBinaries')) {
- assetGenTask.dependsOn syncOmnijarFromDistDir
- assetGenTask.dependsOn syncLibsFromDistDir
- assetGenTask.dependsOn syncAssetsFromDistDir
-
- android.sourceSets."${variant.name}".assets.srcDir syncOmnijarFromDistDir.destinationDir
- android.sourceSets."${variant.name}".assets.srcDir syncAssetsFromDistDir.destinationDir
- android.sourceSets."${variant.name}".jniLibs.srcDir syncLibsFromDistDir.destinationDir
+ into("${project.buildDir}/generated/omnijar")
+ from("${topobjdir}/dist/${omnijar_dir}/omni.ja",
+ "${topobjdir}/dist/${omnijar_dir}/assets/omni.ja") {
+ // Throw an exception if we find multiple, potentially conflicting omni.ja files.
+ duplicatesStrategy 'fail'
}
}
-ext.configureLibraryVariantWithJNIWrappers = { variant, module ->
- // Library variants have two essentially independent transform* tasks:
+task checkLibsExistInDistDir {
+ doLast {
+ if (syncLibsFromDistDir.source.empty) {
+ throw new GradleException("Required JNI libraries not found in ${topobjdir}/dist/fennec/lib. Have you built and packaged?")
+ }
+ }
+}
+
+task syncLibsFromDistDir(type: Sync, dependsOn: checkLibsExistInDistDir) {
+ into("${project.buildDir}/generated/jniLibs")
+ from("${topobjdir}/dist/fennec/lib")
+}
+
+task checkAssetsExistInDistDir {
+ doLast {
+ if (syncAssetsFromDistDir.source.empty) {
+ throw new GradleException("Required assets not found in ${topobjdir}/dist/fennec/assets. Have you built and packaged?")
+ }
+ }
+}
+
+task syncAssetsFromDistDir(type: Sync, dependsOn: checkAssetsExistInDistDir) {
+ into("${project.buildDir}/generated/assets")
+ from("${topobjdir}/dist/fennec/assets") {
+ exclude 'omni.ja'
+ }
+}
+
+ext.configureVariantWithGeckoBinaries = { variant ->
+ // Like 'localPhoton' or 'localOldPhoton'; may be null.
+ def productFlavor = ""
+ def productFlavorNames = variant.productFlavors.collect { it.name.capitalize() }
+ if (!productFlavorNames.isEmpty()) {
+ productFlavor = productFlavorNames.join()
+ // Groovy's `uncapitilize` is not yet available.
+ def c = productFlavor.toCharArray()
+ c[0] = Character.toLowerCase(c[0])
+ productFlavor = new String(c)
+ }
+
+ // Like 'debug' or 'release'.
+ def buildType = variant.buildType.name
+
+ syncOmnijarFromDistDir.dependsOn buildOmnijar
+ def generateAssetsTask = tasks.findByName("generate${productFlavor.capitalize()}${buildType.capitalize()}Assets")
+ generateAssetsTask.dependsOn syncOmnijarFromDistDir
+ generateAssetsTask.dependsOn syncLibsFromDistDir
+ generateAssetsTask.dependsOn syncAssetsFromDistDir
+
+ def sourceSet = productFlavor ? "${productFlavor}${buildType.capitalize()}" : buildType
+ android.sourceSets."${sourceSet}".assets.srcDir syncOmnijarFromDistDir.destinationDir
+ android.sourceSets."${sourceSet}".assets.srcDir syncAssetsFromDistDir.destinationDir
+ android.sourceSets."${sourceSet}".jniLibs.srcDir syncLibsFromDistDir.destinationDir
+}
+
+ext.configureVariantWithJNIWrappers = { variant, module ->
+ def jarTask
+ if (module == 'Generated') {
+ jarTask = tasks["package${variant.name.capitalize()}JarArtifact"]
+ } else {
+ jarTask = tasks["jar${variant.name.capitalize()}Classes"]
+ }
+
+ if (jarTask.outputs.files.size() != 1) {
+ throw new GradleException("Jar task output multiple files other than one single jar")
+ }
+
+ // At configuration time, the classpath of dependencies with internal_impl
+ // JAR files may not be correct. This manifests in
//
- // - ...WithSyncLibJars... is used by assemble* and bundle*
- // - ...WithPrepareIntermediateJars... is used by consuming applications.
+ // 'Exception in thread "main" java.lang.NoClassDefFoundError: android/support/v4/app/ActivityCompatApi23$RequestPermissionsRequestCodeValidator'
//
- // It's not really possible to insert something immediately _after_
- // ...WithPrepareIntermediateJars..., so we make the consuming moz.build
- // system invoke this target directly, and force the
- // ...WithPrepareIntermediateJars... dependency. The real consumer of the
- // JNI wrappers is the moz.build system, which always builds geckoview to
- // consume from Fennec, so that dependency likely adds less to the build time.
- def jarTask = tasks["transformClassesAndResourcesWithPrepareIntermediateJarsFor${variant.name.capitalize()}"]
- def output = jarTask.outputs.files.find({ it.absolutePath.contains('/classes.jar') })
+ // when running |mach gradle clean app:generateJNI...|. We work around this
+ // by configuring the classpath at evaluation-time, not configuration-time.
+ //
+ // The specific dependency on the `prepareDependencies` task may not be
+ // necessary, but commits like
+ // https://github.com/evant/gradle-retrolambda/commit/15108c65ee43be499a1359d9d4f88b0851d46769
+ // suggest that it is. It certainly doesn't hurt.
+ def prepareDependenciesTask = tasks.getByName("prepare${variant.name.capitalize()}Dependencies")
def wrapperTask
if (System.env.IS_LANGUAGE_REPACK == '1') {
@@ -124,7 +160,7 @@ ext.configureLibraryVariantWithJNIWrappers = { variant, module ->
} else {
wrapperTask = task("generateJNIWrappersFor${module}${variant.name.capitalize()}", type: JavaExec) {
classpath "${topobjdir}/build/annotationProcessors/annotationProcessors.jar"
-
+
// Configure the classpath at evaluation-time, not at
// configuration-time: see above comment.
doFirst {
@@ -135,11 +171,12 @@ ext.configureLibraryVariantWithJNIWrappers = { variant, module ->
main = 'org.mozilla.gecko.annotationProcessors.AnnotationProcessor'
args module
- args output
-
+ args jarTask.outputs.files.iterator().next()
+
workingDir "${topobjdir}/mobile/android/base"
-
+
dependsOn jarTask
+ dependsOn prepareDependenciesTask
}
}
@@ -149,36 +186,3 @@ ext.configureLibraryVariantWithJNIWrappers = { variant, module ->
tasks["assemble${variant.name.capitalize()}"].dependsOn wrapperTask
}
}
-
-ext.configureApplicationVariantWithJNIWrappers = { variant, module ->
- def jarTask = tasks["bundleAppClasses${variant.name.capitalize()}"]
- def output = jarTask.outputs.files.find({ it.absolutePath.contains('/classes.jar') })
-
- def wrapperTask
- if (System.env.IS_LANGUAGE_REPACK == '1') {
- // Single-locale l10n repacks set `IS_LANGUAGE_REPACK=1` and don't
- // really have a build environment.
- wrapperTask = task("generateJNIWrappersFor${module}${variant.name.capitalize()}")
- } else {
- wrapperTask = task("generateJNIWrappersFor${module}${variant.name.capitalize()}", type: JavaExec) {
- classpath "${topobjdir}/build/annotationProcessors/annotationProcessors.jar"
-
- // Configure the classpath at evaluation-time, not at
- // configuration-time: see above comment.
- doFirst {
- classpath variant.javaCompile.classpath
- // Include android.jar.
- classpath variant.javaCompile.options.bootClasspath
- }
-
- main = 'org.mozilla.gecko.annotationProcessors.AnnotationProcessor'
- args module
- args output
-
- workingDir "${topobjdir}/mobile/android/base"
-
- // This forces bundling, which isn't usually part of the assemble* process.
- dependsOn jarTask
- }
- }
-}
diff --git a/mobile/android/mach_commands.py b/mobile/android/mach_commands.py
index c3c697851b09..f29c52cd294b 100755
--- a/mobile/android/mach_commands.py
+++ b/mobile/android/mach_commands.py
@@ -414,9 +414,7 @@ class MachCommands(MachCommandBase):
# $JAVA_HOME/bin/java into $JAVA_HOME.
java_home = os.path.dirname(os.path.dirname(self.substs['JAVA']))
- gradle_flags = self.substs.get('GRADLE_FLAGS', '') or \
- os.environ.get('GRADLE_FLAGS', '')
- gradle_flags = shell_split(gradle_flags)
+ gradle_flags = shell_split(self.substs.get('GRADLE_FLAGS', ''))
# We force the Gradle JVM to run with the UTF-8 encoding, since we
# filter strings.xml, which is really UTF-8; the ellipsis character is
diff --git a/mobile/android/moz.configure b/mobile/android/moz.configure
index 034810e966dc..11ee3a5f33af 100644
--- a/mobile/android/moz.configure
+++ b/mobile/android/moz.configure
@@ -8,41 +8,25 @@ project_flag('MOZ_ANDROID_EXCLUDE_FONTS',
help='Whether to exclude font files from the build',
default=True)
-option('--with-google-play-services',
- help='Enable features that depend on non-free Google Play Services',
- default=True)
-
-@depends('--with-google-play-services')
-def google_play_services(value):
- return bool(value)
-
-set_config('MOZ_ANDROID_GOOGLE_PLAY_SERVICES', depends_if(google_play_services)(lambda _: True))
-
-set_config('ANDROID_GOOGLE_PLAY_SERVICES_VERSION', '8.4.0')
-add_old_configure_assignment('ANDROID_GOOGLE_PLAY_SERVICES_VERSION', '8.4.0')
-
-option(env='MOZ_ANDROID_GCM',
- help='Enable GCM (Google Cloud Messaging) registration',
- default=google_play_services)
-
-set_config('MOZ_ANDROID_GCM',
- depends_if('MOZ_ANDROID_GCM')(lambda _: True))
-add_old_configure_assignment('MOZ_ANDROID_GCM',
- depends_if('MOZ_ANDROID_GCM')(lambda _: True))
+project_flag('MOZ_ANDROID_GCM',
+ help='Enable GCM (Google Cloud Messaging) registration',
+ default=True,
+ set_for_old_configure=True)
option(env='MOZ_NATIVE_DEVICES',
help='Enable second screen support using native Android libraries.',
- default=google_play_services)
+ default=True)
set_config('MOZ_NATIVE_DEVICES',
depends_if('MOZ_NATIVE_DEVICES')(lambda _: True))
add_old_configure_assignment('MOZ_NATIVE_DEVICES',
depends_if('MOZ_NATIVE_DEVICES')(lambda _: True))
-# Enable install tracking SDK if we have Google Play support.
-@depends(milestone, google_play_services, '--help')
-def install_tracking_default(milestone, google_play_services, help):
- return bool(milestone.is_release_or_beta and google_play_services)
+# Enable install tracking SDK if we have Google Play support; MOZ_NATIVE_DEVICES
+# is a proxy flag for that support.
+@depends(milestone, 'MOZ_NATIVE_DEVICES', '--help')
+def install_tracking_default(milestone, native_devices, help):
+ return bool(milestone.is_release_or_beta and native_devices)
option(env='MOZ_INSTALL_TRACKING',
help='Enable install tracking (currently using the Adjust SDK).',
@@ -119,6 +103,9 @@ imply_option('--enable-small-chunk-size', True)
set_config('ANDROID_SUPPORT_LIBRARY_VERSION', '23.4.0')
add_old_configure_assignment('ANDROID_SUPPORT_LIBRARY_VERSION', '23.4.0')
+set_config('ANDROID_GOOGLE_PLAY_SERVICES_VERSION', '8.4.0')
+add_old_configure_assignment('ANDROID_GOOGLE_PLAY_SERVICES_VERSION', '8.4.0')
+
@depends(target)
def check_target(target):
if target.os != 'Android':
@@ -133,13 +120,13 @@ include('../../build/moz.configure/java.configure')
include('gradle.configure')
# Must come after the ../../toolkit/moz.configure.
-@depends('MOZ_INSTALL_TRACKING', google_play_services, '--with-adjust-sdk-keyfile')
+@depends('MOZ_INSTALL_TRACKING', 'MOZ_NATIVE_DEVICES', '--with-adjust-sdk-keyfile')
def check_install_tracking(install_tracking,
- google_play_services,
+ native_devices,
adjust_sdk_keyfile):
if install_tracking:
- if not google_play_services:
- die('You must specify --with-google-play-services when'
+ if not native_devices:
+ die('You must specify MOZ_NATIVE_DEVICES=1 when'
' building with MOZ_INSTALL_TRACKING=1')
if not adjust_sdk_keyfile:
die('You must specify --with-adjust-sdk-keyfile=/path/to/keyfile when'
@@ -147,16 +134,16 @@ def check_install_tracking(install_tracking,
# Must come after the ../../toolkit/moz.configure.
@depends('MOZ_ANDROID_MMA',
- google_play_services,
+ 'MOZ_NATIVE_DEVICES',
'MOZ_ANDROID_GCM',
'--with-leanplum-sdk-keyfile')
def check_android_mma(android_mma,
- google_play_services,
+ native_devices,
android_gcm,
leanplum_sdk_keyfile):
if android_mma:
- if not google_play_services:
- die('You must specify --with-google-play-services when'
+ if not native_devices:
+ die('You must specify MOZ_NATIVE_DEVICES=1 when'
' building with MOZ_ANDROID_MMA=1')
if not android_gcm:
die('You must specify MOZ_ANDROID_GCM=1 when'
@@ -171,12 +158,3 @@ def check_android_pocket(android_pocket, pocket_api_keyfile):
if android_pocket and not pocket_api_keyfile:
die('You must specify --with-pocket-api-keyfile=/path/to/keyfile when'
' building with MOZ_ANDROID_POCKET=1')
-
-# Must come after the ../../toolkit/moz.configure.
-@depends('MOZ_ANDROID_GCM', google_play_services)
-def check_android_gcm(android_gcm,
- google_play_services):
- if android_gcm:
- if not google_play_services:
- die('You must specify --with-google-play-services when'
- ' building with MOZ_ANDROID_GCM=1')
diff --git a/mobile/android/services/src/test/java/org/mozilla/gecko/background/db/DelegatingTestContentProvider.java b/mobile/android/services/src/test/java/org/mozilla/gecko/background/db/DelegatingTestContentProvider.java
index ed970cc400ca..b1d52f49dbd2 100644
--- a/mobile/android/services/src/test/java/org/mozilla/gecko/background/db/DelegatingTestContentProvider.java
+++ b/mobile/android/services/src/test/java/org/mozilla/gecko/background/db/DelegatingTestContentProvider.java
@@ -8,19 +8,13 @@ import android.content.ContentProvider;
import android.content.ContentProviderOperation;
import android.content.ContentProviderResult;
import android.content.ContentValues;
-import android.content.Context;
import android.content.OperationApplicationException;
-import android.content.pm.ProviderInfo;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.support.annotation.Nullable;
import org.mozilla.gecko.db.BrowserContract;
-import org.mozilla.gecko.db.BrowserProvider;
-import org.mozilla.gecko.db.TabsProvider;
-import org.robolectric.android.controller.ContentProviderController;
-import org.robolectric.util.ReflectionHelpers;
import java.util.ArrayList;
@@ -28,54 +22,17 @@ import java.util.ArrayList;
* Wrap a ContentProvider, appending &test=1 to all queries.
*/
public class DelegatingTestContentProvider extends ContentProvider {
- protected ContentProvider mTargetProvider;
+ protected final ContentProvider mTargetProvider;
protected static Uri appendUriParam(Uri uri, String param, String value) {
return uri.buildUpon().appendQueryParameter(param, value).build();
}
- /**
- * Create and register a new BrowserProvider that has test delegation.
- *
- * Robolectric doesn't make it easy to parameterize a created
- * ContentProvider, so we modify a built-in helper to do it.
- * @return delegated ContentProvider.
- */
- public static ContentProvider createDelegatingBrowserProvider() {
- final ContentProviderController contentProviderController
- = ContentProviderController.of(ReflectionHelpers.callConstructor(DelegatingTestContentProvider.class,
- ReflectionHelpers.ClassParameter.from(ContentProvider.class, new BrowserProvider())));
- return contentProviderController.create(BrowserContract.AUTHORITY).get();
- }
-
- /**
- * Create and register a new TabsProvider that has test delegation.
- *
- * Robolectric doesn't make it easy to parameterize a created
- * ContentProvider, so we modify a built-in helper to do it.
- * @return delegated ContentProvider.
- */
- public static ContentProvider createDelegatingTabsProvider() {
- final ContentProviderController contentProviderController
- = ContentProviderController.of(ReflectionHelpers.callConstructor(DelegatingTestContentProvider.class,
- ReflectionHelpers.ClassParameter.from(ContentProvider.class, new TabsProvider())));
- return contentProviderController.create(BrowserContract.TABS_AUTHORITY).get();
- }
-
public DelegatingTestContentProvider(ContentProvider targetProvider) {
super();
mTargetProvider = targetProvider;
}
- public void attachInfo(Context context, ProviderInfo info) {
- // With newer Robolectric versions, we must create the target provider
- // before calling into super. If we don't do this, the target
- // provider's onCreate() will witness a null getContext(), which the
- // Android documentation guarantees never happens on device.
- mTargetProvider.attachInfo(context, null);
- super.attachInfo(context, info);
- }
-
private Uri appendTestParam(Uri uri) {
return appendUriParam(uri, BrowserContract.PARAM_IS_TEST, "1");
}
@@ -131,10 +88,6 @@ public class DelegatingTestContentProvider extends ContentProvider {
return mTargetProvider.call(method, arg, extras);
}
- public void shutdown() {
- mTargetProvider.shutdown();
- }
-
public ContentProvider getTargetProvider() {
return mTargetProvider;
}
diff --git a/mobile/android/services/src/test/java/org/mozilla/gecko/background/db/TestTabsProvider.java b/mobile/android/services/src/test/java/org/mozilla/gecko/background/db/TestTabsProvider.java
index d6f36d8e1969..4ae48dea8248 100644
--- a/mobile/android/services/src/test/java/org/mozilla/gecko/background/db/TestTabsProvider.java
+++ b/mobile/android/services/src/test/java/org/mozilla/gecko/background/db/TestTabsProvider.java
@@ -3,7 +3,6 @@
package org.mozilla.gecko.background.db;
-import android.content.ContentProvider;
import android.content.ContentProviderClient;
import android.content.ContentValues;
import android.database.Cursor;
@@ -18,6 +17,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mozilla.gecko.background.testhelpers.TestRunner;
import org.mozilla.gecko.db.BrowserContract;
+import org.mozilla.gecko.db.TabsProvider;
import org.mozilla.gecko.sync.repositories.android.BrowserContractHelpers;
import org.mozilla.gecko.sync.repositories.android.FennecTabsRepository;
import org.mozilla.gecko.sync.repositories.domain.TabsRecord;
@@ -35,11 +35,13 @@ public class TestTabsProvider {
protected Tab testTab2;
protected Tab testTab3;
- protected ContentProvider provider;
+ protected TabsProvider provider;
@Before
public void setUp() {
- provider = DelegatingTestContentProvider.createDelegatingTabsProvider();
+ provider = new TabsProvider();
+ provider.onCreate();
+ ShadowContentResolver.registerProvider(BrowserContract.TABS_AUTHORITY, new DelegatingTestContentProvider(provider));
}
@After
diff --git a/mobile/android/services/src/test/java/org/mozilla/gecko/background/testhelpers/MockGlobalSession.java b/mobile/android/services/src/test/java/org/mozilla/gecko/background/testhelpers/MockGlobalSession.java
index 948248a05a82..63afdd1ac054 100644
--- a/mobile/android/services/src/test/java/org/mozilla/gecko/background/testhelpers/MockGlobalSession.java
+++ b/mobile/android/services/src/test/java/org/mozilla/gecko/background/testhelpers/MockGlobalSession.java
@@ -13,8 +13,6 @@ import org.mozilla.gecko.sync.net.BasicAuthHeaderProvider;
import org.mozilla.gecko.sync.stage.CompletedStage;
import org.mozilla.gecko.sync.stage.GlobalSyncStage;
import org.mozilla.gecko.sync.stage.GlobalSyncStage.Stage;
-import org.robolectric.Robolectric;
-import org.robolectric.RuntimeEnvironment;
import java.io.IOException;
import java.util.HashMap;
@@ -28,7 +26,7 @@ public class MockGlobalSession extends MockPrefsGlobalSession {
public MockGlobalSession(SyncConfiguration config, GlobalSessionCallback callback)
throws SyncConfigurationException, IllegalArgumentException, IOException, NonObjectJSONException {
- super(config, callback, RuntimeEnvironment.application, null);
+ super(config, callback, null, null);
}
@Override
diff --git a/mobile/android/services/src/test/java/org/mozilla/gecko/background/testhelpers/MockPrefsGlobalSession.java b/mobile/android/services/src/test/java/org/mozilla/gecko/background/testhelpers/MockPrefsGlobalSession.java
index 9c6339e8bb0b..72b924dd8e6b 100644
--- a/mobile/android/services/src/test/java/org/mozilla/gecko/background/testhelpers/MockPrefsGlobalSession.java
+++ b/mobile/android/services/src/test/java/org/mozilla/gecko/background/testhelpers/MockPrefsGlobalSession.java
@@ -53,4 +53,9 @@ public class MockPrefsGlobalSession extends GlobalSession {
config.syncKeyBundle = syncKeyBundle;
return new MockPrefsGlobalSession(config, callback, context, clientsDelegate);
}
+
+ @Override
+ public Context getContext() {
+ return null;
+ }
}
diff --git a/mobile/android/services/src/test/java/org/mozilla/gecko/db/BrowserProviderBookmarksTest.java b/mobile/android/services/src/test/java/org/mozilla/gecko/db/BrowserProviderBookmarksTest.java
index c57b84697e30..289b12eb8966 100644
--- a/mobile/android/services/src/test/java/org/mozilla/gecko/db/BrowserProviderBookmarksTest.java
+++ b/mobile/android/services/src/test/java/org/mozilla/gecko/db/BrowserProviderBookmarksTest.java
@@ -3,7 +3,6 @@
package org.mozilla.gecko.db;
-import android.content.ContentProvider;
import android.content.ContentProviderClient;
import android.content.ContentUris;
import android.content.ContentValues;
@@ -18,11 +17,12 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.mozilla.gecko.background.db.DelegatingTestContentProvider;
import org.mozilla.gecko.background.testhelpers.TestRunner;
-import org.mozilla.gecko.db.BrowserContract.Bookmarks;
import org.mozilla.gecko.sync.Utils;
import org.mozilla.gecko.sync.repositories.android.BrowserContractHelpers;
import org.robolectric.shadows.ShadowContentResolver;
+import org.mozilla.gecko.db.BrowserContract.Bookmarks;
+
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -41,9 +41,8 @@ import static org.mozilla.gecko.db.BrowserProviderGeneralTest.INVALID_TIMESTAMP;
import static org.mozilla.gecko.db.BrowserProviderGeneralTest.assertVersionsForSelection;
import static org.mozilla.gecko.db.BrowserProviderGeneralTest.bookmarksTestSyncUri;
import static org.mozilla.gecko.db.BrowserProviderGeneralTest.bookmarksTestUri;
+import static org.mozilla.gecko.db.BrowserProviderGeneralTest.getBookmarksTestSyncIncrementLocalVersionUri;
import static org.mozilla.gecko.db.BrowserProviderGeneralTest.getBookmarkIdFromGuid;
-import static org.mozilla.gecko.db.BrowserProviderGeneralTest
- .getBookmarksTestSyncIncrementLocalVersionUri;
import static org.mozilla.gecko.db.BrowserProviderGeneralTest.insertBookmark;
import static org.mozilla.gecko.db.BrowserProviderGeneralTest.withDeleted;
import static org.mozilla.gecko.db.BrowserProviderGeneralTest.withSync;
@@ -54,11 +53,13 @@ import static org.mozilla.gecko.db.BrowserProviderGeneralTest.withSync;
@RunWith(TestRunner.class)
public class BrowserProviderBookmarksTest {
private ContentProviderClient bookmarksClient;
- private ContentProvider provider;
+ private BrowserProvider provider;
@Before
public void setUp() throws Exception {
- provider = DelegatingTestContentProvider.createDelegatingBrowserProvider();
+ provider = new BrowserProvider();
+ provider.onCreate();
+ ShadowContentResolver.registerProvider(BrowserContract.AUTHORITY, new DelegatingTestContentProvider(provider));
ShadowContentResolver contentResolver = new ShadowContentResolver();
bookmarksClient = contentResolver.acquireContentProviderClient(BrowserContractHelpers.BOOKMARKS_CONTENT_URI);
diff --git a/mobile/android/services/src/test/java/org/mozilla/gecko/db/BrowserProviderGeneralTest.java b/mobile/android/services/src/test/java/org/mozilla/gecko/db/BrowserProviderGeneralTest.java
index 38db7aa14af5..035e600b4256 100644
--- a/mobile/android/services/src/test/java/org/mozilla/gecko/db/BrowserProviderGeneralTest.java
+++ b/mobile/android/services/src/test/java/org/mozilla/gecko/db/BrowserProviderGeneralTest.java
@@ -3,13 +3,13 @@
package org.mozilla.gecko.db;
-import android.content.ContentProvider;
import android.content.ContentProviderClient;
import android.content.ContentValues;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.os.RemoteException;
+import android.provider.Browser;
import org.junit.After;
import org.junit.Before;
@@ -41,12 +41,15 @@ public class BrowserProviderGeneralTest {
private static final long INVALID_ID = -1;
- private ContentProvider provider;
+ private BrowserProvider provider;
private ContentProviderClient browserClient;
@Before
public void setUp() throws Exception {
- provider = DelegatingTestContentProvider.createDelegatingBrowserProvider();
+ provider = new BrowserProvider();
+ provider.onCreate();
+
+ ShadowContentResolver.registerProvider(BrowserContract.AUTHORITY, new DelegatingTestContentProvider(provider));
ShadowContentResolver contentResolver = new ShadowContentResolver();
browserClient = contentResolver.acquireContentProviderClient(BrowserContractHelpers.BOOKMARKS_CONTENT_URI);
diff --git a/mobile/android/services/src/test/java/org/mozilla/gecko/db/BrowserProviderHistoryVisitsTestBase.java b/mobile/android/services/src/test/java/org/mozilla/gecko/db/BrowserProviderHistoryVisitsTestBase.java
index 765ca0f75b16..808a71aaefab 100644
--- a/mobile/android/services/src/test/java/org/mozilla/gecko/db/BrowserProviderHistoryVisitsTestBase.java
+++ b/mobile/android/services/src/test/java/org/mozilla/gecko/db/BrowserProviderHistoryVisitsTestBase.java
@@ -3,7 +3,6 @@
package org.mozilla.gecko.db;
-import android.content.ContentProvider;
import android.content.ContentProviderClient;
import android.content.ContentValues;
import android.net.Uri;
@@ -15,17 +14,21 @@ import org.mozilla.gecko.background.db.DelegatingTestContentProvider;
import org.mozilla.gecko.sync.repositories.android.BrowserContractHelpers;
import org.robolectric.shadows.ShadowContentResolver;
+import java.util.UUID;
+
public class BrowserProviderHistoryVisitsTestBase {
/* package-private */ ShadowContentResolver contentResolver;
/* package-private */ ContentProviderClient historyClient;
/* package-private */ ContentProviderClient visitsClient;
/* package-private */ Uri historyTestUri;
/* package-private */ Uri visitsTestUri;
- /* package-private */ ContentProvider provider;
+ /* package-private */ BrowserProvider provider;
@Before
public void setUp() throws Exception {
- provider = DelegatingTestContentProvider.createDelegatingBrowserProvider();
+ provider = new BrowserProvider();
+ provider.onCreate();
+ ShadowContentResolver.registerProvider(BrowserContract.AUTHORITY, new DelegatingTestContentProvider(provider));
contentResolver = new ShadowContentResolver();
historyClient = contentResolver.acquireContentProviderClient(BrowserContractHelpers.HISTORY_CONTENT_URI);
diff --git a/mobile/android/services/src/test/java/org/mozilla/gecko/db/LocalBrowserDBTest.java b/mobile/android/services/src/test/java/org/mozilla/gecko/db/LocalBrowserDBTest.java
index 095d19c450c9..0440f6414292 100644
--- a/mobile/android/services/src/test/java/org/mozilla/gecko/db/LocalBrowserDBTest.java
+++ b/mobile/android/services/src/test/java/org/mozilla/gecko/db/LocalBrowserDBTest.java
@@ -4,7 +4,6 @@
package org.mozilla.gecko.db;
import android.annotation.SuppressLint;
-import android.content.ContentProvider;
import android.content.ContentProviderClient;
import android.content.ContentResolver;
import android.content.ContentValues;
@@ -45,13 +44,15 @@ public class LocalBrowserDBTest {
private static final String FOLDER_NAME = "folder1";
private Context context;
- private ContentProvider provider;
+ private BrowserProvider provider;
private ContentProviderClient bookmarkClient;
@Before
public void setUp() throws Exception {
context = RuntimeEnvironment.application;
- provider = DelegatingTestContentProvider.createDelegatingBrowserProvider();
+ provider = new BrowserProvider();
+ provider.onCreate();
+ ShadowContentResolver.registerProvider(BrowserContract.AUTHORITY, new DelegatingTestContentProvider(provider));
ShadowContentResolver contentResolver = new ShadowContentResolver();
bookmarkClient = contentResolver.acquireContentProviderClient(BrowserContractHelpers.BOOKMARKS_CONTENT_URI);
diff --git a/mobile/android/services/src/test/java/org/mozilla/gecko/fxa/devices/TestFxAccountDeviceListUpdater.java b/mobile/android/services/src/test/java/org/mozilla/gecko/fxa/devices/TestFxAccountDeviceListUpdater.java
index d2832da8c45f..872b0107b7ae 100644
--- a/mobile/android/services/src/test/java/org/mozilla/gecko/fxa/devices/TestFxAccountDeviceListUpdater.java
+++ b/mobile/android/services/src/test/java/org/mozilla/gecko/fxa/devices/TestFxAccountDeviceListUpdater.java
@@ -3,7 +3,6 @@
package org.mozilla.gecko.fxa.devices;
-import android.content.ContentProvider;
import android.content.ContentProviderClient;
import android.content.ContentResolver;
import android.content.ContentValues;
@@ -22,6 +21,7 @@ import org.mozilla.gecko.background.db.DelegatingTestContentProvider;
import org.mozilla.gecko.background.fxa.FxAccountClient;
import org.mozilla.gecko.background.testhelpers.TestRunner;
import org.mozilla.gecko.db.BrowserContract;
+import org.mozilla.gecko.db.BrowserProvider;
import org.mozilla.gecko.fxa.authenticator.AndroidFxAccount;
import org.mozilla.gecko.fxa.login.State;
import org.robolectric.shadows.ShadowContentResolver;
@@ -119,9 +119,12 @@ public class TestFxAccountDeviceListUpdater {
public void testBrowserProvider() {
Uri uri = testUri(BrowserContract.RemoteDevices.CONTENT_URI);
- final ContentProvider provider = DelegatingTestContentProvider.createDelegatingBrowserProvider();
+ BrowserProvider provider = new BrowserProvider();
Cursor c = null;
try {
+ provider.onCreate();
+ ShadowContentResolver.registerProvider(BrowserContract.AUTHORITY, new DelegatingTestContentProvider(provider));
+
final ShadowContentResolver cr = new ShadowContentResolver();
ContentProviderClient remoteDevicesClient = cr.acquireContentProviderClient(BrowserContract.RemoteDevices.CONTENT_URI);
diff --git a/mobile/android/services/src/test/java/org/mozilla/gecko/sync/repositories/android/VisitsHelperTest.java b/mobile/android/services/src/test/java/org/mozilla/gecko/sync/repositories/android/VisitsHelperTest.java
index dedf2c8068d2..67bbca089855 100644
--- a/mobile/android/services/src/test/java/org/mozilla/gecko/sync/repositories/android/VisitsHelperTest.java
+++ b/mobile/android/services/src/test/java/org/mozilla/gecko/sync/repositories/android/VisitsHelperTest.java
@@ -3,7 +3,6 @@
package org.mozilla.gecko.sync.repositories.android;
-import android.content.ContentProvider;
import android.content.ContentProviderClient;
import android.content.ContentValues;
import android.net.Uri;
@@ -17,6 +16,7 @@ import org.junit.runner.RunWith;
import org.mozilla.gecko.background.db.DelegatingTestContentProvider;
import org.mozilla.gecko.background.testhelpers.TestRunner;
import org.mozilla.gecko.db.BrowserContract;
+import org.mozilla.gecko.db.BrowserProvider;
import org.robolectric.shadows.ShadowContentResolver;
import static org.junit.Assert.assertEquals;
@@ -56,8 +56,11 @@ public class VisitsHelperTest {
Uri historyTestUri = testUri(BrowserContract.History.CONTENT_URI);
Uri visitsTestUri = testUri(BrowserContract.Visits.CONTENT_URI);
- final ContentProvider provider = DelegatingTestContentProvider.createDelegatingBrowserProvider();
+ BrowserProvider provider = new BrowserProvider();
try {
+ provider.onCreate();
+ ShadowContentResolver.registerProvider(BrowserContract.AUTHORITY, new DelegatingTestContentProvider(provider));
+
final ShadowContentResolver cr = new ShadowContentResolver();
ContentProviderClient historyClient = cr.acquireContentProviderClient(BrowserContractHelpers.HISTORY_CONTENT_URI);
ContentProviderClient visitsClient = cr.acquireContentProviderClient(BrowserContractHelpers.VISITS_CONTENT_URI);
diff --git a/mobile/android/thirdparty/build.gradle b/mobile/android/thirdparty/build.gradle
index ff8e227a0dcb..c80938e93ff5 100644
--- a/mobile/android/thirdparty/build.gradle
+++ b/mobile/android/thirdparty/build.gradle
@@ -4,8 +4,12 @@ apply plugin: 'com.android.library'
android {
compileSdkVersion project.ext.compileSdkVersion
+ buildToolsVersion project.ext.buildToolsVersion
defaultConfig {
+ defaultPublishConfig 'release'
+ publishNonDefault true
+
targetSdkVersion project.ext.targetSdkVersion
minSdkVersion project.ext.minSdkVersion
manifestPlaceholders = project.ext.manifestPlaceholders
@@ -43,11 +47,11 @@ android {
}
dependencies {
- implementation "com.android.support:support-v4:${mozconfig.substs.ANDROID_SUPPORT_LIBRARY_VERSION}"
+ compile "com.android.support:support-v4:${mozconfig.substs.ANDROID_SUPPORT_LIBRARY_VERSION}"
if (mozconfig.substs.MOZ_ANDROID_MMA) {
- implementation "com.android.support:appcompat-v7:${mozconfig.substs.ANDROID_SUPPORT_LIBRARY_VERSION}"
- implementation "com.android.support:support-annotations:${mozconfig.substs.ANDROID_GOOGLE_PLAY_SERVICES_VERSION}"
- implementation "com.google.android.gms:play-services-gcm:${mozconfig.substs.ANDROID_GOOGLE_PLAY_SERVICES_VERSION}"
+ compile "com.android.support:appcompat-v7:${mozconfig.substs.ANDROID_SUPPORT_LIBRARY_VERSION}"
+ compile "com.android.support:support-annotations:${mozconfig.substs.ANDROID_GOOGLE_PLAY_SERVICES_VERSION}"
+ compile "com.google.android.gms:play-services-gcm:${mozconfig.substs.ANDROID_GOOGLE_PLAY_SERVICES_VERSION}"
}
}
diff --git a/netwerk/base/TCPFastOpenLayer.cpp b/netwerk/base/TCPFastOpenLayer.cpp
index c412aa4909f3..6cedc0ddd279 100644
--- a/netwerk/base/TCPFastOpenLayer.cpp
+++ b/netwerk/base/TCPFastOpenLayer.cpp
@@ -421,8 +421,7 @@ TCPFastOpenFinish(PRFileDesc *fd, PRErrorCode &err,
result = PR_GetError();
SOCKET_LOG(("TCPFastOpenFinish - sendto error=%d.\n", result));
- if (result == PR_NOT_IMPLEMENTED_ERROR || // When a windows version does not support Fast Open it will return this error.
- result == PR_NOT_TCP_SOCKET_ERROR) { // SendTo will return PR_NOT_TCP_SOCKET_ERROR if TCP Fast Open is turned off on Linux.
+ if (result == PR_NOT_TCP_SOCKET_ERROR) { // SendTo will return PR_NOT_TCP_SOCKET_ERROR if TCP Fast Open is turned off on Linux.
// We can call connect again.
fastOpenNotSupported = true;
rv = (tfoFd->lower->methods->connect)(tfoFd->lower, &secret->mAddr,
diff --git a/netwerk/protocol/http/nsHttpHandler.h b/netwerk/protocol/http/nsHttpHandler.h
index 55853ee3c32c..852caeab6061 100644
--- a/netwerk/protocol/http/nsHttpHandler.h
+++ b/netwerk/protocol/http/nsHttpHandler.h
@@ -184,10 +184,6 @@ public:
// If one of tcp connections return PR_NOT_TCP_SOCKET_ERROR while trying
// fast open, it means that Fast Open is turned off so we will not try again
// until a restart. This is only on Linux.
- // For windows 10 we can only check whether a version of windows support
- // Fast Open at run time, so if we get error PR_NOT_IMPLEMENTED_ERROR it
- // means that Fast Open is not supported and we will set mFastOpenSupported
- // to false.
void SetFastOpenNotSupported() { mFastOpenSupported = false; }
void IncrementFastOpenConsecutiveFailureCounter();
diff --git a/netwerk/protocol/http/nsHttpTransaction.cpp b/netwerk/protocol/http/nsHttpTransaction.cpp
index 326f463233ff..3bc733cd2485 100644
--- a/netwerk/protocol/http/nsHttpTransaction.cpp
+++ b/netwerk/protocol/http/nsHttpTransaction.cpp
@@ -1665,6 +1665,9 @@ nsHttpTransaction::HandleContentStart()
if ((mEarlyDataDisposition == EARLY_425) && !mDoNotTryEarlyData) {
mDoNotTryEarlyData = true;
mForceRestart = true; // force restart has built in loop protection
+ if (mConnection->Version() == HTTP_VERSION_2) {
+ mReuseOnRestart = true;
+ }
return NS_ERROR_NET_RESET;
}
break;
diff --git a/old-configure.in b/old-configure.in
index 15f5ac452187..85f4863543fb 100644
--- a/old-configure.in
+++ b/old-configure.in
@@ -2133,7 +2133,7 @@ dnl ========================================================
case "$MOZ_BUILD_APP" in
mobile/android)
- MOZ_ANDROID_SDK(23, 23, 26.0.2, 26.0.0 26.0.0-dev 25.3.2 25.3.1)
+ MOZ_ANDROID_SDK(23, 23, 25.0.3, 26.0.0 26.0.0-dev 25.3.2 25.3.1)
;;
esac
diff --git a/python/mozboot/mozboot/android-packages.txt b/python/mozboot/mozboot/android-packages.txt
index 3d7601bc24f8..f09995deb2e1 100644
--- a/python/mozboot/mozboot/android-packages.txt
+++ b/python/mozboot/mozboot/android-packages.txt
@@ -1,5 +1,5 @@
platform-tools
-build-tools;26.0.2
+build-tools;25.0.3
platforms;android-23
extras;android;m2repository
extras;google;m2repository
diff --git a/python/mozboot/mozboot/bootstrap.py b/python/mozboot/mozboot/bootstrap.py
index 29a00dfe5e1a..5c40fcd08a79 100644
--- a/python/mozboot/mozboot/bootstrap.py
+++ b/python/mozboot/mozboot/bootstrap.py
@@ -321,6 +321,7 @@ class Bootstrapper(object):
state_dir_available = os.path.exists(state_dir)
r = current_firefox_checkout(check_output=self.instance.check_output,
+ env=self.instance._hgplain_env(),
hg=self.instance.which('hg'))
(checkout_type, checkout_root) = r
@@ -504,7 +505,7 @@ def clone_firefox(hg, dest):
return True
-def current_firefox_checkout(check_output, hg=None):
+def current_firefox_checkout(check_output, env, hg=None):
"""Determine whether we're in a Firefox checkout.
Returns one of None, ``git``, or ``hg``.
@@ -521,7 +522,9 @@ def current_firefox_checkout(check_output, hg=None):
if hg and os.path.exists(hg_dir):
# Verify the hg repo is a Firefox repo by looking at rev 0.
try:
- node = check_output([hg, 'log', '-r', '0', '--template', '{node}'], cwd=path)
+ node = check_output([hg, 'log', '-r', '0', '--template', '{node}'],
+ cwd=path,
+ env=env)
if node in HG_ROOT_REVISIONS:
return ('hg', path)
# Else the root revision is different. There could be nested
diff --git a/python/mozbuild/mozbuild/config_status.py b/python/mozbuild/mozbuild/config_status.py
index d46f1332dbb6..c9f1585fc564 100644
--- a/python/mozbuild/mozbuild/config_status.py
+++ b/python/mozbuild/mozbuild/config_status.py
@@ -38,10 +38,13 @@ ANDROID_IDE_ADVERTISEMENT = '''
ADVERTISEMENT
You are building Firefox for Android. After your build completes, you can open
-the top source directory in Android Studio directly and build using Gradle.
-See the documentation at
+the top source directory in IntelliJ or Android Studio directly and build using
+Gradle. See the documentation at
https://developer.mozilla.org/en-US/docs/Simple_Firefox_for_Android_build
+
+PLEASE BE AWARE THAT GRADLE AND INTELLIJ/ANDROID STUDIO SUPPORT IS EXPERIMENTAL.
+You should verify any changes using |mach build|.
=============
'''.strip()
diff --git a/security/manager/ssl/StaticHPKPins.h b/security/manager/ssl/StaticHPKPins.h
index beb393dc2ca3..3569bca58342 100644
--- a/security/manager/ssl/StaticHPKPins.h
+++ b/security/manager/ssl/StaticHPKPins.h
@@ -1161,4 +1161,4 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
static const int32_t kUnknownId = -1;
-static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1524603384405000);
+static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1524684818266000);
diff --git a/security/manager/ssl/nsNSSCertHelper.cpp b/security/manager/ssl/nsNSSCertHelper.cpp
index 4d2b2ff40159..152228f56a5a 100644
--- a/security/manager/ssl/nsNSSCertHelper.cpp
+++ b/security/manager/ssl/nsNSSCertHelper.cpp
@@ -1675,7 +1675,13 @@ ProcessTime(PRTime dispTime,
kDateFormatLong, kTimeFormatSeconds, &explodedTimeGMT, tempString);
text.Append(tempString);
- text.AppendLiteral(" GMT)");
+ // Append "GMT" if it's not already added by the formatter
+ // since the OS pattern contained a timezone (Mac and Linux).
+ if (tempString.Find(" GMT") == kNotFound) {
+ text.AppendLiteral(" GMT)");
+ } else {
+ text.Append(')');
+ }
nsCOMPtr printableItem = new nsNSSASN1PrintableItem();
diff --git a/security/manager/ssl/nsSTSPreloadList.errors b/security/manager/ssl/nsSTSPreloadList.errors
index 31a92cb1f6e9..5bd888c25d07 100644
--- a/security/manager/ssl/nsSTSPreloadList.errors
+++ b/security/manager/ssl/nsSTSPreloadList.errors
@@ -49,6 +49,7 @@ accwing.com: could not connect to host
acg.sb: could not connect to host
acgaudio.com: could not connect to host
achterhoekseveiligheidsbeurs.nl: could not connect to host
+acpinformatique.fr: could not connect to host
acrossgw.com: could not connect to host
adamdixon.co.uk: could not connect to host
adec-emsa.ae: could not connect to host
@@ -77,7 +78,6 @@ alilialili.ga: could not connect to host
alldm.ru: could not connect to host
allscammers.exposed: could not connect to host
altahrim.net: could not connect to host
-alwaysdry.com.au: could not connect to host
amdouglas.uk: could not connect to host
ameho.me: could not connect to host
americandistribuidora.com: could not connect to host
@@ -104,11 +104,10 @@ anttitenhunen.com: could not connect to host
anyways.at: could not connect to host
aojiao.org: could not connect to host
apkoyunlar.club: could not connect to host
+apmpproject.org: could not connect to host
apparels24.com: could not connect to host
appdrinks.com: could not connect to host
apple.ax: could not connect to host
-aquitainebrasserie.com.au: could not connect to host
-arbitrarion.com: could not connect to host
area3.org: could not connect to host
arenlor.com: could not connect to host
arenlor.info: could not connect to host
@@ -151,7 +150,6 @@ avonlearningcampus.com: could not connect to host
awan.tech: could not connect to host
awf0.xyz: could not connect to host
axel-fischer.science: could not connect to host
-azabani.com: could not connect to host
b8a.me: could not connect to host
babelfisch.eu: could not connect to host
bad.pet: could not connect to host
@@ -167,6 +165,7 @@ batfoundry.com: could not connect to host
bbb1991.me: could not connect to host
bbdos.ru: could not connect to host
bbka.org.uk: could not connect to host
+bbnx.net: could not connect to host
bdsmxxxpics.com: could not connect to host
bdvg.org: could not connect to host
beamitapp.com: could not connect to host
@@ -212,6 +211,7 @@ blinkenlight.co.uk: could not connect to host
blinkenlight.com.au: could not connect to host
blog.gparent.org: could not connect to host
blokuhaka.fr: could not connect to host
+bluepearl.tk: could not connect to host
blumen-garage.de: could not connect to host
bm-i.ch: could not connect to host
bodrumfarm.com: could not connect to host
@@ -240,7 +240,6 @@ bsalyzer.com: could not connect to host
bsktweetup.info: could not connect to host
bslim-e-boutique.com: could not connect to host
bsuess.de: could not connect to host
-budgetlovers.nl: could not connect to host
bugginslab.co.uk: could not connect to host
bugsmashed.com: could not connect to host
buka.jp: could not connect to host
@@ -253,8 +252,10 @@ buyshoe.org: could not connect to host
bvexplained.co.uk: could not connect to host
by1898.com: could not connect to host
byji.com: could not connect to host
+bynet.cz: could not connect to host
bypass.kr: could not connect to host
byteshift.ca: could not connect to host
+cachetagalong.com: could not connect to host
cafesg.net: could not connect to host
caipai.fm: could not connect to host
calculatoaresecondhand.xyz: could not connect to host
@@ -270,6 +271,8 @@ cardse.net: could not connect to host
carloshmm.stream: could not connect to host
carlovanwyk.com: could not connect to host
casinoreal.com: could not connect to host
+casjay.com: could not connect to host
+casjay.info: could not connect to host
catsmagic.pp.ua: could not connect to host
caughtredhanded.co.nz: could not connect to host
cctld.com: could not connect to host
@@ -299,13 +302,10 @@ christianhoffmann.info: could not connect to host
christophersole.com: could not connect to host
chromaryu.net: could not connect to host
chziyue.com: could not connect to host
-cinemysticism.com: could not connect to host
cipher.land: could not connect to host
citywalkr.com: could not connect to host
cjr.host: could not connect to host
cjtkfan.club: could not connect to host
-claytonstowing.com.au: could not connect to host
-cleanbeautymarket.com.au: could not connect to host
clearchatsandbox.com: could not connect to host
clearviewwealthprojector.com.au: could not connect to host
clintonbloodworth.com: could not connect to host
@@ -329,7 +329,6 @@ cogumelosmagicos.org: could not connect to host
colleencornez.com: could not connect to host
collins.kg: could not connect to host
combatshield.cz: could not connect to host
-cometonovascotia.ca: could not connect to host
complt.xyz: could not connect to host
comprehensiveihc.com: could not connect to host
conception.sk: could not connect to host
@@ -342,7 +341,6 @@ corinnanese.de: could not connect to host
correct.horse: could not connect to host
corsa-b.uk: could not connect to host
cosmeticosdelivery.com.br: could not connect to host
-cosni.co: could not connect to host
cosplayer.com: could not connect to host
coumoul.fr: could not connect to host
cpaneltips.com: could not connect to host
@@ -386,8 +384,6 @@ davidscherzer.at: could not connect to host
davidstuff.net: could not connect to host
davros.eu: could not connect to host
davros.ru: could not connect to host
-dawnson.is: could not connect to host
-day.vip: could not connect to host
days.one: could not connect to host
dbcom.ru: could not connect to host
dbox.ga: could not connect to host
@@ -398,7 +394,6 @@ de-servers.de: could not connect to host
decoyrouting.com: could not connect to host
dedietrich-asia.com: could not connect to host
deepcreampie.com: could not connect to host
-deepsouthsounds.com: could not connect to host
deloittequant.com: could not connect to host
derchris.me: could not connect to host
derivativeshub.pro: could not connect to host
@@ -408,7 +403,6 @@ detecte-fuite.ch: could not connect to host
detecte.ch: could not connect to host
detectefuite.ch: could not connect to host
dev-talk.eu: could not connect to host
-devafterdark.com: could not connect to host
devcu.net: could not connect to host
developersclub.website: could not connect to host
deviltraxxx.de: could not connect to host
@@ -428,6 +422,7 @@ digioccumss.ddns.net: could not connect to host
digitalhurricane.io: could not connect to host
diguass.us: could not connect to host
dijks.com: could not connect to host
+dimonb.com: could not connect to host
dirtycat.ru: could not connect to host
disability.gov: could not connect to host
disadattamentolavorativo.it: could not connect to host
@@ -438,6 +433,7 @@ ditch.ch: could not connect to host
dixmag.com: could not connect to host
dlouwrink.nl: could not connect to host
dlyl888.com: could not connect to host
+dm4productions.com: could not connect to host
dnscrypt.org: could not connect to host
dobrisan.ro: could not connect to host
dogcratereview.info: could not connect to host
@@ -468,16 +464,15 @@ dubrovskiy.net: could not connect to host
dubrovskiy.pro: could not connect to host
duch.cloud: could not connect to host
duelsow.eu: could not connect to host
-duesee.org: could not connect to host
duks.com.br: could not connect to host
duo.money: could not connect to host
durangoenergyllc.com: could not connect to host
dwnld.me: could not connect to host
-dyn.im: could not connect to host
e-mak.eu: could not connect to host
e-wishlist.net: could not connect to host
eatfitoutlet.com.br: could not connect to host
eatry.io: could not connect to host
+ebonyriddle.com: could not connect to host
ectora.com: could not connect to host
edgecustomersportal.com: could not connect to host
eduif.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 119" data: no]
@@ -495,6 +490,8 @@ elisabeth-strunz.de: could not connect to host
elonbase.com: could not connect to host
elsword.moe: could not connect to host
eltransportquevolem.org: could not connect to host
+embellir-aroma.com: could not connect to host
+embellir-kyujin.com: could not connect to host
emilyjohnson.ga: could not connect to host
emrenovation.com: could not connect to host
endspamwith.us: could not connect to host
@@ -506,6 +503,7 @@ erspro.net: could not connect to host
erwinwensveen.nl: could not connect to host
ethiobaba.com: could not connect to host
euexia.fr: could not connect to host
+eugenekay.com: could not connect to host
eurostrategy.vn.ua: could not connect to host
ev-zertifikate.de: could not connect to host
evankurniawan.com: could not connect to host
@@ -513,12 +511,12 @@ eveshaiwu.com: could not connect to host
evileden.com: could not connect to host
exceptionalservices.us: could not connect to host
exo.do: could not connect to host
+extensiblewebreportcard.org: could not connect to host
exteriorservices.io: could not connect to host
eytosh.net: could not connect to host
f8842.com: could not connect to host
faber.org.ru: could not connect to host
fabian-kluge.de: could not connect to host
-fabrysociety.org: could not connect to host
facebook.ax: could not connect to host
facilitrak.com: could not connect to host
factureenlinea.com: could not connect to host
@@ -540,7 +538,6 @@ feedstringer.com: could not connect to host
feirlane.org: could not connect to host
feist.io: could not connect to host
fengyadi.com: could not connect to host
-fensterbau-mutscheller.de: could not connect to host
feras-alhajjaji.com: could not connect to host
fetclips.se: could not connect to host
ficklenote.net: could not connect to host
@@ -559,12 +556,10 @@ fix-the-timeline.org: could not connect to host
fixmyglitch.com: could not connect to host
fixthetimeline.com: could not connect to host
fixthetimeline.org: could not connect to host
-flopy.club: could not connect to host
flow.su: could not connect to host
flugplatz-edvc.de: could not connect to host
flygpost.com: could not connect to host
flyingdoggy.net: could not connect to host
-flyss.net: could not connect to host
focalforest.com: could not connect to host
folioapp.io: could not connect to host
forcamp.ga: could not connect to host
@@ -586,7 +581,6 @@ fredtec.ru: could not connect to host
freejidi.com: could not connect to host
freelansir.com: could not connect to host
freeshkre.li: could not connect to host
-freesounding.ru: could not connect to host
freshcode.nl: could not connect to host
frickenate.com: could not connect to host
friedhelm-wolf.de: could not connect to host
@@ -610,6 +604,7 @@ fun99.cc: could not connect to host
funksteckdosen24.de: could not connect to host
funspins.com: could not connect to host
futos.de: could not connect to host
+fuzoku-sodan.com: could not connect to host
fyol.pw: could not connect to host
g1jeu.com: could not connect to host
g4w.co: could not connect to host
@@ -656,8 +651,10 @@ getwarden.net: could not connect to host
gevaulug.fr: could not connect to host
gfoss.gr: could not connect to host
gglks.com: could not connect to host
+ggrks-asano.com: could not connect to host
ggss.cf: could not connect to host
gifzilla.net: could not connect to host
+gigiscloud.servebeer.com: could not connect to host
gina-architektur.design: could not connect to host
git.co: could not connect to host
glasner.photo: could not connect to host
@@ -697,6 +694,7 @@ habeo.si: could not connect to host
hakugin.me: could not connect to host
halcyonsbastion.com: could not connect to host
halkyon.net: could not connect to host
+hamu.blue: could not connect to host
hang333.pw: could not connect to host
hapijs.cn: could not connect to host
harmfarm.nl: could not connect to host
@@ -713,7 +711,6 @@ healthyandnaturalliving.com: could not connect to host
hearingshofar.com: could not connect to host
hearty.ink: could not connect to host
heavenlysmokenc.com: could not connect to host
-hedgeschool.ie: could not connect to host
heisenberg.co: could not connect to host
hejahanif.se: could not connect to host
hejsupport.se: could not connect to host
@@ -743,6 +740,7 @@ holidayincotswolds.co.uk: could not connect to host
homoglyph.net: could not connect to host
hoodoo.io: could not connect to host
hoodoo.tech: could not connect to host
+hopesb.org: could not connect to host
horvathd.eu: could not connect to host
hosted-oswa.org: could not connect to host
hotelmadhuwanvihar.com: could not connect to host
@@ -809,6 +807,7 @@ its-schindler.de: could not connect to host
itsatrap.nl: could not connect to host
ivanilla.org: could not connect to host
ivanpolchenko.com: could not connect to host
+iwizerunek.pl: could not connect to host
j0ng.xyz: could not connect to host
jacobdevans.com: could not connect to host
jaimechanaga.com: could not connect to host
@@ -823,6 +822,7 @@ javascriptlab.fr: could not connect to host
jccars-occasions.be: could not connect to host
jccrew.org: could not connect to host
jcraft.us: could not connect to host
+jd1.de: could not connect to host
jean-remy.ch: could not connect to host
jeffersonregan.org: could not connect to host
jens.hk: could not connect to host
@@ -836,7 +836,6 @@ jobmedic.com: could not connect to host
joecod.es: could not connect to host
joetyson.io: could not connect to host
johngo.tk: could not connect to host
-jonarcher.info: could not connect to host
jonathansanchez.pro: could not connect to host
jordanhamilton.me: could not connect to host
js88.sg: could not connect to host
@@ -869,7 +868,6 @@ kawaii.io: could not connect to host
kawaiiku.com: could not connect to host
kawaiiku.de: could not connect to host
kcsordparticipation.org: could not connect to host
-kearney.io: could not connect to host
kelm.me: could not connect to host
kenyons.info: could not connect to host
kevinbowers.me: could not connect to host
@@ -885,6 +883,7 @@ kinepolis-studio.ga: could not connect to host
kingbird.me: could not connect to host
kingclass.cn: could not connect to host
kirill.ws: could not connect to host
+kitchenpunx.com: could not connect to host
kj1396.net: could not connect to host
kjchernov.info: could not connect to host
kjoglum.me: could not connect to host
@@ -917,6 +916,7 @@ kylebaldw.in: could not connect to host
kylling.io: could not connect to host
kyujin-office.net: could not connect to host
l18.io: could not connect to host
+l2guru.ru: could not connect to host
laboutiquemarocaineduconvoyeur.com: could not connect to host
laboutiquemarocaineduconvoyeur.ma: could not connect to host
lacasa.fr: could not connect to host
@@ -983,14 +983,13 @@ locker3.com: could not connect to host
logcat.info: could not connect to host
logic8.ml: could not connect to host
logimagine.com: could not connect to host
+logue.be: could not connect to host
loothole.com: could not connect to host
loqyu.co: could not connect to host
losebellyfat.pro: could not connect to host
loveandloyalty.se: could not connect to host
lovelive.us: could not connect to host
-lovelivewiki.com: could not connect to host
lowt.us: could not connect to host
-lowtherpavilion.co.uk: could not connect to host
loyaltech.ch: could not connect to host
ltransferts.com: could not connect to host
lucascodes.com: could not connect to host
@@ -1009,6 +1008,7 @@ magnacumlaude.co: could not connect to host
mahefa.co.uk: could not connect to host
maik-mahlow.de: could not connect to host
mailon.ga: could not connect to host
+malash.me: could not connect to host
malesbdsm.com: could not connect to host
malgraph.net: could not connect to host
marcelmarnitz.com: could not connect to host
@@ -1016,6 +1016,7 @@ marche-nordic-jorat.ch: could not connect to host
mare92.cz: could not connect to host
marketingdesignu.cz: could not connect to host
marko-fenster24.de: could not connect to host
+markprof.ru: could not connect to host
marktcontact.com: could not connect to host
martynhare.co.uk: could not connect to host
martynhare.uk: could not connect to host
@@ -1074,7 +1075,6 @@ modded-minecraft-server-list.com: could not connect to host
moderntld.net: could not connect to host
moe-max.jp: could not connect to host
moeyi.xyz: could not connect to host
-mokote.com: could not connect to host
mongla168.net: could not connect to host
mongla88.net: could not connect to host
monitori.ng: could not connect to host
@@ -1103,12 +1103,15 @@ muj-svet.cz: could not connect to host
munch.me: could not connect to host
munduch.cz: could not connect to host
murraycolin.org: could not connect to host
+murz.tv: could not connect to host
muslimbanter.co.za: could not connect to host
mybeautyjobs.de: could not connect to host
mycamda.com: could not connect to host
mycustomwriting.com: could not connect to host
myfappening.org: could not connect to host
mykeepsake.xyz: could not connect to host
+mymed.de: could not connect to host
+mymed.eu: could not connect to host
mynetworkingbuddy.com: could not connect to host
myshirtsize.com: could not connect to host
mytravelblog.de: could not connect to host
@@ -1122,12 +1125,12 @@ ncdesigns-studio.com: could not connect to host
neer.io: could not connect to host
negativecurvature.net: could not connect to host
nejnamc.org: could not connect to host
+nephy.jp: could not connect to host
nerdhouse.io: could not connect to host
nestone.ru: could not connect to host
netsystems.pro: could not connect to host
nevadafiber.net: could not connect to host
newcityinfo.info: could not connect to host
-newjianzhi.com: could not connect to host
nexgeneration-solutions.com: could not connect to host
nexusbyte.de: could not connect to host
nexuscorporation.in: could not connect to host
@@ -1163,19 +1166,18 @@ nyxi.eu: could not connect to host
obdolbacca.ru: could not connect to host
oberam.de: could not connect to host
oberhof.co: could not connect to host
-oblondata.io: could not connect to host
off-the-clock.us: could not connect to host
offgames.pro: could not connect to host
office-ruru.com: could not connect to host
ohyooo.com: could not connect to host
oliverspringer.eu: could not connect to host
omnibot.tv: could not connect to host
+onedot.nl: could not connect to host
onewebdev.info: could not connect to host
onstud.com: could not connect to host
onwie.fr: could not connect to host
ooeste.com: could not connect to host
oogami.name: could not connect to host
-opatut.de: could not connect to host
opium.io: could not connect to host
oscsdp.cz: could not connect to host
osmanlitorunu.com: could not connect to host
@@ -1184,7 +1186,15 @@ ourchoice2016.com: could not connect to host
outetc.com: could not connect to host
owlscrap.ru: could not connect to host
oxynux.xyz: could not connect to host
+ozonitron.com: could not connect to host
+ozonitron.de: could not connect to host
+ozonitron.eu: could not connect to host
+ozonytron.com: could not connect to host
+ozonytron.de: could not connect to host
+ozonytron.eu: could not connect to host
paichai.space: could not connect to host
+paio2-rec.com: could not connect to host
+paio2.com: could not connect to host
panasca.is: could not connect to host
panascais.co: could not connect to host
panascais.com: could not connect to host
@@ -1199,7 +1209,6 @@ panascais.tech: could not connect to host
panascais.us: could not connect to host
pandapsy.com: could not connect to host
pardnoy.com: could not connect to host
-pascalspoerri.ch: could not connect to host
passrhce.com: could not connect to host
passrhcsa.com: could not connect to host
pastie.se: could not connect to host
@@ -1213,7 +1222,6 @@ paulshir.com: could not connect to host
paulshir.is: could not connect to host
paymon.tj: could not connect to host
paypod.org: could not connect to host
-pcmr.info: could not connect to host
pcvirusclear.com: could not connect to host
pear2pear.de: could not connect to host
peirong.me: could not connect to host
@@ -1228,6 +1236,7 @@ phdwuda.com: could not connect to host
phil.tw: could not connect to host
philippa.cool: could not connect to host
photops.fr: could not connect to host
+pianetaottica.eu: could not connect to host
picallo.es: could not connect to host
picone.com.au: could not connect to host
pierrejeansuau.fr: could not connect to host
@@ -1237,8 +1246,6 @@ pinebaylibrary.org: could not connect to host
piwko.co: could not connect to host
pixelgliders.de: could not connect to host
plaasprodukte.com: could not connect to host
-placefade.com: could not connect to host
-plae.com.au: could not connect to host
planbox.info: could not connect to host
playsharp.com: could not connect to host
plussizereviews.com: could not connect to host
@@ -1256,7 +1263,6 @@ potlytics.com: could not connect to host
pouets.ovh: could not connect to host
powerentertainment.tv: could not connect to host
poy-tech.com: could not connect to host
-prepaid-cards.xyz: could not connect to host
princessbackpack.de: could not connect to host
printsos.com: could not connect to host
prism-communication.com: could not connect to host
@@ -1296,12 +1302,10 @@ qscloud.de: could not connect to host
qto.net: could not connect to host
quay.net: could not connect to host
rackblue.com: could not connect to host
-radeticlaw.com: could not connect to host
rainbin.com: could not connect to host
ranos.org: could not connect to host
rantanda.com: could not connect to host
rapdogg.com: could not connect to host
-rapidstone.com: could not connect to host
ravengergaming.net: could not connect to host
ravse.dk: could not connect to host
raxion.cf: could not connect to host
@@ -1314,7 +1318,6 @@ realcli.com: could not connect to host
realraghavgupta.com: could not connect to host
realwoo.com: could not connect to host
reevu.net: could not connect to host
-refactor.zone: could not connect to host
reflecton.io: could not connect to host
regendevices.eu: could not connect to host
regio-salland.nl: could not connect to host
@@ -1355,6 +1358,7 @@ rs-devdemo.host: could not connect to host
rsldb.com: could not connect to host
rtc.fun: could not connect to host
rubendv.be: could not connect to host
+rucnerobene.eu: could not connect to host
ruhr3.de: could not connect to host
runcarina.com: could not connect to host
rundumcolumn.xyz: could not connect to host
@@ -1378,6 +1382,7 @@ sarindia.com: could not connect to host
sarindia.de: could not connect to host
sarndipity.com: could not connect to host
satragreen.com: could not connect to host
+savecashindia.com: could not connect to host
sbiewald.de: could not connect to host
sbm.cloud: could not connect to host
schaafenstrasse.koeln: could not connect to host
@@ -1405,6 +1410,7 @@ seleondar.ru: could not connect to host
selfserverx.com: could not connect to host
sellmoretires.com: could not connect to host
seoscribe.net: could not connect to host
+seproco.com: could not connect to host
servecrypt.com: could not connect to host
server-essentials.com: could not connect to host
serverlauget.no: could not connect to host
@@ -1426,7 +1432,6 @@ shorten.ninja: could not connect to host
shortr.li: could not connect to host
shred.ch: could not connect to host
shredoptics.ch: could not connect to host
-shulan.moe: could not connect to host
shuzicai.cn: could not connect to host
shymeck.pw: could not connect to host
siamega.com: could not connect to host
@@ -1440,6 +1445,7 @@ simplerses.com: could not connect to host
sims4hub.ga: could not connect to host
sinfulforums.net: could not connect to host
siqi.wang: could not connect to host
+sitemaxiphilippe.ch: could not connect to host
skarox.ru: could not connect to host
sky-aroma.com: could not connect to host
skylocker.net: could not connect to host
@@ -1464,7 +1470,6 @@ solidtuesday.com: could not connect to host
solymar.co: could not connect to host
sonafe.info: could not connect to host
sortaweird.net: could not connect to host
-soubriquet.org: could not connect to host
sowingseasons.com: could not connect to host
sowncloud.de: could not connect to host
sp.rw: could not connect to host
@@ -1481,7 +1486,7 @@ srvonfire.com: could not connect to host
stadionmanager.com: could not connect to host
stadtgartenla.com: could not connect to host
stamonicatourandtravel.com: could not connect to host
-startup.melbourne: could not connect to host
+starsam80.net: could not connect to host
statgram.me: could not connect to host
static-assets.io: could not connect to host
static.hosting: could not connect to host
@@ -1507,12 +1512,15 @@ summer.ga: could not connect to host
suneilpatel.com: could not connect to host
sunfireshop.com.br: could not connect to host
sunxchina.com: could not connect to host
+superbdistribute.com: could not connect to host
superpase.com: could not connect to host
surdam.casa: could not connect to host
susconam.org: could not connect to host
suspiciousdarknet.xyz: could not connect to host
swaggerdile.com: could not connect to host
+sweetlegs.jp: could not connect to host
synergisticsoccer.com: could not connect to host
+sysdb.io: could not connect to host
t3rror.net: could not connect to host
taboragroup.com: could not connect to host
takusan.ru: could not connect to host
@@ -1534,9 +1542,9 @@ techpit.us: could not connect to host
tektoria.de: could not connect to host
telekollektiv.org: could not connect to host
tenispopular.com: could not connect to host
-tequilazor.com: could not connect to host
terra-x.net: could not connect to host
terrax.net: could not connect to host
+tescoludia.sk: could not connect to host
testovaci.ml: could not connect to host
tetsai.com: could not connect to host
teulon.eu: could not connect to host
@@ -1547,7 +1555,6 @@ the-gist.io: could not connect to host
thedarkartsandcrafts.com: could not connect to host
thefox.co: could not connect to host
thefrk.xyz: could not connect to host
-thehiddenbay.info: could not connect to host
thenrdhrd.nl: could not connect to host
theprincegame.com: could not connect to host
theprivacysolution.com: could not connect to host
@@ -1560,12 +1567,11 @@ thinkcash.nl: could not connect to host
thompsonfamily.cloud: could not connect to host
tianxicaipiao.win: could not connect to host
tianxicp.com: could not connect to host
-timtj.ca: could not connect to host
-timweb.ca: could not connect to host
tink.network: could not connect to host
tkn.tokyo: could not connect to host
tnb-plattform.de: could not connect to host
todosrv.com: could not connect to host
+tokkee.org: could not connect to host
tokoindo.top: could not connect to host
tollsjekk.no: could not connect to host
tomm.yt: could not connect to host
@@ -1575,12 +1581,11 @@ topdetoxcleanse.com: could not connect to host
topdevbox.net: could not connect to host
topnotchendings.com: could not connect to host
tor2web.org: could not connect to host
+torrentpier.me: could not connect to host
totallynotaserver.com: could not connect to host
-totalsystemcare.com: could not connect to host
totch.de: could not connect to host
totot.net: could not connect to host
touch-up-net.com: could not connect to host
-townofbridgewater.ca: could not connect to host
toxicip.com: could not connect to host
tpblist.xyz: could not connect to host
track.plus: could not connect to host
@@ -1611,23 +1616,18 @@ tysye.ca: could not connect to host
tzwe.com: could not connect to host
ubi.gg: could not connect to host
ubicv.com: could not connect to host
-uborcare.com: could not connect to host
udo-luetkemeier.de: could not connect to host
ueu.me: could not connect to host
ulti.gq: could not connect to host
-ultieme.be: could not connect to host
-umisonoda.com: could not connect to host
umsapi.com: could not connect to host
unefuite.ch: could not connect to host
unhu.fr: could not connect to host
uni2share.com: could not connect to host
unicorn.li: could not connect to host
-unleash.pw: could not connect to host
uploadbro.com: could not connect to host
urcentral.org: could not connect to host
uscp8.com: could not connect to host
usportsgo.com: could not connect to host
-utdsgda.com: could not connect to host
uwesander.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 119" data: no]
uygindir.ml: could not connect to host
vaaddress.co: could not connect to host
@@ -1658,9 +1658,10 @@ visiongamestudios.com: could not connect to host
visionthroughknowledge.com: could not connect to host
visiontree.eu: could not connect to host
vlogge.com: could not connect to host
-vmgirls.com: could not connect to host
+vlsk.eu: could not connect to host
voeux.io: could not connect to host
vogt.tech: could not connect to host
+voidi.ca: could not connect to host
volcain.io: could not connect to host
vorlif.org: could not connect to host
vorodevops.com: could not connect to host
@@ -1668,6 +1669,7 @@ votresiteweb.ch: could not connect to host
vrtouring.org: could not connect to host
vsx.ch: could not connect to host
vxapps.com: could not connect to host
+w4nvu.org: could not connect to host
wabifoggynuts.com: could not connect to host
waixingrenfuli.vip: could not connect to host
wallpapers.pub: could not connect to host
@@ -1698,7 +1700,6 @@ webtech.com.br: could not connect to host
webthings.com.br: could not connect to host
wecanvisit.com: could not connect to host
weebsr.us: could not connect to host
-weed.ren: could not connect to host
weiji.ga: could not connect to host
weiler.xyz: could not connect to host
wejumall.com: could not connect to host
@@ -1709,11 +1710,11 @@ werhatunsverraten.eu: could not connect to host
wespeakgeek.co.za: could not connect to host
wetthost.com: could not connect to host
wevg.org: could not connect to host
-weyland.tech: could not connect to host
wg-tools.de: could not connect to host
whereisjason.com: could not connect to host
whereismyorigin.cf: could not connect to host
whilsttraveling.com: could not connect to host
+whitworth.nyc: could not connect to host
wibuw.com: could not connect to host
wilhelm-nathan.de: could not connect to host
willkommen-fuerstenberg.de: could not connect to host
@@ -1728,7 +1729,6 @@ wmawri.com: could not connect to host
wolfemg.com: could not connect to host
wolfenland.net: could not connect to host
wolfwings.us: could not connect to host
-wonabo.com: could not connect to host
wonderbooks.club: could not connect to host
woomu.me: could not connect to host
workemy.com: could not connect to host
@@ -1756,7 +1756,6 @@ xn--t8j2a3042d.xyz: could not connect to host
xn--yj8h0m.ws: could not connect to host
xn--ykrp42k.com: could not connect to host
xpwn.cz: could not connect to host
-xqin.net: could not connect to host
xuntaosms.com: could not connect to host
xwaretech.info: could not connect to host
y3451.com: could not connect to host
@@ -1764,6 +1763,7 @@ yabrt.cn: could not connect to host
yahoo.ax: could not connect to host
yarchives.jp: could not connect to host
yaucy.win: could not connect to host
+ybresson.com: could not connect to host
yd.io: could not connect to host
yellowcar.website: could not connect to host
yemekbaz.az: could not connect to host
@@ -1808,7 +1808,6 @@ zuefle.net: could not connect to host
zuehlcke.de: could not connect to host
zuviel.space: could not connect to host
zwy.me: could not connect to host
-zxtcode.com: could not connect to host
zyx.im: could not connect to host
zzw.ca: could not connect to host
0-1.party: did not receive HSTS header
@@ -1818,7 +1817,7 @@ zzw.ca: could not connect to host
0005aa.com: could not connect to host
007sascha.de: did not receive HSTS header
020wifi.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 119" data: no]
-0222aa.com: could not connect to host
+0222aa.com: did not receive HSTS header
040fit.nl: did not receive HSTS header
048.ag: could not connect to host
050508.com: could not connect to host
@@ -1925,7 +1924,6 @@ zzw.ca: could not connect to host
3wecommerce.com.br: could not connect to host
404.sh: could not connect to host
404404.info: could not connect to host
-411movie.com: did not receive HSTS header
420dongstorm.com: could not connect to host
42ms.org: could not connect to host
440hz-radio.de: did not receive HSTS header
@@ -2112,6 +2110,7 @@ agentseeker.ca: could not connect to host
agevio.com: could not connect to host
agonswim.com: could not connect to host
agrias.com.br: did not receive HSTS header
+agridir.site: did not receive HSTS header
agrimap.com: did not receive HSTS header
agro-id.gov.ua: did not receive HSTS header
agtv.com.br: did not receive HSTS header
@@ -2151,6 +2150,7 @@ akstudentsfirst.org: did not receive HSTS header
aktivist.in: did not receive HSTS header
al-shami.net: could not connect to host
aladdin.ie: did not receive HSTS header
+alair.cn: did not receive HSTS header
alanlee.net: could not connect to host
alanrickmanflipstable.com: could not connect to host
alariel.de: did not receive HSTS header
@@ -2198,6 +2198,7 @@ alpha.irccloud.com: could not connect to host
alphabit-secure.com: could not connect to host
alphabuild.io: could not connect to host
alphagamers.net: did not receive HSTS header
+alphahunks.com: did not receive HSTS header
alphalabs.xyz: could not connect to host
alphasall.com: could not connect to host
als-hardware.co.za: did not receive HSTS header
@@ -2349,6 +2350,7 @@ apps-for-fishing.com: could not connect to host
appsbystudio.co.uk: did not receive HSTS header
appsdash.io: could not connect to host
appuro.com: did not receive HSTS header
+aqualogy.de: did not receive HSTS header
aquariumaccessories.shop: did not receive HSTS header
aquilalab.com: could not connect to host
arabdigitalexpression.org: did not receive HSTS header
@@ -2535,7 +2537,6 @@ baff.lu: could not connect to host
bageez.us: did not receive HSTS header
bagiobella.com: max-age too low: 0
baiduaccount.com: could not connect to host
-bailbondsaffordable.com: did not receive HSTS header
bair.io: could not connect to host
baito-j.jp: did not receive HSTS header
bakaweb.fr: could not connect to host
@@ -2557,6 +2558,7 @@ banchethai.com: could not connect to host
bandb.xyz: could not connect to host
bandrcrafts.com: did not receive HSTS header
bangzafran.com: did not receive HSTS header
+bank: could not connect to host
bankmilhas.com.br: did not receive HSTS header
banksaround.com: did not receive HSTS header
banqingdiao.com: could not connect to host
@@ -2673,7 +2675,6 @@ beulahtabernacle.com: could not connect to host
bevapehappy.com: did not receive HSTS header
bewerbungsfibel.de: did not receive HSTS header
beyond-edge.com: could not connect to host
-beyondpricing.com: did not receive HSTS header
beyuna.co.uk: did not receive HSTS header
beyuna.eu: did not receive HSTS header
beyuna.nl: did not receive HSTS header
@@ -2688,6 +2689,7 @@ bgcparkstad.nl: did not receive HSTS header
bgmn.net: could not connect to host
bhatia.at: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /builds/slave/m-cen-l64-periodicupdate-00000/getHSTSPreloadList.js :: processStsHeader :: line 119" data: no]
biapinheiro.com.br: max-age too low: 5184000
+biblerhymes.com: did not receive HSTS header
bidon.ca: did not receive HSTS header
bieberium.de: could not connect to host
biego.cn: did not receive HSTS header
@@ -2739,7 +2741,6 @@ bitfarm-archiv.de: did not receive HSTS header
bitheus.com: could not connect to host
bithosting.io: did not receive HSTS header
bitlish.com: max-age too low: 86400
-bitmon.net: did not receive HSTS header
bitnet.io: did not receive HSTS header
bitrage.de: could not connect to host
bitraum.io: could not connect to host
@@ -2823,6 +2824,7 @@ book-of-ra.de: did not receive HSTS header
bookcelerator.com: did not receive HSTS header
booked.holiday: could not connect to host
bookofraonlinecasinos.com: did not receive HSTS header
+booktracker-org.appspot.com: did not receive HSTS header
boomerang.com: did not receive HSTS header
boosterlearnpro.com: did not receive HSTS header
booth.in.th: could not connect to host
@@ -2850,7 +2852,6 @@ boyfriendhusband.men: did not receive HSTS header
bp-wahl.at: did not receive HSTS header
bqtoolbox.com: could not connect to host
bragasoft.com.br: did not receive HSTS header
-brain-e.co: did not receive HSTS header
braineet.com: did not receive HSTS header
brainfork.ml: could not connect to host
brainfpv.com: did not receive HSTS header
@@ -3041,7 +3042,7 @@ candygirl.shop: could not connect to host
canyonshoa.com: did not receive HSTS header
capecycles.co.za: did not receive HSTS header
capeyorkfire.com.au: did not receive HSTS header
-capogna.com: could not connect to host
+capogna.com: did not receive HSTS header
capsogusto.com: did not receive HSTS header
captchatheprize.com: could not connect to host
captianseb.de: could not connect to host
@@ -3086,6 +3087,7 @@ cavaleria.ro: did not receive HSTS header
caveclan.org: did not receive HSTS header
cavedevs.de: could not connect to host
cavedroid.xyz: could not connect to host
+cavern.tv: did not receive HSTS header
cayafashion.de: did not receive HSTS header
cbengineeringinc.com: could not connect to host
cbhq.net: could not connect to host
@@ -3256,6 +3258,7 @@ cliftons.com: did not receive HSTS header
clinicaferrusbratos.com: did not receive HSTS header
clintonbloodworth.io: could not connect to host
clintwilson.technology: max-age too low: 2592000
+clip.ovh: did not receive HSTS header
clipped4u.com: could not connect to host
closient.com: did not receive HSTS header
cloud-crowd.com.au: did not receive HSTS header
@@ -3280,7 +3283,7 @@ cloudstorm.me: could not connect to host
cloudstrike.co: could not connect to host
cloudwalk.io: did not receive HSTS header
clounix.online: could not connect to host
-clovissantos.com: could not connect to host
+clovissantos.com: did not receive HSTS header
clowde.in: could not connect to host
clownaroundbouncycastles.co.uk: did not receive HSTS header
club-adulti.ro: did not receive HSTS header
@@ -3315,7 +3318,7 @@ codeforhakodate.org: did not receive HSTS header
codejunkie.de: did not receive HSTS header
codelayer.ca: could not connect to host
codelitmus.com: did not receive HSTS header
-codelove.de: could not connect to host
+codelove.de: did not receive HSTS header
codemonkeyrawks.net: could not connect to host
codepoet.de: did not receive HSTS header
codepx.com: did not receive HSTS header
@@ -3353,6 +3356,7 @@ comico.info: did not receive HSTS header
comicspines.com: could not connect to host
comitesaustria.at: could not connect to host
comiteshopping.com: could not connect to host
+commerciallocker.com: did not receive HSTS header
commercialplanet.eu: could not connect to host
commune-preuilly.fr: did not receive HSTS header
comocurarlashemorroides.org: could not connect to host
@@ -3576,7 +3580,7 @@ dabbot.org: did not receive HSTS header
dad256.tk: could not connect to host
dadtheimpaler.com: could not connect to host
dah5.com: did not receive HSTS header
-dahl-pind.dk: could not connect to host
+dahl-pind.dk: did not receive HSTS header
dai-rin.co.jp: could not connect to host
dailystormerpodcasts.com: could not connect to host
daimadi.com: could not connect to host
@@ -3602,7 +3606,6 @@ danishenanigans.com: could not connect to host
dankeblog.com: could not connect to host
danmark.guide: could not connect to host
dannycrichton.com: did not receive HSTS header
-danonsecurity.com: did not receive HSTS header
danrl.de: could not connect to host
danwillenberg.com: did not receive HSTS header
daolerp.xyz: could not connect to host
@@ -3645,6 +3648,7 @@ davidglidden.eu: did not receive HSTS header
davidhunter.scot: did not receive HSTS header
davidnoren.com: did not receive HSTS header
davidreinhardt.de: could not connect to host
+day.vip: did not receive HSTS header
daylightcompany.com: did not receive HSTS header
daytonaseaside.com: did not receive HSTS header
db.gy: could not connect to host
@@ -3658,7 +3662,7 @@ dcpower.eu: max-age too low: 600
dctxf.com: did not receive HSTS header
dcuofriends.net: could not connect to host
dcurt.is: did not receive HSTS header
-dcw.io: did not receive HSTS header
+dcw.io: could not connect to host
ddatsh.com: could not connect to host
ddepot.us: did not receive HSTS header
deadsoul.net: max-age too low: 0
@@ -3776,6 +3780,7 @@ digitalbank.kz: could not connect to host
digitaldaddy.net: could not connect to host
digitalero.rip: did not receive HSTS header
digitaljungle.net: could not connect to host
+digitallocker.com: did not receive HSTS header
digitalnonplus.com: could not connect to host
digitalquery.com: did not receive HSTS header
digitalriver.tk: did not receive HSTS header
@@ -3799,7 +3804,6 @@ disclosure.io: did not receive HSTS header
discotek.club: did not receive HSTS header
discovery.lookout.com: did not receive HSTS header
discoveryottawa.ca: could not connect to host
-discoveryrom.org: did not receive HSTS header
dise-online.de: did not receive HSTS header
disking.co.uk: did not receive HSTS header
dislocated.de: did not receive HSTS header
@@ -3916,6 +3920,7 @@ dreamcatcherblog.de: could not connect to host
dreamlighteyeserum.com: could not connect to host
dreamsforabetterworld.com.au: did not receive HSTS header
dredgepress.com: did not receive HSTS header
+dress-cons.com: did not receive HSTS header
drewgle.net: could not connect to host
drhopeson.com: could not connect to host
drinknaturespower.com: could not connect to host
@@ -3968,7 +3973,6 @@ dylanscott.com.au: did not receive HSTS header
dymersion.com: did not receive HSTS header
dynamic-innovations.net: could not connect to host
dynamize.solutions: did not receive HSTS header
-dyrkar.com: did not receive HSTS header
dzimejl.sk: did not receive HSTS header
dzlibs.io: could not connect to host
e-aut.net: could not connect to host
@@ -4044,7 +4048,7 @@ edsh.de: did not receive HSTS header
eduardnikolenko.ru: could not connect to host
educatio.tech: could not connect to host
educourse.ga: could not connect to host
-eduvance.in: did not receive HSTS header
+eduvance.in: could not connect to host
eengezinswoning-in-alphen-aan-den-rijn-kopen.nl: could not connect to host
eengezinswoning-in-de-friese-meren-kopen.nl: could not connect to host
eengezinswoning-in-friesland-kopen.nl: could not connect to host
@@ -4196,6 +4200,7 @@ ernaehrungsberatung-zurich.ch: could not connect to host
ernesto.at: could not connect to host
eromixx.com: did not receive HSTS header
erotalia.es: could not connect to host
+eroticforce.com: did not receive HSTS header
erotische-aanbiedingen.nl: could not connect to host
errolz.com: could not connect to host
errors.zenpayroll.com: could not connect to host
@@ -4263,6 +4268,7 @@ events12.com: did not receive HSTS header
eventsafrica.net: did not receive HSTS header
everybooks.com: could not connect to host
everydaytherich.com: max-age too low: 7776000
+everygayporn.xyz: did not receive HSTS header
everylab.org: could not connect to host
everything.place: did not receive HSTS header
everytrycounts.gov: could not connect to host
@@ -4333,7 +4339,7 @@ falkp.no: did not receive HSTS header
fallenangelspirits.uk: could not connect to host
fallofthecitadel.com: did not receive HSTS header
faluninfo.ba: did not receive HSTS header
-fam-weyer.de: could not connect to host
+fam-weyer.de: did not receive HSTS header
fame-agency.net: could not connect to host
famep.gov: could not connect to host
familie-sprink.de: could not connect to host
@@ -4384,12 +4390,14 @@ femaledom.xyz: could not connect to host
feminists.co: could not connect to host
fenno.net: could not connect to host
fensdorf.de: did not receive HSTS header
+fensterbau-mutscheller.de: did not receive HSTS header
fenteo.com: could not connect to host
feragon.net: did not receive HSTS header
feriahuamantla.com: could not connect to host
fernangp.com: did not receive HSTS header
fernseher-kauf.de: could not connect to host
ferrolatino.com: could not connect to host
+feschiyan.com: did not receive HSTS header
festember.com: did not receive HSTS header
festrip.com: could not connect to host
fettbrot.tk: did not receive HSTS header
@@ -4464,6 +4472,7 @@ fl0777.com: did not receive HSTS header
fl0888.com: did not receive HSTS header
fl0999.com: did not receive HSTS header
flags.ninja: could not connect to host
+flagspot.net: max-age too low: 129600
flairbros.at: could not connect to host
flajshans.cz: did not receive HSTS header
flamewall.net: could not connect to host
@@ -4714,6 +4723,7 @@ gesiwista.net: could not connect to host
gesunde-smoothies.de: did not receive HSTS header
get-cctv.com: could not connect to host
get.zenpayroll.com: did not receive HSTS header
+geta.pub: did not receive HSTS header
getable.com: did not receive HSTS header
getblys.com.au: did not receive HSTS header
getbooks.co.il: did not receive HSTS header
@@ -4782,7 +4792,6 @@ glass.google.com: did not receive HSTS header (error ignored - included regardle
glasslikes.com: did not receive HSTS header
glbg.eu: did not receive HSTS header
glentakahashi.com: could not connect to host
-glittersjabloon.nl: did not receive HSTS header
glitzmirror.com: could not connect to host
global-adult-webcams.com: did not receive HSTS header
globalado.com: could not connect to host
@@ -4957,7 +4966,7 @@ guso.gq: could not connect to host
guso.ml: could not connect to host
guso.site: could not connect to host
guso.tech: could not connect to host
-gussi.is: did not receive HSTS header
+gussi.is: could not connect to host
gvpt.sk: did not receive HSTS header
gvt2.com: could not connect to host (error ignored - included regardless)
gvt3.com: could not connect to host (error ignored - included regardless)
@@ -5032,13 +5041,13 @@ haobo6666.com: could not connect to host
haobo7777.com: could not connect to host
haomwei.com: could not connect to host
haoyugao.com: could not connect to host
-haozi.me: did not receive HSTS header
happist.com: did not receive HSTS header
happix.nl: did not receive HSTS header
happyfabric.me: did not receive HSTS header
happygastro.com: could not connect to host
harambe.site: could not connect to host
harbourweb.net: did not receive HSTS header
+hardergayporn.com: did not receive HSTS header
hardline.xyz: could not connect to host
haribosupermix.com: could not connect to host
harisht.me: could not connect to host
@@ -5051,6 +5060,7 @@ harvestrenewal.org: did not receive HSTS header
harz.cloud: could not connect to host
has.vision: could not connect to host
hash-list.com: could not connect to host
+hashidays.com: did not receive HSTS header
hasilocke.de: did not receive HSTS header
hasinase.de: could not connect to host
haste.ch: could not connect to host
@@ -5214,7 +5224,6 @@ hostingfj.com: could not connect to host
hostisan.com: could not connect to host
hostworkz.com: did not receive HSTS header
hotartup.com: could not connect to host
-hotchillibox.com: max-age too low: 0
hotchoc.io: did not receive HSTS header
hotel-tongruben.de: max-age too low: 0
hotelaustria-wien.at: did not receive HSTS header
@@ -5222,7 +5231,7 @@ hotelvictoriaoax-mailing.com: did not receive HSTS header
hotelvillahermosa-mailing.com: did not receive HSTS header
hotelvue.nl: could not connect to host
houkago-step.com: did not receive HSTS header
-housemaadiah.org: could not connect to host
+housemaadiah.org: did not receive HSTS header
housingstudents.org.uk: could not connect to host
howfargames.com: could not connect to host
howrandom.org: could not connect to host
@@ -5334,7 +5343,7 @@ ifastuniversity.com: did not receive HSTS header
ifleurs.com: could not connect to host
ifx.ee: could not connect to host
igforums.com: could not connect to host
-igi.codes: max-age too low: 0
+igi.codes: did not receive HSTS header
igiftcards.nl: did not receive HSTS header
ignatisd.gr: did not receive HSTS header
igule.net: could not connect to host
@@ -5455,6 +5464,7 @@ instantdev.io: could not connect to host
institutoflordelavida.com: could not connect to host
institutolancaster.com: did not receive HSTS header
instruktor.io: could not connect to host
+insurance: could not connect to host
intel.gov: did not receive HSTS header
intel.li: could not connect to host
interboursegeneva.ch: did not receive HSTS header
@@ -5614,14 +5624,14 @@ jamesbywater.me: could not connect to host
jamesbywater.me.uk: could not connect to host
jamesbywater.uk: could not connect to host
jamesconroyfinn.com: did not receive HSTS header
-jamescostian.com: could not connect to host
+jamescostian.com: did not receive HSTS header
jamesdoell.com: could not connect to host
jamesdoylephoto.com: did not receive HSTS header
jamesf.xyz: could not connect to host
jamesforman.co.nz: did not receive HSTS header
jameshale.me: did not receive HSTS header
jamesmaurer.com: did not receive HSTS header
-jami.am: could not connect to host
+jami.am: did not receive HSTS header
jamourtney.com: could not connect to host
jan-cermak.cz: did not receive HSTS header
jan-daniels.de: did not receive HSTS header
@@ -5754,6 +5764,7 @@ jonathanreyes.com: did not receive HSTS header
jongha.me: could not connect to host
jonn.me: could not connect to host
jonnichols.info: did not receive HSTS header
+jonnybarnes.uk: did not receive HSTS header
jonsno.ws: could not connect to host
joostbovee.nl: could not connect to host
jordanstrustcompany.cn: could not connect to host
@@ -5903,10 +5914,11 @@ kickasstorrents.gq: did not receive HSTS header
kickstart.com.pk: did not receive HSTS header
kid-dachau.de: did not receive HSTS header
kidkat.cn: could not connect to host
+kids2day.in: did not receive HSTS header
kiel-media.de: did not receive HSTS header
kieranjones.uk: did not receive HSTS header
kimana.pe: could not connect to host
-kimberg.co.uk: could not connect to host
+kimberg.co.uk: did not receive HSTS header
kimpost.org: could not connect to host
kina.guide: could not connect to host
kinderly.co.uk: did not receive HSTS header
@@ -5923,6 +5935,7 @@ kintrip.com: did not receive HSTS header
kionetworks.com: did not receive HSTS header
kipin.fr: did not receive HSTS header
kipira.com: could not connect to host
+kiragameforum.net: did not receive HSTS header
kirainmoe.com: max-age too low: 233000
kirara.eu: could not connect to host
kirkforcongress.com: could not connect to host
@@ -5972,7 +5985,6 @@ knowledgesnap.com: could not connect to host
knowledgesnapsites.com: could not connect to host
kodakit.com: could not connect to host
koddsson.com: did not receive HSTS header
-kode-it.de: did not receive HSTS header
kodexplorer.ml: could not connect to host
kodiaklabs.org: could not connect to host
kodokushi.fr: could not connect to host
@@ -5989,7 +6001,6 @@ kolozsvaricsuhe.hu: did not receive HSTS header
komikito.com: could not connect to host
kompetenzwerft.de: did not receive HSTS header
konata.us: could not connect to host
-konings.it: did not receive HSTS header
kontaxis.network: could not connect to host
koopjesnel.nl: did not receive HSTS header
koordinate.net: could not connect to host
@@ -6147,7 +6158,6 @@ lecourtier.fr: did not receive HSTS header
leddruckalarm.de: did not receive HSTS header
ledgerscope.net: could not connect to host
leen.io: did not receive HSTS header
-leet2.com: did not receive HSTS header
legarage.org: could not connect to host
legavenue.com.br: did not receive HSTS header
legitaxi.com: could not connect to host
@@ -6173,6 +6183,7 @@ leonmahler.consulting: did not receive HSTS header
leopold.email: could not connect to host
leopotamgroup.com: could not connect to host
lepont.pl: could not connect to host
+leppis-it.de: did not receive HSTS header
lerasenglish.com: max-age too low: 0
lerner.moscow: did not receive HSTS header
les-corsaires.net: could not connect to host
@@ -6305,7 +6316,6 @@ log2n.uk: could not connect to host
logario.com.br: could not connect to host
logicaladvertising.com: could not connect to host
login.corp.google.com: max-age too low: 7776000 (error ignored - included regardless)
-login.gov: did not receive HSTS header
login.persona.org: could not connect to host
loginseite.com: could not connect to host
logistify.com.mx: did not receive HSTS header
@@ -6331,7 +6341,7 @@ looktothestars.org: did not receive HSTS header
lookupclose.com: did not receive HSTS header
lookzook.com: did not receive HSTS header
loongsg.xyz: could not connect to host
-lordjevington.co.uk: could not connect to host
+lordjevington.co.uk: did not receive HSTS header
lostg.com: did not receive HSTS header
lostinsecurity.com: could not connect to host
lostinweb.eu: could not connect to host
@@ -6344,6 +6354,7 @@ louduniverse.net: did not receive HSTS header
louiewatch.com: could not connect to host
loveable.de: could not connect to host
lovelifelovelive.com: could not connect to host
+lovelivewiki.com: did not receive HSTS header
lovelyblogacademy.com: did not receive HSTS header
lovelycorral.com: did not receive HSTS header
lovelyfriends.org: did not receive HSTS header
@@ -6351,6 +6362,7 @@ lovelytimes.net: did not receive HSTS header
loveto.at: could not connect to host
lovingearth.net: max-age too low: 0
lowhangingfruitgrabber.com: could not connect to host
+lowtherpavilion.co.uk: did not receive HSTS header
loxis.be: did not receive HSTS header
lpak.nl: could not connect to host
lpgram.ga: could not connect to host
@@ -6491,7 +6503,7 @@ mandpress.com: did not receive HSTS header
mangazuki.co: did not receive HSTS header
maniadeprazer.com.br: could not connect to host
manifestbin.com: did not receive HSTS header
-manipulatedtme.com: did not receive HSTS header
+manipulatedtme.com: could not connect to host
manitasicily.com: did not receive HSTS header
manningbrothers.com: did not receive HSTS header
manns-solutions.com: did not receive HSTS header
@@ -6604,7 +6616,7 @@ maya.mg: could not connect to host
mazyun.com: max-age too low: 3600
mazz-tech.com: could not connect to host
mbconsultancy.nu: did not receive HSTS header
-mc81.com: could not connect to host
+mc81.com: did not receive HSTS header
mca2017.org: did not receive HSTS header
mcard.vn: did not receive HSTS header
mcb-bank.com: did not receive HSTS header
@@ -6630,7 +6642,6 @@ medallia.io: could not connect to host
mediacru.sh: could not connect to host
mediafinancelab.org: did not receive HSTS header
mediamag.am: max-age too low: 0
-mediastorm.us: could not connect to host
mediawikicn.org: could not connect to host
medienservice-fritz.de: did not receive HSTS header
medirich.co: could not connect to host
@@ -6748,7 +6759,7 @@ mikepair.net: could not connect to host
mikii.club: could not connect to host
mikk.cz: could not connect to host
miku.be: could not connect to host
-miku.hatsune.my: did not receive HSTS header
+miku.hatsune.my: max-age too low: 5184000
mikusinec.com: could not connect to host
milang.xyz: could not connect to host
milanpala.cz: did not receive HSTS header
@@ -6796,7 +6807,6 @@ mironized.com: did not receive HSTS header
mirrorx.com: did not receive HSTS header
misgluteosperfectos.com: did not receive HSTS header
misiondelosangeles-mailing.com: did not receive HSTS header
-misskey.xyz: did not receive HSTS header
missrain.tw: could not connect to host
mist.ink: could not connect to host
mister.hosting: did not receive HSTS header
@@ -6813,7 +6823,6 @@ mjcaffarattilaw.com: did not receive HSTS header
mjhsc.nl: could not connect to host
mk-dizajn.com: did not receive HSTS header
mkfs.be: could not connect to host
-mkw.st: could not connect to host
mlcdn.co: could not connect to host
mlp.ee: did not receive HSTS header
mlpchan.net: could not connect to host
@@ -6875,6 +6884,7 @@ mona.lu: could not connect to host
monarca.systems: could not connect to host
monasterialis.eu: could not connect to host
monautoneuve.fr: did not receive HSTS header
+moncoach.ch: did not receive HSTS header
mondar.io: could not connect to host
mondopoint.com: did not receive HSTS header
mondwandler.de: could not connect to host
@@ -6923,6 +6933,7 @@ moviedollars.com: did not receive HSTS header
moviesabout.net: could not connect to host
movio.ga: did not receive HSTS header
moy-gorod.od.ua: did not receive HSTS header
+moy.cat: did not receive HSTS header
mozart-game.cz: did not receive HSTS header
mozartgame.cz: did not receive HSTS header
mozoa.net: could not connect to host
@@ -7311,6 +7322,7 @@ nusatrip-api.com: did not receive HSTS header
nutricuerpo.com: did not receive HSTS header
nutritionculture.com: could not connect to host
nutsandboltsmedia.com: did not receive HSTS header
+nuttyveg.com: did not receive HSTS header
nwa.xyz: could not connect to host
nweb.co.nz: could not connect to host
nwork.media: could not connect to host
@@ -7357,7 +7369,7 @@ oganek.ie: could not connect to host
oganime.com: could not connect to host
ogogoshop.com: could not connect to host
ohm2013.org: could not connect to host
-ohsocool.org: could not connect to host
+ohsocool.org: did not receive HSTS header
oiepoie.nl: could not connect to host
oishioffice.com: did not receive HSTS header
ojls.co: could not connect to host
@@ -7648,6 +7660,7 @@ pekkarik.ru: could not connect to host
peliculasaudiolatinoonline.com: could not connect to host
peliseries24.com: did not receive HSTS header
pemberton.at: did not receive HSTS header
+penablog.com: did not receive HSTS header
pengui.uk: could not connect to host
penguinclientsystem.com: did not receive HSTS header
pennylane.me.uk: did not receive HSTS header
@@ -7827,6 +7840,7 @@ polimat.org: could not connect to host
politically-incorrect.xyz: could not connect to host
politiewervingshop.nl: did not receive HSTS header
politologos.org: did not receive HSTS header
+polkam.go.id: did not receive HSTS header
polycoise.com: could not connect to host
polycrypt.us: could not connect to host
polypho.nyc: could not connect to host
@@ -7898,6 +7912,7 @@ prezola.com: max-age too low: 0
prgslab.net: could not connect to host
pridoc.se: did not receive HSTS header
prilock.com: did not receive HSTS header
+primecaplending.com: did not receive HSTS header
prinbanat.ngo: did not receive HSTS header
printerest.io: could not connect to host
printersonline.be: did not receive HSTS header
@@ -8044,7 +8059,7 @@ quizmemes.org: could not connect to host
quotehex.com: could not connect to host
quotemaster.co.za: could not connect to host
quranserver.net: could not connect to host
-qvi.st: could not connect to host
+qvi.st: did not receive HSTS header
qwilink.me: did not receive HSTS header
r-ay.club: did not receive HSTS header
r-ay.cn: could not connect to host
@@ -8055,6 +8070,7 @@ r15.me: did not receive HSTS header
r3bl.me: did not receive HSTS header
ra-schaal.de: did not receive HSTS header
raajheshkannaa.com: could not connect to host
+radeticlaw.com: max-age too low: 0
radicaleducation.net: could not connect to host
radioheteroglossia.com: did not receive HSTS header
radishmoon.com: max-age too low: 0
@@ -8070,7 +8086,7 @@ ramatola.uk: did not receive HSTS header
ramon-c.nl: could not connect to host
ramonj.nl: could not connect to host
randomcage.com: did not receive HSTS header
-randomcloud.net: did not receive HSTS header
+randomcloud.net: could not connect to host
randomhero.cloud: could not connect to host
randomwinpicker.de: could not connect to host
randy.pw: could not connect to host
@@ -8096,7 +8112,7 @@ raulfraile.net: could not connect to host
ravage.fm: did not receive HSTS header
raven.lipetsk.ru: could not connect to host
ravengergaming.ga: did not receive HSTS header
-ravkr.duckdns.org: max-age too low: 30
+ravkr.duckdns.org: max-age too low: 360000
raw-diets.com: did not receive HSTS header
rawet.se: could not connect to host
rawoil.com: could not connect to host
@@ -8215,7 +8231,7 @@ residentsinsurance.co.uk: did not receive HSTS header
resl20.servehttp.com: could not connect to host
respice.xyz: could not connect to host
restaurace-klokocka.cz: did not receive HSTS header
-restchart.com: could not connect to host
+restchart.com: did not receive HSTS header
retroarms.com: did not receive HSTS header
retroarms.cz: did not receive HSTS header
returnofwar.com: could not connect to host
@@ -8481,6 +8497,7 @@ schroepfglas-versand.de: did not receive HSTS header
schroettle.com: did not receive HSTS header
schulterglatzen-altenwalde.de: could not connect to host
schultzflorists.com: could not connect to host
+schuppentier.org: did not receive HSTS header
schwarzkopfforyou.de: did not receive HSTS header
schweiz.guide: could not connect to host
schweizerbolzonello.net: could not connect to host
@@ -8513,6 +8530,7 @@ script.google.com: did not receive HSTS header (error ignored - included regardl
scriptenforcer.net: could not connect to host
scriptict.nl: could not connect to host
scrollstory.com: did not receive HSTS header
+scruffymen.com: did not receive HSTS header
sdhmanagementgroup.com: could not connect to host
sdia.ru: could not connect to host
sdmoscow.ru: could not connect to host
@@ -8647,6 +8665,7 @@ shadowsoks.com: could not connect to host
shadowsu.info: did not receive HSTS header
shadowsu.top: did not receive HSTS header
shagi29.ru: did not receive HSTS header
+shahbeat.com: did not receive HSTS header
shakebox.de: could not connect to host
shanekoster.net: could not connect to host
shanesage.com: could not connect to host
@@ -8725,7 +8744,6 @@ silicagelpackets.ca: did not receive HSTS header
silver-drachenkrieger.de: did not receive HSTS header
silverhome.ninja: could not connect to host
silverpvp.com: could not connect to host
-sim-sim.appspot.com: did not receive HSTS header
simbast.com: could not connect to host
simbihaiti.com: max-age too low: 7889238
simccorp.com: did not receive HSTS header
@@ -8877,6 +8895,7 @@ soldbygold.net: did not receive HSTS header
solentes.com.br: could not connect to host
solidfuelappliancespares.co.uk: did not receive HSTS header
solidus.systems: did not receive HSTS header
+solinter.com.br: did not receive HSTS header
soljem.com: did not receive HSTS header
soll-i.ch: did not receive HSTS header
solosmusic.xyz: could not connect to host
@@ -9115,7 +9134,6 @@ summitbankofkc.com: did not receive HSTS header
sumoatm.com: did not receive HSTS header
sumoscout.de: could not connect to host
sun-wellness-online.com.vn: did not receive HSTS header
-sunboxstore.jp: did not receive HSTS header
suncountrymarine.com: did not receive HSTS header
sunflyer.cn: did not receive HSTS header
sungo.wtf: did not receive HSTS header
@@ -9231,7 +9249,7 @@ tangibilizing.com: could not connect to host
taniesianie.pl: did not receive HSTS header
tankfreunde.de: did not receive HSTS header
tante-bugil.net: could not connect to host
-tantotiempo.de: did not receive HSTS header
+tantotiempo.de: could not connect to host
tanze-jetzt.de: could not connect to host
taotuba.net: did not receive HSTS header
taozj.org: did not receive HSTS header
@@ -9318,7 +9336,7 @@ teknotes.co.uk: could not connect to host
tekshrek.com: did not receive HSTS header
tel-dithmarschen.de: did not receive HSTS header
teleallarme.ch: could not connect to host
-telefisk.org: could not connect to host
+telefisk.org: did not receive HSTS header
telefonnummer.online: could not connect to host
telefoonnummerinfo.nl: could not connect to host
telescam.com: could not connect to host
@@ -9340,7 +9358,7 @@ tensionup.com: could not connect to host
tentins.com: could not connect to host
teoleonie.com: did not receive HSTS header
teos.online: could not connect to host
-terra.by: did not receive HSTS header
+terra.by: could not connect to host
terrax.berlin: could not connect to host
terrax.info: could not connect to host
teru.com.br: could not connect to host
@@ -9445,7 +9463,7 @@ thesplit.is: could not connect to host
thestack.xyz: could not connect to host
thestagchorleywood.co.uk: did not receive HSTS header
thetechnical.me: did not receive HSTS header
-thethirdroad.com: did not receive HSTS header
+thethirdroad.com: could not connect to host
thetradinghall.com: could not connect to host
theurbanyoga.com: did not receive HSTS header
thevintagenews.com: did not receive HSTS header
@@ -9526,7 +9544,6 @@ timvandekamp.nl: did not receive HSTS header
timwittenberg.com: could not connect to host
tinchbear.xyz: could not connect to host
tindewen.net: could not connect to host
-tintenprofi.de: max-age too low: 6307200
tipsyk.ru: could not connect to host
tiredofeating.com: could not connect to host
tiremoni.ch: did not receive HSTS header
@@ -9541,7 +9558,6 @@ tjeckien.guide: could not connect to host
tkappertjedemetamorfose.nl: could not connect to host
tkarstens.de: did not receive HSTS header
tkonstantopoulos.tk: could not connect to host
-tlach.cz: did not receive HSTS header
tlcdn.net: could not connect to host
tlo.hosting: could not connect to host
tlo.link: could not connect to host
@@ -9599,6 +9615,7 @@ topbestsellerproduct.com: did not receive HSTS header
topdeskdev.net: could not connect to host
topmarine.se: could not connect to host
topnewstoday.org: could not connect to host
+topnovini.com: did not receive HSTS header
toppik.com.br: could not connect to host
topshelfguild.com: could not connect to host
toptenthebest.com: did not receive HSTS header
@@ -9617,6 +9634,7 @@ tosecure.link: could not connect to host
toshnix.com: could not connect to host
toshub.com: could not connect to host
totalle.com.br: could not connect to host
+totalsystemcare.com: did not receive HSTS header
totalworkout.fitness: did not receive HSTS header
totem-eshop.cz: could not connect to host
totoro.pub: did not receive HSTS header
@@ -9675,6 +9693,7 @@ treino.blog.br: could not connect to host
trell.co.in: did not receive HSTS header
trendberry.ru: could not connect to host
triadwars.com: did not receive HSTS header
+trickedguys.com: did not receive HSTS header
tridimage.com: did not receive HSTS header
trileg.net: could not connect to host
trinityaffirmations.com: max-age too low: 0
@@ -9752,6 +9771,7 @@ twillionmas.com: could not connect to host
twinkseason.ca: could not connect to host
twinkseason.co: could not connect to host
twinkseason.co.uk: could not connect to host
+twinkseason.com: did not receive HSTS header
twinkseason.net: could not connect to host
twinkseason.org: could not connect to host
twinkseason.xyz: could not connect to host
@@ -9796,7 +9816,6 @@ ukdropshipment.co.uk: did not receive HSTS header
ukdropshipment.com: did not receive HSTS header
ukk.dk: did not receive HSTS header
ukrgadget.com: could not connect to host
-ukrnet.co.uk: did not receive HSTS header
ulabox.cat: did not receive HSTS header
ulabox.es: did not receive HSTS header
ullamodaintima.com.br: could not connect to host
@@ -9875,12 +9894,10 @@ uporoops.com: could not connect to host
uprotect.it: could not connect to host
upstats.eu: could not connect to host
uptic.net: did not receive HSTS header
-uptimed.com: did not receive HSTS header
ur-lauber.de: did not receive HSTS header
urandom.eu.org: did not receive HSTS header
urban-garden.lt: could not connect to host
urban-garden.lv: could not connect to host
-urbanstylestaging.com: did not receive HSTS header
urbpic.com: could not connect to host
urlchomp.com: did not receive HSTS header
urphp.com: could not connect to host
@@ -9974,6 +9991,7 @@ vehent.org: did not receive HSTS header
vehicleuplift.co.uk: did not receive HSTS header
velonustraduction.com: did not receive HSTS header
vemokin.net: could not connect to host
+venicefloridawebsitedesign.com: did not receive HSTS header
venixplays-stream.ml: could not connect to host
venmos.com: did not receive HSTS header
vennet.fr: max-age too low: 0
@@ -10076,6 +10094,7 @@ voicesuk.co.uk: did not receive HSTS header
voidserv.net: could not connect to host
volcrado.com: did not receive HSTS header
volkden.com: could not connect to host
+vomitb.in: did not receive HSTS header
vonavy-cukor.sk: could not connect to host
vonavycukor.sk: could not connect to host
vonterra.us: did not receive HSTS header
@@ -10151,12 +10170,11 @@ warandpeace.xyz: could not connect to host
wardsegers.be: did not receive HSTS header
warehost.de: did not receive HSTS header
warhistoryonline.com: did not receive HSTS header
-warped.com: did not receive HSTS header
+warped.com: could not connect to host
warrencreative.com: did not receive HSTS header
warsentech.com: could not connect to host
warsh.moe: did not receive HSTS header
warumsuchen.at: max-age too low: 0
-watchinventory.com: did not receive HSTS header
watchium.com: did not receive HSTS header
waterforlife.net.au: did not receive HSTS header
waterpoint.com.br: could not connect to host
@@ -10217,7 +10235,7 @@ weekly.fyi: could not connect to host
wegenaer.nl: could not connect to host
weiyuz.com: max-age too low: 6585555
welkers.org: could not connect to host
-wellastore.ru: did not receive HSTS header
+wellastore.ru: could not connect to host
wellcomp.com.br: did not receive HSTS header
wellies.com.au: max-age too low: 7889238
wellness.so: could not connect to host
@@ -10238,7 +10256,7 @@ westerhoud.nl: did not receive HSTS header
westlinwinds.com: did not receive HSTS header
westsussexconnecttosupport.org: could not connect to host
wetoxic.com: did not receive HSTS header
-wettbonus.info: did not receive HSTS header
+wettbonus.info: max-age too low: 0
wettbuero.de: did not receive HSTS header
wetten.eu: did not receive HSTS header
wettertoertchen.com: could not connect to host
@@ -10286,7 +10304,6 @@ winaes.com: did not receive HSTS header
winclient.cn: could not connect to host
windowsforum.com: max-age too low: 0
winds.cf: could not connect to host
-windycitydubfest.com: did not receive HSTS header
winecodeavocado.com: could not connect to host
winfield.me.uk: did not receive HSTS header
winged.io: could not connect to host
@@ -10514,6 +10531,7 @@ xtreamhosting.eu: could not connect to host
xtrim.ru: did not receive HSTS header
xuexb.com: did not receive HSTS header
xunn.io: did not receive HSTS header
+xuwei.de: max-age too low: 0
xuyh0120.win: did not receive HSTS header
xxbase.com: could not connect to host
xynex.us: could not connect to host
@@ -10544,7 +10562,6 @@ yesdevnull.net: did not receive HSTS header
yestees.com: did not receive HSTS header
yetcore.io: could not connect to host
yhrd.org: did not receive HSTS header
-yicknam.my: did not receive HSTS header
yikzu.cn: could not connect to host
yin.roma.it: did not receive HSTS header
yingsuo.ltd: could not connect to host
@@ -10557,7 +10574,6 @@ ynsn.nl: could not connect to host
yntongji.com: could not connect to host
yob.vn: could not connect to host
yoga-in-aying.de: did not receive HSTS header
-yogabhawnamission.com: did not receive HSTS header
yogeshbeniwal.com: did not receive HSTS header
yohanesmario.com: did not receive HSTS header
yoiyado.info: did not receive HSTS header
@@ -10658,6 +10674,7 @@ zhuji.com.cn: could not connect to host
zi0r.com: did not receive HSTS header
zian.online: could not connect to host
zicklam.com: could not connect to host
+zifb.in: did not receive HSTS header
zigcore.com.br: could not connect to host
zihao.me: did not receive HSTS header
zinc-x.com: did not receive HSTS header
diff --git a/security/manager/ssl/nsSTSPreloadList.inc b/security/manager/ssl/nsSTSPreloadList.inc
index df1d8422be49..f86128fc4a69 100644
--- a/security/manager/ssl/nsSTSPreloadList.inc
+++ b/security/manager/ssl/nsSTSPreloadList.inc
@@ -8,7 +8,7 @@
/*****************************************************************************/
#include
-const PRTime gPreloadListExpirationTime = INT64_C(1527022571784000);
+const PRTime gPreloadListExpirationTime = INT64_C(1527104005617000);
%%
0.me.uk, 1
0005pay.com, 1
@@ -329,6 +329,7 @@ const PRTime gPreloadListExpirationTime = INT64_C(1527022571784000);
41-where.com, 1
41199.com, 1
411film.com, 1
+411movie.com, 1
41844.de, 1
41where.com, 1
420java.com, 1
@@ -1032,7 +1033,6 @@ agrarshop4u.de, 1
agrekov.ru, 1
agreor.com, 1
agricolo.ch, 1
-agridir.site, 1
agrikulturchic.com, 1
agrilinks.org, 1
agrios.de, 1
@@ -1184,7 +1184,6 @@ alainbaechlerphotography.ch, 1
alainmargot.ch, 1
alainwolf.ch, 1
alainwolf.net, 1
-alair.cn, 0
alamgir.works, 1
alanhuang.name, 1
alaninkenya.org, 1
@@ -1399,7 +1398,6 @@ alphabouncycastles.co.uk, 1
alphabrock.cn, 1
alphachat.net, 1
alphafiduciaryservices.ch, 1
-alphahunks.com, 1
alphainflatablehire.com, 1
alphapengu.in, 1
alpharotary.com, 1
@@ -1994,7 +1992,6 @@ aquadonis.ch, 1
aquahomo.com, 1
aqualife.com.gr, 1
aqualifeprojects.com, 1
-aqualogy.de, 1
aquapoint.kiev.ua, 1
aquarium-supplement.net, 1
aquaron.com, 1
@@ -2133,7 +2130,7 @@ arnoudvandalen.nl, 1
arocloud.de, 0
arod.tk, 1
arokha.com, 1
-aroonchande.com, 1
+aroonchande.com, 0
around-the-blog.com, 1
arox.eu, 1
arqueo-ecuatoriana.ec, 1
@@ -2739,6 +2736,7 @@ bahnbonus-praemienwelt.de, 1
baifubao.com, 1
baiker.info, 1
bailakomigo.com.br, 1
+bailbondsaffordable.com, 1
baildonbouncycastles.co.uk, 1
baildonhottubs.co.uk, 1
baileebee.com, 1
@@ -3321,6 +3319,7 @@ beyond-infinity.org, 1
beyond-rational.com, 1
beyondalderaan.net, 1
beyondbounce.co.uk, 1
+beyondpricing.com, 1
beyondthecode.io, 1
beyondtodaymediagroup.com, 1
beyondtrust.com, 1
@@ -3365,7 +3364,6 @@ biathloncup.ru, 1
bible-maroc.com, 1
bible.ru, 1
bibleonline.ru, 1
-biblerhymes.com, 1
bibliaon.com, 1
biblio.wiki, 1
biblioblog.fr, 1
@@ -3592,6 +3590,7 @@ bitmessage.ch, 1
bitmex.com, 1
bitminter.com, 1
bitmoe.com, 1
+bitmon.net, 1
bitok.com, 1
bitplay.space, 1
bitpod.de, 1
@@ -3960,7 +3959,6 @@ bookmein.in, 1
bookourdjs.com, 1
bookreport.ga, 1
bookshopofindia.com, 1
-booktracker-org.appspot.com, 1
bookwitty.social, 1
bool.be, 1
boomersurf.com, 1
@@ -4204,6 +4202,7 @@ brahmins.com, 1
brahmstaedt.de, 1
braiampeguero.xyz, 1
brailsford.xyz, 1
+brain-e.co, 1
brain-force.ch, 1
brainball.fr, 1
brainfork.org, 1
@@ -5078,7 +5077,6 @@ cav.ac, 1
cavac.at, 1
cavalierkingcharlesspaniel.com.br, 1
cave-reynard.ch, 1
-cavern.tv, 1
cavevinsdefrance.fr, 1
cavzodiaco.com.br, 1
caylercapital.com, 1
@@ -5829,7 +5827,6 @@ clintonbloodworth.com, 1
clintonlibrary.gov, 1
clintonplasticsurgery.com, 1
clip.mx, 0
-clip.ovh, 1
clipclip.com, 1
clmde.de, 1
clnet.com.au, 1
@@ -6181,7 +6178,6 @@ comm.cx, 1
commania.co.kr, 1
commechezvous.ch, 1
commencepayments.com, 1
-commerciallocker.com, 0
commitsandrebases.com, 1
common.io, 1
commoncode.com.au, 1
@@ -7111,6 +7107,7 @@ danna-salary.com, 1
danny.fm, 1
dannyrohde.de, 1
dannystevens.co.uk, 1
+danonsecurity.com, 1
danotage.tv, 1
danova.de, 1
danoz.net, 1
@@ -7296,7 +7293,6 @@ dawnson.is, 1
dawnsonb.com, 1
dawson-floridavilla.co.uk, 1
day-peak.com, 1
-day.vip, 1
daylightpirates.org, 1
dayman.net, 1
days.one, 1
@@ -7895,7 +7891,6 @@ digitalewelten.de, 1
digitalgov.gov, 1
digitalhurricane.io, 1
digitalimpostor.co.uk, 1
-digitallocker.com, 0
digitalmarketingindallas.com, 1
digitalrights.center, 1
digitalrights.fund, 1
@@ -7993,6 +7988,7 @@ discoveringdocker.com, 1
discoverrsv.com, 1
discoverwellness.center, 1
discoveryballoon.org, 1
+discoveryrom.org, 1
discreet-condooms.nl, 1
disinclined.org, 1
disinfesta.it, 1
@@ -8424,7 +8420,6 @@ drei01.de, 1
dreid.org, 1
dreiweiden.de, 1
dreizwosechs.de, 1
-dress-cons.com, 1
drevo-door.cz, 1
drew.beer, 1
drew.red, 1
@@ -8657,6 +8652,7 @@ dynorphins.com, 1
dynts.pro, 0
dynx.pl, 1
dyrenesverden.no, 1
+dyrkar.com, 1
dysthymia.com, 1
dyyn.de, 1
dyz.pw, 1
@@ -9504,7 +9500,6 @@ ernest.ly, 1
eron.info, 1
erotic4me.ch, 1
eroticen.com, 1
-eroticforce.com, 1
erotpo.cz, 1
erp-band.ru, 1
erp.band, 1
@@ -9786,7 +9781,6 @@ everyday.eu.org, 1
everydaywot.com, 1
everyex.com, 1
everygayporn.com, 1
-everygayporn.xyz, 1
everymove.org, 1
everytruckjob.com, 1
everywhere.cloud, 1
@@ -10277,7 +10271,6 @@ fengyadi.com, 1
fengyi.tel, 1
fenster-bank.at, 1
fenster-bank.de, 1
-fensterbau-mutscheller.de, 1
feras-alhajjaji.com, 1
ferdies.co.za, 1
fergusoncastle.com, 1
@@ -10297,7 +10290,6 @@ ferreteriaxerez.com, 1
ferrolatino.ch, 1
ferticare.pt, 1
fertila.de, 1
-feschiyan.com, 1
festaprylar.se, 1
festival-tipps.com, 1
festival.house, 1
@@ -10539,7 +10531,6 @@ flaemig42.de, 1
flagburningworld.com, 1
flagfic.com, 1
flagshop.jp, 1
-flagspot.net, 1
flair.co, 1
flam.io, 1
flamer-scene.com, 0
@@ -11651,7 +11642,6 @@ get-link.info, 1
get-on.bid, 1
get-refer.com, 1
get4x.com, 1
-geta.pub, 1
getbox.me, 1
getbutterfly.com, 1
getcloak.com, 0
@@ -11870,6 +11860,7 @@ glenhuntlyapartments.com.au, 1
glidingshop.cz, 1
glidingshop.de, 1
glidingshop.eu, 1
+glittersjabloon.nl, 1
glloq.org, 1
glob-coin.com, 1
global-lights.ma, 1
@@ -12601,6 +12592,7 @@ hanzubon.jp, 1
hao-zhang.com, 1
haogoodair.ca, 1
haozhang.org, 1
+haozi.me, 1
hapijs.cn, 1
hapissl.com, 1
hapivm.com, 1
@@ -12628,7 +12620,6 @@ harapecorita.com, 1
harbor-light.net, 1
hardeman.nu, 1
hardenize.com, 1
-hardergayporn.com, 1
hardertimes.com, 1
hardesec.com, 1
hardfalcon.net, 1
@@ -12682,7 +12673,6 @@ hashi.dk, 1
hashiconf.com, 1
hashiconf.eu, 1
hashicorp.com, 1
-hashidays.com, 1
hashimah.ca, 1
hashinteractive.com, 1
hashish.net, 1
@@ -13363,6 +13353,7 @@ hosyaku.gr.jp, 1
hot-spa.ch, 1
hotcandlestick.com, 1
hotchillibox.co.za, 1
+hotchillibox.com, 1
hotel-huberhof.at, 1
hotel-kronjuwel.de, 1
hotel-le-vaisseau.ch, 1
@@ -15294,7 +15285,6 @@ jonilar.com, 1
jonirrings.com, 1
jonkermedia.nl, 1
jonlabelle.com, 1
-jonnybarnes.uk, 1
jonnystoten.com, 1
jonoalderson.com, 1
jonpads.com, 1
@@ -15960,7 +15950,6 @@ kidbacker.com, 1
kiddyboom.ua, 1
kids-at-home.ch, 1
kids-castles.com, 1
-kids2day.in, 1
kidsforsavingearth.org, 1
kidsinwoods-interfacesouth.org, 1
kidsmark.net, 1
@@ -16056,7 +16045,6 @@ kionetworks.es, 1
kippenbart.gq, 1
kipriakipita.gr, 1
kiraboshi.xyz, 1
-kiragameforum.net, 1
kiraku.co, 1
kirbear.com, 1
kirche-dortmund-ost.de, 1
@@ -16222,6 +16210,7 @@ koboldcraft.ch, 1
kobolya.hu, 1
kodak-ism.com, 1
kodden.com.br, 1
+kode-it.de, 1
kode.ch, 1
koebbes.de, 1
koelbli.ch, 1
@@ -16284,6 +16273,7 @@ kongbaofang.com, 1
konicaprinterdriver.com, 1
koniecfica.sk, 1
konijntjes.nl, 1
+konings.it, 1
koningskwartiertje.nl, 1
konklone.com, 1
konkurs.ba, 1
@@ -16950,6 +16940,7 @@ leerkotte.eu, 1
leerliga.de, 1
leertipp.de, 1
leesilvey.com, 1
+leet2.com, 1
leetcode.com, 1
leetcode.net, 1
leetgamers.asia, 1
@@ -17048,7 +17039,6 @@ lep.gov, 1
lepenetapeti.com, 1
lepiquillo.fr, 1
leponton-lorient.fr, 1
-leppis-it.de, 1
leprado.com, 1
lepsos.com, 1
lereporter.ma, 1
@@ -17558,6 +17548,7 @@ logicsale.fr, 1
logicsale.it, 1
logimagine.com, 1
login.corp.google.com, 1
+login.gov, 0
login.launchpad.net, 1
login.sapo.pt, 1
login.ubuntu.com, 1
@@ -17702,7 +17693,6 @@ lovelens.ch, 1
lovelens.li, 1
lovelive-anime.tk, 1
lovelive.us, 1
-lovelivewiki.com, 1
lovemomiji.com, 1
lovemysafetynet.com, 1
lovenwishes.com, 1
@@ -17725,7 +17715,6 @@ lowsec.space, 1
lowsidetna.com, 1
lowson.ca, 1
lowt.us, 1
-lowtherpavilion.co.uk, 1
loyaleco.it, 1
loyaltech.ch, 1
lp-support.nl, 1
@@ -18706,6 +18695,7 @@ medialab.nrw, 1
mediamarkt.pl, 1
mediapart.fr, 1
mediaselection.eu, 1
+mediastorm.us, 1
mediationculturelleclp.ch, 1
mediatorzy.waw.pl, 1
mediawiki.org, 1
@@ -19261,6 +19251,7 @@ mission-orange.de, 1
missionsgemeinde.de, 1
missip.nl, 1
missjoias.com.br, 1
+misskey.xyz, 1
missoy.me, 1
misssex.de, 1
missualready.com, 1
@@ -19339,6 +19330,7 @@ mkset.ru, 1
mktdigital.info, 1
mktemp.org, 1
mkuznets.com, 1
+mkw.st, 1
mlcambiental.com.br, 1
mlcnfriends.com, 1
mlemay.com, 1
@@ -19484,7 +19476,6 @@ mona-dress.com, 1
monachatdeco.com, 1
monalisa.wtf, 1
monbudget.org, 1
-moncoach.ch, 1
mondedesnovels.com, 1
mondedie.fr, 1
mondial-movers.nl, 1
@@ -19667,7 +19658,6 @@ movingoklahoma.org, 1
movingtohttps.com, 1
movlib.org, 1
mowalls.net, 1
-moy.cat, 1
moyer.pub, 1
moylen.eu, 1
moyoo.net, 1
@@ -21183,7 +21173,6 @@ nutrienti.eu, 0
nutrifyyourself.com, 1
nutripedia.gr, 1
nutrivisa.com.br, 1
-nuttyveg.com, 1
nuvechtdal.nl, 1
nuvini.com, 1
nuxer.fr, 1
@@ -22363,7 +22352,6 @@ pelletsprice.com, 1
pelopogrund.com, 1
pelopoplot.com, 1
pemagrid.org, 1
-penablog.com, 1
penaugustin.com, 1
pencepay.com, 1
pencillab.cn, 1
@@ -23010,7 +22998,6 @@ politeiaudesa.org, 1
politic.org.ua, 1
politik-bei-uns.de, 1
polizeiwallis.ch, 1
-polkam.go.id, 0
pollet-ghijs.be, 1
pollet-ghys.be, 1
polletmera.com, 1
@@ -23298,7 +23285,6 @@ prifo.se, 1
primaconsulting.net, 1
primalinea.pro, 1
primates.com, 1
-primecaplending.com, 1
primewho.org, 1
primordialsnooze.com, 1
primotiles.co.uk, 1
@@ -23907,7 +23893,6 @@ radar.sx, 1
radaravia.ru, 1
radcube.hu, 1
raddavarden.nu, 1
-radeticlaw.com, 1
radfieldhomecare.co.uk, 1
radfieldhomecarefranchising.co.uk, 1
radical.org, 1
@@ -24651,7 +24636,7 @@ rld.org, 1
rlds.ch, 1
rleh.de, 1
rlove.org, 1
-rlsnet.ru, 1
+rlsnet.ru, 0
rm-it.de, 1
rmb.li, 1
rmcbs.de, 1
@@ -25566,7 +25551,6 @@ schum.world, 1
schumanandmonnet.eu, 1
schummar.de, 1
schunako.ch, 1
-schuppentier.org, 1
schurkenstaat.net, 1
schutznetze24.de, 1
schutzwerk.com, 1
@@ -25640,7 +25624,6 @@ scripthost.org, 1
scriptjunkie.us, 1
scriptum.gr, 1
scrisulfacebine.ro, 1
-scruffymen.com, 1
scrumbleship.com, 1
scrumstack.co.uk, 1
scryfall.com, 1
@@ -26091,7 +26074,6 @@ shadowsocks.software, 1
shadowsworldonline.co.uk, 1
shag-shag.ru, 1
shaharyaranjum.com, 1
-shahbeat.com, 1
shaicoleman.com, 1
shaitan.eu, 1
shakan.ch, 1
@@ -26436,6 +26418,7 @@ silviamacallister.com, 1
silvine.xyz, 1
silvistefi.com, 1
sim-karten.net, 1
+sim-sim.appspot.com, 1
sim4seed.org, 1
simam.de, 1
simbeton.nl, 1
@@ -27007,7 +26990,6 @@ solidwebnetworks.co.uk, 1
solihullcarnival.co.uk, 1
solihullinflatables.com, 1
solihulllionsclub.org.uk, 1
-solinter.com.br, 1
solipym.net, 1
solisrey.es, 1
solit.systems, 1
@@ -27880,6 +27862,7 @@ summer.ga, 1
summercampthailand.com, 1
summitmasters.net, 1
sumthing.com, 1
+sunboxstore.jp, 1
sunbritetv.com, 1
sundanceusa.com, 1
sundaycooks.com, 1
@@ -29192,6 +29175,7 @@ tintencenter.com, 1
tintenfix.net, 1
tintenfux.de, 1
tintenland.de, 1
+tintenprofi.de, 1
tinyhousefinance.com.au, 1
tinylan.com, 1
tinyspeck.com, 1
@@ -29243,6 +29227,7 @@ tkn.tokyo, 1
tkts.cl, 1
tkusano.jp, 1
tkw01536.de, 1
+tlach.cz, 1
tlca.org, 1
tlcnet.info, 1
tlehseasyads.com, 1
@@ -29482,7 +29467,6 @@ topjobs.ch, 1
toplist.eu, 1
topnotchendings.com, 1
topnotepad.com, 1
-topnovini.com, 1
topodin.com, 1
topprice.ua, 1
topshelfcommercial.com, 1
@@ -29534,7 +29518,6 @@ totallynotaserver.com, 1
totalpahire.com, 1
totalparts.com.au, 1
totalprint.hu, 1
-totalsystemcare.com, 1
totaltriathlon.com, 1
totch.de, 1
totem-international.com, 1
@@ -29770,7 +29753,6 @@ tribac.de, 1
tribaldos.com, 1
tribut.de, 1
tributh.net, 1
-trickedguys.com, 1
triddi.com, 1
trident-online.de, 1
tridentflood.com, 1
@@ -30002,7 +29984,6 @@ twentymilliseconds.com, 1
twilleys.com, 1
twincitynissantxparts.com, 1
twinkieman.com, 1
-twinkseason.com, 1
twiri.net, 1
twisata.com, 1
twistapp.com, 1
@@ -30156,6 +30137,7 @@ ukozliku.cz, 1
ukpirate.org, 1
ukrainians.ch, 1
ukrigging.net, 1
+ukrnet.co.uk, 1
ukwct.org.uk, 1
ulabox.com, 1
ulalau.com, 1
@@ -30341,6 +30323,7 @@ upplevelse.com, 1
upr-info.org, 1
upr.com.ua, 1
upsiteseo.com, 1
+uptimed.com, 1
uptimenotguaranteed.com, 1
uptodateinteriors.com, 1
uptogood.org, 1
@@ -30364,6 +30347,7 @@ urbanietz-immobilien.de, 1
urbanmelbourne.info, 1
urbannewsservice.com, 1
urbansparrow.in, 1
+urbanstylestaging.com, 1
urbanwildlifealliance.org, 1
urbexdk.nl, 1
urcentral.com, 1
@@ -30669,7 +30653,6 @@ vendigital.com, 1
vendorconnect.nyc, 1
vendserve.eu, 1
venicecomputerrepair.com, 1
-venicefloridawebsitedesign.com, 1
venicerealdeal.com, 1
venirextra.com, 1
venirideal.com, 1
@@ -31034,7 +31017,6 @@ volta.io, 1
voltimax.com, 1
volto.io, 1
voltotc.com, 1
-vomitb.in, 1
vonauw.com, 1
vonborstelboerner.de, 1
vonedelmann.de, 0
@@ -31052,7 +31034,7 @@ vorodevops.com, 1
vos-fleurs.ch, 1
vos-fleurs.com, 1
vosgym.jp, 1
-voshod.org, 1
+voshod.org, 0
vosky.fr, 1
vostronet.com, 1
voter-info.uk, 1
@@ -31260,6 +31242,7 @@ watashi.bid, 1
watch-wiki.org, 1
watchface.watch, 1
watchfreeonline.co.uk, 1
+watchinventory.com, 1
watchparts-and-tools-okayama.co.jp, 1
watchstyle.com, 1
watchtv-online.pw, 1
@@ -31838,6 +31821,7 @@ windscribe.com, 1
windsock-app.com, 1
windwoodmedia.com, 1
windwoodweb.com, 1
+windycitydubfest.com, 1
wine-importer.ru, 1
winebid.com, 1
wineworksonline.com, 1
@@ -32568,7 +32552,6 @@ xuntaosms.com, 1
xuntier.ch, 1
xupeng.me, 1
xuri.me, 0
-xuwei.de, 1
xvt-blog.tk, 1
xwalck.se, 1
xwaretech.info, 1
@@ -32704,6 +32687,7 @@ yhori.xyz, 1
yhwj.top, 1
yibaoweilong.top, 1
yibin0831.com, 1
+yicknam.my, 1
yii2.cc, 1
yikeyong.com, 1
yin8888.tv, 1
@@ -32738,6 +32722,7 @@ yoga-schwerin.de, 1
yoga-sky.de, 1
yoga-zentrum-narayani.de, 1
yoga.is-an-engineer.com, 1
+yogabhawnamission.com, 1
yogananda-roma.org, 1
yogaschoolrishikesh.com, 1
yogoeasy.com, 1
@@ -33089,7 +33074,6 @@ ziegler-family.com, 1
ziegler-heizung-frankfurt.de, 1
ziemlich-zackig.de, 1
ziemlichzackig.de, 1
-zifb.in, 1
zigi.io, 1
zigzagmart.com, 1
ziin.de, 0
diff --git a/taskcluster/ci/build/android.yml b/taskcluster/ci/build/android.yml
index e1bd89ecd278..61e99cd3f859 100644
--- a/taskcluster/ci/build/android.yml
+++ b/taskcluster/ci/build/android.yml
@@ -21,7 +21,7 @@ android-api-16/debug:
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
type: directory
- name: public/build/geckoview_example.apk
- path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinariesNoMinApi/debug/geckoview_example-official-withGeckoBinaries-noMinApi-debug.apk
+ path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk
type: file
- name: public/build
path: /builds/worker/artifacts/
@@ -73,7 +73,7 @@ android-x86/opt:
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
type: directory
- name: public/build/geckoview_example.apk
- path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinariesNoMinApi/debug/geckoview_example-official-withGeckoBinaries-noMinApi-debug.apk
+ path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk
type: file
- name: public/build
path: /builds/worker/artifacts/
@@ -130,7 +130,7 @@ android-x86-nightly/opt:
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
type: directory
- name: public/build/geckoview_example.apk
- path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinariesNoMinApi/debug/geckoview_example-official-withGeckoBinaries-noMinApi-debug.apk
+ path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk
type: file
- name: public/build
path: /builds/worker/artifacts/
@@ -178,7 +178,7 @@ android-api-16/opt:
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
type: directory
- name: public/build/geckoview_example.apk
- path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinariesNoMinApi/debug/geckoview_example-official-withGeckoBinaries-noMinApi-debug.apk
+ path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk
type: file
- name: public/build
path: /builds/worker/artifacts/
@@ -202,55 +202,6 @@ android-api-16/opt:
- linux64-sccache
- proguard-jar
-android-api-16-without-google-play-services/opt:
- description: "Android 4.0 api-16+ (without Google Play Services) Opt"
- index:
- product: mobile
- job-name: android-api-16-without-google-play-services-opt
- treeherder:
- platform: android-4-0-armv7-api16/opt
- symbol: tc(BnoGPS)
- worker-type: aws-provisioner-v1/gecko-{level}-b-android
- worker:
- docker-image: {in-tree: android-build}
- max-run-time: 7200
- env:
- GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-offline"
- PERFHERDER_EXTRA_OPTIONS: android-api-16-without-google-play-services
- TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
- artifacts:
- - name: public/android/R
- path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/R
- type: directory
- - name: public/android/maven
- path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
- type: directory
- - name: public/build/geckoview_example.apk
- path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk
- type: file
- - name: public/build
- path: /builds/worker/artifacts/
- type: directory
- run:
- using: mozharness
- actions: [get-secrets build multi-l10n update]
- config:
- - builds/releng_base_android_64_builds.py
- - disable_signing.py
- - platform_supports_post_upload_to_latest.py
- script: "mozharness/scripts/fx_desktop_build.py"
- secrets: true
- custom-build-variant-cfg: api-16-without-google-play-services
- tooltool-downloads: internal
- run-on-projects: ['mozilla-central']
- toolchains:
- - android-gradle-dependencies
- - android-sdk-linux
- - linux64-clang
- - linux64-rust-android
- - linux64-sccache
- - proguard-jar
-
android-api-16-nightly/opt:
description: "Android 4.0 api-16+ Nightly"
attributes:
@@ -279,7 +230,7 @@ android-api-16-nightly/opt:
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
type: directory
- name: public/build/geckoview_example.apk
- path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinariesNoMinApi/debug/geckoview_example-official-withGeckoBinaries-noMinApi-debug.apk
+ path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk
type: file
- name: public/build
path: /builds/worker/artifacts/
@@ -332,7 +283,7 @@ android-x86-old-id/opt:
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
type: directory
- name: public/build/geckoview_example.apk
- path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinariesNoMinApi/debug/geckoview_example-official-withGeckoBinaries-noMinApi-debug.apk
+ path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk
type: file
- name: public/build
path: /builds/worker/artifacts/
@@ -388,7 +339,7 @@ android-x86-old-id-nightly/opt:
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
type: directory
- name: public/build/geckoview_example.apk
- path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinariesNoMinApi/debug/geckoview_example-official-withGeckoBinaries-noMinApi-debug.apk
+ path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk
type: file
- name: public/build
path: /builds/worker/artifacts/
@@ -437,7 +388,7 @@ android-api-16-old-id/opt:
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
type: directory
- name: public/build/geckoview_example.apk
- path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinariesNoMinApi/debug/geckoview_example-official-withGeckoBinaries-noMinApi-debug.apk
+ path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk
type: file
- name: public/build
path: /builds/worker/artifacts/
@@ -488,7 +439,7 @@ android-api-16-old-id-nightly/opt:
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
type: directory
- name: public/build/geckoview_example.apk
- path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinariesNoMinApi/debug/geckoview_example-official-withGeckoBinaries-noMinApi-debug.apk
+ path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk
type: file
- name: public/build
path: /builds/worker/artifacts/
@@ -537,7 +488,7 @@ android-api-16-gradle/opt:
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
type: directory
- name: public/build/geckoview_example.apk
- path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinariesNoMinApi/debug/geckoview_example-official-withGeckoBinaries-noMinApi-debug.apk
+ path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk
type: file
- name: public/build
path: /builds/worker/artifacts/
@@ -583,7 +534,7 @@ android-aarch64/opt:
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
type: directory
- name: public/build/geckoview_example.apk
- path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinariesNoMinApi/debug/geckoview_example-official-withGeckoBinaries-noMinApi-debug.apk
+ path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk
type: file
- name: public/build
path: /builds/worker/artifacts/
@@ -635,7 +586,7 @@ android-aarch64-nightly/opt:
path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
type: directory
- name: public/build/geckoview_example.apk
- path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/officialWithGeckoBinariesNoMinApi/debug/geckoview_example-official-withGeckoBinaries-noMinApi-debug.apk
+ path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk
type: file
- name: public/build
path: /builds/worker/artifacts/
diff --git a/taskcluster/scripts/misc/android-gradle-dependencies/after.sh b/taskcluster/scripts/misc/android-gradle-dependencies/after.sh
index 34dac0352863..cf100e953f8b 100755
--- a/taskcluster/scripts/misc/android-gradle-dependencies/after.sh
+++ b/taskcluster/scripts/misc/android-gradle-dependencies/after.sh
@@ -5,7 +5,7 @@ set -x -e
echo "running as" $(id)
: WORKSPACE ${WORKSPACE:=/builds/worker/workspace}
-: GRADLE_VERSION ${GRADLE_VERSION:=4.1}
+: GRADLE_VERSION ${GRADLE_VERSION:=3.4.1}
set -v
diff --git a/taskcluster/scripts/misc/android-gradle-dependencies/nexus.xml b/taskcluster/scripts/misc/android-gradle-dependencies/nexus.xml
index b1e9a161c4ac..215cc860284b 100644
--- a/taskcluster/scripts/misc/android-gradle-dependencies/nexus.xml
+++ b/taskcluster/scripts/misc/android-gradle-dependencies/nexus.xml
@@ -72,8 +72,7 @@
RELEASE
-
- STRICT_IF_EXISTS
+ STRICT
true
false
-1
diff --git a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_without_google_play_services.py b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_without_google_play_services.py
deleted file mode 100644
index 5d385eb314fb..000000000000
--- a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_without_google_play_services.py
+++ /dev/null
@@ -1,8 +0,0 @@
-config = {
- 'base_name': 'Android armv7 api-16+ %(branch)s --without-google-play-services',
- 'stage_platform': 'android-api-16',
- 'build_type': 'api-16-opt',
- 'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-16/nightly-without-google-play-services',
- 'multi_locale_config_platform': 'android',
- 'artifact_flag_build_variant_in_try': None, # There's no artifact equivalent.
-}
diff --git a/testing/mozharness/mozharness/mozilla/building/buildbase.py b/testing/mozharness/mozharness/mozilla/building/buildbase.py
index 989604c65038..be14a31c02a6 100755
--- a/testing/mozharness/mozharness/mozilla/building/buildbase.py
+++ b/testing/mozharness/mozharness/mozilla/building/buildbase.py
@@ -434,7 +434,6 @@ class BuildOptionParser(object):
'api-16-debug-artifact': 'builds/releng_sub_%s_configs/%s_api_16_debug_artifact.py',
'api-16-gradle': 'builds/releng_sub_%s_configs/%s_api_16_gradle.py',
'api-16-gradle-artifact': 'builds/releng_sub_%s_configs/%s_api_16_gradle_artifact.py',
- 'api-16-without-google-play-services': 'builds/releng_sub_%s_configs/%s_api_16_without_google_play_services.py',
'rusttests': 'builds/releng_sub_%s_configs/%s_rusttests.py',
'rusttests-debug': 'builds/releng_sub_%s_configs/%s_rusttests_debug.py',
'x86': 'builds/releng_sub_%s_configs/%s_x86.py',
diff --git a/testing/web-platform/meta/content-security-policy/base-uri/report-uri-does-not-respect-base-uri.sub.html.ini b/testing/web-platform/meta/content-security-policy/base-uri/report-uri-does-not-respect-base-uri.sub.html.ini
index 66aefa9bd9f5..a01d37b2153d 100644
--- a/testing/web-platform/meta/content-security-policy/base-uri/report-uri-does-not-respect-base-uri.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/base-uri/report-uri-does-not-respect-base-uri.sub.html.ini
@@ -1,5 +1,3 @@
[report-uri-does-not-respect-base-uri.sub.html]
prefs: [security.csp.enable_violation_events:true]
- [Event is fired]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/blob/blob-urls-do-not-match-self.sub.html.ini b/testing/web-platform/meta/content-security-policy/blob/blob-urls-do-not-match-self.sub.html.ini
index 9809bc29a73e..3cb050307f98 100644
--- a/testing/web-platform/meta/content-security-policy/blob/blob-urls-do-not-match-self.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/blob/blob-urls-do-not-match-self.sub.html.ini
@@ -1,4 +1,3 @@
[blob-urls-do-not-match-self.sub.html]
- [Expecting logs: ["violated-directive=script-src"\]]
- expected: FAIL
+ prefs: [security.csp.enable_violation_events:true]
diff --git a/testing/web-platform/meta/content-security-policy/connect-src/connect-src-beacon-blocked.sub.html.ini b/testing/web-platform/meta/content-security-policy/connect-src/connect-src-beacon-blocked.sub.html.ini
index 3e0a12558b57..9a3f7323add2 100644
--- a/testing/web-platform/meta/content-security-policy/connect-src/connect-src-beacon-blocked.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/connect-src/connect-src-beacon-blocked.sub.html.ini
@@ -1,10 +1,9 @@
[connect-src-beacon-blocked.sub.html]
+ type: testharness
+ prefs: [security.csp.enable_violation_events:true]
[sendBeacon should not throw.]
expected: FAIL
[redirect case]
expected: TIMEOUT
- [Expecting logs: ["Pass", "violated-directive=connect-src"\]]
- expected: FAIL
-
diff --git a/testing/web-platform/meta/content-security-policy/connect-src/connect-src-beacon-redirect-to-blocked.sub.html.ini b/testing/web-platform/meta/content-security-policy/connect-src/connect-src-beacon-redirect-to-blocked.sub.html.ini
index 4222003cf6a2..496b75596d7d 100644
--- a/testing/web-platform/meta/content-security-policy/connect-src/connect-src-beacon-redirect-to-blocked.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/connect-src/connect-src-beacon-redirect-to-blocked.sub.html.ini
@@ -1,4 +1,3 @@
[connect-src-beacon-redirect-to-blocked.sub.html]
- [Expecting logs: ["violated-directive=connect-src"\]]
- expected: FAIL
+ prefs: [security.csp.enable_violation_events:true]
diff --git a/testing/web-platform/meta/content-security-policy/connect-src/connect-src-eventsource-blocked.sub.html.ini b/testing/web-platform/meta/content-security-policy/connect-src/connect-src-eventsource-blocked.sub.html.ini
index e25737652c09..99c76995584a 100644
--- a/testing/web-platform/meta/content-security-policy/connect-src/connect-src-eventsource-blocked.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/connect-src/connect-src-eventsource-blocked.sub.html.ini
@@ -1,4 +1,4 @@
[connect-src-eventsource-blocked.sub.html]
- [Expecting logs: ["Pass","violated-directive=connect-src"\]]
- expected: FAIL
+ type: testharness
+ prefs: [security.csp.enable_violation_events:true]
diff --git a/testing/web-platform/meta/content-security-policy/connect-src/connect-src-eventsource-redirect-to-blocked.sub.html.ini b/testing/web-platform/meta/content-security-policy/connect-src/connect-src-eventsource-redirect-to-blocked.sub.html.ini
index 15cb1b1c18fb..098e87f57f63 100644
--- a/testing/web-platform/meta/content-security-policy/connect-src/connect-src-eventsource-redirect-to-blocked.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/connect-src/connect-src-eventsource-redirect-to-blocked.sub.html.ini
@@ -1,7 +1,6 @@
[connect-src-eventsource-redirect-to-blocked.sub.html]
+ type: testharness
+ prefs: [security.csp.enable_violation_events:true]
[Expecting logs: ["PASS EventSource() did not follow the disallowed redirect.","PASS successfullyParsed is true","TEST COMPLETE"\]]
expected: FAIL
- [Expecting logs: ["PASS EventSource() did not follow the disallowed redirect.","TEST COMPLETE", "violated-directive=connect-src"\]]
- expected: FAIL
-
diff --git a/testing/web-platform/meta/content-security-policy/connect-src/connect-src-websocket-blocked.sub.html.ini b/testing/web-platform/meta/content-security-policy/connect-src/connect-src-websocket-blocked.sub.html.ini
index d912007bb827..e99ec693ed7d 100644
--- a/testing/web-platform/meta/content-security-policy/connect-src/connect-src-websocket-blocked.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/connect-src/connect-src-websocket-blocked.sub.html.ini
@@ -1,7 +1,6 @@
[connect-src-websocket-blocked.sub.html]
+ type: testharness
+ prefs: [security.csp.enable_violation_events:true]
[WebSocket should fire error event.]
expected: FAIL
- [Expecting logs: ["Pass","violated-directive=connect-src"\]]
- expected: FAIL
-
diff --git a/testing/web-platform/meta/content-security-policy/connect-src/connect-src-xmlhttprequest-blocked.sub.html.ini b/testing/web-platform/meta/content-security-policy/connect-src/connect-src-xmlhttprequest-blocked.sub.html.ini
index 781f857debfa..b2194168da32 100644
--- a/testing/web-platform/meta/content-security-policy/connect-src/connect-src-xmlhttprequest-blocked.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/connect-src/connect-src-xmlhttprequest-blocked.sub.html.ini
@@ -6,6 +6,3 @@
[XHR should fire onerror after a redirect.]
expected: FAIL
- [Expecting logs: ["Pass","violated-directive=connect-src"\]]
- expected: FAIL
-
diff --git a/testing/web-platform/meta/content-security-policy/connect-src/connect-src-xmlhttprequest-redirect-to-blocked.sub.html.ini b/testing/web-platform/meta/content-security-policy/connect-src/connect-src-xmlhttprequest-redirect-to-blocked.sub.html.ini
index 723c1469a879..c5fab72ccb0d 100644
--- a/testing/web-platform/meta/content-security-policy/connect-src/connect-src-xmlhttprequest-redirect-to-blocked.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/connect-src/connect-src-xmlhttprequest-redirect-to-blocked.sub.html.ini
@@ -1,4 +1,3 @@
[connect-src-xmlhttprequest-redirect-to-blocked.sub.html]
- [Expecting logs: ["PASS XMLHttpRequest.send() did not follow the disallowed redirect.","TEST COMPLETE","violated-directive=connect-src"\]]
- expected: FAIL
+ prefs: [security.csp.enable_violation_events:true]
diff --git a/testing/web-platform/meta/content-security-policy/connect-src/worker-from-guid.sub.html.ini b/testing/web-platform/meta/content-security-policy/connect-src/worker-from-guid.sub.html.ini
index 3af24d2bca01..e2168562faa6 100644
--- a/testing/web-platform/meta/content-security-policy/connect-src/worker-from-guid.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/connect-src/worker-from-guid.sub.html.ini
@@ -1,4 +1,3 @@
[worker-from-guid.sub.html]
- [Expecting logs: ["violated-directive=connect-src","xhr blocked","TEST COMPLETE"\]]
- expected: FAIL
+ prefs: [security.csp.enable_violation_events:true]
diff --git a/testing/web-platform/meta/content-security-policy/font-src/font-stylesheet-font-blocked.sub.html.ini b/testing/web-platform/meta/content-security-policy/font-src/font-stylesheet-font-blocked.sub.html.ini
index 2dc22204af48..01644f42bbe0 100644
--- a/testing/web-platform/meta/content-security-policy/font-src/font-stylesheet-font-blocked.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/font-src/font-stylesheet-font-blocked.sub.html.ini
@@ -1,5 +1,3 @@
[font-stylesheet-font-blocked.sub.html]
prefs: [security.csp.enable_violation_events:true]
- [Test font does not load if it does not match font-src.]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/form-action/form-action-src-blocked.sub.html.ini b/testing/web-platform/meta/content-security-policy/form-action/form-action-src-blocked.sub.html.ini
index bf7af988c28a..56f8b69b5437 100644
--- a/testing/web-platform/meta/content-security-policy/form-action/form-action-src-blocked.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/form-action/form-action-src-blocked.sub.html.ini
@@ -1,7 +1,6 @@
[form-action-src-blocked.sub.html]
+ type: testharness
+ prefs: [security.csp.enable_violation_events:true]
[form-action-src-blocked]
expected: FAIL
- [Expecting logs: ["violated-directive=form-action","TEST COMPLETE"\]]
- expected: FAIL
-
diff --git a/testing/web-platform/meta/content-security-policy/form-action/form-action-src-get-blocked.sub.html.ini b/testing/web-platform/meta/content-security-policy/form-action/form-action-src-get-blocked.sub.html.ini
index 90bfd2eb6639..b632b598296c 100644
--- a/testing/web-platform/meta/content-security-policy/form-action/form-action-src-get-blocked.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/form-action/form-action-src-get-blocked.sub.html.ini
@@ -1,7 +1,6 @@
[form-action-src-get-blocked.sub.html]
+ type: testharness
+ prefs: [security.csp.enable_violation_events:true]
[form-action-src-allowed]
expected: FAIL
- [Expecting logs: ["violated-directive=form-action","TEST COMPLETE"\]]
- expected: FAIL
-
diff --git a/testing/web-platform/meta/content-security-policy/form-action/form-action-src-javascript-blocked.sub.html.ini b/testing/web-platform/meta/content-security-policy/form-action/form-action-src-javascript-blocked.sub.html.ini
index 9d0edaa561b1..c11de025f68e 100644
--- a/testing/web-platform/meta/content-security-policy/form-action/form-action-src-javascript-blocked.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/form-action/form-action-src-javascript-blocked.sub.html.ini
@@ -1,7 +1,6 @@
[form-action-src-javascript-blocked.sub.html]
+ type: testharness
+ prefs: [security.csp.enable_violation_events:true]
[form-action-src-javascript-blocked]
expected: FAIL
- [Expecting logs: ["violated-directive=form-action","TEST COMPLETE"\]]
- expected: FAIL
-
diff --git a/testing/web-platform/meta/content-security-policy/generic/generic-0_10_1.sub.html.ini b/testing/web-platform/meta/content-security-policy/generic/generic-0_10_1.sub.html.ini
index 49c8cdf32458..7baa5e9686d9 100644
--- a/testing/web-platform/meta/content-security-policy/generic/generic-0_10_1.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/generic/generic-0_10_1.sub.html.ini
@@ -1,5 +1,3 @@
[generic-0_10_1.sub.html]
prefs: [security.csp.enable_violation_events:true]
- [Should fire violation events for every failed violation]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/generic/generic-0_2_2.sub.html.ini b/testing/web-platform/meta/content-security-policy/generic/generic-0_2_2.sub.html.ini
index 66a72f6b0f5c..f638456bbd2f 100644
--- a/testing/web-platform/meta/content-security-policy/generic/generic-0_2_2.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/generic/generic-0_2_2.sub.html.ini
@@ -1,5 +1,3 @@
[generic-0_2_2.sub.html]
prefs: [security.csp.enable_violation_events:true]
- [Should fire violation events for every failed violation]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/generic/generic-0_2_3.html.ini b/testing/web-platform/meta/content-security-policy/generic/generic-0_2_3.html.ini
index d6b857c21948..37b2564bce25 100644
--- a/testing/web-platform/meta/content-security-policy/generic/generic-0_2_3.html.ini
+++ b/testing/web-platform/meta/content-security-policy/generic/generic-0_2_3.html.ini
@@ -1,5 +1,3 @@
[generic-0_2_3.html]
prefs: [security.csp.enable_violation_events:true]
- [Should fire violation events for every failed violation]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/generic/generic-0_8_1.sub.html.ini b/testing/web-platform/meta/content-security-policy/generic/generic-0_8_1.sub.html.ini
index 03a1db9f4f34..0048dfcbd8ea 100644
--- a/testing/web-platform/meta/content-security-policy/generic/generic-0_8_1.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/generic/generic-0_8_1.sub.html.ini
@@ -1,5 +1,3 @@
[generic-0_8_1.sub.html]
prefs: [security.csp.enable_violation_events:true]
- [Should fire violation events for every failed violation]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/img-src/report-blocked-data-uri.sub.html.ini b/testing/web-platform/meta/content-security-policy/img-src/report-blocked-data-uri.sub.html.ini
index a312f653f376..c5ba7a741278 100644
--- a/testing/web-platform/meta/content-security-policy/img-src/report-blocked-data-uri.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/img-src/report-blocked-data-uri.sub.html.ini
@@ -1,4 +1,3 @@
[report-blocked-data-uri.sub.html]
- [Expecting logs: ["violated-directive=img-src"\]]
- expected: FAIL
+ prefs: [security.csp.enable_violation_events:true]
diff --git a/testing/web-platform/meta/content-security-policy/object-src/object-src-url-blocked.sub.html.ini b/testing/web-platform/meta/content-security-policy/object-src/object-src-url-blocked.sub.html.ini
index 22bd10785100..023c9d609d44 100644
--- a/testing/web-platform/meta/content-security-policy/object-src/object-src-url-blocked.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/object-src/object-src-url-blocked.sub.html.ini
@@ -1,4 +1,3 @@
[object-src-url-blocked.sub.html]
- [Expecting logs: ["violated-directive=object-src"\]]
- expected: FAIL
+ prefs: [security.csp.enable_violation_events:true]
diff --git a/testing/web-platform/meta/content-security-policy/reporting/reporting-api-report-only-sends-reports-on-violation.https.sub.html.ini b/testing/web-platform/meta/content-security-policy/reporting/reporting-api-report-only-sends-reports-on-violation.https.sub.html.ini
index a0bb8d5088e0..df26adaf6006 100644
--- a/testing/web-platform/meta/content-security-policy/reporting/reporting-api-report-only-sends-reports-on-violation.https.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/reporting/reporting-api-report-only-sends-reports-on-violation.https.sub.html.ini
@@ -1,8 +1,5 @@
[reporting-api-report-only-sends-reports-on-violation.https.sub.html]
prefs: [security.csp.enable_violation_events:true]
- [Event is fired]
- expected: FAIL
-
[Violation report status OK.]
expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/reporting/reporting-api-report-to-overrides-report-uri-1.https.sub.html.ini b/testing/web-platform/meta/content-security-policy/reporting/reporting-api-report-to-overrides-report-uri-1.https.sub.html.ini
index 8ed7ea7b023c..6b284398541d 100644
--- a/testing/web-platform/meta/content-security-policy/reporting/reporting-api-report-to-overrides-report-uri-1.https.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/reporting/reporting-api-report-to-overrides-report-uri-1.https.sub.html.ini
@@ -1,5 +1,3 @@
[reporting-api-report-to-overrides-report-uri-1.https.sub.html]
prefs: [security.csp.enable_violation_events:true]
- [Event is fired]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/reporting/reporting-api-report-to-overrides-report-uri-2.https.sub.html.ini b/testing/web-platform/meta/content-security-policy/reporting/reporting-api-report-to-overrides-report-uri-2.https.sub.html.ini
index 0e31e0a254a1..fd0ea2374cb0 100644
--- a/testing/web-platform/meta/content-security-policy/reporting/reporting-api-report-to-overrides-report-uri-2.https.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/reporting/reporting-api-report-to-overrides-report-uri-2.https.sub.html.ini
@@ -1,5 +1,3 @@
[reporting-api-report-to-overrides-report-uri-2.https.sub.html]
prefs: [security.csp.enable_violation_events:true]
- [Event is fired]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/reporting/reporting-api-sends-reports-on-violation.https.sub.html.ini b/testing/web-platform/meta/content-security-policy/reporting/reporting-api-sends-reports-on-violation.https.sub.html.ini
index 11dcca55dd7a..5193a05f3cc0 100644
--- a/testing/web-platform/meta/content-security-policy/reporting/reporting-api-sends-reports-on-violation.https.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/reporting/reporting-api-sends-reports-on-violation.https.sub.html.ini
@@ -1,8 +1,5 @@
[reporting-api-sends-reports-on-violation.https.sub.html]
prefs: [security.csp.enable_violation_events:true]
- [Event is fired]
- expected: FAIL
-
[Violation report status OK.]
expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/script-src/injected-inline-script-blocked.sub.html.ini b/testing/web-platform/meta/content-security-policy/script-src/injected-inline-script-blocked.sub.html.ini
index 303196d8833c..3227e75da61d 100644
--- a/testing/web-platform/meta/content-security-policy/script-src/injected-inline-script-blocked.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/script-src/injected-inline-script-blocked.sub.html.ini
@@ -1,4 +1,3 @@
[injected-inline-script-blocked.sub.html]
- [Expecting logs: ["violated-directive=script-src",\]]
- expected: FAIL
+ prefs: [security.csp.enable_violation_events:true]
diff --git a/testing/web-platform/meta/content-security-policy/script-src/script-src-1_1.html.ini b/testing/web-platform/meta/content-security-policy/script-src/script-src-1_1.html.ini
index cbf4b1d1f108..db503c17b6ed 100644
--- a/testing/web-platform/meta/content-security-policy/script-src/script-src-1_1.html.ini
+++ b/testing/web-platform/meta/content-security-policy/script-src/script-src-1_1.html.ini
@@ -1,5 +1,3 @@
[script-src-1_1.html]
prefs: [security.csp.enable_violation_events:true]
- [Should not fire policy violation events]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/script-src/script-src-1_2.html.ini b/testing/web-platform/meta/content-security-policy/script-src/script-src-1_2.html.ini
index e70c9fd60957..544886175bb6 100644
--- a/testing/web-platform/meta/content-security-policy/script-src/script-src-1_2.html.ini
+++ b/testing/web-platform/meta/content-security-policy/script-src/script-src-1_2.html.ini
@@ -2,6 +2,4 @@
disabled:
if os == "win": bug 1172411
prefs: [security.csp.enable_violation_events:true]
- [Should not fire policy violation events]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/script-src/script-src-1_2_1.html.ini b/testing/web-platform/meta/content-security-policy/script-src/script-src-1_2_1.html.ini
index 9a300b4aec4b..563a9cd3b06f 100644
--- a/testing/web-platform/meta/content-security-policy/script-src/script-src-1_2_1.html.ini
+++ b/testing/web-platform/meta/content-security-policy/script-src/script-src-1_2_1.html.ini
@@ -2,6 +2,4 @@
disabled:
if os == "win": bug 1094323
prefs: [security.csp.enable_violation_events:true]
- [Test that securitypolicyviolation event is fired]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/script-src/script-src-1_4.html.ini b/testing/web-platform/meta/content-security-policy/script-src/script-src-1_4.html.ini
index 4644eac40e73..a34ac5f9a2ba 100644
--- a/testing/web-platform/meta/content-security-policy/script-src/script-src-1_4.html.ini
+++ b/testing/web-platform/meta/content-security-policy/script-src/script-src-1_4.html.ini
@@ -3,6 +3,3 @@
[eval() should throw without 'unsafe-eval' keyword source in script-src directive.]
expected: FAIL
- [Test that securitypolicyviolation event is fired]
- expected: FAIL
-
diff --git a/testing/web-platform/meta/content-security-policy/script-src/script-src-1_4_1.html.ini b/testing/web-platform/meta/content-security-policy/script-src/script-src-1_4_1.html.ini
index 67eeb2550bc3..cf6e35f677e4 100644
--- a/testing/web-platform/meta/content-security-policy/script-src/script-src-1_4_1.html.ini
+++ b/testing/web-platform/meta/content-security-policy/script-src/script-src-1_4_1.html.ini
@@ -2,6 +2,4 @@
disabled:
if os == "win": bug 1094323
prefs: [security.csp.enable_violation_events:true]
- [Test that securitypolicyviolation event is fired]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/script-src/script-src-1_4_2.html.ini b/testing/web-platform/meta/content-security-policy/script-src/script-src-1_4_2.html.ini
index 3027ef0d5c5e..86ddad79ed10 100644
--- a/testing/web-platform/meta/content-security-policy/script-src/script-src-1_4_2.html.ini
+++ b/testing/web-platform/meta/content-security-policy/script-src/script-src-1_4_2.html.ini
@@ -3,6 +3,3 @@
[Unsafe eval ran in Function() constructor.]
expected: FAIL
- [Test that securitypolicyviolation event is fired]
- expected: FAIL
-
diff --git a/testing/web-platform/meta/content-security-policy/script-src/script-src-strict_dynamic_discard_whitelist.html.ini b/testing/web-platform/meta/content-security-policy/script-src/script-src-strict_dynamic_discard_whitelist.html.ini
index ecd5449d93b0..3364ac9041a2 100644
--- a/testing/web-platform/meta/content-security-policy/script-src/script-src-strict_dynamic_discard_whitelist.html.ini
+++ b/testing/web-platform/meta/content-security-policy/script-src/script-src-strict_dynamic_discard_whitelist.html.ini
@@ -1,5 +1,3 @@
[script-src-strict_dynamic_discard_whitelist.html]
prefs: [security.csp.enable_violation_events:true]
- [Whitelisted script without a correct nonce is not allowed with `strict-dynamic`.]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/script-src/script-src-strict_dynamic_double_policy_different_nonce.html.ini b/testing/web-platform/meta/content-security-policy/script-src/script-src-strict_dynamic_double_policy_different_nonce.html.ini
index fc0c433a1d80..6b282240eac0 100644
--- a/testing/web-platform/meta/content-security-policy/script-src/script-src-strict_dynamic_double_policy_different_nonce.html.ini
+++ b/testing/web-platform/meta/content-security-policy/script-src/script-src-strict_dynamic_double_policy_different_nonce.html.ini
@@ -1,5 +1,3 @@
[script-src-strict_dynamic_double_policy_different_nonce.html]
prefs: [security.csp.enable_violation_events:true]
- [Unnonced script injected via `appendChild` is not allowed with `strict-dynamic` + a nonce-only double policy.]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/script-src/script-src-strict_dynamic_double_policy_report_only.html.ini b/testing/web-platform/meta/content-security-policy/script-src/script-src-strict_dynamic_double_policy_report_only.html.ini
index e3b45fcbd7d9..7e6d1a302399 100644
--- a/testing/web-platform/meta/content-security-policy/script-src/script-src-strict_dynamic_double_policy_report_only.html.ini
+++ b/testing/web-platform/meta/content-security-policy/script-src/script-src-strict_dynamic_double_policy_report_only.html.ini
@@ -1,5 +1,4 @@
[script-src-strict_dynamic_double_policy_report_only.html]
+ type: testharness
prefs: [security.csp.enable_violation_events:true]
- [Script injected via `appendChild` is allowed with `strict-dynamic` + Report-Only `script-src 'none'` policy.]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/script-src/script-src-strict_dynamic_javascript_uri.html.ini b/testing/web-platform/meta/content-security-policy/script-src/script-src-strict_dynamic_javascript_uri.html.ini
index b3d1a425c31b..1d73ff810539 100644
--- a/testing/web-platform/meta/content-security-policy/script-src/script-src-strict_dynamic_javascript_uri.html.ini
+++ b/testing/web-platform/meta/content-security-policy/script-src/script-src-strict_dynamic_javascript_uri.html.ini
@@ -1,5 +1,3 @@
[script-src-strict_dynamic_javascript_uri.html]
prefs: [security.csp.enable_violation_events:true]
- [Script injected via `javascript:` URIs are not allowed with `strict-dynamic`.]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/script-src/script-src-strict_dynamic_non_parser_inserted_incorrect_nonce.html.ini b/testing/web-platform/meta/content-security-policy/script-src/script-src-strict_dynamic_non_parser_inserted_incorrect_nonce.html.ini
index 96aca788876f..14f5d166fd25 100644
--- a/testing/web-platform/meta/content-security-policy/script-src/script-src-strict_dynamic_non_parser_inserted_incorrect_nonce.html.ini
+++ b/testing/web-platform/meta/content-security-policy/script-src/script-src-strict_dynamic_non_parser_inserted_incorrect_nonce.html.ini
@@ -1,5 +1,3 @@
[script-src-strict_dynamic_non_parser_inserted_incorrect_nonce.html]
prefs: [security.csp.enable_violation_events:true]
- [All the expected CSP violation reports have been fired.]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/script-src/script-src-strict_dynamic_parser_inserted.html.ini b/testing/web-platform/meta/content-security-policy/script-src/script-src-strict_dynamic_parser_inserted.html.ini
index 2cd6007dda52..ad37731cd25e 100644
--- a/testing/web-platform/meta/content-security-policy/script-src/script-src-strict_dynamic_parser_inserted.html.ini
+++ b/testing/web-platform/meta/content-security-policy/script-src/script-src-strict_dynamic_parser_inserted.html.ini
@@ -1,30 +1,6 @@
[script-src-strict_dynamic_parser_inserted.html]
expected: TIMEOUT
prefs: [security.csp.enable_violation_events:true]
- [Parser-inserted script via `document.write` without a correct nonce is not allowed with `strict-dynamic`.]
- expected: FAIL
-
- [Parser-inserted script via `document.writeln` without a correct nonce is not allowed with `strict-dynamic`.]
- expected: FAIL
-
- [Parser-inserted deferred script via `document.write` without a correct nonce is not allowed with `strict-dynamic`.]
- expected: FAIL
-
- [Parser-inserted deferred script via `document.writeln` without a correct nonce is not allowed with `strict-dynamic`.]
- expected: FAIL
-
- [Parser-inserted async script via `document.write` without a correct nonce is not allowed with `strict-dynamic`.]
- expected: FAIL
-
- [Parser-inserted async script via `document.writeln` without a correct nonce is not allowed with `strict-dynamic`.]
- expected: FAIL
-
- [Parser-inserted deferred async script via `document.write` without a correct nonce is not allowed with `strict-dynamic`.]
- expected: FAIL
-
- [Parser-inserted deferred async script via `document.writeln` without a correct nonce is not allowed with `strict-dynamic`.]
- expected: FAIL
-
[Script injected via `innerHTML` is not allowed with `strict-dynamic`.]
expected: TIMEOUT
diff --git a/testing/web-platform/meta/content-security-policy/script-src/scripthash-unicode-normalization.sub.html.ini b/testing/web-platform/meta/content-security-policy/script-src/scripthash-unicode-normalization.sub.html.ini
index cce73aee9d23..ed42404431de 100644
--- a/testing/web-platform/meta/content-security-policy/script-src/scripthash-unicode-normalization.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/script-src/scripthash-unicode-normalization.sub.html.ini
@@ -1,5 +1,3 @@
[scripthash-unicode-normalization.sub.html]
prefs: [security.csp.enable_violation_events:true]
- [Should fire securitypolicyviolation]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/script-src/scriptnonce-and-scripthash.sub.html.ini b/testing/web-platform/meta/content-security-policy/script-src/scriptnonce-and-scripthash.sub.html.ini
index a35097aaa127..155e0941ed18 100644
--- a/testing/web-platform/meta/content-security-policy/script-src/scriptnonce-and-scripthash.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/script-src/scriptnonce-and-scripthash.sub.html.ini
@@ -1,5 +1,3 @@
[scriptnonce-and-scripthash.sub.html]
prefs: [security.csp.enable_violation_events:true]
- [Expecting alerts: ["PASS (1/3)","PASS (2/3)","PASS (3/3)"\]]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/script-src/scriptnonce-ignore-unsafeinline.sub.html.ini b/testing/web-platform/meta/content-security-policy/script-src/scriptnonce-ignore-unsafeinline.sub.html.ini
index ae69ab9b57b2..3d0cd56e9af3 100644
--- a/testing/web-platform/meta/content-security-policy/script-src/scriptnonce-ignore-unsafeinline.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/script-src/scriptnonce-ignore-unsafeinline.sub.html.ini
@@ -1,5 +1,3 @@
[scriptnonce-ignore-unsafeinline.sub.html]
prefs: [security.csp.enable_violation_events:true]
- [Expecting alerts: ["PASS (1/2)","PASS (2/2)", "violated-directive=script-src"\]]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-image.sub.html.ini b/testing/web-platform/meta/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-image.sub.html.ini
index 7b9372b5a687..5ffd0e930be2 100644
--- a/testing/web-platform/meta/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-image.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/securitypolicyviolation/securitypolicyviolation-block-image.sub.html.ini
@@ -1,5 +1,3 @@
[securitypolicyviolation-block-image.sub.html]
prefs: [security.csp.enable_violation_events:true]
- [Non-redirected same-origin URLs are not stripped.]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/securitypolicyviolation/upgrade-insecure-requests-reporting.https.html.ini b/testing/web-platform/meta/content-security-policy/securitypolicyviolation/upgrade-insecure-requests-reporting.https.html.ini
index 3991d67355b2..e7990febc646 100644
--- a/testing/web-platform/meta/content-security-policy/securitypolicyviolation/upgrade-insecure-requests-reporting.https.html.ini
+++ b/testing/web-platform/meta/content-security-policy/securitypolicyviolation/upgrade-insecure-requests-reporting.https.html.ini
@@ -1,11 +1,4 @@
[upgrade-insecure-requests-reporting.https.html]
- expected: TIMEOUT
- [Upgraded image is reported]
- expected: TIMEOUT
-
- [Upgraded iframe is reported]
- expected: TIMEOUT
-
- [Navigated iframe is upgraded and reported]
- expected: TIMEOUT
+ type: testharness
+ prefs: [security.csp.enable_violation_events:true]
diff --git a/testing/web-platform/meta/content-security-policy/style-src/injected-inline-style-blocked.sub.html.ini b/testing/web-platform/meta/content-security-policy/style-src/injected-inline-style-blocked.sub.html.ini
index 13dc001a23d8..67031bfacb4c 100644
--- a/testing/web-platform/meta/content-security-policy/style-src/injected-inline-style-blocked.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/style-src/injected-inline-style-blocked.sub.html.ini
@@ -1,4 +1,3 @@
[injected-inline-style-blocked.sub.html]
- [Expecting logs: ["violated-directive=style-src","PASS"\]]
- expected: FAIL
+ prefs: [security.csp.enable_violation_events:true]
diff --git a/testing/web-platform/meta/content-security-policy/style-src/inline-style-allowed-while-cloning-objects.sub.html.ini b/testing/web-platform/meta/content-security-policy/style-src/inline-style-allowed-while-cloning-objects.sub.html.ini
index 4fa1e49c217e..6b2760c4b70a 100644
--- a/testing/web-platform/meta/content-security-policy/style-src/inline-style-allowed-while-cloning-objects.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/style-src/inline-style-allowed-while-cloning-objects.sub.html.ini
@@ -1,5 +1,3 @@
[inline-style-allowed-while-cloning-objects.sub.html]
prefs: [security.csp.enable_violation_events:true]
- [Test that violation report event was fired]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/style-src/inline-style-attribute-blocked.sub.html.ini b/testing/web-platform/meta/content-security-policy/style-src/inline-style-attribute-blocked.sub.html.ini
index 56551afdc43a..f16cee58f5bb 100644
--- a/testing/web-platform/meta/content-security-policy/style-src/inline-style-attribute-blocked.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/style-src/inline-style-attribute-blocked.sub.html.ini
@@ -1,4 +1,3 @@
[inline-style-attribute-blocked.sub.html]
- [Expecting logs: ["violated-directive=style-src","PASS"\]]
- expected: FAIL
+ prefs: [security.csp.enable_violation_events:true]
diff --git a/testing/web-platform/meta/content-security-policy/style-src/style-blocked.sub.html.ini b/testing/web-platform/meta/content-security-policy/style-src/style-blocked.sub.html.ini
index 5e358cf9d9f8..4bb5cdb808f1 100644
--- a/testing/web-platform/meta/content-security-policy/style-src/style-blocked.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/style-src/style-blocked.sub.html.ini
@@ -1,4 +1,3 @@
[style-blocked.sub.html]
- [Expecting logs: ["violated-directive=style-src","PASS"\]]
- expected: FAIL
+ prefs: [security.csp.enable_violation_events:true]
diff --git a/testing/web-platform/meta/content-security-policy/style-src/style-src-hash-blocked.html.ini b/testing/web-platform/meta/content-security-policy/style-src/style-src-hash-blocked.html.ini
index 704c7c696e87..7d82ec7da8fe 100644
--- a/testing/web-platform/meta/content-security-policy/style-src/style-src-hash-blocked.html.ini
+++ b/testing/web-platform/meta/content-security-policy/style-src/style-src-hash-blocked.html.ini
@@ -1,5 +1,3 @@
[style-src-hash-blocked.html]
prefs: [security.csp.enable_violation_events:true]
- [Should fire a securitypolicyviolation event]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/style-src/style-src-imported-style-blocked.html.ini b/testing/web-platform/meta/content-security-policy/style-src/style-src-imported-style-blocked.html.ini
index 764dfdbee48a..13ed98046c77 100644
--- a/testing/web-platform/meta/content-security-policy/style-src/style-src-imported-style-blocked.html.ini
+++ b/testing/web-platform/meta/content-security-policy/style-src/style-src-imported-style-blocked.html.ini
@@ -1,5 +1,4 @@
[style-src-imported-style-blocked.html]
+ type: testharness
prefs: [security.csp.enable_violation_events:true]
- [Should fire a securitypolicyviolation event]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/style-src/style-src-injected-inline-style-blocked.html.ini b/testing/web-platform/meta/content-security-policy/style-src/style-src-injected-inline-style-blocked.html.ini
index 614cb92f57bd..e2124e8ccce4 100644
--- a/testing/web-platform/meta/content-security-policy/style-src/style-src-injected-inline-style-blocked.html.ini
+++ b/testing/web-platform/meta/content-security-policy/style-src/style-src-injected-inline-style-blocked.html.ini
@@ -1,5 +1,3 @@
[style-src-injected-inline-style-blocked.html]
prefs: [security.csp.enable_violation_events:true]
- [Should fire a securitypolicyviolation event]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/style-src/style-src-injected-stylesheet-blocked.sub.html.ini b/testing/web-platform/meta/content-security-policy/style-src/style-src-injected-stylesheet-blocked.sub.html.ini
index ff923640a2b2..ce316baa3746 100644
--- a/testing/web-platform/meta/content-security-policy/style-src/style-src-injected-stylesheet-blocked.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/style-src/style-src-injected-stylesheet-blocked.sub.html.ini
@@ -1,5 +1,3 @@
[style-src-injected-stylesheet-blocked.sub.html]
prefs: [security.csp.enable_violation_events:true]
- [Should fire a securitypolicyviolation event]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/style-src/style-src-inline-style-attribute-blocked.html.ini b/testing/web-platform/meta/content-security-policy/style-src/style-src-inline-style-attribute-blocked.html.ini
index 8db863fd9584..e722c5ab5274 100644
--- a/testing/web-platform/meta/content-security-policy/style-src/style-src-inline-style-attribute-blocked.html.ini
+++ b/testing/web-platform/meta/content-security-policy/style-src/style-src-inline-style-attribute-blocked.html.ini
@@ -1,5 +1,3 @@
[style-src-inline-style-attribute-blocked.html]
prefs: [security.csp.enable_violation_events:true]
- [Should fire a securitypolicyviolation event]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/style-src/style-src-inline-style-blocked.html.ini b/testing/web-platform/meta/content-security-policy/style-src/style-src-inline-style-blocked.html.ini
index 927805ebfe46..6fed50d2779d 100644
--- a/testing/web-platform/meta/content-security-policy/style-src/style-src-inline-style-blocked.html.ini
+++ b/testing/web-platform/meta/content-security-policy/style-src/style-src-inline-style-blocked.html.ini
@@ -1,5 +1,3 @@
[style-src-inline-style-blocked.html]
prefs: [security.csp.enable_violation_events:true]
- [Should fire a securitypolicyviolation event]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/style-src/style-src-inline-style-nonce-blocked-error-event.html.ini b/testing/web-platform/meta/content-security-policy/style-src/style-src-inline-style-nonce-blocked-error-event.html.ini
index 270e17f64d9a..8b06ebe3d4bc 100644
--- a/testing/web-platform/meta/content-security-policy/style-src/style-src-inline-style-nonce-blocked-error-event.html.ini
+++ b/testing/web-platform/meta/content-security-policy/style-src/style-src-inline-style-nonce-blocked-error-event.html.ini
@@ -1,9 +1,6 @@
[style-src-inline-style-nonce-blocked-error-event.html]
expected: TIMEOUT
prefs: [security.csp.enable_violation_events:true]
- [Should fire a securitypolicyviolation event]
- expected: FAIL
-
[Test that paragraph remains unmodified and error events received.]
expected: NOTRUN
diff --git a/testing/web-platform/meta/content-security-policy/style-src/style-src-inline-style-nonce-blocked.html.ini b/testing/web-platform/meta/content-security-policy/style-src/style-src-inline-style-nonce-blocked.html.ini
index 037ada9b6b44..1920e1904f6b 100644
--- a/testing/web-platform/meta/content-security-policy/style-src/style-src-inline-style-nonce-blocked.html.ini
+++ b/testing/web-platform/meta/content-security-policy/style-src/style-src-inline-style-nonce-blocked.html.ini
@@ -1,5 +1,3 @@
[style-src-inline-style-nonce-blocked.html]
prefs: [security.csp.enable_violation_events:true]
- [Should fire a securitypolicyviolation event]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/style-src/style-src-none-blocked.html.ini b/testing/web-platform/meta/content-security-policy/style-src/style-src-none-blocked.html.ini
index 71bb34cb57ec..280fe00d3947 100644
--- a/testing/web-platform/meta/content-security-policy/style-src/style-src-none-blocked.html.ini
+++ b/testing/web-platform/meta/content-security-policy/style-src/style-src-none-blocked.html.ini
@@ -1,5 +1,3 @@
[style-src-none-blocked.html]
prefs: [security.csp.enable_violation_events:true]
- [Should fire a securitypolicyviolation event]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/style-src/style-src-stylesheet-nonce-blocked.html.ini b/testing/web-platform/meta/content-security-policy/style-src/style-src-stylesheet-nonce-blocked.html.ini
index c6143973dc43..efb73617207b 100644
--- a/testing/web-platform/meta/content-security-policy/style-src/style-src-stylesheet-nonce-blocked.html.ini
+++ b/testing/web-platform/meta/content-security-policy/style-src/style-src-stylesheet-nonce-blocked.html.ini
@@ -1,5 +1,3 @@
[style-src-stylesheet-nonce-blocked.html]
prefs: [security.csp.enable_violation_events:true]
- [Should fire a securitypolicyviolation event]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/style-src/stylehash-basic-blocked.sub.html.ini b/testing/web-platform/meta/content-security-policy/style-src/stylehash-basic-blocked.sub.html.ini
index 4e858573def3..5623b31472e4 100644
--- a/testing/web-platform/meta/content-security-policy/style-src/stylehash-basic-blocked.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/style-src/stylehash-basic-blocked.sub.html.ini
@@ -1,5 +1,3 @@
[stylehash-basic-blocked.sub.html]
prefs: [security.csp.enable_violation_events:true]
- [Expecting alerts: ["PASS: The 'p' element's text is green, which means the style was correctly applied.", "violated-directive=style-src"\]]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/style-src/stylenonce-allowed.sub.html.ini b/testing/web-platform/meta/content-security-policy/style-src/stylenonce-allowed.sub.html.ini
index 4aa93f53f027..4489c4a1e53d 100644
--- a/testing/web-platform/meta/content-security-policy/style-src/stylenonce-allowed.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/style-src/stylenonce-allowed.sub.html.ini
@@ -1,5 +1,4 @@
[stylenonce-allowed.sub.html]
+ type: testharness
prefs: [security.csp.enable_violation_events:true]
- [Should fire securitypolicyviolation]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/style-src/stylenonce-blocked.sub.html.ini b/testing/web-platform/meta/content-security-policy/style-src/stylenonce-blocked.sub.html.ini
index 6da9c4640f81..05c8882972c6 100644
--- a/testing/web-platform/meta/content-security-policy/style-src/stylenonce-blocked.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/style-src/stylenonce-blocked.sub.html.ini
@@ -1,5 +1,4 @@
[stylenonce-blocked.sub.html]
+ type: testharness
prefs: [security.csp.enable_violation_events:true]
- [Should fire securitypolicyviolation]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/svg/object-in-svg-foreignobject.sub.html.ini b/testing/web-platform/meta/content-security-policy/svg/object-in-svg-foreignobject.sub.html.ini
index 845a2e8f1e71..80c9eab7fa6d 100644
--- a/testing/web-platform/meta/content-security-policy/svg/object-in-svg-foreignobject.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/svg/object-in-svg-foreignobject.sub.html.ini
@@ -1,5 +1,3 @@
[object-in-svg-foreignobject.sub.html]
prefs: [security.csp.enable_violation_events:true]
- [Should throw a securitypolicyviolation]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/svg/svg-inline.sub.html.ini b/testing/web-platform/meta/content-security-policy/svg/svg-inline.sub.html.ini
index ca5faf59d25d..9c49cf1bfd15 100644
--- a/testing/web-platform/meta/content-security-policy/svg/svg-inline.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/svg/svg-inline.sub.html.ini
@@ -1,5 +1,3 @@
[svg-inline.sub.html]
prefs: [security.csp.enable_violation_events:true]
- [Should fire violation event]
- expected: FAIL
diff --git a/testing/web-platform/meta/content-security-policy/unsafe-eval/eval-blocked-and-sends-report.sub.html.ini b/testing/web-platform/meta/content-security-policy/unsafe-eval/eval-blocked-and-sends-report.sub.html.ini
index 8370b0fc6c47..ad86a8a094a1 100644
--- a/testing/web-platform/meta/content-security-policy/unsafe-eval/eval-blocked-and-sends-report.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/unsafe-eval/eval-blocked-and-sends-report.sub.html.ini
@@ -1,4 +1,3 @@
[eval-blocked-and-sends-report.sub.html]
- [Expecting logs: ["PASS: eval() blocked.","violated-directive=script-src"\]]
- expected: FAIL
+ prefs: [security.csp.enable_violation_events:true]
diff --git a/testing/web-platform/meta/content-security-policy/unsafe-eval/eval-blocked.sub.html.ini b/testing/web-platform/meta/content-security-policy/unsafe-eval/eval-blocked.sub.html.ini
index f5eab6bae070..830e9264badc 100644
--- a/testing/web-platform/meta/content-security-policy/unsafe-eval/eval-blocked.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/unsafe-eval/eval-blocked.sub.html.ini
@@ -1,4 +1,3 @@
[eval-blocked.sub.html]
- [Expecting logs: ["PASS EvalError","PASS EvalError", "violated-directive=script-src"\]]
- expected: FAIL
+ prefs: [security.csp.enable_violation_events:true]
diff --git a/testing/web-platform/meta/content-security-policy/unsafe-eval/eval-scripts-setInterval-blocked.sub.html.ini b/testing/web-platform/meta/content-security-policy/unsafe-eval/eval-scripts-setInterval-blocked.sub.html.ini
index 08d34752baff..1c8dff623dfb 100644
--- a/testing/web-platform/meta/content-security-policy/unsafe-eval/eval-scripts-setInterval-blocked.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/unsafe-eval/eval-scripts-setInterval-blocked.sub.html.ini
@@ -1,4 +1,3 @@
[eval-scripts-setInterval-blocked.sub.html]
- [Expecting logs: ["PASS","violated-directive=script-src"\]]
- expected: FAIL
+ prefs: [security.csp.enable_violation_events:true]
diff --git a/testing/web-platform/meta/content-security-policy/unsafe-eval/eval-scripts-setTimeout-blocked.sub.html.ini b/testing/web-platform/meta/content-security-policy/unsafe-eval/eval-scripts-setTimeout-blocked.sub.html.ini
index f5abc08e8e84..b0a81d72ba1e 100644
--- a/testing/web-platform/meta/content-security-policy/unsafe-eval/eval-scripts-setTimeout-blocked.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/unsafe-eval/eval-scripts-setTimeout-blocked.sub.html.ini
@@ -1,4 +1,3 @@
[eval-scripts-setTimeout-blocked.sub.html]
- [Expecting logs: ["PASS","violated-directive=script-src"\]]
- expected: FAIL
+ prefs: [security.csp.enable_violation_events:true]
diff --git a/testing/web-platform/meta/content-security-policy/unsafe-eval/function-constructor-blocked.sub.html.ini b/testing/web-platform/meta/content-security-policy/unsafe-eval/function-constructor-blocked.sub.html.ini
index 4bd3c37056bf..4e78816c948f 100644
--- a/testing/web-platform/meta/content-security-policy/unsafe-eval/function-constructor-blocked.sub.html.ini
+++ b/testing/web-platform/meta/content-security-policy/unsafe-eval/function-constructor-blocked.sub.html.ini
@@ -1,4 +1,3 @@
[function-constructor-blocked.sub.html]
- [Expecting logs: ["PASS EvalError","violated-directive=script-src"\]]
- expected: FAIL
+ prefs: [security.csp.enable_violation_events:true]
diff --git a/toolkit/components/telemetry/Histograms.json b/toolkit/components/telemetry/Histograms.json
index 3c3e84495f72..7f0d8be883d8 100644
--- a/toolkit/components/telemetry/Histograms.json
+++ b/toolkit/components/telemetry/Histograms.json
@@ -10271,21 +10271,21 @@
"description": "How many times has view source in an external editor been opened, and did it succeed?"
},
"BROWSER_IS_USER_DEFAULT": {
- "record_in_processes": ["main", "content"],
+ "record_in_processes": ["main"],
"expires_in_version": "never",
"kind": "boolean",
"releaseChannelCollection": "opt-out",
"description": "The result of the startup default desktop browser check."
},
"BROWSER_IS_USER_DEFAULT_ERROR": {
- "record_in_processes": ["main", "content"],
+ "record_in_processes": ["main"],
"expires_in_version": "never",
"kind": "boolean",
"releaseChannelCollection": "opt-out",
"description": "True if the browser was unable to determine if the browser was set as default."
},
"BROWSER_SET_DEFAULT_DIALOG_PROMPT_RAWCOUNT": {
- "record_in_processes": ["main", "content"],
+ "record_in_processes": ["main"],
"expires_in_version": "never",
"kind": "exponential",
"high": 250,
@@ -10294,14 +10294,14 @@
"description": "The number of times that a profile has seen the 'Set Default Browser' dialog."
},
"BROWSER_SET_DEFAULT_ALWAYS_CHECK": {
- "record_in_processes": ["main", "content"],
+ "record_in_processes": ["main"],
"expires_in_version": "never",
"kind": "boolean",
"releaseChannelCollection": "opt-out",
"description": "True if the profile has `browser.shell.checkDefaultBrowser` set to true."
},
"BROWSER_SET_DEFAULT_RESULT": {
- "record_in_processes": ["main", "content"],
+ "record_in_processes": ["main"],
"expires_in_version": "never",
"kind": "enumerated",
"n_values": 4,
@@ -10309,14 +10309,14 @@
"description": "Result of the Set Default Browser dialog (0=Use Firefox + 'Always perform check' unchecked, 1=Use Firefox + 'Always perform check' checked, 2=Not Now + 'Always perform check' unchecked, 3=Not Now + 'Always perform check' checked)"
},
"BROWSER_SET_DEFAULT_ERROR": {
- "record_in_processes": ["main", "content"],
+ "record_in_processes": ["main"],
"expires_in_version": "never",
"kind": "boolean",
"releaseChannelCollection": "opt-out",
"description": "True if the browser was unable to set Firefox as the default browser"
},
"BROWSER_IS_ASSIST_DEFAULT": {
- "record_in_processes": ["main", "content"],
+ "record_in_processes": ["main"],
"expires_in_version": "never",
"kind": "boolean",
"description": "The result of the default browser check for assist intent."
@@ -12148,7 +12148,7 @@
},
"PERMISSIONS_REMIGRATION_COMPARISON": {
"record_in_processes": ["main", "content"],
- "alert_emails": ["michael@thelayzells.com"],
+ "alert_emails": ["nika@thelayzells.com"],
"expires_in_version": "44",
"kind": "enumerated",
"n_values": 10,
@@ -12156,7 +12156,7 @@
},
"PERMISSIONS_MIGRATION_7_ERROR": {
"record_in_processes": ["main", "content"],
- "alert_emails": ["michael@thelayzells.com"],
+ "alert_emails": ["nika@thelayzells.com"],
"expires_in_version": "44",
"kind": "boolean",
"description": "Was there an error while performing the v7 permissions DB migration?"
@@ -13227,9 +13227,9 @@
},
"IPC_SYNC_MESSAGE_MANAGER_LATENCY_MS": {
"record_in_processes": ["main", "content"],
- "alert_emails": ["michael@thelayzells.com"],
+ "alert_emails": ["nika@thelayzells.com"],
"bug_numbers": [1348113],
- "expires_in_version": "60",
+ "expires_in_version": "70",
"kind": "exponential",
"low": 32,
"high": 750,
@@ -13551,9 +13551,9 @@
},
"IPC_SYNC_RECEIVE_MS": {
"record_in_processes": ["main", "content", "gpu"],
- "alert_emails": ["michael@thelayzells.com"],
+ "alert_emails": ["nika@thelayzells.com"],
"bug_numbers": [1365719],
- "expires_in_version": "60",
+ "expires_in_version": "70",
"kind": "exponential",
"low": 32,
"high": 750,
@@ -13661,9 +13661,9 @@
},
"NOTIFY_OBSERVERS_LATENCY_MS": {
"record_in_processes": ["main", "content", "gpu"],
- "alert_emails": ["michael@thelayzells.com"],
+ "alert_emails": ["nika@thelayzells.com"],
"bug_numbers": [1368524],
- "expires_in_version": "60",
+ "expires_in_version": "70",
"kind": "exponential",
"low": 3,
"high": 512,
diff --git a/widget/android/fennec/FennecJNINatives.h b/widget/android/fennec/FennecJNINatives.h
index 8c5fc9a18757..1f537bf4ee0d 100644
--- a/widget/android/fennec/FennecJNINatives.h
+++ b/widget/android/fennec/FennecJNINatives.h
@@ -83,7 +83,6 @@ const JNINativeMethod MemoryMonitor::Natives::methods[] = {
::template Wrap<&Impl::DispatchMemoryPressure>)
};
-#ifdef MOZ_NATIVE_DEVICES
template
class PresentationMediaPlayerManager::Natives : public mozilla::jni::NativeImpl
{
@@ -107,7 +106,6 @@ const JNINativeMethod PresentationMediaPlayerManager::Natives::methods[] =
::template Wrap<&Impl::RemovePresentationSurface>)
};
-#endif // MOZ_NATIVE_DEVICES
template
class Telemetry::Natives : public mozilla::jni::NativeImpl
{
diff --git a/widget/android/fennec/FennecJNIWrappers.cpp b/widget/android/fennec/FennecJNIWrappers.cpp
index 54a442627fdf..b29dd14d1c4b 100644
--- a/widget/android/fennec/FennecJNIWrappers.cpp
+++ b/widget/android/fennec/FennecJNIWrappers.cpp
@@ -174,7 +174,6 @@ const char MemoryMonitor::name[] =
constexpr char MemoryMonitor::DispatchMemoryPressure_t::name[];
constexpr char MemoryMonitor::DispatchMemoryPressure_t::signature[];
-#ifdef MOZ_NATIVE_DEVICES
const char PresentationMediaPlayerManager::name[] =
"org/mozilla/gecko/PresentationMediaPlayerManager";
@@ -187,7 +186,6 @@ constexpr char PresentationMediaPlayerManager::InvalidateAndScheduleComposite_t:
constexpr char PresentationMediaPlayerManager::RemovePresentationSurface_t::name[];
constexpr char PresentationMediaPlayerManager::RemovePresentationSurface_t::signature[];
-#endif // MOZ_NATIVE_DEVICES
const char Telemetry::name[] =
"org/mozilla/gecko/Telemetry";
diff --git a/widget/android/fennec/FennecJNIWrappers.h b/widget/android/fennec/FennecJNIWrappers.h
index 9c6eb4fe5187..56865b1852c9 100644
--- a/widget/android/fennec/FennecJNIWrappers.h
+++ b/widget/android/fennec/FennecJNIWrappers.h
@@ -518,7 +518,6 @@ public:
template class Natives;
};
-#ifdef MOZ_NATIVE_DEVICES
class PresentationMediaPlayerManager : public mozilla::jni::ObjectBase
{
public:
@@ -586,7 +585,6 @@ public:
template class Natives;
};
-#endif // MOZ_NATIVE_DEVICES
class Telemetry : public mozilla::jni::ObjectBase
{
public:
diff --git a/widget/android/nsWindow.cpp b/widget/android/nsWindow.cpp
index 0063f392dcac..cf4617511110 100644
--- a/widget/android/nsWindow.cpp
+++ b/widget/android/nsWindow.cpp
@@ -1139,7 +1139,6 @@ public:
template<> const char
nsWindow::NativePtr::sName[] = "LayerViewSupport";
-#ifdef MOZ_NATIVE_DEVICES
/* PresentationMediaPlayerManager native calls access inner nsWindow functionality so PMPMSupport is a child class of nsWindow */
class nsWindow::PMPMSupport final
: public PresentationMediaPlayerManager::Natives
@@ -1224,7 +1223,6 @@ public:
ANativeWindow* nsWindow::PMPMSupport::sWindow;
EGLSurface nsWindow::PMPMSupport::sSurface;
-#endif
nsWindow::GeckoViewSupport::~GeckoViewSupport()
@@ -1392,11 +1390,9 @@ nsWindow::InitNatives()
nsWindow::GeckoViewSupport::Base::Init();
nsWindow::LayerViewSupport::Init();
nsWindow::NPZCSupport::Init();
-#ifdef MOZ_NATIVE_DEVICES
if (jni::IsFennec()) {
nsWindow::PMPMSupport::Init();
}
-#endif
GeckoEditableSupport::Init();
}
@@ -2078,13 +2074,11 @@ nsWindow::GetNativeData(uint32_t aDataType)
}
return nullptr;
-#ifdef MOZ_NATIVE_DEVICES
case NS_PRESENTATION_WINDOW:
return PMPMSupport::sWindow;
case NS_PRESENTATION_SURFACE:
return PMPMSupport::sSurface;
-#endif
}
return nullptr;
@@ -2094,11 +2088,9 @@ void
nsWindow::SetNativeData(uint32_t aDataType, uintptr_t aVal)
{
switch (aDataType) {
-#ifdef MOZ_NATIVE_DEVICES
case NS_PRESENTATION_SURFACE:
PMPMSupport::sSurface = reinterpret_cast(aVal);
break;
-#endif
}
}
diff --git a/widget/android/nsWindow.h b/widget/android/nsWindow.h
index 43b9e17ff553..0dc25d10b7bb 100644
--- a/widget/android/nsWindow.h
+++ b/widget/android/nsWindow.h
@@ -193,10 +193,8 @@ private:
// keep it last in the list, so its destructor is called first.
mozilla::UniquePtr mGeckoViewSupport;
-#ifdef MOZ_NATIVE_DEVICES
// Class that implements native PresentationMediaPlayerManager calls.
class PMPMSupport;
-#endif
mozilla::Atomic mContentDocumentDisplayed;
diff --git a/widget/nsBaseWidget.cpp b/widget/nsBaseWidget.cpp
index 64b991fedb7e..f5d56d689a55 100644
--- a/widget/nsBaseWidget.cpp
+++ b/widget/nsBaseWidget.cpp
@@ -911,6 +911,7 @@ nsBaseWidget::AllowWebRenderForThisWindow()
{
return WindowType() == eWindowType_toplevel ||
WindowType() == eWindowType_child ||
+ WindowType() == eWindowType_dialog ||
(WindowType() == eWindowType_popup && HasRemoteContent());
}
diff --git a/xpcom/base/NSPRLogModulesParser.cpp b/xpcom/base/NSPRLogModulesParser.cpp
index 2fb164e3865b..136bac4637c7 100644
--- a/xpcom/base/NSPRLogModulesParser.cpp
+++ b/xpcom/base/NSPRLogModulesParser.cpp
@@ -30,17 +30,11 @@ NSPRLogModulesParser(const char* aLogModules,
LogLevel logLevel = LogLevel::Error;
int32_t levelValue = 0;
if (parser.CheckChar(':')) {
- // Check if a negative value is provided.
- int32_t multiplier = 1;
- if (parser.CheckChar([](const char aChar) { return aChar == '-'; })) {
- multiplier = -1;
- }
-
// NB: If a level isn't provided after the ':' we assume the default
// Error level is desired. This differs from NSPR which will stop
// processing the log module string in this case.
- if (parser.ReadInteger(&levelValue)) {
- logLevel = ToLogLevel(levelValue * multiplier);
+ if (parser.ReadSignedInteger(&levelValue)) {
+ logLevel = ToLogLevel(levelValue);
}
}
diff --git a/xpcom/base/nsConsoleService.cpp b/xpcom/base/nsConsoleService.cpp
index a09bf059a663..78404073c647 100644
--- a/xpcom/base/nsConsoleService.cpp
+++ b/xpcom/base/nsConsoleService.cpp
@@ -54,6 +54,9 @@ NS_IMPL_CI_INTERFACE_GETTER(nsConsoleService, nsIConsoleService, nsIObserver)
static const bool gLoggingEnabled = true;
static const bool gLoggingBuffered = true;
+#ifdef XP_WIN
+static bool gLoggingToDebugger = true;
+#endif // XP_WIN
#if defined(ANDROID)
static bool gLoggingLogcat = false;
#endif // defined(ANDROID)
@@ -71,6 +74,18 @@ nsConsoleService::nsConsoleService()
// hm, but worry about circularity, bc we want to be able to report
// prefs errs...
mMaximumSize = 250;
+
+#ifdef XP_WIN
+ // This environment variable controls whether the console service
+ // should be prevented from putting output to the attached debugger.
+ // It only affects the Windows platform.
+ //
+ // To disable OutputDebugString, set:
+ // MOZ_CONSOLESERVICE_DISABLE_DEBUGGER_OUTPUT=1
+ //
+ const char* disableDebugLoggingVar = getenv("MOZ_CONSOLESERVICE_DISABLE_DEBUGGER_OUTPUT");
+ gLoggingToDebugger = !disableDebugLoggingVar || (disableDebugLoggingVar[0] == '0');
+#endif // XP_WIN
}
@@ -286,7 +301,7 @@ nsConsoleService::LogMessageWithMode(nsIConsoleMessage* aMessage,
}
#endif
#ifdef XP_WIN
- if (IsDebuggerPresent()) {
+ if (gLoggingToDebugger && IsDebuggerPresent()) {
nsString msg;
aMessage->GetMessageMoz(getter_Copies(msg));
msg.Append('\n');
diff --git a/xpcom/ds/Tokenizer.h b/xpcom/ds/Tokenizer.h
index b4aad9ed995f..64d0ed00ff9e 100644
--- a/xpcom/ds/Tokenizer.h
+++ b/xpcom/ds/Tokenizer.h
@@ -9,6 +9,8 @@
#include "nsString.h"
#include "mozilla/CheckedInt.h"
+#include "mozilla/ScopeExit.h"
+#include "mozilla/TypeTraits.h"
#include "mozilla/UniquePtr.h"
#include "nsTArray.h"
@@ -347,7 +349,7 @@ public:
* and the cursor is moved forward.
*/
template
- MOZ_MUST_USE bool ReadInteger(T* aValue)
+ MOZ_MUST_USE bool ReadInteger(T *aValue)
{
MOZ_RELEASE_ASSERT(aValue);
@@ -371,6 +373,48 @@ public:
return true;
}
+ /**
+ * Same as above, but accepts an integer with an optional minus sign.
+ */
+ template ::Type>::value,
+ typename RemovePointer::Type>::Type>
+ MOZ_MUST_USE bool ReadSignedInteger(T *aValue)
+ {
+ MOZ_RELEASE_ASSERT(aValue);
+
+ nsACString::const_char_iterator rollback = mRollback;
+ nsACString::const_char_iterator cursor = mCursor;
+ auto revert = MakeScopeExit([&] {
+ // Move to a state as if Check() call has failed
+ mRollback = rollback;
+ mCursor = cursor;
+ mHasFailed = true;
+ });
+
+ // Using functional raw access because '-' could be part of the word set
+ // making CheckChar('-') not work.
+ bool minus = CheckChar([](const char aChar) { return aChar == '-'; });
+
+ Token t;
+ if (!Check(TOKEN_INTEGER, t)) {
+ return false;
+ }
+
+ mozilla::CheckedInt checked(t.AsInteger());
+ if (minus) {
+ checked *= -1;
+ }
+
+ if (!checked.isValid()) {
+ return false;
+ }
+
+ *aValue = checked.value();
+ revert.release();
+ return true;
+ }
+
/**
* Returns the read cursor position back as it was before the last call of any parsing
* method of Tokenizer (Next, Check*, Skip*, Read*) so that the last operation
diff --git a/xpcom/reflect/xptcall/md/unix/xptcinvoke_mips64.cpp b/xpcom/reflect/xptcall/md/unix/xptcinvoke_mips64.cpp
index 1dd54f96f560..f6f7245fc8bc 100644
--- a/xpcom/reflect/xptcall/md/unix/xptcinvoke_mips64.cpp
+++ b/xpcom/reflect/xptcall/md/unix/xptcinvoke_mips64.cpp
@@ -90,6 +90,8 @@ invoke_copy_to_stack(uint64_t* d, uint32_t paramCount,
*d++ = s->val.u64;
break;
case nsXPTType::T_FLOAT:
+ // the float data formate must not be converted!
+ // Just only copy without conversion.
if (i < N_ARG_REGS)
*(float*)®s[i] = s->val.f;
else
diff --git a/xpcom/reflect/xptcall/md/unix/xptcstubs_mips64.cpp b/xpcom/reflect/xptcall/md/unix/xptcstubs_mips64.cpp
index a4b5539406fc..ea625306ed0e 100644
--- a/xpcom/reflect/xptcall/md/unix/xptcstubs_mips64.cpp
+++ b/xpcom/reflect/xptcall/md/unix/xptcstubs_mips64.cpp
@@ -125,10 +125,12 @@ PrepareAndDispatch(nsXPTCStubBase* self, uint32_t methodIndex, uint64_t* args,
break;
case nsXPTType::T_FLOAT:
+ // the float data formate must not be converted!
+ // Just only copy without conversion.
if (iCount < PARAM_FPR_COUNT)
- dp->val.f = (double)fprData[iCount++];
+ dp->val.f = *(float*)&fprData[iCount++];
else
- dp->val.f = *((double*)ap++);
+ dp->val.f = *((float*)ap++);
break;
case nsXPTType::T_DOUBLE:
diff --git a/xpcom/tests/gtest/TestTokenizer.cpp b/xpcom/tests/gtest/TestTokenizer.cpp
index 7a00427ebff6..38394bc3353e 100644
--- a/xpcom/tests/gtest/TestTokenizer.cpp
+++ b/xpcom/tests/gtest/TestTokenizer.cpp
@@ -1153,3 +1153,64 @@ TEST(Tokenizer, RecordAndReadUntil)
EXPECT_TRUE(t.CheckEOF());
}
+
+TEST(Tokenizer, ReadIntegers)
+{
+ // Make sure that adding dash (the 'minus' sign) as an additional char
+ // doesn't break reading negative numbers.
+ Tokenizer t("100,-100,200,-200,4294967295,-4294967295,-2147483647", nullptr, "-");
+
+ uint32_t unsigned_value32;
+ int32_t signed_value32;
+ int64_t signed_value64;
+
+ // "100,"
+ EXPECT_TRUE(t.ReadInteger(&unsigned_value32));
+ EXPECT_TRUE(unsigned_value32 == 100);
+ EXPECT_TRUE(t.CheckChar(','));
+
+ // "-100,"
+ EXPECT_FALSE(t.ReadInteger(&unsigned_value32));
+ EXPECT_FALSE(t.CheckChar(','));
+
+ EXPECT_TRUE(t.ReadSignedInteger(&signed_value32));
+ EXPECT_TRUE(signed_value32 == -100);
+ EXPECT_TRUE(t.CheckChar(','));
+
+ // "200,"
+ EXPECT_TRUE(t.ReadSignedInteger(&signed_value32));
+ EXPECT_TRUE(signed_value32 == 200);
+ EXPECT_TRUE(t.CheckChar(','));
+
+ // "-200,"
+ EXPECT_TRUE(t.ReadSignedInteger(&signed_value32));
+ EXPECT_TRUE(signed_value32 == -200);
+ EXPECT_TRUE(t.CheckChar(','));
+
+ // "4294967295,"
+ EXPECT_FALSE(t.ReadSignedInteger(&signed_value32));
+ EXPECT_FALSE(t.CheckChar(','));
+
+ EXPECT_TRUE(t.ReadInteger(&unsigned_value32));
+ EXPECT_TRUE(unsigned_value32 == 4294967295UL);
+ EXPECT_TRUE(t.CheckChar(','));
+
+ // "-4294967295,"
+ EXPECT_FALSE(t.ReadSignedInteger(&signed_value32));
+ EXPECT_FALSE(t.CheckChar(','));
+
+ EXPECT_FALSE(t.ReadInteger(&unsigned_value32));
+ EXPECT_FALSE(t.CheckChar(','));
+
+ EXPECT_TRUE(t.ReadSignedInteger(&signed_value64));
+ EXPECT_TRUE(signed_value64 == -4294967295LL);
+ EXPECT_TRUE(t.CheckChar(','));
+
+ // "-2147483647"
+ EXPECT_FALSE(t.ReadInteger(&unsigned_value32));
+ EXPECT_FALSE(t.CheckChar(','));
+
+ EXPECT_TRUE(t.ReadSignedInteger(&signed_value32));
+ EXPECT_TRUE(signed_value32 == -2147483647L);
+ EXPECT_TRUE(t.CheckEOF());
+}