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

Side by Side Diff: chrome_linux64/resources/inspector/devtools_extension_api.js

Issue 310483004: Roll reference builds to 35.0.1916.114. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/reference_builds/
Patch Set: Created 6 years, 6 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 (function() { 1 (function() {
2 /* 2 /*
3 * Copyright (C) 2012 Google Inc. All rights reserved. 3 * Copyright (C) 2012 Google Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are 6 * modification, are permitted provided that the following conditions are
7 * met: 7 * met:
8 * 8 *
9 * * Redistributions of source code must retain the above copyright 9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 { 243 {
244 function callbackWrapper(result) 244 function callbackWrapper(result)
245 { 245 {
246 var entries = (result && result.entries) || []; 246 var entries = (result && result.entries) || [];
247 for (var i = 0; i < entries.length; ++i) { 247 for (var i = 0; i < entries.length; ++i) {
248 entries[i].__proto__ = new Request(entries[i]._requestId); 248 entries[i].__proto__ = new Request(entries[i]._requestId);
249 delete entries[i]._requestId; 249 delete entries[i]._requestId;
250 } 250 }
251 callback(result); 251 callback(result);
252 } 252 }
253 return extensionServer.sendRequest({ command: commands.GetHAR }, callbac k && callbackWrapper); 253 extensionServer.sendRequest({ command: commands.GetHAR }, callback && ca llbackWrapper);
254 }, 254 },
255 255
256 addRequestHeaders: function(headers) 256 addRequestHeaders: function(headers)
257 { 257 {
258 return extensionServer.sendRequest({ command: commands.AddRequestHeaders , headers: headers, extensionId: window.location.hostname }); 258 extensionServer.sendRequest({ command: commands.AddRequestHeaders, heade rs: headers, extensionId: window.location.hostname });
259 } 259 }
260 } 260 }
261 261
262 /** 262 /**
263 * @constructor 263 * @constructor
264 */ 264 */
265 function RequestImpl(id) 265 function RequestImpl(id)
266 { 266 {
267 this._id = id; 267 this._id = id;
268 } 268 }
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
358 * @this {EventSinkImpl} 358 * @this {EventSinkImpl}
359 */ 359 */
360 function dispatchShowEvent(message) 360 function dispatchShowEvent(message)
361 { 361 {
362 var frameIndex = message.arguments[0]; 362 var frameIndex = message.arguments[0];
363 if (typeof frameIndex === "number") 363 if (typeof frameIndex === "number")
364 this._fire(window.parent.frames[frameIndex]); 364 this._fire(window.parent.frames[frameIndex]);
365 else 365 else
366 this._fire(); 366 this._fire();
367 } 367 }
368 this.onShown = new EventSink(events.ViewShown + id, dispatchShowEvent); 368
369 this.onHidden = new EventSink(events.ViewHidden + id); 369 if (id) {
370 this.onShown = new EventSink(events.ViewShown + id, dispatchShowEvent);
371 this.onHidden = new EventSink(events.ViewHidden + id);
372 }
370 } 373 }
371 374
372 /** 375 /**
373 * @constructor 376 * @constructor
374 * @extends {ExtensionViewImpl} 377 * @extends {ExtensionViewImpl}
378 * @param {string} hostPanelName
375 */ 379 */
376 function PanelWithSidebarImpl(hostPanelName) 380 function PanelWithSidebarImpl(hostPanelName)
377 { 381 {
382 ExtensionViewImpl.call(this, null);
378 this._hostPanelName = hostPanelName; 383 this._hostPanelName = hostPanelName;
379 this.onSelectionChanged = new EventSink(events.PanelObjectSelected + hostPan elName); 384 this.onSelectionChanged = new EventSink(events.PanelObjectSelected + hostPan elName);
380 } 385 }
381 386
382 PanelWithSidebarImpl.prototype = { 387 PanelWithSidebarImpl.prototype = {
383 createSidebarPane: function(title, callback) 388 createSidebarPane: function(title, callback)
384 { 389 {
385 var id = "extension-sidebar-" + extensionServer.nextObjectId(); 390 var id = "extension-sidebar-" + extensionServer.nextObjectId();
386 var request = { 391 var request = {
387 command: commands.CreateSidebarPane, 392 command: commands.CreateSidebarPane,
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
470 * @constructor 475 * @constructor
471 * @extends {ExtensionViewImpl} 476 * @extends {ExtensionViewImpl}
472 */ 477 */
473 function ExtensionPanelImpl(id) 478 function ExtensionPanelImpl(id)
474 { 479 {
475 ExtensionViewImpl.call(this, id); 480 ExtensionViewImpl.call(this, id);
476 this.onSearch = new EventSink(events.PanelSearch + id); 481 this.onSearch = new EventSink(events.PanelSearch + id);
477 } 482 }
478 483
479 ExtensionPanelImpl.prototype = { 484 ExtensionPanelImpl.prototype = {
485 /**
486 * @return {!Object}
487 */
480 createStatusBarButton: function(iconPath, tooltipText, disabled) 488 createStatusBarButton: function(iconPath, tooltipText, disabled)
481 { 489 {
482 var id = "button-" + extensionServer.nextObjectId(); 490 var id = "button-" + extensionServer.nextObjectId();
483 var request = { 491 var request = {
484 command: commands.CreateStatusBarButton, 492 command: commands.CreateStatusBarButton,
485 panel: this._id, 493 panel: this._id,
486 id: id, 494 id: id,
487 icon: iconPath, 495 icon: iconPath,
488 tooltip: tooltipText, 496 tooltip: tooltipText,
489 disabled: !!disabled 497 disabled: !!disabled
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
573 }; 581 };
574 582
575 /** 583 /**
576 * @constructor 584 * @constructor
577 */ 585 */
578 function Audits() 586 function Audits()
579 { 587 {
580 } 588 }
581 589
582 Audits.prototype = { 590 Audits.prototype = {
591 /**
592 * @return {!AuditCategory}
593 */
583 addCategory: function(displayName, resultCount) 594 addCategory: function(displayName, resultCount)
584 { 595 {
585 var id = "extension-audit-category-" + extensionServer.nextObjectId(); 596 var id = "extension-audit-category-" + extensionServer.nextObjectId();
586 if (typeof resultCount !== "undefined") 597 if (typeof resultCount !== "undefined")
587 console.warn("Passing resultCount to audits.addCategory() is depreca ted. Use AuditResult.updateProgress() instead."); 598 console.warn("Passing resultCount to audits.addCategory() is depreca ted. Use AuditResult.updateProgress() instead.");
588 extensionServer.sendRequest({ command: commands.AddAuditCategory, id: id , displayName: displayName, resultCount: resultCount }); 599 extensionServer.sendRequest({ command: commands.AddAuditCategory, id: id , displayName: displayName, resultCount: resultCount });
589 return new AuditCategory(id); 600 return new AuditCategory(id);
590 } 601 }
591 } 602 }
592 603
(...skipping 19 matching lines...) Expand all
612 this.onAuditStarted = new EventSink(events.AuditStarted + id, dispatchAuditE vent); 623 this.onAuditStarted = new EventSink(events.AuditStarted + id, dispatchAuditE vent);
613 } 624 }
614 625
615 /** 626 /**
616 * @constructor 627 * @constructor
617 */ 628 */
618 function AuditResultImpl(id) 629 function AuditResultImpl(id)
619 { 630 {
620 this._id = id; 631 this._id = id;
621 632
622 this.createURL = this._nodeFactory.bind(null, "url"); 633 this.createURL = this._nodeFactory.bind(this, "url");
623 this.createSnippet = this._nodeFactory.bind(null, "snippet"); 634 this.createSnippet = this._nodeFactory.bind(this, "snippet");
624 this.createText = this._nodeFactory.bind(null, "text"); 635 this.createText = this._nodeFactory.bind(this, "text");
625 this.createObject = this._nodeFactory.bind(null, "object"); 636 this.createObject = this._nodeFactory.bind(this, "object");
626 this.createNode = this._nodeFactory.bind(null, "node"); 637 this.createNode = this._nodeFactory.bind(this, "node");
627 } 638 }
628 639
629 AuditResultImpl.prototype = { 640 AuditResultImpl.prototype = {
630 addResult: function(displayName, description, severity, details) 641 addResult: function(displayName, description, severity, details)
631 { 642 {
632 // shorthand for specifying details directly in addResult(). 643 // shorthand for specifying details directly in addResult().
633 if (details && !(details instanceof AuditResultNode)) 644 if (details && !(details instanceof AuditResultNode))
634 details = new AuditResultNode(details instanceof Array ? details : [ details]); 645 details = new AuditResultNode(details instanceof Array ? details : [ details]);
635 646
636 var request = { 647 var request = {
637 command: commands.AddAuditResult, 648 command: commands.AddAuditResult,
638 resultId: this._id, 649 resultId: this._id,
639 displayName: displayName, 650 displayName: displayName,
640 description: description, 651 description: description,
641 severity: severity, 652 severity: severity,
642 details: details 653 details: details
643 }; 654 };
644 extensionServer.sendRequest(request); 655 extensionServer.sendRequest(request);
645 }, 656 },
646 657
658 /**
659 * @return {!Object}
660 */
647 createResult: function() 661 createResult: function()
648 { 662 {
649 return new AuditResultNode(Array.prototype.slice.call(arguments)); 663 return new AuditResultNode(Array.prototype.slice.call(arguments));
650 }, 664 },
651 665
652 updateProgress: function(worked, totalWork) 666 updateProgress: function(worked, totalWork)
653 { 667 {
654 extensionServer.sendRequest({ command: commands.UpdateAuditProgress, res ultId: this._id, progress: worked / totalWork }); 668 extensionServer.sendRequest({ command: commands.UpdateAuditProgress, res ultId: this._id, progress: worked / totalWork });
655 }, 669 },
656 670
657 done: function() 671 done: function()
658 { 672 {
659 extensionServer.sendRequest({ command: commands.StopAuditCategoryRun, re sultId: this._id }); 673 extensionServer.sendRequest({ command: commands.StopAuditCategoryRun, re sultId: this._id });
660 }, 674 },
661 675
676 /**
677 * @type {!Object.<string, string>}
678 */
662 get Severity() 679 get Severity()
663 { 680 {
664 return apiPrivate.audits.Severity; 681 return apiPrivate.audits.Severity;
665 }, 682 },
666 683
684 /**
685 * @return {!{type: string, arguments: !Array.<string|number>}}
686 */
667 createResourceLink: function(url, lineNumber) 687 createResourceLink: function(url, lineNumber)
668 { 688 {
669 return { 689 return {
670 type: "resourceLink", 690 type: "resourceLink",
671 arguments: [url, lineNumber && lineNumber - 1] 691 arguments: [url, lineNumber && lineNumber - 1]
672 }; 692 };
673 }, 693 },
674 694
695 /**
696 * @return {!{type: string, arguments: !Array.<string|number>}}
697 */
675 _nodeFactory: function(type) 698 _nodeFactory: function(type)
676 { 699 {
677 return { 700 return {
678 type: type, 701 type: type,
679 arguments: Array.prototype.slice.call(arguments, 1) 702 arguments: Array.prototype.slice.call(arguments, 1)
680 }; 703 };
681 } 704 }
682 } 705 }
683 706
684 /** 707 /**
685 * @constructor 708 * @constructor
686 */ 709 */
687 function AuditResultNode(contents) 710 function AuditResultNode(contents)
688 { 711 {
689 this.contents = contents; 712 this.contents = contents;
690 this.children = []; 713 this.children = [];
691 this.expanded = false; 714 this.expanded = false;
692 } 715 }
693 716
694 AuditResultNode.prototype = { 717 AuditResultNode.prototype = {
718 /**
719 * @return {!Object}
720 */
695 addChild: function() 721 addChild: function()
696 { 722 {
697 var node = new AuditResultNode(Array.prototype.slice.call(arguments)); 723 var node = new AuditResultNode(Array.prototype.slice.call(arguments));
698 this.children.push(node); 724 this.children.push(node);
699 return node; 725 return node;
700 } 726 }
701 }; 727 };
702 728
703 /** 729 /**
704 * @constructor 730 * @constructor
(...skipping 24 matching lines...) Expand all
729 reload: function(optionsOrUserAgent) 755 reload: function(optionsOrUserAgent)
730 { 756 {
731 var options = null; 757 var options = null;
732 if (typeof optionsOrUserAgent === "object") 758 if (typeof optionsOrUserAgent === "object")
733 options = optionsOrUserAgent; 759 options = optionsOrUserAgent;
734 else if (typeof optionsOrUserAgent === "string") { 760 else if (typeof optionsOrUserAgent === "string") {
735 options = { userAgent: optionsOrUserAgent }; 761 options = { userAgent: optionsOrUserAgent };
736 console.warn("Passing userAgent as string parameter to inspectedWind ow.reload() is deprecated. " + 762 console.warn("Passing userAgent as string parameter to inspectedWind ow.reload() is deprecated. " +
737 "Use inspectedWindow.reload({ userAgent: value}) instea d."); 763 "Use inspectedWindow.reload({ userAgent: value}) instea d.");
738 } 764 }
739 return extensionServer.sendRequest({ command: commands.Reload, options: options }); 765 extensionServer.sendRequest({ command: commands.Reload, options: options });
740 }, 766 },
741 767
768 /**
769 * @return {?Object}
770 */
742 eval: function(expression, evaluateOptions) 771 eval: function(expression, evaluateOptions)
743 { 772 {
744 var callback = extractCallbackArgument(arguments); 773 var callback = extractCallbackArgument(arguments);
745 function callbackWrapper(result) 774 function callbackWrapper(result)
746 { 775 {
747 if (result.isError || result.isException) 776 if (result.isError || result.isException)
748 callback(undefined, result); 777 callback(undefined, result);
749 else 778 else
750 callback(result.value); 779 callback(result.value);
751 } 780 }
752 var request = { 781 var request = {
753 command: commands.EvaluateOnInspectedPage, 782 command: commands.EvaluateOnInspectedPage,
754 expression: expression 783 expression: expression
755 }; 784 };
756 if (typeof evaluateOptions === "object") 785 if (typeof evaluateOptions === "object")
757 request.evaluateOptions = evaluateOptions; 786 request.evaluateOptions = evaluateOptions;
758 return extensionServer.sendRequest(request, callback && callbackWrapper) ; 787 extensionServer.sendRequest(request, callback && callbackWrapper);
788 return null;
759 }, 789 },
760 790
761 getResources: function(callback) 791 getResources: function(callback)
762 { 792 {
763 function wrapResource(resourceData) 793 function wrapResource(resourceData)
764 { 794 {
765 return new Resource(resourceData); 795 return new Resource(resourceData);
766 } 796 }
767 function callbackWrapper(resources) 797 function callbackWrapper(resources)
768 { 798 {
769 callback(resources.map(wrapResource)); 799 callback(resources.map(wrapResource));
770 } 800 }
771 return extensionServer.sendRequest({ command: commands.GetPageResources }, callback && callbackWrapper); 801 extensionServer.sendRequest({ command: commands.GetPageResources }, call back && callbackWrapper);
772 } 802 }
773 } 803 }
774 804
775 /** 805 /**
776 * @constructor 806 * @constructor
777 */ 807 */
778 function ResourceImpl(resourceData) 808 function ResourceImpl(resourceData)
779 { 809 {
780 this._url = resourceData.url 810 this._url = resourceData.url
781 this._type = resourceData.type; 811 this._type = resourceData.type;
(...skipping 10 matching lines...) Expand all
792 return this._type; 822 return this._type;
793 }, 823 },
794 824
795 getContent: function(callback) 825 getContent: function(callback)
796 { 826 {
797 function callbackWrapper(response) 827 function callbackWrapper(response)
798 { 828 {
799 callback(response.content, response.encoding); 829 callback(response.content, response.encoding);
800 } 830 }
801 831
802 return extensionServer.sendRequest({ command: commands.GetResourceConten t, url: this._url }, callback && callbackWrapper); 832 extensionServer.sendRequest({ command: commands.GetResourceContent, url: this._url }, callback && callbackWrapper);
803 }, 833 },
804 834
805 setContent: function(content, commit, callback) 835 setContent: function(content, commit, callback)
806 { 836 {
807 return extensionServer.sendRequest({ command: commands.SetResourceConten t, url: this._url, content: content, commit: commit }, callback); 837 extensionServer.sendRequest({ command: commands.SetResourceContent, url: this._url, content: content, commit: commit }, callback);
808 } 838 }
809 } 839 }
810 840
811 /** 841 /**
812 * @constructor 842 * @constructor
813 */ 843 */
814 function TimelineImpl() 844 function TimelineImpl()
815 { 845 {
816 this.onEventRecorded = new EventSink(events.TimelineEventRecorded); 846 this.onEventRecorded = new EventSink(events.TimelineEventRecorded);
817 } 847 }
818 848
849 var keyboardEventRequestQueue = [];
850 var forwardTimer = null;
851
819 function forwardKeyboardEvent(event) 852 function forwardKeyboardEvent(event)
820 { 853 {
821 const Esc = "U+001B"; 854 const Esc = "U+001B";
822 // We only care about global hotkeys, not about random text 855 // We only care about global hotkeys, not about random text
823 if (!event.ctrlKey && !event.altKey && !event.metaKey && !/^F\d+$/.test(even t.keyIdentifier) && event.keyIdentifier !== Esc) 856 if (!event.ctrlKey && !event.altKey && !event.metaKey && !/^F\d+$/.test(even t.keyIdentifier) && event.keyIdentifier !== Esc)
824 return; 857 return;
825 var request = { 858 var requestPayload = {
826 command: commands.ForwardKeyboardEvent,
827 eventType: event.type, 859 eventType: event.type,
828 ctrlKey: event.ctrlKey, 860 ctrlKey: event.ctrlKey,
829 altKey: event.altKey, 861 altKey: event.altKey,
830 metaKey: event.metaKey, 862 metaKey: event.metaKey,
831 keyIdentifier: event.keyIdentifier, 863 keyIdentifier: event.keyIdentifier,
832 location: event.location 864 location: event.location,
865 keyCode: event.keyCode
866 };
867 keyboardEventRequestQueue.push(requestPayload);
868 if (!forwardTimer)
869 forwardTimer = setTimeout(forwardEventQueue, 0);
870 }
871
872 function forwardEventQueue()
873 {
874 forwardTimer = null;
875 var request = {
876 command: commands.ForwardKeyboardEvent,
877 entries: keyboardEventRequestQueue
833 }; 878 };
834 extensionServer.sendRequest(request); 879 extensionServer.sendRequest(request);
880 keyboardEventRequestQueue = [];
835 } 881 }
836 882
837 document.addEventListener("keydown", forwardKeyboardEvent, false); 883 document.addEventListener("keydown", forwardKeyboardEvent, false);
838 document.addEventListener("keypress", forwardKeyboardEvent, false); 884 document.addEventListener("keypress", forwardKeyboardEvent, false);
839 885
840 /** 886 /**
841 * @constructor 887 * @constructor
842 */ 888 */
843 function ExtensionServerClient() 889 function ExtensionServerClient()
844 { 890 {
(...skipping 13 matching lines...) Expand all
858 } 904 }
859 905
860 ExtensionServerClient.prototype = { 906 ExtensionServerClient.prototype = {
861 /** 907 /**
862 * @param {function()=} callback 908 * @param {function()=} callback
863 */ 909 */
864 sendRequest: function(message, callback) 910 sendRequest: function(message, callback)
865 { 911 {
866 if (typeof callback === "function") 912 if (typeof callback === "function")
867 message.requestId = this._registerCallback(callback); 913 message.requestId = this._registerCallback(callback);
868 return this._port.postMessage(message); 914 this._port.postMessage(message);
869 }, 915 },
870 916
917 /**
918 * @return {boolean}
919 */
871 hasHandler: function(command) 920 hasHandler: function(command)
872 { 921 {
873 return !!this._handlers[command]; 922 return !!this._handlers[command];
874 }, 923 },
875 924
876 registerHandler: function(command, handler) 925 registerHandler: function(command, handler)
877 { 926 {
878 this._handlers[command] = handler; 927 this._handlers[command] = handler;
879 }, 928 },
880 929
881 unregisterHandler: function(command) 930 unregisterHandler: function(command)
882 { 931 {
883 delete this._handlers[command]; 932 delete this._handlers[command];
884 }, 933 },
885 934
935 /**
936 * @return {string}
937 */
886 nextObjectId: function() 938 nextObjectId: function()
887 { 939 {
888 return injectedScriptId + "_" + ++this._lastObjectId; 940 return injectedScriptId + "_" + ++this._lastObjectId;
889 }, 941 },
890 942
891 _registerCallback: function(callback) 943 _registerCallback: function(callback)
892 { 944 {
893 var id = ++this._lastRequestId; 945 var id = ++this._lastRequestId;
894 this._callbacks[id] = callback; 946 this._callbacks[id] = callback;
895 return id; 947 return id;
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
934 } 986 }
935 987
936 // extensionServer is a closure variable defined by the glue below -- make sure we fail if it's not there. 988 // extensionServer is a closure variable defined by the glue below -- make sure we fail if it's not there.
937 if (!extensionServer) 989 if (!extensionServer)
938 extensionServer = new ExtensionServerClient(); 990 extensionServer = new ExtensionServerClient();
939 991
940 return new InspectorExtensionAPI(); 992 return new InspectorExtensionAPI();
941 } 993 }
942 994
943 /** 995 /**
944 * @param {!ExtensionDescriptor} extensionInfo 996 * @suppress {checkVars, checkTypes}
945 * @return {string}
946 */ 997 */
947 function buildExtensionAPIInjectedScript(extensionInfo)
948 {
949 return "(function(injectedScriptId){ " +
950 "var extensionServer;" +
951 defineCommonExtensionSymbols.toString() + ";" +
952 injectedExtensionAPI.toString() + ";" +
953 buildPlatformExtensionAPI(extensionInfo) + ";" +
954 "platformExtensionAPI(injectedExtensionAPI(injectedScriptId));" +
955 "return {};" +
956 "})";
957 }
958 /*
959 * Copyright (C) 2011 Google Inc. All rights reserved.
960 *
961 * Redistribution and use in source and binary forms, with or without
962 * modification, are permitted provided that the following conditions are
963 * met:
964 *
965 * * Redistributions of source code must retain the above copyright
966 * notice, this list of conditions and the following disclaimer.
967 * * Redistributions in binary form must reproduce the above
968 * copyright notice, this list of conditions and the following disclaimer
969 * in the documentation and/or other materials provided with the
970 * distribution.
971 * * Neither the name of Google Inc. nor the names of its
972 * contributors may be used to endorse or promote products derived from
973 * this software without specific prior written permission.
974 *
975 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
976 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
977 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
978 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
979 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
980 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
981 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
982 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
983 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
984 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
985 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
986 */
987
988 function platformExtensionAPI(coreAPI) 998 function platformExtensionAPI(coreAPI)
989 { 999 {
990 function getTabId() 1000 function getTabId()
991 { 1001 {
992 return tabId; 1002 return tabId;
993 } 1003 }
994 chrome = window.chrome || {}; 1004 chrome = window.chrome || {};
995 // Override chrome.devtools as a workaround for a error-throwing getter bein g exposed 1005 // Override chrome.devtools as a workaround for a error-throwing getter bein g exposed
996 // in extension pages loaded into a non-extension process (only happens for remote client 1006 // in extension pages loaded into a non-extension process (only happens for remote client
997 // extensions) 1007 // extensions)
(...skipping 16 matching lines...) Expand all
1014 for (var i = 0; i < properties.length; ++i) { 1024 for (var i = 0; i < properties.length; ++i) {
1015 var descriptor = Object.getOwnPropertyDescriptor(coreAPI, properties [i]); 1025 var descriptor = Object.getOwnPropertyDescriptor(coreAPI, properties [i]);
1016 Object.defineProperty(chrome.experimental.devtools, properties[i], d escriptor); 1026 Object.defineProperty(chrome.experimental.devtools, properties[i], d escriptor);
1017 } 1027 }
1018 chrome.experimental.devtools.inspectedWindow = chrome.devtools.inspected Window; 1028 chrome.experimental.devtools.inspectedWindow = chrome.devtools.inspected Window;
1019 } 1029 }
1020 if (extensionInfo.exposeWebInspectorNamespace) 1030 if (extensionInfo.exposeWebInspectorNamespace)
1021 window.webInspector = coreAPI; 1031 window.webInspector = coreAPI;
1022 } 1032 }
1023 1033
1034 /**
1035 * @param {!ExtensionDescriptor} extensionInfo
1036 * @return {string}
1037 */
1038 function buildPlatformExtensionAPI(extensionInfo)
1039 {
1040 return "var extensionInfo = " + JSON.stringify(extensionInfo) + ";" +
1041 "var tabId = " + WebInspector._inspectedTabId + ";" +
1042 platformExtensionAPI.toString();
1043 }
1044
1045 /**
1046 * @param {!ExtensionDescriptor} extensionInfo
1047 * @return {string}
1048 */
1049 function buildExtensionAPIInjectedScript(extensionInfo)
1050 {
1051 return "(function(injectedScriptId){ " +
1052 "var extensionServer;" +
1053 defineCommonExtensionSymbols.toString() + ";" +
1054 injectedExtensionAPI.toString() + ";" +
1055 buildPlatformExtensionAPI(extensionInfo) + ";" +
1056 "platformExtensionAPI(injectedExtensionAPI(injectedScriptId));" +
1057 "return {};" +
1058 "})";
1059 }
1060
1024 var tabId; 1061 var tabId;
1025 var extensionInfo = {}; 1062 var extensionInfo = {};
1026 var extensionServer; 1063 var extensionServer;
1027 platformExtensionAPI(injectedExtensionAPI("remote-" + window.parent.fram es.length)); 1064 platformExtensionAPI(injectedExtensionAPI("remote-" + window.parent.fram es.length));
1028 })(); 1065 })();
OLDNEW
« no previous file with comments | « chrome_linux64/resources/inspector/devtools.html ('k') | chrome_linux64/resources/inspector/elementsPanel.css » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698