diff options
author | jbauman@chromium.org <jbauman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-09 04:29:56 +0000 |
---|---|---|
committer | jbauman@chromium.org <jbauman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-04-09 04:29:56 +0000 |
commit | f1970084eb384bcc34e34a363d48582aa4151ed8 (patch) | |
tree | 19721446a0b878a1a94be8917c32b26c8e19f45e /content/common | |
parent | 713f38789baaa60f453b2bf56782a5077744101b (diff) | |
download | chromium_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.cc | 6 | ||||
-rw-r--r-- | content/common/cc_messages_unittest.cc | 18 | ||||
-rw-r--r-- | content/common/frame_param_macros.h | 1 |
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) |