Opened 13 months ago

Last modified 2 months ago

#5398 new defect

[webextension] Errors thrown when installing extension in Firefox Mobile

Reported by: greiner Assignee:
Priority: P2 Milestone:
Module: Platform Keywords:
Cc: sebastian, kzar, wspee, mjethani Blocked By:
Blocking: Platform: Firefox Mobile
Ready: yes Confidential: no
Tester: Unknown Verified working: no
Review URL(s):

Description

Environment

Nexus One (emulator with API level 25)
Firefox Nightly 56.0a1
Adblock Plus 1.13.2.1784 (gecko-webext)

How to reproduce

  1. Run adb logcat on host
  2. Install extension

Observed behaviour

Errors (and warnings) are shown when running adb logcat:

1499704163750  addons.webextension.<unknown> WARN  Loading extension 'null': Reading manifest: Error processing background.persistent: Event pages are not currently supported. This will run as a persistent background page.
1499704163761  addons.webextension.<unknown> WARN  Loading extension 'null': Reading manifest: Error processing permissions.2: Value "contextMenus" must either: must either [be one of ["clipboardRead", "clipboardWrite", "geolocation", "idle", "notifications"], must either [be one of ["<all_urls>"], match the pattern /^(https?|wss?|file|ftp|\*):\/\/(\*|\*\.[^*/]+|[^*/]+)\/.*$/, or match the pattern /^file:\/\/\/.*$/], be one of ["activeTab", "tabs"], be one of ["cookies"], be one of ["topSites"], be one of ["webNavigation"], or be one of ["webRequest", "webRequestBlocking"]], be one of ["alarms", "storage", "unlimitedStorage"], be one of ["browserSettings"], be one of ["contextualIdentities"], be one of ["downloads", "downloads.open", "downloads.shelf"], be one of ["management"], be one of ["privacy"], be one of ["proxy"], be one of ["nativeMessaging"], be one of ["theme"], or match the pattern /^experiments(\.\w+)+$/
1499704163763  addons.webextension.<unknown> WARN  Loading extension 'null': Reading manifest: Error processing devtools_page: An unexpected property was found in the WebExtension manifest.
1499704163763  addons.webextension.<unknown> WARN  Loading extension 'null': Reading manifest: Error processing minimum_opera_version: An unexpected property was found in the WebExtension manifest.
1499704163764  addons.webextension.<unknown> WARN  Loading extension 'null': Reading manifest: Error processing storage: An unexpected property was found in the WebExtension manifest.
1499704163898  addons.xpi  WARN  Please specify whether you want browser_style or not in your options_ui options.
Sending message
Sending message
1499704165783  addons.webextension.{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}  WARN  Loading extension '{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}': Reading manifest: Error processing background.persistent: Event pages are not currently supported. This will run as a persistent background page.
1499704165790  addons.webextension.{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}  WARN  Loading extension '{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}': Reading manifest: Error processing permissions.2: Value "contextMenus" must either: must either [be one of ["clipboardRead", "clipboardWrite", "geolocation", "idle", "notifications"], must either [be one of ["<all_urls>"], match the pattern /^(https?|wss?|file|ftp|\*):\/\/(\*|\*\.[^*/]+|[^*/]+)\/.*$/, or match the pattern /^file:\/\/\/.*$/], be one of ["activeTab", "tabs"], be one of ["cookies"], be one of ["topSites"], be one of ["webNavigation"], or be one of ["webRequest", "webRequestBlocking"]], be one of ["alarms", "storage", "unlimitedStorage"], be one of ["browserSettings"], be one of ["contextualIdentities"], be one of ["downloads", "downloads.open", "downloads.shelf"], be one of ["management"], be one of ["privacy"], be one of ["proxy"], be one of ["nativeMessaging"], be one of ["theme"], or match the pattern /^experiments(\.\w+)+$/
1499704165791  addons.webextension.{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}  WARN  Loading extension '{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}': Reading manifest: Error processing devtools_page: An unexpected property was found in the WebExtension manifest.
1499704165791  addons.webextension.{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}  WARN  Loading extension '{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}': Reading manifest: Error processing minimum_opera_version: An unexpected property was found in the WebExtension manifest.
1499704165792  addons.webextension.{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}  WARN  Loading extension '{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}': Reading manifest: Error processing storage: An unexpected property was found in the WebExtension manifest.
[JavaScript Error: "TypeError: chrome.windows is undefined" {file: "moz-extension://43682688-11a1-480a-9750-58d8b7f208fc/ext/background.js" line: 495}]
@moz-extension://43682688-11a1-480a-9750-58d8b7f208fc/ext/background.js:495:3
@moz-extension://43682688-11a1-480a-9750-58d8b7f208fc/ext/background.js:20:2
[JavaScript Error: "The Components object is deprecated. It will soon be removed." {file: "moz-extension://43682688-11a1-480a-9750-58d8b7f208fc/lib/compat.js" line: 1}]
[JavaScript Warning: "Successfully compiled asm.js code (total compilation time 3ms; not stored in cache (too small to benefit))" {file: "moz-extension://43682688-11a1-480a-9750-58d8b7f208fc/lib/adblockplus.js" line: 0}]
[JavaScript Error: "TypeError: ext.webRequest is undefined" {file: "moz-extension://43682688-11a1-480a-9750-58d8b7f208fc/lib/adblockplus.js" line: 2233}]
require.modules.requestBlocker@moz-extension://43682688-11a1-480a-9750-58d8b7f208fc/lib/adblockplus.js:2233:1
require@moz-extension://43682688-11a1-480a-9750-58d8b7f208fc/lib/adblockplus.js:8:32
@moz-extension://43682688-11a1-480a-9750-58d8b7f208fc/lib/adblockplus.js:10286:1
[JavaScript Error: "TypeError: ext.storage is undefined"]
[JavaScript Error: "TypeError: args[0] is undefined" {file: "chrome://browser/content/ConsoleAPI.js" line: 21}]
observe@chrome://browser/content/ConsoleAPI.js:21:11
CS_recordEvent@jar:jar:file:///data/app/org.mozilla.fennec_aurora-2/base.apk!/assets/omni.ja!/components/ConsoleAPIStorage.js:144:5
reportError@moz-extension://43682688-11a1-480a-9750-58d8b7f208fc/lib/compat.js:70:7
loadFromDisk/<@moz-extension://43682688-11a1-480a-9750-58d8b7f208fc/lib/adblockplus.js:6702:7
[JavaScript Error: "TypeError: ext.storage is undefined" {file: "moz-extension://43682688-11a1-480a-9750-58d8b7f208fc/lib/adblockplus.js" line: 1632}]

