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 "android_webview/browser/aw_browser_context.h" | 7 #include "android_webview/browser/aw_browser_context.h" |
8 #include "android_webview/browser/aw_browser_main_parts.h" | 8 #include "android_webview/browser/aw_browser_main_parts.h" |
9 #include "android_webview/browser/aw_contents_client_bridge_base.h" | 9 #include "android_webview/browser/aw_contents_client_bridge_base.h" |
10 #include "android_webview/browser/aw_contents_io_thread_client.h" | 10 #include "android_webview/browser/aw_contents_io_thread_client.h" |
11 #include "android_webview/browser/aw_cookie_access_policy.h" | 11 #include "android_webview/browser/aw_cookie_access_policy.h" |
| 12 #include "android_webview/browser/aw_locale_manager.h" |
12 #include "android_webview/browser/aw_printing_message_filter.h" | 13 #include "android_webview/browser/aw_printing_message_filter.h" |
13 #include "android_webview/browser/aw_quota_permission_context.h" | 14 #include "android_webview/browser/aw_quota_permission_context.h" |
14 #include "android_webview/browser/aw_web_preferences_populater.h" | 15 #include "android_webview/browser/aw_web_preferences_populater.h" |
15 #include "android_webview/browser/jni_dependency_factory.h" | 16 #include "android_webview/browser/jni_dependency_factory.h" |
16 #include "android_webview/browser/net/aw_url_request_context_getter.h" | 17 #include "android_webview/browser/net/aw_url_request_context_getter.h" |
17 #include "android_webview/browser/net_disk_cache_remover.h" | 18 #include "android_webview/browser/net_disk_cache_remover.h" |
18 #include "android_webview/browser/renderer_host/aw_resource_dispatcher_host_dele
gate.h" | 19 #include "android_webview/browser/renderer_host/aw_resource_dispatcher_host_dele
gate.h" |
19 #include "android_webview/common/render_view_messages.h" | 20 #include "android_webview/common/render_view_messages.h" |
20 #include "android_webview/common/url_constants.h" | 21 #include "android_webview/common/url_constants.h" |
21 #include "base/android/locale_utils.h" | 22 #include "base/android/locale_utils.h" |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 } | 100 } |
100 void SaveAccessToken(const GURL& server_url, | 101 void SaveAccessToken(const GURL& server_url, |
101 const base::string16& access_token) override {} | 102 const base::string16& access_token) override {} |
102 | 103 |
103 private: | 104 private: |
104 ~AwAccessTokenStore() override {} | 105 ~AwAccessTokenStore() override {} |
105 | 106 |
106 DISALLOW_COPY_AND_ASSIGN(AwAccessTokenStore); | 107 DISALLOW_COPY_AND_ASSIGN(AwAccessTokenStore); |
107 }; | 108 }; |
108 | 109 |
| 110 AwLocaleManager* g_locale_manager = NULL; |
| 111 |
109 } // anonymous namespace | 112 } // anonymous namespace |
110 | 113 |
| 114 // static |
111 std::string AwContentBrowserClient::GetAcceptLangsImpl() { | 115 std::string AwContentBrowserClient::GetAcceptLangsImpl() { |
112 // Start with the currnet locale. | 116 // Start with the current locale. |
113 std::string langs = base::android::GetDefaultLocale(); | 117 std::string langs = g_locale_manager->GetLocale(); |
114 | 118 |
115 // If we're not en-US, add in en-US which will be | 119 // If we're not en-US, add in en-US which will be |
116 // used with a lower q-value. | 120 // used with a lower q-value. |
117 if (base::StringToLowerASCII(langs) != "en-us") { | 121 if (base::StringToLowerASCII(langs) != "en-us") { |
118 langs += ",en-US"; | 122 langs += ",en-US"; |
119 } | 123 } |
120 return langs; | 124 return langs; |
121 } | 125 } |
122 | 126 |
| 127 // static |
123 AwBrowserContext* AwContentBrowserClient::GetAwBrowserContext() { | 128 AwBrowserContext* AwContentBrowserClient::GetAwBrowserContext() { |
124 return AwBrowserContext::GetDefault(); | 129 return AwBrowserContext::GetDefault(); |
125 } | 130 } |
126 | 131 |
127 AwContentBrowserClient::AwContentBrowserClient( | 132 AwContentBrowserClient::AwContentBrowserClient( |
128 JniDependencyFactory* native_factory) | 133 JniDependencyFactory* native_factory) |
129 : native_factory_(native_factory) { | 134 : native_factory_(native_factory) { |
130 base::FilePath user_data_dir; | 135 base::FilePath user_data_dir; |
131 if (!PathService::Get(base::DIR_ANDROID_APP_DATA, &user_data_dir)) { | 136 if (!PathService::Get(base::DIR_ANDROID_APP_DATA, &user_data_dir)) { |
132 NOTREACHED() << "Failed to get app data directory for Android WebView"; | 137 NOTREACHED() << "Failed to get app data directory for Android WebView"; |
133 } | 138 } |
134 browser_context_.reset( | 139 browser_context_.reset( |
135 new AwBrowserContext(user_data_dir, native_factory_)); | 140 new AwBrowserContext(user_data_dir, native_factory_)); |
| 141 g_locale_manager = native_factory->CreateAwLocaleManager(); |
136 } | 142 } |
137 | 143 |
138 AwContentBrowserClient::~AwContentBrowserClient() { | 144 AwContentBrowserClient::~AwContentBrowserClient() { |
| 145 delete g_locale_manager; |
| 146 g_locale_manager = NULL; |
139 } | 147 } |
140 | 148 |
141 void AwContentBrowserClient::AddCertificate(net::CertificateMimeType cert_type, | 149 void AwContentBrowserClient::AddCertificate(net::CertificateMimeType cert_type, |
142 const void* cert_data, | 150 const void* cert_data, |
143 size_t cert_size, | 151 size_t cert_size, |
144 int render_process_id, | 152 int render_process_id, |
145 int render_frame_id) { | 153 int render_frame_id) { |
146 if (cert_size > 0) | 154 if (cert_size > 0) |
147 net::android::StoreCertificate(cert_type, cert_data, cert_size); | 155 net::android::StoreCertificate(cert_type, cert_data, cert_size); |
148 } | 156 } |
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
435 | 443 |
436 #if defined(VIDEO_HOLE) | 444 #if defined(VIDEO_HOLE) |
437 content::ExternalVideoSurfaceContainer* | 445 content::ExternalVideoSurfaceContainer* |
438 AwContentBrowserClient::OverrideCreateExternalVideoSurfaceContainer( | 446 AwContentBrowserClient::OverrideCreateExternalVideoSurfaceContainer( |
439 content::WebContents* web_contents) { | 447 content::WebContents* web_contents) { |
440 return native_factory_->CreateExternalVideoSurfaceContainer(web_contents); | 448 return native_factory_->CreateExternalVideoSurfaceContainer(web_contents); |
441 } | 449 } |
442 #endif | 450 #endif |
443 | 451 |
444 } // namespace android_webview | 452 } // namespace android_webview |
OLD | NEW |