Closed Bug 1502118 Opened Last year Closed 11 months ago

Audit and assert thread assumptions

Categories

(GeckoView :: General, enhancement, P2)

enhancement

Tracking

(firefox65 wontfix, firefox66 fixed)

RESOLVED FIXED
mozilla66
Tracking Status
firefox65 --- wontfix
firefox66 --- fixed

People

(Reporter: Agi, Assigned: Agi)

References

Details

Attachments

(11 files)

47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
This bug is about adding thread assumption asserts like `ThreadUtils.assertOnUiThread` to every GeckoView API that assumes to be called in a specific thread (See also parent Bug 1500456).
Blocks: 1500456
This patch adds @AnyThread to any API that can be explicitely called from any
thread.

Depends on D10239
Assignee: nobody → agi
Keywords: leave-open
Pushed by asferro@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/93c80c846adb
Add @UiThread to methods that call assertOnUiThread. r=snorp.
https://hg.mozilla.org/integration/autoland/rev/c3437e254961
Add assertOnUiThread calls to GeckoDisplay. r=snorp,droeh.
https://hg.mozilla.org/integration/autoland/rev/f38363e53ca4
Fix threading documentation on GeckoResult. r=snorp.
https://hg.mozilla.org/integration/autoland/rev/aed3a7740a86
Add @AnyThread to APIs that can be used from any thread. r=snorp.
https://hg.mozilla.org/integration/autoland/rev/c26e3232d3a3
Add @UiThread to GeckoSession.TextInputDelegate. r=snorp.
https://hg.mozilla.org/integration/autoland/rev/6434abf7d806
Call assertOnUiThread in GeckoView. r=snorp.
https://hg.mozilla.org/integration/autoland/rev/1b95e3c16503
Call assertOnUiThread in SessionAccessibility. r=eeejay.
This allows mocking for embedders.

Depends on D13881
This makes it so that apilints lints with "GV" codes are enforced and will fail
the build.

Depends on D13882
This last stack of patches will conclude the work for this bug, yay!

Try here: https://treeherder.mozilla.org/#/jobs?repo=try&revision=9f32d4e0389231fa2a07a9c4b7db490680d516b2
Keywords: leave-open
Depends on: 1513395
Attachment #9029737 - Attachment description: Bug 1502118 - Add @UiThread to all Delegate interfaces. r?snorp!,esawin! → Bug 1502118 - Add @UiThread to all Delegate interfaces. r=snorp!,esawin!
Attachment #9029738 - Attachment description: Bug 1502118 - Add threading annotations to remaining APIs. r?snorp! → Bug 1502118 - Add threading annotations to remaining APIs. r=snorp!
Attachment #9029739 - Attachment description: Bug 1502118 - Make FinderResult non-final for testing. r?snorp!,esawin! → Bug 1502118 - Make FinderResult non-final for testing. r=snorp!,esawin!
Attachment #9029740 - Attachment description: Bug 1502118 - Enforce GV lints with apilint. r?snorp! → Bug 1502118 - Enforce GV lints with apilint. r=snorp!
Pushed by asferro@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/95951162d775
Add @UiThread to all Delegate interfaces. r=snorp,esawin
https://hg.mozilla.org/integration/autoland/rev/0d938252d0ed
Add threading annotations to remaining APIs. r=snorp
https://hg.mozilla.org/integration/autoland/rev/4cd3b9cf8159
Make FinderResult non-final for testing. r=snorp,esawin
https://hg.mozilla.org/integration/autoland/rev/42f4f1c36ef6
Enforce GV lints with apilint. r=snorp
Product: Firefox for Android → GeckoView
Target Milestone: Firefox 66 → mozilla66
You need to log in before you can comment on or make changes to this bug.