Closed Bug 1754607 Opened 2 years ago Closed 2 years ago

Mochitest Android Fission - Permission denied to access property \"document\" on cross-origin object\"

Categories

(GeckoView :: Sandboxing, defect, P1)

Unspecified
All

Tracking

(firefox98 wontfix, firefox99 wontfix, firefox100 wontfix, firefox101 wontfix, firefox102 fixed)

RESOLVED FIXED
102 Branch
Tracking Status
firefox98 --- wontfix
firefox99 --- wontfix
firefox100 --- wontfix
firefox101 --- wontfix
firefox102 --- fixed

People

(Reporter: agi, Assigned: agi)

References

(Blocks 1 open bug)

Details

(Keywords: perf-alert, Whiteboard: [fission:android:m2][geckoview:m100] [geckoview:m101] [geckoview:m102])

Attachments

(2 files)

This test appears when using --enable-xorigin-test:

TEST-UNEXPECTED-FAIL | dom/tests/mochitest/bugs/test_errorReporting.html | monitorConsole | [0] must match {"message":"[JavaScript Error: \"SecurityError: Permission denied to access property \"document\" on cross-origin object\" {file: \"resource:///actors/GeckoViewAutoFillChild.jsm\" line: 70}]\nhandleEvent@resource:///actors/GeckoViewAutoFillChild.jsm:70:13\n","errorMessage":"SecurityError: Permission denied to access property \"document\"

e.g. https://treeherder.mozilla.org/jobs?repo=try&author=asferro%40mozilla.com&selectedTaskRun=bJ2kzr7sRJCIbZ1UEaSOZA.0

Whiteboard: [fission:android:m2]
Severity: -- → S3
Priority: -- → P1
Whiteboard: [fission:android:m2] → [fission:android:m2][geckoview:m99]
Depends on: 1755094
Priority: P1 → P2
Whiteboard: [fission:android:m2][geckoview:m99] → [fission:android:m2]
Priority: P2 → P1
Whiteboard: [fission:android:m2] → [fission:android:m2][geckoview:m100]

The test failure in the bug is failing because the eventDispatcher in the actor
was previously only available in the top-level-frame.

In addition to adjusting for ActorDispatcher, this patch also makes every actor
handle its own frame (rather than handling all the in-process children) which
simplifies the code a bit.

We also modify the test to use a third-party iframe so that the OOP iframe case
is covered.

Assignee: nobody → agi
Status: NEW → ASSIGNED
Whiteboard: [fission:android:m2][geckoview:m100] → [fission:android:m2][geckoview:m100] [geckoview:m101]

With Fission, pageshow and pagehide are not guaranteed to happen in order,
e.g. we might get the following order of events:

pageshow -- navigate to example.org
pageshow -- navigate to google.com
pagehide -- example.org is now hidden

which would break the previous assumption that we could rely on the order of
show and hide events.

To handle that, we keep track of the most-recent-added session and we assume
that that is the session bening displayed.

In the future, we might consider keeping state of all sessions until a
pagehide event for the specific session arrives.

Whiteboard: [fission:android:m2][geckoview:m100] [geckoview:m101] → [fission:android:m2][geckoview:m100] [geckoview:m101] [geckoview:m102]
Pushed by asferro@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2ee50ba56798
Adjust GeckoViewAutoFillChild for ActorDispatcher r=owlish
https://hg.mozilla.org/integration/autoland/rev/a5a317b9336a
Make sure autofill session is reset after navigation. r=owlish

Backed out for causing lint failures in Autofill

Backout link: https://hg.mozilla.org/integration/autoland/rev/1254448a9518995f5922080912755262c984bdfd

Flags: needinfo?(agi)
Pushed by asferro@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/e67c51d1a861
Adjust GeckoViewAutoFillChild for ActorDispatcher r=owlish
https://hg.mozilla.org/integration/autoland/rev/122a25c67ed6
Make sure autofill session is reset after navigation. r=owlish
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 102 Branch

Since the status are different for nightly and release, what's the status for beta?
For more information, please visit auto_nag documentation.

No need to uplift Fission stuff.

Flags: needinfo?(agi)

(In reply to Pulsebot from comment #5)

Pushed by asferro@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/e67c51d1a861
Adjust GeckoViewAutoFillChild for ActorDispatcher r=owlish
https://hg.mozilla.org/integration/autoland/rev/122a25c67ed6
Make sure autofill session is reset after navigation. r=owlish

== Change summary for alert #34165 (as of Wed, 18 May 2022 14:36:42 GMT) ==

Improvements:

Ratio Test Platform Options Absolute values (old vs new)
2% google loadtime android-hw-a51-11-0-arm7-shippable-qr fission warm webrender 277.90 -> 271.50

For up to date results, see: https://treeherder.mozilla.org/perfherder/alerts?id=34165

Moving Android Fission bugs to the new GeckoView::Sandboxing component.

Component: General → Sandboxing
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: