Closed Bug 1694662 Opened 4 years ago Closed 3 years ago

Remove HTTP cache backing for AppCache

Categories

(Core :: Networking: HTTP, task, P2)

task

Tracking

()

RESOLVED FIXED
90 Branch
Iteration:
90.1 - Apr 19 - May 2
Tracking Status
firefox90 --- fixed

People

(Reporter: valentin, Assigned: valentin)

References

Details

(Whiteboard: [necko-triaged])

Attachments

(32 files, 1 obsolete file)

48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review

Appcache was the last consumer of the old implementation of the HTTP cache.
Now that it's disabled it allows us to remove it with potential benefits to:

  • binary size
  • performance
  • code quality & maintenance.

My plan is to land it in Firefox 89/90 - since ESR branches from Firefox 91 that allows us time to address any potential regressions.

Depends on D106430

Depends on D106432

Depends on D106433

Depends on D106434

Depends on D106435

Depends on D106436

Depends on D106437

Depends on D106438

Depends on D106439

Without a backing storage we don't need this interface to actually
do something. As such, we can remove the implementation to simplify
the code. We may disable & remove the interface in bug 1677718.

Depends on D106440

Depends on D106441

Depends on D106442

Depends on D106443

Depends on D106444

Depends on D106445

Depends on D106446

Depends on D106447

Depends on D106448

Depends on D106449

Depends on D106450

Depends on D106451

Depends on D106452

Depends on D106453

Depends on D106454

Depends on D106455

Depends on D106456

Depends on D106457

Depends on D106458

Depends on D106459

Depends on D106460

Depends on D106461

Hi Mike,

This bug aims to remove old cache that backs the appcache implementation.
The appcache DOM API is still available on release and late beta - we aim to remove it in bug 1677718 at a later time.
As metioned in comment 0 this removal improves:

  • binary size
  • performance
  • code quality & maintenance.
    But after landing this you can't get appcache to actually provide any offline capabilities.
    Do we know of any blockers to landing this? I would like to land it in or before Firefox 90 to make sure we don't have any regressions in ESR 91 - but I am very happy to land it earlier if possible. I'm also available to chat if you have any concerns about this topic.

Thanks!

Flags: needinfo?(mconca)

