Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(464)

Side by Side Diff: chrome/renderer/resources/extensions/automation/automation_node.js

Issue 561923002: Revert of Add logspam to help diagnose flaky tests (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 var AutomationEvent = require('automationEvent').AutomationEvent; 5 var AutomationEvent = require('automationEvent').AutomationEvent;
6 var automationInternal = 6 var automationInternal =
7 require('binding').Binding.create('automationInternal').generate(); 7 require('binding').Binding.create('automationInternal').generate();
8 var IsInteractPermitted = 8 var IsInteractPermitted =
9 requireNative('automationInternal').IsInteractPermitted; 9 requireNative('automationInternal').IsInteractPermitted;
10 10
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 if (this.listeners[eventType]) { 107 if (this.listeners[eventType]) {
108 var listeners = this.listeners[eventType]; 108 var listeners = this.listeners[eventType];
109 for (var i = 0; i < listeners.length; i++) { 109 for (var i = 0; i < listeners.length; i++) {
110 if (callback === listeners[i].callback) 110 if (callback === listeners[i].callback)
111 listeners.splice(i, 1); 111 listeners.splice(i, 1);
112 } 112 }
113 } 113 }
114 }, 114 },
115 115
116 dispatchEvent: function(eventType) { 116 dispatchEvent: function(eventType) {
117 logging.LOG('dispatching ' + eventType + ' on ' + this.id);
118 var path = []; 117 var path = [];
119 var parent = this.parent(); 118 var parent = this.parent();
120 while (parent) { 119 while (parent) {
121 path.push(parent); 120 path.push(parent);
122 // TODO(aboxhall/dtseng): handle unloaded parent node 121 // TODO(aboxhall/dtseng): handle unloaded parent node
123 parent = parent.parent(); 122 parent = parent.parent();
124 } 123 }
125 var event = new AutomationEvent(eventType, this.wrapper); 124 var event = new AutomationEvent(eventType, this.wrapper);
126 125
127 // Dispatch the event through the propagation path in three phases: 126 // Dispatch the event through the propagation path in three phases:
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
276 * unique ids per node and we use these ids to build a hash to the actual 275 * unique ids per node and we use these ids to build a hash to the actual
277 * AutomationNode object. 276 * AutomationNode object.
278 * Thus, tree traversals amount to a lookup in our hash. 277 * Thus, tree traversals amount to a lookup in our hash.
279 * 278 *
280 * The tree itself is identified by the process id and routing id of the 279 * The tree itself is identified by the process id and routing id of the
281 * renderer widget host. 280 * renderer widget host.
282 * @constructor 281 * @constructor
283 */ 282 */
284 function AutomationRootNodeImpl(processID, routingID) { 283 function AutomationRootNodeImpl(processID, routingID) {
285 AutomationNodeImpl.call(this, this); 284 AutomationNodeImpl.call(this, this);
286 logging.LOG('AutomationRootNodeImpl constructor: processID=' + processID +
287 '; routingID=' + routingID + '; this.id=' + this.id);
288 this.processID = processID; 285 this.processID = processID;
289 this.routingID = routingID; 286 this.routingID = routingID;
290 this.axNodeDataCache_ = {}; 287 this.axNodeDataCache_ = {};
291 } 288 }
292 289
293 AutomationRootNodeImpl.prototype = { 290 AutomationRootNodeImpl.prototype = {
294 __proto__: AutomationNodeImpl.prototype, 291 __proto__: AutomationNodeImpl.prototype,
295 292
296 isRootNode: true, 293 isRootNode: true,
297 294
298 get: function(id) { 295 get: function(id) {
299 if (id == undefined) 296 if (id == undefined)
300 return undefined; 297 return undefined;
301 298
302 return this.axNodeDataCache_[id]; 299 return this.axNodeDataCache_[id];
303 }, 300 },
304 301
305 unserialize: function(update) { 302 unserialize: function(update) {
306 var updateState = { pendingNodes: {}, newNodes: {} }; 303 var updateState = { pendingNodes: {}, newNodes: {} };
304 var oldRootId = this.id;
307 305
308 if (update.nodeIdToClear < 0) { 306 if (update.nodeIdToClear < 0) {
309 logging.WARNING('Bad nodeIdToClear: ' + update.nodeIdToClear); 307 logging.WARNING('Bad nodeIdToClear: ' + update.nodeIdToClear);
310 lastError.set('automation', 308 lastError.set('automation',
311 'Bad update received on automation tree', 309 'Bad update received on automation tree',
312 null, 310 null,
313 chrome); 311 chrome);
314 return false; 312 return false;
315 } else if (update.nodeIdToClear > 0) { 313 } else if (update.nodeIdToClear > 0) {
316 var nodeToClear = this.axNodeDataCache_[update.nodeIdToClear]; 314 var nodeToClear = this.axNodeDataCache_[update.nodeIdToClear];
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
487 privates(childNode).impl.indexInParent = i; 485 privates(childNode).impl.indexInParent = i;
488 privates(childNode).impl.parentID = node.id; 486 privates(childNode).impl.parentID = node.id;
489 } 487 }
490 488
491 return success; 489 return success;
492 }, 490 },
493 491
494 setData_: function(node, nodeData) { 492 setData_: function(node, nodeData) {
495 var nodeImpl = privates(node).impl; 493 var nodeImpl = privates(node).impl;
496 for (var key in AutomationAttributeDefaults) { 494 for (var key in AutomationAttributeDefaults) {
497 if (key in nodeData) { 495 if (key in nodeData)
498 if (key == 'id' && nodeImpl[key] != nodeData[key]) {
499 logging.LOG('Changing ID of node from ' + nodeImpl[key] + ' to ' +
500 nodeData[key]);
501 }
502 nodeImpl[key] = nodeData[key]; 496 nodeImpl[key] = nodeData[key];
503 } else { 497 else
504 nodeImpl[key] = AutomationAttributeDefaults[key]; 498 nodeImpl[key] = AutomationAttributeDefaults[key];
505 }
506 } 499 }
507 for (var i = 0; i < AutomationAttributeTypes.length; i++) { 500 for (var i = 0; i < AutomationAttributeTypes.length; i++) {
508 var attributeType = AutomationAttributeTypes[i]; 501 var attributeType = AutomationAttributeTypes[i];
509 for (var attributeName in nodeData[attributeType]) { 502 for (var attributeName in nodeData[attributeType]) {
510 nodeImpl.attributesInternal[attributeName] = 503 nodeImpl.attributesInternal[attributeName] =
511 nodeData[attributeType][attributeName]; 504 nodeData[attributeType][attributeName];
512 if (ATTRIBUTE_BLACKLIST.hasOwnProperty(attributeName) || 505 if (ATTRIBUTE_BLACKLIST.hasOwnProperty(attributeName) ||
513 nodeImpl.attributes.hasOwnProperty(attributeName)) { 506 nodeImpl.attributes.hasOwnProperty(attributeName)) {
514 continue; 507 continue;
515 } else if ( 508 } else if (
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
614 'toString'] }); 607 'toString'] });
615 608
616 var AutomationRootNode = utils.expose('AutomationRootNode', 609 var AutomationRootNode = utils.expose('AutomationRootNode',
617 AutomationRootNodeImpl, 610 AutomationRootNodeImpl,
618 { superclass: AutomationNode, 611 { superclass: AutomationNode,
619 functions: ['load'], 612 functions: ['load'],
620 readonly: ['loaded'] }); 613 readonly: ['loaded'] });
621 614
622 exports.AutomationNode = AutomationNode; 615 exports.AutomationNode = AutomationNode;
623 exports.AutomationRootNode = AutomationRootNode; 616 exports.AutomationRootNode = AutomationRootNode;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698