Expected behaviour

No relevant errors are shown when running adb logcat

Further information

This is something I found while working on the new options page for Firefox Mobile so I was running a slightly modified version of the extension which, however, shouldn't make any difference on the output. The modifications were as follows:

  • Removed "default_icon" and "default_popup" keys from manifest.json template
  • Changed metadata.chrome to refer to new options page
  • Install chrome.browserAction.onClicked listener in ext/background.js

Change History (8)

comment:1 Changed 13 months ago by kzar

  • Cc kzar trev added

comment:2 Changed 13 months ago by kzar

  • Priority changed from Unknown to P3
  • Ready set

comment:3 Changed 13 months ago by wspee

  • Cc wspee added

comment:4 Changed 13 months ago by sebastian

  • Cc mjethani added
  • Priority changed from P3 to P2

For reference, the warnings about unsupported manifest keys are to be expected, see Firefox Bug 1367494. I tried to argue there, that manifest keys only supported on desktop should be silently ignored on Android, rather than causing a warning, but they seem to disagree. So there is nothing we can do about these warnings. However, the JavaScript errors here, is something we should fix.

comment:5 Changed 12 months ago by mjethani

  • Owner set to mjethani

comment:6 Changed 9 months ago by kzar

  • Summary changed from [Web Extension] Errors thrown when installing extension in Firefox Mobile to [webextension] Errors thrown when installing extension in Firefox Mobile

comment:7 Changed 8 months ago by fhd

  • Cc trev removed

comment:8 Changed 2 months ago by mjethani

  • Owner mjethani deleted

Removing myself as the owner of this issue as I won't have time for this.

Note: See TracTickets for help on using tickets.