Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(130)

Issue 1431573002: Fix hangs in Mandoline page cycler on Linux with --enable-multiprocess. (Closed)

Created:
5 years, 1 month ago by jam
Modified:
5 years, 1 month ago
Reviewers:
yzshen1
CC:
chromium-reviews, rjkroege, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, penghuang+watch-mandoline_chromium.org, yzshen+watch_chromium.org, abarth-chromium, Aaron Boodman, darin (slow to review), ben+mojo_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

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}

Patch Set 1 #

Patch Set 2 : fix test compile #

Patch Set 3 : fix more tests #

Patch Set 4 : fix even more tests #

Patch Set 5 : fix android #

Patch Set 6 : fix even more tests #

Total comments: 4

Patch Set 7 : nits #

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

Messages

Total messages: 10 (4 generated)
jam
5 years, 1 month ago (2015-10-31 02:08:46 UTC) #2
yzshen1
LGTM with 2 nits. Thanks! https://codereview.chromium.org/1431573002/diff/100001/mojo/application/public/interfaces/content_handler.mojom File mojo/application/public/interfaces/content_handler.mojom (right): https://codereview.chromium.org/1431573002/diff/100001/mojo/application/public/interfaces/content_handler.mojom#newcode15 mojo/application/public/interfaces/content_handler.mojom:15: // binding, which should ...
5 years, 1 month ago (2015-10-31 22:55:08 UTC) #3
jam
https://codereview.chromium.org/1431573002/diff/100001/mojo/application/public/interfaces/content_handler.mojom File mojo/application/public/interfaces/content_handler.mojom (right): https://codereview.chromium.org/1431573002/diff/100001/mojo/application/public/interfaces/content_handler.mojom#newcode15 mojo/application/public/interfaces/content_handler.mojom:15: // binding, which should cause the strongly-bound ContentHandler implementation ...
5 years, 1 month ago (2015-11-02 02:50:18 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1431573002/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1431573002/140001
5 years, 1 month ago (2015-11-02 02:50:37 UTC) #8
commit-bot: I haz the power
Committed patchset #7 (id:140001)
5 years, 1 month ago (2015-11-02 03:45:40 UTC) #9
commit-bot: I haz the power
5 years, 1 month ago (2015-11-02 03:46:41 UTC) #10
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/fa71930f2532abee206f44755c2463b7aba9d5cb
Cr-Commit-Position: refs/heads/master@{#357301}

Powered by Google App Engine
This is Rietveld 408576698