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

Side by Side Diff: chrome/browser/printing/cloud_print/cloud_print_setup_flow.cc

Issue 10214001: WebDialogs (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/printing/cloud_print/cloud_print_setup_flow.h" 5 #include "chrome/browser/printing/cloud_print/cloud_print_setup_flow.h"
6 6
7 #include "base/json/json_writer.h" 7 #include "base/json/json_writer.h"
8 #include "base/memory/singleton.h" 8 #include "base/memory/singleton.h"
9 #include "base/string_util.h" 9 #include "base/string_util.h"
10 #include "base/utf_string_conversions.h" 10 #include "base/utf_string_conversions.h"
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 base::JSONWriter::Write(&args, &json_args); 79 base::JSONWriter::Write(&args, &json_args);
80 80
81 CloudPrintSetupFlow* flow = new CloudPrintSetupFlow(json_args, profile, 81 CloudPrintSetupFlow* flow = new CloudPrintSetupFlow(json_args, profile,
82 delegate, setup_done); 82 delegate, setup_done);
83 // We may not always have a browser. This can happen when we are being 83 // We may not always have a browser. This can happen when we are being
84 // invoked in the context of a "token expired" notfication. If we don't have 84 // invoked in the context of a "token expired" notfication. If we don't have
85 // a brower, use the underlying dialog system to show the dialog without 85 // a brower, use the underlying dialog system to show the dialog without
86 // using a browser. 86 // using a browser.
87 if (!parent_window && browser && browser->window()) 87 if (!parent_window && browser && browser->window())
88 parent_window = browser->window()->GetNativeHandle(); 88 parent_window = browser->window()->GetNativeHandle();
89 browser::ShowHtmlDialog(parent_window, profile, browser, flow, STYLE_GENERIC); 89 browser::ShowWebDialog(parent_window, profile, browser, flow, STYLE_GENERIC);
90 return flow; 90 return flow;
91 } 91 }
92 92
93 CloudPrintSetupFlow::CloudPrintSetupFlow( 93 CloudPrintSetupFlow::CloudPrintSetupFlow(
94 const std::string& args, 94 const std::string& args,
95 Profile* profile, 95 Profile* profile,
96 const base::WeakPtr<Delegate>& delegate, 96 const base::WeakPtr<Delegate>& delegate,
97 bool setup_done) 97 bool setup_done)
98 : web_ui_(NULL), 98 : web_ui_(NULL),
99 dialog_start_args_(args), 99 dialog_start_args_(args),
100 last_auth_error_(GoogleServiceAuthError::None()), 100 last_auth_error_(GoogleServiceAuthError::None()),
101 setup_done_(setup_done), 101 setup_done_(setup_done),
102 process_control_(NULL), 102 process_control_(NULL),
103 delegate_(delegate) { 103 delegate_(delegate) {
104 // TODO(hclam): The data source should be added once. 104 // TODO(hclam): The data source should be added once.
105 profile_ = profile; 105 profile_ = profile;
106 ChromeURLDataManager::AddDataSource(profile, 106 ChromeURLDataManager::AddDataSource(profile,
107 new CloudPrintSetupSource()); 107 new CloudPrintSetupSource());
108 } 108 }
109 109
110 CloudPrintSetupFlow::~CloudPrintSetupFlow() { 110 CloudPrintSetupFlow::~CloudPrintSetupFlow() {
111 } 111 }
112 112
113 void CloudPrintSetupFlow::Focus() { 113 void CloudPrintSetupFlow::Focus() {
114 // TODO(pranavk): implement this method. 114 // TODO(pranavk): implement this method.
115 NOTIMPLEMENTED(); 115 NOTIMPLEMENTED();
116 } 116 }
117 117
118 /////////////////////////////////////////////////////////////////////////////// 118 ///////////////////////////////////////////////////////////////////////////////
119 // HtmlDialogUIDelegate implementation. 119 // WebDialogDelegate implementation.
120 GURL CloudPrintSetupFlow::GetDialogContentURL() const { 120 GURL CloudPrintSetupFlow::GetDialogContentURL() const {
121 return GURL("chrome://cloudprintsetup/setupflow"); 121 return GURL("chrome://cloudprintsetup/setupflow");
122 } 122 }
123 123
124 void CloudPrintSetupFlow::GetWebUIMessageHandlers( 124 void CloudPrintSetupFlow::GetWebUIMessageHandlers(
125 std::vector<WebUIMessageHandler*>* handlers) const { 125 std::vector<WebUIMessageHandler*>* handlers) const {
126 // Create the message handler only after we are asked, the caller is 126 // Create the message handler only after we are asked, the caller is
127 // responsible for deleting the objects. 127 // responsible for deleting the objects.
128 handlers->push_back( 128 handlers->push_back(
129 new CloudPrintSetupMessageHandler( 129 new CloudPrintSetupMessageHandler(
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
334 334
335 void CloudPrintSetupFlow::ExecuteJavascriptInIFrame( 335 void CloudPrintSetupFlow::ExecuteJavascriptInIFrame(
336 const string16& iframe_xpath, 336 const string16& iframe_xpath,
337 const string16& js) { 337 const string16& js) {
338 if (web_ui_) { 338 if (web_ui_) {
339 content::RenderViewHost* rvh = 339 content::RenderViewHost* rvh =
340 web_ui_->GetWebContents()->GetRenderViewHost(); 340 web_ui_->GetWebContents()->GetRenderViewHost();
341 rvh->ExecuteJavascriptInWebFrame(iframe_xpath, js); 341 rvh->ExecuteJavascriptInWebFrame(iframe_xpath, js);
342 } 342 }
343 } 343 }
OLDNEW
« no previous file with comments | « chrome/browser/printing/cloud_print/cloud_print_setup_flow.h ('k') | chrome/browser/printing/print_dialog_cloud.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698