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/ui/pdf/pdf_unsupported_feature.h" | 5 #include "chrome/browser/ui/pdf/pdf_unsupported_feature.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
10 #include "chrome/browser/lifetime/application_lifetime.h" | 10 #include "chrome/browser/lifetime/application_lifetime.h" |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
52 | 52 |
53 // The prompt delegate used to ask the user if they want to use Adobe Reader | 53 // The prompt delegate used to ask the user if they want to use Adobe Reader |
54 // by default. | 54 // by default. |
55 class PDFEnableAdobeReaderPromptClient | 55 class PDFEnableAdobeReaderPromptClient |
56 : public pdf::OpenPDFInReaderPromptClient { | 56 : public pdf::OpenPDFInReaderPromptClient { |
57 public: | 57 public: |
58 explicit PDFEnableAdobeReaderPromptClient(Profile* profile); | 58 explicit PDFEnableAdobeReaderPromptClient(Profile* profile); |
59 virtual ~PDFEnableAdobeReaderPromptClient(); | 59 virtual ~PDFEnableAdobeReaderPromptClient(); |
60 | 60 |
61 // pdf::OpenPDFInReaderPromptClient | 61 // pdf::OpenPDFInReaderPromptClient |
62 virtual base::string16 GetMessageText() const OVERRIDE; | 62 virtual base::string16 GetMessageText() const override; |
63 virtual base::string16 GetAcceptButtonText() const OVERRIDE; | 63 virtual base::string16 GetAcceptButtonText() const override; |
64 virtual base::string16 GetCancelButtonText() const OVERRIDE; | 64 virtual base::string16 GetCancelButtonText() const override; |
65 virtual bool ShouldExpire( | 65 virtual bool ShouldExpire( |
66 const content::LoadCommittedDetails& details) const OVERRIDE; | 66 const content::LoadCommittedDetails& details) const override; |
67 virtual void Accept() OVERRIDE; | 67 virtual void Accept() override; |
68 virtual void Cancel() OVERRIDE; | 68 virtual void Cancel() override; |
69 | 69 |
70 private: | 70 private: |
71 void OnYes(); | 71 void OnYes(); |
72 void OnNo(); | 72 void OnNo(); |
73 | 73 |
74 Profile* profile_; | 74 Profile* profile_; |
75 | 75 |
76 DISALLOW_IMPLICIT_CONSTRUCTORS(PDFEnableAdobeReaderPromptClient); | 76 DISALLOW_IMPLICIT_CONSTRUCTORS(PDFEnableAdobeReaderPromptClient); |
77 }; | 77 }; |
78 | 78 |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 : web_contents_(web_contents), | 155 : web_contents_(web_contents), |
156 reader_webplugininfo_(reader_webplugininfo) { | 156 reader_webplugininfo_(reader_webplugininfo) { |
157 content::RecordAction(UserMetricsAction("PDF_ReaderInterstitialShown")); | 157 content::RecordAction(UserMetricsAction("PDF_ReaderInterstitialShown")); |
158 interstitial_page_ = InterstitialPage::Create( | 158 interstitial_page_ = InterstitialPage::Create( |
159 web_contents, false, web_contents->GetURL(), this); | 159 web_contents, false, web_contents->GetURL(), this); |
160 interstitial_page_->Show(); | 160 interstitial_page_->Show(); |
161 } | 161 } |
162 | 162 |
163 protected: | 163 protected: |
164 // InterstitialPageDelegate implementation. | 164 // InterstitialPageDelegate implementation. |
165 virtual std::string GetHTMLContents() OVERRIDE { | 165 virtual std::string GetHTMLContents() override { |
166 base::DictionaryValue strings; | 166 base::DictionaryValue strings; |
167 strings.SetString( | 167 strings.SetString( |
168 "title", | 168 "title", |
169 l10n_util::GetStringUTF16(IDS_READER_OUT_OF_DATE_BLOCKING_PAGE_TITLE)); | 169 l10n_util::GetStringUTF16(IDS_READER_OUT_OF_DATE_BLOCKING_PAGE_TITLE)); |
170 strings.SetString( | 170 strings.SetString( |
171 "headLine", | 171 "headLine", |
172 l10n_util::GetStringUTF16(IDS_READER_OUT_OF_DATE_BLOCKING_PAGE_BODY)); | 172 l10n_util::GetStringUTF16(IDS_READER_OUT_OF_DATE_BLOCKING_PAGE_BODY)); |
173 strings.SetString( | 173 strings.SetString( |
174 "update", | 174 "update", |
175 l10n_util::GetStringUTF16(IDS_READER_OUT_OF_DATE_BLOCKING_PAGE_UPDATE)); | 175 l10n_util::GetStringUTF16(IDS_READER_OUT_OF_DATE_BLOCKING_PAGE_UPDATE)); |
176 strings.SetString( | 176 strings.SetString( |
177 "open_with_reader", | 177 "open_with_reader", |
178 l10n_util::GetStringUTF16( | 178 l10n_util::GetStringUTF16( |
179 IDS_READER_OUT_OF_DATE_BLOCKING_PAGE_PROCEED)); | 179 IDS_READER_OUT_OF_DATE_BLOCKING_PAGE_PROCEED)); |
180 strings.SetString( | 180 strings.SetString( |
181 "ok", | 181 "ok", |
182 l10n_util::GetStringUTF16(IDS_READER_OUT_OF_DATE_BLOCKING_PAGE_OK)); | 182 l10n_util::GetStringUTF16(IDS_READER_OUT_OF_DATE_BLOCKING_PAGE_OK)); |
183 strings.SetString( | 183 strings.SetString( |
184 "cancel", | 184 "cancel", |
185 l10n_util::GetStringUTF16(IDS_READER_OUT_OF_DATE_BLOCKING_PAGE_CANCEL)); | 185 l10n_util::GetStringUTF16(IDS_READER_OUT_OF_DATE_BLOCKING_PAGE_CANCEL)); |
186 | 186 |
187 base::StringPiece html(ResourceBundle::GetSharedInstance(). | 187 base::StringPiece html(ResourceBundle::GetSharedInstance(). |
188 GetRawDataResource(IDR_READER_OUT_OF_DATE_HTML)); | 188 GetRawDataResource(IDR_READER_OUT_OF_DATE_HTML)); |
189 | 189 |
190 return webui::GetI18nTemplateHtml(html, &strings); | 190 return webui::GetI18nTemplateHtml(html, &strings); |
191 } | 191 } |
192 | 192 |
193 virtual void CommandReceived(const std::string& command) OVERRIDE { | 193 virtual void CommandReceived(const std::string& command) override { |
194 if (command == "0") { | 194 if (command == "0") { |
195 content::RecordAction( | 195 content::RecordAction( |
196 UserMetricsAction("PDF_ReaderInterstitialCancel")); | 196 UserMetricsAction("PDF_ReaderInterstitialCancel")); |
197 interstitial_page_->DontProceed(); | 197 interstitial_page_->DontProceed(); |
198 return; | 198 return; |
199 } | 199 } |
200 | 200 |
201 if (command == "1") { | 201 if (command == "1") { |
202 content::RecordAction( | 202 content::RecordAction( |
203 UserMetricsAction("PDF_ReaderInterstitialUpdate")); | 203 UserMetricsAction("PDF_ReaderInterstitialUpdate")); |
204 OpenReaderUpdateURL(web_contents_); | 204 OpenReaderUpdateURL(web_contents_); |
205 } else if (command == "2") { | 205 } else if (command == "2") { |
206 content::RecordAction( | 206 content::RecordAction( |
207 UserMetricsAction("PDF_ReaderInterstitialIgnore")); | 207 UserMetricsAction("PDF_ReaderInterstitialIgnore")); |
208 // Pretend that the plug-in is up-to-date so that we don't block it. | 208 // Pretend that the plug-in is up-to-date so that we don't block it. |
209 reader_webplugininfo_.version = base::ASCIIToUTF16("11.0.0.0"); | 209 reader_webplugininfo_.version = base::ASCIIToUTF16("11.0.0.0"); |
210 OpenUsingReader(web_contents_, reader_webplugininfo_, NULL); | 210 OpenUsingReader(web_contents_, reader_webplugininfo_, NULL); |
211 } else { | 211 } else { |
212 NOTREACHED(); | 212 NOTREACHED(); |
213 } | 213 } |
214 interstitial_page_->Proceed(); | 214 interstitial_page_->Proceed(); |
215 } | 215 } |
216 | 216 |
217 virtual void OverrideRendererPrefs( | 217 virtual void OverrideRendererPrefs( |
218 content::RendererPreferences* prefs) OVERRIDE { | 218 content::RendererPreferences* prefs) override { |
219 Profile* profile = | 219 Profile* profile = |
220 Profile::FromBrowserContext(web_contents_->GetBrowserContext()); | 220 Profile::FromBrowserContext(web_contents_->GetBrowserContext()); |
221 renderer_preferences_util::UpdateFromSystemSettings(prefs, profile); | 221 renderer_preferences_util::UpdateFromSystemSettings(prefs, profile); |
222 } | 222 } |
223 | 223 |
224 private: | 224 private: |
225 WebContents* web_contents_; | 225 WebContents* web_contents_; |
226 WebPluginInfo reader_webplugininfo_; | 226 WebPluginInfo reader_webplugininfo_; |
227 InterstitialPage* interstitial_page_; // Owns us. | 227 InterstitialPage* interstitial_page_; // Owns us. |
228 | 228 |
229 DISALLOW_COPY_AND_ASSIGN(PDFUnsupportedFeatureInterstitial); | 229 DISALLOW_COPY_AND_ASSIGN(PDFUnsupportedFeatureInterstitial); |
230 }; | 230 }; |
231 | 231 |
232 // The delegate for the bubble used to inform the user that we don't support a | 232 // The delegate for the bubble used to inform the user that we don't support a |
233 // feature in the PDF. | 233 // feature in the PDF. |
234 class PDFUnsupportedFeaturePromptClient | 234 class PDFUnsupportedFeaturePromptClient |
235 : public pdf::OpenPDFInReaderPromptClient { | 235 : public pdf::OpenPDFInReaderPromptClient { |
236 public: | 236 public: |
237 PDFUnsupportedFeaturePromptClient(WebContents* web_contents, | 237 PDFUnsupportedFeaturePromptClient(WebContents* web_contents, |
238 const AdobeReaderPluginInfo& reader_info); | 238 const AdobeReaderPluginInfo& reader_info); |
239 virtual ~PDFUnsupportedFeaturePromptClient(); | 239 virtual ~PDFUnsupportedFeaturePromptClient(); |
240 | 240 |
241 // pdf::OpenPDFInReaderPromptClient: | 241 // pdf::OpenPDFInReaderPromptClient: |
242 virtual base::string16 GetMessageText() const OVERRIDE; | 242 virtual base::string16 GetMessageText() const override; |
243 virtual base::string16 GetAcceptButtonText() const OVERRIDE; | 243 virtual base::string16 GetAcceptButtonText() const override; |
244 virtual base::string16 GetCancelButtonText() const OVERRIDE; | 244 virtual base::string16 GetCancelButtonText() const override; |
245 virtual bool ShouldExpire( | 245 virtual bool ShouldExpire( |
246 const content::LoadCommittedDetails& details) const OVERRIDE; | 246 const content::LoadCommittedDetails& details) const override; |
247 virtual void Accept() OVERRIDE; | 247 virtual void Accept() override; |
248 virtual void Cancel() OVERRIDE; | 248 virtual void Cancel() override; |
249 | 249 |
250 private: | 250 private: |
251 WebContents* web_contents_; | 251 WebContents* web_contents_; |
252 const AdobeReaderPluginInfo reader_info_; | 252 const AdobeReaderPluginInfo reader_info_; |
253 | 253 |
254 DISALLOW_IMPLICIT_CONSTRUCTORS(PDFUnsupportedFeaturePromptClient); | 254 DISALLOW_IMPLICIT_CONSTRUCTORS(PDFUnsupportedFeaturePromptClient); |
255 }; | 255 }; |
256 | 256 |
257 PDFUnsupportedFeaturePromptClient::PDFUnsupportedFeaturePromptClient( | 257 PDFUnsupportedFeaturePromptClient::PDFUnsupportedFeaturePromptClient( |
258 WebContents* web_contents, | 258 WebContents* web_contents, |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
358 MaybeShowOpenPDFInReaderPrompt(web_contents, reader_info); | 358 MaybeShowOpenPDFInReaderPrompt(web_contents, reader_info); |
359 return; | 359 return; |
360 } | 360 } |
361 GetAdobeReaderPluginInfoAsync( | 361 GetAdobeReaderPluginInfoAsync( |
362 profile, | 362 profile, |
363 base::Bind(&GotPluginsCallback, | 363 base::Bind(&GotPluginsCallback, |
364 web_contents->GetRenderProcessHost()->GetID(), | 364 web_contents->GetRenderProcessHost()->GetID(), |
365 web_contents->GetRenderViewHost()->GetRoutingID())); | 365 web_contents->GetRenderViewHost()->GetRoutingID())); |
366 #endif // defined(OS_WIN) | 366 #endif // defined(OS_WIN) |
367 } | 367 } |
OLD | NEW |