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

Side by Side Diff: Source/devtools/front_end/Main.js

Issue 170273003: DevTools: Implement extensions-based shortcut bindings (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebased patch Created 6 years, 9 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 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
3 * Copyright (C) 2007 Matt Lilek (pewtermoose@gmail.com). 3 * Copyright (C) 2007 Matt Lilek (pewtermoose@gmail.com).
4 * Copyright (C) 2009 Joseph Pecoraro 4 * Copyright (C) 2009 Joseph Pecoraro
5 * 5 *
6 * Redistribution and use in source and binary forms, with or without 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions 7 * modification, are permitted provided that the following conditions
8 * are met: 8 * are met:
9 * 9 *
10 * 1. Redistributions of source code must retain the above copyright 10 * 1. Redistributions of source code must retain the above copyright
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 window.removeEventListener("DOMContentLoaded", boundListener, false); 45 window.removeEventListener("DOMContentLoaded", boundListener, false);
46 } 46 }
47 window.addEventListener("DOMContentLoaded", boundListener, false); 47 window.addEventListener("DOMContentLoaded", boundListener, false);
48 } 48 }
49 49
50 WebInspector.Main.prototype = { 50 WebInspector.Main.prototype = {
51 _registerModules: function() 51 _registerModules: function()
52 { 52 {
53 var configuration; 53 var configuration;
54 if (!Capabilities.isMainFrontend) { 54 if (!Capabilities.isMainFrontend) {
55 configuration = ["sources", "timeline", "profiles", "console", "code mirror"]; 55 configuration = ["core", "sources", "timeline", "profiles", "console ", "codemirror"];
pfeldman 2014/03/24 16:54:22 main?
apavlov 2014/03/25 10:03:45 Done.
56 } else { 56 } else {
57 configuration = ["elements", "network", "sources", "timeline", "prof iles", "resources", "audits", "console", "codemirror", "extensions"]; 57 configuration = ["core", "elements", "network", "sources", "timeline ", "profiles", "resources", "audits", "console", "codemirror", "extensions", "se ttings"];
58 if (WebInspector.experimentsSettings.layersPanel.isEnabled()) 58 if (WebInspector.experimentsSettings.layersPanel.isEnabled())
59 configuration.push("layers"); 59 configuration.push("layers");
60 } 60 }
61 WebInspector.moduleManager.registerModules(configuration); 61 WebInspector.moduleManager.registerModules(configuration);
62 }, 62 },
63 63
64 _createGlobalStatusBarItems: function() 64 _createGlobalStatusBarItems: function()
65 { 65 {
66 if (WebInspector.inspectElementModeController) 66 if (WebInspector.inspectElementModeController)
67 WebInspector.inspectorView.appendToLeftToolbar(WebInspector.inspectE lementModeController.toggleSearchButton.element); 67 WebInspector.inspectorView.appendToLeftToolbar(WebInspector.inspectE lementModeController.toggleSearchButton.element);
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 331
332 new WebInspector.DebuggerScriptMapping(WebInspector.debuggerModel, WebIn spector.workspace, WebInspector.networkWorkspaceProvider); 332 new WebInspector.DebuggerScriptMapping(WebInspector.debuggerModel, WebIn spector.workspace, WebInspector.networkWorkspaceProvider);
333 WebInspector.liveEditSupport = new WebInspector.LiveEditSupport(WebInspe ctor.workspace); 333 WebInspector.liveEditSupport = new WebInspector.LiveEditSupport(WebInspe ctor.workspace);
334 new WebInspector.CSSStyleSheetMapping(WebInspector.cssModel, WebInspecto r.workspace, WebInspector.networkWorkspaceProvider); 334 new WebInspector.CSSStyleSheetMapping(WebInspector.cssModel, WebInspecto r.workspace, WebInspector.networkWorkspaceProvider);
335 new WebInspector.PresentationConsoleMessageHelper(WebInspector.workspace ); 335 new WebInspector.PresentationConsoleMessageHelper(WebInspector.workspace );
336 336
337 // Create settings before loading modules. 337 // Create settings before loading modules.
338 WebInspector.settings.initializeBackendSettings(); 338 WebInspector.settings.initializeBackendSettings();
339 339
340 this._registerModules(); 340 this._registerModules();
341 WebInspector.KeyboardShortcut.registerActions();
341 342
342 WebInspector.panels = {}; 343 WebInspector.panels = {};
343 WebInspector.inspectorView = new WebInspector.InspectorView(); 344 WebInspector.inspectorView = new WebInspector.InspectorView();
344 // Screencast controller creates a root view itself. 345 // Screencast controller creates a root view itself.
345 if (mainTarget.canScreencast) 346 if (mainTarget.canScreencast)
346 this._screencastController = new WebInspector.ScreencastController() ; 347 this._screencastController = new WebInspector.ScreencastController() ;
347 else 348 else
348 this._createRootView(); 349 this._createRootView();
349 this._createGlobalStatusBarItems(); 350 this._createGlobalStatusBarItems();
350 351
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
531 event.consume(true); 532 event.consume(true);
532 return; 533 return;
533 } 534 }
534 } 535 }
535 536
536 if (WebInspector.advancedSearchController.handleShortcut(event)) 537 if (WebInspector.advancedSearchController.handleShortcut(event))
537 return; 538 return;
538 if (WebInspector.inspectElementModeController && WebInspector.inspectEle mentModeController.handleShortcut(event)) 539 if (WebInspector.inspectElementModeController && WebInspector.inspectEle mentModeController.handleShortcut(event))
539 return; 540 return;
540 541
541 switch (event.keyIdentifier) {
542 case "U+004F": // O key
543 case "U+0050": // P key
544 if (!event.shiftKey && !event.altKey && WebInspector.KeyboardSho rtcut.eventHasCtrlOrMeta(event)) {
545 // FIXME: Dependency violation. Introduce pluggable global s hortcuts.
546 /** @type {!WebInspector.SourcesPanel} */ (WebInspector.insp ectorView.showPanel("sources")).showGoToSourceDialog();
547 event.consume(true);
548 }
549 break;
550 case "U+0052": // R key
551 if (WebInspector.KeyboardShortcut.eventHasCtrlOrMeta(event)) {
552 WebInspector.debuggerModel.skipAllPauses(true, true);
553 WebInspector.resourceTreeModel.reloadPage(event.shiftKey);
554 event.consume(true);
555 }
556 if (window.DEBUG && event.altKey) {
557 WebInspector.reload();
558 return;
559 }
560 break;
561 case "F5":
562 if (!WebInspector.isMac()) {
563 WebInspector.resourceTreeModel.reloadPage(event.ctrlKey || e vent.shiftKey);
564 event.consume(true);
565 }
566 break;
567 }
568
569 var isValidZoomShortcut = WebInspector.KeyboardShortcut.eventHasCtrlOrMe ta(event) && 542 var isValidZoomShortcut = WebInspector.KeyboardShortcut.eventHasCtrlOrMe ta(event) &&
570 !event.altKey && 543 !event.altKey &&
571 !InspectorFrontendHost.isStub; 544 !InspectorFrontendHost.isStub;
572 if (isValidZoomShortcut && this._handleZoomEvent(event)) { 545 if (isValidZoomShortcut && this._handleZoomEvent(event)) {
573 event.consume(true); 546 event.consume(true);
574 return; 547 return;
575 } 548 }
576 549 WebInspector.KeyboardShortcut.handleShortcut(event);
577 if (event.keyCode === WebInspector.KeyboardShortcut.Keys.F1.code ||
578 (event.keyCode === WebInspector.KeyboardShortcut.Keys.QuestionMark.c ode && event.shiftKey && (!WebInspector.isBeingEdited(event.target) || event.met aKey))) {
579 WebInspector.settingsController.showSettingsScreen(WebInspector.Sett ingsScreen.Tabs.General);
580 event.consume(true);
581 return;
582 }
583
584 var Esc = "U+001B";
585 var doNotOpenDrawerOnEsc = WebInspector.experimentsSettings.doNotOpenDra werOnEsc.isEnabled();
586 if (event.keyIdentifier === Esc) {
587 if (WebInspector.inspectorView.drawerVisible())
588 WebInspector.inspectorView.closeDrawer();
589 else if (!doNotOpenDrawerOnEsc)
590 WebInspector.inspectorView.showDrawer();
591 }
592
593 if (event.keyCode === WebInspector.KeyboardShortcut.Keys.Tilde.code && e vent.ctrlKey && !event.shiftKey && !event.altKey && !event.metaKey)
594 WebInspector.console.show();
595 }, 550 },
596 551
597 _documentCanCopy: function(event) 552 _documentCanCopy: function(event)
598 { 553 {
599 if (WebInspector.inspectorView.currentPanel() && WebInspector.inspectorV iew.currentPanel()["handleCopyEvent"]) 554 if (WebInspector.inspectorView.currentPanel() && WebInspector.inspectorV iew.currentPanel()["handleCopyEvent"])
600 event.preventDefault(); 555 event.preventDefault();
601 }, 556 },
602 557
603 _documentCopy: function(event) 558 _documentCopy: function(event)
604 { 559 {
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
720 WebInspector.evaluateForTestInFrontend(callId, script); 675 WebInspector.evaluateForTestInFrontend(callId, script);
721 } 676 }
722 } 677 }
723 678
724 WebInspector.reload = function() 679 WebInspector.reload = function()
725 { 680 {
726 InspectorAgent.reset(); 681 InspectorAgent.reset();
727 window.location.reload(); 682 window.location.reload();
728 } 683 }
729 684
685 /**
686 * @constructor
687 * @implements {WebInspector.ActionDelegate}
688 */
689 WebInspector.Main.SkipAllPausesAndReloadActionDelegate = function()
690 {
691 }
692
693 WebInspector.Main.SkipAllPausesAndReloadActionDelegate.prototype = {
694 /**
695 * @param {!KeyboardEvent=} keyEvent
696 * @return {boolean}
697 */
698 handleAction: function(keyEvent)
699 {
700 WebInspector.debuggerModel.skipAllPauses(true, true);
701 WebInspector.resourceTreeModel.reloadPage(this._isHardReload());
702 return true;
703 },
704
705 /**
706 * @return {boolean}
707 */
708 _isHardReload: function()
709 {
710 return false;
pfeldman 2014/03/24 16:54:22 inline
apavlov 2014/03/25 10:03:45 Done.
711 }
712 }
713
714 /**
715 * @constructor
716 * @extends {WebInspector.Main.SkipAllPausesAndReloadActionDelegate}
717 */
718 WebInspector.Main.SkipAllPausesAndHardReloadActionDelegate = function()
719 {
720 WebInspector.Main.SkipAllPausesAndReloadActionDelegate.call(this);
721 }
722
723 WebInspector.Main.SkipAllPausesAndHardReloadActionDelegate.prototype = {
724 /**
725 * @return {boolean}
726 */
727 _isHardReload: function()
728 {
729 return true;
730 },
731
732 __proto__: WebInspector.Main.SkipAllPausesAndReloadActionDelegate.prototype
733 }
734
735 /**
736 * @constructor
737 * @implements {WebInspector.ActionDelegate}
738 */
739 WebInspector.Main.DebugReloadActionDelegate = function()
740 {
741 }
742
743 WebInspector.Main.DebugReloadActionDelegate.prototype = {
744 /**
745 * @param {!KeyboardEvent=} keyEvent
746 * @return {boolean}
747 */
748 handleAction: function(keyEvent)
749 {
750 if (window.DEBUG) {
pfeldman 2014/03/24 16:54:22 Reload should always work.
apavlov 2014/03/25 10:03:45 Done.
751 WebInspector.reload();
752 return true;
753 }
754 return false;
755 }
756 }
757
730 new WebInspector.Main(); 758 new WebInspector.Main();
731 759
732 window.DEBUG = true; 760 window.DEBUG = true;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698