diff options
author | piman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-07 05:33:41 +0000 |
---|---|---|
committer | piman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-07 05:33:41 +0000 |
commit | 8a19b5acd2bcc8e1e11643786d8ac830867ef3f5 (patch) | |
tree | e90965dc48e5d7f9b407354ae5ed6903accf3227 /gpu | |
parent | e652df3e915ab9720480158f261a285e4a696a77 (diff) | |
download | chromium_src-8a19b5acd2bcc8e1e11643786d8ac830867ef3f5.zip chromium_src-8a19b5acd2bcc8e1e11643786d8ac830867ef3f5.tar.gz chromium_src-8a19b5acd2bcc8e1e11643786d8ac830867ef3f5.tar.bz2 |
Use gpu::Mailbox in IPCs instead of std::string
gpu::Mailbox is safer since the size is checked in the deserializer. It's also
overall less code.
BUG=None
Review URL: https://chromiumcodereview.appspot.com/12440005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186627 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu')
-rw-r--r-- | gpu/command_buffer/service/mailbox_manager.cc | 5 | ||||
-rw-r--r-- | gpu/command_buffer/service/mailbox_manager.h | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/gpu/command_buffer/service/mailbox_manager.cc b/gpu/command_buffer/service/mailbox_manager.cc index 9019393..ccc48eb 100644 --- a/gpu/command_buffer/service/mailbox_manager.cc +++ b/gpu/command_buffer/service/mailbox_manager.cc @@ -8,6 +8,7 @@ #include "base/rand_util.h" #include "crypto/hmac.h" +#include "gpu/command_buffer/common/mailbox.h" #include "gpu/command_buffer/service/gl_utils.h" #include "gpu/command_buffer/service/texture_definition.h" @@ -19,6 +20,10 @@ MailboxName::MailboxName() { std::fill(signature, signature + sizeof(signature), 0); } +MailboxName::MailboxName(const ::gpu::Mailbox& mailbox) { + std::copy(mailbox.name, mailbox.name + sizeof(mailbox.name), key); +} + MailboxManager::MailboxManager() : hmac_(crypto::HMAC::SHA256), textures_(std::ptr_fun(&MailboxManager::TargetNameLess)) { diff --git a/gpu/command_buffer/service/mailbox_manager.h b/gpu/command_buffer/service/mailbox_manager.h index 8f97dd4..85a5ec0 100644 --- a/gpu/command_buffer/service/mailbox_manager.h +++ b/gpu/command_buffer/service/mailbox_manager.h @@ -22,6 +22,9 @@ typedef signed char GLbyte; namespace gpu { + +struct Mailbox; + namespace gles2 { class TextureDefinition; @@ -32,6 +35,7 @@ class TextureManager; // group. It is a random key signed with a hash of a private key. struct GPU_EXPORT MailboxName { MailboxName(); + explicit MailboxName(const ::gpu::Mailbox& mailbox); GLbyte key[GL_MAILBOX_SIZE_CHROMIUM / 2]; GLbyte signature[GL_MAILBOX_SIZE_CHROMIUM / 2]; }; |