(In reply to Valentin Gosu [:valentin] (he/him) from comment #33)

First things first - that is an impressive stack of patches. Wow.

Do we know of any blockers to landing this? I would like to land it in or before Firefox 90 to make sure we don't have any regressions in ESR 91 - but I am very happy to land it earlier if possible. I'm also available to chat if you have any concerns about this topic.

I'm not aware of any blockers. Google has had AppCache disabled by default in Chrome since August of 2020, available only via reverse origin trial. That mitigates a lot of the risk of removing it in Firefox. Chrome will stop the ROT in October of 2021. I also agree that getting this in before the next ESR is important, so landing this in Fx90 makes sense.

Flags: needinfo?(mconca)
Blocks: 1011928
Attachment #9205386 - Attachment description: Bug 1694662 - Remove appcache implementations from public API methods → Bug 1694662 - Remove appcache implementations from public API methods r=#necko
Attachment #9205387 - Attachment description: Bug 1694662 - Remove uses of nsIOfflineCacheUpdate → Bug 1694662 - Remove uses of nsIOfflineCacheUpdate r=#necko
Attachment #9205388 - Attachment description: Bug 1694662 - Remove OfflineCache update logic → Bug 1694662 - Remove OfflineCache update logic r=#necko
Attachment #9205390 - Attachment description: Bug 1694662 - Remove OfflineAppCacheHelper → Bug 1694662 - Remove OfflineAppCacheHelper r=#necko
Attachment #9205392 - Attachment description: Bug 1694662 - Remove appcache from site data manager → Bug 1694662 - Remove appcache from site data manager r=#necko
Attachment #9205393 - Attachment description: Bug 1694662 - Remove nsIApplicationCacheChannel usage from docshell → Bug 1694662 - Remove nsIApplicationCacheChannel usage from docshell r=#necko
Attachment #9205394 - Attachment description: Bug 1694662 - Remove appcache from document → Bug 1694662 - Remove appcache from document r=#necko
Attachment #9205395 - Attachment description: Bug 1694662 - Remove appcache from imgRequest/imgLoader → Bug 1694662 - Remove appcache from imgRequest/imgLoader r=#necko
Attachment #9205399 - Attachment description: Bug 1694662 - Remove headers from offline resource list → Bug 1694662 - Remove headers from offline resource list r=#necko
Attachment #9205404 - Attachment description: Bug 1694662 - Remove ajax/offline tests → Bug 1694662 - Remove ajax/offline tests r=#necko
Attachment #9205407 - Attachment description: Bug 1694662 - Remove cacheservice from android appshell → Bug 1694662 - Remove cacheservice from android appshell r=#necko

Depends on D106462

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?
For more information, please visit auto_nag documentation.

Flags: needinfo?(valentin.gosu)
Flags: needinfo?(dd.mozilla)

I intend to land them this week.

Flags: needinfo?(valentin.gosu)
Flags: needinfo?(dd.mozilla)
Attachment #9205406 - Attachment is obsolete: true
Pushed by valentin.gosu@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/0437472eea44
Remove appcache logic from http channels r=necko-reviewers,dragana
https://hg.mozilla.org/integration/autoland/rev/6b58ea3b93fc
Remove nsICachingChannel r=necko-reviewers,dragana
https://hg.mozilla.org/integration/autoland/rev/8ec6f4786d29
Remove nsIHttpChannelInternal.setupFallbackChannel r=necko-reviewers,dragana
https://hg.mozilla.org/integration/autoland/rev/7735e20284fc
Remove nsHttpChannel::mFallbackKey r=necko-reviewers,dragana
https://hg.mozilla.org/integration/autoland/rev/bbc65671d043
Remove FallbackChannel flag and Fallback* methods r=necko-reviewers,dragana
https://hg.mozilla.org/integration/autoland/rev/4e29dd7df392
Remove nsHttpChannel::mApplicationCacheForWrite r=necko-reviewers,dragana
https://hg.mozilla.org/integration/autoland/rev/07115b2f2607
Remove applicationCache param nsHttpChannel methods r=necko-reviewers,dragana
https://hg.mozilla.org/integration/autoland/rev/7553672cf5d7
Remove appcache arg from nsICacheEntryOpenCallback r=necko-reviewers,dragana
https://hg.mozilla.org/integration/autoland/rev/ce0553f83803
Remove nsICachingChannel.LOAD_CHECK_OFFLINE_CACHE flag r=necko-reviewers,dragana
https://hg.mozilla.org/integration/autoland/rev/a5e4777a05ec
Remove appcache logic from content sink r=necko-reviewers,dragana
https://hg.mozilla.org/integration/autoland/rev/aca312af60c5
Remove appcache implementations from public API methods r=dragana
https://hg.mozilla.org/integration/autoland/rev/765aff29440d
Remove uses of nsIOfflineCacheUpdate r=dragana
https://hg.mozilla.org/integration/autoland/rev/d6dee23042bb
Remove OfflineCache update logic r=necko-reviewers,dragana
https://hg.mozilla.org/integration/autoland/rev/f261d360bb30
Remove appcache tests r=necko-reviewers,dragana
https://hg.mozilla.org/integration/autoland/rev/910dff4b95aa
Remove OfflineAppCacheHelper r=preferences-reviewers,Gijs
https://hg.mozilla.org/integration/autoland/rev/f11e8439a77f
Remove appcache from site data manager r=dragana
https://hg.mozilla.org/integration/autoland/rev/cd0df20e15f1
Remove nsIApplicationCacheChannel usage from docshell r=dragana
https://hg.mozilla.org/integration/autoland/rev/37a19e282367
Remove appcache from document r=dragana
https://hg.mozilla.org/integration/autoland/rev/df8f923b5b8a
Remove appcache from imgRequest/imgLoader r=kershaw
https://hg.mozilla.org/integration/autoland/rev/5ef130419e1b
Remove appcache from viewsource channels r=necko-reviewers,kershaw
https://hg.mozilla.org/integration/autoland/rev/655f5f997fb0
Remove header from layoutstatistics r=necko-reviewers,kershaw
https://hg.mozilla.org/integration/autoland/rev/717bad383608
Remove nsApplicationCacheService component r=necko-reviewers,kershaw
https://hg.mozilla.org/integration/autoland/rev/589ac116df11
Remove headers from offline resource list r=kershaw
https://hg.mozilla.org/integration/autoland/rev/2cf95ebcb6b1
Remove appcache storage attribute r=necko-reviewers,kershaw
https://hg.mozilla.org/integration/autoland/rev/2b89bfa40c27
Remove Appcachestorage & oldwrappers r=necko-reviewers,kershaw
https://hg.mozilla.org/integration/autoland/rev/431a86c270a0
Remove old cache implementation r=necko-reviewers,kershaw
https://hg.mozilla.org/integration/autoland/rev/1ac0ae9ba6b4
Remove ajax/offline tests r=kershaw
https://hg.mozilla.org/integration/autoland/rev/502bbb8a1e2e
Remove nsIApplicationCache interfaces r=necko-reviewers,kershaw
https://hg.mozilla.org/integration/autoland/rev/85211abe311f
Remove cacheservice from android appshell r=geckoview-reviewers,kershaw,agi
https://hg.mozilla.org/integration/autoland/rev/318a4c8f027a
Remove Appcache storage pref r=necko-reviewers,kershaw
https://hg.mozilla.org/integration/autoland/rev/309c479b86cf
Disable WPT tests r=necko-reviewers,kershaw
https://hg.mozilla.org/integration/autoland/rev/4e4e5197bd03
Remove unused NS_ShouldCheckAppCache function r=necko-reviewers,dragana

https://hg.mozilla.org/mozilla-central/rev/0437472eea44
https://hg.mozilla.org/mozilla-central/rev/6b58ea3b93fc
https://hg.mozilla.org/mozilla-central/rev/8ec6f4786d29
https://hg.mozilla.org/mozilla-central/rev/7735e20284fc
https://hg.mozilla.org/mozilla-central/rev/bbc65671d043
https://hg.mozilla.org/mozilla-central/rev/4e29dd7df392
https://hg.mozilla.org/mozilla-central/rev/07115b2f2607
https://hg.mozilla.org/mozilla-central/rev/7553672cf5d7
https://hg.mozilla.org/mozilla-central/rev/ce0553f83803
https://hg.mozilla.org/mozilla-central/rev/a5e4777a05ec
https://hg.mozilla.org/mozilla-central/rev/aca312af60c5
https://hg.mozilla.org/mozilla-central/rev/765aff29440d
https://hg.mozilla.org/mozilla-central/rev/d6dee23042bb
https://hg.mozilla.org/mozilla-central/rev/f261d360bb30
https://hg.mozilla.org/mozilla-central/rev/910dff4b95aa
https://hg.mozilla.org/mozilla-central/rev/f11e8439a77f
https://hg.mozilla.org/mozilla-central/rev/cd0df20e15f1
https://hg.mozilla.org/mozilla-central/rev/37a19e282367
https://hg.mozilla.org/mozilla-central/rev/df8f923b5b8a
https://hg.mozilla.org/mozilla-central/rev/5ef130419e1b
https://hg.mozilla.org/mozilla-central/rev/655f5f997fb0
https://hg.mozilla.org/mozilla-central/rev/717bad383608
https://hg.mozilla.org/mozilla-central/rev/589ac116df11
https://hg.mozilla.org/mozilla-central/rev/2cf95ebcb6b1
https://hg.mozilla.org/mozilla-central/rev/2b89bfa40c27
https://hg.mozilla.org/mozilla-central/rev/431a86c270a0
https://hg.mozilla.org/mozilla-central/rev/1ac0ae9ba6b4
https://hg.mozilla.org/mozilla-central/rev/502bbb8a1e2e
https://hg.mozilla.org/mozilla-central/rev/85211abe311f
https://hg.mozilla.org/mozilla-central/rev/318a4c8f027a
https://hg.mozilla.org/mozilla-central/rev/309c479b86cf
https://hg.mozilla.org/mozilla-central/rev/4e4e5197bd03

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 90 Branch
Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/d25e46be8dd3
Port "Remove HTTP cache backing for AppCache" to Thunderbird. rs=bustage-fix
Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/9c680023d1b1
adjust Thunderbird tests for changes in 1694662. rs=bustage-fix
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: