summaryrefslogtreecommitdiffstats
path: root/chrome/common/resource_dispatcher_unittest.cc
diff options
context:
space:
mode:
authorapatrick@google.com <apatrick@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-30 23:32:49 +0000
committerapatrick@google.com <apatrick@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-30 23:32:49 +0000
commita68114f7be41610ed7fd4a85de6b76a47cfb4b1b (patch)
tree22ffadafb2213fa7cc04884e8d99c3b4b5a36f77 /chrome/common/resource_dispatcher_unittest.cc
parent220d58ef0334c3ed9a8dc5d44fc9c3a920dcb3a2 (diff)
downloadchromium_src-a68114f7be41610ed7fd4a85de6b76a47cfb4b1b.zip
chromium_src-a68114f7be41610ed7fd4a85de6b76a47cfb4b1b.tar.gz
chromium_src-a68114f7be41610ed7fd4a85de6b76a47cfb4b1b.tar.bz2
Changed AudioRendererImplTest and DeferredResourceLoadingTest tests so they duplicate the shared memory before passing it to another object that takes ownership. Prevents same handle from being closed twice.
TEST=none BUG=none Review URL: http://codereview.chromium.org/449026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33372 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/resource_dispatcher_unittest.cc')
-rw-r--r--chrome/common/resource_dispatcher_unittest.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/chrome/common/resource_dispatcher_unittest.cc b/chrome/common/resource_dispatcher_unittest.cc
index ab12eea..67b9351 100644
--- a/chrome/common/resource_dispatcher_unittest.cc
+++ b/chrome/common/resource_dispatcher_unittest.cc
@@ -7,6 +7,7 @@
#include "base/message_loop.h"
#include "base/process.h"
+#include "base/process_util.h"
#include "base/scoped_ptr.h"
#include "chrome/common/filter_policy.h"
#include "chrome/common/render_messages.h"
@@ -226,8 +227,14 @@ class DeferredResourceLoadingTest : public ResourceDispatcherTest,
delete response_message;
+ // Duplicate the shared memory handle so both the test and the callee can
+ // close their copy.
+ base::SharedMemoryHandle duplicated_handle;
+ EXPECT_TRUE(shared_handle_.ShareToProcess(base::GetCurrentProcessHandle(),
+ &duplicated_handle));
+
response_message =
- new ViewMsg_Resource_DataReceived(0, 0, shared_handle_.handle(), 100);
+ new ViewMsg_Resource_DataReceived(0, 0, duplicated_handle, 100);
dispatcher_->OnMessageReceived(*response_message);