|  | [Extensions] Clean up the handling of ExtensionHostMsg_Request
ExtensionHostMsg_Request is sent when an extension calls an API function. Before
this patch, this IPC would be sent to one of 11 different call sites, all of
which then routed it to the ExtensionFunctionDispatcher - and all of which
have to implement ExtensionFunctionDispatcher::Delegate.
Instead, have ExtensionWebContentsObserver handle the IPC, since it is created
(or should be) for all extension web contents. This also lets us eliminate many
(though not all) of the ExtensionFunctionDispatcher::Delegate implementations
(I will try to clean more up in a later patch).
The size of this patch is due to a number of yaks that needed shaving along the
way - in particular, around GuestView.
BUG=498017 
BUG=405246 
Committed: https://crrev.com/cb2ec659ab8741962f3391970a5fff512ebb6509 
Cr-Commit-Position: refs/heads/master@{#333843}
  
  
   
  
   
      Total comments: 17
      
     
  
   
  
   
    
  
  
    
      |  | Unified diffs | Side-by-side diffs | Delta from patch set | Stats (+258 lines, -629 lines) | Patch |  
        |  | M | apps/custom_launcher_page_contents.h | View |  | 3 chunks | +1 line, -17 lines | 0 comments | Download |  
        |  | M | apps/custom_launcher_page_contents.cc | View |  | 2 chunks | +0 lines, -30 lines | 0 comments | Download |  
        |  | M | chrome/browser/extensions/api/bookmark_manager_private/bookmark_manager_private_api.cc | View |  | 2 chunks | +2 lines, -4 lines | 0 comments | Download |  
        |  | M | chrome/browser/extensions/api/bookmarks/bookmarks_api.cc | View |  | 1 chunk | +1 line, -2 lines | 0 comments | Download |  
        |  | M | chrome/browser/extensions/api/chrome_extensions_api_client.h | View | 1 | 1 chunk | +2 lines, -2 lines | 0 comments | Download |  
        |  | M | chrome/browser/extensions/api/chrome_extensions_api_client.cc | View | 1 | 4 chunks | +34 lines, -8 lines | 0 comments | Download |  
        |  | M | chrome/browser/extensions/api/downloads/downloads_api.cc | View | 1
        
          2
        
          3 | 3 chunks | +3 lines, -4 lines | 0 comments | Download |  
        |  | M | chrome/browser/extensions/api/tabs/ash_panel_contents.h | View |  | 3 chunks | +2 lines, -16 lines | 0 comments | Download |  
        |  | M | chrome/browser/extensions/api/tabs/ash_panel_contents.cc | View |  | 4 chunks | +4 lines, -30 lines | 0 comments | Download |  
        |  | M | chrome/browser/extensions/api/tabs/tabs_api.cc | View |  | 1 chunk | +1 line, -1 line | 0 comments | Download |  
        |  | M | chrome/browser/extensions/api/tabs/windows_util.cc | View |  | 1 chunk | +1 line, -1 line | 0 comments | Download |  
        |  | M | chrome/browser/extensions/chrome_extension_function.cc | View |  | 2 chunks | +2 lines, -2 lines | 0 comments | Download |  
        |  | M | chrome/browser/extensions/chrome_extension_function_details.cc | View |  | 2 chunks | +2 lines, -2 lines | 0 comments | Download |  
        |  | M | chrome/browser/extensions/chrome_extension_web_contents_observer.h | View |  | 1 chunk | +3 lines, -0 lines | 0 comments | Download |  
        |  | M | chrome/browser/extensions/chrome_extensions_browser_client.h | View |  | 1 chunk | +2 lines, -0 lines | 0 comments | Download |  
        |  | M | chrome/browser/extensions/chrome_extensions_browser_client.cc | View |  | 2 chunks | +7 lines, -0 lines | 0 comments | Download |  
        |  | M | chrome/browser/extensions/extension_function_test_utils.cc | View |  | 1 chunk | +2 lines, -2 lines | 0 comments | Download |  
        |  | M | chrome/browser/extensions/tab_helper.h | View | 1
        
          2
        
          3
        
          4 | 2 chunks | +0 lines, -4 lines | 0 comments | Download |  
        |  | M | chrome/browser/extensions/tab_helper.cc | View | 1
        
          2
        
          3
        
          4 | 6 chunks | +8 lines, -7 lines | 0 comments | Download |  
        |  | M | chrome/browser/guest_view/extension_options/chrome_extension_options_guest_delegate.h | View | 1 | 1 chunk | +0 lines, -2 lines | 0 comments | Download |  
        |  | M | chrome/browser/guest_view/extension_options/chrome_extension_options_guest_delegate.cc | View | 1 | 2 chunks | +0 lines, -6 lines | 0 comments | Download |  
        |  | D | chrome/browser/guest_view/extension_view/chrome_extension_view_guest_delegate.h | View | 1 | 1 chunk | +0 lines, -27 lines | 0 comments | Download |  
        |  | D | chrome/browser/guest_view/extension_view/chrome_extension_view_guest_delegate.cc | View | 1 | 1 chunk | +0 lines, -25 lines | 0 comments | Download |  
        |  | M | chrome/browser/guest_view/mime_handler_view/chrome_mime_handler_view_guest_delegate.h | View | 1 | 1 chunk | +1 line, -4 lines | 0 comments | Download |  
        |  | M | chrome/browser/guest_view/mime_handler_view/chrome_mime_handler_view_guest_delegate.cc | View | 1 | 1 chunk | +1 line, -36 lines | 0 comments | Download |  
        |  | M | chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.h | View | 1
        
          2 | 1 chunk | +0 lines, -1 line | 0 comments | Download |  
        |  | M | chrome/browser/guest_view/web_view/chrome_web_view_guest_delegate.cc | View | 1
        
          2 | 2 chunks | +0 lines, -30 lines | 0 comments | Download |  
        |  | M | chrome/browser/ui/ash/ash_keyboard_controller_proxy.h | View |  | 3 chunks | +1 line, -12 lines | 0 comments | Download |  
        |  | M | chrome/browser/ui/ash/ash_keyboard_controller_proxy.cc | View | 1
        
          2
        
          3
        
          4 | 4 chunks | +0 lines, -30 lines | 0 comments | Download |  
        |  | M | chrome/browser/ui/panels/panel_host.h | View |  | 2 chunks | +0 lines, -5 lines | 0 comments | Download |  
        |  | M | chrome/browser/ui/panels/panel_host.cc | View |  | 3 chunks | +2 lines, -18 lines | 0 comments | Download |  
        |  | M | chrome/chrome_browser.gypi | View | 1
        
          2
        
          3
        
          4 | 1 chunk | +0 lines, -2 lines | 0 comments | Download |  
        |  | M | extensions/browser/api/extensions_api_client.h | View | 1 | 3 chunks | +5 lines, -7 lines | 0 comments | Download |  
        |  | M | extensions/browser/api/extensions_api_client.cc | View | 1 | 2 chunks | +4 lines, -6 lines | 0 comments | Download |  
        |  | M | extensions/browser/api/mime_handler_private/mime_handler_private_unittest.cc | View |  | 1 chunk | +1 line, -0 lines | 0 comments | Download |  
        |  | M | extensions/browser/api_test_utils.cc | View |  | 4 chunks | +3 lines, -17 lines | 0 comments | Download |  
        |  | M | extensions/browser/app_window/app_window.h | View |  | 4 chunks | +8 lines, -0 lines | 0 comments | Download |  
        |  | M | extensions/browser/app_window/app_window.cc | View |  | 3 chunks | +12 lines, -0 lines | 0 comments | Download |  
        |  | M | extensions/browser/app_window/app_window_contents.h | View |  | 3 chunks | +2 lines, -9 lines | 0 comments | Download |  
        |  | M | extensions/browser/app_window/app_window_contents.cc | View |  | 3 chunks | +4 lines, -18 lines | 0 comments | Download |  
        |  | M | extensions/browser/app_window/test_app_window_contents.h | View |  | 1 chunk | +1 line, -0 lines | 0 comments | Download |  
        |  | M | extensions/browser/app_window/test_app_window_contents.cc | View |  | 1 chunk | +4 lines, -0 lines | 0 comments | Download |  
        |  | M | extensions/browser/extension_function.cc | View | 1
        
          2
        
          3
        
          4 | 1 chunk | +1 line, -1 line | 0 comments | Download |  
        |  | M | extensions/browser/extension_function_dispatcher.h | View | 1
        
          2
        
          3 | 2 chunks | +11 lines, -6 lines | 0 comments | Download |  
        |  | M | extensions/browser/extension_function_dispatcher.cc | View | 1
        
          2
        
          3
        
          4 | 3 chunks | +20 lines, -6 lines | 0 comments | Download |  
        |  | M | extensions/browser/extension_host.h | View |  | 2 chunks | +0 lines, -3 lines | 0 comments | Download |  
        |  | M | extensions/browser/extension_host.cc | View |  | 5 chunks | +4 lines, -6 lines | 0 comments | Download |  
        |  | M | extensions/browser/extension_web_contents_observer.h | View |  | 4 chunks | +21 lines, -1 line | 0 comments | Download |  
        |  | M | extensions/browser/extension_web_contents_observer.cc | View |  | 3 chunks | +30 lines, -1 line | 0 comments | Download |  
        |  | M | extensions/browser/extensions_browser_client.h | View |  | 2 chunks | +5 lines, -0 lines | 0 comments | Download |  
        |  | M | extensions/browser/guest_view/app_view/app_view_guest.h | View |  | 5 chunks | +1 line, -13 lines | 0 comments | Download |  
        |  | M | extensions/browser/guest_view/app_view/app_view_guest.cc | View | 1 | 3 chunks | +1 line, -24 lines | 0 comments | Download |  
        |  | M | extensions/browser/guest_view/extension_options/extension_options_guest.h | View |  | 4 chunks | +1 line, -10 lines | 0 comments | Download |  
        |  | M | extensions/browser/guest_view/extension_options/extension_options_guest.cc | View | 1 | 4 chunks | +1 line, -25 lines | 0 comments | Download |  
        |  | M | extensions/browser/guest_view/extension_options/extension_options_guest_delegate.h | View | 1 | 1 chunk | +0 lines, -3 lines | 0 comments | Download |  
        |  | M | extensions/browser/guest_view/extension_view/extension_view_guest.h | View | 1 | 3 chunks | +1 line, -9 lines | 0 comments | Download |  
        |  | M | extensions/browser/guest_view/extension_view/extension_view_guest.cc | View | 1 | 3 chunks | +2 lines, -25 lines | 0 comments | Download |  
        |  | D | extensions/browser/guest_view/extension_view/extension_view_guest_delegate.h | View | 1 | 1 chunk | +0 lines, -34 lines | 0 comments | Download |  
        |  | D | extensions/browser/guest_view/extension_view/extension_view_guest_delegate.cc | View | 1 | 1 chunk | +0 lines, -17 lines | 0 comments | Download |  
        |  | M | extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.h | View |  | 4 chunks | +2 lines, -11 lines | 0 comments | Download |  
        |  | M | extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest.cc | View | 1 | 3 chunks | +1 line, -29 lines | 0 comments | Download |  
        |  | M | extensions/browser/guest_view/mime_handler_view/mime_handler_view_guest_delegate.h | View | 1 | 1 chunk | +1 line, -4 lines | 0 comments | Download |  
        |  | M | extensions/browser/guest_view/web_view/web_view_guest.h | View | 1
        
          2
        
          3
        
          4 | 1 chunk | +0 lines, -2 lines | 0 comments | Download |  
        |  | M | extensions/browser/guest_view/web_view/web_view_guest.cc | View | 1
        
          2
        
          3
        
          4 | 2 chunks | +2 lines, -7 lines | 0 comments | Download |  
        |  | M | extensions/browser/guest_view/web_view/web_view_guest_delegate.h | View | 1
        
          2 | 1 chunk | +0 lines, -3 lines | 0 comments | Download |  
        |  | M | extensions/browser/test_extensions_browser_client.h | View |  | 1 chunk | +2 lines, -0 lines | 0 comments | Download |  
        |  | M | extensions/browser/test_extensions_browser_client.cc | View |  | 1 chunk | +6 lines, -0 lines | 0 comments | Download |  
        |  | M | extensions/extensions.gypi | View | 1
        
          2
        
          3
        
          4 | 1 chunk | +0 lines, -2 lines | 0 comments | Download |  
        |  | M | extensions/shell/browser/shell_app_delegate.cc | View |  | 2 chunks | +2 lines, -0 lines | 0 comments | Download |  
        |  | M | extensions/shell/browser/shell_extensions_api_client.h | View | 1 | 1 chunk | +2 lines, -0 lines | 0 comments | Download |  
        |  | M | extensions/shell/browser/shell_extensions_api_client.cc | View | 1 | 1 chunk | +6 lines, -0 lines | 0 comments | Download |  
        |  | M | extensions/shell/browser/shell_extensions_browser_client.h | View |  | 1 chunk | +2 lines, -0 lines | 0 comments | Download |  
        |  | M | extensions/shell/browser/shell_extensions_browser_client.cc | View |  | 2 chunks | +7 lines, -0 lines | 0 comments | Download |  
    Total messages: 20 (7 generated)
     |