|
Fix hangs in Mandoline page cycler on Linux with --enable-multiprocess.
This was caused by content handlers sometimes dropping a request. The solution is to implement a simplified version of the two-phase shutdown used by apps. First, the ContentHandler implementation needs to keep a reference for the app's lifetime. Then every time StartApplication is called, a callback is passed along to be run when the content handler instance is destructed. When the ContentHandlerConnection notices that all the instances are deleted, it destructs itself. This releases the ContentHandler implementation which releases the app lifetime reference.
BUG= 544153, 478251
Committed: https://crrev.com/fa71930f2532abee206f44755c2463b7aba9d5cb
Cr-Commit-Position: refs/heads/master@{#357301}
Total comments: 4
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+118 lines, -38 lines) |
Patch |
|
M |
components/html_viewer/content_handler_impl.h
|
View
|
|
1 chunk |
+5 lines, -2 lines |
0 comments
|
Download
|
|
M |
components/html_viewer/content_handler_impl.cc
|
View
|
|
2 chunks |
+7 lines, -3 lines |
0 comments
|
Download
|
|
M |
components/html_viewer/html_document_application_delegate.h
|
View
|
|
2 chunks |
+4 lines, -1 line |
0 comments
|
Download
|
|
M |
components/html_viewer/html_document_application_delegate.cc
|
View
|
|
3 chunks |
+4 lines, -1 line |
0 comments
|
Download
|
|
M |
components/html_viewer/layout_test_content_handler_impl.h
|
View
|
1
2
3
|
2 chunks |
+5 lines, -2 lines |
0 comments
|
Download
|
|
M |
components/html_viewer/layout_test_content_handler_impl.cc
|
View
|
1
2
3
|
2 chunks |
+6 lines, -3 lines |
0 comments
|
Download
|
|
M |
components/pdf_viewer/pdf_viewer.cc
|
View
|
|
4 chunks |
+12 lines, -5 lines |
0 comments
|
Download
|
|
M |
mandoline/services/core_services/core_services_application_delegate.h
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
mandoline/services/core_services/core_services_application_delegate.cc
|
View
|
|
4 chunks |
+9 lines, -4 lines |
0 comments
|
Download
|
|
M |
mojo/application/public/cpp/lib/content_handler_factory.cc
|
View
|
1
2
3
4
5
6
|
3 chunks |
+15 lines, -5 lines |
0 comments
|
Download
|
|
M |
mojo/application/public/interfaces/content_handler.mojom
|
View
|
1
2
3
4
5
6
|
1 chunk |
+9 lines, -1 line |
0 comments
|
Download
|
|
M |
mojo/fetcher/about_fetcher_unittest.cc
|
View
|
1
2
3
4
5
6
|
1 chunk |
+5 lines, -2 lines |
0 comments
|
Download
|
|
M |
mojo/package_manager/capability_filter_content_handler_unittest.cc
|
View
|
1
2
3
4
5
6
|
1 chunk |
+5 lines, -2 lines |
0 comments
|
Download
|
|
M |
mojo/package_manager/content_handler_connection.h
|
View
|
1
2
3
4
5
6
|
2 chunks |
+6 lines, -1 line |
0 comments
|
Download
|
|
M |
mojo/package_manager/content_handler_connection.cc
|
View
|
1
2
3
4
5
6
|
4 chunks |
+18 lines, -1 line |
0 comments
|
Download
|
|
M |
mojo/package_manager/content_handler_unittest.cc
|
View
|
1
2
3
4
5
6
|
1 chunk |
+5 lines, -2 lines |
0 comments
|
Download
|
|
M |
mojo/package_manager/package_manager_impl.cc
|
View
|
|
1 chunk |
+1 line, -2 lines |
0 comments
|
Download
|
Total messages: 10 (4 generated)
|