Chromium Code Reviews| 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 |