зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1406551 - Update the debugger frontend (10/6/2017). r=jdescottes
This commit is contained in:
Родитель
79ec9daa80
Коммит
fb167c6fbf
|
@ -0,0 +1,11 @@
|
|||
This is the debugger.html project output.
|
||||
See https://github.com/devtools-html/debugger.html
|
||||
|
||||
Taken from upstream commit: 6a34276ba4e2e4f8dfb2123eb4e6795ae658486a
|
||||
|
||||
Packages:
|
||||
- babel-plugin-transform-es2015-modules-commonjs @6.26.0
|
||||
- babel-preset-react @6.24.1
|
||||
- react @15.6.2
|
||||
- react-dom @15.6.2
|
||||
- webpack @3.6.0
|
|
@ -412,7 +412,7 @@ body {
|
|||
.modal-wrapper {
|
||||
position: fixed;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
|
@ -423,7 +423,7 @@ body {
|
|||
|
||||
.modal {
|
||||
top: 0;
|
||||
height: 230px;
|
||||
margin: auto;
|
||||
width: 500px;
|
||||
background-color: var(--theme-toolbar-background);
|
||||
transform: translateY(-250px);
|
||||
|
@ -438,7 +438,7 @@ body {
|
|||
|
||||
.modal.entered,
|
||||
.modal.exiting {
|
||||
transform: translateY(30px);
|
||||
transform: translateY(0px);
|
||||
}
|
||||
|
||||
@media (max-width: 520px) {
|
||||
|
@ -490,7 +490,6 @@ body {
|
|||
}
|
||||
|
||||
.shortcuts-modal {
|
||||
height: fit-content;
|
||||
width: 45%;
|
||||
}
|
||||
|
||||
|
@ -973,7 +972,7 @@ html .arrow.expanded svg {
|
|||
width: 15px;
|
||||
height: 15px;
|
||||
margin-right: 5px;
|
||||
vertical-align: bottom;
|
||||
vertical-align: sub;
|
||||
}
|
||||
|
||||
.theme-dark .webpack {
|
||||
|
@ -1428,6 +1427,7 @@ html[dir="rtl"] .managed-tree .tree .node > div {
|
|||
display: flex;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
padding-top: 11px;
|
||||
}
|
||||
|
||||
.sources-list .managed-tree {
|
||||
|
@ -1462,6 +1462,11 @@ html[dir="rtl"] .managed-tree .tree .node > div {
|
|||
display: inline-block;
|
||||
}
|
||||
|
||||
.sources-list .tree .node .no-arrow {
|
||||
width: 10px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.no-sources-message {
|
||||
font-size: 12px;
|
||||
color: var(--theme-comment-alt);
|
||||
|
@ -1497,7 +1502,7 @@ html[dir="rtl"] .managed-tree .tree .node > div {
|
|||
position: relative;
|
||||
transition: all 0.25s ease;
|
||||
overflow: hidden;
|
||||
padding: 6.5px;
|
||||
padding: 8px 8px 7px 8px;
|
||||
margin-bottom: 0px;
|
||||
margin-top: -1px;
|
||||
cursor: default;
|
||||
|
@ -2353,11 +2358,6 @@ html[dir="rtl"] .arrow svg,
|
|||
--theme-conditional-breakpoint-color: var(--theme-body-color);
|
||||
}
|
||||
|
||||
.paused .CodeMirror-line,
|
||||
.paused .CodeMirror-linenumber {
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
/**
|
||||
* There's a known codemirror flex issue with chrome that this addresses.
|
||||
* BUG https://github.com/devtools-html/debugger.html/issues/63
|
||||
|
@ -2629,6 +2629,7 @@ html .breakpoints-list .breakpoint.paused {
|
|||
overflow-x: hidden;
|
||||
text-overflow: ellipsis;
|
||||
padding: 1px 0;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
.breakpoints-list .pause-indicator {
|
||||
|
@ -3216,12 +3217,26 @@ html .command-bar > button:disabled {
|
|||
offset-inline-start: auto;
|
||||
}
|
||||
|
||||
.welcomebox .small-size-layout {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.welcomebox .normal-layout {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.shortcutKeys {
|
||||
text-align: right;
|
||||
float: left;
|
||||
font-family: Courier;
|
||||
}
|
||||
|
||||
.shortcutKey {
|
||||
display: inline-block;
|
||||
margin-right: 10px;
|
||||
font-family: Courier;
|
||||
}
|
||||
|
||||
.shortcutFunction {
|
||||
text-align: left;
|
||||
float: left;
|
||||
|
@ -3231,6 +3246,24 @@ html .command-bar > button:disabled {
|
|||
html .welcomebox .toggle-button-end.collapsed {
|
||||
bottom: 1px;
|
||||
}
|
||||
|
||||
@media (max-width: 430px) {
|
||||
.welcomebox .small-size-layout {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.welcomebox .normal-layout {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.shortcutFunction {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.shortcutKey {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
.source-header {
|
||||
border-bottom: 1px solid var(--theme-splitter-color);
|
||||
width: 100%;
|
||||
|
|
Различия файлов скрыты, потому что одна или несколько строк слишком длинны
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -70,17 +70,74 @@ return /******/ (function(modules) { // webpackBootstrap
|
|||
/******/ __webpack_require__.p = "/assets/build";
|
||||
/******/
|
||||
/******/ // Load entry module and return exports
|
||||
/******/ return __webpack_require__(__webpack_require__.s = 380);
|
||||
/******/ return __webpack_require__(__webpack_require__.s = 1282);
|
||||
/******/ })
|
||||
/************************************************************************/
|
||||
/******/ ({
|
||||
|
||||
/***/ 380:
|
||||
/***/ 1282:
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
module.exports = __webpack_require__(964);
|
||||
module.exports = __webpack_require__(1283);
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 1283:
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
|
||||
var _prettyFast = __webpack_require__(802);
|
||||
|
||||
var _prettyFast2 = _interopRequireDefault(_prettyFast);
|
||||
|
||||
var _devtoolsUtils = __webpack_require__(900);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
var workerHandler = _devtoolsUtils.workerUtils.workerHandler;
|
||||
|
||||
|
||||
function prettyPrint(_ref) {
|
||||
var url = _ref.url,
|
||||
indent = _ref.indent,
|
||||
source = _ref.source;
|
||||
|
||||
var prettified = (0, _prettyFast2.default)(source, {
|
||||
url: url,
|
||||
indent: " ".repeat(indent)
|
||||
});
|
||||
|
||||
return {
|
||||
code: prettified.code,
|
||||
mappings: invertMappings(prettified.map._mappings)
|
||||
};
|
||||
}
|
||||
|
||||
function invertMappings(mappings) {
|
||||
return mappings._array.map(m => {
|
||||
var mapping = {
|
||||
generated: {
|
||||
line: m.originalLine,
|
||||
column: m.originalColumn
|
||||
}
|
||||
};
|
||||
if (m.source) {
|
||||
mapping.source = m.source;
|
||||
mapping.original = {
|
||||
line: m.generatedLine,
|
||||
column: m.generatedColumn
|
||||
};
|
||||
mapping.name = m.name;
|
||||
}
|
||||
return mapping;
|
||||
});
|
||||
}
|
||||
|
||||
self.onmessage = workerHandler({ prettyPrint });
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 381:
|
||||
|
@ -7532,63 +7589,6 @@ module.exports = {
|
|||
streamingWorkerHandler
|
||||
};
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 964:
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
|
||||
var _prettyFast = __webpack_require__(802);
|
||||
|
||||
var _prettyFast2 = _interopRequireDefault(_prettyFast);
|
||||
|
||||
var _devtoolsUtils = __webpack_require__(900);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
var workerHandler = _devtoolsUtils.workerUtils.workerHandler;
|
||||
|
||||
|
||||
function prettyPrint(_ref) {
|
||||
var url = _ref.url,
|
||||
indent = _ref.indent,
|
||||
source = _ref.source;
|
||||
|
||||
var prettified = (0, _prettyFast2.default)(source, {
|
||||
url: url,
|
||||
indent: " ".repeat(indent)
|
||||
});
|
||||
|
||||
return {
|
||||
code: prettified.code,
|
||||
mappings: invertMappings(prettified.map._mappings)
|
||||
};
|
||||
}
|
||||
|
||||
function invertMappings(mappings) {
|
||||
return mappings._array.map(m => {
|
||||
var mapping = {
|
||||
generated: {
|
||||
line: m.originalLine,
|
||||
column: m.originalColumn
|
||||
}
|
||||
};
|
||||
if (m.source) {
|
||||
mapping.source = m.source;
|
||||
mapping.original = {
|
||||
line: m.generatedLine,
|
||||
column: m.generatedColumn
|
||||
};
|
||||
mapping.name = m.name;
|
||||
}
|
||||
return mapping;
|
||||
});
|
||||
}
|
||||
|
||||
self.onmessage = workerHandler({ prettyPrint });
|
||||
|
||||
/***/ })
|
||||
|
||||
/******/ });
|
||||
|
|
|
@ -70,7 +70,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
|||
/******/ __webpack_require__.p = "/assets/build";
|
||||
/******/
|
||||
/******/ // Load entry module and return exports
|
||||
/******/ return __webpack_require__(__webpack_require__.s = 382);
|
||||
/******/ return __webpack_require__(__webpack_require__.s = 1284);
|
||||
/******/ })
|
||||
/************************************************************************/
|
||||
/******/ ({
|
||||
|
@ -262,168 +262,6 @@ function arrayMap(array, iteratee) {
|
|||
module.exports = arrayMap;
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 1123:
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
|
||||
var _getMatches = __webpack_require__(1173);
|
||||
|
||||
var _getMatches2 = _interopRequireDefault(_getMatches);
|
||||
|
||||
var _projectSearch = __webpack_require__(1140);
|
||||
|
||||
var _devtoolsUtils = __webpack_require__(900);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
var workerHandler = _devtoolsUtils.workerUtils.workerHandler;
|
||||
|
||||
|
||||
self.onmessage = workerHandler({ getMatches: _getMatches2.default, findSourceMatches: _projectSearch.findSourceMatches });
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 1138:
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = buildQuery;
|
||||
|
||||
var _escapeRegExp = __webpack_require__(259);
|
||||
|
||||
var _escapeRegExp2 = _interopRequireDefault(_escapeRegExp);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
/**
|
||||
* Ignore doing outline matches for less than 3 whitespaces
|
||||
*
|
||||
* @memberof utils/source-search
|
||||
* @static
|
||||
*/
|
||||
function ignoreWhiteSpace(str) {
|
||||
return (/^\s{0,2}$/.test(str) ? "(?!\\s*.*)" : str
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
function wholeMatch(query, wholeWord) {
|
||||
if (query === "" || !wholeWord) {
|
||||
return query;
|
||||
}
|
||||
|
||||
return `\\b${query}\\b`;
|
||||
}
|
||||
|
||||
function buildFlags(caseSensitive, isGlobal) {
|
||||
if (caseSensitive && isGlobal) {
|
||||
return "g";
|
||||
}
|
||||
|
||||
if (!caseSensitive && isGlobal) {
|
||||
return "gi";
|
||||
}
|
||||
|
||||
if (!caseSensitive && !isGlobal) {
|
||||
return "i";
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
function buildQuery(originalQuery, modifiers, _ref) {
|
||||
var _ref$isGlobal = _ref.isGlobal,
|
||||
isGlobal = _ref$isGlobal === undefined ? false : _ref$isGlobal,
|
||||
_ref$ignoreSpaces = _ref.ignoreSpaces,
|
||||
ignoreSpaces = _ref$ignoreSpaces === undefined ? false : _ref$ignoreSpaces;
|
||||
var caseSensitive = modifiers.caseSensitive,
|
||||
regexMatch = modifiers.regexMatch,
|
||||
wholeWord = modifiers.wholeWord;
|
||||
|
||||
|
||||
if (originalQuery === "") {
|
||||
return new RegExp(originalQuery);
|
||||
}
|
||||
|
||||
var query = originalQuery;
|
||||
if (ignoreSpaces) {
|
||||
query = ignoreWhiteSpace(query);
|
||||
}
|
||||
|
||||
if (!regexMatch) {
|
||||
query = (0, _escapeRegExp2.default)(query);
|
||||
}
|
||||
|
||||
query = wholeMatch(query, wholeWord);
|
||||
var flags = buildFlags(caseSensitive, isGlobal);
|
||||
|
||||
if (flags) {
|
||||
return new RegExp(query, flags);
|
||||
}
|
||||
|
||||
return new RegExp(query);
|
||||
}
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 1140:
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.findSourceMatches = findSourceMatches;
|
||||
|
||||
var _source = __webpack_require__(233);
|
||||
|
||||
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } // Maybe reuse file search's functions?
|
||||
|
||||
|
||||
function findSourceMatches(source, queryText) {
|
||||
var _ref;
|
||||
|
||||
var text = source.text;
|
||||
|
||||
if (!(0, _source.isLoaded)(source) || !text || queryText == "") {
|
||||
return [];
|
||||
}
|
||||
|
||||
var lines = text.split("\n");
|
||||
var result = undefined;
|
||||
var query = new RegExp(queryText, "g");
|
||||
|
||||
var matches = lines.map((_text, line) => {
|
||||
var indices = [];
|
||||
|
||||
while (result = query.exec(_text)) {
|
||||
indices.push({
|
||||
sourceId: source.id,
|
||||
line: line + 1,
|
||||
column: result.index,
|
||||
match: result[0],
|
||||
value: _text,
|
||||
text: result.input
|
||||
});
|
||||
}
|
||||
return indices;
|
||||
}).filter(_matches => _matches.length > 0);
|
||||
|
||||
matches = (_ref = []).concat.apply(_ref, _toConsumableArray(matches));
|
||||
return matches;
|
||||
}
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 1165:
|
||||
|
@ -681,44 +519,6 @@ module.exports = {
|
|||
|
||||
/***/ }),
|
||||
|
||||
/***/ 1173:
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = getMatches;
|
||||
|
||||
var _buildQuery = __webpack_require__(1138);
|
||||
|
||||
var _buildQuery2 = _interopRequireDefault(_buildQuery);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
function getMatches(query, text, modifiers) {
|
||||
if (!query || !text || !modifiers) {
|
||||
return [];
|
||||
}
|
||||
var regexQuery = (0, _buildQuery2.default)(query, modifiers, {
|
||||
isGlobal: true
|
||||
});
|
||||
var matchedLocations = [];
|
||||
var lines = text.split("\n");
|
||||
for (var i = 0; i < lines.length; i++) {
|
||||
var singleMatch = void 0;
|
||||
var line = lines[i];
|
||||
while ((singleMatch = regexQuery.exec(line)) !== null) {
|
||||
matchedLocations.push({ line: i, ch: singleMatch.index });
|
||||
}
|
||||
}
|
||||
return matchedLocations;
|
||||
}
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 121:
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
|
@ -809,6 +609,94 @@ var isArray = Array.isArray || function (xs) {
|
|||
};
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 1211:
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = buildQuery;
|
||||
|
||||
var _escapeRegExp = __webpack_require__(259);
|
||||
|
||||
var _escapeRegExp2 = _interopRequireDefault(_escapeRegExp);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
/**
|
||||
* Ignore doing outline matches for less than 3 whitespaces
|
||||
*
|
||||
* @memberof utils/source-search
|
||||
* @static
|
||||
*/
|
||||
function ignoreWhiteSpace(str) {
|
||||
return (/^\s{0,2}$/.test(str) ? "(?!\\s*.*)" : str
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
function wholeMatch(query, wholeWord) {
|
||||
if (query === "" || !wholeWord) {
|
||||
return query;
|
||||
}
|
||||
|
||||
return `\\b${query}\\b`;
|
||||
}
|
||||
|
||||
function buildFlags(caseSensitive, isGlobal) {
|
||||
if (caseSensitive && isGlobal) {
|
||||
return "g";
|
||||
}
|
||||
|
||||
if (!caseSensitive && isGlobal) {
|
||||
return "gi";
|
||||
}
|
||||
|
||||
if (!caseSensitive && !isGlobal) {
|
||||
return "i";
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
function buildQuery(originalQuery, modifiers, _ref) {
|
||||
var _ref$isGlobal = _ref.isGlobal,
|
||||
isGlobal = _ref$isGlobal === undefined ? false : _ref$isGlobal,
|
||||
_ref$ignoreSpaces = _ref.ignoreSpaces,
|
||||
ignoreSpaces = _ref$ignoreSpaces === undefined ? false : _ref$ignoreSpaces;
|
||||
var caseSensitive = modifiers.caseSensitive,
|
||||
regexMatch = modifiers.regexMatch,
|
||||
wholeWord = modifiers.wholeWord;
|
||||
|
||||
|
||||
if (originalQuery === "") {
|
||||
return new RegExp(originalQuery);
|
||||
}
|
||||
|
||||
var query = originalQuery;
|
||||
if (ignoreSpaces) {
|
||||
query = ignoreWhiteSpace(query);
|
||||
}
|
||||
|
||||
if (!regexMatch) {
|
||||
query = (0, _escapeRegExp2.default)(query);
|
||||
}
|
||||
|
||||
query = wholeMatch(query, wholeWord);
|
||||
var flags = buildFlags(caseSensitive, isGlobal);
|
||||
|
||||
if (flags) {
|
||||
return new RegExp(query, flags);
|
||||
}
|
||||
|
||||
return new RegExp(query);
|
||||
}
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 122:
|
||||
|
@ -902,6 +790,126 @@ var objectKeys = Object.keys || function (obj) {
|
|||
};
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 1284:
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
module.exports = __webpack_require__(1285);
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 1285:
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
|
||||
var _getMatches = __webpack_require__(1286);
|
||||
|
||||
var _getMatches2 = _interopRequireDefault(_getMatches);
|
||||
|
||||
var _projectSearch = __webpack_require__(1287);
|
||||
|
||||
var _devtoolsUtils = __webpack_require__(900);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
var workerHandler = _devtoolsUtils.workerUtils.workerHandler;
|
||||
|
||||
|
||||
self.onmessage = workerHandler({ getMatches: _getMatches2.default, findSourceMatches: _projectSearch.findSourceMatches });
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 1286:
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = getMatches;
|
||||
|
||||
var _buildQuery = __webpack_require__(1211);
|
||||
|
||||
var _buildQuery2 = _interopRequireDefault(_buildQuery);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
function getMatches(query, text, modifiers) {
|
||||
if (!query || !text || !modifiers) {
|
||||
return [];
|
||||
}
|
||||
var regexQuery = (0, _buildQuery2.default)(query, modifiers, {
|
||||
isGlobal: true
|
||||
});
|
||||
var matchedLocations = [];
|
||||
var lines = text.split("\n");
|
||||
for (var i = 0; i < lines.length; i++) {
|
||||
var singleMatch = void 0;
|
||||
var line = lines[i];
|
||||
while ((singleMatch = regexQuery.exec(line)) !== null) {
|
||||
matchedLocations.push({ line: i, ch: singleMatch.index });
|
||||
}
|
||||
}
|
||||
return matchedLocations;
|
||||
}
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 1287:
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.findSourceMatches = findSourceMatches;
|
||||
|
||||
var _source = __webpack_require__(233);
|
||||
|
||||
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } // Maybe reuse file search's functions?
|
||||
|
||||
|
||||
function findSourceMatches(source, queryText) {
|
||||
var _ref;
|
||||
|
||||
var text = source.text;
|
||||
|
||||
if (!(0, _source.isLoaded)(source) || !text || queryText == "") {
|
||||
return [];
|
||||
}
|
||||
|
||||
var lines = text.split("\n");
|
||||
var result = undefined;
|
||||
var query = new RegExp(queryText, "g");
|
||||
|
||||
var matches = lines.map((_text, line) => {
|
||||
var indices = [];
|
||||
|
||||
while (result = query.exec(_text)) {
|
||||
indices.push({
|
||||
sourceId: source.id,
|
||||
line: line + 1,
|
||||
column: result.index,
|
||||
match: result[0],
|
||||
value: _text,
|
||||
text: result.input
|
||||
});
|
||||
}
|
||||
return indices;
|
||||
}).filter(_matches => _matches.length > 0);
|
||||
|
||||
matches = (_ref = []).concat.apply(_ref, _toConsumableArray(matches));
|
||||
return matches;
|
||||
}
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 14:
|
||||
|
@ -949,7 +957,7 @@ module.exports = isObjectLike;
|
|||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.isLoaded = exports.getMode = exports.getSourceLineCount = exports.getSourcePath = exports.getFilenameFromURL = exports.getFilename = exports.getRawSourceURL = exports.getPrettySourceURL = exports.shouldPrettyPrint = exports.isThirdParty = exports.isPretty = exports.isJavaScript = undefined;
|
||||
exports.isLoaded = exports.getMode = exports.getSourceLineCount = exports.getSourcePath = exports.getFileURL = exports.getFilenameFromURL = exports.getFilename = exports.getRawSourceURL = exports.getPrettySourceURL = exports.shouldPrettyPrint = exports.isThirdParty = exports.isPretty = exports.isJavaScript = undefined;
|
||||
|
||||
var _devtoolsSourceMap = __webpack_require__(898);
|
||||
|
||||
|
@ -1048,12 +1056,23 @@ function getRawSourceURL(url) {
|
|||
return url.replace(/:formatted$/, "");
|
||||
}
|
||||
|
||||
function getFilenameFromURL(url) {
|
||||
function resolveFileURL(url) {
|
||||
var transformUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : initialUrl => initialUrl;
|
||||
|
||||
url = getRawSourceURL(url || "");
|
||||
var name = (0, _path.basename)(url) || "(index)";
|
||||
var name = transformUrl(url);
|
||||
return (0, _utils.endTruncateStr)(name, 50);
|
||||
}
|
||||
|
||||
function getFilenameFromURL(url) {
|
||||
return resolveFileURL(url, initialUrl => (0, _path.basename)(initialUrl) || "(index)");
|
||||
}
|
||||
|
||||
function getFormattedSourceId(id) {
|
||||
var sourceId = id.split("/")[1];
|
||||
return `SOURCE${sourceId}`;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show a source url's filename.
|
||||
* If the source does not have a url, use the source id.
|
||||
|
@ -1066,13 +1085,30 @@ function getFilename(source) {
|
|||
id = source.id;
|
||||
|
||||
if (!url) {
|
||||
var sourceId = id.split("/")[1];
|
||||
return `SOURCE${sourceId}`;
|
||||
return getFormattedSourceId(id);
|
||||
}
|
||||
|
||||
return getFilenameFromURL(url);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show a source url.
|
||||
* If the source does not have a url, use the source id.
|
||||
*
|
||||
* @memberof utils/source
|
||||
* @static
|
||||
*/
|
||||
function getFileURL(source) {
|
||||
var url = source.url,
|
||||
id = source.id;
|
||||
|
||||
if (!url) {
|
||||
return getFormattedSourceId(id);
|
||||
}
|
||||
|
||||
return resolveFileURL(url);
|
||||
}
|
||||
|
||||
var contentTypeModeMap = {
|
||||
"text/javascript": { name: "javascript" },
|
||||
"text/typescript": { name: "javascript", typescript: true },
|
||||
|
@ -1184,6 +1220,7 @@ exports.getPrettySourceURL = getPrettySourceURL;
|
|||
exports.getRawSourceURL = getRawSourceURL;
|
||||
exports.getFilename = getFilename;
|
||||
exports.getFilenameFromURL = getFilenameFromURL;
|
||||
exports.getFileURL = getFileURL;
|
||||
exports.getSourcePath = getSourcePath;
|
||||
exports.getSourceLineCount = getSourceLineCount;
|
||||
exports.getMode = getMode;
|
||||
|
@ -2463,14 +2500,6 @@ module.exports = {
|
|||
};
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 382:
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
module.exports = __webpack_require__(1123);
|
||||
|
||||
|
||||
/***/ }),
|
||||
|
||||
/***/ 6:
|
||||
|
|
|
@ -19,6 +19,9 @@ support-files =
|
|||
examples/sum/sum.js
|
||||
examples/sum/sum.min.js
|
||||
examples/sum/sum.min.js.map
|
||||
examples/reload/code_reload_1.js
|
||||
examples/reload/code_reload_2.js
|
||||
examples/reload/doc_reload.html
|
||||
examples/doc-async.html
|
||||
examples/doc-asm.html
|
||||
examples/doc-scripts.html
|
||||
|
@ -53,6 +56,7 @@ support-files =
|
|||
examples/script-switching-02.js
|
||||
examples/script-switching-01.js
|
||||
examples/times2.js
|
||||
examples/reload/sjs_code_reload.sjs
|
||||
|
||||
[browser_dbg-asm.js]
|
||||
[browser_dbg-async-stepping.js]
|
||||
|
@ -64,7 +68,6 @@ support-files =
|
|||
skip-if = true # Bug 1383576
|
||||
[browser_dbg-breakpoints-cond.js]
|
||||
[browser_dbg-call-stack.js]
|
||||
[browser_dbg-expressions.js]
|
||||
[browser_dbg-scopes.js]
|
||||
[browser_dbg-chrome-create.js]
|
||||
[browser_dbg-chrome-debugging.js]
|
||||
|
@ -74,6 +77,8 @@ skip-if = debug # bug 1374187
|
|||
[browser_dbg-editor-gutter.js]
|
||||
[browser_dbg-editor-select.js]
|
||||
[browser_dbg-editor-highlight.js]
|
||||
[browser_dbg-expressions.js]
|
||||
[browser_dbg-expressions-error.js]
|
||||
[browser_dbg-iframes.js]
|
||||
[browser_dbg_keyboard_navigation.js]
|
||||
[browser_dbg_keyboard-shortcuts.js]
|
||||
|
@ -102,4 +107,4 @@ skip-if = true # Bug 1393121, 1393299
|
|||
[browser_dbg-tabs.js]
|
||||
[browser_dbg-toggling-tools.js]
|
||||
[browser_dbg-wasm-sourcemaps.js]
|
||||
skip-if = true
|
||||
[browser_dbg-reload.js]
|
||||
|
|
|
@ -0,0 +1,90 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
|
||||
/**
|
||||
* test pausing on an errored watch expression
|
||||
* assert that you can:
|
||||
* 1. resume
|
||||
* 2. still evalutate expressions
|
||||
* 3. expand properties
|
||||
*/
|
||||
|
||||
const expressionSelectors = {
|
||||
input: "input.input-expression"
|
||||
};
|
||||
|
||||
function getLabel(dbg, index) {
|
||||
return findElement(dbg, "expressionNode", index).innerText;
|
||||
}
|
||||
|
||||
function getValue(dbg, index) {
|
||||
return findElement(dbg, "expressionValue", index).innerText;
|
||||
}
|
||||
|
||||
function assertEmptyValue(dbg, index) {
|
||||
const value = findElement(dbg, "expressionValue", index);
|
||||
if (value) {
|
||||
is(value.innerText, "");
|
||||
return;
|
||||
}
|
||||
|
||||
is(value, null);
|
||||
}
|
||||
|
||||
function toggleExpression(dbg, index) {
|
||||
findElement(dbg, "expressionNode", index).click();
|
||||
}
|
||||
|
||||
async function addExpression(dbg, input) {
|
||||
info("Adding an expression");
|
||||
findElementWithSelector(dbg, expressionSelectors.input).focus();
|
||||
type(dbg, input);
|
||||
pressKey(dbg, "Enter");
|
||||
|
||||
await waitForDispatch(dbg, "EVALUATE_EXPRESSION");
|
||||
}
|
||||
|
||||
async function editExpression(dbg, input) {
|
||||
info("updating the expression");
|
||||
dblClickElement(dbg, "expressionNode", 1);
|
||||
// Position cursor reliably at the end of the text.
|
||||
pressKey(dbg, "End");
|
||||
type(dbg, input);
|
||||
pressKey(dbg, "Enter");
|
||||
await waitForDispatch(dbg, "EVALUATE_EXPRESSION");
|
||||
}
|
||||
|
||||
/*
|
||||
* When we add a bad expression, we'll pause,
|
||||
* resume, and wait for the expression to finish being evaluated.
|
||||
*/
|
||||
async function addBadExpression(dbg, input) {
|
||||
const paused = waitForPaused(dbg);
|
||||
const added = addExpression(dbg, input);
|
||||
|
||||
await paused;
|
||||
ok(dbg.selectors.isEvaluatingExpression(dbg.getState()));
|
||||
await resume(dbg);
|
||||
await added;
|
||||
}
|
||||
|
||||
add_task(async function() {
|
||||
const dbg = await initDebugger("doc-script-switching.html");
|
||||
|
||||
await togglePauseOnExceptions(dbg, true, false);
|
||||
|
||||
// add a good expression, 2 bad expressions, and another good one
|
||||
await addExpression(dbg, "location");
|
||||
await addBadExpression(dbg, "foo.bar");
|
||||
await addBadExpression(dbg, "foo.batt");
|
||||
await addExpression(dbg, "2");
|
||||
|
||||
// check the value of
|
||||
is(getValue(dbg, 2), "(unavailable)")
|
||||
is(getValue(dbg, 3), "(unavailable)")
|
||||
is(getValue(dbg, 4), 2);
|
||||
|
||||
toggleExpression(dbg, 1);
|
||||
await waitForDispatch(dbg, "LOAD_OBJECT_PROPERTIES");
|
||||
is(findAllElements(dbg, "expressionNodes").length, 20);
|
||||
});
|
|
@ -0,0 +1,29 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
|
||||
/*
|
||||
* Test reloading:
|
||||
* 1. reload the source
|
||||
* 2. re-sync breakpoints
|
||||
*/
|
||||
|
||||
add_task(async function() {
|
||||
const dbg = await initDebugger("reload/doc_reload.html", "sjs_code_reload");
|
||||
|
||||
const sym = waitForDispatch(dbg, "SET_SYMBOLS");
|
||||
await selectSource(dbg, "sjs_code_reload");
|
||||
await sym;
|
||||
|
||||
await addBreakpoint(dbg, "sjs_code_reload", 2);
|
||||
|
||||
const sync = waitForDispatch(dbg, "SYNC_BREAKPOINT");
|
||||
await reload(dbg, "sjs_code_reload");
|
||||
await sync;
|
||||
|
||||
const breakpoints = dbg.selectors.getBreakpoints(dbg.getState());
|
||||
const breakpointList = breakpoints.valueSeq().toJS();
|
||||
const breakpoint = breakpointList[0];
|
||||
|
||||
is(breakpointList.length, 1);
|
||||
is(breakpoint.location.line, 6);
|
||||
});
|
|
@ -11,6 +11,7 @@ add_task(async function() {
|
|||
await waitForPaused(dbg);
|
||||
assertPausedLocation(dbg);
|
||||
|
||||
await waitForSource(dbg, "wasm-sourcemaps/average.c");
|
||||
await addBreakpoint(dbg, "wasm-sourcemaps/average.c", 12);
|
||||
|
||||
clickElement(dbg, "resume");
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
function foo(n) {
|
||||
console.log("yo")
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
/*
|
||||
* comments
|
||||
*/
|
||||
|
||||
function foo() {
|
||||
console.log("YO")
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
<!-- Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/ -->
|
||||
<!doctype html>
|
||||
|
||||
<html>
|
||||
<script src="sjs_code_reload.sjs"></script>
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<title>Empty test page 1</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,32 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
|
||||
/* globals getState, setState */
|
||||
/* exported handleRequest */
|
||||
|
||||
"use strict";
|
||||
|
||||
function _getUrl(request, counter) {
|
||||
const { scheme, host, path } = request;
|
||||
|
||||
const newPath = path.substr(0, path.lastIndexOf("/") + 1);
|
||||
const index = counter < 3 ? 1 : 2;
|
||||
return `${scheme}://${host}${newPath}/code_reload_${index}.js`
|
||||
}
|
||||
|
||||
function handleRequest(request, response) {
|
||||
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");
|
||||
response.setHeader("Pragma", "no-cache");
|
||||
response.setHeader("Expires", "0");
|
||||
response.setHeader("Access-Control-Allow-Origin", "*", false);
|
||||
response.setHeader("Content-Type", "text/javascript", false);
|
||||
|
||||
// Redirect to a different file each time.
|
||||
let counter = 1 + +getState("counter");
|
||||
|
||||
const newUrl = _getUrl(request, counter);
|
||||
|
||||
response.setStatusLine(request.httpVersion, 302, "Found");
|
||||
response.setHeader("Location", newUrl);
|
||||
setState("counter", "" + counter);
|
||||
}
|
|
@ -504,7 +504,7 @@ function stepOut(dbg) {
|
|||
function resume(dbg) {
|
||||
info("Resuming");
|
||||
dbg.actions.resume();
|
||||
return waitForThreadEvents(dbg, "resumed");
|
||||
return waitForState(dbg, (state) => !dbg.selectors.isPaused(state));
|
||||
}
|
||||
|
||||
function deleteExpression(dbg, input) {
|
||||
|
|
|
@ -790,3 +790,7 @@ shortcuts.projectSearch=Full Project Search
|
|||
# LOCALIZATION NOTE (shortcuts.functionSearch): text describing
|
||||
# keyboard shortcut action for function search
|
||||
shortcuts.functionSearch=Function Search
|
||||
|
||||
# LOCALIZATION NOTE (shortcuts.buttonName): text describing
|
||||
# keyboard shortcut button text
|
||||
shortcuts.buttonName=Keyboard shortcuts
|
||||
|
|
|
@ -31,7 +31,6 @@ pref("devtools.debugger.ui.variables-only-enum-visible", false);
|
|||
pref("devtools.debugger.ui.variables-searchbox-visible", false);
|
||||
pref("devtools.debugger.ui.framework-grouping-on", true);
|
||||
pref("devtools.debugger.call-stack-visible", false);
|
||||
pref("devtools.debugger.scopes-visible", false);
|
||||
pref("devtools.debugger.start-panel-collapsed", false);
|
||||
pref("devtools.debugger.end-panel-collapsed", false);
|
||||
pref("devtools.debugger.tabs", "[]");
|
||||
|
|
Загрузка…
Ссылка в новой задаче