strong-arc
Version:
A visual suite for the StrongLoop API Platform
73 lines (67 loc) • 2.12 kB
JavaScript
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
WebInspector.BlackboxSupport = function()
{
}
/**
* @param {string} url
* @return {string}
*/
WebInspector.BlackboxSupport._urlToRegExpString = function(url)
{
var name = new WebInspector.ParsedURL(url).lastPathComponent;
return "/" + name.escapeForRegExp() + (url.endsWith(name) ? "$" : "\\b");
}
/**
* @param {string} url
*/
WebInspector.BlackboxSupport.blackboxURL = function(url)
{
var regexPatterns = WebInspector.settings.skipStackFramesPattern.getAsArray();
var regexValue = WebInspector.BlackboxSupport._urlToRegExpString(url);
var found = false;
for (var i = 0; i < regexPatterns.length; ++i) {
var item = regexPatterns[i];
if (item.pattern === regexValue) {
item.disabled = false;
found = true;
break;
}
}
if (!found)
regexPatterns.push({ pattern: regexValue });
WebInspector.settings.skipStackFramesPattern.setAsArray(regexPatterns);
}
/**
* @param {string} url
*/
WebInspector.BlackboxSupport.unblackboxURL = function(url)
{
var regexPatterns = WebInspector.settings.skipStackFramesPattern.getAsArray();
var regexValue = WebInspector.BlackboxSupport._urlToRegExpString(url);
regexPatterns = regexPatterns.filter(function(item) {
return item.pattern !== regexValue;
});
for (var i = 0; i < regexPatterns.length; ++i) {
var item = regexPatterns[i];
if (item.disabled)
continue;
try {
var regex = new RegExp(item.pattern);
if (regex.test(url))
item.disabled = true;
} catch (e) {
}
}
WebInspector.settings.skipStackFramesPattern.setAsArray(regexPatterns);
}
/**
* @param {string} url
* @return {boolean}
*/
WebInspector.BlackboxSupport.isBlackboxedURL = function(url)
{
var regex = WebInspector.settings.skipStackFramesPattern.asRegExp();
return (url && regex) ? regex.test(url) : false;
}