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

Unified Diff: Source/devtools/front_end/source_frame/CodeMirrorTextEditor.js

Issue 1264133002: Devtools: [WIP] Implement enhanced devtools extension language APIs Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Small cleanups - prefer URIs to contentURLs, revert protocol unifications, remove lambdas Created 5 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 side-by-side diff with in-line comments
Download patch
Index: Source/devtools/front_end/source_frame/CodeMirrorTextEditor.js
diff --git a/Source/devtools/front_end/source_frame/CodeMirrorTextEditor.js b/Source/devtools/front_end/source_frame/CodeMirrorTextEditor.js
index a01ac5e079b1be234d130ac3d6b6208a6a4e499a..fef9b534c297456d5bb86583b728ba7b0cbe003c 100644
--- a/Source/devtools/front_end/source_frame/CodeMirrorTextEditor.js
+++ b/Source/devtools/front_end/source_frame/CodeMirrorTextEditor.js
@@ -956,6 +956,13 @@ WebInspector.CodeMirrorTextEditor.prototype = {
},
/**
+ * @return {string}
+ */
+ mimeType: function() {
+ return this._mimeType;
+ },
+
+ /**
* @param {boolean} readOnly
*/
setReadOnly: function(readOnly)
@@ -1058,15 +1065,22 @@ WebInspector.CodeMirrorTextEditor.prototype = {
_contextMenu: function(event)
{
var contextMenu = new WebInspector.ContextMenu(event);
+ event.consume(true); //Consume event now to prevent document from handling the async menu
var target = event.target.enclosingNodeOrSelfWithClass("CodeMirror-gutter-elt");
+ var prom;
if (target)
- this._delegate.populateLineGutterContextMenu(contextMenu, parseInt(target.textContent, 10) - 1);
+ prom = this._delegate.populateLineGutterContextMenu(contextMenu, parseInt(target.textContent, 10) - 1);
else {
var textSelection = this.selection();
- this._delegate.populateTextAreaContextMenu(contextMenu, textSelection.startLine, textSelection.startColumn);
+ prom = this._delegate.populateTextAreaContextMenu(contextMenu, textSelection.startLine, textSelection.startColumn);
+ }
+
+ prom.then(showAsync, showAsync);
+ var _this = this;
+ function showAsync() {
+ contextMenu.appendApplicableItems(_this);
+ contextMenu.show();
}
- contextMenu.appendApplicableItems(this);
- contextMenu.show();
},
/**
@@ -1537,6 +1551,14 @@ WebInspector.CodeMirrorTextEditor.prototype = {
},
/**
+ * @return {?string}
+ */
+ url: function()
+ {
+ return this._url;
+ },
+
+ /**
* @param {number} line
* @param {string} name
* @param {?Object} value
@@ -2164,6 +2186,7 @@ WebInspector.TextEditorDelegate.prototype = {
/**
* @param {!WebInspector.ContextMenu} contextMenu
* @param {number} lineNumber
+ * @return {!Promise}
*/
populateLineGutterContextMenu: function(contextMenu, lineNumber) { },
@@ -2171,6 +2194,7 @@ WebInspector.TextEditorDelegate.prototype = {
* @param {!WebInspector.ContextMenu} contextMenu
* @param {number} lineNumber
* @param {number} columnNumber
+ * @return {!Promise}
*/
populateTextAreaContextMenu: function(contextMenu, lineNumber, columnNumber) { },
« no previous file with comments | « Source/devtools/front_end/sdk/RuntimeModel.js ('k') | Source/devtools/front_end/source_frame/ResourceSourceFrame.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698