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

Side by Side Diff: Source/devtools/front_end/documentation/DocumentationView.js

Issue 471583003: DevTools: [Documentation] Add property token autodetection (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@sources-patch
Patch Set: Comments addressed Created 6 years, 4 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 * @constructor 6 * @constructor
7 * @extends {WebInspector.VBox} 7 * @extends {WebInspector.VBox}
8 */ 8 */
9 WebInspector.DocumentationView = function() 9 WebInspector.DocumentationView = function()
10 { 10 {
(...skipping 27 matching lines...) Expand all
38 /** 38 /**
39 * @param {!Event} event 39 * @param {!Event} event
40 * @param {!WebInspector.ContextMenu} contextMenu 40 * @param {!WebInspector.ContextMenu} contextMenu
41 * @param {!Object} target 41 * @param {!Object} target
42 */ 42 */
43 appendApplicableItems: function(event, contextMenu, target) 43 appendApplicableItems: function(event, contextMenu, target)
44 { 44 {
45 if (!(target instanceof WebInspector.CodeMirrorTextEditor)) 45 if (!(target instanceof WebInspector.CodeMirrorTextEditor))
46 return; 46 return;
47 var textEditor = /** @type {!WebInspector.CodeMirrorTextEditor} */ (targ et); 47 var textEditor = /** @type {!WebInspector.CodeMirrorTextEditor} */ (targ et);
48 var selection = textEditor.selection();
49 if (!selection || selection.isEmpty() || selection.startLine !== selecti on.endLine)
50 return;
51 var selectedText = textEditor.copyRange(selection);
52 var urlProvider = new WebInspector.DocumentationURLProvider(); 48 var urlProvider = new WebInspector.DocumentationURLProvider();
53 var descriptors = urlProvider.itemDescriptors(selectedText); 49 var propertyName;
50 var textSelection = textEditor.selection().normalize();
51
52 if (textSelection && !textSelection.isEmpty() && textSelection.startLine === textSelection.endLine) {
apavlov 2014/08/14 12:49:52 Please remove the first conjunct, since textSelect
semeny 2014/08/14 13:17:30 Done.
53 propertyName = textEditor.copyRange(textSelection);
54 } else {
55 var token = textEditor.tokenAtTextPosition(textSelection.startLine, textSelection.startColumn);
56 var line = textEditor.line(textSelection.startLine);
57 var tokenText = line.substring(token.startColumn, token.endColumn);
58 if (!token || !urlProvider.itemDescriptors(tokenText).length) {
apavlov 2014/08/14 12:49:52 Let's avoid multiple itemDescriptors() invocations
semeny 2014/08/14 13:17:30 Done.
59 if (textSelection.startColumn > 0)
60 token = textEditor.tokenAtTextPosition(textSelection.startLi ne, textSelection.startColumn - 1);
61 if (!token)
62 return;
63 }
64 propertyName = line.substring(token.startColumn, token.endColumn);
65 }
66
67 var descriptors = urlProvider.itemDescriptors(propertyName);
54 if (!descriptors.length) 68 if (!descriptors.length)
55 return; 69 return;
56 if (descriptors.length === 1) { 70 if (descriptors.length === 1) {
57 var formatString = WebInspector.useLowerCaseMenuTitles() ? "Show doc umentation for %s.%s" : "Show Documentation for %s.%s"; 71 var formatString = WebInspector.useLowerCaseMenuTitles() ? "Show doc umentation for %s.%s" : "Show Documentation for %s.%s";
58 contextMenu.appendItem(WebInspector.UIString(formatString, descripto rs[0].name, selectedText), WebInspector.DocumentationView.showDocumentationURL.b ind(null, descriptors[0].url)); 72 contextMenu.appendItem(WebInspector.UIString(formatString, descripto rs[0].name, propertyName), WebInspector.DocumentationView.showDocumentationURL.b ind(null, descriptors[0].url));
59 return; 73 return;
60 } 74 }
61 var subMenuItem = contextMenu.appendSubMenuItem(WebInspector.UIString(We bInspector.useLowerCaseMenuTitles() ? "Show documentation for..." : "Show Docume ntation for...")); 75 var subMenuItem = contextMenu.appendSubMenuItem(WebInspector.UIString(We bInspector.useLowerCaseMenuTitles() ? "Show documentation for..." : "Show Docume ntation for..."));
62 for (var i = 0; i < descriptors.length; ++i) 76 for (var i = 0; i < descriptors.length; ++i)
63 subMenuItem.appendItem(String.sprintf("%s.%s", descriptors[i].name, selectedText), WebInspector.DocumentationView.showDocumentationURL.bind(null, de scriptors[i].url)); 77 subMenuItem.appendItem(String.sprintf("%s.%s", descriptors[i].name, propertyName), WebInspector.DocumentationView.showDocumentationURL.bind(null, de scriptors[i].url));
64 } 78 }
65 } 79 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698