mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-07 16:28:38 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
|
|
@ -0,0 +1,7 @@
|
|||
### Test Examples
|
||||
|
||||
##### Pages
|
||||
* **doc_script-switching-01** - includes two scripts that reference each other. The second function has a debugger.
|
||||
* **doc-scripts** - includes three sources, a long source and two sources that reference each other.
|
||||
* **doc-iframes** - includes an iframe with the debugger statements source.
|
||||
* **debugger-statements** - inline script with functions for testing stepping.
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
function runCode(){
|
||||
var a=1;
|
||||
a=a*2;
|
||||
return a;
|
||||
}
|
||||
//# sourceMappingURL=bogus.map
|
||||
|
|
@ -0,0 +1,96 @@
|
|||
/******/ (function(modules) { // webpackBootstrap
|
||||
/******/ // The module cache
|
||||
/******/ var installedModules = {};
|
||||
/******/
|
||||
/******/ // The require function
|
||||
/******/ function __webpack_require__(moduleId) {
|
||||
/******/
|
||||
/******/ // Check if module is in cache
|
||||
/******/ if(installedModules[moduleId])
|
||||
/******/ return installedModules[moduleId].exports;
|
||||
/******/
|
||||
/******/ // Create a new module (and put it into the cache)
|
||||
/******/ var module = installedModules[moduleId] = {
|
||||
/******/ exports: {},
|
||||
/******/ id: moduleId,
|
||||
/******/ loaded: false
|
||||
/******/ };
|
||||
/******/
|
||||
/******/ // Execute the module function
|
||||
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
||||
/******/
|
||||
/******/ // Flag the module as loaded
|
||||
/******/ module.loaded = true;
|
||||
/******/
|
||||
/******/ // Return the exports of the module
|
||||
/******/ return module.exports;
|
||||
/******/ }
|
||||
/******/
|
||||
/******/
|
||||
/******/ // expose the modules object (__webpack_modules__)
|
||||
/******/ __webpack_require__.m = modules;
|
||||
/******/
|
||||
/******/ // expose the module cache
|
||||
/******/ __webpack_require__.c = installedModules;
|
||||
/******/
|
||||
/******/ // __webpack_public_path__
|
||||
/******/ __webpack_require__.p = "";
|
||||
/******/
|
||||
/******/ // Load entry module and return exports
|
||||
/******/ return __webpack_require__(0);
|
||||
/******/ })
|
||||
/************************************************************************/
|
||||
/******/ ([
|
||||
/* 0 */
|
||||
/***/ function(module, exports, __webpack_require__) {
|
||||
|
||||
const times2 = __webpack_require__(1);
|
||||
const { output } = __webpack_require__(2);
|
||||
const opts = __webpack_require__(3);
|
||||
|
||||
output(times2(1));
|
||||
output(times2(2));
|
||||
|
||||
if(opts.extra) {
|
||||
output(times2(3));
|
||||
}
|
||||
|
||||
window.keepMeAlive = function() {
|
||||
// This function exists to make sure this script is never garbage
|
||||
// collected. It is also callable from tests.
|
||||
return times2(4);
|
||||
}
|
||||
|
||||
|
||||
/***/ },
|
||||
/* 1 */
|
||||
/***/ function(module, exports) {
|
||||
|
||||
module.exports = function(x) {
|
||||
return x * 2;
|
||||
}
|
||||
|
||||
|
||||
/***/ },
|
||||
/* 2 */
|
||||
/***/ function(module, exports) {
|
||||
|
||||
function output(str) {
|
||||
console.log(str);
|
||||
}
|
||||
|
||||
module.exports = { output };
|
||||
|
||||
|
||||
/***/ },
|
||||
/* 3 */
|
||||
/***/ function(module, exports) {
|
||||
|
||||
module.exports = {
|
||||
extra: true
|
||||
};
|
||||
|
||||
|
||||
/***/ }
|
||||
/******/ ]);
|
||||
//# sourceMappingURL=bundle.js.map
|
||||
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"sources":["webpack:///webpack/bootstrap 4ef8c7ec7c1df790781e","webpack:///./entry.js","webpack:///./times2.js","webpack:///./output.js","webpack:///./opts.js"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;ACtCA;AACA,QAAO,SAAS;AAChB;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;ACfA;AACA;AACA;;;;;;;ACFA;AACA;AACA;;AAEA,mBAAkB;;;;;;;ACJlB;AACA;AACA","file":"bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 4ef8c7ec7c1df790781e","const times2 = require(\"./times2\");\nconst { output } = require(\"./output\");\nconst opts = require(\"./opts\");\n\noutput(times2(1));\noutput(times2(2));\n\nif(opts.extra) {\n output(times2(3));\n}\n\nwindow.keepMeAlive = function() {\n // This function exists to make sure this script is never garbage\n // collected. It is also callable from tests.\n return times2(4);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./entry.js\n// module id = 0\n// module chunks = 0","module.exports = function(x) {\n return x * 2;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./times2.js\n// module id = 1\n// module chunks = 0","function output(str) {\n console.log(str);\n}\n\nmodule.exports = { output };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./output.js\n// module id = 2\n// module chunks = 0","module.exports = {\n extra: true\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./opts.js\n// module id = 3\n// module chunks = 0"],"sourceRoot":""}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>Debugger Statements</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script>
|
||||
debugger;
|
||||
test();
|
||||
|
||||
function test() {
|
||||
debugger;
|
||||
stepIntoMe();
|
||||
}
|
||||
|
||||
function stepIntoMe() {
|
||||
// step in
|
||||
stepOverMe();
|
||||
// step out
|
||||
}
|
||||
|
||||
function stepOverMe() {
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>Debugger test page</title>
|
||||
<script type="text/javascript" src="exceptions.js"></script>
|
||||
</head>
|
||||
<body></body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>Frames</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script>
|
||||
debugger;
|
||||
// This inline script allows this HTML page to show up as a
|
||||
// source. It also needs to introduce a new global variable so
|
||||
// it's not immediately garbage collected.
|
||||
function inline_script() { var x = 5; }
|
||||
</script>
|
||||
<script type="text/javascript" src="frames.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
<html>
|
||||
<head>
|
||||
<title>Iframe</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script>
|
||||
debugger;
|
||||
// This inline script allows this HTML page to show up as a
|
||||
// source. It also needs to introduce a new global variable so
|
||||
// it's not immediately garbage collected.
|
||||
function inline_script() { var x = 5; }
|
||||
</script>
|
||||
<iframe src="doc-debugger-statements.html"></iframe>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
<!-- Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/ -->
|
||||
<!doctype html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<title>Debugger test page</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script src="math.min.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
<!-- Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/ -->
|
||||
<!doctype html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<title>Debugger test page</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<button onclick="firstCall()">Click me!</button>
|
||||
|
||||
<script type="text/javascript" src="script-switching-01.js"></script>
|
||||
<script type="text/javascript" src="script-switching-02.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
<!-- Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/ -->
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<title>Debugger test page</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script src="simple1.js"></script>
|
||||
<script src="simple2.js"></script>
|
||||
<script src="long.js"></script>
|
||||
<script>
|
||||
// This inline script allows this HTML page to show up as a
|
||||
// source. It also needs to introduce a new global variable so
|
||||
// it's not immediately garbage collected.
|
||||
function inline_script() { var x = 5; }
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
<!-- Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/ -->
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<title>Debugger test page</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script src="bogus-map.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
<!-- Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/ -->
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<title>Debugger test page</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script src="bundle.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
<!-- Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/ -->
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<title>Debugger test page</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script src="simple1.js"></script>
|
||||
<script src="simple2.js"></script>
|
||||
<script src="long.js"></script>
|
||||
<script>
|
||||
// This inline script allows this HTML page to show up as a
|
||||
// source. It also needs to introduce a new global variable so
|
||||
// it's not immediately garbage collected.
|
||||
function inline_script() { var x = 5; }
|
||||
</script>
|
||||
<script src="nested/nested-source.js"></script>
|
||||
<script src="nested/deeper/deeper-source.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
const times2 = require("./times2");
|
||||
const { output } = require("./output");
|
||||
const opts = require("./opts");
|
||||
|
||||
output(times2(1));
|
||||
output(times2(2));
|
||||
|
||||
if(opts.extra) {
|
||||
output(times2(3));
|
||||
}
|
||||
|
||||
window.keepMeAlive = function() {
|
||||
// This function exists to make sure this script is never garbage
|
||||
// collected. It is also callable from tests.
|
||||
return times2(4);
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
function uncaughtException() {
|
||||
throw "unreachable"
|
||||
}
|
||||
|
||||
function caughtError() {
|
||||
try {
|
||||
throw new Error("error");
|
||||
} catch (e) {
|
||||
debugger;
|
||||
}
|
||||
}
|
||||
|
||||
function caughtException() {
|
||||
try {
|
||||
throw "reachable";
|
||||
} catch (e) {
|
||||
debugger;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
function recurseA(i) {
|
||||
if (i == 20) {
|
||||
debugger;
|
||||
return;
|
||||
}
|
||||
|
||||
// down into the rabbit hole we go
|
||||
return (i % 2) ? recurseA(++i) : recurseB(++i);
|
||||
}
|
||||
|
||||
function recurseB(i) {
|
||||
if (i == 20) {
|
||||
debugger;
|
||||
return;
|
||||
}
|
||||
|
||||
// down into the rabbit hole we go
|
||||
return (i % 2) ? recurseA(++i) : recurseB(++i);
|
||||
}
|
||||
|
||||
|
||||
window.startRecursion = function() {
|
||||
return recurseA(0);
|
||||
}
|
||||
76
devtools/client/debugger/new/test/mochitest/examples/long.js
Normal file
76
devtools/client/debugger/new/test/mochitest/examples/long.js
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
var app = {};
|
||||
|
||||
// Generic "model" object. You can use whatever
|
||||
// framework you want. For this application it
|
||||
// may not even be worth separating this logic
|
||||
// out, but we do this to demonstrate one way to
|
||||
// separate out parts of your application.
|
||||
app.TodoModel = function (key) {
|
||||
this.key = key;
|
||||
this.todos = [];
|
||||
this.onChanges = [];
|
||||
};
|
||||
|
||||
app.TodoModel.prototype.addTodo = function (title) {
|
||||
this.todos = this.todos.concat([{
|
||||
id: Utils.uuid(),
|
||||
title: title,
|
||||
completed: false
|
||||
}]);
|
||||
};
|
||||
|
||||
app.TodoModel.prototype.inform = function() {
|
||||
// Something changed, but we do nothing
|
||||
return null;
|
||||
};
|
||||
|
||||
app.TodoModel.prototype.toggleAll = function (checked) {
|
||||
// Note: it's usually better to use immutable data structures since they're
|
||||
// easier to reason about and React works very well with them. That's why
|
||||
// we use map() and filter() everywhere instead of mutating the array or
|
||||
// todo items themselves.
|
||||
this.todos = this.todos.map(function (todo) {
|
||||
return Object.assign({}, todo, {completed: checked});
|
||||
});
|
||||
|
||||
this.inform();
|
||||
};
|
||||
|
||||
app.TodoModel.prototype.toggle = function (todoToToggle) {
|
||||
this.todos = this.todos.map(function (todo) {
|
||||
return todo !== todoToToggle ?
|
||||
todo :
|
||||
Object.assign({}, todo, {completed: !todo.completed});
|
||||
});
|
||||
|
||||
this.inform();
|
||||
};
|
||||
|
||||
app.TodoModel.prototype.destroy = function (todo) {
|
||||
this.todos = this.todos.filter(function (candidate) {
|
||||
return candidate !== todo;
|
||||
});
|
||||
|
||||
this.inform();
|
||||
};
|
||||
|
||||
app.TodoModel.prototype.save = function (todoToSave, text) {
|
||||
this.todos = this.todos.map(function (todo) {
|
||||
return todo !== todoToSave ? todo : Object.assign({}, todo, {title: text});
|
||||
});
|
||||
|
||||
this.inform();
|
||||
};
|
||||
|
||||
app.TodoModel.prototype.clearCompleted = function () {
|
||||
this.todos = this.todos.filter(function (todo) {
|
||||
return !todo.completed;
|
||||
});
|
||||
|
||||
this.inform();
|
||||
};
|
||||
|
||||
function testModel() {
|
||||
const model = new app.TodoModel();
|
||||
model.clearCompleted();
|
||||
}
|
||||
3
devtools/client/debugger/new/test/mochitest/examples/math.min.js
vendored
Normal file
3
devtools/client/debugger/new/test/mochitest/examples/math.min.js
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
function add(a,b,k){var result=a+b;return k(result)}function sub(a,b,k){var result=a-b;return k(result)}function mul(a,b,k){var result=a*b;return k(result)}function div(a,b,k){var result=a/b;return k(result)}function arithmetic(){
|
||||
add(4,4,function(a){
|
||||
sub(a,2,function(b){mul(b,3,function(c){div(c,2,function(d){console.log(d)})})})})};
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
function computeSomething() {
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
module.exports = {
|
||||
extra: true
|
||||
};
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
function output(str) {
|
||||
console.log(str);
|
||||
}
|
||||
|
||||
module.exports = { output };
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
|
||||
function firstCall() {
|
||||
secondCall();
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
|
||||
function secondCall() {
|
||||
// This comment is useful: ☺
|
||||
debugger;
|
||||
function foo() {}
|
||||
if (x) {
|
||||
foo();
|
||||
}
|
||||
}
|
||||
|
||||
var x = true;
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
function main() {
|
||||
// A comment so we can test that breakpoint sliding works across
|
||||
// multiple lines
|
||||
const func = foo(1, 2);
|
||||
const result = func();
|
||||
return result;
|
||||
}
|
||||
|
||||
function doEval() {
|
||||
eval("(" + function() {
|
||||
debugger;
|
||||
|
||||
window.evaledFunc = function() {
|
||||
var foo = 1;
|
||||
var bar = 2;
|
||||
return foo + bar;
|
||||
};
|
||||
}.toString() + ")()");
|
||||
}
|
||||
|
||||
function doNamedEval() {
|
||||
eval("(" + function() {
|
||||
debugger;
|
||||
|
||||
window.evaledFunc = function() {
|
||||
var foo = 1;
|
||||
var bar = 2;
|
||||
return foo + bar;
|
||||
};
|
||||
}.toString() + ")();\n //# sourceURL=evaled.js");
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
function foo(x, y) {
|
||||
function bar() {
|
||||
return x + y;
|
||||
}
|
||||
return bar;
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
module.exports = function(x) {
|
||||
return x * 2;
|
||||
}
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
|
||||
module.exports = {
|
||||
entry: "./entry.js",
|
||||
output: {
|
||||
filename: "bundle.js"
|
||||
},
|
||||
devtool: "sourcemap"
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue