diff options
Diffstat (limited to 'WebCore/inspector')
-rw-r--r-- | WebCore/inspector/Inspector.idl | 2 | ||||
-rw-r--r-- | WebCore/inspector/InspectorCSSAgent.cpp | 10 | ||||
-rw-r--r-- | WebCore/inspector/InspectorCSSAgent.h | 2 | ||||
-rw-r--r-- | WebCore/inspector/InspectorStyleSheet.cpp | 6 | ||||
-rw-r--r-- | WebCore/inspector/front-end/CSSStyleModel.js | 13 | ||||
-rw-r--r-- | WebCore/inspector/front-end/HelpScreen.js | 16 | ||||
-rw-r--r-- | WebCore/inspector/front-end/InjectedScript.js | 8 | ||||
-rw-r--r-- | WebCore/inspector/front-end/Resource.js | 61 | ||||
-rw-r--r-- | WebCore/inspector/front-end/ResourceManager.js | 4 | ||||
-rw-r--r-- | WebCore/inspector/front-end/ResourcesPanel.js | 47 | ||||
-rw-r--r-- | WebCore/inspector/front-end/ScriptsPanel.js | 22 | ||||
-rw-r--r-- | WebCore/inspector/front-end/SourceFrame.js | 5 | ||||
-rw-r--r-- | WebCore/inspector/front-end/SourceView.js | 24 | ||||
-rw-r--r-- | WebCore/inspector/front-end/StylesSidebarPane.js | 18 | ||||
-rw-r--r-- | WebCore/inspector/front-end/inspector.css | 4 | ||||
-rw-r--r-- | WebCore/inspector/front-end/inspector.html | 1 | ||||
-rw-r--r-- | WebCore/inspector/front-end/inspector.js | 20 |
17 files changed, 148 insertions, 115 deletions
diff --git a/WebCore/inspector/Inspector.idl b/WebCore/inspector/Inspector.idl index e8086a6..8e48bfd 100644 --- a/WebCore/inspector/Inspector.idl +++ b/WebCore/inspector/Inspector.idl @@ -214,7 +214,7 @@ module core { [handler=CSS] void getAllStyles2(out Array styleSheetIds); [handler=CSS] void getStyleSheet2(in String styleSheetId, out Value styleSheet); [handler=CSS] void getStyleSheetText2(in String styleSheetId, out String url, out String text); - [handler=CSS] void setStyleSheetText2(in String styleSheetId, in String text); + [handler=CSS] void setStyleSheetText2(in String styleSheetId, in String text, out boolean success); [handler=CSS] void setPropertyText2(in Object styleId, in long propertyIndex, in String text, in boolean overwrite, out Value style); [handler=CSS] void toggleProperty2(in Object styleId, in long propertyIndex, in boolean disable, out Value style); [handler=CSS] void setRuleSelector2(in Object ruleId, in String selector, out Value rule); diff --git a/WebCore/inspector/InspectorCSSAgent.cpp b/WebCore/inspector/InspectorCSSAgent.cpp index fd1deb5..31d951a 100644 --- a/WebCore/inspector/InspectorCSSAgent.cpp +++ b/WebCore/inspector/InspectorCSSAgent.cpp @@ -285,14 +285,16 @@ void InspectorCSSAgent::getStyleSheetText2(const String& styleSheetId, String* u inspectorStyleSheet->text(result); } -void InspectorCSSAgent::setStyleSheetText2(const String& styleSheetId, const String& text) +void InspectorCSSAgent::setStyleSheetText2(const String& styleSheetId, const String& text, bool* success) { InspectorStyleSheet* inspectorStyleSheet = styleSheetForId(styleSheetId); - if (!inspectorStyleSheet) + if (!inspectorStyleSheet) { + *success = false; return; + } - bool success = inspectorStyleSheet->setText(text); - if (success) + *success = inspectorStyleSheet->setText(text); + if (*success) inspectorStyleSheet->reparseStyleSheet(text); } diff --git a/WebCore/inspector/InspectorCSSAgent.h b/WebCore/inspector/InspectorCSSAgent.h index 6e8f244..2d2efb5 100644 --- a/WebCore/inspector/InspectorCSSAgent.h +++ b/WebCore/inspector/InspectorCSSAgent.h @@ -66,7 +66,7 @@ public: void getAllStyles2(RefPtr<InspectorArray>* styles); void getStyleSheet2(const String& styleSheetId, RefPtr<InspectorValue>* result); void getStyleSheetText2(const String& styleSheetId, String* url, String* result); - void setStyleSheetText2(const String& styleSheetId, const String& text); + void setStyleSheetText2(const String& styleSheetId, const String& text, bool* success); void setPropertyText2(const RefPtr<InspectorObject>& styleId, long propertyIndex, const String& text, bool overwrite, RefPtr<InspectorValue>* result); void toggleProperty2(const RefPtr<InspectorObject>& styleId, long propertyIndex, bool disable, RefPtr<InspectorValue>* result); void setRuleSelector2(const RefPtr<InspectorObject>& ruleId, const String& selector, RefPtr<InspectorValue>* result); diff --git a/WebCore/inspector/InspectorStyleSheet.cpp b/WebCore/inspector/InspectorStyleSheet.cpp index 0ad3821..c468e3b 100644 --- a/WebCore/inspector/InspectorStyleSheet.cpp +++ b/WebCore/inspector/InspectorStyleSheet.cpp @@ -586,8 +586,9 @@ String InspectorStyleSheet::finalURL() const void InspectorStyleSheet::reparseStyleSheet(const String& text) { for (unsigned i = 0, size = m_pageStyleSheet->length(); i < size; ++i) - m_pageStyleSheet->remove(i); + m_pageStyleSheet->remove(0); m_pageStyleSheet->parseString(text, m_pageStyleSheet->useStrictParsing()); + m_pageStyleSheet->styleSheetChanged(); m_inspectorStyles.clear(); } @@ -986,6 +987,9 @@ bool InspectorStyleSheet::originalStyleSheetText(String* result) const bool InspectorStyleSheet::resourceStyleSheetText(String* result) const { + if (m_origin == "user" || m_origin == "user-agent") + return false; + if (!m_pageStyleSheet || !ownerDocument()) return false; diff --git a/WebCore/inspector/front-end/CSSStyleModel.js b/WebCore/inspector/front-end/CSSStyleModel.js index baf44c9..23ed7a8 100644 --- a/WebCore/inspector/front-end/CSSStyleModel.js +++ b/WebCore/inspector/front-end/CSSStyleModel.js @@ -164,9 +164,18 @@ WebInspector.CSSStyleModel.prototype = { { var resource = WebInspector.resourceManager.resourceForURL(href); if (resource && resource.type === WebInspector.Resource.Type.Stylesheet) - resource.content = content; + resource.setContent(content, this._onRevert.bind(this, styleSheetId)); } - InspectorBackend.getStyleSheetText2(styleSheetId, callback); + InspectorBackend.getStyleSheetText2(styleSheetId, callback.bind(this)); + }, + + _onRevert: function(styleSheetId, contentToRevertTo) + { + function callback(success) + { + this._styleSheetChanged(styleSheetId, true); + } + InspectorBackend.setStyleSheetText2(styleSheetId, contentToRevertTo, callback.bind(this)); } } diff --git a/WebCore/inspector/front-end/HelpScreen.js b/WebCore/inspector/front-end/HelpScreen.js index cad39d0..a1bbf1e 100644 --- a/WebCore/inspector/front-end/HelpScreen.js +++ b/WebCore/inspector/front-end/HelpScreen.js @@ -30,8 +30,6 @@ WebInspector.HelpScreen = function(title) { - this._addStyleSheetIfNeeded("helpScreen.css"); - this._element = document.createElement("div"); this._element.className = "help-window-outer"; this._element.addEventListener("keydown", this._onKeyDown.bind(this), false); @@ -86,17 +84,5 @@ WebInspector.HelpScreen.prototype = { // Pretend we're modal, grab focus back if we're still shown. if (this._isShown) WebInspector.currentFocusElement = this.contentElement; - }, - - _addStyleSheetIfNeeded: function(href) - { - if (WebInspector.HelpScreen._styleSheetAdded) - return; - - WebInspector.HelpScreen._styleSheetAdded = true; - var link = document.head.createChild("link"); - link.type = "text/css"; - link.rel = "stylesheet"; - link.href = href; } -}; +} diff --git a/WebCore/inspector/front-end/InjectedScript.js b/WebCore/inspector/front-end/InjectedScript.js index 106668f..fb6b796 100644 --- a/WebCore/inspector/front-end/InjectedScript.js +++ b/WebCore/inspector/front-end/InjectedScript.js @@ -700,11 +700,9 @@ CommandLineAPI.prototype = { copy: function(object) { - if (injectedScript._type(object) === "node") { - var nodeId = InjectedScriptHost.pushNodePathToFrontend(object, false, false); - InjectedScriptHost.copyNode(nodeId); - } else - InjectedScriptHost.copyText(object); + if (injectedScript._type(object) === "node") + object = object.outerHTML; + InjectedScriptHost.copyText(object); }, clear: function() diff --git a/WebCore/inspector/front-end/Resource.js b/WebCore/inspector/front-end/Resource.js index 9da7f82..aefdd6c 100644 --- a/WebCore/inspector/front-end/Resource.js +++ b/WebCore/inspector/front-end/Resource.js @@ -625,22 +625,69 @@ WebInspector.Resource.prototype = { return this._content; }, - set content(content) + get contentTimestamp() + { + return this._contentTimestamp; + }, + + setInitialContent: function(content) { - var data = { oldContent: this._content, oldContentTimestamp: this._contentTimestamp }; this._content = content; - this._contentTimestamp = new Date(); + }, + + isLocallyModified: function() + { + return !!this._baseRevision; + }, + + setContent: function(newContent, onRevert) + { + var revisionResource = new WebInspector.Resource(null, this.url); + revisionResource.type = this.type; + revisionResource.loader = this.loader; + revisionResource.timestamp = this.timestamp; + revisionResource._content = this._content; + revisionResource._actualResource = this; + revisionResource._fireOnRevert = onRevert; + + if (this.finished) + revisionResource.finished = true; + else { + function finished() + { + this.removeEventListener("finished", finished); + revisionResource.finished = true; + } + this.addEventListener("finished", finished.bind(this)); + } + + if (!this._baseRevision) + this._baseRevision = revisionResource; + else + revisionResource._baseRevision = this._baseRevision; + + var data = { revision: revisionResource }; + this._content = newContent; + this.timestamp = new Date(); this.dispatchEventToListeners("content-changed", data); }, - get contentTimestamp() + revertToThis: function() { - return this._contentTimestamp; + if (!this._actualResource || !this._fireOnRevert) + return; + + function callback(content) + { + if (content) + this._fireOnRevert(content); + } + this.requestContent(callback.bind(this)); }, - setInitialContent: function(content) + get baseRevision() { - this._content = content; + return this._baseRevision; }, requestContent: function(callback) diff --git a/WebCore/inspector/front-end/ResourceManager.js b/WebCore/inspector/front-end/ResourceManager.js index 056be8c..8c1ddac 100644 --- a/WebCore/inspector/front-end/ResourceManager.js +++ b/WebCore/inspector/front-end/ResourceManager.js @@ -535,10 +535,8 @@ WebInspector.ResourceTreeModel.prototype = { this.addOrUpdateFrame(frame); var resourcesForFrame = this._resourcesByFrameId[frame.id]; - for (var i = 0; resourcesForFrame && i < resourcesForFrame.length; ++i) { - WebInspector.resourceManager._bindResourceURL(resourcesForFrame[i]); + for (var i = 0; resourcesForFrame && i < resourcesForFrame.length; ++i) WebInspector.panels.resources.addResourceToFrame(frame.id, resourcesForFrame[i]); - } }, frameDetachedFromParent: function(frameId) diff --git a/WebCore/inspector/front-end/ResourcesPanel.js b/WebCore/inspector/front-end/ResourcesPanel.js index 5c5c5d6..d6f7172 100644 --- a/WebCore/inspector/front-end/ResourcesPanel.js +++ b/WebCore/inspector/front-end/ResourcesPanel.js @@ -369,13 +369,13 @@ WebInspector.ResourcesPanel.prototype = { var view = WebInspector.ResourceManager.resourceViewForResource(resource); // Consider rendering diff markup here. - if (resource._baseRevision && resource.content && view instanceof WebInspector.SourceView) { + if (resource.baseRevision && view instanceof WebInspector.SourceView) { function callback(baseContent) { if (baseContent) this._applyDiffMarkup(view, baseContent, resource.content); } - resource._baseRevision.requestContent(callback.bind(this)); + resource.baseRevision.requestContent(callback.bind(this)); } this._innerShowView(view); }, @@ -1091,28 +1091,7 @@ WebInspector.FrameResourceTreeElement.prototype = { _contentChanged: function(event) { - var revisionResource = new WebInspector.Resource(null, this._resource.url); - revisionResource.type = this._resource.type; - revisionResource.loader = this._resource.loader; - if (this._resource.finished) - revisionResource.finished = true; - else { - function finished() - { - revisionResource.finished = true; - } - this._resource.addEventListener("finished", finished); - } - - if (!this._resource._baseRevision) - this._resource._baseRevision = revisionResource; - else - revisionResource._baseRevision = this._resource._baseRevision; - - if (event.data.oldContent) - revisionResource.setInitialContent(event.data.oldContent); - this.insertChild(new WebInspector.ResourceRevisionTreeElement(this._storagePanel, revisionResource, event.data.oldContentTimestamp), 0); - + this.insertChild(new WebInspector.ResourceRevisionTreeElement(this._storagePanel, event.data.revision), 0); var oldView = WebInspector.ResourceManager.existingResourceViewForResource(this._resource); if (oldView) { var newView = WebInspector.ResourceManager.recreateResourceView(this._resource); @@ -1246,13 +1225,13 @@ WebInspector.ApplicationCacheTreeElement.prototype = { } WebInspector.ApplicationCacheTreeElement.prototype.__proto__ = WebInspector.BaseStorageTreeElement.prototype; -WebInspector.ResourceRevisionTreeElement = function(storagePanel, resource, timestamp) +WebInspector.ResourceRevisionTreeElement = function(storagePanel, revision) { - var title = timestamp ? timestamp.toLocaleTimeString() : "(original)"; - WebInspector.BaseStorageTreeElement.call(this, storagePanel, null, title, "resource-sidebar-tree-item resources-category-" + resource.category.name); - if (timestamp) - this.tooltip = timestamp.toLocaleString(); - this._resource = resource; + var title = revision.timestamp ? revision.timestamp.toLocaleTimeString() : "(original)"; + WebInspector.BaseStorageTreeElement.call(this, storagePanel, null, title, "resource-sidebar-tree-item resources-category-" + revision.category.name); + if (revision.timestamp) + this.tooltip = revision.timestamp.toLocaleString(); + this._resource = revision; } WebInspector.ResourceRevisionTreeElement.prototype = { @@ -1261,6 +1240,7 @@ WebInspector.ResourceRevisionTreeElement.prototype = { WebInspector.BaseStorageTreeElement.prototype.onattach.call(this); this.listItemElement.draggable = true; this.listItemElement.addEventListener("dragstart", this._ondragstart.bind(this), false); + this.listItemElement.addEventListener("contextmenu", this._handleContextMenuEvent.bind(this), true); }, onselect: function() @@ -1274,6 +1254,13 @@ WebInspector.ResourceRevisionTreeElement.prototype = { event.dataTransfer.setData("text/plain", this._resource.content); event.dataTransfer.effectAllowed = "copy"; return true; + }, + + _handleContextMenuEvent: function(event) + { + var contextMenu = new WebInspector.ContextMenu(); + contextMenu.appendItem(WebInspector.UIString("Revert to this revision"), this._resource.revertToThis.bind(this._resource)); + contextMenu.show(event); } } diff --git a/WebCore/inspector/front-end/ScriptsPanel.js b/WebCore/inspector/front-end/ScriptsPanel.js index 0a3c7a9..2a216cc 100644 --- a/WebCore/inspector/front-end/ScriptsPanel.js +++ b/WebCore/inspector/front-end/ScriptsPanel.js @@ -245,6 +245,9 @@ WebInspector.ScriptsPanel.prototype = { // Resource is finished, bind the script right away. resource.addScript(script); this._sourceIDMap[sourceID] = resource; + var view = WebInspector.ResourceManager.existingResourceViewForResource(resource); + if (view && view.sourceFrame) + view.sourceFrame.addScript(script); } else { // Resource is not finished, bind the script later. if (!resource._scriptsPendingResourceLoad) { @@ -306,7 +309,7 @@ WebInspector.ScriptsPanel.prototype = { return Preferences.canEditScriptSource; }, - editScriptSource: function(sourceID, newContent, line, linesCountToShift, commitEditingCallback, cancelEditingCallback) + editScriptSource: function(editData, commitEditingCallback, cancelEditingCallback) { if (!this.canEditScripts()) return; @@ -323,18 +326,19 @@ WebInspector.ScriptsPanel.prototype = { if (callFrames && callFrames.length) this.debuggerPaused(callFrames); } else { - cancelEditingCallback(); + if (cancelEditingCallback) + cancelEditingCallback(); WebInspector.log(newBodyOrErrorMessage, WebInspector.ConsoleMessage.MessageLevel.Warning); } for (var i = 0; i < breakpoints.length; ++i) { var breakpoint = breakpoints[i]; var newLine = breakpoint.line; - if (success && breakpoint.line >= line) - newLine += linesCountToShift; - WebInspector.breakpointManager.setBreakpoint(sourceID, breakpoint.url, newLine, breakpoint.enabled, breakpoint.condition); + if (success && breakpoint.line >= editData.line) + newLine += editData.linesCountToShift; + WebInspector.breakpointManager.setBreakpoint(editData.sourceID, breakpoint.url, newLine, breakpoint.enabled, breakpoint.condition); } }; - InspectorBackend.editScriptSource(sourceID, newContent, mycallback.bind(this)); + InspectorBackend.editScriptSource(editData.sourceID, editData.content, mycallback.bind(this)); }, selectedCallFrameId: function() @@ -1008,7 +1012,11 @@ WebInspector.ScriptsPanel.prototype = { this._shortcuts[shortcut2.key] = handler; section.addAlternateKeys([ shortcut1.name, shortcut2.name ], WebInspector.UIString("Step out")); - shortcut1 = WebInspector.KeyboardShortcut.makeDescriptor("g", platformSpecificModifier); + var isMac = WebInspector.isMac(); + if (isMac) + shortcut1 = WebInspector.KeyboardShortcut.makeDescriptor("l", WebInspector.KeyboardShortcut.Modifiers.Meta); + else + shortcut1 = WebInspector.KeyboardShortcut.makeDescriptor("g", WebInspector.KeyboardShortcut.Modifiers.Ctrl); this._shortcuts[shortcut1.key] = this.showGoToLineDialog.bind(this); section.addAlternateKeys([ shortcut1.name ], WebInspector.UIString("Go to Line")); this.sidebarPanes.callstack.registerShortcuts(section); diff --git a/WebCore/inspector/front-end/SourceFrame.js b/WebCore/inspector/front-end/SourceFrame.js index 8e077cd..6cf226b 100644 --- a/WebCore/inspector/front-end/SourceFrame.js +++ b/WebCore/inspector/front-end/SourceFrame.js @@ -132,6 +132,11 @@ WebInspector.SourceFrame.prototype = { this._addMessageToSource(msg); }, + addScript: function(script) + { + this._scripts[script.sourceID] = script; + }, + clearMessages: function() { for (var line in this._messageBubbles) { diff --git a/WebCore/inspector/front-end/SourceView.js b/WebCore/inspector/front-end/SourceView.js index e764cf8..9616321 100644 --- a/WebCore/inspector/front-end/SourceView.js +++ b/WebCore/inspector/front-end/SourceView.js @@ -147,14 +147,28 @@ WebInspector.SourceView.prototype = { lines.push(textModel.line(i)); } - var linesCountToShift = newContent.split("\n").length - 1; - var newContent = lines.join("\n"); - WebInspector.panels.scripts.editScriptSource(this._sourceIDForLine(line), newContent, line, linesCountToShift, this._editLineComplete.bind(this, newContent), cancelEditingCallback); + var editData = {}; + editData.sourceID = this._sourceIDForLine(line); + editData.content = lines.join("\n"); + editData.line = line; + editData.linesCountToShift = newContent.split("\n").length - 1; + + WebInspector.panels.scripts.editScriptSource(editData, this._editLineComplete.bind(this, editData), cancelEditingCallback); + }, + + _editLineComplete: function(editData, newContent) + { + this.resource.setContent(newContent, this._revertEditLine.bind(this, editData)); }, - _editLineComplete: function(newContent) + _revertEditLine: function(editData, contentToRevertTo) { - this.resource.content = newContent; + var newEditData = {}; + newEditData.sourceID = editData.sourceID; + newEditData.content = editData.content; + newEditData.line = editData.line; + newEditData.linesCountToShift = -editData.linesCountToShift; + WebInspector.panels.scripts.editScriptSource(newEditData, this._editLineComplete.bind(this, newEditData)); }, _sourceIDForLine: function(line) diff --git a/WebCore/inspector/front-end/StylesSidebarPane.js b/WebCore/inspector/front-end/StylesSidebarPane.js index 68ad0dd..db72486 100644 --- a/WebCore/inspector/front-end/StylesSidebarPane.js +++ b/WebCore/inspector/front-end/StylesSidebarPane.js @@ -1179,14 +1179,8 @@ WebInspector.StylePropertyTreeElement.prototype = { updateTitle: function() { - var priority = this.priority; var value = this.value; - if (priority && !priority.length) - delete priority; - if (priority) - priority = "!" + priority; - this.updateState(); var enabledCheckboxElement; @@ -1339,12 +1333,6 @@ WebInspector.StylePropertyTreeElement.prototype = { valueElement.appendChild(processValue(/url\(([^)]+)\)/g, linkifyURL, colorProcessor, value)); } - if (priority) { - var priorityElement = document.createElement("span"); - priorityElement.className = "priority"; - priorityElement.textContent = priority; - } - this.listItemElement.removeChildren(); if (!this.treeOutline) @@ -1356,12 +1344,6 @@ WebInspector.StylePropertyTreeElement.prototype = { this.listItemElement.appendChild(nameElement); this.listItemElement.appendChild(document.createTextNode(": ")); this.listItemElement.appendChild(valueElement); - - if (priorityElement) { - this.listItemElement.appendChild(document.createTextNode(" ")); - this.listItemElement.appendChild(priorityElement); - } - this.listItemElement.appendChild(document.createTextNode(";")); if (!this.parsedOk) diff --git a/WebCore/inspector/front-end/inspector.css b/WebCore/inspector/front-end/inspector.css index 0ee5864..965689b 100644 --- a/WebCore/inspector/front-end/inspector.css +++ b/WebCore/inspector/front-end/inspector.css @@ -1488,10 +1488,6 @@ li.editing .swatch, li.editing .enabled-button, li.editing-sub-part .delete-but color: blue; } -.section .properties .priority { - color: rgb(128, 0, 0); -} - .section .properties .keyword, .event-properties .keyword { color: rgb(136, 19, 79); } diff --git a/WebCore/inspector/front-end/inspector.html b/WebCore/inspector/front-end/inspector.html index 2d47474..67fd081 100644 --- a/WebCore/inspector/front-end/inspector.html +++ b/WebCore/inspector/front-end/inspector.html @@ -35,6 +35,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. <link rel="stylesheet" type="text/css" href="inspector.css"> <link rel="stylesheet" type="text/css" href="inspectorSyntaxHighlight.css"> <link rel="stylesheet" type="text/css" href="networkPanel.css"> + <link rel="stylesheet" type="text/css" href="helpScreen.css"> <link rel="stylesheet" type="text/css" href="popover.css"> <link rel="stylesheet" type="text/css" href="textViewer.css"> <script type="text/javascript" src="utilities.js"></script> diff --git a/WebCore/inspector/front-end/inspector.js b/WebCore/inspector/front-end/inspector.js index 78592ff..212f41a 100644 --- a/WebCore/inspector/front-end/inspector.js +++ b/WebCore/inspector/front-end/inspector.js @@ -825,11 +825,13 @@ WebInspector._registerShortcuts = function() section.addRelatedKeys(keys, WebInspector.UIString("Next/previous panel")); section.addKey(shortcut.shortcutToString(shortcut.Keys.Esc), WebInspector.UIString("Toggle console")); section.addKey(shortcut.shortcutToString("f", shortcut.Modifiers.CtrlOrMeta), WebInspector.UIString("Search")); - keys = [ - shortcut.shortcutToString("g", shortcut.Modifiers.CtrlOrMeta), - shortcut.shortcutToString("g", shortcut.Modifiers.CtrlOrMeta | shortcut.Modifiers.Shift) - ]; - section.addRelatedKeys(keys, WebInspector.UIString("Find next/previous")); + if (WebInspector.isMac()) { + keys = [ + shortcut.shortcutToString("g", shortcut.Modifiers.Meta), + shortcut.shortcutToString("g", shortcut.Modifiers.Meta | shortcut.Modifiers.Shift) + ]; + section.addRelatedKeys(keys, WebInspector.UIString("Find next/previous")); + } } WebInspector.documentKeyDown = function(event) @@ -911,12 +913,7 @@ WebInspector.documentKeyDown = function(event) break; case "U+0047": // G key - if (isMac) - var isFindAgainKey = event.metaKey && !event.ctrlKey && !event.altKey; - else - var isFindAgainKey = event.ctrlKey && !event.metaKey && !event.altKey; - - if (isFindAgainKey) { + if (isMac && event.metaKey && !event.ctrlKey && !event.altKey) { if (event.shiftKey) { if (this.currentPanel.jumpToPreviousSearchResult) this.currentPanel.jumpToPreviousSearchResult(); @@ -924,7 +921,6 @@ WebInspector.documentKeyDown = function(event) this.currentPanel.jumpToNextSearchResult(); event.preventDefault(); } - break; // Windows and Mac have two different definitions of [, so accept both. |