Commit ece26dd9 authored by miket@chromium.org's avatar miket@chromium.org

Move serial out of experimental.

This CL is unremarkable except that I figured out that we're improperly
including some permissions for experimental APIs (which are already
covered by the blanket experimental permission). This made it tougher
because I used http://codereview.chromium.org/10440097/, which
benefited unwittingly from a pre-declared socket permission, as an
example. I then ran into missing namespace problems because I hadn't
done everything necessary (such as including serial in api_permission.cc).

I did my job as a good citizen and removed the superfluous USB permission.

Also ran build.py to update docs.

BUG=138370
TEST=no new ones; updated old ones to build.

Review URL: https://chromiumcodereview.appspot.com/10852016

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150186 0039d316-1c4b-4281-b951-d872f2087c98
parent d5a578fa
...@@ -89,7 +89,7 @@ SerialOpenFunction::~SerialOpenFunction() { ...@@ -89,7 +89,7 @@ SerialOpenFunction::~SerialOpenFunction() {
bool SerialOpenFunction::Prepare() { bool SerialOpenFunction::Prepare() {
set_work_thread_id(BrowserThread::FILE); set_work_thread_id(BrowserThread::FILE);
params_ = api::experimental_serial::Open::Params::Create(*args_); params_ = api::serial::Open::Params::Create(*args_);
EXTENSION_FUNCTION_VALIDATE(params_.get()); EXTENSION_FUNCTION_VALIDATE(params_.get());
if (params_->options.get()) { if (params_->options.get()) {
...@@ -166,7 +166,7 @@ SerialCloseFunction::~SerialCloseFunction() { ...@@ -166,7 +166,7 @@ SerialCloseFunction::~SerialCloseFunction() {
bool SerialCloseFunction::Prepare() { bool SerialCloseFunction::Prepare() {
set_work_thread_id(BrowserThread::FILE); set_work_thread_id(BrowserThread::FILE);
params_ = api::experimental_serial::Close::Params::Create(*args_); params_ = api::serial::Close::Params::Create(*args_);
EXTENSION_FUNCTION_VALIDATE(params_.get()); EXTENSION_FUNCTION_VALIDATE(params_.get());
return true; return true;
...@@ -197,7 +197,7 @@ SerialReadFunction::~SerialReadFunction() { ...@@ -197,7 +197,7 @@ SerialReadFunction::~SerialReadFunction() {
bool SerialReadFunction::Prepare() { bool SerialReadFunction::Prepare() {
set_work_thread_id(BrowserThread::FILE); set_work_thread_id(BrowserThread::FILE);
params_ = api::experimental_serial::Read::Params::Create(*args_); params_ = api::serial::Read::Params::Create(*args_);
EXTENSION_FUNCTION_VALIDATE(params_.get()); EXTENSION_FUNCTION_VALIDATE(params_.get());
if (params_->bytes_to_read <= 0 || params_->bytes_to_read >= 1024 * 1024) { if (params_->bytes_to_read <= 0 || params_->bytes_to_read >= 1024 * 1024) {
error_ = kSerialReadInvalidBytesToRead; error_ = kSerialReadInvalidBytesToRead;
...@@ -242,7 +242,7 @@ SerialWriteFunction::~SerialWriteFunction() { ...@@ -242,7 +242,7 @@ SerialWriteFunction::~SerialWriteFunction() {
bool SerialWriteFunction::Prepare() { bool SerialWriteFunction::Prepare() {
set_work_thread_id(BrowserThread::FILE); set_work_thread_id(BrowserThread::FILE);
params_ = api::experimental_serial::Write::Params::Create(*args_); params_ = api::serial::Write::Params::Create(*args_);
EXTENSION_FUNCTION_VALIDATE(params_.get()); EXTENSION_FUNCTION_VALIDATE(params_.get());
io_buffer_size_ = params_->data.size(); io_buffer_size_ = params_->data.size();
...@@ -277,7 +277,7 @@ SerialFlushFunction::~SerialFlushFunction() { ...@@ -277,7 +277,7 @@ SerialFlushFunction::~SerialFlushFunction() {
bool SerialFlushFunction::Prepare() { bool SerialFlushFunction::Prepare() {
set_work_thread_id(BrowserThread::FILE); set_work_thread_id(BrowserThread::FILE);
params_ = api::experimental_serial::Flush::Params::Create(*args_); params_ = api::serial::Flush::Params::Create(*args_);
EXTENSION_FUNCTION_VALIDATE(params_.get()); EXTENSION_FUNCTION_VALIDATE(params_.get());
return true; return true;
} }
...@@ -307,7 +307,7 @@ SerialGetControlSignalsFunction::~SerialGetControlSignalsFunction() { ...@@ -307,7 +307,7 @@ SerialGetControlSignalsFunction::~SerialGetControlSignalsFunction() {
bool SerialGetControlSignalsFunction::Prepare() { bool SerialGetControlSignalsFunction::Prepare() {
set_work_thread_id(BrowserThread::FILE); set_work_thread_id(BrowserThread::FILE);
params_ = api::experimental_serial::GetControlSignals::Params::Create( params_ = api::serial::GetControlSignals::Params::Create(
*args_); *args_);
EXTENSION_FUNCTION_VALIDATE(params_.get()); EXTENSION_FUNCTION_VALIDATE(params_.get());
...@@ -347,7 +347,7 @@ SerialSetControlSignalsFunction::~SerialSetControlSignalsFunction() { ...@@ -347,7 +347,7 @@ SerialSetControlSignalsFunction::~SerialSetControlSignalsFunction() {
bool SerialSetControlSignalsFunction::Prepare() { bool SerialSetControlSignalsFunction::Prepare() {
set_work_thread_id(BrowserThread::FILE); set_work_thread_id(BrowserThread::FILE);
params_ = api::experimental_serial::SetControlSignals::Params::Create( params_ = api::serial::SetControlSignals::Params::Create(
*args_); *args_);
EXTENSION_FUNCTION_VALIDATE(params_.get()); EXTENSION_FUNCTION_VALIDATE(params_.get());
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
#include "base/memory/ref_counted.h" #include "base/memory/ref_counted.h"
#include "chrome/browser/extensions/api/api_function.h" #include "chrome/browser/extensions/api/api_function.h"
#include "chrome/browser/extensions/api/api_resource_manager.h" #include "chrome/browser/extensions/api/api_resource_manager.h"
#include "chrome/common/extensions/api/experimental_serial.h" #include "chrome/common/extensions/api/serial.h"
#include "net/base/io_buffer.h" #include "net/base/io_buffer.h"
namespace extensions { namespace extensions {
...@@ -35,7 +35,7 @@ class SerialAsyncApiFunction : public AsyncApiFunction { ...@@ -35,7 +35,7 @@ class SerialAsyncApiFunction : public AsyncApiFunction {
class SerialGetPortsFunction : public SerialAsyncApiFunction { class SerialGetPortsFunction : public SerialAsyncApiFunction {
public: public:
DECLARE_EXTENSION_FUNCTION_NAME("experimental.serial.getPorts") DECLARE_EXTENSION_FUNCTION_NAME("serial.getPorts")
SerialGetPortsFunction(); SerialGetPortsFunction();
...@@ -50,7 +50,7 @@ class SerialGetPortsFunction : public SerialAsyncApiFunction { ...@@ -50,7 +50,7 @@ class SerialGetPortsFunction : public SerialAsyncApiFunction {
class SerialOpenFunction : public SerialAsyncApiFunction { class SerialOpenFunction : public SerialAsyncApiFunction {
public: public:
DECLARE_EXTENSION_FUNCTION_NAME("experimental.serial.open") DECLARE_EXTENSION_FUNCTION_NAME("serial.open")
SerialOpenFunction(); SerialOpenFunction();
...@@ -71,7 +71,7 @@ class SerialOpenFunction : public SerialAsyncApiFunction { ...@@ -71,7 +71,7 @@ class SerialOpenFunction : public SerialAsyncApiFunction {
virtual bool DoesPortExist(const std::string& port); virtual bool DoesPortExist(const std::string& port);
private: private:
scoped_ptr<api::experimental_serial::Open::Params> params_; scoped_ptr<api::serial::Open::Params> params_;
int src_id_; int src_id_;
int bitrate_; int bitrate_;
...@@ -81,7 +81,7 @@ class SerialOpenFunction : public SerialAsyncApiFunction { ...@@ -81,7 +81,7 @@ class SerialOpenFunction : public SerialAsyncApiFunction {
class SerialCloseFunction : public SerialAsyncApiFunction { class SerialCloseFunction : public SerialAsyncApiFunction {
public: public:
DECLARE_EXTENSION_FUNCTION_NAME("experimental.serial.close") DECLARE_EXTENSION_FUNCTION_NAME("serial.close")
SerialCloseFunction(); SerialCloseFunction();
...@@ -94,12 +94,12 @@ class SerialCloseFunction : public SerialAsyncApiFunction { ...@@ -94,12 +94,12 @@ class SerialCloseFunction : public SerialAsyncApiFunction {
virtual bool Respond() OVERRIDE; virtual bool Respond() OVERRIDE;
private: private:
scoped_ptr<api::experimental_serial::Close::Params> params_; scoped_ptr<api::serial::Close::Params> params_;
}; };
class SerialReadFunction : public SerialAsyncApiFunction { class SerialReadFunction : public SerialAsyncApiFunction {
public: public:
DECLARE_EXTENSION_FUNCTION_NAME("experimental.serial.read") DECLARE_EXTENSION_FUNCTION_NAME("serial.read")
SerialReadFunction(); SerialReadFunction();
...@@ -112,12 +112,12 @@ class SerialReadFunction : public SerialAsyncApiFunction { ...@@ -112,12 +112,12 @@ class SerialReadFunction : public SerialAsyncApiFunction {
virtual bool Respond() OVERRIDE; virtual bool Respond() OVERRIDE;
private: private:
scoped_ptr<api::experimental_serial::Read::Params> params_; scoped_ptr<api::serial::Read::Params> params_;
}; };
class SerialWriteFunction : public SerialAsyncApiFunction { class SerialWriteFunction : public SerialAsyncApiFunction {
public: public:
DECLARE_EXTENSION_FUNCTION_NAME("experimental.serial.write") DECLARE_EXTENSION_FUNCTION_NAME("serial.write")
SerialWriteFunction(); SerialWriteFunction();
...@@ -130,14 +130,14 @@ class SerialWriteFunction : public SerialAsyncApiFunction { ...@@ -130,14 +130,14 @@ class SerialWriteFunction : public SerialAsyncApiFunction {
virtual bool Respond() OVERRIDE; virtual bool Respond() OVERRIDE;
private: private:
scoped_ptr<api::experimental_serial::Write::Params> params_; scoped_ptr<api::serial::Write::Params> params_;
scoped_refptr<net::IOBuffer> io_buffer_; scoped_refptr<net::IOBuffer> io_buffer_;
size_t io_buffer_size_; size_t io_buffer_size_;
}; };
class SerialFlushFunction : public SerialAsyncApiFunction { class SerialFlushFunction : public SerialAsyncApiFunction {
public: public:
DECLARE_EXTENSION_FUNCTION_NAME("experimental.serial.flush") DECLARE_EXTENSION_FUNCTION_NAME("serial.flush")
SerialFlushFunction(); SerialFlushFunction();
...@@ -150,12 +150,12 @@ class SerialFlushFunction : public SerialAsyncApiFunction { ...@@ -150,12 +150,12 @@ class SerialFlushFunction : public SerialAsyncApiFunction {
virtual bool Respond() OVERRIDE; virtual bool Respond() OVERRIDE;
private: private:
scoped_ptr<api::experimental_serial::Flush::Params> params_; scoped_ptr<api::serial::Flush::Params> params_;
}; };
class SerialGetControlSignalsFunction : public SerialAsyncApiFunction { class SerialGetControlSignalsFunction : public SerialAsyncApiFunction {
public: public:
DECLARE_EXTENSION_FUNCTION_NAME("experimental.serial.getControlSignals") DECLARE_EXTENSION_FUNCTION_NAME("serial.getControlSignals")
SerialGetControlSignalsFunction(); SerialGetControlSignalsFunction();
...@@ -168,13 +168,13 @@ class SerialGetControlSignalsFunction : public SerialAsyncApiFunction { ...@@ -168,13 +168,13 @@ class SerialGetControlSignalsFunction : public SerialAsyncApiFunction {
virtual bool Respond() OVERRIDE; virtual bool Respond() OVERRIDE;
private: private:
scoped_ptr<api::experimental_serial::GetControlSignals::Params> params_; scoped_ptr<api::serial::GetControlSignals::Params> params_;
bool api_response_; bool api_response_;
}; };
class SerialSetControlSignalsFunction : public SerialAsyncApiFunction { class SerialSetControlSignalsFunction : public SerialAsyncApiFunction {
public: public:
DECLARE_EXTENSION_FUNCTION_NAME("experimental.serial.setControlSignals") DECLARE_EXTENSION_FUNCTION_NAME("serial.setControlSignals")
SerialSetControlSignalsFunction(); SerialSetControlSignalsFunction();
...@@ -187,7 +187,7 @@ class SerialSetControlSignalsFunction : public SerialAsyncApiFunction { ...@@ -187,7 +187,7 @@ class SerialSetControlSignalsFunction : public SerialAsyncApiFunction {
virtual bool Respond() OVERRIDE; virtual bool Respond() OVERRIDE;
private: private:
scoped_ptr<api::experimental_serial::SetControlSignals::Params> params_; scoped_ptr<api::serial::SetControlSignals::Params> params_;
}; };
} // namespace extensions } // namespace extensions
......
...@@ -172,10 +172,10 @@ IN_PROC_BROWSER_TEST_F(SerialApiTest, SerialFakeHardware) { ...@@ -172,10 +172,10 @@ IN_PROC_BROWSER_TEST_F(SerialApiTest, SerialFakeHardware) {
#if SIMULATE_SERIAL_PORTS #if SIMULATE_SERIAL_PORTS
ASSERT_TRUE(ExtensionFunctionDispatcher::OverrideFunction( ASSERT_TRUE(ExtensionFunctionDispatcher::OverrideFunction(
"experimental.serial.getPorts", "serial.getPorts",
FakeSerialGetPortsFunctionFactory)); FakeSerialGetPortsFunctionFactory));
ASSERT_TRUE(ExtensionFunctionDispatcher::OverrideFunction( ASSERT_TRUE(ExtensionFunctionDispatcher::OverrideFunction(
"experimental.serial.open", "serial.open",
FakeSerialOpenFunctionFactory)); FakeSerialOpenFunctionFactory));
#endif #endif
......
...@@ -236,7 +236,7 @@ ...@@ -236,7 +236,7 @@
"min_manifest_version": 2 "min_manifest_version": 2
}, },
"serial": { "serial": {
"channel": "stable", "channel": "dev",
"extension_types": ["platform_app"] "extension_types": ["platform_app"]
}, },
"socket": { "socket": {
...@@ -283,10 +283,6 @@ ...@@ -283,10 +283,6 @@
"extension", "packaged_app", "hosted_app", "platform_app" "extension", "packaged_app", "hosted_app", "platform_app"
] ]
}, },
"usb": {
"channel": "stable",
"extension_types": ["platform_app"]
},
"videoCapture": { "videoCapture": {
"channel": "stable", "channel": "stable",
"extension_types": ["platform_app"] "extension_types": ["platform_app"]
......
...@@ -46,9 +46,9 @@ ...@@ -46,9 +46,9 @@
'experimental_idltest.idl', 'experimental_idltest.idl',
'experimental_media_galleries.idl', 'experimental_media_galleries.idl',
'experimental_push_messaging.idl', 'experimental_push_messaging.idl',
'experimental_serial.idl',
'experimental_usb.idl', 'experimental_usb.idl',
'file_system.idl', 'file_system.idl',
'serial.idl',
'socket.idl', 'socket.idl',
], ],
'cc_dir': 'chrome/common/extensions/api', 'cc_dir': 'chrome/common/extensions/api',
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
// File-level comment to appease parser. Eventually this will not be necessary. // File-level comment to appease parser. Eventually this will not be necessary.
namespace experimental.serial { namespace serial {
callback GetPortsCallback = void (DOMString[] ports); callback GetPortsCallback = void (DOMString[] ports);
......
...@@ -210,6 +210,7 @@ Here are the supported chrome.* APIs: ...@@ -210,6 +210,7 @@ Here are the supported chrome.* APIs:
</li><li><a href="idle.html" js="">idle</a> </li><li><a href="idle.html" js="">idle</a>
</li><li><a href="permissions.html" js="">permissions</a> </li><li><a href="permissions.html" js="">permissions</a>
</li><li><a href="runtime.html" js="">runtime</a> </li><li><a href="runtime.html" js="">runtime</a>
</li><li><a href="serial.html" js="">serial</a>
</li><li><a href="socket.html" js="">socket</a> </li><li><a href="socket.html" js="">socket</a>
</li><li><a href="storage.html" js="">storage</a> </li><li><a href="storage.html" js="">storage</a>
</li><li><a href="tts.html" js="">tts</a> </li><li><a href="tts.html" js="">tts</a>
......
...@@ -216,7 +216,6 @@ on the following experimental APIs: ...@@ -216,7 +216,6 @@ on the following experimental APIs:
<a href="experimental.commands.html">experimental.commands</a></li><li> <a href="experimental.commands.html">experimental.commands</a></li><li>
<a href="experimental.identity.html">experimental.identity</a></li><li> <a href="experimental.identity.html">experimental.identity</a></li><li>
<a href="experimental.mediaGalleries.html">experimental.mediaGalleries</a></li><li> <a href="experimental.mediaGalleries.html">experimental.mediaGalleries</a></li><li>
<a href="experimental.serial.html">experimental.serial</a></li><li>
<a href="experimental.usb.html">experimental.usb</a></li> <a href="experimental.usb.html">experimental.usb</a></li>
</ul> </ul>
<p class="doc-family extensions"> <p class="doc-family extensions">
......
...@@ -252,7 +252,6 @@ on the following experimental APIs: ...@@ -252,7 +252,6 @@ on the following experimental APIs:
<a href="experimental.infobars.html">experimental.infobars</a></li><li> <a href="experimental.infobars.html">experimental.infobars</a></li><li>
<a href="experimental.offscreenTabs.html">experimental.offscreenTabs</a></li><li> <a href="experimental.offscreenTabs.html">experimental.offscreenTabs</a></li><li>
<a href="experimental.processes.html">experimental.processes</a></li><li> <a href="experimental.processes.html">experimental.processes</a></li><li>
<a href="experimental.serial.html">experimental.serial</a></li><li>
<a href="experimental.speechInput.html">experimental.speechInput</a></li><li> <a href="experimental.speechInput.html">experimental.speechInput</a></li><li>
<a href="experimental.usb.html">experimental.usb</a></li> <a href="experimental.usb.html">experimental.usb</a></li>
</ul> </ul>
......
...@@ -346,6 +346,8 @@ ...@@ -346,6 +346,8 @@
<a href="javascript:void(0);" onclick="setFilter('chrome.runtime', this)">chrome.runtime</a><span>, </span> <a href="javascript:void(0);" onclick="setFilter('chrome.runtime', this)">chrome.runtime</a><span>, </span>
</span><span> </span><span>
<a href="javascript:void(0);" onclick="setFilter('chrome.scriptBadge', this)">chrome.scriptBadge</a><span>, </span> <a href="javascript:void(0);" onclick="setFilter('chrome.scriptBadge', this)">chrome.scriptBadge</a><span>, </span>
</span><span>
<a href="javascript:void(0);" onclick="setFilter('chrome.serial', this)">chrome.serial</a><span>, </span>
</span><span> </span><span>
<a href="javascript:void(0);" onclick="setFilter('chrome.socket', this)">chrome.socket</a><span>, </span> <a href="javascript:void(0);" onclick="setFilter('chrome.socket', this)">chrome.socket</a><span>, </span>
</span><span> </span><span>
......
...@@ -55,7 +55,6 @@ var MODULE_SCHEMAS = [ ...@@ -55,7 +55,6 @@ var MODULE_SCHEMAS = [
'../../api/experimental_processes.json', '../../api/experimental_processes.json',
'../../api/experimental_push_messaging.json', // autogenerated '../../api/experimental_push_messaging.json', // autogenerated
'../../api/experimental_rlz.json', '../../api/experimental_rlz.json',
'../../api/experimental_serial.json', // autogenerated
'../../api/experimental_speech_input.json', '../../api/experimental_speech_input.json',
'../../api/experimental_usb.json', // autogenerated '../../api/experimental_usb.json', // autogenerated
'../../api/extension.json', '../../api/extension.json',
...@@ -82,6 +81,7 @@ var MODULE_SCHEMAS = [ ...@@ -82,6 +81,7 @@ var MODULE_SCHEMAS = [
'../../api/proxy.json', '../../api/proxy.json',
'../../api/runtime.json', '../../api/runtime.json',
'../../api/script_badge.json', '../../api/script_badge.json',
'../../api/serial.json', // autogenerated
'../../api/socket.json', // autogenerated '../../api/socket.json', // autogenerated
'../../api/storage.json', '../../api/storage.json',
'../../api/system_private.json', '../../api/system_private.json',
......
...@@ -177,14 +177,6 @@ ...@@ -177,14 +177,6 @@
"chrome.experimental.processes.terminate": "experimental.processes.html#method-terminate", "chrome.experimental.processes.terminate": "experimental.processes.html#method-terminate",
"chrome.experimental.record.captureURLs": "experimental.record.html#method-captureURLs", "chrome.experimental.record.captureURLs": "experimental.record.html#method-captureURLs",
"chrome.experimental.record.replayURLs": "experimental.record.html#method-replayURLs", "chrome.experimental.record.replayURLs": "experimental.record.html#method-replayURLs",
"chrome.experimental.serial.close": "experimental.serial.html#method-close",
"chrome.experimental.serial.flush": "experimental.serial.html#method-flush",
"chrome.experimental.serial.getControlSignals": "experimental.serial.html#method-getControlSignals",
"chrome.experimental.serial.getPorts": "experimental.serial.html#method-getPorts",
"chrome.experimental.serial.open": "experimental.serial.html#method-open",
"chrome.experimental.serial.read": "experimental.serial.html#method-read",
"chrome.experimental.serial.setControlSignals": "experimental.serial.html#method-setControlSignals",
"chrome.experimental.serial.write": "experimental.serial.html#method-write",
"chrome.experimental.speechInput.isRecording": "experimental.speechInput.html#method-isRecording", "chrome.experimental.speechInput.isRecording": "experimental.speechInput.html#method-isRecording",
"chrome.experimental.speechInput.onError": "experimental.speechInput.html#event-onError", "chrome.experimental.speechInput.onError": "experimental.speechInput.html#event-onError",
"chrome.experimental.speechInput.onResult": "experimental.speechInput.html#event-onResult", "chrome.experimental.speechInput.onResult": "experimental.speechInput.html#event-onResult",
...@@ -304,6 +296,14 @@ ...@@ -304,6 +296,14 @@
"chrome.scriptBadge.getPopup": "scriptBadge.html#method-getPopup", "chrome.scriptBadge.getPopup": "scriptBadge.html#method-getPopup",
"chrome.scriptBadge.onClicked": "scriptBadge.html#event-onClicked", "chrome.scriptBadge.onClicked": "scriptBadge.html#event-onClicked",
"chrome.scriptBadge.setPopup": "scriptBadge.html#method-setPopup", "chrome.scriptBadge.setPopup": "scriptBadge.html#method-setPopup",
"chrome.serial.close": "serial.html#method-close",
"chrome.serial.flush": "serial.html#method-flush",
"chrome.serial.getControlSignals": "serial.html#method-getControlSignals",
"chrome.serial.getPorts": "serial.html#method-getPorts",
"chrome.serial.open": "serial.html#method-open",
"chrome.serial.read": "serial.html#method-read",
"chrome.serial.setControlSignals": "serial.html#method-setControlSignals",
"chrome.serial.write": "serial.html#method-write",
"chrome.socket.bind": "socket.html#method-bind", "chrome.socket.bind": "socket.html#method-bind",
"chrome.socket.connect": "socket.html#method-connect", "chrome.socket.connect": "socket.html#method-connect",
"chrome.socket.create": "socket.html#method-create", "chrome.socket.create": "socket.html#method-create",
......
...@@ -117,9 +117,6 @@ void APIPermission::RegisterAllPermissions( ...@@ -117,9 +117,6 @@ void APIPermission::RegisterAllPermissions(
{ kTtsEngine, "ttsEngine", kFlagCannotBeOptional, { kTtsEngine, "ttsEngine", kFlagCannotBeOptional,
IDS_EXTENSION_PROMPT_WARNING_TTS_ENGINE, IDS_EXTENSION_PROMPT_WARNING_TTS_ENGINE,
PermissionMessage::kTtsEngine }, PermissionMessage::kTtsEngine },
{ kUsb, "usb", kFlagNone,
IDS_EXTENSION_PROMPT_WARNING_USB,
PermissionMessage::kNone },
{ kWebNavigation, "webNavigation", kFlagNone, { kWebNavigation, "webNavigation", kFlagNone,
IDS_EXTENSION_PROMPT_WARNING_TABS, PermissionMessage::kTabs }, IDS_EXTENSION_PROMPT_WARNING_TABS, PermissionMessage::kTabs },
{ kWebRequest, "webRequest" }, { kWebRequest, "webRequest" },
...@@ -157,6 +154,7 @@ void APIPermission::RegisterAllPermissions( ...@@ -157,6 +154,7 @@ void APIPermission::RegisterAllPermissions(
PermissionMessage::kFullAccess }, PermissionMessage::kFullAccess },
// Platform-app permissions. // Platform-app permissions.
{ kSerial, "serial", kFlagCannotBeOptional },
{ kSocket, "socket", kFlagCannotBeOptional }, { kSocket, "socket", kFlagCannotBeOptional },
{ kAppWindow, "app.window" }, { kAppWindow, "app.window" },
{ kAudioCapture, "audioCapture", kFlagNone, { kAudioCapture, "audioCapture", kFlagNone,
......
...@@ -70,6 +70,7 @@ class APIPermission { ...@@ -70,6 +70,7 @@ class APIPermission {
kPlugin, kPlugin,
kPrivacy, kPrivacy,
kProxy, kProxy,
kSerial,
kSocket, kSocket,
kStorage, kStorage,
kSystemPrivate, kSystemPrivate,
...@@ -79,7 +80,6 @@ class APIPermission { ...@@ -79,7 +80,6 @@ class APIPermission {
kTts, kTts,
kTtsEngine, kTtsEngine,
kUnlimitedStorage, kUnlimitedStorage,
kUsb,
kVideoCapture, kVideoCapture,
kWallpaperPrivate, kWallpaperPrivate,
kWebNavigation, kWebNavigation,
......
...@@ -608,8 +608,8 @@ TEST(PermissionsTest, PermissionMessages) { ...@@ -608,8 +608,8 @@ TEST(PermissionsTest, PermissionMessages) {
// Platform apps. TODO(miket): must we skip? // Platform apps. TODO(miket): must we skip?
skip.insert(APIPermission::kFileSystem); skip.insert(APIPermission::kFileSystem);
skip.insert(APIPermission::kSerial);
skip.insert(APIPermission::kSocket); skip.insert(APIPermission::kSocket);
skip.insert(APIPermission::kUsb);
PermissionsInfo* info = PermissionsInfo::GetInstance(); PermissionsInfo* info = PermissionsInfo::GetInstance();
APIPermissionSet permissions = info->GetAll(); APIPermissionSet permissions = info->GetAll();
......
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
} }
}, },
"permissions": [ "permissions": [
"experimental", "experimental"
"dns"
] ]
} }
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
const serial = chrome.serial;
// TODO(miket): opening Bluetooth ports on OSX is unreliable. Investigate. // TODO(miket): opening Bluetooth ports on OSX is unreliable. Investigate.
function shouldSkipPort(portName) { function shouldSkipPort(portName) {
return portName.match(/[Bb]luetooth/); return portName.match(/[Bb]luetooth/);
...@@ -33,34 +35,31 @@ var testSerial = function() { ...@@ -33,34 +35,31 @@ var testSerial = function() {
var doNextOperation = function() { var doNextOperation = function() {
switch (operation++) { switch (operation++) {
case 0: case 0:
chrome.experimental.serial.getPorts(onGetPorts); serial.getPorts(onGetPorts);
break; break;
case 1: case 1:
var bitrate = 57600; var bitrate = 57600;
console.log('Opening serial device ' + serialPort + ' at ' + console.log('Opening serial device ' + serialPort + ' at ' +
bitrate + ' bps.'); bitrate + ' bps.');
chrome.experimental.serial.open(serialPort, {bitrate: bitrate}, serial.open(serialPort, {bitrate: bitrate}, onOpen);
onOpen);
break; break;
case 2: case 2:
chrome.experimental.serial.setControlSignals( serial.setControlSignals(connectionId, {dtr: true}, onSetControlSignals);
connectionId, {dtr: true}, onSetControlSignals);
break; break;
case 3: case 3:
chrome.experimental.serial.getControlSignals(connectionId, serial.getControlSignals(connectionId,onGetControlSignals);
onGetControlSignals);
break; break;
case 4: case 4:
chrome.experimental.serial.write(connectionId, writeBuffer, onWrite); serial.write(connectionId, writeBuffer, onWrite);
break; break;
case 5: case 5:
chrome.experimental.serial.read(connectionId, bytesToRead, onRead); serial.read(connectionId, bytesToRead, onRead);
break; break;
case 6: case 6:
chrome.experimental.serial.flush(connectionId, onFlush); serial.flush(connectionId, onFlush);
break; break;
case 50: // GOTO 4 EVER case 50: // GOTO 4 EVER
chrome.experimental.serial.close(connectionId, onClose); serial.close(connectionId, onClose);
break; break;
default: default:
// Beware! If you forget to assign a case for your next test, the whole // Beware! If you forget to assign a case for your next test, the whole
...@@ -94,9 +93,8 @@ var testSerial = function() { ...@@ -94,9 +93,8 @@ var testSerial = function() {
bytesToRead -= readInfo.bytesRead; bytesToRead -= readInfo.bytesRead;
var readBufferIndex = bufferLength - readInfo.bytesRead; var readBufferIndex = bufferLength - readInfo.bytesRead;
var messageUint8View = new Uint8Array(readInfo.data); var messageUint8View = new Uint8Array(readInfo.data);
for (var i = 0; i < readInfo.bytesRead; i++) { for (var i = 0; i < readInfo.bytesRead; i++)
readBufferUint8View[i + readBufferIndex] = messageUint8View[i]; readBufferUint8View[i + readBufferIndex] = messageUint8View[i];
}
if (bytesToRead == 0) { if (bytesToRead == 0) {
chrome.test.assertEq(writeBufferUint8View, readBufferUint8View, chrome.test.assertEq(writeBufferUint8View, readBufferUint8View,
'Buffer read was not equal to buffer written.'); 'Buffer read was not equal to buffer written.');
......
{ {
"name": "chrome.experimental.serial", "name": "chrome.serial",
"version": "0.1", "version": "0.1",
"manifest_version": 2, "manifest_version": 2,
"description": "end-to-end browser test for chrome.experimental.serial API", "description": "end-to-end browser test for chrome.serial API",
"app": { "app": {
"background": { "background": {
"scripts": ["background.js"] "scripts": ["background.js"]
} }
}, },
"permissions": [ "permissions": [
"experimental",
"serial" "serial"
] ]
} }
...@@ -16,7 +16,7 @@ var testGetPorts = function() { ...@@ -16,7 +16,7 @@ var testGetPorts = function() {
chrome.test.succeed(); chrome.test.succeed();
} }
chrome.experimental.serial.getPorts(onGetPorts); chrome.serial.getPorts(onGetPorts);
}; };
var testMaybeOpenPort = function() { var testMaybeOpenPort = function() {
...@@ -44,7 +44,7 @@ var testMaybeOpenPort = function() { ...@@ -44,7 +44,7 @@ var testMaybeOpenPort = function() {
var onOpen = function(connectionInfo) { var onOpen = function(connectionInfo) {
var id = connectionInfo.connectionId; var id = connectionInfo.connectionId;
if (id > 0) if (id > 0)
chrome.experimental.serial.close(id, onClose); chrome.serial.close(id, onClose);
else else
onFinishedWithPort(); onFinishedWithPort();
}; };
...@@ -56,7 +56,7 @@ var testMaybeOpenPort = function() { ...@@ -56,7 +56,7 @@ var testMaybeOpenPort = function() {
onFinishedWithPort(); onFinishedWithPort();
} else { } else {
console.log("Opening serial device " + port); console.log("Opening serial device " + port);
chrome.experimental.serial.open(port, onOpen); chrome.serial.open(port, onOpen);
} }
} }
...@@ -67,7 +67,7 @@ var testMaybeOpenPort = function() { ...@@ -67,7 +67,7 @@ var testMaybeOpenPort = function() {
} }
} }
chrome.experimental.serial.getPorts(onGetPorts); chrome.serial.getPorts(onGetPorts);
}; };
var tests = [testGetPorts, testMaybeOpenPort]; var tests = [testGetPorts, testMaybeOpenPort];
......
{ {
"name": "chrome.experimental.serial", "name": "chrome.serial real hardware",
"version": "0.1", "version": "0.1",
"manifest_version": 2, "manifest_version": 2,
"description": "end-to-end browser test for chrome.experimental.serial API", "description": "end-to-end real-hardware test for chrome.serial API",
"app": { "app": {
"background": { "background": {
"scripts": ["background.js"] "scripts": ["background.js"]
} }
}, },
"permissions": [ "permissions": [
"experimental",
"serial" "serial"
] ]
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment