summaryrefslogtreecommitdiffstats
path: root/content/common
diff options
context:
space:
mode:
authorjbauman@chromium.org <jbauman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-09 04:29:56 +0000
committerjbauman@chromium.org <jbauman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-09 04:29:56 +0000
commitf1970084eb384bcc34e34a363d48582aa4151ed8 (patch)
tree19721446a0b878a1a94be8917c32b26c8e19f45e /content/common
parent713f38789baaa60f453b2bf56782a5077744101b (diff)
downloadchromium_src-f1970084eb384bcc34e34a363d48582aa4151ed8.zip
chromium_src-f1970084eb384bcc34e34a363d48582aa4151ed8.tar.gz
chromium_src-f1970084eb384bcc34e34a363d48582aa4151ed8.tar.bz2
Use SharedBitmapManager to allocate software frames.
This reduces the number of ways to allocate cross-process bitmaps. BUG= Review URL: https://codereview.chromium.org/227703009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262620 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/common')
-rw-r--r--content/common/cc_messages.cc6
-rw-r--r--content/common/cc_messages_unittest.cc18
-rw-r--r--content/common/frame_param_macros.h1
3 files changed, 9 insertions, 16 deletions
diff --git a/content/common/cc_messages.cc b/content/common/cc_messages.cc
index 1e1e6df..6bca4e4 100644
--- a/content/common/cc_messages.cc
+++ b/content/common/cc_messages.cc
@@ -761,7 +761,7 @@ void ParamTraits<cc::SoftwareFrameData>::Write(Message* m,
WriteParam(m, p.id);
WriteParam(m, p.size);
WriteParam(m, p.damage_rect);
- WriteParam(m, p.handle);
+ WriteParam(m, p.bitmap_id);
}
bool ParamTraits<cc::SoftwareFrameData>::Read(const Message* m,
@@ -774,7 +774,7 @@ bool ParamTraits<cc::SoftwareFrameData>::Read(const Message* m,
return false;
if (!ReadParam(m, iter, &p->damage_rect))
return false;
- if (!ReadParam(m, iter, &p->handle))
+ if (!ReadParam(m, iter, &p->bitmap_id))
return false;
return true;
}
@@ -788,7 +788,7 @@ void ParamTraits<cc::SoftwareFrameData>::Log(const param_type& p,
l->append(", ");
LogParam(p.damage_rect, l);
l->append(", ");
- LogParam(p.handle, l);
+ LogParam(p.bitmap_id, l);
l->append(")");
}
diff --git a/content/common/cc_messages_unittest.cc b/content/common/cc_messages_unittest.cc
index 89f510d..09ad85c 100644
--- a/content/common/cc_messages_unittest.cc
+++ b/content/common/cc_messages_unittest.cc
@@ -753,11 +753,7 @@ TEST_F(CCMessagesTest, SoftwareFrameData) {
frame_in.id = 3;
frame_in.size = gfx::Size(40, 20);
frame_in.damage_rect = gfx::Rect(5, 18, 31, 44);
-#if defined(OS_WIN)
- frame_in.handle = reinterpret_cast<base::SharedMemoryHandle>(23);
-#elif defined(OS_POSIX)
- frame_in.handle = base::FileDescriptor(23, true);
-#endif
+ frame_in.bitmap_id = cc::SharedBitmap::GenerateId();
// Write the frame.
IPC::Message msg(1, 2, IPC::Message::PRIORITY_NORMAL);
@@ -771,7 +767,7 @@ TEST_F(CCMessagesTest, SoftwareFrameData) {
EXPECT_EQ(frame_in.id, frame_out.id);
EXPECT_EQ(frame_in.size.ToString(), frame_out.size.ToString());
EXPECT_EQ(frame_in.damage_rect.ToString(), frame_out.damage_rect.ToString());
- EXPECT_EQ(frame_in.handle, frame_out.handle);
+ EXPECT_EQ(frame_in.bitmap_id, frame_out.bitmap_id);
}
TEST_F(CCMessagesTest, SoftwareFrameDataMaxInt) {
@@ -779,11 +775,7 @@ TEST_F(CCMessagesTest, SoftwareFrameDataMaxInt) {
frame_in.id = 3;
frame_in.size = gfx::Size(40, 20);
frame_in.damage_rect = gfx::Rect(5, 18, 31, 44);
-#if defined(OS_WIN)
- frame_in.handle = reinterpret_cast<base::SharedMemoryHandle>(23);
-#elif defined(OS_POSIX)
- frame_in.handle = base::FileDescriptor(23, true);
-#endif
+ frame_in.bitmap_id = cc::SharedBitmap::GenerateId();
// Write the SoftwareFrameData by hand, make sure it works.
{
@@ -791,7 +783,7 @@ TEST_F(CCMessagesTest, SoftwareFrameDataMaxInt) {
IPC::WriteParam(&msg, frame_in.id);
IPC::WriteParam(&msg, frame_in.size);
IPC::WriteParam(&msg, frame_in.damage_rect);
- IPC::WriteParam(&msg, frame_in.handle);
+ IPC::WriteParam(&msg, frame_in.bitmap_id);
SoftwareFrameData frame_out;
PickleIterator iter(msg);
EXPECT_TRUE(
@@ -812,7 +804,7 @@ TEST_F(CCMessagesTest, SoftwareFrameDataMaxInt) {
IPC::WriteParam(&msg, frame_in.id);
IPC::WriteParam(&msg, frame_in.size);
IPC::WriteParam(&msg, frame_in.damage_rect);
- IPC::WriteParam(&msg, frame_in.handle);
+ IPC::WriteParam(&msg, frame_in.bitmap_id);
SoftwareFrameData frame_out;
PickleIterator iter(msg);
EXPECT_EQ(
diff --git a/content/common/frame_param_macros.h b/content/common/frame_param_macros.h
index 3f37975..023cfd6 100644
--- a/content/common/frame_param_macros.h
+++ b/content/common/frame_param_macros.h
@@ -35,6 +35,7 @@ IPC_STRUCT_BEGIN(FrameMsg_CompositorFrameSwapped_Params)
IPC_STRUCT_MEMBER(cc::CompositorFrame, frame)
IPC_STRUCT_MEMBER(uint32, output_surface_id)
+ IPC_STRUCT_MEMBER(base::SharedMemoryHandle, shared_memory_handle)
IPC_STRUCT_END()
IPC_STRUCT_BEGIN(FrameHostMsg_BuffersSwappedACK_Params)