Chromium Code Reviews| Index: chrome/browser/chrome_content_browser_client.cc |
| diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc |
| index ea6bb61cf0b51e8a01be9e11c8462e773cdfc5c0..45f8160f24b071a70db962d9316160ade7258e1c 100644 |
| --- a/chrome/browser/chrome_content_browser_client.cc |
| +++ b/chrome/browser/chrome_content_browser_client.cc |
| @@ -17,6 +17,7 @@ |
| #include "base/strings/utf_string_conversions.h" |
| #include "base/threading/sequenced_worker_pool.h" |
| #include "chrome/app/breakpad_mac.h" |
| +#include "chrome/browser/adview/adview_guest.h" |
| #include "chrome/browser/app_mode/app_mode_utils.h" |
| #include "chrome/browser/browser_about_handler.h" |
| #include "chrome/browser/browser_process.h" |
| @@ -84,6 +85,7 @@ |
| #include "chrome/browser/user_style_sheet_watcher.h" |
| #include "chrome/browser/user_style_sheet_watcher_factory.h" |
| #include "chrome/browser/validation_message_message_filter.h" |
| +#include "chrome/browser/webview/webview_constants.h" |
| #include "chrome/browser/webview/webview_guest.h" |
| #include "chrome/common/child_process_logging.h" |
| #include "chrome/common/chrome_constants.h" |
| @@ -713,11 +715,25 @@ void ChromeContentBrowserClient::GuestWebContentsAttached( |
| std::vector<ExtensionMsg_Loaded_Params> extensions; |
| extensions.push_back(ExtensionMsg_Loaded_Params(extension)); |
| guest_web_contents->Send(new ExtensionMsg_Loaded(extensions)); |
| - new WebViewGuest(guest_web_contents, |
| - embedder_web_contents, |
| - extension->id(), |
| - browser_plugin_instance_id, |
| - extra_params); |
| + |
| + std::string api_type; |
| + extra_params.GetString(webview_constants::kAttributeApi, &api_type); |
| + |
| + if (api_type == "adview") { |
| + new AdViewGuest(guest_web_contents, |
|
sky
2013/06/25 16:16:52
Document AdViewGuest/WebViewGuest delete themselve
Fady Samuel
2013/06/25 16:54:42
Done.
|
| + embedder_web_contents, |
| + extension->id(), |
| + browser_plugin_instance_id, |
| + extra_params); |
| + } else if (api_type == "webview") { |
| + new WebViewGuest(guest_web_contents, |
| + embedder_web_contents, |
| + extension->id(), |
| + browser_plugin_instance_id, |
| + extra_params); |
| + } else { |
| + NOTREACHED(); |
| + } |
| } |
| void ChromeContentBrowserClient::RenderProcessHostCreated( |