OLD | NEW |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |