Closed Bug 1502118 Opened 6 years ago Closed 6 years 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)

(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
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
Depends on D10241
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.

Attachment

General

Created:
Updated:
Size: