Remove UserAgentOverrides.jsm
Categories
(Core :: Networking, enhancement, P2)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox71 | --- | fixed |
People
(Reporter: valentin, Assigned: valentin)
References
(Blocks 1 open bug)
Details
(Whiteboard: [necko-triaged])
Attachments
(4 files)
| Assignee | ||
Comment 1•7 years ago
|
||
| Assignee | ||
Comment 2•7 years ago
|
||
Comment 3•7 years ago
|
||
| Assignee | ||
Comment 4•7 years ago
|
||
| Assignee | ||
Comment 5•7 years ago
|
||
| Assignee | ||
Comment 6•7 years ago
|
||
| Assignee | ||
Comment 7•7 years ago
|
||
| Assignee | ||
Comment 8•7 years ago
|
||
| Assignee | ||
Comment 9•7 years ago
|
||
| Assignee | ||
Comment 10•7 years ago
|
||
| Assignee | ||
Comment 11•7 years ago
|
||
Comment 12•7 years ago
|
||
Comment 13•7 years ago
|
||
There are some r+ patches which didn't land and no activity in this bug for 2 weeks.
:valentin, could you have a look please?
| Assignee | ||
Comment 14•7 years ago
|
||
I was waiting on bug 1515005 before I can land the patches.
Adam, I see that bug 1527352 is verified. Can we remove UserAgentOverrides.jsm now?
Updated•7 years ago
|
Comment 15•6 years ago
|
||
Comment 16•6 years ago
|
||
Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=266581728&repo=autoland
https://treeherder.mozilla.org/logviewer.html#?job_id=266582414&repo=autoland
Backout link: https://hg.mozilla.org/integration/autoland/rev/8c3cf0c548977009df6f6c690c7f7335b032626f
[task 2019-09-13T18:25:18.357Z] 18:25:18 INFO - Killing every process called emulator64-arm
[task 2019-09-13T18:25:18.364Z] 18:25:18 INFO - Killing pid 177.
[task 2019-09-13T18:25:18.367Z] 18:25:18 INFO - [mozharness: 2019-09-13 18:25:18.364740Z] Finished run-tests step (failed)
[task 2019-09-13T18:25:18.367Z] 18:25:18 FATAL - Uncaught exception: Traceback (most recent call last):
[task 2019-09-13T18:25:18.368Z] 18:25:18 FATAL - File "/builds/worker/workspace/build/src/testing/mozharness/mozharness/base/script.py", line 2101, in run
[task 2019-09-13T18:25:18.369Z] 18:25:18 FATAL - self.run_action(action)
[task 2019-09-13T18:25:18.369Z] 18:25:18 FATAL - File "/builds/worker/workspace/build/src/testing/mozharness/mozharness/base/script.py", line 2040, in run_action
[task 2019-09-13T18:25:18.369Z] 18:25:18 FATAL - self._possibly_run_method(method_name, error_if_missing=True)
[task 2019-09-13T18:25:18.370Z] 18:25:18 FATAL - File "/builds/worker/workspace/build/src/testing/mozharness/mozharness/base/script.py", line 1995, in _possibly_run_method
[task 2019-09-13T18:25:18.370Z] 18:25:18 FATAL - return getattr(self, method_name)()
[task 2019-09-13T18:25:18.370Z] 18:25:18 FATAL - File "/builds/worker/workspace/build/src/testing/mozharness/scripts/android_emulator_pgo.py", line 229, in run_tests
[task 2019-09-13T18:25:18.370Z] 18:25:18 FATAL - env=env,
[task 2019-09-13T18:25:18.370Z] 18:25:18 FATAL - File "/builds/worker/workspace/build/venv/lib/python2.7/site-packages/marionette_driver/marionette.py", line 462, in init
[task 2019-09-13T18:25:18.370Z] 18:25:18 FATAL - self.start_binary(self.startup_timeout)
[task 2019-09-13T18:25:18.370Z] 18:25:18 FATAL - File "/builds/worker/workspace/build/venv/lib/python2.7/site-packages/marionette_driver/marionette.py", line 491, in start_binary
[task 2019-09-13T18:25:18.370Z] 18:25:18 FATAL - reraise(IOError, msg.format(timeout), tb)
[task 2019-09-13T18:25:18.370Z] 18:25:18 FATAL - File "/builds/worker/workspace/build/venv/lib/python2.7/site-packages/marionette_driver/marionette.py", line 482, in start_binary
[task 2019-09-13T18:25:18.370Z] 18:25:18 FATAL - self.raise_for_port(timeout=timeout)
[task 2019-09-13T18:25:18.370Z] 18:25:18 FATAL - File "/builds/worker/workspace/build/venv/lib/python2.7/site-packages/marionette_driver/marionette.py", line 569, in raise_for_port
[task 2019-09-13T18:25:18.370Z] 18:25:18 FATAL - self.host, self.port))
[task 2019-09-13T18:25:18.370Z] 18:25:18 FATAL - IOError: Process killed after 1000s because no connection to Marionette server could be established. Check gecko.log for errors
[task 2019-09-13T18:25:18.370Z] 18:25:18 FATAL - Running post_fatal callback...
[task 2019-09-13T18:25:18.370Z] 18:25:18 FATAL - Exiting -1
[task 2019-09-13T18:04:38.933Z] 18:04:38 INFO - Console message: [JavaScript Error: "RemoteWebProgress failed to call onProgressChange: [Exception... "JavaScript component does not have a method named: "onProgressChange"'JavaScript component does not have a method named: "onProgressChange"' when calling method: [nsIWebProgressListener::onProgressChange]" nsresult: "0x80570030 (NS_ERROR_XPC_JSOBJECT_HAS_NO_FUNCTION_NAMED)" location: "JS frame :: resource://gre/modules/RemoteWebProgress.jsm :: _callProgressListeners :: line 75" data: no]
[task 2019-09-13T18:04:38.933Z] 18:04:38 INFO - " {file: "resource://gre/modules/RemoteWebProgress.jsm" line: 77}]
[task 2019-09-13T18:04:38.933Z] 18:04:38 INFO - _callProgressListeners@resource://gre/modules/RemoteWebProgress.jsm:77:14
[task 2019-09-13T18:04:38.933Z] 18:04:38 INFO - onProgressChange@resource://gre/modules/RemoteWebProgress.jsm:104:10
[task 2019-09-13T18:04:38.934Z] 18:04:38 INFO -
[task 2019-09-13T18:04:38.937Z] 18:04:38 INFO - Console message: [JavaScript Warning: "Loading failed for the <script> with source “http://example.com/browser/dom/serviceworkers/test/utils.js”." {file: "http://example.com/browser/dom/serviceworkers/test/empty_with_utils.html" line: 9}]
[task 2019-09-13T18:04:38.937Z] 18:04:38 INFO - Buffered messages finished
[task 2019-09-13T18:04:38.937Z] 18:04:38 INFO - TEST-UNEXPECTED-FAIL | dom/serviceworkers/test/browser_navigation_process_swap.js | Test timed out -
[task 2019-09-13T18:04:38.937Z] 18:04:38 INFO - GECKO(4209) | JavaScript error: resource://testing-common/PromiseTestUtils.jsm, line 112: uncaught exception: Object
[task 2019-09-13T18:04:38.938Z] 18:04:38 INFO - Console message: [JavaScript Error: "uncaught exception: Object" {file: "resource://testing-common/PromiseTestUtils.jsm" line: 112}]
[task 2019-09-13T18:04:38.938Z] 18:04:38 INFO - GECKO(4209) | MEMORY STAT | vsize 20975013MB | residentFast 1064MB
[task 2019-09-13T18:04:38.938Z] 18:04:38 INFO - TEST-OK | dom/serviceworkers/test/browser_navigation_process_swap.js | took 90028ms
[task 2019-09-13T18:04:38.938Z] 18:04:38 INFO - Not taking screenshot here: see the one that was previously logged
[task 2019-09-13T18:04:38.939Z] 18:04:38 INFO - TEST-UNEXPECTED-FAIL | dom/serviceworkers/test/browser_navigation_process_swap.js | Found a tab after previous test timed out: about:blank -
[task 2019-09-13T18:04:38.939Z] 18:04:38 INFO - checking window state
[task 2019-09-13T18:04:38.939Z] 18:04:38 INFO - TEST-START | dom/serviceworkers/test/browser_storage_permission.js
[task 2019-09-13T18:04:42.005Z] 18:04:42 INFO - GECKO(4209) | JavaScript error: resource://testing-common/PromiseTestUtils.jsm, line 112: uncaught exception: Object
Comment 17•6 years ago
|
||
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Updated•6 years ago
|
Comment 18•6 years ago
|
||
Comment 19•6 years ago
|
||
Backed out 4 changesets (Bug 1513574) for causing several browser chrome failures. Please take a look over those browser chrome failures that turned into permafailures after this bug landed. That happened also on your previous land here: https://tinyurl.com/y28el3c9
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=266826086&repo=autoland&lineNumber=17656
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=266824748&repo=autoland&lineNumber=12603
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=266826095&repo=autoland&lineNumber=13892
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=266824590&repo=autoland&lineNumber=3244
Backout link: https://hg.mozilla.org/integration/autoland/rev/fe583182f808dc2c7587c1468b3a54932ed0908a
Comment 20•6 years ago
|
||
Comment 21•6 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/3ab38d48e289
https://hg.mozilla.org/mozilla-central/rev/2e0fe7f115ee
https://hg.mozilla.org/mozilla-central/rev/59d191ed3f5b
https://hg.mozilla.org/mozilla-central/rev/4536fef9e911
| Assignee | ||
Updated•6 years ago
|
Comment 22•6 years ago
|
||
Does this change mean the domain specific override using "general.useragent.override.[DOMAIN]" does not work any more? Because this is what apparently happened. Since the build of September 17th that setting is ignored.
Any workaround?
| Assignee | ||
Comment 23•6 years ago
|
||
(In reply to alessino from comment #22)
Does this change mean the domain specific override using "general.useragent.override.[DOMAIN]" does not work any more? Because this is what apparently happened. Since the build of September 17th that setting is ignored.
Any workaround?
That is correct.
There are lots of webextensions that can change the username in a much more reliable way.
Take your pick.
| Assignee | ||
Updated•6 years ago
|
Comment 24•6 years ago
|
||
(In reply to Valentin Gosu [:valentin] (he/him) from comment #23)
That is correct.
There are lots of webextensions that can change the username in a much more reliable way.
Take your pick.
Thanks for the response.
It would seem as if "general.useragent.override" is still working, right?
Was there a particular reason why the domain specific part was removed? It did work reliably and was a lot more elegant than to have to install yet another extension.
| Assignee | ||
Comment 25•6 years ago
|
||
(In reply to alessino from comment #24)
It would seem as if "general.useragent.override" is still working, right?
Yes, the general browser-wide UA pref still works.
Was there a particular reason why the domain specific part was removed? It did work reliably and was a lot more elegant than to have to install yet another extension.
Yes. This code was quite inefficient, running for all loads, checking if you might have a site-specific UA pref set.
Plus, it had a years old bug where the UA change only happened for the top level load, not for subresource loads.
So it was bad, inefficient and buggy 🙂 We now have better ways for users to perform this change (via webextensions), and for Mozilla to run UA interventions (via webcompat-addon)
Comment 26•6 years ago
|
||
Thats a pity.
It was a very elegant and convenient way to keep the old user interface on Twitter -> https://www.reddit.com/r/Twitter/comments/ce1bea/reverting_back_to_the_old_twitter_interface_for/
Comment 27•6 years ago
|
||
I also think that it was better to just create about:config entry than installing another extension just to overwrite user-agent, especially if you want to change it for the long term. Because of that, I think that it would be better to implement it back.
Yes. This code was quite inefficient, running for all loads, checking if you might have a site-specific UA pref set.
So, can it be rewritten without those bugs? If addons can already change user-agent, wouldn't be possible to just add another option to "fetch" it from about:config?
Updated•6 years ago
|
| Assignee | ||
Comment 28•6 years ago
|
||
(In reply to Filip Š from comment #27)
I also think that it was better to just create
about:configentry than installing another extension just to overwrite user-agent, especially if you want to change it for the long term. Because of that, I think that it would be better to implement it back.
While this might work for you, about:config is a tool non-technical users should be using, as changing some things can completely break your browser.
Yes. This code was quite inefficient, running for all loads, checking if you might have a site-specific UA pref set.
So, can it be rewritten without those bugs? If addons can already change user-agent, wouldn't be possible to just add another option to "fetch" it from
about:config?
Things that are controlled by about:config prefs will sooner or later break. We can only test a small number of configurations, and just as before, having multiple ways of changing the userAgent means not all of them are well tested. And the technical burden of maintaining the code that does this (even assuming it's "bug free") is not worth it.
I agree that it was more convenient just to add a pref for what you wanted, but webExtensions allows you to do that just as easily, and is well tested.
Description
•