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_source.h" | 5 #include "chrome/browser/printing/cloud_print/cloud_print_setup_source.h" |
6 | 6 |
7 #include "base/memory/ref_counted_memory.h" | 7 #include "base/memory/ref_counted_memory.h" |
8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
10 #include "base/values.h" | 10 #include "base/values.h" |
11 #include "chrome/browser/google/google_util.h" | 11 #include "chrome/browser/google/google_util.h" |
12 #include "chrome/browser/ui/webui/chrome_url_data_manager.h" | 12 #include "chrome/browser/ui/webui/web_ui_util.h" |
13 #include "chrome/common/jstemplate_builder.h" | 13 #include "chrome/common/jstemplate_builder.h" |
14 #include "chrome/common/url_constants.h" | 14 #include "chrome/common/url_constants.h" |
15 #include "googleurl/src/gurl.h" | 15 #include "googleurl/src/gurl.h" |
16 #include "grit/browser_resources.h" | 16 #include "grit/browser_resources.h" |
17 #include "grit/chromium_strings.h" | 17 #include "grit/chromium_strings.h" |
18 #include "grit/generated_resources.h" | 18 #include "grit/generated_resources.h" |
19 #include "grit/locale_settings.h" | 19 #include "grit/locale_settings.h" |
20 #include "grit/ui_resources.h" | 20 #include "grit/ui_resources.h" |
21 #include "ui/base/l10n/l10n_util.h" | 21 #include "ui/base/l10n/l10n_util.h" |
22 #include "ui/base/resource/resource_bundle.h" | 22 #include "ui/base/resource/resource_bundle.h" |
(...skipping 17 matching lines...) Expand all Loading... |
40 | 40 |
41 } // namespace | 41 } // namespace |
42 | 42 |
43 CloudPrintSetupSource::CloudPrintSetupSource() { | 43 CloudPrintSetupSource::CloudPrintSetupSource() { |
44 } | 44 } |
45 | 45 |
46 std::string CloudPrintSetupSource::GetSource() { | 46 std::string CloudPrintSetupSource::GetSource() { |
47 return chrome::kChromeUICloudPrintSetupHost; | 47 return chrome::kChromeUICloudPrintSetupHost; |
48 } | 48 } |
49 | 49 |
50 void CloudPrintSetupSource::StartDataRequest(const std::string& path_raw, | 50 void CloudPrintSetupSource::StartDataRequest( |
51 bool is_incognito, | 51 const std::string& path_raw, |
52 int request_id) { | 52 bool is_incognito, |
| 53 const content::URLDataSource::GotDataCallback& callback) { |
53 const char kCloudPrintSetupPath[] = "cloudprintsetup"; | 54 const char kCloudPrintSetupPath[] = "cloudprintsetup"; |
54 const char kCloudPrintGaiaLoginPath[] = "gaialogin"; | 55 const char kCloudPrintGaiaLoginPath[] = "gaialogin"; |
55 const char kCloudPrintSetupFlowPath[] = "setupflow"; | 56 const char kCloudPrintSetupFlowPath[] = "setupflow"; |
56 const char kCloudPrintSetupDonePath[] = "setupdone"; | 57 const char kCloudPrintSetupDonePath[] = "setupdone"; |
57 | 58 |
58 DictionaryValue localized_strings; | 59 DictionaryValue localized_strings; |
59 DictionaryValue* dict = &localized_strings; | 60 DictionaryValue* dict = &localized_strings; |
60 | 61 |
61 std::string response; | 62 std::string response; |
62 if (path_raw == kCloudPrintSetupPath) { | 63 if (path_raw == kCloudPrintSetupPath) { |
63 dict->SetString("header", | 64 dict->SetString("header", |
64 l10n_util::GetStringFUTF16(IDS_CLOUD_PRINT_SETUP_HEADER, | 65 l10n_util::GetStringFUTF16(IDS_CLOUD_PRINT_SETUP_HEADER, |
65 l10n_util::GetStringUTF16(IDS_GOOGLE_CLOUD_PRINT))); | 66 l10n_util::GetStringUTF16(IDS_GOOGLE_CLOUD_PRINT))); |
66 AddString(dict, "explain", IDS_CLOUD_PRINT_SETUP_EXPLAIN); | 67 AddString(dict, "explain", IDS_CLOUD_PRINT_SETUP_EXPLAIN); |
67 AddString(dict, "anywhereheader", IDS_CLOUD_PRINT_SETUP_ANYWHERE_HEADER); | 68 AddString(dict, "anywhereheader", IDS_CLOUD_PRINT_SETUP_ANYWHERE_HEADER); |
68 AddString(dict, "anywhereexplain", IDS_CLOUD_PRINT_SETUP_ANYWHERE_EXPLAIN); | 69 AddString(dict, "anywhereexplain", IDS_CLOUD_PRINT_SETUP_ANYWHERE_EXPLAIN); |
69 AddString(dict, "printerheader", IDS_CLOUD_PRINT_SETUP_PRINTER_HEADER); | 70 AddString(dict, "printerheader", IDS_CLOUD_PRINT_SETUP_PRINTER_HEADER); |
70 AddString(dict, "printerexplain", IDS_CLOUD_PRINT_SETUP_PRINTER_EXPLAIN); | 71 AddString(dict, "printerexplain", IDS_CLOUD_PRINT_SETUP_PRINTER_EXPLAIN); |
71 AddString(dict, "sharingheader", IDS_CLOUD_PRINT_SETUP_SHARING_HEADER); | 72 AddString(dict, "sharingheader", IDS_CLOUD_PRINT_SETUP_SHARING_HEADER); |
72 AddString(dict, "sharingexplain", IDS_CLOUD_PRINT_SETUP_SHARING_EXPLAIN); | 73 AddString(dict, "sharingexplain", IDS_CLOUD_PRINT_SETUP_SHARING_EXPLAIN); |
73 | 74 |
74 static const base::StringPiece html(ResourceBundle::GetSharedInstance() | 75 static const base::StringPiece html(ResourceBundle::GetSharedInstance() |
75 .GetRawDataResource(IDR_CLOUD_PRINT_SETUP_LOGIN_HTML)); | 76 .GetRawDataResource(IDR_CLOUD_PRINT_SETUP_LOGIN_HTML)); |
76 URLDataSource::SetFontAndTextDirection(dict); | 77 web_ui_util::SetFontAndTextDirection(dict); |
77 response = jstemplate_builder::GetI18nTemplateHtml(html, dict); | 78 response = jstemplate_builder::GetI18nTemplateHtml(html, dict); |
78 } else if (path_raw == kCloudPrintGaiaLoginPath) { | 79 } else if (path_raw == kCloudPrintGaiaLoginPath) { |
79 // Start by setting the per-locale URLs we show on the setup wizard. | 80 // Start by setting the per-locale URLs we show on the setup wizard. |
80 dict->SetString("invalidpasswordhelpurl", | 81 dict->SetString("invalidpasswordhelpurl", |
81 GetLocalizedUrl(kInvalidPasswordHelpUrl)); | 82 GetLocalizedUrl(kInvalidPasswordHelpUrl)); |
82 dict->SetString("cannotaccessaccounturl", | 83 dict->SetString("cannotaccessaccounturl", |
83 GetLocalizedUrl(kCanNotAccessAccountUrl)); | 84 GetLocalizedUrl(kCanNotAccessAccountUrl)); |
84 dict->SetString("createnewaccounturl", | 85 dict->SetString("createnewaccounturl", |
85 GetLocalizedUrl(kCreateNewAccountUrl)); | 86 GetLocalizedUrl(kCreateNewAccountUrl)); |
86 | 87 |
(...skipping 15 matching lines...) Expand all Loading... |
102 AddString(dict, "success", IDS_SYNC_SUCCESS); | 103 AddString(dict, "success", IDS_SYNC_SUCCESS); |
103 AddString(dict, "errorsigningin", IDS_SYNC_ERROR_SIGNING_IN); | 104 AddString(dict, "errorsigningin", IDS_SYNC_ERROR_SIGNING_IN); |
104 AddString(dict, "captchainstructions", IDS_SYNC_GAIA_CAPTCHA_INSTRUCTIONS); | 105 AddString(dict, "captchainstructions", IDS_SYNC_GAIA_CAPTCHA_INSTRUCTIONS); |
105 AddString(dict, "invalidaccesscode", IDS_SYNC_INVALID_ACCESS_CODE_LABEL); | 106 AddString(dict, "invalidaccesscode", IDS_SYNC_INVALID_ACCESS_CODE_LABEL); |
106 AddString(dict, "enteraccesscode", IDS_SYNC_ENTER_ACCESS_CODE_LABEL); | 107 AddString(dict, "enteraccesscode", IDS_SYNC_ENTER_ACCESS_CODE_LABEL); |
107 AddString(dict, "getaccesscodehelp", IDS_SYNC_ACCESS_CODE_HELP_LABEL); | 108 AddString(dict, "getaccesscodehelp", IDS_SYNC_ACCESS_CODE_HELP_LABEL); |
108 AddString(dict, "getaccesscodeurl", IDS_SYNC_GET_ACCESS_CODE_URL); | 109 AddString(dict, "getaccesscodeurl", IDS_SYNC_GET_ACCESS_CODE_URL); |
109 | 110 |
110 static const base::StringPiece html(ResourceBundle::GetSharedInstance() | 111 static const base::StringPiece html(ResourceBundle::GetSharedInstance() |
111 .GetRawDataResource(IDR_GAIA_LOGIN_HTML)); | 112 .GetRawDataResource(IDR_GAIA_LOGIN_HTML)); |
112 URLDataSource::SetFontAndTextDirection(dict); | 113 web_ui_util::SetFontAndTextDirection(dict); |
113 response = jstemplate_builder::GetI18nTemplateHtml(html, dict); | 114 response = jstemplate_builder::GetI18nTemplateHtml(html, dict); |
114 } else if (path_raw == kCloudPrintSetupDonePath) { | 115 } else if (path_raw == kCloudPrintSetupDonePath) { |
115 AddString(dict, "testpage", IDS_CLOUD_PRINT_SETUP_TEST_PAGE); | 116 AddString(dict, "testpage", IDS_CLOUD_PRINT_SETUP_TEST_PAGE); |
116 AddString(dict, "success", IDS_SYNC_SUCCESS); | 117 AddString(dict, "success", IDS_SYNC_SUCCESS); |
117 AddString(dict, "okay", IDS_SYNC_SETUP_OK_BUTTON_LABEL); | 118 AddString(dict, "okay", IDS_SYNC_SETUP_OK_BUTTON_LABEL); |
118 static const base::StringPiece html(ResourceBundle::GetSharedInstance() | 119 static const base::StringPiece html(ResourceBundle::GetSharedInstance() |
119 .GetRawDataResource(IDR_CLOUD_PRINT_SETUP_DONE_HTML)); | 120 .GetRawDataResource(IDR_CLOUD_PRINT_SETUP_DONE_HTML)); |
120 URLDataSource::SetFontAndTextDirection(dict); | 121 web_ui_util::SetFontAndTextDirection(dict); |
121 response = jstemplate_builder::GetI18nTemplateHtml(html, dict); | 122 response = jstemplate_builder::GetI18nTemplateHtml(html, dict); |
122 } else if (path_raw == kCloudPrintSetupFlowPath) { | 123 } else if (path_raw == kCloudPrintSetupFlowPath) { |
123 static const base::StringPiece html( | 124 static const base::StringPiece html( |
124 ResourceBundle::GetSharedInstance() | 125 ResourceBundle::GetSharedInstance() |
125 .GetRawDataResource(IDR_CLOUD_PRINT_SETUP_FLOW_HTML)); | 126 .GetRawDataResource(IDR_CLOUD_PRINT_SETUP_FLOW_HTML)); |
126 response = html.as_string(); | 127 response = html.as_string(); |
127 } | 128 } |
128 | 129 |
129 url_data_source()->SendResponse( | 130 callback.Run(base::RefCountedString::TakeString(&response)); |
130 request_id, base::RefCountedString::TakeString(&response)); | |
131 } | 131 } |
132 | 132 |
133 std::string CloudPrintSetupSource::GetMimeType(const std::string& path) const { | 133 std::string CloudPrintSetupSource::GetMimeType(const std::string& path) const { |
134 return "text/html"; | 134 return "text/html"; |
135 } | 135 } |
136 | 136 |
137 std::string CloudPrintSetupSource::GetLocalizedUrl( | 137 std::string CloudPrintSetupSource::GetLocalizedUrl( |
138 const std::string& url) const { | 138 const std::string& url) const { |
139 GURL original_url(url); | 139 GURL original_url(url); |
140 DCHECK(original_url.is_valid()); | 140 DCHECK(original_url.is_valid()); |
141 GURL localized_url = google_util::AppendGoogleLocaleParam(original_url); | 141 GURL localized_url = google_util::AppendGoogleLocaleParam(original_url); |
142 return localized_url.spec(); | 142 return localized_url.spec(); |
143 } | 143 } |
OLD | NEW |