Add state to autoplay-media to block video
Categories
(Firefox :: Site Identity, enhancement, P1)
Tracking
()
People
(Reporter: daleharvey, Assigned: daleharvey)
References
(Blocks 1 open bug, Regression)
Details
(Keywords: regression)
Attachments
(3 files)
Assignee | ||
Comment 1•6 years ago
|
||
Hey Johann
You mentioned it would be simpler to add a 3rd state here, I was wondering if there was any other permissions that do so I can follow their example. Cheers
Comment 2•6 years ago
|
||
Two examples are: https://searchfox.org/mozilla-central/rev/6dab6dad9cc852011a14275a8b2c2c03ed7600a7/browser/modules/SitePermissions.jsm#247-248
The permission manager is really just an origin -> integer storage, so you can just invent some constant integer to use here, it shouldn't differ much from other permission manager usage, just a different value. Important to remember:
- Please define the constant in some public interface that can be accessed from JS and C++ instead of hard-coding a magic number
- Don't use the numbers 0 - 2, because these are obviously taken already. You may also want to avoid number 8 since that is already taken by (duh) both examples mentioned above.
Let me know if you have any other question :)
Updated•6 years ago
|
Updated•6 years ago
|
Assignee | ||
Comment 3•6 years ago
|
||
So thought I was finished with this, noticed a small bug and it is somewhat unravelling
We have our constants for Autoplay, ALLOWED=0, BLOCKED=1 [1], There are also constants for the permissionManager [2] where ALLOW_ACTION=1, DENY_ACTION=2 and there are a bunch of places where we use these interchangebly like:
https://searchfox.org/mozilla-central/source/browser/modules/SitePermissions.jsm#760 or
https://searchfox.org/mozilla-central/source/dom/base/nsContentUtils.cpp#3477
I found and fixed a few areas where we were doing something wrong and more things broke. I think while we use ALLOWED=0, BLOCKED=1 for getDefault, in the rest of the code we are actually using ALLOW=1 and DENY=2, verifying that now and if so we should change the nsIAutoplay definitions
[1] https://searchfox.org/mozilla-central/source/dom/media/nsIAutoplay.idl#14
[2] https://searchfox.org/mozilla-central/source/netwerk/base/nsIPermissionManager.idl#60
Assignee | ||
Comment 4•6 years ago
|
||
So yup confirmed that for the default, we use 0=ALLOW, 1=BLOCK, but for the site exceptions 1=ALLOW, 2=BLOCK. It doesnt currently cause a bug, but is quite confusing and when we add a new state it does start to cause bugs
Just changing the nsIAutoplay definitions is going to be tricky because we already have a bunch of users with this pref set, I dont suspect there is a magical way to migrate prefs currently is there?
Assignee | ||
Comment 5•6 years ago
|
||
Assignee | ||
Comment 6•6 years ago
|
||
So to fix the above problems I set the new constants to distinct constants (while still supporting reading the old values)
This has caused some issues in the front end permissions code that has a lot of assumptions that myPermission.BLOCKED/ALLOW lines up with SitePermission...BLOCK/ALLOW but those issues we were going to hit anyway (we would like BLOCKED_ALL to be treated like BLOCKED), there are some TODO's where I am still trying to figure out if there is a cleaner way to do that.
Also still needs tests but wanted to be sure about the approach and not block everything else on them
Comment 7•6 years ago
|
||
(In reply to Dale Harvey (:daleharvey) from comment #3)
We have our constants for Autoplay, ALLOWED=0, BLOCKED=1 [1], There are also constants for the permissionManager [2] where ALLOW_ACTION=1, DENY_ACTION=2 and there are a bunch of places where we use these interchangebly like:
What problem you encountered? As we won't compare nsIAutoPlay's attributes directly with the nsPermissionManager's attributes, it won't cause any comparing confusion. Could you explain more details about the issue you got?
When checking the permission, we usually use helper functions to return true
or false
[1], so I don't know why we have to expose the permissionManager's Allow
and Deny
?
Thank you!
Assignee | ||
Comment 8•6 years ago
|
||
The problems were all in the frontend code (although I found comparing to ALLOW_ACTION very confusing), for example if we built a list using ALLOW=0, BLOCK=1, BLOCK_ALL=3 then the 0 is considered UNKNOWN and ignored by
https://searchfox.org/mozilla-central/source/browser/components/preferences/sitePermissions.js#272
if you fix that, then the ALLOW permission would always end up getting deleted instead set due to
https://searchfox.org/mozilla-central/source/browser/modules/SitePermissions.jsm#547
It would be possible (and possibly less of an intrusive change) to continue with having 0=ALLOW for the media.autoplay.default pref and 1=ALLOW for the site specific permission, but for less future confusion I think we should probably align these so they match. Although would like Johann to make the call on that one.
Comment 9•6 years ago
|
||
(In reply to Dale Harvey (:daleharvey) from comment #8)
The problems were all in the frontend code (although I found comparing to ALLOW_ACTION very confusing)
I would prefer to create a wrapper in front-end side to handle the state convertion, because it seems weird to me to introduce the unneccesary complexity to platform side but actually the issue is not in the platform side.
for example if we built a list using ALLOW=0, BLOCK=1, BLOCK_ALL=3 then the 0 is considered UNKNOWN and ignored by
https://searchfox.org/mozilla-central/source/browser/components/preferences/sitePermissions.js#272
The states
here comes from SitePermissions.getAvailableStates
, which would eventually check the state in gPermissionObject
[1].
The states in autoplay-media
permission object are still SitePermission's states, it's not nsIAutoplay's property.
Assignee | ||
Comment 10•6 years ago
|
||
I would prefer to create a wrapper in front-end side to handle the state convertion,
because it seems weird to me to introduce the unneccesary complexity to platform
side but actually the issue is not in the platform side.
The states in autoplay-media permission object are still SitePermission's states, it's not nsIAutoplay's property.
Yup, however SitePermissions / PermissionManager have no concept of BLOCKED_ALL, that is going to have to come from Autoplay so the platform is going to have the complexity either way, it either:
-
Does as this patch currently does and handle old + new values for nsIAutoplay constants and does all its checks against nsIAutoplay constants
-
Tests ALLOW_ACTION, DENY_ACTION against PermissionManager (where Autoplay has similiar named constants but off by 1) and tests BLOCKED_ALL against Autoplay
The latter is probably less changes, I will try it out but I do think its asking for more confusion down the line
Comment 11•6 years ago
|
||
(In reply to Dale Harvey (:daleharvey) from comment #10)
Yup, however SitePermissions / PermissionManager have no concept of BLOCKED_ALL, that is going to have to come from Autoplay so the platform is going to have the complexity either way, it either:
Is it possible to add a new state in SitePermission for BLOCKED_ALL
? From [1], it seems that we already have some states which are used for specific permissions.
Assignee | ||
Comment 12•6 years ago
|
||
Yup its possible, I wasnt sure about the tradeoff of adding specific permission behaviour to SitePermissions vs having the Permanager call out to the specific permissions more (plus I really do not like the fact that the site permissions and the global pref arent aligned), but will do another version with that approach
Assignee | ||
Comment 13•6 years ago
|
||
So redid the patch adding BLOCKED_ALL to site permissions. I still feel bad that the global pref doesnt line up with the site permission, however the patch is an awful lot cleaner
Assignee | ||
Comment 14•6 years ago
|
||
As mentioned in https://bugzilla.mozilla.org/show_bug.cgi?id=1549607, the "Settings" panel that Autoplay is now in doesnt have the ability to add or remove permissions, only to search existing ones.
The text given for that part doesnt make sense, I will be looking to add that functionality in https://bugzilla.mozilla.org/show_bug.cgi?id=1549607, but in the meantime we are gonna need a new string that doesnt describe adding permissions
The panels you can view by clicking "Settings" @ about:preferences#privacy can give some examples
Comment 15•6 years ago
|
||
Hey Dale,
We can use the string in the spec:
"You can set exceptions and specify if certain websites should not follow the default setting. Type the address of the site you want to manage and then click the ‘Add’ button and use the dropdown to change the setting."
Updated•6 years ago
|
Assignee | ||
Comment 16•6 years ago
|
||
Hey Eric
There is no "Add" button to click until https://bugzilla.mozilla.org/show_bug.cgi?id=1549607 is done which may take a while so need a string that doesnt reference the "Add" button, as mentioned the panel will be the same as the rest of the "Settings" where the input field is used to filter existing permissions
Comment 17•5 years ago
|
||
redirecting this NI to Ron A. since he's been handling it.
Assignee | ||
Comment 18•5 years ago
|
||
Also for Ron if your handling strings at the moment
https://bug1543812.bmoattachments.org/attachment.cgi?id=9066498
Has different strings for the same thing, "Block media with sound" and "Block audio", pretty sure we shouldnt be using different descriptions for exactly the same permission, assume I should be using "Block audio" but wanted to make sure
Comment 19•5 years ago
|
||
(In reply to Dale Harvey (:daleharvey) from comment #18)
Also for Ron if your handling strings at the moment
https://bug1543812.bmoattachments.org/attachment.cgi?id=9066498
Has different strings for the same thing, "Block media with sound" and "Block audio", pretty sure we shouldnt be using different descriptions for exactly the same permission, assume I should be using "Block audio" but wanted to make sure
Yes, let's use Block Audio, Block Audio and Video, and Allow Audio and Video (use the proper case)
Comment 20•5 years ago
|
||
Comment 21•5 years ago
|
||
Backed out changeset d64cb52ebf88 (Bug 1543812) for xpcshell failure at parser/xml/test/unit/test_sanitizer.js.
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=250062937&repo=autoland&lineNumber=6358
00:55:49 INFO - TEST-START | parser/xml/test/unit/test_sanitizer.js
00:55:49 WARNING - TEST-UNEXPECTED-FAIL | parser/xml/test/unit/test_sanitizer.js | xpcshell return code: 1
00:55:49 INFO - TEST-INFO took 287ms
00:55:49 INFO - >>>>>>>
00:55:49 INFO - PID 19508 | Unable to load \\untrusted-startup-test-dll.dll; LoadLibraryW failed: 126
00:55:49 INFO - (xpcshell/head.js) | test MAIN run_test pending (1)
00:55:49 INFO - TEST-PASS | parser/xml/test/unit/test_sanitizer.js | run_test - [run_test : 24] ensure places database is successfully initialized. - true == true
00:55:49 INFO - TEST-PASS | parser/xml/test/unit/test_sanitizer.js | run_test - [run_test : 38] "<html><head></head><body></body></html>" == "<html><head></head><body></body></html>"
00:55:49 INFO - TEST-PASS | parser/xml/test/unit/test_sanitizer.js | run_test - [run_test : 38] "<html><head></head><body>&ADz&AGn&AG0&AEf&ACA&AHM&AHI&AGO&AD0&AGn&ACA&AG8Abg&AGUAcgByAG8AcgA9AGEAbABlAHIAdAAoADEAKQ&ACAAPABi</body></html>" == "<html><head></head><body>&ADz&AGn&AG0&AEf&ACA&AHM&AHI&AGO&AD0&AGn&ACA&AG8Abg&AGUAcgByAG8AcgA9AGEAbABlAHIAdAAoADEAKQ&ACAAPABi</body></html>"
00:55:49 INFO - TEST-PASS | parser/xml/test/unit/test_sanitizer.js | run_test - [run_test : 38] "<html><head></head><body>&alert&A7&(1)&R&UA;&&<&A9&11/script&X&></body></html>" == "<html><head></head><body>&alert&A7&(1)&R&UA;&&<&A9&11/script&X&></body></html>"
00:55:49 INFO - TEST-PASS | parser/xml/test/unit/test_sanitizer.js | run_test - [run_test : 38] "<html><head></head><body>0? :postMessage(importScripts('data:;base64,cG9zdE1lc3NhZ2UoJ2FsZXJ0KDEpJyk'))</body></html>" == "<html><head></head><body>0? :postMessage(importScripts('data:;base64,cG9zdE1lc3NhZ2UoJ2FsZXJ0KDEpJyk'))</body></html>"
00:55:49 INFO - TEST-PASS | parser/xml/test/unit/test_sanitizer.js | run_test - [run_test : 38] "<html><head></head><body></body></html>" == "<html><head></head><body></body></html>"
00:55:49 INFO - TEST-PASS | parser/xml/test/unit/test_sanitizer.js | run_test - [run_test : 38] "<html><head></head><body></body></html>" == "<html><head></head><body></body></html>"
00:55:49 INFO - TEST-PASS | parser/xml/test/unit/test_sanitizer.js | run_test - [run_test : 38] "<html><head></head><body></body></html>" == "<html><head></head><body></body></html>"
00:55:49 INFO - TEST-PASS | parser/xml/test/unit/test_sanitizer.js | run_test - [run_test : 38] "<html><head></head><body></body></html>" == "<html><head></head><body></body></html>"
00:55:49 INFO - TEST-PASS | parser/xml/test/unit/test_sanitizer.js | run_test - [run_test : 38] "<html><head></head><body><a>X</a></body></html>" == "<html><head></head><body><a>X</a></body></html>"
00:55:49 INFO - <<<<<<<
00:55:49 INFO - mozcrash Downloading symbols from: https://queue.taskcluster.net/v1/task/WyIjbrrYTkaWcL1DBp0JZw/artifacts/public/build/target.crashreporter-symbols.zip
00:55:53 INFO - mozcrash Copy/paste: Z:\task_1559692202\build\win32-minidump_stackwalk.exe c:\users\task_1559692202\appdata\local\temp\xpc-other-ozfym0\b2606c93-af61-4c7d-b370-3ce0aea67c5a.dmp c:\users\task_1559692202\appdata\local\temp\tmpwd7ugu
00:56:00 INFO - mozcrash Saved minidump as Z:\task_1559692202\build\blobber_upload_dir\b2606c93-af61-4c7d-b370-3ce0aea67c5a.dmp
00:56:00 INFO - mozcrash Saved app info as Z:\task_1559692202\build\blobber_upload_dir\b2606c93-af61-4c7d-b370-3ce0aea67c5a.extra
00:56:00 WARNING - PROCESS-CRASH | parser/xml/test/unit/test_sanitizer.js | application crashed [@ static unsigned int mozilla::dom::SiteAutoplayPerm(const class mozilla::dom::Document *)]
00:56:00 INFO - Crash dump filename: c:\users\task_1559692202\appdata\local\temp\xpc-other-ozfym0\b2606c93-af61-4c7d-b370-3ce0aea67c5a.dmp
00:56:00 INFO - Operating system: Windows NT
00:56:00 INFO - 10.0.17134
00:56:00 INFO - CPU: amd64
00:56:00 INFO - family 6 model 85 stepping 4
00:56:00 INFO - 8 CPUs
00:56:00 INFO - GPU: UNKNOWN
00:56:00 INFO - Crash reason: EXCEPTION_ACCESS_VIOLATION_READ
00:56:00 INFO - Crash address: 0x20
00:56:00 INFO - Process uptime: 0 seconds
00:56:00 INFO - Thread 0 (crashed)
00:56:00 INFO - 0 xul.dll!static unsigned int mozilla::dom::SiteAutoplayPerm(const class mozilla::dom::Document *) [AutoplayPolicy.cpp:71d3424191f63751068077270a32f9f3aeb026b8 : 69 + 0x0]
00:56:00 INFO - rax = 0x000068e1dd34c5bd rdx = 0xffff81cc190ea402
00:56:00 INFO - rcx = 0x0000000000000000 rbx = 0x000001c461a08980
00:56:00 INFO - rsi = 0x000001c45907d800 rdi = 0x0000000000000000
00:56:00 INFO - rbp = 0x0000000000000000 rsp = 0x000000083a1fcce0
00:56:00 INFO - r8 = 0x000001c45908f000 r9 = 0x74606564632d7860
00:56:00 INFO - r10 = 0xfefefefefefefeff r11 = 0x8080808080808080
00:56:00 INFO - r12 = 0x0000000000000000 r13 = 0x000001c461a08980
00:56:00 INFO - r14 = 0x0000000058cec400 r15 = 0x0000000000000000
00:56:00 INFO - rip = 0x00007ff83d898396
00:56:00 INFO - Found by: given as instruction pointer in context
00:56:00 INFO - 1 xul.dll!mozilla::dom::AutoplayPolicy::IsAllowedToPlay(mozilla::dom::HTMLMediaElement const &) [AutoplayPolicy.cpp:71d3424191f63751068077270a32f9f3aeb026b8 : 223 + 0xac]
00:56:00 INFO - rbx = 0x000001c461a08980 rbp = 0x0000000000000000
00:56:00 INFO - rsp = 0x000000083a1fcd40 r12 = 0x0000000000000000
00:56:00 INFO - r13 = 0x000001c461a08980 r14 = 0x0000000058cec400
00:56:00 INFO - r15 = 0x0000000000000000 rip = 0x00007ff83acb3cba
00:56:00 INFO - Found by: call frame info
00:56:00 INFO - 2 xul.dll!void mozilla::dom::HTMLMediaElement::UpdatePreloadAction() [HTMLMediaElement.cpp:71d3424191f63751068077270a32f9f3aeb026b8 : 2445 + 0x5]
00:56:00 INFO - rbx = 0x000001c461a08980 rbp = 0x0000000000000000
00:56:00 INFO - rsp = 0x000000083a1fcdc0 r12 = 0x0000000000000000
00:56:00 INFO - r13 = 0x000001c461a08980 r14 = 0x0000000058cec400
00:56:00 INFO - r15 = 0x0000000000000000 rip = 0x00007ff83acb395f
00:56:00 INFO - Found by: call frame info
00:56:00 INFO - 3 xul.dll!mozilla::dom::HTMLMediaElement::BindToTree(mozilla::dom::BindContext &,nsINode &) [HTMLMediaElement.cpp:71d3424191f63751068077270a32f9f3aeb026b8 : 4085 + 0x8]
00:56:00 INFO - rbx = 0x000001c461a08980 rbp = 0x0000000000000000
00:56:00 INFO - rsp = 0x000000083a1fce00 r12 = 0x0000000000000000
00:56:00 INFO - r13 = 0x000001c461a08980 r14 = 0x0000000058cec400
00:56:00 INFO - r15 = 0x0000000000000000 rip = 0x00007ff83d82094d
00:56:00 INFO - Found by: call frame info
00:56:00 INFO - 4 xul.dll!nsINode::InsertChildBefore(nsIContent *,nsIContent *,bool) [nsINode.cpp:71d3424191f63751068077270a32f9f3aeb026b8 : 1253 + 0x8]
00:56:00 INFO - rbx = 0x000001c461a08980 rbp = 0x0000000000000000
00:56:00 INFO - rsp = 0x000000083a1fce40 r12 = 0x0000000000000000
00:56:00 INFO - r13 = 0x000001c461a08980 r14 = 0x0000000058cec400
00:56:00 INFO - r15 = 0x0000000000000000 rip = 0x00007ff83abab2fd
00:56:00 INFO - Found by: call frame info
00:56:00 INFO - 5 xul.dll!static nsresult nsHtml5TreeOperation::Append(class nsIContent *, class nsIContent *, class nsHtml5DocumentBuilder *) [nsHtml5TreeOperation.cpp:71d3424191f63751068077270a32f9f3aeb026b8 : 176 + 0x15]
00:56:00 INFO - rbx = 0x000001c461a08980 rbp = 0x0000000000000000
00:56:00 INFO - rsp = 0x000000083a1fcff0 r12 = 0x0000000000000000
00:56:00 INFO - r13 = 0x000001c461a08980 r14 = 0x0000000058cec400
00:56:00 INFO - r15 = 0x0000000000000000 rip = 0x00007ff83b0eda73
00:56:00 INFO - Found by: call frame info
00:56:00 INFO - 6 xul.dll!void nsHtml5TreeBuilder::appendElement(void *, void *) [nsHtml5TreeBuilderCppSupplement.h:71d3424191f63751068077270a32f9f3aeb026b8 : 529 + 0xb]
00:56:00 INFO - rbx = 0x000001c461a08980 rbp = 0x0000000000000000
00:56:00 INFO - rsp = 0x000000083a1fd040 r12 = 0x0000000000000000
00:56:00 INFO - r13 = 0x000001c461a08980 r14 = 0x0000000058cec400
00:56:00 INFO - r15 = 0x0000000000000000 rip = 0x00007ff83b0d9c5e
00:56:00 INFO - Found by: call frame info
00:56:00 INFO - 7 xul.dll!void nsHtml5TreeBuilder::appendToCurrentNodeAndPushElementMayFoster(class nsHtml5ElementName *, class nsHtml5HtmlAttributes *) [nsHtml5TreeBuilder.cpp:71d3424191f63751068077270a32f9f3aeb026b8 : 4240 + 0xe]
00:56:00 INFO - rbx = 0x000001c461a08980 rbp = 0x0000000000000000
00:56:00 INFO - rsp = 0x000000083a1fd080 r12 = 0x0000000000000000
00:56:00 INFO - r13 = 0x000001c461a08980 r14 = 0x0000000058cec400
00:56:00 INFO - r15 = 0x0000000000000000 rip = 0x00007ff83b0dacf2
00:56:00 INFO - Found by: call frame info
00:56:00 INFO - 8 xul.dll!void nsHtml5TreeBuilder::startTag(class nsHtml5ElementName *, class nsHtml5HtmlAttributes *, bool) [nsHtml5TreeBuilder.cpp:71d3424191f63751068077270a32f9f3aeb026b8 : 0 + 0x10]
00:56:00 INFO - rbx = 0x000001c461a08980 rbp = 0x0000000000000000
00:56:00 INFO - rsp = 0x000000083a1fd0e0 r12 = 0x0000000000000000
00:56:00 INFO - r13 = 0x000001c461a08980 r14 = 0x0000000058cec400
00:56:00 INFO - r15 = 0x0000000000000000 rip = 0x00007ff83b0d3491
00:56:00 INFO - Found by: call frame info
00:56:00 INFO - 9 xul.dll!int nsHtml5Tokenizer::emitCurrentTagToken(bool, int) [nsHtml5Tokenizer.cpp:71d3424191f63751068077270a32f9f3aeb026b8 : 350 + 0x12]
00:56:00 INFO - rbx = 0x000001c461a08980 rbp = 0x0000000000000000
00:56:00 INFO - rsp = 0x000000083a1fd1a0 r12 = 0x0000000000000000
00:56:00 INFO - r13 = 0x000001c461a08980 r14 = 0x0000000058cec400
00:56:00 INFO - r15 = 0x0000000000000000 rip = 0x00007ff83b0d306d
00:56:00 INFO - Found by: call frame info
00:56:00 INFO - 10 xul.dll!static int nsHtml5Tokenizer::stateLoop<nsHtml5SilentPolicy>(int, char16_t, int, char16_t *, bool, int, int) [nsHtml5Tokenizer.cpp:71d3424191f63751068077270a32f9f3aeb026b8 : 1064 + 0xa]
00:56:00 INFO - rbx = 0x000001c461a08980 rbp = 0x0000000000000000
00:56:00 INFO - rsp = 0x000000083a1fd1e0 r12 = 0x0000000000000000
00:56:00 INFO - r13 = 0x000001c461a08980 r14 = 0x0000000058cec400
00:56:00 INFO - r15 = 0x0000000000000000 rip = 0x00007ff83b0cd3d0
00:56:00 INFO - Found by: call frame info
00:56:00 INFO - 11 xul.dll!nsHtml5Tokenizer::tokenizeBuffer(nsHtml5UTF16Buffer *) [nsHtml5Tokenizer.cpp:71d3424191f63751068077270a32f9f3aeb026b8 : 451 + 0x16]
00:56:00 INFO - rbx = 0x000001c461a08980 rbp = 0x0000000000000000
00:56:00 INFO - rsp = 0x000000083a1fd2c0 r12 = 0x0000000000000000
00:56:00 INFO - r13 = 0x000001c461a08980 r14 = 0x0000000058cec400
00:56:00 INFO - r15 = 0x0000000000000000 rip = 0x00007ff83b0c9c06
00:56:00 INFO - Found by: call frame info
00:56:00 INFO - 12 xul.dll!nsresult nsHtml5StringParser::Tokenize(const class nsTSubstring<char16_t> & const, class mozilla::dom::Document *, bool) [nsHtml5StringParser.cpp:71d3424191f63751068077270a32f9f3aeb026b8 : 101 + 0x8]
00:56:00 INFO - rbx = 0x000001c461a08980 rbp = 0x0000000000000000
00:56:00 INFO - rsp = 0x000000083a1fd330 r12 = 0x0000000000000000
00:56:00 INFO - r13 = 0x000001c461a08980 r14 = 0x0000000058cec400
00:56:00 INFO - r15 = 0x0000000000000000 rip = 0x00007ff83b2d65b1
00:56:00 INFO - Found by: call frame info
00:56:00 INFO - 13 xul.dll!nsContentUtils::ParseDocumentHTML(nsTSubstring<char16_t> const &,mozilla::dom::Document *,bool) [nsContentUtils.cpp:71d3424191f63751068077270a32f9f3aeb026b8 : 4691 + 0x15]
00:56:00 INFO - rbx = 0x000001c461a08980 rbp = 0x0000000000000000
00:56:00 INFO - rsp = 0x000000083a1fd3b0 r12 = 0x0000000000000000
00:56:00 INFO - r13 = 0x000001c461a08980 r14 = 0x0000000058cec400
00:56:00 INFO - r15 = 0x0000000000000000 rip = 0x00007ff83c9fd9b7
00:56:00 INFO - Found by: call frame info
00:56:00 INFO - 14 xul.dll!nsParserUtils::Sanitize(nsTSubstring<char16_t> const &,unsigned int,nsTSubstring<char16_t> &) [nsParserUtils.cpp:71d3424191f63751068077270a32f9f3aeb026b8 : 60 + 0xb]
00:56:00 INFO - rbx = 0x000001c461a08980 rbp = 0x0000000000000000
00:56:00 INFO - rsp = 0x000000083a1fd410 r12 = 0x0000000000000000
00:56:00 INFO - r13 = 0x000001c461a08980 r14 = 0x0000000058cec400
00:56:00 INFO - r15 = 0x0000000000000000 rip = 0x00007ff83c6ab784
00:56:00 INFO - Found by: call frame info
00:56:00 INFO - 15 xul.dll!XPTC__InvokebyIndex + 0x72
00:56:00 INFO - rbx = 0x000001c461a08980 rbp = 0x0000000000000000
00:56:00 INFO - rsp = 0x000000083a1fd4d0 r12 = 0x0000000000000000
00:56:00 INFO - r13 = 0x000001c461a08980 r14 = 0x0000000058cec400
00:56:00 INFO - r15 = 0x0000000000000000 rip = 0x00007ff83f7ff142
00:56:00 INFO - Found by: call frame info
00:56:00 INFO - 16 0x83a1fd5f8
00:56:00 INFO - rbx = 0x000001c461a08980 rbp = 0x0000000000000000
00:56:00 INFO - rsp = 0x000000083a1fd4e0 r12 = 0x0000000000000000
00:56:00 INFO - r13 = 0x000001c461a08980 r14 = 0x0000000058cec400
00:56:00 INFO - r15 = 0x0000000000000000 rip = 0x000000083a1fd5f8
00:56:00 INFO - Found by: call frame info
00:56:00 INFO - 17 xul.dll!round + 0x89e59
00:56:00 INFO - rsp = 0x000000083a1fd500 rip = 0x00007ff83f88ead9
00:56:00 INFO - Found by: stack scanning
00:56:00 INFO - 18 xul.dll!round + 0x88f80
00:56:00 INFO - rsp = 0x000000083a1fd518 rip = 0x00007ff83f88dc00
00:56:00 INFO - Found by: stack scanning
00:56:00 INFO - 19 xul.dll!static bool XPCWrappedNative::CallMethod(class XPCCallContext & const, XPCWrappedNative::CallMode) [XPCWrappedNative.cpp:71d3424191f63751068077270a32f9f3aeb026b8 : 1157 + 0x337]
00:56:00 INFO - rsp = 0x000000083a1fd520 rip = 0x00007ff83aa9a9b7
00:56:00 INFO - Found by: stack scanning
00:56:00 INFO - 20 xul.dll!static bool XPC_WN_CallMethod(struct JSContext *, unsigned int, union JS::Value *) [XPCWrappedNativeJSOps.cpp:71d3424191f63751068077270a32f9f3aeb026b8 : 943 + 0xa]
00:56:00 INFO - rsp = 0x000000083a1fd770 rip = 0x00007ff83aa99982
00:56:00 INFO - Found by: call frame info
00:56:00 INFO - 21 xul.dll!js::InternalCallOrConstruct(JSContext *,JS::CallArgs const &,js::MaybeConstruct) [Interpreter.cpp:71d3424191f63751068077270a32f9f3aeb026b8 : 540 + 0x175]
00:56:00 INFO - rsp = 0x000000083a1fd8d0 rip = 0x00007ff83b3bc4dc
00:56:00 INFO - Found by: call frame info
00:56:00 INFO - 22 xul.dll!js::CallFromStack(JSContext *,JS::CallArgs const &) [Interpreter.cpp:71d3424191f63751068077270a32f9f3aeb026b8 : 599 + 0x98]
00:56:00 INFO - rsp = 0x000000083a1fd9d0 rip = 0x00007ff83b3bd108
00:56:00 INFO - Found by: call frame info
00:56:00 INFO - 23 xul.dll!js::jit::DoCallFallback(JSContext *,js::jit::BaselineFrame *,js::jit::ICCall_Fallback *,unsigned int,JS::Value *,JS::MutableHandle<JS::Value>) [BaselineIC.cpp:71d3424191f63751068077270a32f9f3aeb026b8 : 3729 + 0x10]
00:56:00 INFO - rsp = 0x000000083a1fda30 rip = 0x00007ff83babd6fb
00:56:00 INFO - Found by: call frame info
00:56:00 INFO - 24 0x184e4e8388f
00:56:00 INFO - rsp = 0x000000083a1fdda0 rip = 0x00000184e4e8388f
00:56:00 INFO - Found by: call frame info
00:56:00 INFO - 25 xul.dll!round + 0x51c90
00:56:00 INFO - rsp = 0x000000083a1fddf8 rip = 0x00007ff83f856910
00:56:00 INFO - Found by: stack scanning
Comment 22•5 years ago
|
||
Comment 23•5 years ago
|
||
Backing this out also fixed: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=250072721&repo=autoland&lineNumber=15090
Assignee | ||
Comment 24•5 years ago
|
||
So I looked at the wrong try results before pushing, apologies
Assignee | ||
Comment 25•5 years ago
|
||
ok we should be good now - https://treeherder.mozilla.org/#/jobs?repo=try&revision=94a50c477851c40f3a270f45fdcaf6f044edc18c
Comment 26•5 years ago
|
||
Comment 27•5 years ago
|
||
Backed out for multiple failures e.g. bc at browser_autoplay_blocked.js
Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception&selectedJob=250174891&revision=2dacf7539a2f6238bc9731fddc5eac8460fb9afc
Failure log:
BC: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=250174891&repo=autoland&lineNumber=2474
XPCSHELL: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=250175116&repo=autoland&lineNumber=1592
Backout: https://hg.mozilla.org/integration/autoland/rev/d5d6de6b8f366a8856ca55d2a146ba6caf335630
Updated•5 years ago
|
Assignee | ||
Comment 28•5 years ago
|
||
ok sorry about that, once more
The only 2 tests that didnt pass on a restart are far away from this code, fairly certain we are good this time, sorry for messing that up
Comment 29•5 years ago
|
||
Comment 30•5 years ago
|
||
bugherder |
Updated•5 years ago
|
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Updated•5 years ago
|
Updated•3 years ago
|
Description
•