diff options
author | Andras Becsi <andras.becsi@digia.com> | 2013-12-11 21:33:03 +0100 |
---|---|---|
committer | Andras Becsi <andras.becsi@digia.com> | 2013-12-13 12:34:07 +0100 |
commit | f2a33ff9cbc6d19943f1c7fbddd1f23d23975577 (patch) | |
tree | 0586a32aa390ade8557dfd6b4897f43a07449578 /chromium/ppapi/shared_impl/unittest_utils.cc | |
parent | 5362912cdb5eea702b68ebe23702468d17c3017a (diff) | |
download | qtwebengine-chromium-f2a33ff9cbc6d19943f1c7fbddd1f23d23975577.tar.gz |
Update Chromium to branch 1650 (31.0.1650.63)
Change-Id: I57d8c832eaec1eb2364e0a8e7352a6dd354db99f
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Diffstat (limited to 'chromium/ppapi/shared_impl/unittest_utils.cc')
-rw-r--r-- | chromium/ppapi/shared_impl/unittest_utils.cc | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/chromium/ppapi/shared_impl/unittest_utils.cc b/chromium/ppapi/shared_impl/unittest_utils.cc index f5d064b4db6..6974bd20b3f 100644 --- a/chromium/ppapi/shared_impl/unittest_utils.cc +++ b/chromium/ppapi/shared_impl/unittest_utils.cc @@ -8,8 +8,10 @@ #include "base/containers/hash_tables.h" #include "base/logging.h" +#include "ipc/ipc_message.h" #include "ppapi/shared_impl/array_var.h" #include "ppapi/shared_impl/dictionary_var.h" +#include "ppapi/shared_impl/resource_var.h" #include "ppapi/shared_impl/var.h" #include "ppapi/shared_impl/var_tracker.h" @@ -151,6 +153,42 @@ bool Equals(const PP_Var& expected, } return true; } + case PP_VARTYPE_RESOURCE: { + ResourceVar* expected_var = ResourceVar::FromPPVar(expected); + ResourceVar* actual_var = ResourceVar::FromPPVar(actual); + DCHECK(expected_var && actual_var); + if (expected_var->GetPPResource() != actual_var->GetPPResource()) { + LOG(ERROR) << "expected: " << expected_var->GetPPResource() + << " actual: " << actual_var->GetPPResource(); + return false; + } + + const IPC::Message* actual_message = actual_var->GetCreationMessage(); + const IPC::Message* expected_message = + expected_var->GetCreationMessage(); + if (expected_message->size() != actual_message->size()) { + LOG(ERROR) << "expected creation message size: " + << expected_message->size() << " actual: " + << actual_message->size(); + return false; + } + + // Set the upper 24 bits of actual creation_message flags to the same as + // expected. This is an unpredictable reference number that changes + // between serialization/deserialization, and we do not want it to cause + // the comparison to fail. + IPC::Message local_actual_message(*actual_message); + local_actual_message.SetHeaderValues( + actual_message->routing_id(), actual_message->type(), + (expected_message->flags() & 0xffffff00) | + (actual_message->flags() & 0xff)); + if (memcmp(expected_message->data(), local_actual_message.data(), + expected_message->size()) != 0) { + LOG(ERROR) << "expected creation message does not match actual."; + return false; + } + return true; + } } NOTREACHED(); return false; |