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

Unified Diff: Source/devtools/front_end/sdk/BlackboxSupport.js

Issue 548323002: DevTools: Blackbox content scripts - frontend. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: added a test Created 6 years, 3 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
« no previous file with comments | « Source/devtools/front_end/helpScreen.css ('k') | Source/devtools/front_end/sdk/DebuggerModel.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/devtools/front_end/sdk/BlackboxSupport.js
diff --git a/Source/devtools/front_end/sdk/BlackboxSupport.js b/Source/devtools/front_end/sdk/BlackboxSupport.js
index 96f1b7d117464d53d8b6c021f29665405478cc4f..0e3acbadd65363eb5fbaae3c8599c8cd08594c69 100644
--- a/Source/devtools/front_end/sdk/BlackboxSupport.js
+++ b/Source/devtools/front_end/sdk/BlackboxSupport.js
@@ -2,9 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-WebInspector.BlackboxSupport = function()
-{
-}
+WebInspector.BlackboxSupport = {}
/**
* @param {string} url
@@ -12,8 +10,36 @@ WebInspector.BlackboxSupport = function()
*/
WebInspector.BlackboxSupport._urlToRegExpString = function(url)
{
- var name = new WebInspector.ParsedURL(url).lastPathComponent;
- return "/" + name.escapeForRegExp() + (url.endsWith(name) ? "$" : "\\b");
+ var parsedURL = new WebInspector.ParsedURL(url);
+ if (parsedURL.isAboutBlank() || parsedURL.isDataURL())
+ return "";
+ if (!parsedURL.isValid)
+ return "^" + url.escapeForRegExp() + "$";
+ var name = parsedURL.lastPathComponent;
+ if (name)
+ name = "/" + name;
+ else if (parsedURL.folderPathComponents)
+ name = parsedURL.folderPathComponents + "/";
+ if (!name)
+ return "";
+ var scheme = parsedURL.scheme;
+ var prefix = "";
+ if (scheme && scheme !== "http" && scheme !== "https") {
+ prefix = "^" + scheme + "://";
+ if (scheme === "chrome-extension")
+ prefix += parsedURL.host + "\\b";
+ prefix += ".*";
+ }
+ return prefix + name.escapeForRegExp() + (url.endsWith(name) ? "$" : "\\b");
+}
+
+/**
+ * @param {string} url
+ * @return {boolean}
+ */
+WebInspector.BlackboxSupport.canBlackboxURL = function(url)
+{
+ return !!WebInspector.BlackboxSupport._urlToRegExpString(url);
}
/**
@@ -23,6 +49,8 @@ WebInspector.BlackboxSupport.blackboxURL = function(url)
{
var regexPatterns = WebInspector.settings.skipStackFramesPattern.getAsArray();
var regexValue = WebInspector.BlackboxSupport._urlToRegExpString(url);
+ if (!regexValue)
+ return;
var found = false;
for (var i = 0; i < regexPatterns.length; ++i) {
var item = regexPatterns[i];
@@ -39,11 +67,17 @@ WebInspector.BlackboxSupport.blackboxURL = function(url)
/**
* @param {string} url
+ * @param {boolean} isContentScript
*/
-WebInspector.BlackboxSupport.unblackboxURL = function(url)
+WebInspector.BlackboxSupport.unblackbox = function(url, isContentScript)
{
+ if (isContentScript)
+ WebInspector.settings.skipContentScripts.set(false);
+
var regexPatterns = WebInspector.settings.skipStackFramesPattern.getAsArray();
var regexValue = WebInspector.BlackboxSupport._urlToRegExpString(url);
+ if (!regexValue)
+ return;
regexPatterns = regexPatterns.filter(function(item) {
return item.pattern !== regexValue;
});
@@ -70,3 +104,15 @@ WebInspector.BlackboxSupport.isBlackboxedURL = function(url)
var regex = WebInspector.settings.skipStackFramesPattern.asRegExp();
return (url && regex) ? regex.test(url) : false;
}
+
+/**
+ * @param {string} url
+ * @param {boolean} isContentScript
+ * @return {boolean}
+ */
+WebInspector.BlackboxSupport.isBlackboxed = function(url, isContentScript)
+{
+ if (isContentScript && WebInspector.settings.skipContentScripts.get())
+ return true;
+ return WebInspector.BlackboxSupport.isBlackboxedURL(url);
+}
« no previous file with comments | « Source/devtools/front_end/helpScreen.css ('k') | Source/devtools/front_end/sdk/DebuggerModel.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698