| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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 /** | 5 /** |
| 6 * Enum for WebDriver status codes. | 6 * Enum for WebDriver status codes. |
| 7 * @enum {number} | 7 * @enum {number} |
| 8 */ | 8 */ |
| 9 var StatusCode = { | 9 var StatusCode = { |
| 10 STALE_ELEMENT_REFERENCE: 10, | 10 STALE_ELEMENT_REFERENCE: 10, |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 94 /** | 94 /** |
| 95 * @private | 95 * @private |
| 96 * @param {!Node} node The node to check. | 96 * @param {!Node} node The node to check. |
| 97 * @return {boolean} If the nodes is reachable. | 97 * @return {boolean} If the nodes is reachable. |
| 98 */ | 98 */ |
| 99 isNodeReachable_: function(node) { | 99 isNodeReachable_: function(node) { |
| 100 var nodeRoot = getNodeRoot(node); | 100 var nodeRoot = getNodeRoot(node); |
| 101 if (nodeRoot == document) | 101 if (nodeRoot == document) |
| 102 return true; | 102 return true; |
| 103 else if (SHADOW_DOM_ENABLED && nodeRoot instanceof ShadowRoot) | 103 else if (SHADOW_DOM_ENABLED && nodeRoot instanceof ShadowRoot) |
| 104 return this.isNodeReachable_(nodeRoot.host); | 104 return true; |
| 105 | 105 |
| 106 return false; | 106 return false; |
| 107 } | 107 } |
| 108 }; | 108 }; |
| 109 | 109 |
| 110 /** | 110 /** |
| 111 * Returns the root element of the node. Found by traversing parentNodes until | 111 * Returns the root element of the node. Found by traversing parentNodes until |
| 112 * a node with no parent is found. This node is considered the root. | 112 * a node with no parent is found. This node is considered the root. |
| 113 * @param {!Node} node The node to find the root element for. | 113 * @param {!Node} node The node to find the root element for. |
| 114 * @return {!Node} The root node. | 114 * @return {!Node} The root node. |
| (...skipping 26 matching lines...) Expand all Loading... |
| 141 * @param {*} value The value to wrap. | 141 * @param {*} value The value to wrap. |
| 142 * @return {*} The wrapped value. | 142 * @return {*} The wrapped value. |
| 143 */ | 143 */ |
| 144 function wrap(value) { | 144 function wrap(value) { |
| 145 if (typeof(value) == 'object' && value != null) { | 145 if (typeof(value) == 'object' && value != null) { |
| 146 var nodeType = value['nodeType']; | 146 var nodeType = value['nodeType']; |
| 147 if (nodeType == NodeType.ELEMENT || nodeType == NodeType.DOCUMENT | 147 if (nodeType == NodeType.ELEMENT || nodeType == NodeType.DOCUMENT |
| 148 || (SHADOW_DOM_ENABLED && value instanceof ShadowRoot)) { | 148 || (SHADOW_DOM_ENABLED && value instanceof ShadowRoot)) { |
| 149 var wrapped = {}; | 149 var wrapped = {}; |
| 150 var root = getNodeRoot(value); | 150 var root = getNodeRoot(value); |
| 151 wrapped[ELEMENT_KEY] = getPageCache().storeItem(value); | 151 wrapped[ELEMENT_KEY] = getPageCache(root).storeItem(value); |
| 152 return wrapped; | 152 return wrapped; |
| 153 } | 153 } |
| 154 | 154 |
| 155 var obj = (typeof(value.length) == 'number') ? [] : {}; | 155 var obj = (typeof(value.length) == 'number') ? [] : {}; |
| 156 for (var prop in value) | 156 for (var prop in value) |
| 157 obj[prop] = wrap(value[prop]); | 157 obj[prop] = wrap(value[prop]); |
| 158 return obj; | 158 return obj; |
| 159 } | 159 } |
| 160 return value; | 160 return value; |
| 161 } | 161 } |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 222 var returnValue = wrap(func.apply(null, unwrap(args, cache))); | 222 var returnValue = wrap(func.apply(null, unwrap(args, cache))); |
| 223 } catch (error) { | 223 } catch (error) { |
| 224 status = error.code || StatusCode.UNKNOWN_ERROR; | 224 status = error.code || StatusCode.UNKNOWN_ERROR; |
| 225 var returnValue = error.message; | 225 var returnValue = error.message; |
| 226 } | 226 } |
| 227 return { | 227 return { |
| 228 status: status, | 228 status: status, |
| 229 value: returnValue | 229 value: returnValue |
| 230 } | 230 } |
| 231 } | 231 } |
| OLD | NEW |