Move frame-based MimeHandlerViewGuest attach logic into content layer |
|
Issue descriptionThe logic currently is based on navigating the current frame (or proxy) to about:blank and then attaching WebContents. There is many subtle issues such as supporting BeforeUnload. Some have been resolved using new public content API. However, the best solution is to move all the logic inside content and expose a single asynchronous attach API for guests such as MimeHandlerViewGuest.
,
Jan 9
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5bb223676defeba9c44a5ce42460c86e24561e73 commit 5bb223676defeba9c44a5ce42460c86e24561e73 Author: Ehsan Karamad <ekaramad@chromium.org> Date: Wed Jan 09 15:53:27 2019 [GuestView] - Introduce MimeHandlerViewAttachHelper This CL is for the most part a mechanical change which extracts almost all the frame-based MimeHandlerView code out of ExtensionsGuestViewMessageFilter. This change both removes the current clutter form EGVMF as well as fixesa race introduced when the frame-based logic was added to EGVMF. The reason for the race was that EGVMF is destroyed on IO thread but all the access to it (for frame-based MHV) are from UI. TBR=avi@chromium.org,lazyboy@chromium.org Bug: 659750, 896679, 911161, 918861 Change-Id: I6474b870e4d56daa68be03637bb633665d9f9dda Reviewed-on: https://chromium-review.googlesource.com/c/1401451 Commit-Queue: Ehsan Karamad <ekaramad@chromium.org> Reviewed-by: James MacLean <wjmaclean@chromium.org> Reviewed-by: Ehsan Karamad <ekaramad@chromium.org> Cr-Commit-Position: refs/heads/master@{#621155} [modify] https://crrev.com/5bb223676defeba9c44a5ce42460c86e24561e73/chrome/browser/chrome_content_browser_client.cc [modify] https://crrev.com/5bb223676defeba9c44a5ce42460c86e24561e73/extensions/browser/BUILD.gn [modify] https://crrev.com/5bb223676defeba9c44a5ce42460c86e24561e73/extensions/browser/guest_view/extensions_guest_view_message_filter.cc [modify] https://crrev.com/5bb223676defeba9c44a5ce42460c86e24561e73/extensions/browser/guest_view/extensions_guest_view_message_filter.h [add] https://crrev.com/5bb223676defeba9c44a5ce42460c86e24561e73/extensions/browser/guest_view/mime_handler_view/mime_handler_view_attach_helper.cc [add] https://crrev.com/5bb223676defeba9c44a5ce42460c86e24561e73/extensions/browser/guest_view/mime_handler_view/mime_handler_view_attach_helper.h |
|
►
Sign in to add a comment |
|
Comment 1 by ekaramad@chromium.org
, Dec 3