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 "base/files/file_path.h" | |
5 #include "base/utf_string_conversions.h" | 6 #include "base/utf_string_conversions.h" |
6 #include "content/browser/child_process_security_policy_impl.h" | 7 #include "content/browser/child_process_security_policy_impl.h" |
7 #include "content/browser/renderer_host/test_render_view_host.h" | 8 #include "content/browser/renderer_host/test_render_view_host.h" |
8 #include "content/browser/web_contents/navigation_controller_impl.h" | 9 #include "content/browser/web_contents/navigation_controller_impl.h" |
9 #include "content/common/input_messages.h" | 10 #include "content/common/input_messages.h" |
10 #include "content/common/view_messages.h" | 11 #include "content/common/view_messages.h" |
11 #include "content/port/browser/render_view_host_delegate_view.h" | 12 #include "content/port/browser/render_view_host_delegate_view.h" |
12 #include "content/public/browser/navigation_entry.h" | 13 #include "content/public/browser/navigation_entry.h" |
13 #include "content/public/common/bindings_policy.h" | 14 #include "content/public/common/bindings_policy.h" |
14 #include "content/public/common/page_transition_types.h" | 15 #include "content/public/common/page_transition_types.h" |
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
220 // bogus message will not fail at de-serialization but should fail in | 221 // bogus message will not fail at de-serialization but should fail in |
221 // OnInputEventAck() processing. | 222 // OnInputEventAck() processing. |
222 IPC::Message message(0, InputHostMsg_HandleInputEvent_ACK::ID, | 223 IPC::Message message(0, InputHostMsg_HandleInputEvent_ACK::ID, |
223 IPC::Message::PRIORITY_NORMAL); | 224 IPC::Message::PRIORITY_NORMAL); |
224 test_rvh()->OnMessageReceived(message); | 225 test_rvh()->OnMessageReceived(message); |
225 EXPECT_EQ(1, process()->bad_msg_count()); | 226 EXPECT_EQ(1, process()->bad_msg_count()); |
226 } | 227 } |
227 | 228 |
228 #endif | 229 #endif |
229 | 230 |
231 TEST_F(RenderViewHostTest, MessageWithBadHistoryItemFiles) { | |
232 int id = process()->GetID(); | |
233 std::string file_name = "/tmp/foo"; | |
darin (slow to review)
2013/05/06 23:39:47
I don't think this is going to work very well on W
| |
234 EXPECT_EQ(0, process()->bad_msg_count()); | |
235 test_rvh()->TestOnUpdateStateWithFile(id, file_name); | |
236 EXPECT_EQ(1, process()->bad_msg_count()); | |
237 | |
238 ChildProcessSecurityPolicyImpl* policy = | |
239 ChildProcessSecurityPolicyImpl::GetInstance(); | |
240 policy->GrantPermissionsForFile(id, base::FilePath::FromUTF8Unsafe(file_name), | |
241 base::PLATFORM_FILE_OPEN | | |
242 base::PLATFORM_FILE_READ | | |
243 base::PLATFORM_FILE_EXCLUSIVE_READ | | |
244 base::PLATFORM_FILE_ASYNC); | |
245 test_rvh()->TestOnUpdateStateWithFile(id, file_name); | |
246 EXPECT_EQ(1, process()->bad_msg_count()); | |
247 } | |
248 | |
230 } // namespace content | 249 } // namespace content |
OLD | NEW |