Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(157)

Side by Side Diff: android_webview/common/aw_content_client.cc

Issue 191093002: Simplify the user agent code some more since after r255534 it's not affected by the site's URL. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: patchset 15 which works Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « android_webview/common/aw_content_client.h ('k') | android_webview/native/aw_settings.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/common/aw_content_client.h" 5 #include "android_webview/common/aw_content_client.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "content/public/common/content_switches.h" 9 #include "content/public/common/content_switches.h"
10 #include "ipc/ipc_message.h" 10 #include "ipc/ipc_message.h"
11 #include "ui/base/l10n/l10n_util.h" 11 #include "ui/base/l10n/l10n_util.h"
12 #include "ui/base/resource/resource_bundle.h" 12 #include "ui/base/resource/resource_bundle.h"
13 #include "webkit/common/user_agent/user_agent_util.h" 13 #include "webkit/common/user_agent/user_agent_util.h"
14 14
15 namespace android_webview { 15 namespace {
16 16
17 std::string AwContentClient::GetProduct() const { 17 std::string GetProduct() {
18 // "Chrome/XX.0.0.0" identifies that this WebView is derived from the 18 // "Chrome/XX.0.0.0" identifies that this WebView is derived from the
19 // corresponding Chromium version XX. 19 // corresponding Chromium version XX.
20 // TODO(torne): Use chrome/VERSION file. See http://crbug.com/297522 20 // TODO(torne): Use chrome/VERSION file. See http://crbug.com/297522
21 return "Chrome/33.0.0.0"; 21 return "Chrome/33.0.0.0";
22 } 22 }
23 23
24 std::string AwContentClient::GetUserAgent() const { 24 }
25
26 namespace android_webview {
27
28 std::string GetUserAgent() {
25 // "Version/4.0" had been hardcoded in the legacy WebView. 29 // "Version/4.0" had been hardcoded in the legacy WebView.
26 std::string product = "Version/4.0 " + GetProduct(); 30 std::string product = "Version/4.0 " + GetProduct();
27 if (CommandLine::ForCurrentProcess()->HasSwitch( 31 if (CommandLine::ForCurrentProcess()->HasSwitch(
28 switches::kUseMobileUserAgent)) { 32 switches::kUseMobileUserAgent)) {
29 product += " Mobile"; 33 product += " Mobile";
30 } 34 }
31 return webkit_glue::BuildUserAgentFromProduct(product); 35 return webkit_glue::BuildUserAgentFromProduct(product);
32 } 36 }
33 37
38 std::string AwContentClient::GetProduct() const {
39 return ::GetProduct();
40 }
41
42 std::string AwContentClient::GetUserAgent() const {
43 return android_webview::GetUserAgent();
44 }
45
34 base::string16 AwContentClient::GetLocalizedString(int message_id) const { 46 base::string16 AwContentClient::GetLocalizedString(int message_id) const {
35 // TODO(boliu): Used only by WebKit, so only bundle those resources for 47 // TODO(boliu): Used only by WebKit, so only bundle those resources for
36 // Android WebView. 48 // Android WebView.
37 return l10n_util::GetStringUTF16(message_id); 49 return l10n_util::GetStringUTF16(message_id);
38 } 50 }
39 51
40 base::StringPiece AwContentClient::GetDataResource( 52 base::StringPiece AwContentClient::GetDataResource(
41 int resource_id, 53 int resource_id,
42 ui::ScaleFactor scale_factor) const { 54 ui::ScaleFactor scale_factor) const {
43 // TODO(boliu): Used only by WebKit, so only bundle those resources for 55 // TODO(boliu): Used only by WebKit, so only bundle those resources for
44 // Android WebView. 56 // Android WebView.
45 return ResourceBundle::GetSharedInstance().GetRawDataResourceForScale( 57 return ResourceBundle::GetSharedInstance().GetRawDataResourceForScale(
46 resource_id, scale_factor); 58 resource_id, scale_factor);
47 } 59 }
48 60
49 bool AwContentClient::CanSendWhileSwappedOut(const IPC::Message* message) { 61 bool AwContentClient::CanSendWhileSwappedOut(const IPC::Message* message) {
50 // For legacy API support we perform a few browser -> renderer synchronous IPC 62 // For legacy API support we perform a few browser -> renderer synchronous IPC
51 // messages that block the browser. However, the synchronous IPC replies might 63 // messages that block the browser. However, the synchronous IPC replies might
52 // be dropped by the renderer during a swap out, deadlocking the browser. 64 // be dropped by the renderer during a swap out, deadlocking the browser.
53 // Because of this we should never drop any synchronous IPC replies. 65 // Because of this we should never drop any synchronous IPC replies.
54 return message->type() == IPC_REPLY_ID; 66 return message->type() == IPC_REPLY_ID;
55 } 67 }
56 68
57 } // namespace android_webview 69 } // namespace android_webview
OLDNEW
« no previous file with comments | « android_webview/common/aw_content_client.h ('k') | android_webview/native/aw_settings.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698