Bug 1584931 - P2. Disable flashblock when fission is enabled. r=bytesized

This patch does the following:
  1. Disable flashblock when fission is enabled.
  2. Update flashblock tests to expect "unknown" classification when fission is
     enabled.
  3. Remove skip-if=fission in flashblock mochitests.

Depends on D51098

Differential Revision: https://phabricator.services.mozilla.com/D55091
This commit is contained in:
Dimi Lee committed 2019-12-04 09:00:28 +00:00
1 parent 3aafff844d
commit 1596310604
4 files changed
+22 -11

No files matched your search

+8 -3
View File
@@ -15054,9 +15054,14 @@ void Document::TraceProtos(JSTracer* aTrc) {
* toolkit/components/url-classifier/flash-block-lists.rst
*/
FlashClassification Document::DocumentFlashClassification() {
// Disable flash blocking when fission is enabled(See Bug 1584931).
const auto fnIsFlashBlockingEnabled = [] {
return StaticPrefs::plugins_flashBlock_enabled() &&
!StaticPrefs::fission_autostart();
};
// If neither pref is on, skip the null-principal and principal URI checks.
if (!StaticPrefs::plugins_http_https_only() &&
!StaticPrefs::plugins_flashBlock_enabled()) {
if (!StaticPrefs::plugins_http_https_only() && !fnIsFlashBlockingEnabled()) {
return FlashClassification::Unknown;
}
@@ -15079,7 +15084,7 @@ FlashClassification Document::DocumentFlashClassification() {
// If flash blocking is disabled, it is equivalent to all sites being
// on neither list.
if (!StaticPrefs::plugins_flashBlock_enabled()) {
if (!fnIsFlashBlockingEnabled()) {
return FlashClassification::Unknown;
}
@@ -6,6 +6,7 @@
#include "UrlClassifierFeatureFlash.h"
#include "mozilla/net/HttpBaseChannel.h"
#include "mozilla/StaticPrefs_fission.h"
#include "mozilla/StaticPrefs_plugins.h"
#include "nsScriptSecurityManager.h"
#include "nsQueryObject.h"
@@ -96,8 +97,13 @@ void UrlClassifierFeatureFlash::MaybeShutdown() {
void UrlClassifierFeatureFlash::MaybeCreate(
nsIChannel* aChannel,
nsTArray<nsCOMPtr<nsIUrlClassifierFeature>>& aFeatures) {
const auto fnIsFlashBlockingEnabled = [] {
return StaticPrefs::plugins_flashBlock_enabled() &&
!StaticPrefs::fission_autostart();
};
// All disabled.
if (!StaticPrefs::plugins_flashBlock_enabled()) {
if (!fnIsFlashBlockingEnabled()) {
return;
}
@@ -6,15 +6,8 @@ support-files =
simple_blank.swf
[browser_flashblock_on_with_never_activate.js]
skip-if = fission
[browser_flashblock_off_with_never_activate.js]
skip-if = fission
[browser_flashblock_on_with_ask_to_activate.js]
skip-if = fission
[browser_flashblock_off_with_ask_to_activate.js]
skip-if = fission
[browser_flashblock_on_with_always_activate.js]
skip-if = fission
[browser_flashblock_off_with_always_activate.js]
skip-if = fission
@@ -10,6 +10,7 @@ var classifierTester = {
FLASHBLOCK_ENABLE_PREF: "plugins.flashBlock.enabled",
FLASH_PLUGIN_USER_SETTING_PREF: "plugin.state.flash",
URLCLASSIFIER_DISALLOW_COMPLETIONS_PREF: "urlclassifier.disallow_completions",
FISSION_PREF: "fission.autostart",
NEVER_ACTIVATE_PREF_VALUE: 0,
ASK_TO_ACTIVATE_PREF_VALUE: 1,
ALWAYS_ACTIVATE_PREF_VALUE: 2,
@@ -382,6 +383,12 @@ var classifierTester = {
},
checkPluginInfo(pluginInfo, expectedClassification, flashSetting) {
// Flashblocking is disabled when fission is enabled, so all the classifications
// should be "unknown"
if (Services.prefs.getBoolPref(classifierTester.FISSION_PREF)) {
expectedClassification = "unknown";
}
// We've stopped allowing flash to be always activated, so check
// existing tests that attempt to do so get treated as using ask-to-activate.
if (flashSetting == classifierTester.ALWAYS_ACTIVATE_PREF_VALUE) {