| 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 * This class provides a "bridge" for communicating between the javascript and | 6 * This class provides a "bridge" for communicating between the javascript and |
| 7 * the browser. | 7 * the browser. |
| 8 */ | 8 */ |
| 9 var BrowserBridge = (function() { | 9 var BrowserBridge = (function() { |
| 10 'use strict'; | 10 'use strict'; |
| 11 | 11 |
| 12 /** | 12 /** |
| 13 * Delay in milliseconds between updates of certain browser information. | 13 * Delay in milliseconds between updates of certain browser information. |
| 14 */ | 14 */ |
| 15 var POLL_INTERVAL_MS = 5000; | 15 var POLL_INTERVAL_MS = 5000; |
| 16 | 16 |
| 17 /** | 17 /** |
| 18 * @constructor | 18 * @constructor |
| 19 */ | 19 */ |
| 20 function BrowserBridge() { | 20 function BrowserBridge() { |
| 21 assertFirstConstructorCall(BrowserBridge); | 21 assertFirstConstructorCall(BrowserBridge); |
| 22 | 22 |
| 23 // List of observers for various bits of browser state. | 23 // List of observers for various bits of browser state. |
| 24 this.connectionTestsObservers_ = []; | 24 this.connectionTestsObservers_ = []; |
| 25 this.hstsObservers_ = []; | 25 this.hstsObservers_ = []; |
| 26 this.httpThrottlingObservers_ = []; | 26 this.httpThrottlingObservers_ = []; |
| 27 this.constantsObservers_ = []; | 27 this.constantsObservers_ = []; |
| 28 this.crosONCFileParseObservers_ = []; | 28 this.crosONCFileParseObservers_ = []; |
| 29 this.storeDebugLogsObservers_ = []; | 29 this.storeDebugLogsObservers_ = []; |
| 30 this.setNetworkDebugModeObservers_ = []; |
| 30 | 31 |
| 31 this.pollableDataHelpers_ = {}; | 32 this.pollableDataHelpers_ = {}; |
| 32 this.pollableDataHelpers_.proxySettings = | 33 this.pollableDataHelpers_.proxySettings = |
| 33 new PollableDataHelper('onProxySettingsChanged', | 34 new PollableDataHelper('onProxySettingsChanged', |
| 34 this.sendGetProxySettings.bind(this)); | 35 this.sendGetProxySettings.bind(this)); |
| 35 this.pollableDataHelpers_.badProxies = | 36 this.pollableDataHelpers_.badProxies = |
| 36 new PollableDataHelper('onBadProxiesChanged', | 37 new PollableDataHelper('onBadProxiesChanged', |
| 37 this.sendGetBadProxies.bind(this)); | 38 this.sendGetBadProxies.bind(this)); |
| 38 this.pollableDataHelpers_.httpCacheInfo = | 39 this.pollableDataHelpers_.httpCacheInfo = |
| 39 new PollableDataHelper('onHttpCacheInfoChanged', | 40 new PollableDataHelper('onHttpCacheInfoChanged', |
| (...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 231 }, | 232 }, |
| 232 | 233 |
| 233 importONCFile: function(fileContent, passcode) { | 234 importONCFile: function(fileContent, passcode) { |
| 234 this.send('importONCFile', [fileContent, passcode]); | 235 this.send('importONCFile', [fileContent, passcode]); |
| 235 }, | 236 }, |
| 236 | 237 |
| 237 storeDebugLogs: function() { | 238 storeDebugLogs: function() { |
| 238 this.send('storeDebugLogs'); | 239 this.send('storeDebugLogs'); |
| 239 }, | 240 }, |
| 240 | 241 |
| 242 setNetworkDebugMode: function(subsystem) { |
| 243 this.send('setNetworkDebugMode', [subsystem]); |
| 244 }, |
| 245 |
| 241 sendGetHttpPipeliningStatus: function() { | 246 sendGetHttpPipeliningStatus: function() { |
| 242 this.send('getHttpPipeliningStatus'); | 247 this.send('getHttpPipeliningStatus'); |
| 243 }, | 248 }, |
| 244 | 249 |
| 245 //-------------------------------------------------------------------------- | 250 //-------------------------------------------------------------------------- |
| 246 // Messages received from the browser. | 251 // Messages received from the browser. |
| 247 //-------------------------------------------------------------------------- | 252 //-------------------------------------------------------------------------- |
| 248 | 253 |
| 249 receive: function(command, params) { | 254 receive: function(command, params) { |
| 250 // Does nothing if disabled. | 255 // Does nothing if disabled. |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 328 receivedONCFileParse: function(error) { | 333 receivedONCFileParse: function(error) { |
| 329 for (var i = 0; i < this.crosONCFileParseObservers_.length; i++) | 334 for (var i = 0; i < this.crosONCFileParseObservers_.length; i++) |
| 330 this.crosONCFileParseObservers_[i].onONCFileParse(error); | 335 this.crosONCFileParseObservers_[i].onONCFileParse(error); |
| 331 }, | 336 }, |
| 332 | 337 |
| 333 receivedStoreDebugLogs: function(status) { | 338 receivedStoreDebugLogs: function(status) { |
| 334 for (var i = 0; i < this.storeDebugLogsObservers_.length; i++) | 339 for (var i = 0; i < this.storeDebugLogsObservers_.length; i++) |
| 335 this.storeDebugLogsObservers_[i].onStoreDebugLogs(status); | 340 this.storeDebugLogsObservers_[i].onStoreDebugLogs(status); |
| 336 }, | 341 }, |
| 337 | 342 |
| 343 receivedSetNetworkDebugMode: function(status) { |
| 344 for (var i = 0; i < this.setNetworkDebugModeObservers_.length; i++) |
| 345 this.setNetworkDebugModeObservers_[i].onSetNetworkDebugMode(status); |
| 346 }, |
| 347 |
| 338 receivedHttpCacheInfo: function(info) { | 348 receivedHttpCacheInfo: function(info) { |
| 339 this.pollableDataHelpers_.httpCacheInfo.update(info); | 349 this.pollableDataHelpers_.httpCacheInfo.update(info); |
| 340 }, | 350 }, |
| 341 | 351 |
| 342 receivedHttpThrottlingEnabledPrefChanged: function(enabled) { | 352 receivedHttpThrottlingEnabledPrefChanged: function(enabled) { |
| 343 for (var i = 0; i < this.httpThrottlingObservers_.length; i++) { | 353 for (var i = 0; i < this.httpThrottlingObservers_.length; i++) { |
| 344 this.httpThrottlingObservers_[i].onHttpThrottlingEnabledPrefChanged( | 354 this.httpThrottlingObservers_[i].onHttpThrottlingEnabledPrefChanged( |
| 345 enabled); | 355 enabled); |
| 346 } | 356 } |
| 347 }, | 357 }, |
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 534 * Adds a listener for storing log file status. The observer will be called | 544 * Adds a listener for storing log file status. The observer will be called |
| 535 * back with: | 545 * back with: |
| 536 * | 546 * |
| 537 * observer.onStoreDebugLogs(status); | 547 * observer.onStoreDebugLogs(status); |
| 538 */ | 548 */ |
| 539 addStoreDebugLogsObserver: function(observer) { | 549 addStoreDebugLogsObserver: function(observer) { |
| 540 this.storeDebugLogsObservers_.push(observer); | 550 this.storeDebugLogsObservers_.push(observer); |
| 541 }, | 551 }, |
| 542 | 552 |
| 543 /** | 553 /** |
| 554 * Adds a listener for network debugging mode status. The observer |
| 555 * will be called back with: |
| 556 * |
| 557 * observer.onSetNetworkDebugMode(status); |
| 558 */ |
| 559 addSetNetworkDebugModeObserver: function(observer) { |
| 560 this.setNetworkDebugModeObservers_.push(observer); |
| 561 }, |
| 562 |
| 563 /** |
| 544 * Adds a listener for HTTP throttling-related events. |observer| will be | 564 * Adds a listener for HTTP throttling-related events. |observer| will be |
| 545 * called back when HTTP throttling is enabled/disabled, through: | 565 * called back when HTTP throttling is enabled/disabled, through: |
| 546 * | 566 * |
| 547 * observer.onHttpThrottlingEnabledPrefChanged(enabled); | 567 * observer.onHttpThrottlingEnabledPrefChanged(enabled); |
| 548 */ | 568 */ |
| 549 addHttpThrottlingObserver: function(observer) { | 569 addHttpThrottlingObserver: function(observer) { |
| 550 this.httpThrottlingObservers_.push(observer); | 570 this.httpThrottlingObservers_.push(observer); |
| 551 }, | 571 }, |
| 552 | 572 |
| 553 /** | 573 /** |
| (...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 735 helper.removeObserver(this); | 755 helper.removeObserver(this); |
| 736 --this.observingCount_; | 756 --this.observingCount_; |
| 737 this.updatedData_[name] = data; | 757 this.updatedData_[name] = data; |
| 738 if (this.observingCount_ == 0) | 758 if (this.observingCount_ == 0) |
| 739 this.callback_(this.updatedData_); | 759 this.callback_(this.updatedData_); |
| 740 } | 760 } |
| 741 }; | 761 }; |
| 742 | 762 |
| 743 return BrowserBridge; | 763 return BrowserBridge; |
| 744 })(); | 764 })(); |
| OLD | NEW |