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

Side by Side Diff: content/child/resource_dispatcher_unittest.cc

Issue 651253002: Enforce handle ownership in base::Process (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add empty line Created 6 years, 2 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
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 <string> 5 #include <string>
6 #include <vector> 6 #include <vector>
7 7
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/memory/shared_memory.h" 10 #include "base/memory/shared_memory.h"
11 #include "base/message_loop/message_loop.h" 11 #include "base/message_loop/message_loop.h"
12 #include "base/process/process.h"
13 #include "base/process/process_handle.h" 12 #include "base/process/process_handle.h"
14 #include "base/run_loop.h" 13 #include "base/run_loop.h"
15 #include "base/stl_util.h" 14 #include "base/stl_util.h"
16 #include "content/child/request_extra_data.h" 15 #include "content/child/request_extra_data.h"
17 #include "content/child/request_info.h" 16 #include "content/child/request_info.h"
18 #include "content/child/resource_dispatcher.h" 17 #include "content/child/resource_dispatcher.h"
19 #include "content/child/resource_loader_bridge.h" 18 #include "content/child/resource_loader_bridge.h"
20 #include "content/common/appcache_interfaces.h" 19 #include "content/common/appcache_interfaces.h"
21 #include "content/common/resource_messages.h" 20 #include "content/common/resource_messages.h"
22 #include "content/common/service_worker/service_worker_types.h" 21 #include "content/common/service_worker/service_worker_types.h"
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 ResourceMsg_ReceivedResponse(request_id, head))); 268 ResourceMsg_ReceivedResponse(request_id, head)));
270 } 269 }
271 270
272 void NotifySetDataBuffer(int request_id, size_t buffer_size) { 271 void NotifySetDataBuffer(int request_id, size_t buffer_size) {
273 base::SharedMemory* shared_memory = new base::SharedMemory(); 272 base::SharedMemory* shared_memory = new base::SharedMemory();
274 ASSERT_FALSE(shared_memory_map_[request_id]); 273 ASSERT_FALSE(shared_memory_map_[request_id]);
275 shared_memory_map_[request_id] = shared_memory; 274 shared_memory_map_[request_id] = shared_memory;
276 EXPECT_TRUE(shared_memory->CreateAndMapAnonymous(buffer_size)); 275 EXPECT_TRUE(shared_memory->CreateAndMapAnonymous(buffer_size));
277 276
278 base::SharedMemoryHandle duplicate_handle; 277 base::SharedMemoryHandle duplicate_handle;
279 EXPECT_TRUE(shared_memory->ShareToProcess( 278 EXPECT_TRUE(shared_memory->ShareToProcess(base::GetCurrentProcessHandle(),
280 base::Process::Current().handle(), &duplicate_handle)); 279 &duplicate_handle));
281 EXPECT_TRUE(dispatcher_.OnMessageReceived( 280 EXPECT_TRUE(dispatcher_.OnMessageReceived(
282 ResourceMsg_SetDataBuffer(request_id, duplicate_handle, 281 ResourceMsg_SetDataBuffer(request_id, duplicate_handle,
283 shared_memory->requested_size(), 0))); 282 shared_memory->requested_size(), 0)));
284 } 283 }
285 284
286 void NotifyDataReceived(int request_id, std::string data) { 285 void NotifyDataReceived(int request_id, std::string data) {
287 ASSERT_LE(data.length(), shared_memory_map_[request_id]->requested_size()); 286 ASSERT_LE(data.length(), shared_memory_map_[request_id]->requested_size());
288 memcpy(shared_memory_map_[request_id]->memory(), data.c_str(), 287 memcpy(shared_memory_map_[request_id]->memory(), data.c_str(),
289 data.length()); 288 data.length());
290 289
(...skipping 498 matching lines...) Expand 10 before | Expand all | Expand 10 after
789 ResourceResponseHead response_head; 788 ResourceResponseHead response_head;
790 789
791 PerformTest(response_head); 790 PerformTest(response_head);
792 791
793 EXPECT_EQ(base::TimeTicks(), response_info().load_timing.request_start); 792 EXPECT_EQ(base::TimeTicks(), response_info().load_timing.request_start);
794 EXPECT_EQ(base::TimeTicks(), 793 EXPECT_EQ(base::TimeTicks(),
795 response_info().load_timing.connect_timing.dns_start); 794 response_info().load_timing.connect_timing.dns_start);
796 } 795 }
797 796
798 } // namespace content 797 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698