| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 'use strict'; | 5 'use strict'; |
| 6 | 6 |
| 7 /** @suppress {duplicate} */ | 7 /** @suppress {duplicate} */ |
| 8 var remoting = remoting || {}; | 8 var remoting = remoting || {}; |
| 9 | 9 |
| 10 /** | 10 /** |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 }; | 36 }; |
| 37 | 37 |
| 38 /** | 38 /** |
| 39 * @return {remoting.Error.Tag} The tag used to create this Error. | 39 * @return {remoting.Error.Tag} The tag used to create this Error. |
| 40 */ | 40 */ |
| 41 remoting.Error.prototype.getTag = function() { | 41 remoting.Error.prototype.getTag = function() { |
| 42 return this.tag_; | 42 return this.tag_; |
| 43 }; | 43 }; |
| 44 | 44 |
| 45 /** | 45 /** |
| 46 * @return {?string} The detail string passed to the constructor, if any. |
| 47 */ |
| 48 remoting.Error.prototype.getDetail = function() { |
| 49 return this.detail_; |
| 50 }; |
| 51 |
| 52 /** |
| 46 * Checks the type of an error. | 53 * Checks the type of an error. |
| 47 * @param {remoting.Error.Tag} tag | 54 * @param {remoting.Error.Tag} tag |
| 48 * @param {...remoting.Error.Tag} var_args | 55 * @param {...remoting.Error.Tag} var_args |
| 49 * @return {boolean} True if this object has one of the specified tags. | 56 * @return {boolean} True if this object has one of the specified tags. |
| 50 */ | 57 */ |
| 51 remoting.Error.prototype.hasTag = function(tag, var_args) { | 58 remoting.Error.prototype.hasTag = function(tag, var_args) { |
| 52 var thisTag = this.tag_; | 59 var thisTag = this.tag_; |
| 53 return Array.prototype.some.call( | 60 return Array.prototype.some.call( |
| 54 arguments, | 61 arguments, |
| 55 function(/** remoting.Error.Tag */ tag) { | 62 function(/** remoting.Error.Tag */ tag) { |
| (...skipping 12 matching lines...) Expand all Loading... |
| 68 /** | 75 /** |
| 69 * Convenience method for creating the second most common error type. | 76 * Convenience method for creating the second most common error type. |
| 70 * @return {!remoting.Error} | 77 * @return {!remoting.Error} |
| 71 */ | 78 */ |
| 72 remoting.Error.none = function() { | 79 remoting.Error.none = function() { |
| 73 return new remoting.Error(remoting.Error.Tag.NONE); | 80 return new remoting.Error(remoting.Error.Tag.NONE); |
| 74 }; | 81 }; |
| 75 | 82 |
| 76 /** | 83 /** |
| 77 * Convenience method for creating the most common error type. | 84 * Convenience method for creating the most common error type. |
| 85 * @param {string=} opt_detail |
| 78 * @return {!remoting.Error} | 86 * @return {!remoting.Error} |
| 79 */ | 87 */ |
| 80 remoting.Error.unexpected = function() { | 88 remoting.Error.unexpected = function(opt_detail) { |
| 81 return new remoting.Error(remoting.Error.Tag.UNEXPECTED); | 89 return new remoting.Error(remoting.Error.Tag.UNEXPECTED, opt_detail); |
| 82 }; | 90 }; |
| 83 | 91 |
| 84 /** | 92 /** |
| 85 * @enum {string} All error messages from messages.json | 93 * @enum {string} All error messages from messages.json |
| 86 */ | 94 */ |
| 87 remoting.Error.Tag = { | 95 remoting.Error.Tag = { |
| 88 NONE: '', | 96 NONE: '', |
| 89 | 97 |
| 90 // Used to signify that an operation was cancelled by the user. This should | 98 // Used to signify that an operation was cancelled by the user. This should |
| 91 // not normally cause the error text to be shown to the user, so the | 99 // not normally cause the error text to be shown to the user, so the |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 153 remoting.Error.handler = function(onError) { | 161 remoting.Error.handler = function(onError) { |
| 154 return function(/** * */ error) { | 162 return function(/** * */ error) { |
| 155 if (error instanceof remoting.Error) { | 163 if (error instanceof remoting.Error) { |
| 156 onError(/** @type {!remoting.Error} */ (error)); | 164 onError(/** @type {!remoting.Error} */ (error)); |
| 157 } else { | 165 } else { |
| 158 console.error('Unexpected error:', error); | 166 console.error('Unexpected error:', error); |
| 159 onError(remoting.Error.unexpected()); | 167 onError(remoting.Error.unexpected()); |
| 160 } | 168 } |
| 161 }; | 169 }; |
| 162 }; | 170 }; |
| OLD | NEW |