|
Transfer serviceworker state during cross site navigations too.
The ServiceWorkerProviderHost is an object that persist across the lifetime of a document. It's created prior to the document and prior to the initiation of the resource load for the documents main resource. Today, when a cross-site xfer occurs the host is deleted and a new host is created that knows nothing of whats going on... so not surprisingly things are broken.
The change is to retain the original ServiceworkerProviderHost and transfer ownership of it to the process in which the document finally lands.
BUG= 438005
Committed: https://crrev.com/bfea6ecef56cba8beb9816e8e9674a9dc456b20e
Cr-Commit-Position: refs/heads/master@{#307579}
Total comments: 6
Total comments: 1
Total comments: 1
Total comments: 16
Total comments: 2
Total comments: 1
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+324 lines, -37 lines) |
Patch |
|
M |
base/id_map.h
|
View
|
1
2
3
4
5
6
7
8
|
3 chunks |
+23 lines, -3 lines |
0 comments
|
Download
|
|
M |
base/id_map_unittest.cc
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/browser/appcache/appcache_interceptor.h
|
View
|
1
2
3
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/browser/appcache/appcache_interceptor.cc
|
View
|
1
2
3
|
1 chunk |
+9 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/browser/appcache/appcache_request_handler.h
|
View
|
1
2
3
|
2 chunks |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/browser/appcache/appcache_request_handler.cc
|
View
|
1
2
3
|
3 chunks |
+14 lines, -1 line |
0 comments
|
Download
|
|
M |
content/browser/loader/cross_site_resource_handler.cc
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+0 lines, -3 lines |
0 comments
|
Download
|
|
M |
content/browser/loader/resource_dispatcher_host_impl.cc
|
View
|
1
2
3
4
|
2 chunks |
+8 lines, -1 line |
0 comments
|
Download
|
|
M |
content/browser/loader/resource_loader.cc
|
View
|
1
2
3
4
|
2 chunks |
+19 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/browser/service_worker/service_worker_browsertest.cc
|
View
|
1
2
3
4
|
2 chunks |
+28 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/browser/service_worker/service_worker_context_core.h
|
View
|
|
1 chunk |
+9 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/browser/service_worker/service_worker_context_core.cc
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+33 lines, -0 lines |
1 comment
|
Download
|
|
M |
content/browser/service_worker/service_worker_provider_host.h
|
View
|
1
2
3
4
5
6
|
4 chunks |
+17 lines, -3 lines |
0 comments
|
Download
|
|
M |
content/browser/service_worker/service_worker_provider_host.cc
|
View
|
1
2
3
4
5
6
7
|
5 chunks |
+68 lines, -21 lines |
0 comments
|
Download
|
|
M |
content/browser/service_worker/service_worker_request_handler.h
|
View
|
1
2
3
|
2 chunks |
+11 lines, -0 lines |
0 comments
|
Download
|
|
M |
content/browser/service_worker/service_worker_request_handler.cc
|
View
|
1
2
3
|
2 chunks |
+36 lines, -1 line |
0 comments
|
Download
|
|
A + |
content/test/data/service_worker/cross_site_xfer.html
|
View
|
1
2
3
4
5
6
7
|
2 chunks |
+5 lines, -5 lines |
0 comments
|
Download
|
|
A |
content/test/data/service_worker/cross_site_xfer.js
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+15 lines, -0 lines |
0 comments
|
Download
|
|
A + |
content/test/data/service_worker/cross_site_xfer.js.mock-http-headers
|
View
|
1
2
3
4
|
0 chunks |
+-1 lines, --1 lines |
0 comments
|
Download
|
|
A |
content/test/data/service_worker/cross_site_xfer_confirm.html
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+21 lines, -0 lines |
0 comments
|
Download
|
Total messages: 30 (4 generated)
|