summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorakalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-06 09:32:50 +0000
committerakalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-06 09:32:50 +0000
commit3c921389b75b82f6377775c7afc2f4af1b5b2c38 (patch)
tree8edf2a793e38b42aa7e348543cb5768297cc2ed1
parent1df57a559a81831936cf531976f7ad4609840e23 (diff)
downloadchromium_src-3c921389b75b82f6377775c7afc2f4af1b5b2c38.zip
chromium_src-3c921389b75b82f6377775c7afc2f4af1b5b2c38.tar.gz
chromium_src-3c921389b75b82f6377775c7afc2f4af1b5b2c38.tar.bz2
[Sync] Refactor JsArgList a bit.
Make JsArgList take over the data of its constructor argument, saving a copy. BUG=None TEST=None R=atwilson@chromium.org Review URL: http://codereview.chromium.org/6933040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84423 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/sync/engine/syncapi.cc18
-rw-r--r--chrome/browser/sync/engine/syncapi_unittest.cc14
-rw-r--r--chrome/browser/sync/js_arg_list.cc21
-rw-r--r--chrome/browser/sync/js_arg_list.h20
-rw-r--r--chrome/browser/sync/js_arg_list_unittest.cc34
-rw-r--r--chrome/browser/sync/js_event_handler_list_unittest.cc4
-rw-r--r--chrome/browser/sync/js_sync_manager_observer.cc19
-rw-r--r--chrome/browser/sync/js_test_util.cc4
-rw-r--r--chrome/browser/sync/profile_sync_service_unittest.cc12
-rw-r--r--chrome/browser/ui/webui/sync_internals_ui.cc5
-rw-r--r--chrome/browser/ui/webui/sync_internals_ui_unittest.cc8
11 files changed, 63 insertions, 96 deletions
diff --git a/chrome/browser/sync/engine/syncapi.cc b/chrome/browser/sync/engine/syncapi.cc
index f7df069..1efdb26 100644
--- a/chrome/browser/sync/engine/syncapi.cc
+++ b/chrome/browser/sync/engine/syncapi.cc
@@ -2631,7 +2631,7 @@ void SyncManager::SyncInternal::ProcessMessage(
ListValue return_args;
return_args.Append(Value::CreateBooleanValue(notifications_enabled));
parent_router_->RouteJsMessageReply(
- name, browser_sync::JsArgList(return_args), sender);
+ name, browser_sync::JsArgList(&return_args), sender);
} else if (name == "getNotificationInfo") {
if (!parent_router_) {
LogNoRouter(name, args);
@@ -2641,7 +2641,7 @@ void SyncManager::SyncInternal::ProcessMessage(
ListValue return_args;
return_args.Append(NotificationInfoToValue(notification_info_map_));
parent_router_->RouteJsMessageReply(
- name, browser_sync::JsArgList(return_args), sender);
+ name, browser_sync::JsArgList(&return_args), sender);
} else if (name == "getRootNode") {
if (!parent_router_) {
LogNoRouter(name, args);
@@ -2653,7 +2653,7 @@ void SyncManager::SyncInternal::ProcessMessage(
ListValue return_args;
return_args.Append(root.ToValue());
parent_router_->RouteJsMessageReply(
- name, browser_sync::JsArgList(return_args), sender);
+ name, browser_sync::JsArgList(&return_args), sender);
} else if (name == "getNodeById") {
if (!parent_router_) {
LogNoRouter(name, args);
@@ -2678,7 +2678,7 @@ browser_sync::JsArgList SyncManager::SyncInternal::ProcessGetNodeByIdMessage(
const browser_sync::JsArgList& args) {
ListValue null_return_args_list;
null_return_args_list.Append(Value::CreateNullValue());
- browser_sync::JsArgList null_return_args(null_return_args_list);
+ browser_sync::JsArgList null_return_args(&null_return_args_list);
std::string id_str;
if (!args.Get().GetString(0, &id_str)) {
return null_return_args;
@@ -2697,7 +2697,7 @@ browser_sync::JsArgList SyncManager::SyncInternal::ProcessGetNodeByIdMessage(
}
ListValue return_args;
return_args.Append(node.ToValue());
- return browser_sync::JsArgList(return_args);
+ return browser_sync::JsArgList(&return_args);
}
browser_sync::JsArgList SyncManager::SyncInternal::
@@ -2707,12 +2707,12 @@ browser_sync::JsArgList SyncManager::SyncInternal::
ListValue return_args;
if (!args.Get().GetString(0, &query)) {
return_args.Append(new ListValue());
- return browser_sync::JsArgList(return_args);
+ return browser_sync::JsArgList(&return_args);
}
ListValue* result = FindNodesContainingString(query);
return_args.Append(result);
- return browser_sync::JsArgList(return_args);
+ return browser_sync::JsArgList(&return_args);
}
void SyncManager::SyncInternal::OnNotificationStateChange(
@@ -2728,7 +2728,7 @@ void SyncManager::SyncInternal::OnNotificationStateChange(
args.Append(Value::CreateBooleanValue(notifications_enabled));
// TODO(akalin): Tidy up grammar in event names.
parent_router_->RouteJsEvent("onSyncNotificationStateChange",
- browser_sync::JsArgList(args));
+ browser_sync::JsArgList(&args));
}
}
@@ -2769,7 +2769,7 @@ void SyncManager::SyncInternal::OnIncomingNotification(
changed_types->Append(Value::CreateStringValue(model_type_str));
}
parent_router_->RouteJsEvent("onSyncIncomingNotification",
- browser_sync::JsArgList(args));
+ browser_sync::JsArgList(&args));
}
}
diff --git a/chrome/browser/sync/engine/syncapi_unittest.cc b/chrome/browser/sync/engine/syncapi_unittest.cc
index 6ccf8f0..c923d5a 100644
--- a/chrome/browser/sync/engine/syncapi_unittest.cc
+++ b/chrome/browser/sync/engine/syncapi_unittest.cc
@@ -906,7 +906,7 @@ TEST_F(SyncManagerTest, ProcessMessageGetNodeById) {
{
ListValue args;
args.Append(Value::CreateStringValue("1"));
- js_backend->ProcessMessage("getNodeById", JsArgList(args), &event_handler);
+ js_backend->ProcessMessage("getNodeById", JsArgList(&args), &event_handler);
}
CheckGetNodeByIdReturnArgs(sync_manager_, return_args, 1);
@@ -915,7 +915,7 @@ TEST_F(SyncManagerTest, ProcessMessageGetNodeById) {
{
ListValue args;
args.Append(Value::CreateStringValue(base::Int64ToString(child_id)));
- js_backend->ProcessMessage("getNodeById", JsArgList(args), &event_handler);
+ js_backend->ProcessMessage("getNodeById", JsArgList(&args), &event_handler);
}
CheckGetNodeByIdReturnArgs(sync_manager_, return_args, child_id);
@@ -941,31 +941,31 @@ TEST_F(SyncManagerTest, ProcessMessageGetNodeByIdFailure) {
{
ListValue args;
- js_backend->ProcessMessage("getNodeById", JsArgList(args), &event_handler);
+ js_backend->ProcessMessage("getNodeById", JsArgList(&args), &event_handler);
}
{
ListValue args;
args.Append(Value::CreateStringValue(""));
- js_backend->ProcessMessage("getNodeById", JsArgList(args), &event_handler);
+ js_backend->ProcessMessage("getNodeById", JsArgList(&args), &event_handler);
}
{
ListValue args;
args.Append(Value::CreateStringValue("nonsense"));
- js_backend->ProcessMessage("getNodeById", JsArgList(args), &event_handler);
+ js_backend->ProcessMessage("getNodeById", JsArgList(&args), &event_handler);
}
{
ListValue args;
args.Append(Value::CreateStringValue("nonsense"));
- js_backend->ProcessMessage("getNodeById", JsArgList(args), &event_handler);
+ js_backend->ProcessMessage("getNodeById", JsArgList(&args), &event_handler);
}
{
ListValue args;
args.Append(Value::CreateStringValue("0"));
- js_backend->ProcessMessage("getNodeById", JsArgList(args), &event_handler);
+ js_backend->ProcessMessage("getNodeById", JsArgList(&args), &event_handler);
}
// TODO(akalin): Figure out how to test InitByIdLookup() failure.
diff --git a/chrome/browser/sync/js_arg_list.cc b/chrome/browser/sync/js_arg_list.cc
index a3e4e33..3695968 100644
--- a/chrome/browser/sync/js_arg_list.cc
+++ b/chrome/browser/sync/js_arg_list.cc
@@ -5,16 +5,12 @@
#include "chrome/browser/sync/js_arg_list.h"
#include "base/json/json_writer.h"
-#include "base/memory/scoped_ptr.h"
namespace browser_sync {
JsArgList::JsArgList() : args_(new SharedListValue()) {}
-JsArgList::JsArgList(const ListValue& args)
- : args_(new SharedListValue(args)) {}
-
-JsArgList::JsArgList(const std::vector<const Value*>& args)
+JsArgList::JsArgList(ListValue* args)
: args_(new SharedListValue(args)) {}
JsArgList::~JsArgList() {}
@@ -31,19 +27,8 @@ std::string JsArgList::ToString() const {
JsArgList::SharedListValue::SharedListValue() {}
-JsArgList::SharedListValue::SharedListValue(const ListValue& list_value) {
- // Go through contortions to copy the list since ListValues are not
- // copyable.
- scoped_ptr<ListValue> list_value_copy(list_value.DeepCopy());
- list_value_.Swap(list_value_copy.get());
-}
-
-JsArgList::SharedListValue::SharedListValue(
- const std::vector<const Value*>& value_list) {
- for (std::vector<const Value*>::const_iterator it = value_list.begin();
- it != value_list.end(); ++it) {
- list_value_.Append((*it)->DeepCopy());
- }
+JsArgList::SharedListValue::SharedListValue(ListValue* list_value) {
+ list_value_.Swap(list_value);
}
const ListValue& JsArgList::SharedListValue::Get() const {
diff --git a/chrome/browser/sync/js_arg_list.h b/chrome/browser/sync/js_arg_list.h
index 90c1f0f..878ec39 100644
--- a/chrome/browser/sync/js_arg_list.h
+++ b/chrome/browser/sync/js_arg_list.h
@@ -16,38 +16,40 @@
namespace browser_sync {
-// A thread-safe ref-counted wrapper around an immutable ListValue.
-// Used for passing around argument lists to different threads.
+// A thread-safe wrapper around an immutable ListValue. Used for
+// passing around argument lists to different threads.
class JsArgList {
public:
+ // Uses an empty argument list.
JsArgList();
- explicit JsArgList(const ListValue& args);
- explicit JsArgList(const std::vector<const Value*>& args);
+
+ // Takes over the data in |args|, leaving |args| empty.
+ explicit JsArgList(ListValue* args);
+
~JsArgList();
const ListValue& Get() const;
std::string ToString() const;
+ // Copy constructor and assignment operator welcome.
+
private:
class SharedListValue : public base::RefCountedThreadSafe<SharedListValue> {
public:
SharedListValue();
- explicit SharedListValue(const ListValue& list_value);
- explicit SharedListValue(const std::vector<const Value*>& value_list);
+ explicit SharedListValue(ListValue* list_value);
const ListValue& Get() const;
private:
- virtual ~SharedListValue();
+ ~SharedListValue();
friend class base::RefCountedThreadSafe<SharedListValue>;
ListValue list_value_;
};
scoped_refptr<const SharedListValue> args_;
-
- // Copy constructor and assignment operator welcome.
};
} // namespace browser_sync
diff --git a/chrome/browser/sync/js_arg_list_unittest.cc b/chrome/browser/sync/js_arg_list_unittest.cc
index beed519..5d327c1 100644
--- a/chrome/browser/sync/js_arg_list_unittest.cc
+++ b/chrome/browser/sync/js_arg_list_unittest.cc
@@ -26,37 +26,13 @@ TEST_F(JsArgListTest, FromList) {
dict->SetString("foo", "bar");
dict->Set("baz", new ListValue());
- JsArgList arg_list(*list);
-
- // Make sure arg_list takes a deep copy.
scoped_ptr<ListValue> list_copy(list->DeepCopy());
- list.reset();
- EXPECT_TRUE(arg_list.Get().Equals(list_copy.get()));
-}
-TEST_F(JsArgListTest, FromVector) {
- FundamentalValue bool_value(false);
- FundamentalValue int_value(5);
- DictionaryValue dict;
- dict.SetString("foo", "bar");
- dict.Set("baz", new ListValue());
-
- std::vector<const Value*> vec;
- vec.push_back(&bool_value);
- vec.push_back(&int_value);
- vec.push_back(&dict);
-
- JsArgList arg_list(vec);
-
- ListValue list;
- list.Append(bool_value.DeepCopy());
- list.Append(int_value.DeepCopy());
- list.Append(dict.DeepCopy());
-
- // Make sure arg_list takes a deep copy.
- vec.clear();
- dict.SetString("baz", "foo");
- EXPECT_TRUE(arg_list.Get().Equals(&list));
+ JsArgList arg_list(list.get());
+
+ // |arg_list| should take over |list|'s data.
+ EXPECT_TRUE(list->empty());
+ EXPECT_TRUE(arg_list.Get().Equals(list_copy.get()));
}
} // namespace
diff --git a/chrome/browser/sync/js_event_handler_list_unittest.cc b/chrome/browser/sync/js_event_handler_list_unittest.cc
index fee0dc3..52f0265 100644
--- a/chrome/browser/sync/js_event_handler_list_unittest.cc
+++ b/chrome/browser/sync/js_event_handler_list_unittest.cc
@@ -26,7 +26,7 @@ TEST_F(JsEventHandlerListTest, Basic) {
ListValue arg_list1, arg_list2;
arg_list1.Append(Value::CreateBooleanValue(false));
arg_list2.Append(Value::CreateIntegerValue(5));
- JsArgList args1(arg_list1), args2(arg_list2);
+ JsArgList args1(&arg_list1), args2(&arg_list2);
StrictMock<MockJsEventHandler> handler1, handler2;
@@ -84,7 +84,7 @@ TEST_F(JsEventHandlerListTest, QueuedMessages) {
ListValue arg_list1, arg_list2;
arg_list1.Append(Value::CreateBooleanValue(false));
arg_list2.Append(Value::CreateIntegerValue(5));
- JsArgList args1(arg_list1), args2(arg_list2);
+ JsArgList args1(&arg_list1), args2(&arg_list2);
StrictMock<MockJsEventHandler> handler1, handler2;
diff --git a/chrome/browser/sync/js_sync_manager_observer.cc b/chrome/browser/sync/js_sync_manager_observer.cc
index a58c586..39bf4eb 100644
--- a/chrome/browser/sync/js_sync_manager_observer.cc
+++ b/chrome/browser/sync/js_sync_manager_observer.cc
@@ -35,7 +35,7 @@ void JsSyncManagerObserver::OnChangesApplied(
for (int i = 0; i < change_count; ++i) {
change_values->Append(changes[i].ToValue(trans));
}
- parent_router_->RouteJsEvent("onChangesApplied", JsArgList(return_args));
+ parent_router_->RouteJsEvent("onChangesApplied", JsArgList(&return_args));
}
void JsSyncManagerObserver::OnChangesComplete(
@@ -43,27 +43,28 @@ void JsSyncManagerObserver::OnChangesComplete(
ListValue return_args;
return_args.Append(Value::CreateStringValue(
syncable::ModelTypeToString(model_type)));
- parent_router_->RouteJsEvent("onChangesComplete", JsArgList(return_args));
+ parent_router_->RouteJsEvent("onChangesComplete", JsArgList(&return_args));
}
void JsSyncManagerObserver::OnSyncCycleCompleted(
const sessions::SyncSessionSnapshot* snapshot) {
ListValue return_args;
return_args.Append(snapshot->ToValue());
- parent_router_->RouteJsEvent("onSyncCycleCompleted", JsArgList(return_args));
+ parent_router_->RouteJsEvent("onSyncCycleCompleted",
+ JsArgList(&return_args));
}
void JsSyncManagerObserver::OnAuthError(
const GoogleServiceAuthError& auth_error) {
ListValue return_args;
return_args.Append(auth_error.ToValue());
- parent_router_->RouteJsEvent("onAuthError", JsArgList(return_args));
+ parent_router_->RouteJsEvent("onAuthError", JsArgList(&return_args));
}
void JsSyncManagerObserver::OnUpdatedToken(const std::string& token) {
ListValue return_args;
return_args.Append(Value::CreateStringValue("<redacted>"));
- parent_router_->RouteJsEvent("onUpdatedToken", JsArgList(return_args));
+ parent_router_->RouteJsEvent("onUpdatedToken", JsArgList(&return_args));
}
void JsSyncManagerObserver::OnPassphraseRequired(
@@ -73,7 +74,7 @@ void JsSyncManagerObserver::OnPassphraseRequired(
return_args.Append(Value::CreateStringValue(
sync_api::PassphraseRequiredReasonToString(reason)));
parent_router_->RouteJsEvent("onPassphraseRequired",
- JsArgList(return_args));
+ JsArgList(&return_args));
}
void JsSyncManagerObserver::OnPassphraseAccepted(
@@ -81,7 +82,7 @@ void JsSyncManagerObserver::OnPassphraseAccepted(
ListValue return_args;
return_args.Append(Value::CreateStringValue("<redacted>"));
parent_router_->RouteJsEvent("onPassphraseAccepted",
- JsArgList(return_args));
+ JsArgList(&return_args));
}
void JsSyncManagerObserver::OnEncryptionComplete(
@@ -89,7 +90,7 @@ void JsSyncManagerObserver::OnEncryptionComplete(
ListValue return_args;
return_args.Append(syncable::ModelTypeSetToValue(encrypted_types));
parent_router_->RouteJsEvent("onEncryptionComplete",
- JsArgList(return_args));
+ JsArgList(&return_args));
}
void JsSyncManagerObserver::OnMigrationNeededForTypes(
@@ -97,7 +98,7 @@ void JsSyncManagerObserver::OnMigrationNeededForTypes(
ListValue return_args;
return_args.Append(syncable::ModelTypeSetToValue(types));
parent_router_->RouteJsEvent("onMigrationNeededForTypes",
- JsArgList(return_args));
+ JsArgList(&return_args));
}
void JsSyncManagerObserver::OnInitializationComplete() {
diff --git a/chrome/browser/sync/js_test_util.cc b/chrome/browser/sync/js_test_util.cc
index bd4f9c0..1d8d329 100644
--- a/chrome/browser/sync/js_test_util.cc
+++ b/chrome/browser/sync/js_test_util.cc
@@ -5,6 +5,7 @@
#include "chrome/browser/sync/js_test_util.h"
#include "base/basictypes.h"
+#include "base/memory/scoped_ptr.h"
#include "chrome/browser/sync/js_arg_list.h"
namespace browser_sync {
@@ -53,7 +54,8 @@ class HasArgsMatcher
::testing::Matcher<const JsArgList&> HasArgsAsList(
const ListValue& expected_args) {
- return HasArgs(JsArgList(expected_args));
+ scoped_ptr<ListValue> expected_args_copy(expected_args.DeepCopy());
+ return HasArgs(JsArgList(expected_args_copy.get()));
}
MockJsBackend::MockJsBackend() {}
diff --git a/chrome/browser/sync/profile_sync_service_unittest.cc b/chrome/browser/sync/profile_sync_service_unittest.cc
index 69502a7..80ac89a 100644
--- a/chrome/browser/sync/profile_sync_service_unittest.cc
+++ b/chrome/browser/sync/profile_sync_service_unittest.cc
@@ -221,21 +221,21 @@ TEST_F(ProfileSyncServiceTest, JsFrontendProcessMessageBasic) {
ListValue arg_list1;
arg_list1.Append(Value::CreateBooleanValue(true));
arg_list1.Append(Value::CreateIntegerValue(5));
- JsArgList args1(arg_list1);
+ JsArgList args1(&arg_list1);
EXPECT_CALL(event_handler,
HandleJsMessageReply("testMessage1", HasArgs(args1)));
ListValue arg_list2;
arg_list2.Append(Value::CreateStringValue("test"));
arg_list2.Append(arg_list1.DeepCopy());
- JsArgList args2(arg_list2);
+ JsArgList args2(&arg_list2);
EXPECT_CALL(event_handler,
HandleJsMessageReply("delayTestMessage2", HasArgs(args2)));
ListValue arg_list3;
arg_list3.Append(arg_list1.DeepCopy());
arg_list3.Append(arg_list2.DeepCopy());
- JsArgList args3(arg_list3);
+ JsArgList args3(&arg_list3);
JsFrontend* js_backend = service_->GetJsFrontend();
@@ -280,21 +280,21 @@ TEST_F(ProfileSyncServiceTest,
ListValue arg_list1;
arg_list1.Append(Value::CreateBooleanValue(true));
arg_list1.Append(Value::CreateIntegerValue(5));
- JsArgList args1(arg_list1);
+ JsArgList args1(&arg_list1);
EXPECT_CALL(event_handler,
HandleJsMessageReply("testMessage1", HasArgs(args1)));
ListValue arg_list2;
arg_list2.Append(Value::CreateStringValue("test"));
arg_list2.Append(arg_list1.DeepCopy());
- JsArgList args2(arg_list2);
+ JsArgList args2(&arg_list2);
EXPECT_CALL(event_handler,
HandleJsMessageReply("testMessage2", HasArgs(args2)));
ListValue arg_list3;
arg_list3.Append(arg_list1.DeepCopy());
arg_list3.Append(arg_list2.DeepCopy());
- JsArgList args3(arg_list3);
+ JsArgList args3(&arg_list3);
EXPECT_CALL(event_handler,
HandleJsMessageReply("delayTestMessage3", HasArgs(args3)));
diff --git a/chrome/browser/ui/webui/sync_internals_ui.cc b/chrome/browser/ui/webui/sync_internals_ui.cc
index e1f88af..10102be 100644
--- a/chrome/browser/ui/webui/sync_internals_ui.cc
+++ b/chrome/browser/ui/webui/sync_internals_ui.cc
@@ -45,7 +45,8 @@ SyncInternalsUI::~SyncInternalsUI() {
void SyncInternalsUI::OnWebUISend(const GURL& source_url,
const std::string& name,
const ListValue& content) {
- browser_sync::JsArgList args(content);
+ scoped_ptr<ListValue> content_copy(content.DeepCopy());
+ browser_sync::JsArgList args(content_copy.get());
VLOG(1) << "Received message: " << name << " with args "
<< args.ToString();
// We handle this case directly because it needs to work even if
@@ -56,7 +57,7 @@ void SyncInternalsUI::OnWebUISend(const GURL& source_url,
args.Append(about_info);
ProfileSyncService* service = GetProfile()->GetProfileSyncService();
sync_ui_util::ConstructAboutInformation(service, about_info);
- HandleJsMessageReply(name, browser_sync::JsArgList(args));
+ HandleJsMessageReply(name, browser_sync::JsArgList(&args));
} else {
browser_sync::JsFrontend* backend = GetJsFrontend();
if (backend) {
diff --git a/chrome/browser/ui/webui/sync_internals_ui_unittest.cc b/chrome/browser/ui/webui/sync_internals_ui_unittest.cc
index 0ae2436..dab0b3e 100644
--- a/chrome/browser/ui/webui/sync_internals_ui_unittest.cc
+++ b/chrome/browser/ui/webui/sync_internals_ui_unittest.cc
@@ -144,7 +144,7 @@ TEST_F(SyncInternalsUITest, HandleJsEvent) {
ListValue args;
args.Append(Value::CreateIntegerValue(5));
args.Append(Value::CreateBooleanValue(true));
- GetTestSyncInternalsUI()->HandleJsEvent("testMessage", JsArgList(args));
+ GetTestSyncInternalsUI()->HandleJsEvent("testMessage", JsArgList(&args));
}
TEST_F(SyncInternalsUITest, HandleJsEventNullService) {
@@ -159,7 +159,7 @@ TEST_F(SyncInternalsUITest, HandleJsEventNullService) {
ListValue args;
args.Append(Value::CreateIntegerValue(5));
args.Append(Value::CreateBooleanValue(true));
- GetTestSyncInternalsUI()->HandleJsEvent("testMessage", JsArgList(args));
+ GetTestSyncInternalsUI()->HandleJsEvent("testMessage", JsArgList(&args));
}
TEST_F(SyncInternalsUITest, HandleJsMessageReply) {
@@ -176,7 +176,7 @@ TEST_F(SyncInternalsUITest, HandleJsMessageReply) {
args.Append(Value::CreateIntegerValue(5));
args.Append(Value::CreateBooleanValue(true));
GetTestSyncInternalsUI()->HandleJsMessageReply(
- "testMessage", JsArgList(args));
+ "testMessage", JsArgList(&args));
}
TEST_F(SyncInternalsUITest, HandleJsMessageReplyNullService) {
@@ -193,7 +193,7 @@ TEST_F(SyncInternalsUITest, HandleJsMessageReplyNullService) {
args.Append(Value::CreateIntegerValue(5));
args.Append(Value::CreateBooleanValue(true));
GetTestSyncInternalsUI()->HandleJsMessageReply(
- "testMessage", JsArgList(args));
+ "testMessage", JsArgList(&args));
}
TEST_F(SyncInternalsUITest, OnWebUISendBasic) {