Backed out changeset 3a1d45b3084d (bug 1406551) for leaks and frequently failing new devtools test devtools/client/debugger/new/test/mochitest/browser_dbg-wasm-sourcemaps.js. r=backout

--HG--
extra : amend_source : 36a69b64c05878c1e12c9858bdd658070b41ccf8
This commit is contained in:
Sebastian Hengst 2017-10-09 21:11:26 +02:00
Родитель 262c361ad5
Коммит 2b84bdf2ea
17 изменённых файлов: 3285 добавлений и 3672 удалений

Просмотреть файл

@ -1,11 +0,0 @@
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 { .modal-wrapper {
position: fixed; position: fixed;
display: flex; display: flex;
align-items: center; justify-content: center;
width: 100%; width: 100%;
height: 100%; height: 100%;
top: 0; top: 0;
@ -423,7 +423,7 @@ body {
.modal { .modal {
top: 0; top: 0;
margin: auto; height: 230px;
width: 500px; width: 500px;
background-color: var(--theme-toolbar-background); background-color: var(--theme-toolbar-background);
transform: translateY(-250px); transform: translateY(-250px);
@ -438,7 +438,7 @@ body {
.modal.entered, .modal.entered,
.modal.exiting { .modal.exiting {
transform: translateY(0px); transform: translateY(30px);
} }
@media (max-width: 520px) { @media (max-width: 520px) {
@ -490,6 +490,7 @@ body {
} }
.shortcuts-modal { .shortcuts-modal {
height: fit-content;
width: 45%; width: 45%;
} }
@ -972,7 +973,7 @@ html .arrow.expanded svg {
width: 15px; width: 15px;
height: 15px; height: 15px;
margin-right: 5px; margin-right: 5px;
vertical-align: sub; vertical-align: bottom;
} }
.theme-dark .webpack { .theme-dark .webpack {
@ -1427,7 +1428,6 @@ html[dir="rtl"] .managed-tree .tree .node > div {
display: flex; display: flex;
overflow-x: hidden; overflow-x: hidden;
overflow-y: auto; overflow-y: auto;
padding-top: 11px;
} }
.sources-list .managed-tree { .sources-list .managed-tree {
@ -1462,11 +1462,6 @@ html[dir="rtl"] .managed-tree .tree .node > div {
display: inline-block; display: inline-block;
} }
.sources-list .tree .node .no-arrow {
width: 10px;
display: inline-block;
}
.no-sources-message { .no-sources-message {
font-size: 12px; font-size: 12px;
color: var(--theme-comment-alt); color: var(--theme-comment-alt);
@ -1502,7 +1497,7 @@ html[dir="rtl"] .managed-tree .tree .node > div {
position: relative; position: relative;
transition: all 0.25s ease; transition: all 0.25s ease;
overflow: hidden; overflow: hidden;
padding: 8px 8px 7px 8px; padding: 6.5px;
margin-bottom: 0px; margin-bottom: 0px;
margin-top: -1px; margin-top: -1px;
cursor: default; cursor: default;
@ -2358,6 +2353,11 @@ html[dir="rtl"] .arrow svg,
--theme-conditional-breakpoint-color: var(--theme-body-color); --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. * There's a known codemirror flex issue with chrome that this addresses.
* BUG https://github.com/devtools-html/debugger.html/issues/63 * BUG https://github.com/devtools-html/debugger.html/issues/63
@ -2629,7 +2629,6 @@ html .breakpoints-list .breakpoint.paused {
overflow-x: hidden; overflow-x: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
padding: 1px 0; padding: 1px 0;
vertical-align: bottom;
} }
.breakpoints-list .pause-indicator { .breakpoints-list .pause-indicator {
@ -3217,26 +3216,12 @@ html .command-bar > button:disabled {
offset-inline-start: auto; offset-inline-start: auto;
} }
.welcomebox .small-size-layout {
display: none;
}
.welcomebox .normal-layout {
display: inline-block;
}
.shortcutKeys { .shortcutKeys {
text-align: right; text-align: right;
float: left; float: left;
font-family: Courier; font-family: Courier;
} }
.shortcutKey {
display: inline-block;
margin-right: 10px;
font-family: Courier;
}
.shortcutFunction { .shortcutFunction {
text-align: left; text-align: left;
float: left; float: left;
@ -3246,24 +3231,6 @@ html .command-bar > button:disabled {
html .welcomebox .toggle-button-end.collapsed { html .welcomebox .toggle-button-end.collapsed {
bottom: 1px; 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 { .source-header {
border-bottom: 1px solid var(--theme-splitter-color); border-bottom: 1px solid var(--theme-splitter-color);
width: 100%; width: 100%;

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -70,74 +70,17 @@ return /******/ (function(modules) { // webpackBootstrap
/******/ __webpack_require__.p = "/assets/build"; /******/ __webpack_require__.p = "/assets/build";
/******/ /******/
/******/ // Load entry module and return exports /******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 1282); /******/ return __webpack_require__(__webpack_require__.s = 380);
/******/ }) /******/ })
/************************************************************************/ /************************************************************************/
/******/ ({ /******/ ({
/***/ 1282: /***/ 380:
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__(1283); module.exports = __webpack_require__(964);
/***/ }),
/***/ 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: /***/ 381:
@ -7589,6 +7532,63 @@ module.exports = {
streamingWorkerHandler 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"; /******/ __webpack_require__.p = "/assets/build";
/******/ /******/
/******/ // Load entry module and return exports /******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 1284); /******/ return __webpack_require__(__webpack_require__.s = 382);
/******/ }) /******/ })
/************************************************************************/ /************************************************************************/
/******/ ({ /******/ ({
@ -262,6 +262,168 @@ function arrayMap(array, iteratee) {
module.exports = arrayMap; 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: /***/ 1165:
@ -519,6 +681,44 @@ 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: /***/ 121:
/***/ (function(module, exports, __webpack_require__) { /***/ (function(module, exports, __webpack_require__) {
@ -609,94 +809,6 @@ 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: /***/ 122:
@ -790,126 +902,6 @@ 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: /***/ 14:
@ -957,7 +949,7 @@ module.exports = isObjectLike;
Object.defineProperty(exports, "__esModule", { Object.defineProperty(exports, "__esModule", {
value: true value: true
}); });
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; 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;
var _devtoolsSourceMap = __webpack_require__(898); var _devtoolsSourceMap = __webpack_require__(898);
@ -1056,21 +1048,10 @@ function getRawSourceURL(url) {
return url.replace(/:formatted$/, ""); return url.replace(/:formatted$/, "");
} }
function resolveFileURL(url) {
var transformUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : initialUrl => initialUrl;
url = getRawSourceURL(url || "");
var name = transformUrl(url);
return (0, _utils.endTruncateStr)(name, 50);
}
function getFilenameFromURL(url) { function getFilenameFromURL(url) {
return resolveFileURL(url, initialUrl => (0, _path.basename)(initialUrl) || "(index)"); url = getRawSourceURL(url || "");
} var name = (0, _path.basename)(url) || "(index)";
return (0, _utils.endTruncateStr)(name, 50);
function getFormattedSourceId(id) {
var sourceId = id.split("/")[1];
return `SOURCE${sourceId}`;
} }
/** /**
@ -1085,30 +1066,13 @@ function getFilename(source) {
id = source.id; id = source.id;
if (!url) { if (!url) {
return getFormattedSourceId(id); var sourceId = id.split("/")[1];
return `SOURCE${sourceId}`;
} }
return getFilenameFromURL(url); 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 = { var contentTypeModeMap = {
"text/javascript": { name: "javascript" }, "text/javascript": { name: "javascript" },
"text/typescript": { name: "javascript", typescript: true }, "text/typescript": { name: "javascript", typescript: true },
@ -1220,7 +1184,6 @@ exports.getPrettySourceURL = getPrettySourceURL;
exports.getRawSourceURL = getRawSourceURL; exports.getRawSourceURL = getRawSourceURL;
exports.getFilename = getFilename; exports.getFilename = getFilename;
exports.getFilenameFromURL = getFilenameFromURL; exports.getFilenameFromURL = getFilenameFromURL;
exports.getFileURL = getFileURL;
exports.getSourcePath = getSourcePath; exports.getSourcePath = getSourcePath;
exports.getSourceLineCount = getSourceLineCount; exports.getSourceLineCount = getSourceLineCount;
exports.getMode = getMode; exports.getMode = getMode;
@ -2500,6 +2463,14 @@ module.exports = {
}; };
/***/ }),
/***/ 382:
/***/ (function(module, exports, __webpack_require__) {
module.exports = __webpack_require__(1123);
/***/ }), /***/ }),
/***/ 6: /***/ 6:

Просмотреть файл

@ -19,9 +19,6 @@ support-files =
examples/sum/sum.js examples/sum/sum.js
examples/sum/sum.min.js examples/sum/sum.min.js
examples/sum/sum.min.js.map 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-async.html
examples/doc-asm.html examples/doc-asm.html
examples/doc-scripts.html examples/doc-scripts.html
@ -56,7 +53,6 @@ support-files =
examples/script-switching-02.js examples/script-switching-02.js
examples/script-switching-01.js examples/script-switching-01.js
examples/times2.js examples/times2.js
examples/reload/sjs_code_reload.sjs
[browser_dbg-asm.js] [browser_dbg-asm.js]
[browser_dbg-async-stepping.js] [browser_dbg-async-stepping.js]
@ -68,6 +64,7 @@ support-files =
skip-if = true # Bug 1383576 skip-if = true # Bug 1383576
[browser_dbg-breakpoints-cond.js] [browser_dbg-breakpoints-cond.js]
[browser_dbg-call-stack.js] [browser_dbg-call-stack.js]
[browser_dbg-expressions.js]
[browser_dbg-scopes.js] [browser_dbg-scopes.js]
[browser_dbg-chrome-create.js] [browser_dbg-chrome-create.js]
[browser_dbg-chrome-debugging.js] [browser_dbg-chrome-debugging.js]
@ -77,8 +74,6 @@ skip-if = debug # bug 1374187
[browser_dbg-editor-gutter.js] [browser_dbg-editor-gutter.js]
[browser_dbg-editor-select.js] [browser_dbg-editor-select.js]
[browser_dbg-editor-highlight.js] [browser_dbg-editor-highlight.js]
[browser_dbg-expressions.js]
[browser_dbg-expressions-error.js]
[browser_dbg-iframes.js] [browser_dbg-iframes.js]
[browser_dbg_keyboard_navigation.js] [browser_dbg_keyboard_navigation.js]
[browser_dbg_keyboard-shortcuts.js] [browser_dbg_keyboard-shortcuts.js]
@ -107,4 +102,4 @@ skip-if = true # Bug 1393121, 1393299
[browser_dbg-tabs.js] [browser_dbg-tabs.js]
[browser_dbg-toggling-tools.js] [browser_dbg-toggling-tools.js]
[browser_dbg-wasm-sourcemaps.js] [browser_dbg-wasm-sourcemaps.js]
[browser_dbg-reload.js] skip-if = true

Просмотреть файл

@ -1,90 +0,0 @@
/* 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);
});

Просмотреть файл

@ -1,29 +0,0 @@
/* 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,7 +11,6 @@ add_task(async function() {
await waitForPaused(dbg); await waitForPaused(dbg);
assertPausedLocation(dbg); assertPausedLocation(dbg);
await waitForSource(dbg, "wasm-sourcemaps/average.c");
await addBreakpoint(dbg, "wasm-sourcemaps/average.c", 12); await addBreakpoint(dbg, "wasm-sourcemaps/average.c", 12);
clickElement(dbg, "resume"); clickElement(dbg, "resume");

Просмотреть файл

@ -1,3 +0,0 @@
function foo(n) {
console.log("yo")
}

Просмотреть файл

@ -1,7 +0,0 @@
/*
* comments
*/
function foo() {
console.log("YO")
}

Просмотреть файл

@ -1,15 +0,0 @@
<!-- 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>

Просмотреть файл

@ -1,32 +0,0 @@
/* 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) { function resume(dbg) {
info("Resuming"); info("Resuming");
dbg.actions.resume(); dbg.actions.resume();
return waitForState(dbg, (state) => !dbg.selectors.isPaused(state)); return waitForThreadEvents(dbg, "resumed");
} }
function deleteExpression(dbg, input) { function deleteExpression(dbg, input) {

Просмотреть файл

@ -790,7 +790,3 @@ shortcuts.projectSearch=Full Project Search
# LOCALIZATION NOTE (shortcuts.functionSearch): text describing # LOCALIZATION NOTE (shortcuts.functionSearch): text describing
# keyboard shortcut action for function search # keyboard shortcut action for function search
shortcuts.functionSearch=Function Search shortcuts.functionSearch=Function Search
# LOCALIZATION NOTE (shortcuts.buttonName): text describing
# keyboard shortcut button text
shortcuts.buttonName=Keyboard shortcuts

Просмотреть файл

@ -31,6 +31,7 @@ pref("devtools.debugger.ui.variables-only-enum-visible", false);
pref("devtools.debugger.ui.variables-searchbox-visible", false); pref("devtools.debugger.ui.variables-searchbox-visible", false);
pref("devtools.debugger.ui.framework-grouping-on", true); pref("devtools.debugger.ui.framework-grouping-on", true);
pref("devtools.debugger.call-stack-visible", false); pref("devtools.debugger.call-stack-visible", false);
pref("devtools.debugger.scopes-visible", false);
pref("devtools.debugger.start-panel-collapsed", false); pref("devtools.debugger.start-panel-collapsed", false);
pref("devtools.debugger.end-panel-collapsed", false); pref("devtools.debugger.end-panel-collapsed", false);
pref("devtools.debugger.tabs", "[]"); pref("devtools.debugger.tabs", "[]");