| 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 "android_webview/browser/aw_content_browser_client.h" | 5 #include "android_webview/browser/aw_content_browser_client.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "android_webview/browser/aw_browser_context.h" | 9 #include "android_webview/browser/aw_browser_context.h" |
| 10 #include "android_webview/browser/aw_browser_main_parts.h" | 10 #include "android_webview/browser/aw_browser_main_parts.h" |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 48 #include "content/public/common/web_preferences.h" | 48 #include "content/public/common/web_preferences.h" |
| 49 #include "device/geolocation/access_token_store.h" | 49 #include "device/geolocation/access_token_store.h" |
| 50 #include "device/geolocation/geolocation_delegate.h" | 50 #include "device/geolocation/geolocation_delegate.h" |
| 51 #include "net/android/network_library.h" | 51 #include "net/android/network_library.h" |
| 52 #include "net/ssl/ssl_cert_request_info.h" | 52 #include "net/ssl/ssl_cert_request_info.h" |
| 53 #include "net/ssl/ssl_info.h" | 53 #include "net/ssl/ssl_info.h" |
| 54 #include "ui/base/resource/resource_bundle.h" | 54 #include "ui/base/resource/resource_bundle.h" |
| 55 #include "ui/base/resource/resource_bundle_android.h" | 55 #include "ui/base/resource/resource_bundle_android.h" |
| 56 #include "ui/resources/grit/ui_resources.h" | 56 #include "ui/resources/grit/ui_resources.h" |
| 57 | 57 |
| 58 #if defined(ENABLE_SPELLCHECK) |
| 59 #include "components/spellcheck/browser/spellcheck_message_filter_platform.h" |
| 60 #include "components/spellcheck/common/spellcheck_switches.h" |
| 61 #endif |
| 62 |
| 58 using content::BrowserThread; | 63 using content::BrowserThread; |
| 59 using content::ResourceType; | 64 using content::ResourceType; |
| 60 | 65 |
| 61 namespace android_webview { | 66 namespace android_webview { |
| 62 namespace { | 67 namespace { |
| 63 | 68 |
| 64 // TODO(sgurun) move this to its own file. | 69 // TODO(sgurun) move this to its own file. |
| 65 // This class filters out incoming aw_contents related IPC messages for the | 70 // This class filters out incoming aw_contents related IPC messages for the |
| 66 // renderer process on the IPC thread. | 71 // renderer process on the IPC thread. |
| 67 class AwContentsMessageFilter : public content::BrowserMessageFilter { | 72 class AwContentsMessageFilter : public content::BrowserMessageFilter { |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 211 content::RenderProcessHost* host) { | 216 content::RenderProcessHost* host) { |
| 212 // Grant content: scheme access to the whole renderer process, since we impose | 217 // Grant content: scheme access to the whole renderer process, since we impose |
| 213 // per-view access checks, and access is granted by default (see | 218 // per-view access checks, and access is granted by default (see |
| 214 // AwSettings.mAllowContentUrlAccess). | 219 // AwSettings.mAllowContentUrlAccess). |
| 215 content::ChildProcessSecurityPolicy::GetInstance()->GrantScheme( | 220 content::ChildProcessSecurityPolicy::GetInstance()->GrantScheme( |
| 216 host->GetID(), url::kContentScheme); | 221 host->GetID(), url::kContentScheme); |
| 217 | 222 |
| 218 host->AddFilter(new AwContentsMessageFilter(host->GetID())); | 223 host->AddFilter(new AwContentsMessageFilter(host->GetID())); |
| 219 host->AddFilter(new cdm::CdmMessageFilterAndroid()); | 224 host->AddFilter(new cdm::CdmMessageFilterAndroid()); |
| 220 host->AddFilter(new AwPrintingMessageFilter(host->GetID())); | 225 host->AddFilter(new AwPrintingMessageFilter(host->GetID())); |
| 226 |
| 227 #if defined(ENABLE_SPELLCHECK) |
| 228 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 229 spellcheck::switches::kEnableAndroidSpellChecker)) { |
| 230 host->AddFilter(new SpellCheckMessageFilterPlatform(host->GetID())); |
| 231 } |
| 232 #endif |
| 221 } | 233 } |
| 222 | 234 |
| 223 bool AwContentBrowserClient::IsHandledURL(const GURL& url) { | 235 bool AwContentBrowserClient::IsHandledURL(const GURL& url) { |
| 224 if (!url.is_valid()) { | 236 if (!url.is_valid()) { |
| 225 // We handle error cases. | 237 // We handle error cases. |
| 226 return true; | 238 return true; |
| 227 } | 239 } |
| 228 | 240 |
| 229 const std::string scheme = url.scheme(); | 241 const std::string scheme = url.scheme(); |
| 230 DCHECK_EQ(scheme, base::ToLowerASCII(scheme)); | 242 DCHECK_EQ(scheme, base::ToLowerASCII(scheme)); |
| (...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 509 | 521 |
| 510 #if defined(VIDEO_HOLE) | 522 #if defined(VIDEO_HOLE) |
| 511 content::ExternalVideoSurfaceContainer* | 523 content::ExternalVideoSurfaceContainer* |
| 512 AwContentBrowserClient::OverrideCreateExternalVideoSurfaceContainer( | 524 AwContentBrowserClient::OverrideCreateExternalVideoSurfaceContainer( |
| 513 content::WebContents* web_contents) { | 525 content::WebContents* web_contents) { |
| 514 return native_factory_->CreateExternalVideoSurfaceContainer(web_contents); | 526 return native_factory_->CreateExternalVideoSurfaceContainer(web_contents); |
| 515 } | 527 } |
| 516 #endif | 528 #endif |
| 517 | 529 |
| 518 } // namespace android_webview | 530 } // namespace android_webview |
| OLD | NEW |