diff --git a/.eslintignore b/.eslintignore index 0772c8c19904..8936c9986b7c 100644 --- a/.eslintignore +++ b/.eslintignore @@ -57,8 +57,6 @@ browser/components/sessionstore/test/unit/data/sessionstore_invalid.js # for documentation purposes (policies.json) but to be accessed by the # code as a .jsm (schema.jsm) browser/components/enterprisepolicies/schemas/schema.jsm -# Ignore generated code from wasm-bindgen -browser/components/extensions/profiler_get_symbols.js # generated & special files in cld2 browser/components/translation/cld2/** # Screenshots is imported as a system add-on and has @@ -362,3 +360,6 @@ tools/tryselect/selectors/chooser/templates/chooser.html # Third party toolkit/modules/third_party/** third_party/** + +# Ignore generated code from wasm-bindgen +toolkit/components/extensions/profiler_get_symbols.js diff --git a/browser/components/extensions/ext-browser.json b/browser/components/extensions/ext-browser.json index dab645fe1ed3..aae33f58a26f 100644 --- a/browser/components/extensions/ext-browser.json +++ b/browser/components/extensions/ext-browser.json @@ -140,8 +140,8 @@ ] }, "geckoProfiler": { - "url": "chrome://browser/content/parent/ext-geckoProfiler.js", - "schema": "chrome://browser/content/schemas/geckoProfiler.json", + "url": "chrome://extensions/content/parent/ext-geckoProfiler.js", + "schema": "chrome://extensions/content/schemas/geckoProfiler.json", "scopes": ["addon_parent"], "paths": [ ["geckoProfiler"] diff --git a/browser/components/extensions/jar.mn b/browser/components/extensions/jar.mn index 6144965444d9..4e232b403b5e 100644 --- a/browser/components/extensions/jar.mn +++ b/browser/components/extensions/jar.mn @@ -24,7 +24,6 @@ browser.jar: content/browser/parent/ext-devtools-network.js (parent/ext-devtools-network.js) content/browser/parent/ext-devtools-panels.js (parent/ext-devtools-panels.js) content/browser/parent/ext-find.js (parent/ext-find.js) - content/browser/parent/ext-geckoProfiler.js (parent/ext-geckoProfiler.js) content/browser/parent/ext-history.js (parent/ext-history.js) content/browser/parent/ext-menus.js (parent/ext-menus.js) content/browser/parent/ext-omnibox.js (parent/ext-omnibox.js) diff --git a/browser/components/extensions/moz.build b/browser/components/extensions/moz.build index b152a32300e3..49b0543649fc 100644 --- a/browser/components/extensions/moz.build +++ b/browser/components/extensions/moz.build @@ -16,9 +16,6 @@ EXTRA_COMPONENTS += [ EXTRA_JS_MODULES += [ 'ExtensionControlledPopup.jsm', 'ExtensionPopups.jsm', - 'profiler_get_symbols.js', - 'ProfilerGetSymbols-worker.js', - 'ProfilerGetSymbols.jsm', ] DIRS += ['schemas'] diff --git a/browser/components/extensions/schemas/jar.mn b/browser/components/extensions/schemas/jar.mn index 19bea5bb3d19..3f71f863e05f 100644 --- a/browser/components/extensions/schemas/jar.mn +++ b/browser/components/extensions/schemas/jar.mn @@ -13,7 +13,6 @@ browser.jar: content/browser/schemas/devtools_network.json content/browser/schemas/devtools_panels.json content/browser/schemas/find.json - content/browser/schemas/geckoProfiler.json content/browser/schemas/history.json content/browser/schemas/menus.json content/browser/schemas/menus_child.json diff --git a/browser/components/extensions/test/xpcshell/xpcshell-common.ini b/browser/components/extensions/test/xpcshell/xpcshell-common.ini index 4d6acdc13a62..68578ac701ca 100644 --- a/browser/components/extensions/test/xpcshell/xpcshell-common.ini +++ b/browser/components/extensions/test/xpcshell/xpcshell-common.ini @@ -6,7 +6,6 @@ [test_ext_browsingData_settings.js] [test_ext_chrome_settings_overrides_update.js] [test_ext_distribution_popup.js] -[test_ext_geckoProfiler_control.js] [test_ext_history.js] [test_ext_settings_overrides_search.js] [test_ext_settings_overrides_search_mozParam.js] diff --git a/browser/components/extensions/test/xpcshell/xpcshell.ini b/browser/components/extensions/test/xpcshell/xpcshell.ini index 230f60d22590..00e319f9e884 100644 --- a/browser/components/extensions/test/xpcshell/xpcshell.ini +++ b/browser/components/extensions/test/xpcshell/xpcshell.ini @@ -16,7 +16,6 @@ dupe-manifest = # - xpcshell-remote.ini # For tests which should only run with both remote extensions and remote content. -[test_ext_geckoProfiler_schema.js] [test_ext_manifest.js] [test_ext_manifest_commands.js] [test_ext_manifest_omnibox.js] diff --git a/devtools/client/performance-new/store/actions.js b/devtools/client/performance-new/store/actions.js index f7fc04cd81fb..3188ea470b96 100644 --- a/devtools/client/performance-new/store/actions.js +++ b/devtools/client/performance-new/store/actions.js @@ -11,7 +11,7 @@ const { recordingState: { REQUEST_TO_STOP_PROFILER, }} = require("devtools/client/performance-new/utils"); const { OS } = require("resource://gre/modules/osfile.jsm"); -const { ProfilerGetSymbols } = require("resource://app/modules/ProfilerGetSymbols.jsm"); +const { ProfilerGetSymbols } = require("resource://gre/modules/ProfilerGetSymbols.jsm"); /** * The recording state manages the current state of the recording panel. diff --git a/browser/components/extensions/ProfilerGetSymbols-worker.js b/toolkit/components/extensions/ProfilerGetSymbols-worker.js similarity index 98% rename from browser/components/extensions/ProfilerGetSymbols-worker.js rename to toolkit/components/extensions/ProfilerGetSymbols-worker.js index f1b90df7edf6..02738158154d 100644 --- a/browser/components/extensions/ProfilerGetSymbols-worker.js +++ b/toolkit/components/extensions/ProfilerGetSymbols-worker.js @@ -5,7 +5,7 @@ "use strict"; importScripts("resource://gre/modules/osfile.jsm", - "resource://app/modules/profiler_get_symbols.js"); + "resource://gre/modules/profiler_get_symbols.js"); // This worker uses the wasm module that was generated from https://github.com/mstange/profiler-get-symbols. // See ProfilerGetSymbols.jsm for more information. diff --git a/browser/components/extensions/ProfilerGetSymbols.jsm b/toolkit/components/extensions/ProfilerGetSymbols.jsm similarity index 98% rename from browser/components/extensions/ProfilerGetSymbols.jsm rename to toolkit/components/extensions/ProfilerGetSymbols.jsm index f6d422806fc8..830fecf8485c 100644 --- a/browser/components/extensions/ProfilerGetSymbols.jsm +++ b/toolkit/components/extensions/ProfilerGetSymbols.jsm @@ -81,7 +81,7 @@ this.ProfilerGetSymbols = { return new Promise((resolve, reject) => { const worker = - new ChromeWorker("resource://app/modules/ProfilerGetSymbols-worker.js"); + new ChromeWorker("resource://gre/modules/ProfilerGetSymbols-worker.js"); worker.onmessage = (e) => { if (e.data.error) { reject(e.data.error); diff --git a/toolkit/components/extensions/jar.mn b/toolkit/components/extensions/jar.mn index 9165922f0f23..d637cc3ddae3 100644 --- a/toolkit/components/extensions/jar.mn +++ b/toolkit/components/extensions/jar.mn @@ -17,6 +17,9 @@ toolkit.jar: content/extensions/parent/ext-dns.js (parent/ext-dns.js) content/extensions/parent/ext-downloads.js (parent/ext-downloads.js) content/extensions/parent/ext-extension.js (parent/ext-extension.js) +#ifndef ANDROID + content/extensions/parent/ext-geckoProfiler.js (parent/ext-geckoProfiler.js) +#endif content/extensions/parent/ext-i18n.js (parent/ext-i18n.js) #ifndef ANDROID content/extensions/parent/ext-identity.js (parent/ext-identity.js) diff --git a/toolkit/components/extensions/moz.build b/toolkit/components/extensions/moz.build index ae2592908f3a..573663d20701 100644 --- a/toolkit/components/extensions/moz.build +++ b/toolkit/components/extensions/moz.build @@ -36,6 +36,13 @@ EXTRA_JS_MODULES += [ 'Schemas.jsm', ] +if CONFIG['MOZ_WIDGET_TOOLKIT'] != "android": + EXTRA_JS_MODULES += [ + 'profiler_get_symbols.js', + 'ProfilerGetSymbols-worker.js', + 'ProfilerGetSymbols.jsm', + ] + EXTRA_COMPONENTS += [ 'extensions-toolkit.manifest', ] diff --git a/browser/components/extensions/parent/ext-geckoProfiler.js b/toolkit/components/extensions/parent/ext-geckoProfiler.js similarity index 99% rename from browser/components/extensions/parent/ext-geckoProfiler.js rename to toolkit/components/extensions/parent/ext-geckoProfiler.js index e1a46102064d..5bb24e213594 100644 --- a/browser/components/extensions/parent/ext-geckoProfiler.js +++ b/toolkit/components/extensions/parent/ext-geckoProfiler.js @@ -5,7 +5,7 @@ var {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm"); ChromeUtils.defineModuleGetter(this, "OS", "resource://gre/modules/osfile.jsm"); -ChromeUtils.defineModuleGetter(this, "ProfilerGetSymbols", "resource://app/modules/ProfilerGetSymbols.jsm"); +ChromeUtils.defineModuleGetter(this, "ProfilerGetSymbols", "resource://gre/modules/ProfilerGetSymbols.jsm"); const PREF_ASYNC_STACK = "javascript.options.asyncstack"; diff --git a/browser/components/extensions/profiler_get_symbols.js b/toolkit/components/extensions/profiler_get_symbols.js similarity index 100% rename from browser/components/extensions/profiler_get_symbols.js rename to toolkit/components/extensions/profiler_get_symbols.js diff --git a/browser/components/extensions/schemas/geckoProfiler.json b/toolkit/components/extensions/schemas/geckoProfiler.json similarity index 100% rename from browser/components/extensions/schemas/geckoProfiler.json rename to toolkit/components/extensions/schemas/geckoProfiler.json diff --git a/toolkit/components/extensions/schemas/jar.mn b/toolkit/components/extensions/schemas/jar.mn index 8bf1e9851f2c..5cbf40ea3609 100644 --- a/toolkit/components/extensions/schemas/jar.mn +++ b/toolkit/components/extensions/schemas/jar.mn @@ -17,6 +17,9 @@ toolkit.jar: content/extensions/schemas/extension.json content/extensions/schemas/extension_types.json content/extensions/schemas/extension_protocol_handlers.json +#ifndef ANDROID + content/extensions/schemas/geckoProfiler.json +#endif content/extensions/schemas/i18n.json #ifndef ANDROID content/extensions/schemas/identity.json diff --git a/browser/components/extensions/test/xpcshell/test_ext_geckoProfiler_control.js b/toolkit/components/extensions/test/xpcshell/test_ext_geckoProfiler_control.js similarity index 100% rename from browser/components/extensions/test/xpcshell/test_ext_geckoProfiler_control.js rename to toolkit/components/extensions/test/xpcshell/test_ext_geckoProfiler_control.js diff --git a/browser/components/extensions/test/xpcshell/test_ext_geckoProfiler_schema.js b/toolkit/components/extensions/test/xpcshell/test_ext_geckoProfiler_schema.js similarity index 100% rename from browser/components/extensions/test/xpcshell/test_ext_geckoProfiler_schema.js rename to toolkit/components/extensions/test/xpcshell/test_ext_geckoProfiler_schema.js diff --git a/toolkit/components/extensions/test/xpcshell/xpcshell-common.ini b/toolkit/components/extensions/test/xpcshell/xpcshell-common.ini index a10fee55a404..d0363aa5fee9 100644 --- a/toolkit/components/extensions/test/xpcshell/xpcshell-common.ini +++ b/toolkit/components/extensions/test/xpcshell/xpcshell-common.ini @@ -60,6 +60,8 @@ fail-if = appname == "thunderbird" [test_ext_extension_content_telemetry.js] skip-if = os == "android" # checking for telemetry needs to be updated: 1384923 [test_ext_extension_startup_telemetry.js] +[test_ext_geckoProfiler_control.js] +skip-if = os == "android" # Not shipped on Android [test_ext_geturl.js] [test_ext_idle.js] [test_ext_incognito.js] diff --git a/toolkit/components/extensions/test/xpcshell/xpcshell.ini b/toolkit/components/extensions/test/xpcshell/xpcshell.ini index 9e8de7da0a53..e15d074c6a64 100644 --- a/toolkit/components/extensions/test/xpcshell/xpcshell.ini +++ b/toolkit/components/extensions/test/xpcshell/xpcshell.ini @@ -33,6 +33,8 @@ tags = webextensions in-process-webextensions [test_csp_validator.js] [test_ext_contexts.js] [test_ext_json_parser.js] +[test_ext_geckoProfiler_schema.js] +skip-if = os == 'android' # Not shipped on Android [test_ext_manifest.js] skip-if = toolkit == 'android' # browser_action icon testing not supported on android [test_ext_manifest_content_security_policy.js] diff --git a/tools/profiler/public/GeckoProfiler.h b/tools/profiler/public/GeckoProfiler.h index 62848bbde582..7075744e31af 100644 --- a/tools/profiler/public/GeckoProfiler.h +++ b/tools/profiler/public/GeckoProfiler.h @@ -117,7 +117,7 @@ class Vector; // |MACRO| appropriately to extract the relevant parts. Note that the number // values are used internally only and so can be changed without consequence. // Any changes to this list should also be applied to the feature list in -// browser/components/extensions/schemas/geckoProfiler.json. +// toolkit/components/extensions/schemas/geckoProfiler.json. # define PROFILER_FOR_EACH_FEATURE(MACRO) \ /* Profile Java code (Android only). */ \ MACRO(0, "java", Java) \