Commit 13ddea1
committed
Webpages flash when getting closed
https://bugs.webkit.org/show_bug.cgi?id=216131
<rdar://problem/62264106>
Reviewed by Chris Dumez.
Closing a page in web process will detach root CA layer and clears content in view immediately. If this happens
in web process before transaction, which contains view hierachy change or layer change, is committed in UI
process, we would see a white flash. To try fixing this issue, we explicitly delay sending the close message
to next runloop cycle.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::receivedNavigationPolicyDecision):
* UIProcess/WebProcessProxy.cpp:
(WebKit::m_shutdownPreventingScopeCounter):
(WebKit::WebProcessProxy::canTerminateAuxiliaryProcess):
* UIProcess/WebProcessProxy.h: remove class ScopePreventingShutdown and use RefCounter to prevent process
shutdown.
(WebKit::WebProcessProxy::shutdownPreventingScope):
(WebKit::WebProcessProxy::ScopePreventingShutdown::ScopePreventingShutdown): Deleted.
(WebKit::WebProcessProxy::ScopePreventingShutdown::~ScopePreventingShutdown): Deleted.
(WebKit::WebProcessProxy::makeScopePreventingShutdown): Deleted.
Canonical link: https://commits.webkit.org/229509@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267250 268f45cc-cd09-0410-ab3c-d52691b4dbfc1 parent 6804ca0 commit 13ddea1
4 files changed
Lines changed: 38 additions & 24 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
1 | 27 | | |
2 | 28 | | |
3 | 29 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1145 | 1145 | | |
1146 | 1146 | | |
1147 | 1147 | | |
1148 | | - | |
| 1148 | + | |
| 1149 | + | |
| 1150 | + | |
1149 | 1151 | | |
1150 | 1152 | | |
1151 | 1153 | | |
| |||
3305 | 3307 | | |
3306 | 3308 | | |
3307 | 3309 | | |
3308 | | - | |
| 3310 | + | |
3309 | 3311 | | |
3310 | 3312 | | |
3311 | 3313 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
201 | 201 | | |
202 | 202 | | |
203 | 203 | | |
| 204 | + | |
204 | 205 | | |
205 | 206 | | |
206 | 207 | | |
| |||
1091 | 1092 | | |
1092 | 1093 | | |
1093 | 1094 | | |
1094 | | - | |
| 1095 | + | |
1095 | 1096 | | |
1096 | 1097 | | |
1097 | 1098 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
294 | 294 | | |
295 | 295 | | |
296 | 296 | | |
297 | | - | |
298 | | - | |
299 | | - | |
300 | | - | |
301 | | - | |
302 | | - | |
303 | | - | |
304 | | - | |
305 | | - | |
306 | | - | |
307 | | - | |
308 | | - | |
309 | | - | |
310 | | - | |
311 | | - | |
312 | | - | |
313 | | - | |
314 | | - | |
315 | | - | |
316 | | - | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
317 | 300 | | |
318 | 301 | | |
319 | 302 | | |
| |||
586 | 569 | | |
587 | 570 | | |
588 | 571 | | |
589 | | - | |
| 572 | + | |
590 | 573 | | |
591 | 574 | | |
592 | 575 | | |
| |||
625 | 608 | | |
626 | 609 | | |
627 | 610 | | |
| 611 | + | |
| 612 | + | |
628 | 613 | | |
629 | 614 | | |
630 | 615 | | |
0 commit comments