Chromium Code Reviews| Index: chrome/browser/ui/app_list/app_list_view_delegate.cc |
| diff --git a/chrome/browser/ui/app_list/app_list_view_delegate.cc b/chrome/browser/ui/app_list/app_list_view_delegate.cc |
| index 7af49bd8ab2e09fe566580e2dec68b9d91ad378a..0f96911f25016ca55d38dbb4861dafecb56364a4 100644 |
| --- a/chrome/browser/ui/app_list/app_list_view_delegate.cc |
| +++ b/chrome/browser/ui/app_list/app_list_view_delegate.cc |
| @@ -6,6 +6,7 @@ |
| #include <vector> |
| +#include "apps/custom_launcher_page_contents.h" |
| #include "base/callback.h" |
| #include "base/command_line.h" |
| #include "base/files/file_path.h" |
| @@ -13,6 +14,7 @@ |
| #include "base/stl_util.h" |
| #include "chrome/browser/browser_process.h" |
| #include "chrome/browser/chrome_notification_types.h" |
| +#include "chrome/browser/extensions/chrome_extension_web_contents_observer.h" |
| #include "chrome/browser/profiles/profile_info_cache.h" |
| #include "chrome/browser/profiles/profile_manager.h" |
| #include "chrome/browser/search/hotword_service.h" |
| @@ -162,13 +164,14 @@ AppListViewDelegate::AppListViewDelegate(Profile* profile, |
| LOG(ERROR) << "Invalid custom launcher page URL: " |
| << custom_launcher_page_url.possibly_invalid_spec(); |
| } else { |
| - content::WebContents::CreateParams params(profile_); |
| - custom_page_web_contents_.reset(content::WebContents::Create(params)); |
| - custom_page_web_contents_->GetController().LoadURL( |
| - custom_launcher_page_url, |
| - content::Referrer(), |
| - content::PAGE_TRANSITION_AUTO_TOPLEVEL, |
| - std::string()); |
| + custom_page_contents_.reset(new apps::CustomLauncherPageContents()); |
| + custom_page_contents_->Initialize(profile, custom_launcher_page_url); |
| + // This observer will activate the extension when it is navigated to, |
| + // which allows Dispatcher to give it the proper context and makes it |
| + // behave like an extension. |
| + extensions::ChromeExtensionWebContentsObserver::CreateForWebContents( |
|
not at google - send to devlin
2014/07/09 15:14:39
seems like it would be better for CustomLauncherPa
Matt Giuca
2014/07/10 03:45:17
Yeah I agree. I didn't do it for consistency with
|
| + custom_page_contents_->GetWebContents()); |
| + custom_page_contents_->LoadContents(); |
| } |
| } |
| } |
| @@ -481,13 +484,14 @@ views::View* AppListViewDelegate::CreateStartPageWebView( |
| views::View* AppListViewDelegate::CreateCustomPageWebView( |
| const gfx::Size& size) { |
| - if (!custom_page_web_contents_) |
| + if (!custom_page_contents_) |
| return NULL; |
| - views::WebView* web_view = new views::WebView( |
| - custom_page_web_contents_->GetBrowserContext()); |
| + content::WebContents* web_contents = custom_page_contents_->GetWebContents(); |
| + views::WebView* web_view = |
| + new views::WebView(web_contents->GetBrowserContext()); |
| web_view->SetPreferredSize(size); |
| - web_view->SetWebContents(custom_page_web_contents_.get()); |
| + web_view->SetWebContents(web_contents); |
| return web_view; |
| } |
| #endif |