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

Side by Side Diff: chrome/browser/chromeos/login/simple_web_view_dialog.cc

Issue 10388166: Construct a TCW for the login view's WebView. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/login/simple_web_view_dialog.h" 5 #include "chrome/browser/chromeos/login/simple_web_view_dialog.h"
6 6
7 #include "ash/shell.h" 7 #include "ash/shell.h"
8 #include "ash/shell_window_ids.h" 8 #include "ash/shell_window_ids.h"
9 #include "base/message_loop.h" 9 #include "base/message_loop.h"
10 #include "base/utf_string_conversions.h" 10 #include "base/utf_string_conversions.h"
11 #include "chrome/app/chrome_command_ids.h" 11 #include "chrome/app/chrome_command_ids.h"
12 #include "chrome/browser/chromeos/login/captive_portal_window_proxy.h" 12 #include "chrome/browser/chromeos/login/captive_portal_window_proxy.h"
13 #include "chrome/browser/profiles/profile.h" 13 #include "chrome/browser/profiles/profile_manager.h"
14 #include "chrome/browser/ui/browser.h" 14 #include "chrome/browser/ui/browser.h"
15 #include "chrome/browser/ui/content_settings/content_setting_bubble_model_delega te.h" 15 #include "chrome/browser/ui/content_settings/content_setting_bubble_model_delega te.h"
16 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
16 #include "chrome/browser/ui/toolbar/toolbar_model.h" 17 #include "chrome/browser/ui/toolbar/toolbar_model.h"
17 #include "chrome/browser/ui/view_ids.h" 18 #include "chrome/browser/ui/view_ids.h"
18 #include "chrome/browser/ui/views/location_bar/location_icon_view.h" 19 #include "chrome/browser/ui/views/location_bar/location_icon_view.h"
19 #include "chrome/browser/ui/views/page_info_bubble_view.h" 20 #include "chrome/browser/ui/views/page_info_bubble_view.h"
20 #include "chrome/browser/ui/views/reload_button.h" 21 #include "chrome/browser/ui/views/reload_button.h"
21 #include "content/public/browser/navigation_controller.h" 22 #include "content/public/browser/navigation_controller.h"
22 #include "content/public/browser/navigation_entry.h" 23 #include "content/public/browser/navigation_entry.h"
23 #include "content/public/browser/web_contents.h" 24 #include "content/public/browser/web_contents.h"
24 #include "grit/generated_resources.h" 25 #include "grit/generated_resources.h"
25 #include "grit/theme_resources.h" 26 #include "grit/theme_resources.h"
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 // WebView can't be deleted immediately, because it could be on the stack. 135 // WebView can't be deleted immediately, because it could be on the stack.
135 web_view_->web_contents()->SetDelegate(NULL); 136 web_view_->web_contents()->SetDelegate(NULL);
136 MessageLoop::current()->DeleteSoon( 137 MessageLoop::current()->DeleteSoon(
137 FROM_HERE, web_view_container_.release()); 138 FROM_HERE, web_view_container_.release());
138 } 139 }
139 } 140 }
140 141
141 void SimpleWebViewDialog::StartLoad(const GURL& url) { 142 void SimpleWebViewDialog::StartLoad(const GURL& url) {
142 web_view_container_.reset(new views::WebView(profile_)); 143 web_view_container_.reset(new views::WebView(profile_));
143 web_view_ = web_view_container_.get(); 144 web_view_ = web_view_container_.get();
144 web_view_->GetWebContents()->SetDelegate(this); 145
146 // We create the WebContents ourselves because the TCW assumes ownership of
147 // it. This should be reworked once we don't need to use the TCW here.
148 WebContents* web_contents =
149 WebContents::Create(ProfileManager::GetDefaultProfile(),
150 NULL,
151 MSG_ROUTING_NONE,
152 NULL,
153 NULL);
154 wrapper_.reset(new TabContentsWrapper(web_contents));
155 web_view_->SetWebContents(web_contents);
156 web_contents->SetDelegate(this);
145 web_view_->LoadInitialURL(url); 157 web_view_->LoadInitialURL(url);
146 } 158 }
147 159
148 void SimpleWebViewDialog::Init() { 160 void SimpleWebViewDialog::Init() {
149 set_background(views::Background::CreateSolidBackground(SK_ColorWHITE)); 161 set_background(views::Background::CreateSolidBackground(SK_ColorWHITE));
150 162
151 // Back/Forward buttons. 163 // Back/Forward buttons.
152 back_ = new views::ImageButton(this); 164 back_ = new views::ImageButton(this);
153 back_->set_triggerable_event_flags(ui::EF_LEFT_MOUSE_BUTTON | 165 back_->set_triggerable_event_flags(ui::EF_LEFT_MOUSE_BUTTON |
154 ui::EF_MIDDLE_MOUSE_BUTTON); 166 ui::EF_MIDDLE_MOUSE_BUTTON);
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
373 385
374 void SimpleWebViewDialog::UpdateReload(bool is_loading, bool force) { 386 void SimpleWebViewDialog::UpdateReload(bool is_loading, bool force) {
375 if (reload_) { 387 if (reload_) {
376 reload_->ChangeMode( 388 reload_->ChangeMode(
377 is_loading ? ReloadButton::MODE_STOP : ReloadButton::MODE_RELOAD, 389 is_loading ? ReloadButton::MODE_STOP : ReloadButton::MODE_RELOAD,
378 force); 390 force);
379 } 391 }
380 } 392 }
381 393
382 } // namespace chromeos 394 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/simple_web_view_dialog.h ('k') | chrome/browser/chromeos/login/webui_login_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698