diff options
-rw-r--r-- | device/serial/BUILD.gn | 6 | ||||
-rw-r--r-- | device/serial/serial.gyp | 27 | ||||
-rw-r--r-- | extensions/BUILD.gn | 4 | ||||
-rw-r--r-- | extensions/extensions.gyp | 1 | ||||
-rw-r--r-- | extensions/extensions_resources.gyp | 6 | ||||
-rw-r--r-- | extensions/renderer/api/serial/DEPS | 3 | ||||
-rw-r--r-- | extensions/renderer/api/serial/serial_api_unittest.cc | 65 | ||||
-rw-r--r-- | extensions/renderer/resources/binding.js | 19 | ||||
-rw-r--r-- | extensions/renderer/resources/extensions_renderer_resources.grd | 3 | ||||
-rw-r--r-- | extensions/renderer/resources/serial_custom_bindings.js | 30 | ||||
-rw-r--r-- | extensions/renderer/resources/serial_service.js | 42 | ||||
-rw-r--r-- | extensions/test/data/serial_unittest.js | 24 |
12 files changed, 8 insertions, 222 deletions
diff --git a/device/serial/BUILD.gn b/device/serial/BUILD.gn index 7797c3f..9250c9f 100644 --- a/device/serial/BUILD.gn +++ b/device/serial/BUILD.gn @@ -54,12 +54,8 @@ static_library("test_util") { ] } -# GYP version: device/serial/serial.gyp:device_serial_mojo mojom("serial_mojo") { - visibility = [ - ":serial", - "//extensions:extensions_renderer_resources_grit", - ] + visibility = ":serial" sources = [ "serial.mojom", diff --git a/device/serial/serial.gyp b/device/serial/serial.gyp index 676d10e..dec3102 100644 --- a/device/serial/serial.gyp +++ b/device/serial/serial.gyp @@ -8,26 +8,11 @@ }, 'targets': [ { - # GN version: //device/serial:serial_mojo - 'target_name': 'device_serial_mojo', - # The type of this target must be none. This is so that resources can - # depend upon this target for generating the js bindings files. Any - # generated cpp files must be listed explicitly in device_serial - 'type': 'none', - 'includes': [ - '../../mojo/public/tools/bindings/mojom_bindings_generator.gypi', - ], - 'sources': [ - 'serial.mojom', - ], - }, - { # GN version: //device/serial 'target_name': 'device_serial', 'type': 'static_library', 'include_dirs': [ '../..', - '<(SHARED_INTERMEDIATE_DIR)', ], 'conditions': [ ['OS=="linux"', { @@ -36,6 +21,12 @@ ], }], ], + 'variables': { + 'mojom_base_output_dir': 'device/serial', + }, + 'includes': [ + '../../mojo/public/tools/bindings/mojom_bindings_generator.gypi', + ], 'dependencies': [ '../../mojo/mojo.gyp:mojo_cpp_bindings', '../../net/net.gyp:net', @@ -44,8 +35,7 @@ '../../mojo/mojo.gyp:mojo_cpp_bindings', ], 'sources': [ - '<(SHARED_INTERMEDIATE_DIR)/device/serial/serial.mojom.cc', - '<(SHARED_INTERMEDIATE_DIR)/device/serial/serial.mojom.h', + 'serial.mojom', 'serial_connection.cc', 'serial_connection.h', 'serial_connection_factory.cc', @@ -75,9 +65,6 @@ 'dependencies': [ 'device_serial', ], - 'include_dirs': [ - '../..', - ], 'sources': [ 'test_serial_io_handler.cc', 'test_serial_io_handler.h', diff --git a/extensions/BUILD.gn b/extensions/BUILD.gn index ca1295e..945d1c10 100644 --- a/extensions/BUILD.gn +++ b/extensions/BUILD.gn @@ -30,8 +30,4 @@ grit("extensions_renderer_resources") { "grit/extensions_renderer_resources.h", "extensions_renderer_resources.pak", ] - grit_flags = [ "-E", "mojom_root=" + rebase_path(root_gen_dir) ] - deps = [ - "//device/serial:serial_mojo", - ] } diff --git a/extensions/extensions.gyp b/extensions/extensions.gyp index ea4c24f..767ec7b 100644 --- a/extensions/extensions.gyp +++ b/extensions/extensions.gyp @@ -793,7 +793,6 @@ 'common/one_shot_event_unittest.cc', 'common/permissions/manifest_permission_set_unittest.cc', 'common/user_script_unittest.cc', - 'renderer/api/serial/serial_api_unittest.cc', 'renderer/api_test_base.cc', 'renderer/api_test_base.h', 'renderer/api_test_base_unittest.cc', diff --git a/extensions/extensions_resources.gyp b/extensions/extensions_resources.gyp index 0a000ac..8c56e20 100644 --- a/extensions/extensions_resources.gyp +++ b/extensions/extensions_resources.gyp @@ -7,9 +7,6 @@ { 'target_name': 'extensions_resources', 'type': 'none', - 'dependencies': [ - '../device/serial/serial.gyp:device_serial_mojo', - ], 'variables': { 'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/extensions', }, @@ -25,9 +22,6 @@ 'action_name': 'generate_extensions_renderer_resources', 'variables': { 'grit_grd_file': 'renderer/resources/extensions_renderer_resources.grd', - 'grit_additional_defines': [ - '-E', 'mojom_root=<(SHARED_INTERMEDIATE_DIR)', - ], }, 'includes': [ '../build/grit_action.gypi' ], }, diff --git a/extensions/renderer/api/serial/DEPS b/extensions/renderer/api/serial/DEPS deleted file mode 100644 index e273c39..0000000 --- a/extensions/renderer/api/serial/DEPS +++ /dev/null @@ -1,3 +0,0 @@ -include_rules = [ - "+device/serial", -] diff --git a/extensions/renderer/api/serial/serial_api_unittest.cc b/extensions/renderer/api/serial/serial_api_unittest.cc deleted file mode 100644 index 3f551ca..0000000 --- a/extensions/renderer/api/serial/serial_api_unittest.cc +++ /dev/null @@ -1,65 +0,0 @@ -// Copyright 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "device/serial/serial_device_enumerator.h" -#include "device/serial/serial_service_impl.h" -#include "extensions/renderer/api_test_base.h" -#include "grit/extensions_renderer_resources.h" - -namespace extensions { - -namespace { - -class FakeSerialDeviceEnumerator : public device::SerialDeviceEnumerator { - virtual mojo::Array<device::serial::DeviceInfoPtr> GetDevices() OVERRIDE { - mojo::Array<device::serial::DeviceInfoPtr> result(3); - result[0] = device::serial::DeviceInfo::New(); - result[0]->path = "device"; - result[0]->vendor_id = 1234; - result[0]->has_vendor_id = true; - result[0]->product_id = 5678; - result[0]->has_product_id = true; - result[0]->display_name = "foo"; - result[1] = device::serial::DeviceInfo::New(); - result[1]->path = "another_device"; - // These IDs should be ignored. - result[1]->vendor_id = 1234; - result[1]->product_id = 5678; - result[2] = device::serial::DeviceInfo::New(); - result[2]->display_name = ""; - return result.Pass(); - } -}; - -} // namespace - -void CreateSerialService( - mojo::InterfaceRequest<device::serial::SerialService> request) { - mojo::BindToRequest( - new device::SerialServiceImpl( - new device::SerialConnectionFactory( - device::SerialConnectionFactory::IoHandlerFactory(), - base::MessageLoopProxy::current()), - scoped_ptr<device::SerialDeviceEnumerator>( - new FakeSerialDeviceEnumerator)), - &request); -} - -class SerialApiTest : public ApiTestBase { - public: - virtual void SetUp() OVERRIDE { - ApiTestBase::SetUp(); - env()->RegisterModule("serial", IDR_SERIAL_CUSTOM_BINDINGS_JS); - env()->RegisterModule("serial_service", IDR_SERIAL_SERVICE_JS); - env()->RegisterModule("device/serial/serial.mojom", IDR_SERIAL_MOJOM_JS); - service_provider()->AddService<device::serial::SerialService>( - base::Bind(CreateSerialService)); - } -}; - -TEST_F(SerialApiTest, GetDevices) { - RunTest("serial_unittest.js", "testGetDevices"); -} - -} // namespace extensions diff --git a/extensions/renderer/resources/binding.js b/extensions/renderer/resources/binding.js index be2056a..eb858d7 100644 --- a/extensions/renderer/resources/binding.js +++ b/extensions/renderer/resources/binding.js @@ -5,7 +5,6 @@ var Event = require('event_bindings').Event; var forEach = require('utils').forEach; var GetAvailability = requireNative('v8_context').GetAvailability; -var lastError = require('lastError'); var logActivity = requireNative('activityLogger'); var logging = requireNative('logging'); var process = requireNative('process'); @@ -63,24 +62,6 @@ APIFunctions.prototype.setHandleRequest = }); }; -APIFunctions.prototype.setHandleRequestWithPromise = - function(apiName, customizedFunction) { - var prefix = this.namespace; - return this.setHook_(apiName, 'handleRequest', function() { - var name = prefix + '.' + apiName; - logActivity.LogAPICall(extensionId, name, $Array.slice(arguments)); - var stack = sendRequestHandler.getExtensionStackTrace(); - var callback = arguments[arguments.length - 1]; - var args = $Array.slice(arguments, 0, arguments.length - 1); - $Function.apply(customizedFunction, this, args).then(function(result) { - sendRequestHandler.safeCallbackApply( - name, {'stack': stack}, callback, [result]); - }).catch(function(error) { - lastError.run(name, error.message, stack, callback); - }); - }); -}; - APIFunctions.prototype.setUpdateArgumentsPostValidate = function(apiName, customizedFunction) { return this.setHook_( diff --git a/extensions/renderer/resources/extensions_renderer_resources.grd b/extensions/renderer/resources/extensions_renderer_resources.grd index 8ca06e2..a2c0283 100644 --- a/extensions/renderer/resources/extensions_renderer_resources.grd +++ b/extensions/renderer/resources/extensions_renderer_resources.grd @@ -18,9 +18,6 @@ <include name="IDR_MESSAGING_UTILS_JS" file="messaging_utils.js" type="BINDATA" /> <include name="IDR_SCHEMA_UTILS_JS" file="schema_utils.js" type="BINDATA" /> <include name="IDR_SEND_REQUEST_JS" file="send_request.js" type="BINDATA" /> - <include name="IDR_SERIAL_CUSTOM_BINDINGS_JS" file="serial_custom_bindings.js" type="BINDATA" /> - <include name="IDR_SERIAL_MOJOM_JS" file="${mojom_root}\device\serial\serial.mojom.js" use_base_dir="false" type="BINDATA" /> - <include name="IDR_SERIAL_SERVICE_JS" file="serial_service.js" type="BINDATA" /> <include name="IDR_SET_ICON_JS" file="set_icon.js" type="BINDATA" /> <include name="IDR_BROWSER_TEST_ENVIRONMENT_SPECIFIC_BINDINGS_JS" file="browser_test_environment_specific_bindings.js" type="BINDATA" /> <include name="IDR_TEST_CUSTOM_BINDINGS_JS" file="test_custom_bindings.js" type="BINDATA" /> diff --git a/extensions/renderer/resources/serial_custom_bindings.js b/extensions/renderer/resources/serial_custom_bindings.js deleted file mode 100644 index 3d15acf..0000000 --- a/extensions/renderer/resources/serial_custom_bindings.js +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -var binding = require('binding').Binding.create('serial'); - -function createAsyncProxy(targetPromise, functionNames) { - var functionProxies = {}; - $Array.forEach(functionNames, function(name) { - functionProxies[name] = function() { - var args = arguments; - return targetPromise.then(function(target) { - return $Function.apply(target[name], target, args); - }); - } - }); - return functionProxies; -} - -var serialService = createAsyncProxy(requireAsync('serial_service'), [ - 'getDevices', -]); - -binding.registerCustomHook(function(bindingsAPI) { - var apiFunctions = bindingsAPI.apiFunctions; - apiFunctions.setHandleRequestWithPromise('getDevices', - serialService.getDevices); -}); - -exports.binding = binding.generate(); diff --git a/extensions/renderer/resources/serial_service.js b/extensions/renderer/resources/serial_service.js deleted file mode 100644 index 92e17d0..0000000 --- a/extensions/renderer/resources/serial_service.js +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -define('serial_service', [ - 'content/public/renderer/service_provider', - 'device/serial/serial.mojom', - 'mojo/public/js/bindings/router', -], function(serviceProvider, serialMojom, routerModule) { - - function defineService(proxy, handle) { - if (!handle) - handle = serviceProvider.connectToService(proxy.NAME_); - var router = new routerModule.Router(handle); - var service = new proxy(router); - return { - service: service, - router: router, - }; - } - - var service = defineService(serialMojom.SerialServiceProxy).service; - - function getDevices() { - return service.getDevices().then(function(response) { - return $Array.map(response.devices, function(device) { - var result = {path: device.path || ''}; - if (device.has_vendor_id) - result.vendorId = device.vendor_id; - if (device.has_product_id) - result.productId = device.product_id; - if (device.display_name) - result.displayName = device.display_name; - return result; - }); - }); - } - - return { - getDevices: getDevices, - }; -}); diff --git a/extensions/test/data/serial_unittest.js b/extensions/test/data/serial_unittest.js deleted file mode 100644 index 0755ed7..0000000 --- a/extensions/test/data/serial_unittest.js +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -var test = require('test').binding; -var serial = require('serial').binding; -var unittestBindings = require('test_environment_specific_bindings'); - -unittestBindings.exportTests([ - function testGetDevices() { - serial.getDevices(test.callbackPass(function(devices) { - test.assertEq(3, devices.length); - test.assertEq(4, $Object.keys(devices[0]).length); - test.assertEq('device', devices[0].path); - test.assertEq(1234, devices[0].vendorId); - test.assertEq(5678, devices[0].productId); - test.assertEq('foo', devices[0].displayName); - test.assertEq(1, $Object.keys(devices[1]).length); - test.assertEq('another_device', devices[1].path); - test.assertEq(1, $Object.keys(devices[2]).length); - test.assertEq('', devices[2].path); - })); - }, -], test.runTests, exports); |