diff options
author | rockot <rockot@chromium.org> | 2016-03-08 22:34:52 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-03-09 06:36:18 +0000 |
commit | b98777bcf33f467bba92cff7de951f0b3fd13b32 (patch) | |
tree | 96e45d03c5ec6c952457360c540961f8d40d0634 /mojo/public/js/connector.js | |
parent | e916f14b321af7359ae93127e5d4ae7c9262dc42 (diff) | |
download | chromium_src-b98777bcf33f467bba92cff7de951f0b3fd13b32.zip chromium_src-b98777bcf33f467bba92cff7de951f0b3fd13b32.tar.gz chromium_src-b98777bcf33f467bba92cff7de951f0b3fd13b32.tar.bz2 |
[mojo-bindings] Use Watcher API for JS bindings
BUG=592183
Review URL: https://codereview.chromium.org/1777673003
Cr-Commit-Position: refs/heads/master@{#380092}
Diffstat (limited to 'mojo/public/js/connector.js')
-rw-r--r-- | mojo/public/js/connector.js | 28 |
1 files changed, 10 insertions, 18 deletions
diff --git a/mojo/public/js/connector.js b/mojo/public/js/connector.js index e672b54..674f36b 100644 --- a/mojo/public/js/connector.js +++ b/mojo/public/js/connector.js @@ -16,17 +16,20 @@ define("mojo/public/js/connector", [ this.dropWrites_ = false; this.error_ = false; this.incomingReceiver_ = null; - this.readWaitCookie_ = null; + this.readWatcher_ = null; this.errorHandler_ = null; - if (handle) - this.waitToReadMore_(); + if (handle) { + this.readWatcher_ = support.watch(handle, + core.HANDLE_SIGNAL_READABLE, + this.readMore_.bind(this)); + } } Connector.prototype.close = function() { - if (this.readWaitCookie_) { - support.cancelWait(this.readWaitCookie_); - this.readWaitCookie_ = null; + if (this.readWatcher_) { + support.cancelWatch(this.readWatcher_); + this.readWatcher_ = null; } if (this.handle_ != null) { core.close(this.handle_); @@ -79,22 +82,14 @@ define("mojo/public/js/connector", [ return this.error_; }; - Connector.prototype.waitToReadMore_ = function() { - this.readWaitCookie_ = support.asyncWait(this.handle_, - core.HANDLE_SIGNAL_READABLE, - this.readMore_.bind(this)); - }; - Connector.prototype.readMore_ = function(result) { for (;;) { var read = core.readMessage(this.handle_, core.READ_MESSAGE_FLAG_NONE); if (this.handle_ == null) // The connector has been closed. return; - if (read.result == core.RESULT_SHOULD_WAIT) { - this.waitToReadMore_(); + if (read.result == core.RESULT_SHOULD_WAIT) return; - } if (read.result != core.RESULT_OK) { this.error_ = true; if (this.errorHandler_) @@ -118,9 +113,6 @@ define("mojo/public/js/connector", [ TestConnector.prototype = Object.create(Connector.prototype); - TestConnector.prototype.waitToReadMore_ = function() { - } - TestConnector.prototype.waitForNextMessage = function() { var wait = core.wait(this.handle_, core.HANDLE_SIGNAL_READABLE, core.DEADLINE_INDEFINITE); |