summaryrefslogtreecommitdiffstats
path: root/chrome/browser/printing/cloud_print/cloud_print_setup_flow.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/printing/cloud_print/cloud_print_setup_flow.cc')
-rw-r--r--chrome/browser/printing/cloud_print/cloud_print_setup_flow.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/chrome/browser/printing/cloud_print/cloud_print_setup_flow.cc b/chrome/browser/printing/cloud_print/cloud_print_setup_flow.cc
index 1e2a429f..19c52fe 100644
--- a/chrome/browser/printing/cloud_print/cloud_print_setup_flow.cc
+++ b/chrome/browser/printing/cloud_print/cloud_print_setup_flow.cc
@@ -22,6 +22,7 @@
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/browser_window.h"
#include "chrome/browser/ui/webui/chrome_url_data_manager.h"
+#include "chrome/browser/ui/webui/web_dialog_controller.h"
#include "chrome/common/net/gaia/gaia_auth_fetcher.h"
#include "chrome/common/net/gaia/gaia_constants.h"
#include "chrome/common/net/gaia/google_service_auth_error.h"
@@ -79,20 +80,22 @@ CloudPrintSetupFlow* CloudPrintSetupFlow::OpenDialog(
base::JSONWriter::Write(&args, &json_args);
CloudPrintSetupFlow* flow = new CloudPrintSetupFlow(json_args, profile,
- delegate, setup_done);
+ browser, delegate,
+ setup_done);
// We may not always have a browser. This can happen when we are being
// invoked in the context of a "token expired" notfication. If we don't have
// a brower, use the underlying dialog system to show the dialog without
// using a browser.
if (!parent_window && browser && browser->window())
parent_window = browser->window()->GetNativeWindow();
- browser::ShowWebDialog(parent_window, profile, browser, flow);
+ browser::ShowWebDialog(parent_window, profile, flow);
return flow;
}
CloudPrintSetupFlow::CloudPrintSetupFlow(
const std::string& args,
Profile* profile,
+ Browser* browser,
const base::WeakPtr<Delegate>& delegate,
bool setup_done)
: web_ui_(NULL),
@@ -103,6 +106,10 @@ CloudPrintSetupFlow::CloudPrintSetupFlow(
delegate_(delegate) {
// TODO(hclam): The data source should be added once.
profile_ = profile;
+ if (browser) {
+ web_dialog_controller_.reset(
+ new WebDialogController(this, profile, browser));
+ }
ChromeURLDataManager::AddDataSource(profile,
new CloudPrintSetupSource());
}