From 2aa4a82499d4becd2284cdb482213d541b8804dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 28 Apr 2024 16:29:10 +0200 Subject: Adding upstream version 86.0.1. Signed-off-by: Daniel Baumann --- devtools/client/shared/SplitView.jsm | 310 + devtools/client/shared/WeakMapMap.js | 107 + devtools/client/shared/async-store-helper.js | 57 + devtools/client/shared/autocomplete-popup.js | 695 + devtools/client/shared/browser-loader-mocks.js | 72 + devtools/client/shared/browser-loader.js | 255 + devtools/client/shared/build/babel.js | 1 + devtools/client/shared/build/build-debugger.js | 218 + devtools/client/shared/build/build.js | 82 + .../client/shared/build/node-templates.mozbuild | 34 + devtools/client/shared/components/.eslintrc.js | 11 + devtools/client/shared/components/Accordion.css | 87 + devtools/client/shared/components/Accordion.js | 257 + devtools/client/shared/components/Frame.js | 306 + devtools/client/shared/components/HSplitBox.js | 163 + devtools/client/shared/components/List.css | 41 + devtools/client/shared/components/List.js | 350 + devtools/client/shared/components/MdnLink.css | 28 + devtools/client/shared/components/MdnLink.js | 38 + .../client/shared/components/NotificationBox.css | 112 + .../client/shared/components/NotificationBox.js | 371 + devtools/client/shared/components/SearchBox.js | 259 + .../components/SearchBoxAutocompletePopup.js | 147 + devtools/client/shared/components/Sidebar.js | 98 + .../client/shared/components/SidebarToggle.css | 39 + devtools/client/shared/components/SidebarToggle.js | 87 + devtools/client/shared/components/SmartTrace.css | 168 + devtools/client/shared/components/SmartTrace.js | 285 + devtools/client/shared/components/StackTrace.js | 97 + devtools/client/shared/components/Tree.css | 91 + devtools/client/shared/components/Tree.js | 1056 + .../client/shared/components/VirtualizedTree.js | 1068 + .../client/shared/components/VisibilityHandler.js | 55 + .../client/shared/components/menu/MenuButton.js | 450 + devtools/client/shared/components/menu/MenuItem.js | 178 + devtools/client/shared/components/menu/MenuList.js | 158 + devtools/client/shared/components/menu/moz.build | 12 + devtools/client/shared/components/menu/utils.js | 62 + devtools/client/shared/components/moz.build | 36 + .../shared/components/object-inspector/actions.js | 201 + .../components/ObjectInspector.css | 113 + .../object-inspector/components/ObjectInspector.js | 361 + .../components/ObjectInspectorItem.js | 288 + .../object-inspector/components/moz.build | 10 + .../shared/components/object-inspector/index.js | 10 + .../shared/components/object-inspector/moz.build | 16 + .../shared/components/object-inspector/reducer.js | 147 + .../components/object-inspector/utils/client.js | 109 + .../components/object-inspector/utils/index.js | 46 + .../object-inspector/utils/load-properties.js | 230 + .../components/object-inspector/utils/moz.build | 13 + .../components/object-inspector/utils/node.js | 1007 + .../components/object-inspector/utils/selection.js | 16 + .../client/shared/components/reps/images/input.svg | 7 + .../components/reps/images/jump-definition.svg | 8 + .../components/reps/images/open-inspector.svg | 6 + devtools/client/shared/components/reps/index.js | 32 + devtools/client/shared/components/reps/moz.build | 14 + devtools/client/shared/components/reps/reps.css | 322 + .../shared/components/reps/reps/accessible.js | 202 + .../client/shared/components/reps/reps/accessor.js | 110 + .../client/shared/components/reps/reps/array.js | 174 + .../shared/components/reps/reps/attribute.js | 79 + .../client/shared/components/reps/reps/big-int.js | 57 + .../shared/components/reps/reps/comment-node.js | 83 + .../shared/components/reps/reps/constants.js | 16 + .../shared/components/reps/reps/date-time.js | 100 + .../shared/components/reps/reps/document-type.js | 66 + .../client/shared/components/reps/reps/document.js | 85 + .../shared/components/reps/reps/element-node.js | 314 + .../client/shared/components/reps/reps/error.js | 305 + .../client/shared/components/reps/reps/event.js | 121 + .../client/shared/components/reps/reps/function.js | 270 + .../shared/components/reps/reps/grip-array.js | 264 + .../shared/components/reps/reps/grip-map-entry.js | 95 + .../client/shared/components/reps/reps/grip-map.js | 243 + .../client/shared/components/reps/reps/grip.js | 373 + .../client/shared/components/reps/reps/infinity.js | 52 + .../client/shared/components/reps/reps/moz.build | 44 + devtools/client/shared/components/reps/reps/nan.js | 51 + .../client/shared/components/reps/reps/null.js | 59 + .../client/shared/components/reps/reps/number.js | 62 + .../components/reps/reps/object-with-text.js | 75 + .../shared/components/reps/reps/object-with-url.js | 78 + .../client/shared/components/reps/reps/object.js | 208 + .../client/shared/components/reps/reps/promise.js | 102 + .../client/shared/components/reps/reps/prop-rep.js | 96 + .../client/shared/components/reps/reps/regexp.js | 71 + .../shared/components/reps/reps/rep-utils.js | 502 + devtools/client/shared/components/reps/reps/rep.js | 169 + .../client/shared/components/reps/reps/string.js | 393 + .../shared/components/reps/reps/stylesheet.js | 79 + .../client/shared/components/reps/reps/symbol.js | 82 + .../shared/components/reps/reps/text-node.js | 133 + .../shared/components/reps/reps/undefined.js | 59 + .../client/shared/components/reps/reps/window.js | 108 + .../components/reps/shared/dom-node-constants.js | 31 + .../components/reps/shared/grip-length-bubble.js | 64 + .../client/shared/components/reps/shared/moz.build | 10 + .../client/shared/components/splitter/Draggable.js | 103 + .../components/splitter/GridElementResizer.css | 32 + .../components/splitter/GridElementWidthResizer.js | 138 + .../client/shared/components/splitter/SplitBox.css | 93 + .../client/shared/components/splitter/SplitBox.js | 336 + .../client/shared/components/splitter/moz.build | 11 + devtools/client/shared/components/tabs/TabBar.js | 360 + devtools/client/shared/components/tabs/Tabs.css | 115 + devtools/client/shared/components/tabs/Tabs.js | 461 + devtools/client/shared/components/tabs/moz.build | 10 + .../shared/components/test/browser/.eslintrc.js | 6 + .../shared/components/test/browser/browser.ini | 8 + .../test/browser/browser_notification_box_basic.js | 36 + .../shared/components/test/chrome/.eslintrc.js | 6 + .../components/test/chrome/accordion.snapshots.js | 176 + .../shared/components/test/chrome/chrome.ini | 44 + .../client/shared/components/test/chrome/head.js | 375 + .../test/chrome/test_GridElementWidthResizer.html | 209 + .../chrome/test_GridElementWidthResizer_RTL.html | 210 + .../components/test/chrome/test_HSplitBox_01.html | 140 + .../components/test/chrome/test_accordion.html | 141 + .../components/test/chrome/test_frame_01.html | 361 + .../components/test/chrome/test_frame_02.html | 104 + .../shared/components/test/chrome/test_list.html | 127 + .../components/test/chrome/test_list_keyboard.html | 283 + .../test/chrome/test_notification_box_01.html | 136 + .../test/chrome/test_notification_box_02.html | 73 + .../test/chrome/test_notification_box_03.html | 87 + .../chrome/test_searchbox-with-autocomplete.html | 301 + .../components/test/chrome/test_searchbox.html | 74 + .../test/chrome/test_sidebar_toggle.html | 59 + .../test/chrome/test_smart-trace-grouping.html | 141 + .../test/chrome/test_smart-trace-source-maps.html | 290 + .../components/test/chrome/test_smart-trace.html | 82 + .../test/chrome/test_stack-trace-source-maps.html | 98 + .../components/test/chrome/test_stack-trace.html | 100 + .../test/chrome/test_tabs_accessibility.html | 82 + .../components/test/chrome/test_tabs_menu.html | 84 + .../components/test/chrome/test_tree-view_01.html | 290 + .../components/test/chrome/test_tree-view_02.html | 136 + .../components/test/chrome/test_tree_01.html | 68 + .../components/test/chrome/test_tree_02.html | 49 + .../components/test/chrome/test_tree_03.html | 50 + .../components/test/chrome/test_tree_04.html | 133 + .../components/test/chrome/test_tree_05.html | 195 + .../components/test/chrome/test_tree_06.html | 340 + .../components/test/chrome/test_tree_07.html | 69 + .../components/test/chrome/test_tree_08.html | 61 + .../components/test/chrome/test_tree_09.html | 85 + .../components/test/chrome/test_tree_10.html | 57 + .../components/test/chrome/test_tree_11.html | 100 + .../components/test/chrome/test_tree_12.html | 146 + .../components/test/chrome/test_tree_13.html | 88 + .../components/test/chrome/test_tree_14.html | 245 + .../components/test/chrome/test_tree_15.html | 99 + .../components/test/chrome/test_tree_16.html | 145 + .../shared/components/test/node/.eslintrc.js | 10 + .../components/test/node/__mocks__/Services.js | 14 + .../components/test/node/__mocks__/object-front.js | 48 + .../components/test/node/__mocks__/string-front.js | 15 + .../shared/components/test/node/babel.config.js | 13 + .../components/__snapshots__/tree.test.js.snap | 1171 + .../component/__snapshots__/basic.test.js.snap | 63 + .../__snapshots__/classnames.test.js.snap | 348 + .../component/__snapshots__/entries.test.js.snap | 94 + .../component/__snapshots__/expand.test.js.snap | 175 + .../__snapshots__/getter-setter.test.js.snap | 51 + .../__snapshots__/keyboard-navigation.test.js.snap | 55 + .../__snapshots__/properties.test.js.snap | 19 + .../component/__snapshots__/proxy.test.js.snap | 9 + .../component/__snapshots__/window.test.js.snap | 2062 ++ .../object-inspector/component/basic.test.js | 439 + .../object-inspector/component/classnames.test.js | 53 + .../component/create-long-string-front.test.js | 94 + .../component/create-object-client.test.js | 113 + .../object-inspector/component/entries.test.js | 136 + .../object-inspector/component/events.test.js | 171 + .../object-inspector/component/expand.test.js | 433 + .../object-inspector/component/function.test.js | 87 + .../component/getter-setter.test.js | 106 + .../component/keyboard-navigation.test.js | 86 + .../object-inspector/component/properties.test.js | 157 + .../object-inspector/component/proxy.test.js | 132 + .../component/should-item-update.test.js | 95 + .../object-inspector/component/window.test.js | 93 + .../node/components/object-inspector/test-utils.js | 231 + .../utils/__snapshots__/promises.test.js.snap | 49 + .../object-inspector/utils/create-node.test.js | 87 + .../object-inspector/utils/get-children.test.js | 278 + .../utils/get-closest-grip-node.test.js | 52 + .../object-inspector/utils/get-value.test.js | 91 + .../utils/make-node-for-properties.test.js | 295 + .../utils/make-numerical-buckets.test.js | 138 + .../utils/node-has-entries.test.js | 51 + .../object-inspector/utils/node-is-window.test.js | 20 + .../node-supports-numerical-bucketing.test.js | 72 + .../object-inspector/utils/promises.test.js | 54 + .../utils/should-load-item-entries.test.js | 171 + .../utils/should-load-item-full-text.test.js | 56 + .../should-load-item-indexed-properties.test.js | 257 + ...should-load-item-non-indexed-properties.test.js | 220 + .../utils/should-load-item-prototype.test.js | 216 + .../utils/should-load-item-symbols.test.js | 216 + .../utils/should-render-roots-in-reps.test.js | 153 + .../reps/__snapshots__/accessor.test.js.snap | 3 + .../reps/__snapshots__/element-node.test.js.snap | 42 + .../reps/__snapshots__/error.test.js.snap | 1210 ++ .../components/reps/__snapshots__/nan.test.js.snap | 10 + .../test/node/components/reps/accessible.test.js | 321 + .../test/node/components/reps/accessor.test.js | 137 + .../test/node/components/reps/array.test.js | 119 + .../test/node/components/reps/attribute.test.js | 44 + .../test/node/components/reps/big-int.test.js | 106 + .../test/node/components/reps/comment-node.test.js | 74 + .../test/node/components/reps/date-time.test.js | 61 + .../node/components/reps/document-type.test.js | 51 + .../test/node/components/reps/document.test.js | 52 + .../test/node/components/reps/element-node.test.js | 663 + .../test/node/components/reps/error.test.js | 748 + .../test/node/components/reps/event.test.js | 160 + .../test/node/components/reps/failure.test.js | 64 + .../test/node/components/reps/function.test.js | 582 + .../test/node/components/reps/grip-array.test.js | 650 + .../node/components/reps/grip-map-entry.test.js | 191 + .../test/node/components/reps/grip-map.test.js | 375 + .../test/node/components/reps/grip.test.js | 705 + .../test/node/components/reps/helper-tests.test.js | 122 + .../test/node/components/reps/infinity.test.js | 70 + .../test/node/components/reps/long-string.test.js | 135 + .../test/node/components/reps/nan.test.js | 43 + .../test/node/components/reps/null.test.js | 47 + .../test/node/components/reps/number.test.js | 137 + .../node/components/reps/object-with-text.test.js | 66 + .../node/components/reps/object-with-url.test.js | 45 + .../test/node/components/reps/object.test.js | 356 + .../test/node/components/reps/promise.test.js | 216 + .../test/node/components/reps/regexp.test.js | 59 + .../node/components/reps/string-with-url.test.js | 608 + .../test/node/components/reps/string.test.js | 191 + .../test/node/components/reps/stylesheet.test.js | 41 + .../test/node/components/reps/symbol.test.js | 62 + .../test/node/components/reps/test-helpers.js | 104 + .../test/node/components/reps/text-node.test.js | 117 + .../test/node/components/reps/undefined.test.js | 58 + .../test/node/components/reps/window.test.js | 117 + .../components/test/node/components/tree.test.js | 927 + .../shared/components/test/node/jest.config.js | 16 + .../shared/components/test/node/package.json | 26 + .../client/shared/components/test/node/setup.js | 15 + .../test/node/stubs/object-inspector/grip.js | 64 + .../test/node/stubs/object-inspector/map.js | 154 + .../node/stubs/object-inspector/performance.js | 784 + .../components/test/node/stubs/reps/accessible.js | 74 + .../components/test/node/stubs/reps/accessor.js | 85 + .../components/test/node/stubs/reps/attribute.js | 24 + .../components/test/node/stubs/reps/big-int.js | 196 + .../test/node/stubs/reps/comment-node.js | 25 + .../components/test/node/stubs/reps/date-time.js | 36 + .../test/node/stubs/reps/document-type.js | 40 + .../components/test/node/stubs/reps/document.js | 39 + .../test/node/stubs/reps/element-node.js | 292 + .../components/test/node/stubs/reps/error.js | 396 + .../components/test/node/stubs/reps/event.js | 269 + .../components/test/node/stubs/reps/failure.js | 21 + .../components/test/node/stubs/reps/function.js | 227 + .../components/test/node/stubs/reps/grip-array.js | 1017 + .../test/node/stubs/reps/grip-map-entry.js | 16 + .../components/test/node/stubs/reps/grip-map.js | 908 + .../shared/components/test/node/stubs/reps/grip.js | 1057 + .../components/test/node/stubs/reps/infinity.js | 15 + .../components/test/node/stubs/reps/long-string.js | 39 + .../shared/components/test/node/stubs/reps/nan.js | 12 + .../shared/components/test/node/stubs/reps/null.js | 12 + .../components/test/node/stubs/reps/number.js | 17 + .../test/node/stubs/reps/object-with-text.js | 36 + .../test/node/stubs/reps/object-with-url.js | 22 + .../components/test/node/stubs/reps/promise.js | 244 + .../components/test/node/stubs/reps/regexp.js | 36 + .../components/test/node/stubs/reps/stylesheet.js | 22 + .../components/test/node/stubs/reps/symbol.js | 30 + .../components/test/node/stubs/reps/text-node.js | 41 + .../components/test/node/stubs/reps/undefined.js | 12 + .../components/test/node/stubs/reps/window.js | 22 + .../client/shared/components/test/node/yarn.lock | 3918 ++++ .../components/throttling/NetworkThrottlingMenu.js | 88 + .../client/shared/components/throttling/actions.js | 22 + .../client/shared/components/throttling/moz.build | 13 + .../shared/components/throttling/profiles.js | 68 + .../client/shared/components/throttling/reducer.js | 29 + .../client/shared/components/throttling/types.js | 17 + .../client/shared/components/tree/LabelCell.js | 76 + .../shared/components/tree/ObjectProvider.js | 86 + devtools/client/shared/components/tree/TreeCell.js | 145 + .../client/shared/components/tree/TreeHeader.js | 120 + devtools/client/shared/components/tree/TreeRow.js | 303 + .../client/shared/components/tree/TreeView.css | 199 + devtools/client/shared/components/tree/TreeView.js | 800 + devtools/client/shared/components/tree/moz.build | 13 + devtools/client/shared/css-angle.js | 349 + devtools/client/shared/curl.js | 465 + devtools/client/shared/demangle.js | 68 + devtools/client/shared/devices.js | 169 + devtools/client/shared/enum.js | 19 + devtools/client/shared/events.js | 22 + devtools/client/shared/fluent-l10n/fluent-l10n.js | 54 + devtools/client/shared/fluent-l10n/moz.build | 9 + devtools/client/shared/focus.js | 73 + devtools/client/shared/getjson.js | 77 + devtools/client/shared/inplace-editor.js | 1843 ++ devtools/client/shared/key-shortcuts.js | 309 + devtools/client/shared/keycodes.js | 139 + devtools/client/shared/link.js | 86 + devtools/client/shared/moz.build | 69 + devtools/client/shared/node-attribute-parser.js | 394 + devtools/client/shared/options-view.js | 190 + devtools/client/shared/output-parser.js | 1914 ++ devtools/client/shared/poller.js | 112 + devtools/client/shared/prefs.js | 228 + devtools/client/shared/react-utils.js | 30 + devtools/client/shared/redux/create-store.js | 108 + .../client/shared/redux/middleware/debounce.js | 100 + devtools/client/shared/redux/middleware/history.js | 25 + devtools/client/shared/redux/middleware/ignore.js | 38 + devtools/client/shared/redux/middleware/log.js | 31 + devtools/client/shared/redux/middleware/moz.build | 19 + .../shared/redux/middleware/performance-marker.js | 71 + devtools/client/shared/redux/middleware/promise.js | 69 + devtools/client/shared/redux/middleware/task.js | 54 + devtools/client/shared/redux/middleware/thunk.js | 23 + .../client/shared/redux/middleware/wait-service.js | 64 + .../shared/redux/middleware/xpcshell/.eslintrc.js | 20 + .../shared/redux/middleware/xpcshell/head.js | 24 + .../middleware/xpcshell/test_middleware-task-01.js | 69 + .../middleware/xpcshell/test_middleware-task-02.js | 88 + .../middleware/xpcshell/test_middleware-task-03.js | 54 + .../shared/redux/middleware/xpcshell/xpcshell.ini | 9 + devtools/client/shared/redux/moz.build | 16 + .../client/shared/redux/non-react-subscriber.js | 153 + devtools/client/shared/redux/subscriber.js | 16 + .../shared/redux/visibility-handler-connect.js | 33 + .../shared/remote-debugging/adb/adb-addon.js | 180 + .../shared/remote-debugging/adb/adb-binary.js | 251 + .../shared/remote-debugging/adb/adb-client.js | 82 + .../shared/remote-debugging/adb/adb-device.js | 53 + .../shared/remote-debugging/adb/adb-process.js | 154 + .../remote-debugging/adb/adb-running-checker.js | 91 + .../shared/remote-debugging/adb/adb-runtime.js | 129 + .../shared/remote-debugging/adb/adb-socket.js | 74 + devtools/client/shared/remote-debugging/adb/adb.js | 177 + .../shared/remote-debugging/adb/commands/index.js | 29 + .../remote-debugging/adb/commands/list-devices.js | 29 + .../shared/remote-debugging/adb/commands/moz.build | 12 + .../adb/commands/prepare-tcp-connection.js | 47 + .../remote-debugging/adb/commands/run-command.js | 64 + .../shared/remote-debugging/adb/commands/shell.js | 107 + .../remote-debugging/adb/commands/track-devices.js | 161 + .../client/shared/remote-debugging/adb/moz.build | 24 + .../remote-debugging/adb/xpcshell/.eslintrc.js | 9 + .../shared/remote-debugging/adb/xpcshell/adb.py | 74 + .../remote-debugging/adb/xpcshell/test_adb.js | 245 + .../adb/xpcshell/test_prepare-tcp-connection.js | 79 + .../remote-debugging/adb/xpcshell/xpcshell-head.js | 8 + .../remote-debugging/adb/xpcshell/xpcshell.ini | 11 + .../client/shared/remote-debugging/constants.js | 24 + devtools/client/shared/remote-debugging/moz.build | 20 + .../remote-debugging/remote-client-manager.js | 146 + .../remote-debugging/test/xpcshell/.eslintrc.js | 6 + .../test/xpcshell/test_remote_client_manager.js | 155 + .../test/xpcshell/test_version_checker.js | 159 + .../test/xpcshell/xpcshell-head.js | 8 + .../remote-debugging/test/xpcshell/xpcshell.ini | 8 + .../shared/remote-debugging/version-checker.js | 153 + devtools/client/shared/save-screenshot.js | 273 + devtools/client/shared/scroll.js | 144 + devtools/client/shared/source-map/README | 12 + .../shared/source-map/assets/dwarf_to_json.wasm | Bin 0 -> 246995 bytes devtools/client/shared/source-map/assets/moz.build | 10 + .../source-map/assets/source-map-mappings.wasm | Bin 0 -> 48693 bytes devtools/client/shared/source-map/index.js | 886 + devtools/client/shared/source-map/moz.build | 14 + devtools/client/shared/source-map/worker.js | 5510 +++++ devtools/client/shared/source-utils.js | 359 + devtools/client/shared/sourceeditor/.eslintrc.js | 21 + devtools/client/shared/sourceeditor/README | 238 + .../client/shared/sourceeditor/autocomplete.js | 362 + .../client/shared/sourceeditor/codemirror/LICENSE | 23 + .../codemirror/addon/accessibleTextarea.js | 146 + .../codemirror/addon/comment/comment.js | 209 + .../codemirror/addon/comment/continuecomment.js | 78 + .../codemirror/addon/dialog/dialog.css | 32 + .../sourceeditor/codemirror/addon/dialog/dialog.js | 161 + .../codemirror/addon/display/placeholder.js | 63 + .../codemirror/addon/edit/closebrackets.js | 191 + .../sourceeditor/codemirror/addon/edit/closetag.js | 184 + .../codemirror/addon/edit/continuelist.js | 99 + .../codemirror/addon/edit/matchbrackets.js | 150 + .../codemirror/addon/edit/matchtags.js | 66 + .../codemirror/addon/edit/trailingspace.js | 27 + .../codemirror/addon/fold/brace-fold.js | 105 + .../codemirror/addon/fold/comment-fold.js | 59 + .../sourceeditor/codemirror/addon/fold/foldcode.js | 152 + .../codemirror/addon/fold/foldgutter.css | 20 + .../codemirror/addon/fold/foldgutter.js | 151 + .../codemirror/addon/fold/indent-fold.js | 48 + .../codemirror/addon/fold/markdown-fold.js | 49 + .../sourceeditor/codemirror/addon/fold/xml-fold.js | 184 + .../codemirror/addon/runmode/runmode.js | 72 + .../codemirror/addon/search/match-highlighter.js | 165 + .../sourceeditor/codemirror/addon/search/search.js | 323 + .../codemirror/addon/search/searchcursor.js | 293 + .../codemirror/addon/selection/active-line.js | 72 + .../codemirror/addon/selection/mark-selection.js | 119 + .../shared/sourceeditor/codemirror/cmiframe.html | 25 + .../sourceeditor/codemirror/codemirror.bundle.js | 1 + .../shared/sourceeditor/codemirror/keymap/emacs.js | 418 + .../sourceeditor/codemirror/keymap/sublime.js | 691 + .../shared/sourceeditor/codemirror/keymap/vim.js | 5494 +++++ .../sourceeditor/codemirror/lib/codemirror.css | 350 + .../sourceeditor/codemirror/lib/codemirror.js | 9788 +++++++++ .../sourceeditor/codemirror/mode/clike/clike.js | 889 + .../codemirror/mode/clojure/clojure.js | 292 + .../codemirror/mode/coffeescript/coffeescript.js | 359 + .../shared/sourceeditor/codemirror/mode/css/css.js | 831 + .../shared/sourceeditor/codemirror/mode/elm/elm.js | 205 + .../sourceeditor/codemirror/mode/haxe/haxe.js | 515 + .../codemirror/mode/htmlmixed/htmlmixed.js | 152 + .../codemirror/mode/javascript/javascript.js | 934 + .../shared/sourceeditor/codemirror/mode/jsx/jsx.js | 148 + .../sourceeditor/codemirror/mode/rust/rust.js | 72 + .../sourceeditor/codemirror/mode/simple/simple.js | 216 + .../sourceeditor/codemirror/mode/wasm/wasm.js | 203 + .../shared/sourceeditor/codemirror/mode/xml/xml.js | 413 + .../shared/sourceeditor/codemirror/mozilla.css | 299 + .../shared/sourceeditor/css-autocompleter.js | 1252 ++ .../sourceeditor/editor-commands-controller.js | 97 + devtools/client/shared/sourceeditor/editor.js | 1631 ++ devtools/client/shared/sourceeditor/moz.build | 18 + devtools/client/shared/sourceeditor/package.json | 16 + .../client/shared/sourceeditor/test/.eslintrc.js | 10 + .../sourceeditor/test/CodeMirrorTestActors.jsm | 53 + .../client/shared/sourceeditor/test/browser.ini | 51 + .../shared/sourceeditor/test/browser_codemirror.js | 33 + .../test/browser_css_autocompletion.js | 171 + .../sourceeditor/test/browser_css_getInfo.js | 249 + .../sourceeditor/test/browser_css_statemachine.js | 143 + .../sourceeditor/test/browser_detectindent.js | 99 + .../sourceeditor/test/browser_editor_addons.js | 33 + .../sourceeditor/test/browser_editor_alt_b_f.js | 46 + .../test/browser_editor_autocomplete_basic.js | 51 + .../test/browser_editor_autocomplete_events.js | 158 + .../sourceeditor/test/browser_editor_basic.js | 61 + .../sourceeditor/test/browser_editor_cursor.js | 52 + .../test/browser_editor_cursor_blink.js | 73 + .../test/browser_editor_disableSearchAddon.js | 39 + .../sourceeditor/test/browser_editor_find_again.js | 218 + .../sourceeditor/test/browser_editor_goto_line.js | 91 + .../sourceeditor/test/browser_editor_history.js | 30 + .../sourceeditor/test/browser_editor_markers.js | 43 + .../sourceeditor/test/browser_editor_movelines.js | 61 + .../sourceeditor/test/browser_editor_prefs.js | 139 + .../shared/sourceeditor/test/browser_vimemacs.js | 13 + .../shared/sourceeditor/test/cm_mode_ruby.js | 285 + .../sourceeditor/test/cm_script_injection_test.js | 10 + .../sourceeditor/test/codemirror/codemirror.html | 213 + .../sourceeditor/test/codemirror/comment_test.js | 114 + .../sourceeditor/test/codemirror/doc_test.js | 371 + .../shared/sourceeditor/test/codemirror/driver.js | 142 + .../sourceeditor/test/codemirror/emacs_test.js | 149 + .../test/codemirror/mode/javascript/test.js | 513 + .../sourceeditor/test/codemirror/mode_test.css | 23 + .../sourceeditor/test/codemirror/mode_test.js | 193 + .../sourceeditor/test/codemirror/multi_test.js | 295 + .../sourceeditor/test/codemirror/search_test.js | 85 + .../sourceeditor/test/codemirror/sublime_test.js | 284 + .../shared/sourceeditor/test/codemirror/test.js | 2686 +++ .../sourceeditor/test/codemirror/vim_test.js | 4729 ++++ .../sourceeditor/test/codemirror/vimemacs.html | 215 + .../test/css_autocompletion_tests.json | 43 + .../test/css_statemachine_testcases.css | 121 + .../sourceeditor/test/css_statemachine_tests.json | 88 + devtools/client/shared/sourceeditor/test/head.js | 198 + .../client/shared/sourceeditor/test/head.xhtml | 5 + devtools/client/shared/sourceeditor/wasm.js | 93 + .../client/shared/sourceeditor/webpack.config.js | 57 + devtools/client/shared/splitview.css | 82 + devtools/client/shared/stylesheet-utils.js | 60 + devtools/client/shared/suggestion-picker.js | 176 + devtools/client/shared/telemetry.js | 811 + .../shared/test-helpers/jest-fixtures/Chrome.js | 23 + .../shared/test-helpers/jest-fixtures/Services.js | 549 + .../test-helpers/jest-fixtures/devtools-utils.js | 11 + .../test-helpers/jest-fixtures/empty-module.js | 7 + .../test-helpers/jest-fixtures/fluent-l10n.js | 23 + .../test-helpers/jest-fixtures/generate-uuid.js | 11 + .../test-helpers/jest-fixtures/plural-form.js | 11 + .../shared/test-helpers/jest-fixtures/promise.js | 7 + .../shared/test-helpers/jest-fixtures/telemetry.js | 12 + .../test-helpers/jest-fixtures/unicode-url.js | 23 + .../shared/test-helpers/shared-jest.config.js | 39 + .../shared/test-helpers/shared-node-helpers.js | 94 + devtools/client/shared/test/.eslintrc.js | 6 + .../shared/test/addons/test-addon-1/manifest.json | 10 + .../shared/test/addons/test-addon-2/manifest.json | 10 + devtools/client/shared/test/browser.ini | 258 + .../shared/test/browser_autocomplete_popup.js | 121 + .../browser_autocomplete_popup_consecutive-show.js | 57 + .../test/browser_autocomplete_popup_input.js | 251 + .../shared/test/browser_browserloader_mocks.js | 157 + devtools/client/shared/test/browser_css_angle.js | 204 + devtools/client/shared/test/browser_css_color.js | 156 + .../client/shared/test/browser_cubic-bezier-01.js | 38 + .../client/shared/test/browser_cubic-bezier-02.js | 206 + .../client/shared/test/browser_cubic-bezier-03.js | 70 + .../client/shared/test/browser_cubic-bezier-04.js | 59 + .../client/shared/test/browser_cubic-bezier-05.js | 69 + .../client/shared/test/browser_cubic-bezier-06.js | 95 + .../client/shared/test/browser_cubic-bezier-07.js | 69 + .../test/browser_dbg_WorkerTargetActor.attach.js | 84 + .../shared/test/browser_dbg_debugger-statement.js | 164 + .../client/shared/test/browser_dbg_globalactor.js | 65 + .../client/shared/test/browser_dbg_listaddons.js | 78 + .../client/shared/test/browser_dbg_listtabs-01.js | 111 + .../client/shared/test/browser_dbg_listtabs-02.js | 244 + .../client/shared/test/browser_dbg_listtabs-03.js | 51 + .../client/shared/test/browser_dbg_listworkers.js | 69 + .../shared/test/browser_dbg_multiple-windows.js | 118 + .../client/shared/test/browser_dbg_navigation.js | 58 + .../test/browser_dbg_target-scoped-actor-01.js | 44 + .../test/browser_dbg_target-scoped-actor-02.js | 59 + .../shared/test/browser_dbg_worker-console-01.js | 36 + .../shared/test/browser_dbg_worker-console-02.js | 65 + .../shared/test/browser_dbg_worker-console-03.js | 49 + .../shared/test/browser_dbg_worker-console-04.js | 57 + .../shared/test/browser_dbg_worker-window.js | 64 + devtools/client/shared/test/browser_devices.js | 65 + devtools/client/shared/test/browser_devices.json | 23 + .../client/shared/test/browser_filter-editor-01.js | 148 + .../client/shared/test/browser_filter-editor-02.js | 112 + .../client/shared/test/browser_filter-editor-03.js | 83 + .../client/shared/test/browser_filter-editor-04.js | 103 + .../client/shared/test/browser_filter-editor-05.js | 165 + .../client/shared/test/browser_filter-editor-06.js | 77 + .../client/shared/test/browser_filter-editor-07.js | 31 + .../client/shared/test/browser_filter-editor-08.js | 102 + .../client/shared/test/browser_filter-editor-09.js | 154 + .../client/shared/test/browser_filter-editor-10.js | 99 + .../shared/test/browser_filter-presets-01.js | 117 + .../shared/test/browser_filter-presets-02.js | 47 + .../shared/test/browser_filter-presets-03.js | 42 + .../client/shared/test/browser_flame-graph-01.js | 83 + .../client/shared/test/browser_flame-graph-02.js | 58 + .../client/shared/test/browser_flame-graph-03a.js | 190 + .../client/shared/test/browser_flame-graph-03b.js | 120 + .../client/shared/test/browser_flame-graph-03c.js | 236 + .../client/shared/test/browser_flame-graph-04.js | 109 + .../client/shared/test/browser_flame-graph-05.js | 137 + .../shared/test/browser_flame-graph-utils-01.js | 351 + .../shared/test/browser_flame-graph-utils-02.js | 186 + .../shared/test/browser_flame-graph-utils-03.js | 193 + .../shared/test/browser_flame-graph-utils-04.js | 259 + .../shared/test/browser_flame-graph-utils-05.js | 59 + .../shared/test/browser_flame-graph-utils-06.js | 167 + .../shared/test/browser_flame-graph-utils-hash.js | 42 + devtools/client/shared/test/browser_graphs-01.js | 98 + devtools/client/shared/test/browser_graphs-02.js | 136 + devtools/client/shared/test/browser_graphs-03.js | 131 + devtools/client/shared/test/browser_graphs-04.js | 93 + devtools/client/shared/test/browser_graphs-05.js | 240 + devtools/client/shared/test/browser_graphs-06.js | 170 + devtools/client/shared/test/browser_graphs-07a.js | 353 + devtools/client/shared/test/browser_graphs-07b.js | 116 + devtools/client/shared/test/browser_graphs-07c.js | 196 + devtools/client/shared/test/browser_graphs-07d.js | 99 + devtools/client/shared/test/browser_graphs-07e.js | 163 + devtools/client/shared/test/browser_graphs-08.js | 111 + devtools/client/shared/test/browser_graphs-09a.js | 179 + devtools/client/shared/test/browser_graphs-09b.js | 128 + devtools/client/shared/test/browser_graphs-09c.js | 38 + devtools/client/shared/test/browser_graphs-09d.js | 38 + devtools/client/shared/test/browser_graphs-09e.js | 107 + devtools/client/shared/test/browser_graphs-09f.js | 77 + devtools/client/shared/test/browser_graphs-10a.js | 243 + devtools/client/shared/test/browser_graphs-10b.js | 92 + devtools/client/shared/test/browser_graphs-10c.js | 153 + devtools/client/shared/test/browser_graphs-13.js | 58 + devtools/client/shared/test/browser_graphs-14.js | 136 + devtools/client/shared/test/browser_graphs-15.js | 52 + devtools/client/shared/test/browser_graphs-16.js | 41 + .../client/shared/test/browser_html_tooltip-01.js | 78 + .../client/shared/test/browser_html_tooltip-02.js | 227 + .../client/shared/test/browser_html_tooltip-03.js | 96 + .../client/shared/test/browser_html_tooltip-04.js | 100 + .../client/shared/test/browser_html_tooltip-05.js | 101 + .../shared/test/browser_html_tooltip_arrow-01.js | 86 + .../shared/test/browser_html_tooltip_arrow-02.js | 83 + .../test/browser_html_tooltip_consecutive-show.js | 70 + .../test/browser_html_tooltip_doorhanger-01.js | 77 + .../test/browser_html_tooltip_doorhanger-02.js | 75 + .../test/browser_html_tooltip_height-auto.js | 81 + .../shared/test/browser_html_tooltip_hover.js | 65 + .../shared/test/browser_html_tooltip_offset.js | 97 + .../shared/test/browser_html_tooltip_resize.js | 93 + .../client/shared/test/browser_html_tooltip_rtl.js | 224 + .../test/browser_html_tooltip_screen_edge.js | 74 + .../test/browser_html_tooltip_variable-height.js | 77 + .../shared/test/browser_html_tooltip_width-auto.js | 53 + .../test/browser_html_tooltip_xul-wrapper.js | 79 + .../shared/test/browser_html_tooltip_zoom.js | 76 + .../shared/test/browser_inplace-editor-01.js | 164 + .../shared/test/browser_inplace-editor-02.js | 80 + ...browser_inplace-editor_autoclose_parentheses.js | 75 + .../test/browser_inplace-editor_autocomplete_01.js | 77 + .../test/browser_inplace-editor_autocomplete_02.js | 77 + ...ser_inplace-editor_autocomplete_css_variable.js | 104 + .../browser_inplace-editor_autocomplete_offset.js | 116 + .../shared/test/browser_inplace-editor_maxwidth.js | 135 + .../client/shared/test/browser_key_shortcuts.js | 468 + devtools/client/shared/test/browser_keycodes.js | 12 + .../client/shared/test/browser_layoutHelpers.js | 128 + .../test/browser_layoutHelpers_getBoxQuads1.js | 343 + .../test/browser_layoutHelpers_getBoxQuads2.js | 182 + devtools/client/shared/test/browser_link.js | 37 + devtools/client/shared/test/browser_num-l10n.js | 72 + .../client/shared/test/browser_options-view-01.js | 142 + .../client/shared/test/browser_outputparser.js | 722 + devtools/client/shared/test/browser_poller.js | 166 + devtools/client/shared/test/browser_prefs-01.js | 53 + devtools/client/shared/test/browser_prefs-02.js | 61 + devtools/client/shared/test/browser_require_raw.js | 23 + devtools/client/shared/test/browser_spectrum.js | 504 + .../shared/test/browser_tableWidget_basic.js | 445 + .../browser_tableWidget_keyboard_interaction.js | 200 + .../test/browser_tableWidget_mouse_interaction.js | 367 + .../test/browser_telemetry_button_eyedropper.js | 37 + .../test/browser_telemetry_button_paintflashing.js | 69 + .../test/browser_telemetry_button_responsive.js | 106 + .../client/shared/test/browser_telemetry_misc.js | 51 + .../shared/test/browser_telemetry_sidebar.js | 231 + .../shared/test/browser_telemetry_toolbox.js | 34 + .../browser_telemetry_toolboxtabs_inspector.js | 39 + .../browser_telemetry_toolboxtabs_jsdebugger.js | 39 + .../browser_telemetry_toolboxtabs_jsprofiler.js | 39 + .../browser_telemetry_toolboxtabs_netmonitor.js | 39 + .../test/browser_telemetry_toolboxtabs_options.js | 34 + .../test/browser_telemetry_toolboxtabs_storage.js | 34 + .../browser_telemetry_toolboxtabs_styleeditor.js | 39 + .../browser_telemetry_toolboxtabs_webconsole.js | 39 + devtools/client/shared/test/browser_theme.js | 145 + .../client/shared/test/browser_theme_switching.js | 61 + .../client/shared/test/browser_treeWidget_basic.js | 389 + .../browser_treeWidget_keyboard_interaction.js | 312 + .../test/browser_treeWidget_mouse_interaction.js | 182 + .../test/code_WorkerTargetActor.attach-worker1.js | 5 + .../test/code_WorkerTargetActor.attach-worker2.js | 5 + .../code_WorkerTargetActor.attachThread-worker.js | 18 + .../client/shared/test/code_listworkers-worker1.js | 3 + .../client/shared/test/code_listworkers-worker2.js | 3 + .../test/doc_WorkerTargetActor.attach-tab1.html | 8 + .../test/doc_WorkerTargetActor.attach-tab2.html | 8 + .../doc_WorkerTargetActor.attachThread-tab.html | 8 + .../client/shared/test/doc_cubic-bezier-01.html | 1 + .../client/shared/test/doc_cubic-bezier-02.html | 3 + devtools/client/shared/test/doc_empty-tab-01.html | 14 + devtools/client/shared/test/doc_empty-tab-02.html | 14 + .../client/shared/test/doc_event-listeners-01.html | 45 + .../client/shared/test/doc_event-listeners-03.html | 65 + .../client/shared/test/doc_filter-editor-01.html | 1 + .../client/shared/test/doc_html_tooltip-02.xhtml | 15 + .../client/shared/test/doc_html_tooltip-03.xhtml | 19 + .../client/shared/test/doc_html_tooltip-04.xhtml | 15 + .../client/shared/test/doc_html_tooltip-05.xhtml | 12 + devtools/client/shared/test/doc_html_tooltip.xhtml | 12 + .../shared/test/doc_html_tooltip_arrow-01.xhtml | 90 + .../shared/test/doc_html_tooltip_arrow-02.xhtml | 65 + .../test/doc_html_tooltip_doorhanger-01.xhtml | 73 + .../test/doc_html_tooltip_doorhanger-02.xhtml | 34 + .../shared/test/doc_html_tooltip_hover.xhtml | 13 + .../client/shared/test/doc_html_tooltip_rtl.xhtml | 14 + .../shared/test/doc_inline-debugger-statement.html | 27 + .../doc_inplace-editor_autocomplete_offset.xhtml | 7 + devtools/client/shared/test/doc_layoutHelpers.html | 31 + .../test/doc_layoutHelpers_getBoxQuads1.html | 65 + .../test/doc_layoutHelpers_getBoxQuads2-a.html | 20 + .../doc_layoutHelpers_getBoxQuads2-b-and-d.html | 29 + .../doc_layoutHelpers_getBoxQuads2-c-and-e.html | 27 + .../client/shared/test/doc_listworkers-tab.html | 8 + .../shared/test/doc_native-event-handler.html | 25 + devtools/client/shared/test/doc_options-view.xhtml | 26 + .../shared/test/doc_script-switching-01.html | 18 + .../shared/test/doc_script-switching-02.html | 18 + devtools/client/shared/test/doc_spectrum.html | 2 + .../client/shared/test/doc_tableWidget_basic.html | 9 + .../doc_tableWidget_keyboard_interaction.xhtml | 11 + .../test/doc_tableWidget_mouse_interaction.xhtml | 10 + .../client/shared/test/doc_templater_basic.html | 12 + devtools/client/shared/test/dummy.html | 1 + devtools/client/shared/test/head.js | 226 + devtools/client/shared/test/helper_addons.js | 51 + devtools/client/shared/test/helper_color_data.js | 1317 ++ devtools/client/shared/test/helper_html_tooltip.js | 115 + .../client/shared/test/helper_inplace_editor.js | 151 + devtools/client/shared/test/helper_workers.js | 256 + devtools/client/shared/test/leakhunt.js | 173 + devtools/client/shared/test/shared-head.js | 1205 ++ devtools/client/shared/test/shared-redux-head.js | 70 + .../client/shared/test/telemetry-test-helpers.js | 267 + devtools/client/shared/test/test-actor.js | 1303 ++ devtools/client/shared/test/test-mocked-module.js | 11 + devtools/client/shared/test/testactors.js | 28 + devtools/client/shared/test/xpcshell/.eslintrc.js | 6 + ...t_VariablesView_filtering-without-controller.js | 40 + .../test_VariablesView_getString_promise.js | 81 + .../client/shared/test/xpcshell/test_WeakMapMap.js | 70 + .../shared/test/xpcshell/test_advanceValidate.js | 32 + .../test/xpcshell/test_attribute-parsing-01.js | 76 + .../test/xpcshell/test_attribute-parsing-02.js | 149 + .../shared/test/xpcshell/test_bezierCanvas.js | 123 + .../client/shared/test/xpcshell/test_cssAngle.js | 32 + .../shared/test/xpcshell/test_cssColor-01.js | 72 + .../shared/test/xpcshell/test_cssColor-02.js | 47 + .../shared/test/xpcshell/test_cssColor-03.js | 61 + .../test/xpcshell/test_cssColor-8-digit-hex.js | 23 + .../shared/test/xpcshell/test_cssColorDatabase.js | 75 + .../shared/test/xpcshell/test_cubicBezier.js | 153 + devtools/client/shared/test/xpcshell/test_curl.js | 324 + .../shared/test/xpcshell/test_escapeCSSComment.js | 42 + .../shared/test/xpcshell/test_hasCSSVariable.js | 61 + .../shared/test/xpcshell/test_parseDeclarations.js | 765 + .../test_parsePseudoClassesAndAttributes.js | 203 + .../shared/test/xpcshell/test_parseSingleValue.js | 103 + .../test/xpcshell/test_rewriteDeclarations.js | 815 + .../shared/test/xpcshell/test_source-utils.js | 248 + .../shared/test/xpcshell/test_suggestion-picker.js | 147 + .../client/shared/test/xpcshell/test_undoStack.js | 100 + .../shared/test/xpcshell/test_unicode-url.js | 259 + devtools/client/shared/test/xpcshell/xpcshell.ini | 34 + devtools/client/shared/theme-switching.js | 129 + devtools/client/shared/theme.js | 91 + devtools/client/shared/thread-utils.js | 51 + devtools/client/shared/toolbarbutton.css | 87 + devtools/client/shared/undo.js | 190 + devtools/client/shared/unicode-url.js | 107 + devtools/client/shared/vendor/D3_LICENSE | 26 + devtools/client/shared/vendor/DAGRE_D3_LICENSE | 19 + .../client/shared/vendor/FLUENT_REACT_UPGRADING | 33 + devtools/client/shared/vendor/LODASH_UPGRADING.md | 28 + .../shared/vendor/REACT_PROP_TYPES_UPGRADING.md | 37 + devtools/client/shared/vendor/REACT_REDUX_LICENSE | 21 + .../client/shared/vendor/REACT_REDUX_UPGRADING.md | 36 + .../client/shared/vendor/REACT_ROUTER_DOM_LICENSE | 21 + .../shared/vendor/REACT_ROUTER_DOM_UPGRADING.md | 23 + devtools/client/shared/vendor/REACT_UPGRADING.md | 160 + devtools/client/shared/vendor/REDUX_LICENSE | 21 + devtools/client/shared/vendor/REDUX_UPGRADING.md | 32 + devtools/client/shared/vendor/RESELECT_LICENSE | 21 + devtools/client/shared/vendor/RESELECT_UPGRADING | 12 + devtools/client/shared/vendor/WASMPARSER_UPGRADING | 14 + devtools/client/shared/vendor/WasmDis.js | 1541 ++ devtools/client/shared/vendor/WasmParser.js | 2961 +++ devtools/client/shared/vendor/dagre-d3.js | 4560 ++++ devtools/client/shared/vendor/fluent-react.js | 686 + devtools/client/shared/vendor/immutable.js | 4997 +++++ devtools/client/shared/vendor/jszip.js | 11367 ++++++++++ devtools/client/shared/vendor/lodash.js | 16894 +++++++++++++++ devtools/client/shared/vendor/moz.build | 38 + devtools/client/shared/vendor/react-dev.js | 3155 +++ devtools/client/shared/vendor/react-dom-dev.js | 21413 +++++++++++++++++++ .../client/shared/vendor/react-dom-factories.js | 195 + .../client/shared/vendor/react-dom-server-dev.js | 3801 ++++ devtools/client/shared/vendor/react-dom-server.js | 2188 ++ .../shared/vendor/react-dom-test-utils-dev.js | 1302 ++ .../client/shared/vendor/react-dom-test-utils.js | 1150 + devtools/client/shared/vendor/react-dom.js | 16370 ++++++++++++++ .../client/shared/vendor/react-prop-types-dev.js | 1363 ++ devtools/client/shared/vendor/react-prop-types.js | 1363 ++ devtools/client/shared/vendor/react-redux.js | 2089 ++ devtools/client/shared/vendor/react-router-dom.js | 3788 ++++ .../shared/vendor/react-test-renderer-shallow.js | 955 + .../client/shared/vendor/react-test-renderer.js | 10580 +++++++++ devtools/client/shared/vendor/react.js | 2240 ++ devtools/client/shared/vendor/redux.js | 715 + devtools/client/shared/vendor/reselect.js | 139 + .../client/shared/vendor/seamless-immutable.js | 392 + devtools/client/shared/vendor/whatwg-url.js | 8851 ++++++++ devtools/client/shared/view-source.js | 227 + devtools/client/shared/webgl-utils.js | 56 + .../client/shared/widgets/AbstractTreeItem.jsm | 670 + devtools/client/shared/widgets/Chart.js | 493 + .../client/shared/widgets/CubicBezierPresets.js | 64 + .../client/shared/widgets/CubicBezierWidget.js | 987 + devtools/client/shared/widgets/FilterWidget.js | 1130 + devtools/client/shared/widgets/FlameGraph.js | 1529 ++ devtools/client/shared/widgets/Graphs.js | 1465 ++ devtools/client/shared/widgets/GraphsWorker.js | 106 + devtools/client/shared/widgets/LineGraphWidget.js | 443 + .../client/shared/widgets/MountainGraphWidget.js | 201 + .../client/shared/widgets/ShapesInContextEditor.js | 347 + devtools/client/shared/widgets/Spectrum.js | 777 + devtools/client/shared/widgets/TableWidget.js | 2003 ++ devtools/client/shared/widgets/TreeWidget.js | 637 + devtools/client/shared/widgets/cubic-bezier.css | 216 + devtools/client/shared/widgets/filter-widget.css | 242 + devtools/client/shared/widgets/graphs-frame.xhtml | 26 + devtools/client/shared/widgets/moz.build | 27 + devtools/client/shared/widgets/spectrum.css | 329 + .../shared/widgets/tooltip/EventTooltipHelper.js | 357 + .../client/shared/widgets/tooltip/HTMLTooltip.js | 1070 + .../shared/widgets/tooltip/ImageTooltipHelper.js | 145 + .../client/shared/widgets/tooltip/InlineTooltip.js | 100 + .../shared/widgets/tooltip/RulePreviewTooltip.js | 69 + .../widgets/tooltip/SwatchBasedEditorTooltip.js | 285 + .../widgets/tooltip/SwatchColorPickerTooltip.js | 354 + .../widgets/tooltip/SwatchCubicBezierTooltip.js | 95 + .../shared/widgets/tooltip/SwatchFilterTooltip.js | 117 + .../client/shared/widgets/tooltip/TooltipToggle.js | 203 + .../widgets/tooltip/VariableTooltipHelper.js | 31 + .../tooltip/css-compatibility-tooltip-helper.js | 279 + .../widgets/tooltip/inactive-css-tooltip-helper.js | 134 + devtools/client/shared/widgets/tooltip/moz.build | 21 + devtools/client/shared/widgets/view-helpers.js | 431 + devtools/client/shared/widgets/widgets.css | 79 + devtools/client/shared/workers-listener.js | 152 + devtools/client/shared/zoom-keys.js | 77 + 822 files changed, 288116 insertions(+) create mode 100644 devtools/client/shared/SplitView.jsm create mode 100644 devtools/client/shared/WeakMapMap.js create mode 100644 devtools/client/shared/async-store-helper.js create mode 100644 devtools/client/shared/autocomplete-popup.js create mode 100644 devtools/client/shared/browser-loader-mocks.js create mode 100644 devtools/client/shared/browser-loader.js create mode 100644 devtools/client/shared/build/babel.js create mode 100644 devtools/client/shared/build/build-debugger.js create mode 100644 devtools/client/shared/build/build.js create mode 100644 devtools/client/shared/build/node-templates.mozbuild create mode 100644 devtools/client/shared/components/.eslintrc.js create mode 100644 devtools/client/shared/components/Accordion.css create mode 100644 devtools/client/shared/components/Accordion.js create mode 100644 devtools/client/shared/components/Frame.js create mode 100644 devtools/client/shared/components/HSplitBox.js create mode 100644 devtools/client/shared/components/List.css create mode 100644 devtools/client/shared/components/List.js create mode 100644 devtools/client/shared/components/MdnLink.css create mode 100644 devtools/client/shared/components/MdnLink.js create mode 100644 devtools/client/shared/components/NotificationBox.css create mode 100644 devtools/client/shared/components/NotificationBox.js create mode 100644 devtools/client/shared/components/SearchBox.js create mode 100644 devtools/client/shared/components/SearchBoxAutocompletePopup.js create mode 100644 devtools/client/shared/components/Sidebar.js create mode 100644 devtools/client/shared/components/SidebarToggle.css create mode 100644 devtools/client/shared/components/SidebarToggle.js create mode 100644 devtools/client/shared/components/SmartTrace.css create mode 100644 devtools/client/shared/components/SmartTrace.js create mode 100644 devtools/client/shared/components/StackTrace.js create mode 100644 devtools/client/shared/components/Tree.css create mode 100644 devtools/client/shared/components/Tree.js create mode 100644 devtools/client/shared/components/VirtualizedTree.js create mode 100644 devtools/client/shared/components/VisibilityHandler.js create mode 100644 devtools/client/shared/components/menu/MenuButton.js create mode 100644 devtools/client/shared/components/menu/MenuItem.js create mode 100644 devtools/client/shared/components/menu/MenuList.js create mode 100644 devtools/client/shared/components/menu/moz.build create mode 100644 devtools/client/shared/components/menu/utils.js create mode 100644 devtools/client/shared/components/moz.build create mode 100644 devtools/client/shared/components/object-inspector/actions.js create mode 100644 devtools/client/shared/components/object-inspector/components/ObjectInspector.css create mode 100644 devtools/client/shared/components/object-inspector/components/ObjectInspector.js create mode 100644 devtools/client/shared/components/object-inspector/components/ObjectInspectorItem.js create mode 100644 devtools/client/shared/components/object-inspector/components/moz.build create mode 100644 devtools/client/shared/components/object-inspector/index.js create mode 100644 devtools/client/shared/components/object-inspector/moz.build create mode 100644 devtools/client/shared/components/object-inspector/reducer.js create mode 100644 devtools/client/shared/components/object-inspector/utils/client.js create mode 100644 devtools/client/shared/components/object-inspector/utils/index.js create mode 100644 devtools/client/shared/components/object-inspector/utils/load-properties.js create mode 100644 devtools/client/shared/components/object-inspector/utils/moz.build create mode 100644 devtools/client/shared/components/object-inspector/utils/node.js create mode 100644 devtools/client/shared/components/object-inspector/utils/selection.js create mode 100644 devtools/client/shared/components/reps/images/input.svg create mode 100644 devtools/client/shared/components/reps/images/jump-definition.svg create mode 100644 devtools/client/shared/components/reps/images/open-inspector.svg create mode 100644 devtools/client/shared/components/reps/index.js create mode 100644 devtools/client/shared/components/reps/moz.build create mode 100644 devtools/client/shared/components/reps/reps.css create mode 100644 devtools/client/shared/components/reps/reps/accessible.js create mode 100644 devtools/client/shared/components/reps/reps/accessor.js create mode 100644 devtools/client/shared/components/reps/reps/array.js create mode 100644 devtools/client/shared/components/reps/reps/attribute.js create mode 100644 devtools/client/shared/components/reps/reps/big-int.js create mode 100644 devtools/client/shared/components/reps/reps/comment-node.js create mode 100644 devtools/client/shared/components/reps/reps/constants.js create mode 100644 devtools/client/shared/components/reps/reps/date-time.js create mode 100644 devtools/client/shared/components/reps/reps/document-type.js create mode 100644 devtools/client/shared/components/reps/reps/document.js create mode 100644 devtools/client/shared/components/reps/reps/element-node.js create mode 100644 devtools/client/shared/components/reps/reps/error.js create mode 100644 devtools/client/shared/components/reps/reps/event.js create mode 100644 devtools/client/shared/components/reps/reps/function.js create mode 100644 devtools/client/shared/components/reps/reps/grip-array.js create mode 100644 devtools/client/shared/components/reps/reps/grip-map-entry.js create mode 100644 devtools/client/shared/components/reps/reps/grip-map.js create mode 100644 devtools/client/shared/components/reps/reps/grip.js create mode 100644 devtools/client/shared/components/reps/reps/infinity.js create mode 100644 devtools/client/shared/components/reps/reps/moz.build create mode 100644 devtools/client/shared/components/reps/reps/nan.js create mode 100644 devtools/client/shared/components/reps/reps/null.js create mode 100644 devtools/client/shared/components/reps/reps/number.js create mode 100644 devtools/client/shared/components/reps/reps/object-with-text.js create mode 100644 devtools/client/shared/components/reps/reps/object-with-url.js create mode 100644 devtools/client/shared/components/reps/reps/object.js create mode 100644 devtools/client/shared/components/reps/reps/promise.js create mode 100644 devtools/client/shared/components/reps/reps/prop-rep.js create mode 100644 devtools/client/shared/components/reps/reps/regexp.js create mode 100644 devtools/client/shared/components/reps/reps/rep-utils.js create mode 100644 devtools/client/shared/components/reps/reps/rep.js create mode 100644 devtools/client/shared/components/reps/reps/string.js create mode 100644 devtools/client/shared/components/reps/reps/stylesheet.js create mode 100644 devtools/client/shared/components/reps/reps/symbol.js create mode 100644 devtools/client/shared/components/reps/reps/text-node.js create mode 100644 devtools/client/shared/components/reps/reps/undefined.js create mode 100644 devtools/client/shared/components/reps/reps/window.js create mode 100644 devtools/client/shared/components/reps/shared/dom-node-constants.js create mode 100644 devtools/client/shared/components/reps/shared/grip-length-bubble.js create mode 100644 devtools/client/shared/components/reps/shared/moz.build create mode 100644 devtools/client/shared/components/splitter/Draggable.js create mode 100644 devtools/client/shared/components/splitter/GridElementResizer.css create mode 100644 devtools/client/shared/components/splitter/GridElementWidthResizer.js create mode 100644 devtools/client/shared/components/splitter/SplitBox.css create mode 100644 devtools/client/shared/components/splitter/SplitBox.js create mode 100644 devtools/client/shared/components/splitter/moz.build create mode 100644 devtools/client/shared/components/tabs/TabBar.js create mode 100644 devtools/client/shared/components/tabs/Tabs.css create mode 100644 devtools/client/shared/components/tabs/Tabs.js create mode 100644 devtools/client/shared/components/tabs/moz.build create mode 100644 devtools/client/shared/components/test/browser/.eslintrc.js create mode 100644 devtools/client/shared/components/test/browser/browser.ini create mode 100644 devtools/client/shared/components/test/browser/browser_notification_box_basic.js create mode 100644 devtools/client/shared/components/test/chrome/.eslintrc.js create mode 100644 devtools/client/shared/components/test/chrome/accordion.snapshots.js create mode 100644 devtools/client/shared/components/test/chrome/chrome.ini create mode 100644 devtools/client/shared/components/test/chrome/head.js create mode 100644 devtools/client/shared/components/test/chrome/test_GridElementWidthResizer.html create mode 100644 devtools/client/shared/components/test/chrome/test_GridElementWidthResizer_RTL.html create mode 100644 devtools/client/shared/components/test/chrome/test_HSplitBox_01.html create mode 100644 devtools/client/shared/components/test/chrome/test_accordion.html create mode 100644 devtools/client/shared/components/test/chrome/test_frame_01.html create mode 100644 devtools/client/shared/components/test/chrome/test_frame_02.html create mode 100644 devtools/client/shared/components/test/chrome/test_list.html create mode 100644 devtools/client/shared/components/test/chrome/test_list_keyboard.html create mode 100644 devtools/client/shared/components/test/chrome/test_notification_box_01.html create mode 100644 devtools/client/shared/components/test/chrome/test_notification_box_02.html create mode 100644 devtools/client/shared/components/test/chrome/test_notification_box_03.html create mode 100644 devtools/client/shared/components/test/chrome/test_searchbox-with-autocomplete.html create mode 100644 devtools/client/shared/components/test/chrome/test_searchbox.html create mode 100644 devtools/client/shared/components/test/chrome/test_sidebar_toggle.html create mode 100644 devtools/client/shared/components/test/chrome/test_smart-trace-grouping.html create mode 100644 devtools/client/shared/components/test/chrome/test_smart-trace-source-maps.html create mode 100644 devtools/client/shared/components/test/chrome/test_smart-trace.html create mode 100644 devtools/client/shared/components/test/chrome/test_stack-trace-source-maps.html create mode 100644 devtools/client/shared/components/test/chrome/test_stack-trace.html create mode 100644 devtools/client/shared/components/test/chrome/test_tabs_accessibility.html create mode 100644 devtools/client/shared/components/test/chrome/test_tabs_menu.html create mode 100644 devtools/client/shared/components/test/chrome/test_tree-view_01.html create mode 100644 devtools/client/shared/components/test/chrome/test_tree-view_02.html create mode 100644 devtools/client/shared/components/test/chrome/test_tree_01.html create mode 100644 devtools/client/shared/components/test/chrome/test_tree_02.html create mode 100644 devtools/client/shared/components/test/chrome/test_tree_03.html create mode 100644 devtools/client/shared/components/test/chrome/test_tree_04.html create mode 100644 devtools/client/shared/components/test/chrome/test_tree_05.html create mode 100644 devtools/client/shared/components/test/chrome/test_tree_06.html create mode 100644 devtools/client/shared/components/test/chrome/test_tree_07.html create mode 100644 devtools/client/shared/components/test/chrome/test_tree_08.html create mode 100644 devtools/client/shared/components/test/chrome/test_tree_09.html create mode 100644 devtools/client/shared/components/test/chrome/test_tree_10.html create mode 100644 devtools/client/shared/components/test/chrome/test_tree_11.html create mode 100644 devtools/client/shared/components/test/chrome/test_tree_12.html create mode 100644 devtools/client/shared/components/test/chrome/test_tree_13.html create mode 100644 devtools/client/shared/components/test/chrome/test_tree_14.html create mode 100644 devtools/client/shared/components/test/chrome/test_tree_15.html create mode 100644 devtools/client/shared/components/test/chrome/test_tree_16.html create mode 100644 devtools/client/shared/components/test/node/.eslintrc.js create mode 100644 devtools/client/shared/components/test/node/__mocks__/Services.js create mode 100644 devtools/client/shared/components/test/node/__mocks__/object-front.js create mode 100644 devtools/client/shared/components/test/node/__mocks__/string-front.js create mode 100644 devtools/client/shared/components/test/node/babel.config.js create mode 100644 devtools/client/shared/components/test/node/components/__snapshots__/tree.test.js.snap create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/component/__snapshots__/basic.test.js.snap create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/component/__snapshots__/classnames.test.js.snap create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/component/__snapshots__/entries.test.js.snap create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/component/__snapshots__/expand.test.js.snap create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/component/__snapshots__/getter-setter.test.js.snap create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/component/__snapshots__/keyboard-navigation.test.js.snap create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/component/__snapshots__/properties.test.js.snap create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/component/__snapshots__/proxy.test.js.snap create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/component/__snapshots__/window.test.js.snap create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/component/basic.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/component/classnames.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/component/create-long-string-front.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/component/create-object-client.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/component/entries.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/component/events.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/component/expand.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/component/function.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/component/getter-setter.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/component/keyboard-navigation.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/component/properties.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/component/proxy.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/component/should-item-update.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/component/window.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/test-utils.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/utils/__snapshots__/promises.test.js.snap create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/utils/create-node.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/utils/get-children.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/utils/get-closest-grip-node.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/utils/get-value.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/utils/make-node-for-properties.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/utils/make-numerical-buckets.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/utils/node-has-entries.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/utils/node-is-window.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/utils/node-supports-numerical-bucketing.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/utils/promises.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/utils/should-load-item-entries.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/utils/should-load-item-full-text.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/utils/should-load-item-indexed-properties.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/utils/should-load-item-non-indexed-properties.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/utils/should-load-item-prototype.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/utils/should-load-item-symbols.test.js create mode 100644 devtools/client/shared/components/test/node/components/object-inspector/utils/should-render-roots-in-reps.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/__snapshots__/accessor.test.js.snap create mode 100644 devtools/client/shared/components/test/node/components/reps/__snapshots__/element-node.test.js.snap create mode 100644 devtools/client/shared/components/test/node/components/reps/__snapshots__/error.test.js.snap create mode 100644 devtools/client/shared/components/test/node/components/reps/__snapshots__/nan.test.js.snap create mode 100644 devtools/client/shared/components/test/node/components/reps/accessible.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/accessor.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/array.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/attribute.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/big-int.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/comment-node.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/date-time.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/document-type.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/document.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/element-node.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/error.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/event.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/failure.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/function.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/grip-array.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/grip-map-entry.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/grip-map.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/grip.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/helper-tests.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/infinity.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/long-string.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/nan.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/null.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/number.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/object-with-text.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/object-with-url.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/object.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/promise.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/regexp.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/string-with-url.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/string.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/stylesheet.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/symbol.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/test-helpers.js create mode 100644 devtools/client/shared/components/test/node/components/reps/text-node.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/undefined.test.js create mode 100644 devtools/client/shared/components/test/node/components/reps/window.test.js create mode 100644 devtools/client/shared/components/test/node/components/tree.test.js create mode 100644 devtools/client/shared/components/test/node/jest.config.js create mode 100644 devtools/client/shared/components/test/node/package.json create mode 100644 devtools/client/shared/components/test/node/setup.js create mode 100644 devtools/client/shared/components/test/node/stubs/object-inspector/grip.js create mode 100644 devtools/client/shared/components/test/node/stubs/object-inspector/map.js create mode 100644 devtools/client/shared/components/test/node/stubs/object-inspector/performance.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/accessible.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/accessor.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/attribute.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/big-int.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/comment-node.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/date-time.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/document-type.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/document.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/element-node.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/error.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/event.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/failure.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/function.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/grip-array.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/grip-map-entry.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/grip-map.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/grip.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/infinity.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/long-string.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/nan.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/null.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/number.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/object-with-text.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/object-with-url.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/promise.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/regexp.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/stylesheet.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/symbol.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/text-node.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/undefined.js create mode 100644 devtools/client/shared/components/test/node/stubs/reps/window.js create mode 100644 devtools/client/shared/components/test/node/yarn.lock create mode 100644 devtools/client/shared/components/throttling/NetworkThrottlingMenu.js create mode 100644 devtools/client/shared/components/throttling/actions.js create mode 100644 devtools/client/shared/components/throttling/moz.build create mode 100644 devtools/client/shared/components/throttling/profiles.js create mode 100644 devtools/client/shared/components/throttling/reducer.js create mode 100644 devtools/client/shared/components/throttling/types.js create mode 100644 devtools/client/shared/components/tree/LabelCell.js create mode 100644 devtools/client/shared/components/tree/ObjectProvider.js create mode 100644 devtools/client/shared/components/tree/TreeCell.js create mode 100644 devtools/client/shared/components/tree/TreeHeader.js create mode 100644 devtools/client/shared/components/tree/TreeRow.js create mode 100644 devtools/client/shared/components/tree/TreeView.css create mode 100644 devtools/client/shared/components/tree/TreeView.js create mode 100644 devtools/client/shared/components/tree/moz.build create mode 100644 devtools/client/shared/css-angle.js create mode 100644 devtools/client/shared/curl.js create mode 100644 devtools/client/shared/demangle.js create mode 100644 devtools/client/shared/devices.js create mode 100644 devtools/client/shared/enum.js create mode 100644 devtools/client/shared/events.js create mode 100644 devtools/client/shared/fluent-l10n/fluent-l10n.js create mode 100644 devtools/client/shared/fluent-l10n/moz.build create mode 100644 devtools/client/shared/focus.js create mode 100644 devtools/client/shared/getjson.js create mode 100644 devtools/client/shared/inplace-editor.js create mode 100644 devtools/client/shared/key-shortcuts.js create mode 100644 devtools/client/shared/keycodes.js create mode 100644 devtools/client/shared/link.js create mode 100644 devtools/client/shared/moz.build create mode 100644 devtools/client/shared/node-attribute-parser.js create mode 100644 devtools/client/shared/options-view.js create mode 100644 devtools/client/shared/output-parser.js create mode 100644 devtools/client/shared/poller.js create mode 100644 devtools/client/shared/prefs.js create mode 100644 devtools/client/shared/react-utils.js create mode 100644 devtools/client/shared/redux/create-store.js create mode 100644 devtools/client/shared/redux/middleware/debounce.js create mode 100644 devtools/client/shared/redux/middleware/history.js create mode 100644 devtools/client/shared/redux/middleware/ignore.js create mode 100644 devtools/client/shared/redux/middleware/log.js create mode 100644 devtools/client/shared/redux/middleware/moz.build create mode 100644 devtools/client/shared/redux/middleware/performance-marker.js create mode 100644 devtools/client/shared/redux/middleware/promise.js create mode 100644 devtools/client/shared/redux/middleware/task.js create mode 100644 devtools/client/shared/redux/middleware/thunk.js create mode 100644 devtools/client/shared/redux/middleware/wait-service.js create mode 100644 devtools/client/shared/redux/middleware/xpcshell/.eslintrc.js create mode 100644 devtools/client/shared/redux/middleware/xpcshell/head.js create mode 100644 devtools/client/shared/redux/middleware/xpcshell/test_middleware-task-01.js create mode 100644 devtools/client/shared/redux/middleware/xpcshell/test_middleware-task-02.js create mode 100644 devtools/client/shared/redux/middleware/xpcshell/test_middleware-task-03.js create mode 100644 devtools/client/shared/redux/middleware/xpcshell/xpcshell.ini create mode 100644 devtools/client/shared/redux/moz.build create mode 100644 devtools/client/shared/redux/non-react-subscriber.js create mode 100644 devtools/client/shared/redux/subscriber.js create mode 100644 devtools/client/shared/redux/visibility-handler-connect.js create mode 100644 devtools/client/shared/remote-debugging/adb/adb-addon.js create mode 100644 devtools/client/shared/remote-debugging/adb/adb-binary.js create mode 100644 devtools/client/shared/remote-debugging/adb/adb-client.js create mode 100644 devtools/client/shared/remote-debugging/adb/adb-device.js create mode 100644 devtools/client/shared/remote-debugging/adb/adb-process.js create mode 100644 devtools/client/shared/remote-debugging/adb/adb-running-checker.js create mode 100644 devtools/client/shared/remote-debugging/adb/adb-runtime.js create mode 100644 devtools/client/shared/remote-debugging/adb/adb-socket.js create mode 100644 devtools/client/shared/remote-debugging/adb/adb.js create mode 100644 devtools/client/shared/remote-debugging/adb/commands/index.js create mode 100644 devtools/client/shared/remote-debugging/adb/commands/list-devices.js create mode 100644 devtools/client/shared/remote-debugging/adb/commands/moz.build create mode 100644 devtools/client/shared/remote-debugging/adb/commands/prepare-tcp-connection.js create mode 100644 devtools/client/shared/remote-debugging/adb/commands/run-command.js create mode 100644 devtools/client/shared/remote-debugging/adb/commands/shell.js create mode 100644 devtools/client/shared/remote-debugging/adb/commands/track-devices.js create mode 100644 devtools/client/shared/remote-debugging/adb/moz.build create mode 100644 devtools/client/shared/remote-debugging/adb/xpcshell/.eslintrc.js create mode 100644 devtools/client/shared/remote-debugging/adb/xpcshell/adb.py create mode 100644 devtools/client/shared/remote-debugging/adb/xpcshell/test_adb.js create mode 100644 devtools/client/shared/remote-debugging/adb/xpcshell/test_prepare-tcp-connection.js create mode 100644 devtools/client/shared/remote-debugging/adb/xpcshell/xpcshell-head.js create mode 100644 devtools/client/shared/remote-debugging/adb/xpcshell/xpcshell.ini create mode 100644 devtools/client/shared/remote-debugging/constants.js create mode 100644 devtools/client/shared/remote-debugging/moz.build create mode 100644 devtools/client/shared/remote-debugging/remote-client-manager.js create mode 100644 devtools/client/shared/remote-debugging/test/xpcshell/.eslintrc.js create mode 100644 devtools/client/shared/remote-debugging/test/xpcshell/test_remote_client_manager.js create mode 100644 devtools/client/shared/remote-debugging/test/xpcshell/test_version_checker.js create mode 100644 devtools/client/shared/remote-debugging/test/xpcshell/xpcshell-head.js create mode 100644 devtools/client/shared/remote-debugging/test/xpcshell/xpcshell.ini create mode 100644 devtools/client/shared/remote-debugging/version-checker.js create mode 100644 devtools/client/shared/save-screenshot.js create mode 100644 devtools/client/shared/scroll.js create mode 100644 devtools/client/shared/source-map/README create mode 100644 devtools/client/shared/source-map/assets/dwarf_to_json.wasm create mode 100644 devtools/client/shared/source-map/assets/moz.build create mode 100644 devtools/client/shared/source-map/assets/source-map-mappings.wasm create mode 100644 devtools/client/shared/source-map/index.js create mode 100644 devtools/client/shared/source-map/moz.build create mode 100644 devtools/client/shared/source-map/worker.js create mode 100644 devtools/client/shared/source-utils.js create mode 100644 devtools/client/shared/sourceeditor/.eslintrc.js create mode 100644 devtools/client/shared/sourceeditor/README create mode 100644 devtools/client/shared/sourceeditor/autocomplete.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/LICENSE create mode 100644 devtools/client/shared/sourceeditor/codemirror/addon/accessibleTextarea.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/addon/comment/comment.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/addon/comment/continuecomment.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/addon/dialog/dialog.css create mode 100644 devtools/client/shared/sourceeditor/codemirror/addon/dialog/dialog.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/addon/display/placeholder.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/addon/edit/closebrackets.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/addon/edit/closetag.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/addon/edit/continuelist.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/addon/edit/matchbrackets.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/addon/edit/matchtags.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/addon/edit/trailingspace.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/addon/fold/brace-fold.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/addon/fold/comment-fold.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/addon/fold/foldcode.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/addon/fold/foldgutter.css create mode 100644 devtools/client/shared/sourceeditor/codemirror/addon/fold/foldgutter.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/addon/fold/indent-fold.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/addon/fold/markdown-fold.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/addon/fold/xml-fold.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/addon/runmode/runmode.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/addon/search/match-highlighter.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/addon/search/search.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/addon/search/searchcursor.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/addon/selection/active-line.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/addon/selection/mark-selection.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/cmiframe.html create mode 100644 devtools/client/shared/sourceeditor/codemirror/codemirror.bundle.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/keymap/emacs.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/keymap/sublime.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/keymap/vim.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/lib/codemirror.css create mode 100644 devtools/client/shared/sourceeditor/codemirror/lib/codemirror.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/mode/clike/clike.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/mode/clojure/clojure.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/mode/coffeescript/coffeescript.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/mode/css/css.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/mode/elm/elm.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/mode/haxe/haxe.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/mode/htmlmixed/htmlmixed.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/mode/javascript/javascript.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/mode/jsx/jsx.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/mode/rust/rust.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/mode/simple/simple.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/mode/wasm/wasm.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/mode/xml/xml.js create mode 100644 devtools/client/shared/sourceeditor/codemirror/mozilla.css create mode 100644 devtools/client/shared/sourceeditor/css-autocompleter.js create mode 100644 devtools/client/shared/sourceeditor/editor-commands-controller.js create mode 100644 devtools/client/shared/sourceeditor/editor.js create mode 100644 devtools/client/shared/sourceeditor/moz.build create mode 100644 devtools/client/shared/sourceeditor/package.json create mode 100644 devtools/client/shared/sourceeditor/test/.eslintrc.js create mode 100644 devtools/client/shared/sourceeditor/test/CodeMirrorTestActors.jsm create mode 100644 devtools/client/shared/sourceeditor/test/browser.ini create mode 100644 devtools/client/shared/sourceeditor/test/browser_codemirror.js create mode 100644 devtools/client/shared/sourceeditor/test/browser_css_autocompletion.js create mode 100644 devtools/client/shared/sourceeditor/test/browser_css_getInfo.js create mode 100644 devtools/client/shared/sourceeditor/test/browser_css_statemachine.js create mode 100644 devtools/client/shared/sourceeditor/test/browser_detectindent.js create mode 100644 devtools/client/shared/sourceeditor/test/browser_editor_addons.js create mode 100644 devtools/client/shared/sourceeditor/test/browser_editor_alt_b_f.js create mode 100644 devtools/client/shared/sourceeditor/test/browser_editor_autocomplete_basic.js create mode 100644 devtools/client/shared/sourceeditor/test/browser_editor_autocomplete_events.js create mode 100644 devtools/client/shared/sourceeditor/test/browser_editor_basic.js create mode 100644 devtools/client/shared/sourceeditor/test/browser_editor_cursor.js create mode 100644 devtools/client/shared/sourceeditor/test/browser_editor_cursor_blink.js create mode 100644 devtools/client/shared/sourceeditor/test/browser_editor_disableSearchAddon.js create mode 100644 devtools/client/shared/sourceeditor/test/browser_editor_find_again.js create mode 100644 devtools/client/shared/sourceeditor/test/browser_editor_goto_line.js create mode 100644 devtools/client/shared/sourceeditor/test/browser_editor_history.js create mode 100644 devtools/client/shared/sourceeditor/test/browser_editor_markers.js create mode 100644 devtools/client/shared/sourceeditor/test/browser_editor_movelines.js create mode 100644 devtools/client/shared/sourceeditor/test/browser_editor_prefs.js create mode 100644 devtools/client/shared/sourceeditor/test/browser_vimemacs.js create mode 100644 devtools/client/shared/sourceeditor/test/cm_mode_ruby.js create mode 100644 devtools/client/shared/sourceeditor/test/cm_script_injection_test.js create mode 100644 devtools/client/shared/sourceeditor/test/codemirror/codemirror.html create mode 100644 devtools/client/shared/sourceeditor/test/codemirror/comment_test.js create mode 100644 devtools/client/shared/sourceeditor/test/codemirror/doc_test.js create mode 100644 devtools/client/shared/sourceeditor/test/codemirror/driver.js create mode 100644 devtools/client/shared/sourceeditor/test/codemirror/emacs_test.js create mode 100644 devtools/client/shared/sourceeditor/test/codemirror/mode/javascript/test.js create mode 100644 devtools/client/shared/sourceeditor/test/codemirror/mode_test.css create mode 100644 devtools/client/shared/sourceeditor/test/codemirror/mode_test.js create mode 100644 devtools/client/shared/sourceeditor/test/codemirror/multi_test.js create mode 100644 devtools/client/shared/sourceeditor/test/codemirror/search_test.js create mode 100644 devtools/client/shared/sourceeditor/test/codemirror/sublime_test.js create mode 100644 devtools/client/shared/sourceeditor/test/codemirror/test.js create mode 100644 devtools/client/shared/sourceeditor/test/codemirror/vim_test.js create mode 100644 devtools/client/shared/sourceeditor/test/codemirror/vimemacs.html create mode 100644 devtools/client/shared/sourceeditor/test/css_autocompletion_tests.json create mode 100644 devtools/client/shared/sourceeditor/test/css_statemachine_testcases.css create mode 100644 devtools/client/shared/sourceeditor/test/css_statemachine_tests.json create mode 100644 devtools/client/shared/sourceeditor/test/head.js create mode 100644 devtools/client/shared/sourceeditor/test/head.xhtml create mode 100644 devtools/client/shared/sourceeditor/wasm.js create mode 100644 devtools/client/shared/sourceeditor/webpack.config.js create mode 100644 devtools/client/shared/splitview.css create mode 100644 devtools/client/shared/stylesheet-utils.js create mode 100644 devtools/client/shared/suggestion-picker.js create mode 100644 devtools/client/shared/telemetry.js create mode 100644 devtools/client/shared/test-helpers/jest-fixtures/Chrome.js create mode 100644 devtools/client/shared/test-helpers/jest-fixtures/Services.js create mode 100644 devtools/client/shared/test-helpers/jest-fixtures/devtools-utils.js create mode 100644 devtools/client/shared/test-helpers/jest-fixtures/empty-module.js create mode 100644 devtools/client/shared/test-helpers/jest-fixtures/fluent-l10n.js create mode 100644 devtools/client/shared/test-helpers/jest-fixtures/generate-uuid.js create mode 100644 devtools/client/shared/test-helpers/jest-fixtures/plural-form.js create mode 100644 devtools/client/shared/test-helpers/jest-fixtures/promise.js create mode 100644 devtools/client/shared/test-helpers/jest-fixtures/telemetry.js create mode 100644 devtools/client/shared/test-helpers/jest-fixtures/unicode-url.js create mode 100644 devtools/client/shared/test-helpers/shared-jest.config.js create mode 100644 devtools/client/shared/test-helpers/shared-node-helpers.js create mode 100644 devtools/client/shared/test/.eslintrc.js create mode 100644 devtools/client/shared/test/addons/test-addon-1/manifest.json create mode 100644 devtools/client/shared/test/addons/test-addon-2/manifest.json create mode 100644 devtools/client/shared/test/browser.ini create mode 100644 devtools/client/shared/test/browser_autocomplete_popup.js create mode 100644 devtools/client/shared/test/browser_autocomplete_popup_consecutive-show.js create mode 100644 devtools/client/shared/test/browser_autocomplete_popup_input.js create mode 100644 devtools/client/shared/test/browser_browserloader_mocks.js create mode 100644 devtools/client/shared/test/browser_css_angle.js create mode 100644 devtools/client/shared/test/browser_css_color.js create mode 100644 devtools/client/shared/test/browser_cubic-bezier-01.js create mode 100644 devtools/client/shared/test/browser_cubic-bezier-02.js create mode 100644 devtools/client/shared/test/browser_cubic-bezier-03.js create mode 100644 devtools/client/shared/test/browser_cubic-bezier-04.js create mode 100644 devtools/client/shared/test/browser_cubic-bezier-05.js create mode 100644 devtools/client/shared/test/browser_cubic-bezier-06.js create mode 100644 devtools/client/shared/test/browser_cubic-bezier-07.js create mode 100644 devtools/client/shared/test/browser_dbg_WorkerTargetActor.attach.js create mode 100644 devtools/client/shared/test/browser_dbg_debugger-statement.js create mode 100644 devtools/client/shared/test/browser_dbg_globalactor.js create mode 100644 devtools/client/shared/test/browser_dbg_listaddons.js create mode 100644 devtools/client/shared/test/browser_dbg_listtabs-01.js create mode 100644 devtools/client/shared/test/browser_dbg_listtabs-02.js create mode 100644 devtools/client/shared/test/browser_dbg_listtabs-03.js create mode 100644 devtools/client/shared/test/browser_dbg_listworkers.js create mode 100644 devtools/client/shared/test/browser_dbg_multiple-windows.js create mode 100644 devtools/client/shared/test/browser_dbg_navigation.js create mode 100644 devtools/client/shared/test/browser_dbg_target-scoped-actor-01.js create mode 100644 devtools/client/shared/test/browser_dbg_target-scoped-actor-02.js create mode 100644 devtools/client/shared/test/browser_dbg_worker-console-01.js create mode 100644 devtools/client/shared/test/browser_dbg_worker-console-02.js create mode 100644 devtools/client/shared/test/browser_dbg_worker-console-03.js create mode 100644 devtools/client/shared/test/browser_dbg_worker-console-04.js create mode 100644 devtools/client/shared/test/browser_dbg_worker-window.js create mode 100644 devtools/client/shared/test/browser_devices.js create mode 100644 devtools/client/shared/test/browser_devices.json create mode 100644 devtools/client/shared/test/browser_filter-editor-01.js create mode 100644 devtools/client/shared/test/browser_filter-editor-02.js create mode 100644 devtools/client/shared/test/browser_filter-editor-03.js create mode 100644 devtools/client/shared/test/browser_filter-editor-04.js create mode 100644 devtools/client/shared/test/browser_filter-editor-05.js create mode 100644 devtools/client/shared/test/browser_filter-editor-06.js create mode 100644 devtools/client/shared/test/browser_filter-editor-07.js create mode 100644 devtools/client/shared/test/browser_filter-editor-08.js create mode 100644 devtools/client/shared/test/browser_filter-editor-09.js create mode 100644 devtools/client/shared/test/browser_filter-editor-10.js create mode 100644 devtools/client/shared/test/browser_filter-presets-01.js create mode 100644 devtools/client/shared/test/browser_filter-presets-02.js create mode 100644 devtools/client/shared/test/browser_filter-presets-03.js create mode 100644 devtools/client/shared/test/browser_flame-graph-01.js create mode 100644 devtools/client/shared/test/browser_flame-graph-02.js create mode 100644 devtools/client/shared/test/browser_flame-graph-03a.js create mode 100644 devtools/client/shared/test/browser_flame-graph-03b.js create mode 100644 devtools/client/shared/test/browser_flame-graph-03c.js create mode 100644 devtools/client/shared/test/browser_flame-graph-04.js create mode 100644 devtools/client/shared/test/browser_flame-graph-05.js create mode 100644 devtools/client/shared/test/browser_flame-graph-utils-01.js create mode 100644 devtools/client/shared/test/browser_flame-graph-utils-02.js create mode 100644 devtools/client/shared/test/browser_flame-graph-utils-03.js create mode 100644 devtools/client/shared/test/browser_flame-graph-utils-04.js create mode 100644 devtools/client/shared/test/browser_flame-graph-utils-05.js create mode 100644 devtools/client/shared/test/browser_flame-graph-utils-06.js create mode 100644 devtools/client/shared/test/browser_flame-graph-utils-hash.js create mode 100644 devtools/client/shared/test/browser_graphs-01.js create mode 100644 devtools/client/shared/test/browser_graphs-02.js create mode 100644 devtools/client/shared/test/browser_graphs-03.js create mode 100644 devtools/client/shared/test/browser_graphs-04.js create mode 100644 devtools/client/shared/test/browser_graphs-05.js create mode 100644 devtools/client/shared/test/browser_graphs-06.js create mode 100644 devtools/client/shared/test/browser_graphs-07a.js create mode 100644 devtools/client/shared/test/browser_graphs-07b.js create mode 100644 devtools/client/shared/test/browser_graphs-07c.js create mode 100644 devtools/client/shared/test/browser_graphs-07d.js create mode 100644 devtools/client/shared/test/browser_graphs-07e.js create mode 100644 devtools/client/shared/test/browser_graphs-08.js create mode 100644 devtools/client/shared/test/browser_graphs-09a.js create mode 100644 devtools/client/shared/test/browser_graphs-09b.js create mode 100644 devtools/client/shared/test/browser_graphs-09c.js create mode 100644 devtools/client/shared/test/browser_graphs-09d.js create mode 100644 devtools/client/shared/test/browser_graphs-09e.js create mode 100644 devtools/client/shared/test/browser_graphs-09f.js create mode 100644 devtools/client/shared/test/browser_graphs-10a.js create mode 100644 devtools/client/shared/test/browser_graphs-10b.js create mode 100644 devtools/client/shared/test/browser_graphs-10c.js create mode 100644 devtools/client/shared/test/browser_graphs-13.js create mode 100644 devtools/client/shared/test/browser_graphs-14.js create mode 100644 devtools/client/shared/test/browser_graphs-15.js create mode 100644 devtools/client/shared/test/browser_graphs-16.js create mode 100644 devtools/client/shared/test/browser_html_tooltip-01.js create mode 100644 devtools/client/shared/test/browser_html_tooltip-02.js create mode 100644 devtools/client/shared/test/browser_html_tooltip-03.js create mode 100644 devtools/client/shared/test/browser_html_tooltip-04.js create mode 100644 devtools/client/shared/test/browser_html_tooltip-05.js create mode 100644 devtools/client/shared/test/browser_html_tooltip_arrow-01.js create mode 100644 devtools/client/shared/test/browser_html_tooltip_arrow-02.js create mode 100644 devtools/client/shared/test/browser_html_tooltip_consecutive-show.js create mode 100644 devtools/client/shared/test/browser_html_tooltip_doorhanger-01.js create mode 100644 devtools/client/shared/test/browser_html_tooltip_doorhanger-02.js create mode 100644 devtools/client/shared/test/browser_html_tooltip_height-auto.js create mode 100644 devtools/client/shared/test/browser_html_tooltip_hover.js create mode 100644 devtools/client/shared/test/browser_html_tooltip_offset.js create mode 100644 devtools/client/shared/test/browser_html_tooltip_resize.js create mode 100644 devtools/client/shared/test/browser_html_tooltip_rtl.js create mode 100644 devtools/client/shared/test/browser_html_tooltip_screen_edge.js create mode 100644 devtools/client/shared/test/browser_html_tooltip_variable-height.js create mode 100644 devtools/client/shared/test/browser_html_tooltip_width-auto.js create mode 100644 devtools/client/shared/test/browser_html_tooltip_xul-wrapper.js create mode 100644 devtools/client/shared/test/browser_html_tooltip_zoom.js create mode 100644 devtools/client/shared/test/browser_inplace-editor-01.js create mode 100644 devtools/client/shared/test/browser_inplace-editor-02.js create mode 100644 devtools/client/shared/test/browser_inplace-editor_autoclose_parentheses.js create mode 100644 devtools/client/shared/test/browser_inplace-editor_autocomplete_01.js create mode 100644 devtools/client/shared/test/browser_inplace-editor_autocomplete_02.js create mode 100644 devtools/client/shared/test/browser_inplace-editor_autocomplete_css_variable.js create mode 100644 devtools/client/shared/test/browser_inplace-editor_autocomplete_offset.js create mode 100644 devtools/client/shared/test/browser_inplace-editor_maxwidth.js create mode 100644 devtools/client/shared/test/browser_key_shortcuts.js create mode 100644 devtools/client/shared/test/browser_keycodes.js create mode 100644 devtools/client/shared/test/browser_layoutHelpers.js create mode 100644 devtools/client/shared/test/browser_layoutHelpers_getBoxQuads1.js create mode 100644 devtools/client/shared/test/browser_layoutHelpers_getBoxQuads2.js create mode 100644 devtools/client/shared/test/browser_link.js create mode 100644 devtools/client/shared/test/browser_num-l10n.js create mode 100644 devtools/client/shared/test/browser_options-view-01.js create mode 100644 devtools/client/shared/test/browser_outputparser.js create mode 100644 devtools/client/shared/test/browser_poller.js create mode 100644 devtools/client/shared/test/browser_prefs-01.js create mode 100644 devtools/client/shared/test/browser_prefs-02.js create mode 100644 devtools/client/shared/test/browser_require_raw.js create mode 100644 devtools/client/shared/test/browser_spectrum.js create mode 100644 devtools/client/shared/test/browser_tableWidget_basic.js create mode 100644 devtools/client/shared/test/browser_tableWidget_keyboard_interaction.js create mode 100644 devtools/client/shared/test/browser_tableWidget_mouse_interaction.js create mode 100644 devtools/client/shared/test/browser_telemetry_button_eyedropper.js create mode 100644 devtools/client/shared/test/browser_telemetry_button_paintflashing.js create mode 100644 devtools/client/shared/test/browser_telemetry_button_responsive.js create mode 100644 devtools/client/shared/test/browser_telemetry_misc.js create mode 100644 devtools/client/shared/test/browser_telemetry_sidebar.js create mode 100644 devtools/client/shared/test/browser_telemetry_toolbox.js create mode 100644 devtools/client/shared/test/browser_telemetry_toolboxtabs_inspector.js create mode 100644 devtools/client/shared/test/browser_telemetry_toolboxtabs_jsdebugger.js create mode 100644 devtools/client/shared/test/browser_telemetry_toolboxtabs_jsprofiler.js create mode 100644 devtools/client/shared/test/browser_telemetry_toolboxtabs_netmonitor.js create mode 100644 devtools/client/shared/test/browser_telemetry_toolboxtabs_options.js create mode 100644 devtools/client/shared/test/browser_telemetry_toolboxtabs_storage.js create mode 100644 devtools/client/shared/test/browser_telemetry_toolboxtabs_styleeditor.js create mode 100644 devtools/client/shared/test/browser_telemetry_toolboxtabs_webconsole.js create mode 100644 devtools/client/shared/test/browser_theme.js create mode 100644 devtools/client/shared/test/browser_theme_switching.js create mode 100644 devtools/client/shared/test/browser_treeWidget_basic.js create mode 100644 devtools/client/shared/test/browser_treeWidget_keyboard_interaction.js create mode 100644 devtools/client/shared/test/browser_treeWidget_mouse_interaction.js create mode 100644 devtools/client/shared/test/code_WorkerTargetActor.attach-worker1.js create mode 100644 devtools/client/shared/test/code_WorkerTargetActor.attach-worker2.js create mode 100644 devtools/client/shared/test/code_WorkerTargetActor.attachThread-worker.js create mode 100644 devtools/client/shared/test/code_listworkers-worker1.js create mode 100644 devtools/client/shared/test/code_listworkers-worker2.js create mode 100644 devtools/client/shared/test/doc_WorkerTargetActor.attach-tab1.html create mode 100644 devtools/client/shared/test/doc_WorkerTargetActor.attach-tab2.html create mode 100644 devtools/client/shared/test/doc_WorkerTargetActor.attachThread-tab.html create mode 100644 devtools/client/shared/test/doc_cubic-bezier-01.html create mode 100644 devtools/client/shared/test/doc_cubic-bezier-02.html create mode 100644 devtools/client/shared/test/doc_empty-tab-01.html create mode 100644 devtools/client/shared/test/doc_empty-tab-02.html create mode 100644 devtools/client/shared/test/doc_event-listeners-01.html create mode 100644 devtools/client/shared/test/doc_event-listeners-03.html create mode 100644 devtools/client/shared/test/doc_filter-editor-01.html create mode 100644 devtools/client/shared/test/doc_html_tooltip-02.xhtml create mode 100644 devtools/client/shared/test/doc_html_tooltip-03.xhtml create mode 100644 devtools/client/shared/test/doc_html_tooltip-04.xhtml create mode 100644 devtools/client/shared/test/doc_html_tooltip-05.xhtml create mode 100644 devtools/client/shared/test/doc_html_tooltip.xhtml create mode 100644 devtools/client/shared/test/doc_html_tooltip_arrow-01.xhtml create mode 100644 devtools/client/shared/test/doc_html_tooltip_arrow-02.xhtml create mode 100644 devtools/client/shared/test/doc_html_tooltip_doorhanger-01.xhtml create mode 100644 devtools/client/shared/test/doc_html_tooltip_doorhanger-02.xhtml create mode 100644 devtools/client/shared/test/doc_html_tooltip_hover.xhtml create mode 100644 devtools/client/shared/test/doc_html_tooltip_rtl.xhtml create mode 100644 devtools/client/shared/test/doc_inline-debugger-statement.html create mode 100644 devtools/client/shared/test/doc_inplace-editor_autocomplete_offset.xhtml create mode 100644 devtools/client/shared/test/doc_layoutHelpers.html create mode 100644 devtools/client/shared/test/doc_layoutHelpers_getBoxQuads1.html create mode 100644 devtools/client/shared/test/doc_layoutHelpers_getBoxQuads2-a.html create mode 100644 devtools/client/shared/test/doc_layoutHelpers_getBoxQuads2-b-and-d.html create mode 100644 devtools/client/shared/test/doc_layoutHelpers_getBoxQuads2-c-and-e.html create mode 100644 devtools/client/shared/test/doc_listworkers-tab.html create mode 100644 devtools/client/shared/test/doc_native-event-handler.html create mode 100644 devtools/client/shared/test/doc_options-view.xhtml create mode 100644 devtools/client/shared/test/doc_script-switching-01.html create mode 100644 devtools/client/shared/test/doc_script-switching-02.html create mode 100644 devtools/client/shared/test/doc_spectrum.html create mode 100644 devtools/client/shared/test/doc_tableWidget_basic.html create mode 100644 devtools/client/shared/test/doc_tableWidget_keyboard_interaction.xhtml create mode 100644 devtools/client/shared/test/doc_tableWidget_mouse_interaction.xhtml create mode 100644 devtools/client/shared/test/doc_templater_basic.html create mode 100644 devtools/client/shared/test/dummy.html create mode 100644 devtools/client/shared/test/head.js create mode 100644 devtools/client/shared/test/helper_addons.js create mode 100644 devtools/client/shared/test/helper_color_data.js create mode 100644 devtools/client/shared/test/helper_html_tooltip.js create mode 100644 devtools/client/shared/test/helper_inplace_editor.js create mode 100644 devtools/client/shared/test/helper_workers.js create mode 100644 devtools/client/shared/test/leakhunt.js create mode 100644 devtools/client/shared/test/shared-head.js create mode 100644 devtools/client/shared/test/shared-redux-head.js create mode 100644 devtools/client/shared/test/telemetry-test-helpers.js create mode 100644 devtools/client/shared/test/test-actor.js create mode 100644 devtools/client/shared/test/test-mocked-module.js create mode 100644 devtools/client/shared/test/testactors.js create mode 100644 devtools/client/shared/test/xpcshell/.eslintrc.js create mode 100644 devtools/client/shared/test/xpcshell/test_VariablesView_filtering-without-controller.js create mode 100644 devtools/client/shared/test/xpcshell/test_VariablesView_getString_promise.js create mode 100644 devtools/client/shared/test/xpcshell/test_WeakMapMap.js create mode 100644 devtools/client/shared/test/xpcshell/test_advanceValidate.js create mode 100644 devtools/client/shared/test/xpcshell/test_attribute-parsing-01.js create mode 100644 devtools/client/shared/test/xpcshell/test_attribute-parsing-02.js create mode 100644 devtools/client/shared/test/xpcshell/test_bezierCanvas.js create mode 100644 devtools/client/shared/test/xpcshell/test_cssAngle.js create mode 100644 devtools/client/shared/test/xpcshell/test_cssColor-01.js create mode 100644 devtools/client/shared/test/xpcshell/test_cssColor-02.js create mode 100644 devtools/client/shared/test/xpcshell/test_cssColor-03.js create mode 100644 devtools/client/shared/test/xpcshell/test_cssColor-8-digit-hex.js create mode 100644 devtools/client/shared/test/xpcshell/test_cssColorDatabase.js create mode 100644 devtools/client/shared/test/xpcshell/test_cubicBezier.js create mode 100644 devtools/client/shared/test/xpcshell/test_curl.js create mode 100644 devtools/client/shared/test/xpcshell/test_escapeCSSComment.js create mode 100644 devtools/client/shared/test/xpcshell/test_hasCSSVariable.js create mode 100644 devtools/client/shared/test/xpcshell/test_parseDeclarations.js create mode 100644 devtools/client/shared/test/xpcshell/test_parsePseudoClassesAndAttributes.js create mode 100644 devtools/client/shared/test/xpcshell/test_parseSingleValue.js create mode 100644 devtools/client/shared/test/xpcshell/test_rewriteDeclarations.js create mode 100644 devtools/client/shared/test/xpcshell/test_source-utils.js create mode 100644 devtools/client/shared/test/xpcshell/test_suggestion-picker.js create mode 100644 devtools/client/shared/test/xpcshell/test_undoStack.js create mode 100644 devtools/client/shared/test/xpcshell/test_unicode-url.js create mode 100644 devtools/client/shared/test/xpcshell/xpcshell.ini create mode 100644 devtools/client/shared/theme-switching.js create mode 100644 devtools/client/shared/theme.js create mode 100644 devtools/client/shared/thread-utils.js create mode 100644 devtools/client/shared/toolbarbutton.css create mode 100644 devtools/client/shared/undo.js create mode 100644 devtools/client/shared/unicode-url.js create mode 100644 devtools/client/shared/vendor/D3_LICENSE create mode 100644 devtools/client/shared/vendor/DAGRE_D3_LICENSE create mode 100644 devtools/client/shared/vendor/FLUENT_REACT_UPGRADING create mode 100644 devtools/client/shared/vendor/LODASH_UPGRADING.md create mode 100644 devtools/client/shared/vendor/REACT_PROP_TYPES_UPGRADING.md create mode 100644 devtools/client/shared/vendor/REACT_REDUX_LICENSE create mode 100644 devtools/client/shared/vendor/REACT_REDUX_UPGRADING.md create mode 100644 devtools/client/shared/vendor/REACT_ROUTER_DOM_LICENSE create mode 100644 devtools/client/shared/vendor/REACT_ROUTER_DOM_UPGRADING.md create mode 100644 devtools/client/shared/vendor/REACT_UPGRADING.md create mode 100644 devtools/client/shared/vendor/REDUX_LICENSE create mode 100644 devtools/client/shared/vendor/REDUX_UPGRADING.md create mode 100644 devtools/client/shared/vendor/RESELECT_LICENSE create mode 100644 devtools/client/shared/vendor/RESELECT_UPGRADING create mode 100644 devtools/client/shared/vendor/WASMPARSER_UPGRADING create mode 100644 devtools/client/shared/vendor/WasmDis.js create mode 100644 devtools/client/shared/vendor/WasmParser.js create mode 100644 devtools/client/shared/vendor/dagre-d3.js create mode 100644 devtools/client/shared/vendor/fluent-react.js create mode 100644 devtools/client/shared/vendor/immutable.js create mode 100644 devtools/client/shared/vendor/jszip.js create mode 100644 devtools/client/shared/vendor/lodash.js create mode 100644 devtools/client/shared/vendor/moz.build create mode 100644 devtools/client/shared/vendor/react-dev.js create mode 100644 devtools/client/shared/vendor/react-dom-dev.js create mode 100644 devtools/client/shared/vendor/react-dom-factories.js create mode 100644 devtools/client/shared/vendor/react-dom-server-dev.js create mode 100644 devtools/client/shared/vendor/react-dom-server.js create mode 100644 devtools/client/shared/vendor/react-dom-test-utils-dev.js create mode 100644 devtools/client/shared/vendor/react-dom-test-utils.js create mode 100644 devtools/client/shared/vendor/react-dom.js create mode 100644 devtools/client/shared/vendor/react-prop-types-dev.js create mode 100644 devtools/client/shared/vendor/react-prop-types.js create mode 100644 devtools/client/shared/vendor/react-redux.js create mode 100644 devtools/client/shared/vendor/react-router-dom.js create mode 100644 devtools/client/shared/vendor/react-test-renderer-shallow.js create mode 100644 devtools/client/shared/vendor/react-test-renderer.js create mode 100644 devtools/client/shared/vendor/react.js create mode 100644 devtools/client/shared/vendor/redux.js create mode 100644 devtools/client/shared/vendor/reselect.js create mode 100644 devtools/client/shared/vendor/seamless-immutable.js create mode 100644 devtools/client/shared/vendor/whatwg-url.js create mode 100644 devtools/client/shared/view-source.js create mode 100644 devtools/client/shared/webgl-utils.js create mode 100644 devtools/client/shared/widgets/AbstractTreeItem.jsm create mode 100644 devtools/client/shared/widgets/Chart.js create mode 100644 devtools/client/shared/widgets/CubicBezierPresets.js create mode 100644 devtools/client/shared/widgets/CubicBezierWidget.js create mode 100644 devtools/client/shared/widgets/FilterWidget.js create mode 100644 devtools/client/shared/widgets/FlameGraph.js create mode 100644 devtools/client/shared/widgets/Graphs.js create mode 100644 devtools/client/shared/widgets/GraphsWorker.js create mode 100644 devtools/client/shared/widgets/LineGraphWidget.js create mode 100644 devtools/client/shared/widgets/MountainGraphWidget.js create mode 100644 devtools/client/shared/widgets/ShapesInContextEditor.js create mode 100644 devtools/client/shared/widgets/Spectrum.js create mode 100644 devtools/client/shared/widgets/TableWidget.js create mode 100644 devtools/client/shared/widgets/TreeWidget.js create mode 100644 devtools/client/shared/widgets/cubic-bezier.css create mode 100644 devtools/client/shared/widgets/filter-widget.css create mode 100644 devtools/client/shared/widgets/graphs-frame.xhtml create mode 100644 devtools/client/shared/widgets/moz.build create mode 100644 devtools/client/shared/widgets/spectrum.css create mode 100644 devtools/client/shared/widgets/tooltip/EventTooltipHelper.js create mode 100644 devtools/client/shared/widgets/tooltip/HTMLTooltip.js create mode 100644 devtools/client/shared/widgets/tooltip/ImageTooltipHelper.js create mode 100644 devtools/client/shared/widgets/tooltip/InlineTooltip.js create mode 100644 devtools/client/shared/widgets/tooltip/RulePreviewTooltip.js create mode 100644 devtools/client/shared/widgets/tooltip/SwatchBasedEditorTooltip.js create mode 100644 devtools/client/shared/widgets/tooltip/SwatchColorPickerTooltip.js create mode 100644 devtools/client/shared/widgets/tooltip/SwatchCubicBezierTooltip.js create mode 100644 devtools/client/shared/widgets/tooltip/SwatchFilterTooltip.js create mode 100644 devtools/client/shared/widgets/tooltip/TooltipToggle.js create mode 100644 devtools/client/shared/widgets/tooltip/VariableTooltipHelper.js create mode 100644 devtools/client/shared/widgets/tooltip/css-compatibility-tooltip-helper.js create mode 100644 devtools/client/shared/widgets/tooltip/inactive-css-tooltip-helper.js create mode 100644 devtools/client/shared/widgets/tooltip/moz.build create mode 100644 devtools/client/shared/widgets/view-helpers.js create mode 100644 devtools/client/shared/widgets/widgets.css create mode 100644 devtools/client/shared/workers-listener.js create mode 100644 devtools/client/shared/zoom-keys.js (limited to 'devtools/client/shared') diff --git a/devtools/client/shared/SplitView.jsm b/devtools/client/shared/SplitView.jsm new file mode 100644 index 0000000000..be227e7427 --- /dev/null +++ b/devtools/client/shared/SplitView.jsm @@ -0,0 +1,310 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +"use strict"; + +const { require } = ChromeUtils.import("resource://devtools/shared/Loader.jsm"); +const { KeyCodes } = require("devtools/client/shared/keycodes"); + +const EXPORTED_SYMBOLS = ["SplitView"]; + +/* this must be kept in sync with CSS (ie. splitview.css) */ +const LANDSCAPE_MEDIA_QUERY = "(min-width: 701px)"; + +var bindings = new WeakMap(); + +/** + * SplitView constructor + * + * Initialize the split view UI on an existing DOM element. + * + * A split view contains items, each of those having one summary and one details + * elements. + * It is adaptive as it behaves similarly to a richlistbox when there the aspect + * ratio is narrow or as a pair listbox-box otherwise. + * + * @param DOMElement aRoot + * @see appendItem + */ +function SplitView(aRoot) { + this._root = aRoot; + this._controller = aRoot.querySelector(".splitview-controller"); + this._nav = aRoot.querySelector(".splitview-nav"); + this._side = aRoot.querySelector(".splitview-side-details"); + this._activeSummary = null; + + this._mql = aRoot.ownerDocument.defaultView.matchMedia(LANDSCAPE_MEDIA_QUERY); + + // items list focus and search-on-type handling + this._nav.addEventListener("keydown", aEvent => { + function getFocusedItemWithin(nav) { + let node = nav.ownerDocument.activeElement; + while (node && node.parentNode != nav) { + node = node.parentNode; + } + return node; + } + + // do not steal focus from inside iframes or textboxes + if ( + aEvent.target.ownerDocument != this._nav.ownerDocument || + aEvent.target.tagName == "input" || + aEvent.target.tagName == "textarea" || + aEvent.target.classList.contains("textbox") + ) { + return false; + } + + // handle keyboard navigation within the items list + let newFocusOrdinal; + if ( + aEvent.keyCode == KeyCodes.DOM_VK_PAGE_UP || + aEvent.keyCode == KeyCodes.DOM_VK_HOME + ) { + newFocusOrdinal = 0; + } else if ( + aEvent.keyCode == KeyCodes.DOM_VK_PAGE_DOWN || + aEvent.keyCode == KeyCodes.DOM_VK_END + ) { + newFocusOrdinal = this._nav.childNodes.length - 1; + } else if (aEvent.keyCode == KeyCodes.DOM_VK_UP) { + newFocusOrdinal = getFocusedItemWithin(this._nav).getAttribute( + "data-ordinal" + ); + newFocusOrdinal--; + } else if (aEvent.keyCode == KeyCodes.DOM_VK_DOWN) { + newFocusOrdinal = getFocusedItemWithin(this._nav).getAttribute( + "data-ordinal" + ); + newFocusOrdinal++; + } + if (newFocusOrdinal !== undefined) { + aEvent.stopPropagation(); + const el = this.getSummaryElementByOrdinal(newFocusOrdinal); + if (el) { + el.focus(); + } + return false; + } + }); +} + +SplitView.prototype = { + /** + * Retrieve whether the UI currently has a landscape orientation. + * + * @return boolean + */ + get isLandscape() { + return this._mql.matches; + }, + + /** + * Retrieve the root element. + * + * @return DOMElement + */ + get rootElement() { + return this._root; + }, + + /** + * Retrieve the active item's summary element or null if there is none. + * + * @return DOMElement + */ + get activeSummary() { + return this._activeSummary; + }, + + /** + * Set the active item's summary element. + * + * @param DOMElement aSummary + */ + set activeSummary(aSummary) { + if (aSummary == this._activeSummary) { + return; + } + + if (this._activeSummary) { + const binding = bindings.get(this._activeSummary); + + if (binding.onHide) { + binding.onHide(this._activeSummary, binding._details, binding.data); + } + + this._activeSummary.classList.remove("splitview-active"); + binding._details.classList.remove("splitview-active"); + } + + if (!aSummary) { + return; + } + + const binding = bindings.get(aSummary); + aSummary.classList.add("splitview-active"); + binding._details.classList.add("splitview-active"); + + this._activeSummary = aSummary; + + if (binding.onShow) { + binding.onShow(aSummary, binding._details, binding.data); + } + }, + + /** + * Retrieve the active item's details element or null if there is none. + * @return DOMElement + */ + get activeDetails() { + const summary = this.activeSummary; + return summary ? bindings.get(summary)._details : null; + }, + + /** + * Retrieve the summary element for a given ordinal. + * + * @param number aOrdinal + * @return DOMElement + * Summary element with given ordinal or null if not found. + * @see appendItem + */ + getSummaryElementByOrdinal: function SEC_getSummaryElementByOrdinal( + aOrdinal + ) { + return this._nav.querySelector("* > li[data-ordinal='" + aOrdinal + "']"); + }, + + /** + * Append an item to the split view. + * + * @param DOMElement aSummary + * The summary element for the item. + * @param DOMElement aDetails + * The details element for the item. + * @param object aOptions + * Optional object that defines custom behavior and data for the item. + * All properties are optional : + * - function(DOMElement summary, DOMElement details, object data) onCreate + * Called when the item has been added. + * - function(summary, details, data) onShow + * Called when the item is shown/active. + * - function(summary, details, data) onHide + * Called when the item is hidden/inactive. + * - function(summary, details, data) onDestroy + * Called when the item has been removed. + * - object data + * Object to pass to the callbacks above. + * - number ordinal + * Items with a lower ordinal are displayed before those with a + * higher ordinal. + */ + appendItem: function ASV_appendItem(aSummary, aDetails, aOptions) { + const binding = aOptions || {}; + + binding._summary = aSummary; + binding._details = aDetails; + bindings.set(aSummary, binding); + + this._nav.appendChild(aSummary); + + aSummary.addEventListener("click", aEvent => { + aEvent.stopPropagation(); + this.activeSummary = aSummary; + }); + + this._side.appendChild(aDetails); + + if (binding.onCreate) { + binding.onCreate(aSummary, aDetails, binding.data); + } + }, + + /** + * Append an item to the split view according to two template elements + * (one for the item's summary and the other for the item's details). + * + * @param string aName + * Name of the template elements to instantiate. + * Requires two (hidden) DOM elements with id "splitview-tpl-summary-" + * and "splitview-tpl-details-" suffixed with aName. + * @param object aOptions + * Optional object that defines custom behavior and data for the item. + * See appendItem for full description. + * @return object{summary:,details:} + * Object with the new DOM elements created for summary and details. + * @see appendItem + */ + appendTemplatedItem: function ASV_appendTemplatedItem(aName, aOptions) { + aOptions = aOptions || {}; + let summary = this._root.querySelector("#splitview-tpl-summary-" + aName); + let details = this._root.querySelector("#splitview-tpl-details-" + aName); + + summary = summary.cloneNode(true); + summary.id = ""; + if (aOptions.ordinal !== undefined) { + // can be zero + summary.style.MozBoxOrdinalGroup = aOptions.ordinal; + summary.setAttribute("data-ordinal", aOptions.ordinal); + } + details = details.cloneNode(true); + details.id = ""; + + this.appendItem(summary, details, aOptions); + return { summary: summary, details: details }; + }, + + /** + * Remove an item from the split view. + * + * @param DOMElement aSummary + * Summary element of the item to remove. + */ + removeItem: function ASV_removeItem(aSummary) { + if (aSummary == this._activeSummary) { + this.activeSummary = null; + } + + const binding = bindings.get(aSummary); + aSummary.remove(); + binding._details.remove(); + + if (binding.onDestroy) { + binding.onDestroy(aSummary, binding._details, binding.data); + } + }, + + /** + * Remove all items from the split view. + */ + removeAll: function ASV_removeAll() { + while (this._nav.hasChildNodes()) { + this.removeItem(this._nav.firstChild); + } + }, + + /** + * Set the item's CSS class name. + * This sets the class on both the summary and details elements, retaining + * any SplitView-specific classes. + * + * @param DOMElement aSummary + * Summary element of the item to set. + * @param string aClassName + * One or more space-separated CSS classes. + */ + setItemClassName: function ASV_setItemClassName(aSummary, aClassName) { + const binding = bindings.get(aSummary); + let viewSpecific; + + viewSpecific = aSummary.className.match(/(splitview\-[\w-]+)/g); + viewSpecific = viewSpecific ? viewSpecific.join(" ") : ""; + aSummary.className = viewSpecific + " " + aClassName; + + viewSpecific = binding._details.className.match(/(splitview\-[\w-]+)/g); + viewSpecific = viewSpecific ? viewSpecific.join(" ") : ""; + binding._details.className = viewSpecific + " " + aClassName; + }, +}; diff --git a/devtools/client/shared/WeakMapMap.js b/devtools/client/shared/WeakMapMap.js new file mode 100644 index 0000000000..37eac656dc --- /dev/null +++ b/devtools/client/shared/WeakMapMap.js @@ -0,0 +1,107 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/** + * WeakMapMap is a weakmap collection dual-keyed using an object and a string. + * This is useful for keeping data compartmentalized e.g. grouped by tab. + * + * It's name comes from the internal structure which maps a WeakMap to a map, + * which contains the target data. + * + * Usage: + * const myWeakMapMap = new WeakMapMap(); + * const key = { randomObject: true }; + * myWeakMapMap.set(key, "text1", "Some value1"); + * myWeakMapMap.set(key, "text2", "Some value2"); + * myWeakMapMap.get(key, "text1"); // Returns "Some value1" + * myWeakMapMap.get(key, "text2"); // Returns "Some value2" + * myWeakMapMap.has(key, "text1"); // Returns true + * myWeakMapMap.has(key, "notakey"); // Returns false + */ + +"use strict"; + +class WeakMapMap { + constructor() { + this.clear(); + } + + /** + * Returns the value associated to the key and nestedKey, or undefined if + * there is none. + * + * @param {Object} key + * The key associated with the desired value. + * @param {String} nestedKey + * The nested key associated with the desired value. + */ + get(key, nestedKey) { + if (!this.has(key, nestedKey)) { + return undefined; + } + + return this.store.get(key).get(nestedKey); + } + + /** + * Returns the value associated to the key and nestedKey, or undefined if + * there is none. + * + * @param {Object} key + * The key associated with the desired value. + * @param {String} nestedKey + * The nested key associated with the desired value. + */ + has(key, nestedKey) { + const hasKey = this.store.has(key); + + return hasKey && this.store.get(key).has(nestedKey); + } + + /** + * + * @param {Object} key + * The key associated with the value. + * @param {String} nestedKey + * The nested key associated with the value. + * @param {any} value + * The value to add. + */ + set(key, nestedKey, value) { + if (!this.store.has(key)) { + this.store.set(key, new Map()); + } + + const innerMap = this.store.get(key); + innerMap.set(nestedKey, value); + } + + /** + * Removes the value associated to the key and nestedKey. + * + * @param {Object} key + * The key associated with the desired value. + * @param {String} nestedKey + * The nested key associated with the desired value. + * + * @returns True if an element in the store has been removed successfully. + * False if the key is not found in the store. + */ + delete(key, nestedKey) { + if (!this.store.has(key)) { + return false; + } + + return this.store.get(key).delete(nestedKey); + } + + /** + * Clear the store. + */ + clear() { + this.store = new WeakMap(); + } +} + +module.exports = WeakMapMap; diff --git a/devtools/client/shared/async-store-helper.js b/devtools/client/shared/async-store-helper.js new file mode 100644 index 0000000000..8ee9598117 --- /dev/null +++ b/devtools/client/shared/async-store-helper.js @@ -0,0 +1,57 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at . */ + +"use strict"; + +const asyncStorage = require("devtools/shared/async-storage"); + +/* + * asyncStoreHelper wraps asyncStorage so that it is easy to define project + * specific properties. It is similar to PrefsHelper. + * + * e.g. + * const asyncStore = asyncStoreHelper("r", {a: "_a"}) + * asyncStore.a // => asyncStorage.getItem("r._a") + * asyncStore.a = 2 // => asyncStorage.setItem("r._a", 2) + */ +function asyncStoreHelper(root, mappings) { + let store = {}; + + function getMappingKey(key) { + return Array.isArray(mappings[key]) ? mappings[key][0] : mappings[key]; + } + + function getMappingDefaultValue(key) { + return Array.isArray(mappings[key]) ? mappings[key][1] : null; + } + + Object.keys(mappings).map(key => + Object.defineProperty(store, key, { + async get() { + const value = await asyncStorage.getItem( + `${root}.${getMappingKey(key)}` + ); + return value || getMappingDefaultValue(key); + }, + set(value) { + return asyncStorage.setItem(`${root}.${getMappingKey(key)}`, value); + }, + }) + ); + + store = new Proxy(store, { + set: function(target, property, value, receiver) { + if (!mappings.hasOwnProperty(property)) { + throw new Error(`AsyncStore: ${property} is not defined in mappings`); + } + + Reflect.set(...arguments); + return true; + }, + }); + + return store; +} + +module.exports = asyncStoreHelper; diff --git a/devtools/client/shared/autocomplete-popup.js b/devtools/client/shared/autocomplete-popup.js new file mode 100644 index 0000000000..1b75d5ed95 --- /dev/null +++ b/devtools/client/shared/autocomplete-popup.js @@ -0,0 +1,695 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +"use strict"; + +const EventEmitter = require("devtools/shared/event-emitter"); + +loader.lazyRequireGetter( + this, + "HTMLTooltip", + "devtools/client/shared/widgets/tooltip/HTMLTooltip", + true +); +loader.lazyRequireGetter(this, "colorUtils", "devtools/shared/css/color", true); + +const HTML_NS = "http://www.w3.org/1999/xhtml"; +let itemIdCounter = 0; + +/** + * Autocomplete popup UI implementation. + * + * @constructor + * @param {Document} toolboxDoc + * The toolbox document to attach the autocomplete popup panel. + * @param {Object} options + * An object consiting any of the following options: + * - listId {String} The id for the list