|
ServiceWorker: Bypass resolving a promise when ExecutionContext is gone
This change makes CallbackPromiseAdapter bypass resolving/rejecting a promise
if ExecutionContext is gone and calls WebType::dispose() to clean up passed
WebType instance.
BUG= 385906, 386501
TEST=run_webkit_tests.py --debug --enable-leak-detection http/tests/serviceworker/chromium/resolve-after-window-close.html
TEST=run_webkit_tests.py --debug --enable-leak-detection push_messaging/push-messaging-resolve-after-detached.html
TEST=manual (run crash.html in the issue)
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=179043
Total comments: 3
Total comments: 4
Total comments: 6
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+105 lines, -18 lines) |
Patch |
 |
A + |
LayoutTests/http/tests/serviceworker/chromium/resolve-after-window-close.html
|
View
|
1
2
|
2 chunks |
+3 lines, -5 lines |
0 comments
|
Download
|
 |
A + |
LayoutTests/http/tests/serviceworker/chromium/resolve-after-window-close-expected.txt
|
View
|
1
2
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
A + |
LayoutTests/http/tests/serviceworker/chromium/resources/empty-worker.js
|
View
|
1
2
|
0 chunks |
+-1 lines, --1 lines |
0 comments
|
Download
|
 |
A + |
LayoutTests/http/tests/serviceworker/chromium/resources/resolve-after-window-close.html
|
View
|
1
2
|
1 chunk |
+0 lines, -4 lines |
0 comments
|
Download
|
 |
A |
LayoutTests/push_messaging/push-messaging-resolve-after-detached.html
|
View
|
1
2
3
4
5
6
|
1 chunk |
+28 lines, -0 lines |
0 comments
|
Download
|
 |
A + |
LayoutTests/push_messaging/push-messaging-resolve-after-detached-expected.txt
|
View
|
1
2
3
4
5
6
|
1 chunk |
+1 line, -2 lines |
0 comments
|
Download
|
 |
A |
LayoutTests/push_messaging/resources/push-messaging-resolve-after-detached.html
|
View
|
1
2
3
4
5
6
|
1 chunk |
+8 lines, -0 lines |
0 comments
|
Download
|
 |
M |
Source/bindings/core/v8/CallbackPromiseAdapter.h
|
View
|
1
2
3
4
|
2 chunks |
+18 lines, -0 lines |
0 comments
|
Download
|
 |
M |
Source/modules/push_messaging/PushError.h
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
Source/modules/push_messaging/PushError.cpp
|
View
|
1
2
3
4
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
 |
M |
Source/modules/push_messaging/PushRegistration.h
|
View
|
1
2
3
4
5
|
2 chunks |
+2 lines, -6 lines |
0 comments
|
Download
|
 |
M |
Source/modules/push_messaging/PushRegistration.cpp
|
View
|
1
2
3
4
5
|
1 chunk |
+13 lines, -0 lines |
0 comments
|
Download
|
 |
M |
Source/modules/serviceworkers/ServiceWorker.h
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
Source/modules/serviceworkers/ServiceWorker.cpp
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+6 lines, -0 lines |
0 comments
|
Download
|
 |
M |
Source/modules/serviceworkers/ServiceWorkerClients.cpp
|
View
|
1
2
3
4
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
 |
M |
Source/modules/serviceworkers/ServiceWorkerContainer.cpp
|
View
|
1
2
3
4
5
6
7
|
2 chunks |
+4 lines, -1 line |
0 comments
|
Download
|
 |
M |
Source/modules/serviceworkers/ServiceWorkerError.h
|
View
|
1
2
3
4
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
Source/modules/serviceworkers/ServiceWorkerError.cpp
|
View
|
1
2
3
4
|
1 chunk |
+6 lines, -0 lines |
0 comments
|
Download
|
 |
M |
Source/modules/serviceworkers/ServiceWorkerRegistration.cpp
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
Total messages: 33 (0 generated)
|