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/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 "ipc/ipc_message.h" |
8 #include "ui/base/l10n/l10n_util.h" | 9 #include "ui/base/l10n/l10n_util.h" |
9 #include "ui/base/resource/resource_bundle.h" | 10 #include "ui/base/resource/resource_bundle.h" |
10 #include "webkit/user_agent/user_agent_util.h" | 11 #include "webkit/user_agent/user_agent_util.h" |
11 | 12 |
12 namespace android_webview { | 13 namespace android_webview { |
13 | 14 |
14 std::string AwContentClient::GetProduct() const { | 15 std::string AwContentClient::GetProduct() const { |
15 // "Version/4.0" had been hardcoded in the legacy WebView. | 16 // "Version/4.0" had been hardcoded in the legacy WebView. |
16 return std::string("Version/4.0"); | 17 return std::string("Version/4.0"); |
17 } | 18 } |
(...skipping 10 matching lines...) Expand all Loading... |
28 | 29 |
29 base::StringPiece AwContentClient::GetDataResource( | 30 base::StringPiece AwContentClient::GetDataResource( |
30 int resource_id, | 31 int resource_id, |
31 ui::ScaleFactor scale_factor) const { | 32 ui::ScaleFactor scale_factor) const { |
32 // TODO(boliu): Used only by WebKit, so only bundle those resources for | 33 // TODO(boliu): Used only by WebKit, so only bundle those resources for |
33 // Android WebView. | 34 // Android WebView. |
34 return ResourceBundle::GetSharedInstance().GetRawDataResourceForScale( | 35 return ResourceBundle::GetSharedInstance().GetRawDataResourceForScale( |
35 resource_id, scale_factor); | 36 resource_id, scale_factor); |
36 } | 37 } |
37 | 38 |
| 39 bool AwContentClient::CanSendWhileSwappedOut(const IPC::Message* message) { |
| 40 // For legacy API support we perform a few browser -> renderer synchronous IPC |
| 41 // messages that block the browser. However, the synchronous IPC replies might |
| 42 // be dropped by the renderer during a swap out, deadlocking the browser. |
| 43 // Because of this we should never drop any synchronous IPC replies. |
| 44 return message->type() == IPC_REPLY_ID; |
| 45 } |
| 46 |
38 } // namespace android_webview | 47 } // namespace android_webview |
OLD | NEW |