mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-01 08:42:13 +00:00
Bug 1519434 - make nsPluginTag and the addon manager agree about what is and isn't flash, r=jmathies,aswan
Differential Revision: https://phabricator.services.mozilla.com/D34214 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
a8bd1715ab
commit
7936fd6350
@ -58,6 +58,8 @@ interface nsIPluginTag : nsISupports
|
|||||||
|
|
||||||
readonly attribute PRTime lastModifiedTime;
|
readonly attribute PRTime lastModifiedTime;
|
||||||
|
|
||||||
|
readonly attribute boolean isFlashPlugin;
|
||||||
|
|
||||||
Array<AUTF8String> getMimeTypes();
|
Array<AUTF8String> getMimeTypes();
|
||||||
Array<AUTF8String> getMimeDescriptions();
|
Array<AUTF8String> getMimeDescriptions();
|
||||||
Array<AUTF8String> getExtensions();
|
Array<AUTF8String> getExtensions();
|
||||||
|
@ -442,6 +442,12 @@ nsPluginTag::GetDescription(nsACString& aDescription) {
|
|||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NS_IMETHODIMP
|
||||||
|
nsPluginTag::GetIsFlashPlugin(bool* aIsFlash) {
|
||||||
|
*aIsFlash = mIsFlashPlugin;
|
||||||
|
return NS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
nsPluginTag::GetFilename(nsACString& aFileName) {
|
nsPluginTag::GetFilename(nsACString& aFileName) {
|
||||||
aFileName = mFileName;
|
aFileName = mFileName;
|
||||||
@ -765,6 +771,12 @@ nsFakePluginTag::GetDescription(/* utf-8 */ nsACString& aResult) {
|
|||||||
return NS_OK;
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NS_IMETHODIMP
|
||||||
|
nsFakePluginTag::GetIsFlashPlugin(bool* aIsFlash) {
|
||||||
|
*aIsFlash = false;
|
||||||
|
return NS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
NS_IMETHODIMP
|
NS_IMETHODIMP
|
||||||
nsFakePluginTag::GetFilename(/* utf-8 */ nsACString& aResult) {
|
nsFakePluginTag::GetFilename(/* utf-8 */ nsACString& aResult) {
|
||||||
aResult = mFileName;
|
aResult = mFileName;
|
||||||
|
@ -17,7 +17,6 @@ ChromeUtils.defineModuleGetter(this, "Blocklist",
|
|||||||
|
|
||||||
const URI_EXTENSION_STRINGS = "chrome://mozapps/locale/extensions/extensions.properties";
|
const URI_EXTENSION_STRINGS = "chrome://mozapps/locale/extensions/extensions.properties";
|
||||||
const LIST_UPDATED_TOPIC = "plugins-list-updated";
|
const LIST_UPDATED_TOPIC = "plugins-list-updated";
|
||||||
const FLASH_MIME_TYPE = "application/x-shockwave-flash";
|
|
||||||
|
|
||||||
const {Log} = ChromeUtils.import("resource://gre/modules/Log.jsm");
|
const {Log} = ChromeUtils.import("resource://gre/modules/Log.jsm");
|
||||||
const LOGGER_ID = "addons.plugins";
|
const LOGGER_ID = "addons.plugins";
|
||||||
@ -515,12 +514,7 @@ PluginWrapper.prototype = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
get isFlashPlugin() {
|
get isFlashPlugin() {
|
||||||
for (let type of this.pluginMimeTypes) {
|
return pluginFor(this).tags.some(t => t.isFlashPlugin);
|
||||||
if (type.type == FLASH_MIME_TYPE) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -103,7 +103,7 @@ async function run_test_1() {
|
|||||||
Assert.ok(p.isCompatible);
|
Assert.ok(p.isCompatible);
|
||||||
Assert.ok(p.providesUpdatesSecurely);
|
Assert.ok(p.providesUpdatesSecurely);
|
||||||
Assert.equal(p.blocklistState, 0);
|
Assert.equal(p.blocklistState, 0);
|
||||||
Assert.equal(p.permissions, AddonManager.PERM_CAN_DISABLE | AddonManager.PERM_CAN_ENABLE);
|
Assert.equal(p.permissions, AddonManager.PERM_CAN_DISABLE);
|
||||||
Assert.equal(p.pendingOperations, 0);
|
Assert.equal(p.pendingOperations, 0);
|
||||||
Assert.ok(p.updateDate > 0);
|
Assert.ok(p.updateDate > 0);
|
||||||
Assert.ok("isCompatibleWith" in p);
|
Assert.ok("isCompatibleWith" in p);
|
||||||
@ -132,6 +132,7 @@ async function run_test_2(p) {
|
|||||||
() => p.disable());
|
() => p.disable());
|
||||||
|
|
||||||
Assert.ok(p.userDisabled);
|
Assert.ok(p.userDisabled);
|
||||||
|
Assert.equal(p.permissions, AddonManager.PERM_CAN_ASK_TO_ACTIVATE);
|
||||||
Assert.ok(!p.appDisabled);
|
Assert.ok(!p.appDisabled);
|
||||||
Assert.ok(!p.isActive);
|
Assert.ok(!p.isActive);
|
||||||
|
|
||||||
@ -158,13 +159,13 @@ async function run_test_3(p) {
|
|||||||
},
|
},
|
||||||
() => p.enable());
|
() => p.enable());
|
||||||
|
|
||||||
Assert.ok(!p.userDisabled);
|
Assert.equal(p.userDisabled, "askToActivate");
|
||||||
Assert.ok(!p.appDisabled);
|
Assert.ok(!p.appDisabled);
|
||||||
Assert.ok(p.isActive);
|
Assert.ok(p.isActive);
|
||||||
|
|
||||||
let p2 = await AddonManager.getAddonByID(gID);
|
let p2 = await AddonManager.getAddonByID(gID);
|
||||||
Assert.notEqual(p2, null);
|
Assert.notEqual(p2, null);
|
||||||
Assert.ok(!p2.userDisabled);
|
Assert.equal(p2.userDisabled, "askToActivate");
|
||||||
Assert.ok(!p2.appDisabled);
|
Assert.ok(!p2.appDisabled);
|
||||||
Assert.ok(p2.isActive);
|
Assert.ok(p2.isActive);
|
||||||
Assert.equal(p2.name, "Shockwave Flash");
|
Assert.equal(p2.name, "Shockwave Flash");
|
||||||
|
Loading…
Reference in New Issue
Block a user