Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 593 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 604 } | 604 } |
| 605 | 605 |
| 606 /** | 606 /** |
| 607 * @constructor | 607 * @constructor |
| 608 * @extends {InspectorBackendClass.Connection} | 608 * @extends {InspectorBackendClass.Connection} |
| 609 */ | 609 */ |
| 610 InspectorBackendClass.MainConnection = function() | 610 InspectorBackendClass.MainConnection = function() |
| 611 { | 611 { |
| 612 InspectorBackendClass.Connection.call(this); | 612 InspectorBackendClass.Connection.call(this); |
| 613 InspectorFrontendHost.events.addEventListener(InspectorFrontendHostAPI.Event s.DispatchMessage, this._dispatchMessage, this); | 613 InspectorFrontendHost.events.addEventListener(InspectorFrontendHostAPI.Event s.DispatchMessage, this._dispatchMessage, this); |
| 614 InspectorFrontendHost.events.addEventListener(InspectorFrontendHostAPI.Event s.DispatchMessageChunk, this._dispatchMessageChunk, this); | |
| 614 } | 615 } |
| 615 | 616 |
| 616 InspectorBackendClass.MainConnection.prototype = { | 617 InspectorBackendClass.MainConnection.prototype = { |
| 617 | 618 |
| 618 /** | 619 /** |
| 619 * @param {!Object} messageObject | 620 * @param {!Object} messageObject |
| 620 */ | 621 */ |
| 621 sendMessage: function(messageObject) | 622 sendMessage: function(messageObject) |
| 622 { | 623 { |
| 623 var message = JSON.stringify(messageObject); | 624 var message = JSON.stringify(messageObject); |
| 624 InspectorFrontendHost.sendMessageToBackend(message); | 625 InspectorFrontendHost.sendMessageToBackend(message); |
| 625 }, | 626 }, |
| 626 | 627 |
| 627 /** | 628 /** |
| 628 * @param {!WebInspector.Event} event | 629 * @param {!WebInspector.Event} event |
| 629 */ | 630 */ |
| 630 _dispatchMessage: function(event) | 631 _dispatchMessage: function(event) |
| 631 { | 632 { |
| 632 this.dispatch(/** @type {!Object|string} */ (event.data)); | 633 this.dispatch(/** @type {string} */ (event.data)); |
|
dgozman
2014/10/15 13:51:38
event.data could actually be an object (at least i
pfeldman
2014/10/15 14:06:59
Which layout tests?
| |
| 634 }, | |
| 635 | |
| 636 /** | |
| 637 * @param {!WebInspector.Event} event | |
| 638 */ | |
| 639 _dispatchMessageChunk: function(event) | |
| 640 { | |
| 641 var messageChunk = /** @type {string} */ (event.data["messageChunk"]); | |
| 642 var messageSize = /** @type {number} */ (event.data["messageSize"]); | |
|
alph
2014/10/15 13:44:58
Why do you need size? lastChunk boolean should be
pfeldman
2014/10/15 14:06:59
I'm doing it for consistency with the backend. Als
| |
| 643 if (messageSize) { | |
| 644 this._messageBuffer = ""; | |
| 645 this._messageSize = messageSize; | |
| 646 } | |
| 647 this._messageBuffer += messageChunk; | |
| 648 if (this._messageBuffer.length === this._messageSize) { | |
| 649 this.dispatch(this._messageBuffer); | |
|
dgozman
2014/10/15 13:51:38
It's safer to clear |this._messageBuffer| and |thi
pfeldman
2014/10/15 14:06:59
This is an async IPC call, we should not re-enter.
| |
| 650 this._messageBuffer = ""; | |
| 651 this._messageSize = 0; | |
| 652 } | |
| 633 }, | 653 }, |
| 634 | 654 |
| 635 __proto__: InspectorBackendClass.Connection.prototype | 655 __proto__: InspectorBackendClass.Connection.prototype |
| 636 } | 656 } |
| 637 | 657 |
| 638 /** | 658 /** |
| 639 * @constructor | 659 * @constructor |
| 640 * @extends {InspectorBackendClass.Connection} | 660 * @extends {InspectorBackendClass.Connection} |
| 641 * @param {string} url | 661 * @param {string} url |
| 642 * @param {!function(!InspectorBackendClass.Connection)} onConnectionReady | 662 * @param {!function(!InspectorBackendClass.Connection)} onConnectionReady |
| (...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 936 | 956 |
| 937 } | 957 } |
| 938 | 958 |
| 939 InspectorBackendClass.Options = { | 959 InspectorBackendClass.Options = { |
| 940 dumpInspectorTimeStats: false, | 960 dumpInspectorTimeStats: false, |
| 941 dumpInspectorProtocolMessages: false, | 961 dumpInspectorProtocolMessages: false, |
| 942 suppressRequestErrors: false | 962 suppressRequestErrors: false |
| 943 } | 963 } |
| 944 | 964 |
| 945 InspectorBackend = new InspectorBackendClass(); | 965 InspectorBackend = new InspectorBackendClass(); |
| OLD | NEW |