1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "chrome/browser/extensions/api/idltest/idltest_api.h"
7 #include "base/values.h"
9 using base::BinaryValue
;
13 base::ListValue
* CopyBinaryValueToIntegerList(const BinaryValue
* input
) {
14 base::ListValue
* output
= new base::ListValue();
15 const char* input_buffer
= input
->GetBuffer();
16 for (size_t i
= 0; i
< input
->GetSize(); i
++) {
17 output
->Append(new base::FundamentalValue(input_buffer
[i
]));
24 bool IdltestSendArrayBufferFunction::RunSync() {
25 BinaryValue
* input
= NULL
;
26 EXTENSION_FUNCTION_VALIDATE(args_
!= NULL
&& args_
->GetBinary(0, &input
));
27 SetResult(CopyBinaryValueToIntegerList(input
));
31 bool IdltestSendArrayBufferViewFunction::RunSync() {
32 BinaryValue
* input
= NULL
;
33 EXTENSION_FUNCTION_VALIDATE(args_
!= NULL
&& args_
->GetBinary(0, &input
));
34 SetResult(CopyBinaryValueToIntegerList(input
));
38 bool IdltestGetArrayBufferFunction::RunSync() {
39 std::string hello
= "hello world";
41 BinaryValue::CreateWithCopiedBuffer(hello
.c_str(), hello
.size());