Merge autoland to central, a=merge
MozReview-Commit-ID: 2cAzOxuxJMf
@ -331,3 +331,4 @@ toolkit/webapps/**
|
||||
|
||||
# Third party
|
||||
toolkit/modules/third_party/**
|
||||
third_party/**
|
||||
|
@ -2,23 +2,30 @@
|
||||
|
||||
module.exports = {
|
||||
"extends": [
|
||||
"../.eslintrc.js"
|
||||
"plugin:mozilla/recommended"
|
||||
],
|
||||
"globals": {
|
||||
"Cc": true,
|
||||
"Ci": true,
|
||||
"Components": true,
|
||||
"console": true,
|
||||
"Cu": true,
|
||||
"dump": true,
|
||||
"Services": true,
|
||||
"XPCOMUtils": true
|
||||
},
|
||||
"rules": {
|
||||
// Warn about cyclomatic complexity in functions.
|
||||
"complexity": ["error", 42],
|
||||
|
||||
// Maximum depth callbacks can be nested.
|
||||
"max-nested-callbacks": ["error", 10],
|
||||
// XXX These are rules that are enabled in the recommended configuration, but
|
||||
// disabled here due to failures when initially implemented. They should be
|
||||
// removed (and hence enabled) at some stage.
|
||||
"brace-style": "off",
|
||||
"consistent-return": "off",
|
||||
"func-call-spacing": "off",
|
||||
"quotes": "off",
|
||||
"object-shorthand": "off",
|
||||
"space-before-function-paren": "off",
|
||||
"space-infix-ops": "off",
|
||||
"key-spacing": "off",
|
||||
"keyword-spacing": "off",
|
||||
"no-else-return": "off",
|
||||
"no-multi-spaces": "off",
|
||||
"no-trailing-spaces": "off",
|
||||
"no-unexpected-multiline": "off",
|
||||
"no-unsafe-finally": "off",
|
||||
"no-useless-call": "off",
|
||||
"spaced-comment": "off",
|
||||
}
|
||||
};
|
||||
|
@ -2,8 +2,6 @@
|
||||
* 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/. */
|
||||
|
||||
/* global AccessFu, Components, Utils, PrefCache, Logger, Services,
|
||||
PointerAdapter, dump, Presentation, Rect */
|
||||
/* exported AccessFu */
|
||||
|
||||
'use strict';
|
||||
|
@ -98,7 +98,6 @@ this.EventManager.prototype = {
|
||||
switch (aEvent.type) {
|
||||
case 'wheel':
|
||||
{
|
||||
let attempts = 0;
|
||||
let delta = aEvent.deltaX || aEvent.deltaY;
|
||||
this.contentControl.autoMove(
|
||||
null,
|
||||
@ -271,7 +270,6 @@ this.EventManager.prototype = {
|
||||
{
|
||||
// Put vc where the focus is at
|
||||
let acc = aEvent.accessible;
|
||||
let doc = aEvent.accessibleDocument;
|
||||
this._setEditingMode(aEvent);
|
||||
if ([Roles.CHROME_WINDOW,
|
||||
Roles.DOCUMENT,
|
||||
@ -486,7 +484,7 @@ this.EventManager.prototype = {
|
||||
}
|
||||
return {};
|
||||
};
|
||||
let {live, relevant, busy, atomic, memberOf} = getLiveAttributes(aEvent);
|
||||
let {live, relevant, /* busy, atomic, memberOf */ } = getLiveAttributes(aEvent);
|
||||
// If container-live is not present or is set to |off| ignore the event.
|
||||
if (!live || live === 'off') {
|
||||
return {};
|
||||
|
@ -2,7 +2,6 @@
|
||||
* 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/. */
|
||||
|
||||
/* global Components, GestureSettings, XPCOMUtils, Utils, Promise, Logger */
|
||||
/* exported GestureSettings, GestureTracker */
|
||||
|
||||
/******************************************************************************
|
||||
|
@ -2,7 +2,6 @@
|
||||
* 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/. */
|
||||
|
||||
/* global Components, XPCOMUtils, Utils, PrefCache, States, Roles, Logger */
|
||||
/* exported UtteranceGenerator, BrailleGenerator */
|
||||
|
||||
'use strict';
|
||||
|
@ -2,8 +2,6 @@
|
||||
* 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/. */
|
||||
|
||||
/* global Components, XPCOMUtils, Utils, Logger, GestureSettings,
|
||||
GestureTracker */
|
||||
/* exported PointerRelay, PointerAdapter */
|
||||
|
||||
'use strict';
|
||||
|
@ -2,8 +2,6 @@
|
||||
* 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/. */
|
||||
|
||||
/* global Components, XPCOMUtils, Utils, Logger, BraillePresenter, Presentation,
|
||||
UtteranceGenerator, BrailleGenerator, States, Roles, PivotContext */
|
||||
/* exported Presentation */
|
||||
|
||||
'use strict';
|
||||
|
@ -2,8 +2,6 @@
|
||||
* 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/. */
|
||||
|
||||
/* global PrefCache, Roles, Prefilters, States, Filters, Utils,
|
||||
TraversalRules, Components, XPCOMUtils */
|
||||
/* exported TraversalRules, TraversalHelper */
|
||||
|
||||
'use strict';
|
||||
|
@ -2,8 +2,6 @@
|
||||
* 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/. */
|
||||
|
||||
/* global Components, XPCOMUtils, Services, PluralForm, Logger, Rect, Utils,
|
||||
States, Relations, Roles, dump, Events, PivotContext, PrefCache */
|
||||
/* exported Utils, Logger, PivotContext, PrefCache */
|
||||
|
||||
'use strict';
|
||||
|
@ -2,6 +2,8 @@
|
||||
* 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/. */
|
||||
|
||||
/* eslint-env mozilla/frame-script */
|
||||
|
||||
var Ci = Components.interfaces;
|
||||
var Cu = Components.utils;
|
||||
|
||||
|
@ -1,66 +1,18 @@
|
||||
"use strict";
|
||||
|
||||
module.exports = { // eslint-disable-line no-undef
|
||||
module.exports = {
|
||||
"extends": [
|
||||
"plugin:mozilla/browser-test"
|
||||
],
|
||||
// All globals made available in the test environment.
|
||||
"globals": {
|
||||
// Content scripts have global 'content' object
|
||||
"content": true,
|
||||
|
||||
"add_task": true,
|
||||
|
||||
// Defined in accessible/tests/mochitest/ common.js, name.js, states.js
|
||||
"prettyName": true,
|
||||
"statesToString": true,
|
||||
"eventTypeToString": true,
|
||||
"testAttrs": true,
|
||||
"testAbsentAttrs": true,
|
||||
"testName": true,
|
||||
"testDescr": true,
|
||||
"testStates": true,
|
||||
"testRelation": true,
|
||||
"testValue": true,
|
||||
"testAccessibleTree": true,
|
||||
"isAccessible": true,
|
||||
"getAccessibleDOMNodeID": true,
|
||||
|
||||
// Defined for all top level accessibility browser tests.
|
||||
"setE10sPrefs": true,
|
||||
"unsetE10sPrefs": true,
|
||||
"initPromise": true,
|
||||
"shutdownPromise": true,
|
||||
"forceGC": true,
|
||||
|
||||
// Defined for all e10s accessibility browser tests.
|
||||
"addAccessibleTask": true,
|
||||
"BrowserTestUtils": true,
|
||||
"ContentTask": true,
|
||||
"gBrowser": true,
|
||||
"isDefunct": true,
|
||||
"loadScripts": true,
|
||||
"loadFrameScripts": true,
|
||||
"Logger": true,
|
||||
"MOCHITESTS_DIR": true,
|
||||
"waitForEvent": true,
|
||||
"waitForMultipleEvents": true,
|
||||
"invokeSetAttribute": true,
|
||||
"invokeSetStyle": true,
|
||||
"invokeFocus": true,
|
||||
"findAccessibleChildByID": true
|
||||
},
|
||||
"rules": {
|
||||
"mozilla/no-aArgs": "warn",
|
||||
"mozilla/no-cpows-in-tests": "warn",
|
||||
"mozilla/reject-importGlobalProperties": "warn",
|
||||
"mozilla/var-only-at-top-level": "warn",
|
||||
"mozilla/no-aArgs": "error",
|
||||
"mozilla/no-cpows-in-tests": "error",
|
||||
"mozilla/reject-importGlobalProperties": "error",
|
||||
"mozilla/var-only-at-top-level": "error",
|
||||
|
||||
"block-scoped-var": "error",
|
||||
"brace-style": ["error", "1tbs"],
|
||||
"camelcase": "error",
|
||||
"comma-dangle": ["error", "never"],
|
||||
"comma-spacing": "error",
|
||||
"comma-style": ["error", "last"],
|
||||
"complexity": ["error", 20],
|
||||
"consistent-this": "off",
|
||||
@ -68,18 +20,12 @@ module.exports = { // eslint-disable-line no-undef
|
||||
"default-case": "off",
|
||||
"dot-location": ["error", "property"],
|
||||
"dot-notation": "error",
|
||||
"eol-last": "error",
|
||||
"eqeqeq": "off",
|
||||
"func-call-spacing": "error",
|
||||
"func-names": "off",
|
||||
"func-style": "off",
|
||||
"generator-star": "off",
|
||||
"global-strict": "off",
|
||||
"generator-star-spacing": "off",
|
||||
"handle-callback-err": ["error", "er"],
|
||||
"indent": ["error", 2, {"SwitchCase": 1}],
|
||||
"key-spacing": ["error", {"beforeColon": false, "afterColon": true}],
|
||||
"linebreak-style": "off",
|
||||
"max-depth": "off",
|
||||
"max-nested-callbacks": ["error", 4],
|
||||
"max-params": "off",
|
||||
"max-statements": "off",
|
||||
@ -90,73 +36,47 @@ module.exports = { // eslint-disable-line no-undef
|
||||
"no-caller": "error",
|
||||
"no-catch-shadow": "error",
|
||||
"no-comma-dangle": "off",
|
||||
"no-cond-assign": "error",
|
||||
"no-console": "off",
|
||||
"no-constant-condition": "off",
|
||||
"no-continue": "off",
|
||||
"no-control-regex": "error",
|
||||
"no-debugger": "error",
|
||||
"no-delete-var": "error",
|
||||
"no-div-regex": "off",
|
||||
"no-dupe-args": "error",
|
||||
"no-dupe-keys": "error",
|
||||
"no-duplicate-case": "error",
|
||||
"no-else-return": "error",
|
||||
"no-empty": "error",
|
||||
"no-empty-character-class": "error",
|
||||
"no-eval": "error",
|
||||
"no-ex-assign": "error",
|
||||
"no-extend-native": "error",
|
||||
"no-extra-bind": "error",
|
||||
"no-extra-boolean-cast": "error",
|
||||
"no-extra-parens": "off",
|
||||
"no-extra-semi": "error",
|
||||
"no-extra-strict": "off",
|
||||
"no-fallthrough": "error",
|
||||
"no-floating-decimal": "off",
|
||||
"no-inline-comments": "off",
|
||||
"no-lonely-if": "error",
|
||||
"no-mixed-requires": "off",
|
||||
"no-mixed-spaces-and-tabs": "error",
|
||||
"no-multi-spaces": "error",
|
||||
"no-multi-str": "error",
|
||||
"no-multiple-empty-lines": ["error", {"max": 1}],
|
||||
"no-native-reassign": "error",
|
||||
"no-nested-ternary": "error",
|
||||
"no-new-require": "off",
|
||||
"no-octal": "error",
|
||||
"no-param-reassign": "off",
|
||||
"no-path-concat": "off",
|
||||
"no-plusplus": "off",
|
||||
"no-process-env": "off",
|
||||
"no-process-exit": "off",
|
||||
"no-proto": "error",
|
||||
"no-redeclare": "error",
|
||||
"no-regex-spaces": "error",
|
||||
"no-reserved-keys": "off",
|
||||
"no-restricted-modules": "off",
|
||||
"no-return-assign": "error",
|
||||
"no-script-url": "off",
|
||||
"no-self-compare": "error",
|
||||
"no-sequences": "error",
|
||||
"no-shadow": "error",
|
||||
"no-shadow-restricted-names": "error",
|
||||
"no-space-before-semi": "off",
|
||||
"no-sparse-arrays": "error",
|
||||
"no-sync": "off",
|
||||
"no-ternary": "off",
|
||||
"no-throw-literal": "error",
|
||||
"no-trailing-spaces": "error",
|
||||
"no-undef": "error",
|
||||
"no-underscore-dangle": "off",
|
||||
"no-undefined": "off",
|
||||
"no-unneeded-ternary": "error",
|
||||
"no-unreachable": "error",
|
||||
"no-unused-vars": ["error", {"vars": "all", "args": "none"}],
|
||||
"no-use-before-define": "off",
|
||||
"no-var": "off",
|
||||
"no-warning-comments": "off",
|
||||
"no-with": "error",
|
||||
"object-shorthand": "off",
|
||||
"one-var": ["error", "never"],
|
||||
"padded-blocks": ["error", "never"],
|
||||
@ -165,21 +85,11 @@ module.exports = { // eslint-disable-line no-undef
|
||||
"semi": ["error", "always"],
|
||||
"semi-spacing": ["error", {"before": false, "after": true}],
|
||||
"sort-vars": "off",
|
||||
"space-after-function-name": "off",
|
||||
"keyword-spacing": "error",
|
||||
"space-before-blocks": "error",
|
||||
"space-before-function-parentheses": "off",
|
||||
"space-before-function-paren": ["error", "never"],
|
||||
"space-in-brackets": "off",
|
||||
"space-in-parens": ["error", "never"],
|
||||
"space-infix-ops": ["error", {"int32Hint": true}],
|
||||
"space-unary-ops": ["error", { "words": true, "nonwords": false }],
|
||||
"space-unary-word-ops": "off",
|
||||
"spaced-comment": ["error", "always"],
|
||||
"strict": ["error", "global"],
|
||||
"use-isnan": "error",
|
||||
"valid-jsdoc": "off",
|
||||
"valid-typeof": "error",
|
||||
"vars-on-top": "off",
|
||||
"wrap-iife": "off",
|
||||
"wrap-regex": "off",
|
||||
|
@ -4,8 +4,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global EVENT_FOCUS */
|
||||
|
||||
/* import-globals-from ../../mochitest/attributes.js */
|
||||
loadScripts({ name: 'attributes.js', dir: MOCHITESTS_DIR });
|
||||
|
||||
/**
|
||||
|
@ -4,8 +4,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global EVENT_DESCRIPTION_CHANGE, EVENT_NAME_CHANGE, EVENT_REORDER */
|
||||
|
||||
/* import-globals-from ../../mochitest/name.js */
|
||||
loadScripts({ name: 'name.js', dir: MOCHITESTS_DIR });
|
||||
|
||||
/**
|
||||
|
@ -4,8 +4,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global EVENT_REORDER, EVENT_TEXT_INSERTED */
|
||||
|
||||
/* import-globals-from ../../mochitest/name.js */
|
||||
loadScripts({ name: 'name.js', dir: MOCHITESTS_DIR });
|
||||
|
||||
/**
|
||||
|
@ -4,10 +4,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global RELATION_LABELLED_BY, RELATION_LABEL_FOR, RELATION_DESCRIBED_BY,
|
||||
RELATION_DESCRIPTION_FOR, RELATION_CONTROLLER_FOR,
|
||||
RELATION_CONTROLLED_BY, RELATION_FLOWS_TO, RELATION_FLOWS_FROM */
|
||||
|
||||
/* import-globals-from ../../mochitest/relations.js */
|
||||
loadScripts({ name: 'relations.js', dir: MOCHITESTS_DIR });
|
||||
|
||||
/**
|
||||
|
@ -4,9 +4,8 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global EVENT_STATE_CHANGE, STATE_CHECKED, STATE_BUSY, STATE_REQUIRED,
|
||||
STATE_INVALID, EXT_STATE_ENABLED */
|
||||
|
||||
/* import-globals-from ../../mochitest/role.js */
|
||||
/* import-globals-from ../../mochitest/states.js */
|
||||
loadScripts({ name: 'role.js', dir: MOCHITESTS_DIR },
|
||||
{ name: 'states.js', dir: MOCHITESTS_DIR });
|
||||
|
||||
|
@ -4,8 +4,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global nsIAccessibleValue, EVENT_VALUE_CHANGE, EVENT_TEXT_VALUE_CHANGE */
|
||||
|
||||
/* import-globals-from ../../mochitest/value.js */
|
||||
loadScripts({ name: 'value.js', dir: MOCHITESTS_DIR });
|
||||
|
||||
/**
|
||||
|
@ -2,8 +2,6 @@
|
||||
* 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/. */
|
||||
|
||||
/* global EVENT_TEXT_CARET_MOVED, nsIAccessibleCaretMoveEvent */
|
||||
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
|
@ -2,8 +2,6 @@
|
||||
* 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/. */
|
||||
|
||||
/* global EVENT_HIDE */
|
||||
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
|
@ -2,8 +2,6 @@
|
||||
* 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/. */
|
||||
|
||||
/* global EVENT_SHOW */
|
||||
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
|
@ -2,11 +2,10 @@
|
||||
* 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/. */
|
||||
|
||||
/* global STATE_CHECKED, EXT_STATE_EDITABLE, nsIAccessibleStateChangeEvent,
|
||||
EVENT_STATE_CHANGE */
|
||||
|
||||
'use strict';
|
||||
|
||||
/* import-globals-from ../../mochitest/role.js */
|
||||
/* import-globals-from ../../mochitest/states.js */
|
||||
loadScripts({ name: 'role.js', dir: MOCHITESTS_DIR },
|
||||
{ name: 'states.js', dir: MOCHITESTS_DIR });
|
||||
|
||||
|
@ -2,9 +2,6 @@
|
||||
* 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/. */
|
||||
|
||||
/* global EVENT_TEXT_INSERTED, EVENT_TEXT_REMOVED,
|
||||
nsIAccessibleTextChangeEvent */
|
||||
|
||||
'use strict';
|
||||
|
||||
function checkTextChangeEvent(event, id, text, start, end, isInserted, isFromUserInput) {
|
||||
|
@ -4,9 +4,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global EVENT_SHOW, ROLE_DIALOG, ROLE_PUSHBUTTON, ROLE_TEXT_LEAF, ROLE_ENTRY,
|
||||
ROLE_DOCUMENT */
|
||||
|
||||
/* import-globals-from ../../mochitest/role.js */
|
||||
loadScripts({ name: 'role.js', dir: MOCHITESTS_DIR });
|
||||
|
||||
// Test ARIA Dialog
|
||||
|
@ -4,8 +4,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global EVENT_REORDER */
|
||||
|
||||
/* import-globals-from ../../mochitest/role.js */
|
||||
loadScripts({ name: 'role.js', dir: MOCHITESTS_DIR });
|
||||
|
||||
function* testContainer1(browser, accDoc) {
|
||||
|
@ -4,8 +4,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global EVENT_SHOW */
|
||||
|
||||
/* import-globals-from ../../mochitest/role.js */
|
||||
loadScripts({ name: 'role.js', dir: MOCHITESTS_DIR });
|
||||
|
||||
addAccessibleTask(`
|
||||
|
@ -4,8 +4,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global EVENT_REORDER */
|
||||
|
||||
/* import-globals-from ../../mochitest/role.js */
|
||||
loadScripts({ name: 'role.js', dir: MOCHITESTS_DIR });
|
||||
|
||||
addAccessibleTask(`
|
||||
|
@ -4,9 +4,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global ROLE_PUSHBUTTON, ROLE_TEXT_LEAF, EVENT_REORDER, ROLE_DOCUMENT,
|
||||
nsIAccessibleDocument */
|
||||
|
||||
/* import-globals-from ../../mochitest/role.js */
|
||||
loadScripts({ name: 'role.js', dir: MOCHITESTS_DIR });
|
||||
|
||||
const iframeSrc = `data:text/html,
|
||||
|
@ -4,8 +4,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global EVENT_REORDER */
|
||||
|
||||
/* import-globals-from ../../mochitest/role.js */
|
||||
loadScripts({ name: 'role.js', dir: MOCHITESTS_DIR });
|
||||
|
||||
addAccessibleTask(`
|
||||
|
@ -4,8 +4,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global EVENT_REORDER */
|
||||
|
||||
/* import-globals-from ../../mochitest/role.js */
|
||||
loadScripts({ name: 'role.js', dir: MOCHITESTS_DIR });
|
||||
|
||||
function* setHidden(browser, value) {
|
||||
|
@ -4,8 +4,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global EVENT_REORDER, ROLE_LINK */
|
||||
|
||||
/* import-globals-from ../../mochitest/role.js */
|
||||
loadScripts({ name: 'role.js', dir: MOCHITESTS_DIR });
|
||||
|
||||
function* testImageMap(browser, accDoc) {
|
||||
|
@ -4,8 +4,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global ROLE_TEXT_LEAF, EVENT_REORDER, ROLE_STATICTEXT, ROLE_LISTITEM */
|
||||
|
||||
/* import-globals-from ../../mochitest/role.js */
|
||||
loadScripts({ name: 'role.js', dir: MOCHITESTS_DIR });
|
||||
|
||||
function* setDisplayAndWaitForReorder(browser, value) {
|
||||
|
@ -4,9 +4,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global ROLE_TEXT_LEAF, EVENT_REORDER, ROLE_LISTITEM, ROLE_LIST,
|
||||
ROLE_STATICTEXT */
|
||||
|
||||
/* import-globals-from ../../mochitest/role.js */
|
||||
loadScripts({ name: 'role.js', dir: MOCHITESTS_DIR });
|
||||
|
||||
addAccessibleTask('<ol id="list"></ol>', function*(browser, accDoc) {
|
||||
|
@ -4,8 +4,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global EVENT_REORDER */
|
||||
|
||||
/* import-globals-from ../../mochitest/role.js */
|
||||
loadScripts({ name: 'role.js', dir: MOCHITESTS_DIR });
|
||||
|
||||
addAccessibleTask('<span id="parent"><span id="child"></span></span>',
|
||||
|
@ -4,8 +4,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global EVENT_REORDER */
|
||||
|
||||
/* import-globals-from ../../mochitest/role.js */
|
||||
loadScripts({ name: 'role.js', dir: MOCHITESTS_DIR });
|
||||
|
||||
addAccessibleTask('<select id="select"></select>', function*(browser, accDoc) {
|
||||
|
@ -4,8 +4,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global EVENT_REORDER */
|
||||
|
||||
/* import-globals-from ../../mochitest/role.js */
|
||||
loadScripts({ name: 'role.js', dir: MOCHITESTS_DIR });
|
||||
|
||||
addAccessibleTask('doc_treeupdate_removal.xhtml', function*(browser, accDoc) {
|
||||
|
@ -4,8 +4,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global EVENT_REORDER */
|
||||
|
||||
/* import-globals-from ../../mochitest/role.js */
|
||||
loadScripts({ name: 'role.js', dir: MOCHITESTS_DIR });
|
||||
|
||||
addAccessibleTask(`
|
||||
|
@ -4,8 +4,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global EVENT_REORDER, ROLE_TEXT_CONTAINER ROLE_PARAGRAPH, ROLE_TEXT_LEAF */
|
||||
|
||||
/* import-globals-from ../../mochitest/role.js */
|
||||
loadScripts({ name: 'role.js', dir: MOCHITESTS_DIR });
|
||||
|
||||
function* removeTextData(browser, accessible, id, role) {
|
||||
|
@ -4,8 +4,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global EVENT_REORDER */
|
||||
|
||||
/* import-globals-from ../../mochitest/role.js */
|
||||
loadScripts({ name: 'role.js', dir: MOCHITESTS_DIR });
|
||||
|
||||
function* testTreeOnHide(browser, accDoc, containerID, id, before, after) {
|
||||
|
@ -4,8 +4,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global EVENT_REORDER */
|
||||
|
||||
/* import-globals-from ../../mochitest/role.js */
|
||||
loadScripts({ name: 'role.js', dir: MOCHITESTS_DIR });
|
||||
|
||||
addAccessibleTask('doc_treeupdate_whitespace.html', function*(browser, accDoc) {
|
||||
|
@ -4,8 +4,9 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global nsIAccessibleEvent, nsIAccessibleDocument,
|
||||
nsIAccessibleStateChangeEvent, nsIAccessibleTextChangeEvent */
|
||||
// This is loaded by head.js, so has the same globals, hence we import the
|
||||
// globals from there.
|
||||
/* import-globals-from head.js */
|
||||
|
||||
/* exported EVENT_REORDER, EVENT_SHOW, EVENT_TEXT_INSERTED, EVENT_TEXT_REMOVED,
|
||||
EVENT_DOCUMENT_LOAD_COMPLETE, EVENT_HIDE, EVENT_TEXT_CARET_MOVED,
|
||||
|
@ -4,11 +4,10 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
/* global EVENT_DOCUMENT_LOAD_COMPLETE, CURRENT_CONTENT_DIR, loadFrameScripts */
|
||||
|
||||
/* exported addAccessibleTask */
|
||||
/* exported addAccessibleTask, findAccessibleChildByID, isDefunct */
|
||||
|
||||
// Load the shared-head file first.
|
||||
/* import-globals-from ../shared-head.js */
|
||||
Services.scriptloader.loadSubScript(
|
||||
'chrome://mochitests/content/browser/accessible/tests/browser/shared-head.js',
|
||||
this);
|
||||
@ -79,6 +78,48 @@ function addAccessibleTask(doc, task) {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if an accessible object has a defunct test.
|
||||
* @param {nsIAccessible} accessible object to test defunct state for
|
||||
* @return {Boolean} flag indicating defunct state
|
||||
*/
|
||||
function isDefunct(accessible) {
|
||||
let defunct = false;
|
||||
try {
|
||||
let extState = {};
|
||||
accessible.getState({}, extState);
|
||||
defunct = extState.value & Ci.nsIAccessibleStates.EXT_STATE_DEFUNCT;
|
||||
} catch (x) {
|
||||
defunct = true;
|
||||
} finally {
|
||||
if (defunct) {
|
||||
Logger.log(`Defunct accessible: ${prettyName(accessible)}`);
|
||||
}
|
||||
}
|
||||
return defunct;
|
||||
}
|
||||
|
||||
/**
|
||||
* Traverses the accessible tree starting from a given accessible as a root and
|
||||
* looks for an accessible that matches based on its DOMNode id.
|
||||
* @param {nsIAccessible} accessible root accessible
|
||||
* @param {String} id id to look up accessible for
|
||||
* @return {nsIAccessible?} found accessible if any
|
||||
*/
|
||||
function findAccessibleChildByID(accessible, id) {
|
||||
if (getAccessibleDOMNodeID(accessible) === id) {
|
||||
return accessible;
|
||||
}
|
||||
for (let i = 0; i < accessible.children.length; ++i) {
|
||||
let found = findAccessibleChildByID(accessible.getChildAt(i), id);
|
||||
if (found) {
|
||||
return found;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Loading and common.js from accessible/tests/mochitest/ for all tests, as
|
||||
// well as events.js.
|
||||
/* import-globals-from ../../mochitest/common.js */
|
||||
/* import-globals-from events.js */
|
||||
loadScripts({ name: 'common.js', dir: MOCHITESTS_DIR }, 'e10s/events.js');
|
||||
|
@ -33,6 +33,7 @@ function unsetE10sPrefs() {
|
||||
}
|
||||
|
||||
// Load the shared-head file first.
|
||||
/* import-globals-from shared-head.js */
|
||||
Services.scriptloader.loadSubScript(
|
||||
'chrome://mochitests/content/browser/accessible/tests/browser/shared-head.js',
|
||||
this);
|
||||
|
@ -4,8 +4,8 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
/* exported Logger, MOCHITESTS_DIR, isDefunct, invokeSetAttribute, invokeFocus,
|
||||
invokeSetStyle, findAccessibleChildByID, getAccessibleDOMNodeID,
|
||||
/* exported Logger, MOCHITESTS_DIR, invokeSetAttribute, invokeFocus,
|
||||
invokeSetStyle, getAccessibleDOMNodeID,
|
||||
CURRENT_CONTENT_DIR, loadScripts, loadFrameScripts, Cc, Cu */
|
||||
|
||||
const { interfaces: Ci, utils: Cu, classes: Cc } = Components;
|
||||
@ -77,27 +77,6 @@ let Logger = {
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Check if an accessible object has a defunct test.
|
||||
* @param {nsIAccessible} accessible object to test defunct state for
|
||||
* @return {Boolean} flag indicating defunct state
|
||||
*/
|
||||
function isDefunct(accessible) {
|
||||
let defunct = false;
|
||||
try {
|
||||
let extState = {};
|
||||
accessible.getState({}, extState);
|
||||
defunct = extState.value & Ci.nsIAccessibleStates.EXT_STATE_DEFUNCT;
|
||||
} catch (x) {
|
||||
defunct = true;
|
||||
} finally {
|
||||
if (defunct) {
|
||||
Logger.log(`Defunct accessible: ${prettyName(accessible)}`);
|
||||
}
|
||||
}
|
||||
return defunct;
|
||||
}
|
||||
|
||||
/**
|
||||
* Asynchronously set or remove content element's attribute (in content process
|
||||
* if e10s is enabled).
|
||||
@ -171,25 +150,6 @@ function invokeFocus(browser, id) {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Traverses the accessible tree starting from a given accessible as a root and
|
||||
* looks for an accessible that matches based on its DOMNode id.
|
||||
* @param {nsIAccessible} accessible root accessible
|
||||
* @param {String} id id to look up accessible for
|
||||
* @return {nsIAccessible?} found accessible if any
|
||||
*/
|
||||
function findAccessibleChildByID(accessible, id) {
|
||||
if (getAccessibleDOMNodeID(accessible) === id) {
|
||||
return accessible;
|
||||
}
|
||||
for (let i = 0; i < accessible.children.length; ++i) {
|
||||
let found = findAccessibleChildByID(accessible.getChildAt(i), id);
|
||||
if (found) {
|
||||
return found;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Load a list of scripts into the test
|
||||
* @param {Array} scripts a list of scripts to load
|
||||
|
7
accessible/tests/crashtests/.eslintrc.js
Normal file
@ -0,0 +1,7 @@
|
||||
"use strict";
|
||||
|
||||
module.exports = {
|
||||
"extends": [
|
||||
"plugin:mozilla/mochitest-test"
|
||||
],
|
||||
};
|
@ -20,13 +20,13 @@
|
||||
<script>
|
||||
function dumpAccessibleNode(aNode, level) {
|
||||
var msg = "";
|
||||
|
||||
|
||||
try {
|
||||
msg += "name=\"" + aNode.name + "\" ";
|
||||
} catch (e) {
|
||||
msg += " noName ";
|
||||
}
|
||||
|
||||
|
||||
dump(msg + '\n');
|
||||
}
|
||||
|
||||
@ -35,7 +35,7 @@ function dumpAccessibleTree(aNode, level) {
|
||||
level = level || 0;
|
||||
|
||||
dumpAccessibleNode(aNode, level);
|
||||
try {
|
||||
try {
|
||||
var child = aNode.firstChild;
|
||||
while (child) {
|
||||
dumpAccessibleTree(child, level + 1);
|
||||
@ -46,14 +46,14 @@ function dumpAccessibleTree(aNode, level) {
|
||||
}
|
||||
}
|
||||
|
||||
function A(o) {
|
||||
function A(o) {
|
||||
var acc = SpecialPowers.Cc['@mozilla.org/accessibilityService;1']
|
||||
.getService(SpecialPowers.Ci.nsIAccessibilityService);
|
||||
return acc.getAccessibleFor(o);
|
||||
}
|
||||
|
||||
function beginAccessible() {
|
||||
dumpAccessibleTree(A(document),0);
|
||||
dumpAccessibleTree(A(document), 0);
|
||||
}
|
||||
setTimeout(beginAccessible, 100);
|
||||
|
||||
@ -62,9 +62,9 @@ setTimeout(doe, 200);
|
||||
function doe() {
|
||||
document.getElementById('mw_a').appendChild(document.getElementById('mw_b'));
|
||||
document.getElementById('mw_c').appendChild(document.getElementById('mw_d'));
|
||||
document.getElementById('mw_e').appendChild(document.getElementById('mw_f'));
|
||||
document.getElementById('mw_g').appendChild(document.getElementById('mw_b'));
|
||||
document.getElementById('mw_e').appendChild(document.getElementById('mw_f'));
|
||||
document.getElementById('mw_g').appendChild(document.getElementById('mw_b'));
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
24
accessible/tests/mochitest/.eslintrc.js
Normal file
@ -0,0 +1,24 @@
|
||||
"use strict";
|
||||
|
||||
module.exports = {
|
||||
"extends": [
|
||||
"plugin:mozilla/mochitest-test"
|
||||
],
|
||||
"rules": {
|
||||
"mozilla/no-cpows-in-tests": "error",
|
||||
"mozilla/reject-importGlobalProperties": "error",
|
||||
|
||||
// XXX These are rules that are enabled in the recommended configuration, but
|
||||
// disabled here due to failures when initially implemented. They should be
|
||||
// removed (and hence enabled) at some stage.
|
||||
"comma-spacing": "off",
|
||||
"no-cond-assign": "off",
|
||||
"no-lonely-if": "off",
|
||||
"no-nested-ternary": "off",
|
||||
"no-new-object": "off",
|
||||
"no-redeclare": "off",
|
||||
"no-shadow": "off",
|
||||
"no-undef": "off",
|
||||
"space-unary-ops": "off",
|
||||
}
|
||||
};
|
@ -41,7 +41,7 @@ const XUL_EVENTS = CLICK_EVENTS | COMMAND_EVENT;
|
||||
*
|
||||
* // [optional] an array of invoker's checker objects (see eventQueue
|
||||
* // constructor events.js)
|
||||
* get eventSeq() {}
|
||||
* get eventSeq() {}
|
||||
* };
|
||||
*
|
||||
*
|
||||
@ -134,7 +134,7 @@ function actionInvoker(aAccOrElmOrId, aActionIndex, aActionName, aEventSeq)
|
||||
try {
|
||||
acc.doAction(aActionIndex);
|
||||
}
|
||||
catch (e){
|
||||
catch (e) {
|
||||
ok(false, "doAction(" + aActionIndex + ") failed with: " + e.name);
|
||||
return INVOKER_ACTION_FAILED;
|
||||
}
|
||||
|
@ -64,7 +64,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=483573
|
||||
|
||||
var audioElm = getAccessible("audio");
|
||||
var playBtn = audioElm.firstChild;
|
||||
var scrubber = playBtn.nextSibling.nextSibling.nextSibling;
|
||||
// var scrubber = playBtn.nextSibling.nextSibling.nextSibling;
|
||||
var muteBtn = audioElm.lastChild.previousSibling;
|
||||
|
||||
var actions = [
|
||||
|
@ -133,7 +133,7 @@ function editableTextTest(aID)
|
||||
}
|
||||
|
||||
this.generateTest(aID, null, [aStartPos, aEndPos, getTextFromClipboard],
|
||||
copyNPasteInvoke, getValueChecker(aID, aResStr), testID);
|
||||
copyNPasteTextInvoke, getValueChecker(aID, aResStr), testID);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -222,7 +222,6 @@ function editableTextTest(aID)
|
||||
|
||||
function getValue(aID)
|
||||
{
|
||||
var value = "";
|
||||
var elm = getNode(aID);
|
||||
if (elm instanceof Components.interfaces.nsIDOMNSEditableElement)
|
||||
return elm.value;
|
||||
@ -258,21 +257,6 @@ function editableTextTest(aID)
|
||||
return checker;
|
||||
}
|
||||
|
||||
function getValueNClipboardChecker(aID, aValue, aText)
|
||||
{
|
||||
var valueChecker = getValueChecker(aID, aValue);
|
||||
var clipboardChecker = getClipboardChecker(aID, aText);
|
||||
|
||||
var checker = {
|
||||
check: function()
|
||||
{
|
||||
valueChecker.check();
|
||||
clipboardChecker.check();
|
||||
}
|
||||
};
|
||||
return checker;
|
||||
}
|
||||
|
||||
/**
|
||||
* Process next scheduled test.
|
||||
*/
|
||||
@ -350,4 +334,3 @@ function editableTextTest(aID)
|
||||
this.mEventQueue = new eventQueue();
|
||||
this.mEventQueueReady = false;
|
||||
}
|
||||
|
||||
|
@ -29,7 +29,7 @@
|
||||
context.addHitRegion({control: element});
|
||||
|
||||
var input = getAccessible("showA");
|
||||
var [cnvX, cnvY, cnvWidth, cnvHeight] = getBoundsForDOMElm(canv);
|
||||
var [cnvX, cnvY, /*cnvWidth*/, /*cnvHeight*/] = getBoundsForDOMElm(canv);
|
||||
var [accX, accY, accWidth, accHeight] = getBounds(input);
|
||||
|
||||
var [x, y, w, h] = CSSToDevicePixels(window, kX, kY, kWidth, kHeight);
|
||||
|
@ -505,7 +505,7 @@ function eventQueue(aEventType)
|
||||
// (i.e. event types are matched, targets differs).
|
||||
if (!checker.unexpected && checker.unique &&
|
||||
eventQueue.compareEventTypes(checker, aEvent)) {
|
||||
var isExppected = false;
|
||||
var isExpected = false;
|
||||
for (var jdx = 0; jdx < eventSeq.length; jdx++) {
|
||||
isExpected = eventQueue.compareEvents(eventSeq[jdx], aEvent);
|
||||
if (isExpected)
|
||||
@ -969,7 +969,7 @@ eventQueue.logEvent = function eventQueue_logEvent(aOrigEvent, aMatchedChecker,
|
||||
|
||||
var currType = eventQueue.getEventTypeAsString(aMatchedChecker);
|
||||
var currTargetDescr = eventQueue.getEventTargetDescr(aMatchedChecker);
|
||||
var consoleMsg = "*****\nScenario " + aScenarioIdx +
|
||||
var consoleMsg = "*****\nScenario " + aScenarioIdx +
|
||||
", event " + aEventIdx + " matched: " + currType + "\n" + infoMsg + "\n*****";
|
||||
gLogger.logToConsole(consoleMsg);
|
||||
|
||||
@ -1315,8 +1315,8 @@ function synthFocus(aNodeOrID, aCheckerOrEventSeq)
|
||||
this.DOMNode.focus();
|
||||
}
|
||||
|
||||
this.getID = function synthFocus_getID()
|
||||
{
|
||||
this.getID = function synthFocus_getID()
|
||||
{
|
||||
return prettyName(aNodeOrID) + " focus";
|
||||
}
|
||||
}
|
||||
@ -1336,8 +1336,8 @@ function synthFocusOnFrame(aNodeOrID, aCheckerOrEventSeq)
|
||||
this.DOMNode.body.focus();
|
||||
}
|
||||
|
||||
this.getID = function synthFocus_getID()
|
||||
{
|
||||
this.getID = function synthFocus_getID()
|
||||
{
|
||||
return prettyName(aNodeOrID) + " frame document focus";
|
||||
}
|
||||
}
|
||||
@ -1991,7 +1991,7 @@ function selChangeSeq(aUnselectedID, aSelectedID)
|
||||
}
|
||||
|
||||
// Return two possible scenarios: depending on widget type when selection is
|
||||
// moved the the order of items that get selected and unselected may vary.
|
||||
// moved the the order of items that get selected and unselected may vary.
|
||||
return [
|
||||
[
|
||||
new stateChangeChecker(STATE_SELECTED, false, false, aUnselectedID),
|
||||
@ -2151,7 +2151,7 @@ function removeA11yEventListener(aEventType, aEventHandler)
|
||||
return false;
|
||||
|
||||
listenersArray.splice(index, 1);
|
||||
|
||||
|
||||
if (!listenersArray.length) {
|
||||
gA11yEventListeners[aEventType] = null;
|
||||
delete gA11yEventListeners[aEventType];
|
||||
@ -2270,21 +2270,19 @@ var gLogger =
|
||||
function sequenceItem(aProcessor, aEventType, aTarget, aItemID)
|
||||
{
|
||||
// private
|
||||
|
||||
|
||||
this.startProcess = function sequenceItem_startProcess()
|
||||
{
|
||||
this.queue.invoke();
|
||||
}
|
||||
|
||||
var item = this;
|
||||
|
||||
|
||||
this.queue = new eventQueue();
|
||||
this.queue.onFinish = function()
|
||||
{
|
||||
aProcessor.onProcessed();
|
||||
return DO_NOT_FINISH_TEST;
|
||||
}
|
||||
|
||||
|
||||
var invoker = {
|
||||
invoke: function invoker_invoke() {
|
||||
return aProcessor.process();
|
||||
@ -2295,7 +2293,7 @@ function sequenceItem(aProcessor, aEventType, aTarget, aItemID)
|
||||
},
|
||||
eventSeq: [ new invokerChecker(aEventType, aTarget) ]
|
||||
};
|
||||
|
||||
|
||||
this.queue.push(invoker);
|
||||
}
|
||||
|
||||
|
@ -31,9 +31,6 @@
|
||||
|
||||
this.invoke = function removeTextFromInput_invoke()
|
||||
{
|
||||
const nsIDOMNSEditableElement =
|
||||
Components.interfaces.nsIDOMNSEditableElement;
|
||||
|
||||
this.DOMNode.focus();
|
||||
this.DOMNode.setSelectionRange(aStart, aEnd);
|
||||
|
||||
@ -60,9 +57,6 @@
|
||||
|
||||
this.invoke = function removeTextFromContentEditable_invoke()
|
||||
{
|
||||
const nsIDOMNSEditableElement =
|
||||
Components.interfaces.nsIDOMNSEditableElement;
|
||||
|
||||
this.DOMNode.focus();
|
||||
this.textNode = getNode(aID).firstChild;
|
||||
var selection = window.getSelection();
|
||||
|
@ -185,9 +185,6 @@
|
||||
|
||||
this.invoke = function removeTextFromInput_invoke()
|
||||
{
|
||||
const nsIDOMNSEditableElement =
|
||||
Components.interfaces.nsIDOMNSEditableElement;
|
||||
|
||||
this.DOMNode.focus();
|
||||
this.DOMNode.setSelectionRange(aStart, aEnd);
|
||||
|
||||
|
@ -26,7 +26,6 @@ function grid(aTableIdentifier)
|
||||
|
||||
this.getCellAtIndex = function getCellAtIndex(aIndex)
|
||||
{
|
||||
var rowCount = this.getRowCount();
|
||||
var colsCount = this.getColsCount();
|
||||
|
||||
var rowIdx = Math.floor(aIndex / colsCount);
|
||||
@ -133,7 +132,7 @@ function grid(aTableIdentifier)
|
||||
{
|
||||
if (aEvent.target.localName != "td")
|
||||
return;
|
||||
|
||||
|
||||
var curCell = this.getCurrentCell();
|
||||
var cell = aEvent.target;
|
||||
|
||||
|
@ -51,7 +51,7 @@
|
||||
var hitcanvas = getAccessible("hitcanvas");
|
||||
var hitcheck = getAccessible("hitcheck");
|
||||
|
||||
var [hitX, hitY, hitWidth, hitHeight] = getBounds(hitcanvas);
|
||||
var [hitX, hitY, /*hitWidth, hitHeight */] = getBounds(hitcanvas);
|
||||
var [deltaX, deltaY] = CSSToDevicePixels(window, offsetX, offsetY);
|
||||
|
||||
var docAcc = getAccessible(document);
|
||||
|
@ -48,9 +48,8 @@ if (!MAC) {
|
||||
|
||||
// Not specific case, point is inside of btn accessible.
|
||||
var btn = getAccessible("btn");
|
||||
var btnText = btn.firstChild;
|
||||
testChildAtPoint(btn, 1, 1, btn, btn);
|
||||
|
||||
|
||||
// Not specific case, point is outside of btn accessible.
|
||||
testChildAtPoint(btn, -1, 1, null, null);
|
||||
|
||||
|
@ -72,7 +72,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=418368
|
||||
[nsIAccessibleHyperLink]);
|
||||
testThis("NormalHyperlink", normalHyperlinkAcc, ROLE_LINK, 1,
|
||||
"Mozilla Foundation", true, 17, 18);
|
||||
is(normalHyperlinkAcc.getURI(0).spec, "http://www.mozilla.org/",
|
||||
is(normalHyperlinkAcc.getURI(0).spec, "http://www.mozilla.org/",
|
||||
"URI wrong for normalHyperlinkElement!");
|
||||
testStates(normalHyperlinkAcc, STATE_LINKED, 0);
|
||||
|
||||
@ -133,7 +133,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=418368
|
||||
[nsIAccessibleHyperLink]);
|
||||
testThis("LinkWithSpan", hyperlinkWithSpanAcc, ROLE_LINK, 1,
|
||||
"Heise Online", true, 119, 120);
|
||||
is(hyperlinkWithSpanAcc.getURI(0).spec, "http://www.heise.de/",
|
||||
is(hyperlinkWithSpanAcc.getURI(0).spec, "http://www.heise.de/",
|
||||
"URI wrong for hyperlinkElementWithSpan!");
|
||||
testStates(hyperlinkWithSpanAcc, STATE_LINKED, 0);
|
||||
testAction("LinkWithSpan", hyperlinkWithSpanAcc, "jump");
|
||||
@ -168,7 +168,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=418368
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Maps to group links (bug 431615).
|
||||
var linksMapAcc = getAccessible("linksmap");
|
||||
// var linksMapAcc = getAccessible("linksmap");
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
// Link with title attribute, no name from the subtree (bug 438325).
|
||||
@ -260,13 +260,13 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=418368
|
||||
>This should never be of state_linked</a
|
||||
><br>Link with registered 'click' event: <a id="linkWithClick" onclick="var clicked = true;"
|
||||
>This should have state_linked</a
|
||||
><br>Link with title attribute (no name from subtree): <a
|
||||
><br>Link with title attribute (no name from subtree): <a
|
||||
id="linkWithTitleNoNameFromSubtree" href="http://www.heise.de/"
|
||||
title="Link with title"><img src=""/></a
|
||||
><br>Link with title attribute (name from subtree): <a
|
||||
><br>Link with title attribute (name from subtree): <a
|
||||
id="linkWithTitleNameFromSubtree" href="http://www.heise.de/"
|
||||
title="Link with title">the name from subtree</a
|
||||
><br>Link with title attribute (name from nested image): <a
|
||||
><br>Link with title attribute (name from nested image): <a
|
||||
id="linkWithTitleNameFromImg" href="http://www.heise.de/"
|
||||
title="Link with title"><img src="" alt="The title for link"/></a
|
||||
><br><br>Map that is used to group links (www.w3.org/TR/WCAG10-HTML-TECHS/#group-bypass), also see the bug 431615:<br
|
||||
|
@ -1,7 +1,5 @@
|
||||
'use strict';
|
||||
|
||||
/* global getMainChromeWindow, AccessFuTest, GestureSettings, GestureTracker,
|
||||
SimpleTest, getBoundsForDOMElm, Point, Utils */
|
||||
/* exported loadJSON, eventMap */
|
||||
|
||||
var Ci = Components.interfaces;
|
||||
|
@ -300,7 +300,6 @@
|
||||
}
|
||||
},
|
||||
action: function action() {
|
||||
var region = document.getElementById("to_replace_region");
|
||||
var child = document.getElementById("to_replace");
|
||||
child.setAttribute("role", "main");
|
||||
}
|
||||
|
@ -139,8 +139,6 @@ function testNamesForMarkupRules(aMarkupElm, aContainer)
|
||||
if (gDumpToConsole)
|
||||
dump("\nProcessing markup rules '" + testID + "'\n");
|
||||
|
||||
var serializer = new XMLSerializer();
|
||||
|
||||
var expr = "//html/body/div[@id='test']/" + aMarkupElm.getAttribute("ref");
|
||||
var elm = evaluateXPath(document, expr, htmlDocResolver)[0];
|
||||
|
||||
|
@ -115,7 +115,6 @@ function testAbsentRelation(aIdentifier, aRelType, aUnrelatedIdentifiers)
|
||||
var relation = getRelationByType(aIdentifier, aRelType);
|
||||
|
||||
var relDescr = getRelationErrorMsg(aIdentifier, aRelType);
|
||||
var relDescrStart = getRelationErrorMsg(aIdentifier, aRelType, true);
|
||||
|
||||
if (!aUnrelatedIdentifiers) {
|
||||
ok(false, "No identifiers given for unrelated accessibles.");
|
||||
|
@ -22,7 +22,7 @@
|
||||
{
|
||||
// scrollToPoint relative screen
|
||||
var anchor = getAccessible("bottom1");
|
||||
var [x, y] = getPos(anchor);
|
||||
var [x, /*y*/] = getPos(anchor);
|
||||
var [docX, docY] = getPos(document);
|
||||
|
||||
anchor.scrollToPoint(COORDTYPE_SCREEN_RELATIVE, docX, docY);
|
||||
@ -30,7 +30,7 @@
|
||||
|
||||
// scrollToPoint relative window
|
||||
anchor = getAccessible("bottom2");
|
||||
var [x, y] = getPos(anchor);
|
||||
var [x, /*y*/] = getPos(anchor);
|
||||
var wnd = getRootAccessible().DOMDocument.defaultView;
|
||||
var [screenX, screenY] = CSSToDevicePixels(wnd, wnd.screenX, wnd.screenY);
|
||||
var scrollToX = docX - screenX, scrollToY = docY - screenY;
|
||||
@ -40,7 +40,7 @@
|
||||
|
||||
// scrollToPoint relative parent
|
||||
anchor = getAccessible("bottom3");
|
||||
var [x, y] = getPos(anchor);
|
||||
var [x, /*y*/] = getPos(anchor);
|
||||
var [parentX, parentY] = getPos(anchor.parent);
|
||||
var scrollToX = parentX - docX, scrollToY = parentY - docY;
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
var paragraph = getAccessible(paragraphNode, [nsIAccessibleText]);
|
||||
var offset = 64; // beginning of 4th stanza
|
||||
|
||||
var [x, y] = getPos(paragraph);
|
||||
var [x, /*y*/] = getPos(paragraph);
|
||||
var [docX, docY] = getPos(tabDocument);
|
||||
|
||||
paragraph.scrollSubstringToPoint(offset, offset,
|
||||
@ -39,7 +39,7 @@
|
||||
paragraphNode = tabDocument.getElementById("paragraph2");
|
||||
paragraph = getAccessible(paragraphNode, [nsIAccessibleText]);
|
||||
offset = 52; // // beginning of 4th stanza
|
||||
var [x, y] = getPos(paragraph);
|
||||
var [x, /*y*/] = getPos(paragraph);
|
||||
paragraph.scrollSubstringToPoint(offset, offset,
|
||||
COORDTYPE_SCREEN_RELATIVE, docX, docY);
|
||||
testTextPos(paragraph, offset, [x, docY], COORDTYPE_SCREEN_RELATIVE);
|
||||
|
@ -52,7 +52,7 @@ function testIsItemSelected(aSelectAcc, aTraversedAcc, aIndexObj, aSelectedChild
|
||||
var childCount = aTraversedAcc.childCount;
|
||||
for (var idx = 0; idx < childCount; idx++) {
|
||||
var child = aTraversedAcc.getChildAt(idx);
|
||||
var [state, extraState] = getStates(child);
|
||||
var [state, /*extraState*/] = getStates(child);
|
||||
if (state & STATE_SELECTABLE) {
|
||||
var isSelected = false;
|
||||
var len = aSelectedChildren.length;
|
||||
|
@ -204,7 +204,7 @@ function testStatesInSubtree(aAccOrElmOrID, aState, aExtraState, aAbsentState)
|
||||
function testIsDefunct(aAccessible, aTestName)
|
||||
{
|
||||
var id = prettyName(aAccessible) + (aTestName ? " [" + aTestName + "]" : "");
|
||||
var [state, extraState] = getStates(aAccessible);
|
||||
var [/*state*/, extraState] = getStates(aAccessible);
|
||||
isState(extraState & EXT_STATE_DEFUNCT, EXT_STATE_DEFUNCT, true,
|
||||
"no defuct state for " + id + "!");
|
||||
}
|
||||
|
@ -34,7 +34,7 @@
|
||||
if (!acc)
|
||||
return;
|
||||
|
||||
var [state, extraState] = getStates(aAccOrElmOrID);
|
||||
var [state, /*extraState*/] = getStates(aAccOrElmOrID);
|
||||
if (state & STATE_UNAVAILABLE) {
|
||||
var role = getRole(acc);
|
||||
if (role != ROLE_GROUPING) {
|
||||
|
@ -16,7 +16,7 @@ const kRowHeaderCell = 2; // Indicates the cell is row header cell
|
||||
const kColHeaderCell = 4; // Indicated the cell is column header cell
|
||||
const kOrigin = kDataCell | kRowHeaderCell | kColHeaderCell;
|
||||
|
||||
const kRowSpanned = 8; // Indicates the cell is not origin and row spanned
|
||||
const kRowSpanned = 8; // Indicates the cell is not origin and row spanned
|
||||
const kColSpanned = 16; // Indicates the cell is not origin and column spanned
|
||||
const kSpanned = kRowSpanned | kColSpanned;
|
||||
|
||||
@ -417,7 +417,6 @@ function testTableSelection(aIdentifier, aCellsArray, aMsg)
|
||||
var selRows = new Array();
|
||||
|
||||
// isRowSelected test
|
||||
var selrowCount = 0;
|
||||
for (var rowIdx = 0; rowIdx < rowCount; rowIdx++) {
|
||||
var isRowSelected = true;
|
||||
for (var colIdx = 0; colIdx < colsCount; colIdx++) {
|
||||
@ -539,7 +538,6 @@ function testUnselectTableColumn(aIdentifier, aColIdx, aCellsArray)
|
||||
|
||||
var rowCount = aCellsArray.length;
|
||||
for (var rowIdx = 0; rowIdx < rowCount; rowIdx++) {
|
||||
var cellState = aCellsArray[rowIdx][aColIdx];
|
||||
// Unselect origin cell.
|
||||
var [origRowIdx, origColIdx] =
|
||||
getOrigRowAndColumn(aCellsArray, rowIdx, aColIdx);
|
||||
|
@ -50,9 +50,13 @@ function doTest()
|
||||
|
||||
is(accTable.selectedRowCount, 1, "no cells selected");
|
||||
|
||||
var columnDescription = accTable.getColumnDescription(1);
|
||||
var rowDescription = accTable.getRowDescription(1);
|
||||
|
||||
// These shouldn't throw.
|
||||
try {
|
||||
accTable.getColumnDescription(1);
|
||||
accTable.getRowDescription(1);
|
||||
} catch (ex) {
|
||||
ok(false, "getColumnDescription/getRowDescription shouldn't throw.");
|
||||
}
|
||||
SimpleTest.finish();
|
||||
}
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
|
@ -40,9 +40,9 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=441519
|
||||
// see bug 440770, no actions wanted on outer doc
|
||||
is(outerDocAcc.actionCount, 0,
|
||||
"Wrong number of actions for internal frame!");
|
||||
var actionTempStr; // not really used, just needs to receive a value
|
||||
|
||||
try {
|
||||
actionTempStr = outerDocAcc.getActionName(0);
|
||||
outerDocAcc.getActionName(0);
|
||||
do_throw("No exception thrown for actionName!");
|
||||
} catch(e) {
|
||||
ok(e.result, ns_error_invalid_arg,
|
||||
|
@ -261,8 +261,8 @@ function testWordCount(aElement, aCount, aToDoFlag)
|
||||
var offset = 0;
|
||||
var wordCount = 0;
|
||||
while (true) {
|
||||
var text = acc.getTextAtOffset(offset, BOUNDARY_WORD_START,
|
||||
startOffsetObj, endOffsetObj);
|
||||
acc.getTextAtOffset(offset, BOUNDARY_WORD_START,
|
||||
startOffsetObj, endOffsetObj);
|
||||
if (offset >= length)
|
||||
break;
|
||||
|
||||
|
@ -42,7 +42,7 @@
|
||||
|
||||
for (var idx = 0; idx < globalIds.length; idx++) {
|
||||
ok(isAccessible(globalIds[idx]),
|
||||
"Must be accessible becuase of " + "aria-" + globalIds[idx] +
|
||||
"Must be accessible becuase of aria-" + globalIds[idx] +
|
||||
" presence");
|
||||
}
|
||||
|
||||
|
@ -587,15 +587,16 @@
|
||||
];
|
||||
|
||||
this.invoke = () => {
|
||||
getNode('t9_container').src =
|
||||
`data:text/html,
|
||||
<html><body></body>
|
||||
<script>
|
||||
let el = document.createElement('div');
|
||||
el.id = 'container';
|
||||
el.innerHTML = "<input id='input'>";
|
||||
document.documentElement.appendChild(el);
|
||||
</` + `script></html>`;
|
||||
// The \ before the final /script avoids the script from being terminated
|
||||
// by the html parser.
|
||||
getNode('t9_container').src = `data:text/html,
|
||||
<html><body></body>
|
||||
<script>
|
||||
let el = document.createElement('div');
|
||||
el.id = 'container';
|
||||
el.innerHTML = "<input id='input'>";
|
||||
document.documentElement.appendChild(el);
|
||||
<\/script></html>`;
|
||||
}
|
||||
|
||||
this.finalCheck = () => {
|
||||
|
@ -68,7 +68,7 @@
|
||||
0, this.li, this.liNode, this.bullet
|
||||
);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function showProcessor()
|
||||
{
|
||||
@ -84,7 +84,7 @@
|
||||
testLiAccessibleTree();
|
||||
gSequence.processNext();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function textReplaceProcessor()
|
||||
{
|
||||
@ -106,7 +106,7 @@
|
||||
testAccessibleTree(this.liNode, tree);
|
||||
SimpleTest.finish();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
// Test
|
||||
|
@ -65,7 +65,7 @@
|
||||
{
|
||||
return "add li";
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
// Test
|
||||
|
@ -36,7 +36,6 @@
|
||||
is(acc.value, aValue, "Wrong value for " + aID + "!");
|
||||
}
|
||||
|
||||
var rootDir = getRootDirectory(window.location.href);
|
||||
var href = getRootDirectory(window.location.href) + "foo";
|
||||
|
||||
// roles that can't live as HTMLLinkAccessibles
|
||||
|
@ -259,9 +259,6 @@ const WorkerSandbox = Class({
|
||||
table: genPropDesc('table'),
|
||||
clear: genPropDesc('clear'),
|
||||
dirxml: genPropDesc('dirxml'),
|
||||
markTimeline: genPropDesc('markTimeline'),
|
||||
timeline: genPropDesc('timeline'),
|
||||
timelineEnd: genPropDesc('timelineEnd'),
|
||||
timeStamp: genPropDesc('timeStamp'),
|
||||
};
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
<?xml version="1.0"?> <!-- -*- Mode: HTML -*- -->
|
||||
<?xml version="1.0"?> <!-- -*- Mode: HTML -*- -->
|
||||
|
||||
# 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
|
||||
@ -104,7 +104,7 @@
|
||||
<label>&update.unsupported.start;</label><label id="unsupportedLink" class="text-link">&update.unsupported.linkText;</label><label>&update.unsupported.end;</label>
|
||||
</hbox>
|
||||
<hbox id="restarting" align="center">
|
||||
<label>&update.restarting;</label>
|
||||
<image class="update-throbber"/><label>&update.restarting;</label>
|
||||
</hbox>
|
||||
</deck>
|
||||
#endif
|
||||
@ -144,7 +144,7 @@
|
||||
<description id="trademark">&trademarkInfo.part1;</description>
|
||||
</vbox>
|
||||
</vbox>
|
||||
|
||||
|
||||
<keyset>
|
||||
<key keycode="VK_ESCAPE" oncommand="window.close();"/>
|
||||
</keyset>
|
||||
|
@ -358,22 +358,22 @@ body[narrow] #restorePreviousSession::before {
|
||||
display: block;
|
||||
position: relative; /* pin wordmark to edge of document, not of viewport */
|
||||
-moz-box-ordinal-group: 0;
|
||||
opacity: .5;
|
||||
opacity: .2;
|
||||
transition: opacity 150ms;
|
||||
}
|
||||
|
||||
#aboutMozilla:hover {
|
||||
opacity: 1;
|
||||
opacity: .6;
|
||||
}
|
||||
|
||||
#aboutMozilla::before {
|
||||
content: url("chrome://browser/content/abouthome/mozilla.png");
|
||||
content: url("chrome://browser/content/abouthome/mozilla.svg");
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 12px;
|
||||
right: 12px;
|
||||
width: 69px;
|
||||
height: 19px;
|
||||
width: 70px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
/* [HiDPI]
|
||||
@ -446,9 +446,5 @@ body[narrow] #restorePreviousSession::before {
|
||||
transform: scale(-0.5, 0.5) translateX(24px);
|
||||
transform-origin: top center;
|
||||
}
|
||||
|
||||
#aboutMozilla::before {
|
||||
content: url("chrome://browser/content/abouthome/mozilla@2x.png");
|
||||
}
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 2.6 KiB |
3
browser/base/content/abouthome/mozilla.svg
Normal file
@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 134 38">
|
||||
<path d="M54.2,21.8c0,3.2-1.6,5.2-4.1,5.2s-3.9-2.2-3.9-5.1,1.5-4.9,3.9-4.9S54.2,18.4,54.2,21.8Zm61.1,3.5a1.7,1.7,0,0,0,2,1.9c1.7,0,3.5-1.2,3.6-4l-2.4-.2C116.8,23,115.3,23.4,115.3,25.3ZM134,0V38H0V0ZM39.2,26.6H37V19a5.4,5.4,0,0,0-5.7-5.8,5.6,5.6,0,0,0-5.4,3.6,5.4,5.4,0,0,0-5.4-3.6,5.5,5.5,0,0,0-5.1,2.8V13.6h-7v3.6h2.2v9.4H8.4v3.6H18.6V26.6H15.4V20.8c0-2.3.9-3.9,3.2-3.9s2.8,1.1,2.8,4v9.4h7V26.6H26.2V20.8c0-2.3.9-3.9,3.2-3.9s2.8,1.1,2.8,4v9.4h7Zm19.9-4.7c0-4.6-2.9-8.7-8.9-8.7s-8.9,4-8.9,8.9,3.5,8.4,8.7,8.4S59.1,27.2,59.1,21.9Zm18.7,2.5L74,24l-.8,2.6H67.9l9.2-10.5-.4-2.5H62.1l-.6,5.8,3.4.4.7-2.6h5.2L61.8,27.7l.5,2.5H76.8Zm8.5-.1h-5v6h5Zm0-10.7h-5v6h5ZM94,30.2l7.2-25.4H96.6L89.4,30.2Zm9.7,0,7.2-25.4h-4.7L99,30.2Zm23.8-.4V27.3h-.7c-.8,0-1.1-.3-1.1-1.3V18.9c0-3.8-3-5.6-6.6-5.6a16,16,0,0,0-7.1,1.5l-.6,3.8,3.8.4.5-1.9a5.2,5.2,0,0,1,2.5-.5c2.7,0,2.7,2,2.7,3.7v.6h-2.7c-3.8,0-7.7,1-7.7,5.1s2.7,4.8,5.1,4.8a6,6,0,0,0,5.3-3.3,3.4,3.4,0,0,0,3.6,3.3A6.4,6.4,0,0,0,127.5,29.8Z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 5.5 KiB |
@ -120,8 +120,6 @@ var whitelist = new Set([
|
||||
// Bug 1339424 (wontfix?)
|
||||
{file: "chrome://browser/locale/taskbar.properties",
|
||||
platforms: ["linux", "macosx"]},
|
||||
// Bug 1320156
|
||||
{file: "chrome://browser/skin/Privacy-16.png", platforms: ["linux"]},
|
||||
// Bug 1343584
|
||||
{file: "chrome://browser/skin/click-to-play-warning-stripes.png"},
|
||||
// Bug 1343824
|
||||
@ -189,8 +187,6 @@ var whitelist = new Set([
|
||||
{file: "chrome://global/skin/icons/warning-64.png", platforms: ["linux", "win"]},
|
||||
{file: "chrome://global/skin/icons/warning-large.png", platforms: ["linux"]},
|
||||
{file: "chrome://global/skin/icons/windowControls.png", platforms: ["linux"]},
|
||||
// Bug 1348521
|
||||
{file: "chrome://global/skin/linkTree.css"},
|
||||
// Bug 1348522
|
||||
{file: "chrome://global/skin/media/clicktoplay-bgtexture.png"},
|
||||
{file: "chrome://global/skin/media/videoClickToPlayButton.svg"},
|
||||
|
@ -27,7 +27,7 @@ browser.jar:
|
||||
content/browser/abouthome/settings.png (content/abouthome/settings.png)
|
||||
content/browser/abouthome/restore.png (content/abouthome/restore.png)
|
||||
content/browser/abouthome/restore-large.png (content/abouthome/restore-large.png)
|
||||
content/browser/abouthome/mozilla.png (content/abouthome/mozilla.png)
|
||||
content/browser/abouthome/mozilla.svg (content/abouthome/mozilla.svg)
|
||||
content/browser/abouthome/snippet1@2x.png (content/abouthome/snippet1@2x.png)
|
||||
content/browser/abouthome/snippet2@2x.png (content/abouthome/snippet2@2x.png)
|
||||
content/browser/abouthome/downloads@2x.png (content/abouthome/downloads@2x.png)
|
||||
@ -38,7 +38,6 @@ browser.jar:
|
||||
content/browser/abouthome/settings@2x.png (content/abouthome/settings@2x.png)
|
||||
content/browser/abouthome/restore@2x.png (content/abouthome/restore@2x.png)
|
||||
content/browser/abouthome/restore-large@2x.png (content/abouthome/restore-large@2x.png)
|
||||
content/browser/abouthome/mozilla@2x.png (content/abouthome/mozilla@2x.png)
|
||||
|
||||
content/browser/aboutNetError.xhtml (content/aboutNetError.xhtml)
|
||||
|
||||
|
@ -155,7 +155,7 @@
|
||||
disabled="true"/>
|
||||
</hbox>
|
||||
<hbox id="restarting" align="center">
|
||||
<label>&update.restarting;</label>
|
||||
<image class="update-throbber"/><label>&update.restarting;</label>
|
||||
<spacer flex="1"/>
|
||||
<button label="&update.updateButton.label3;"
|
||||
accesskey="&update.updateButton.accesskey;"
|
||||
|
Before Width: | Height: | Size: 822 B |
@ -16,17 +16,12 @@
|
||||
%include ../shared/browser.inc.css
|
||||
|
||||
:root {
|
||||
--backbutton-urlbar-overlap: 6px;
|
||||
--backbutton-border-color: var(--urlbar-border-color-hover);
|
||||
--backbutton-background: rgba(255,255,255,.15);
|
||||
|
||||
/* icon width + border + horizontal padding (without the overlap from backbutton-urlbar-overlap) */
|
||||
--forwardbutton-width: 25px;
|
||||
|
||||
--toolbarbutton-border-radius: 1px;
|
||||
|
||||
--toolbarbutton-vertical-inner-padding: 2px;
|
||||
--toolbarbutton-vertical-text-padding: var(--toolbarbutton-vertical-inner-padding);
|
||||
--toolbarbutton-vertical-text-padding: calc(var(--toolbarbutton-vertical-inner-padding) - 1px);
|
||||
|
||||
--toolbarbutton-hover-background: rgba(255,255,255,.5) linear-gradient(rgba(255,255,255,.5), transparent);
|
||||
--toolbarbutton-hover-bordercolor: rgba(0,0,0,.25);
|
||||
|
@ -29,9 +29,9 @@
|
||||
background: var(--downloads-indicator-image) center no-repeat;
|
||||
-moz-context-properties: fill;
|
||||
fill: var(--toolbarbutton-icon-fill);
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
background-size: 18px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background-size: 16px;
|
||||
}
|
||||
|
||||
toolbar[brighttext] #downloads-button[cui-areatype="toolbar"]:not([attention="success"]) > #downloads-indicator-anchor > #downloads-indicator-icon {
|
||||
|
@ -25,7 +25,6 @@ browser.jar:
|
||||
* skin/classic/browser/pageInfo.css
|
||||
skin/classic/browser/pageInfo.png
|
||||
skin/classic/browser/page-livemarks.png
|
||||
skin/classic/browser/Privacy-16.png
|
||||
skin/classic/browser/privatebrowsing-mask.png
|
||||
skin/classic/browser/reload-stop-go.png
|
||||
skin/classic/browser/reload-stop-go@2x.png
|
||||
|
Before Width: | Height: | Size: 852 B |
@ -18,16 +18,11 @@
|
||||
--space-above-tabbar: 9px;
|
||||
--tabs-toolbar-color: #333;
|
||||
|
||||
--backbutton-urlbar-overlap: 6px;
|
||||
--backbutton-border-color: rgba(0,0,0,0.2);
|
||||
--backbutton-background: linear-gradient(rgba(255,255,255,0.9),
|
||||
rgba(255,255,255,0.7)) repeat-x;
|
||||
|
||||
/* icon width + border + horizontal padding (without the overlap from backbutton-urlbar-overlap) */
|
||||
--forwardbutton-width: 26px;
|
||||
|
||||
--toolbarbutton-vertical-inner-padding: 2px;
|
||||
--toolbarbutton-vertical-text-padding: 4px;
|
||||
--toolbarbutton-vertical-text-padding: calc(var(--toolbarbutton-vertical-inner-padding) + 1px);
|
||||
|
||||
--toolbarbutton-border-radius: 3px;
|
||||
|
||||
|
@ -7,8 +7,8 @@
|
||||
/*** Status and progress indicator ***/
|
||||
|
||||
#downloads-indicator-anchor {
|
||||
min-width: 18px;
|
||||
min-height: 18px;
|
||||
min-width: 16px;
|
||||
min-height: 16px;
|
||||
}
|
||||
|
||||
#downloads-animation-container {
|
||||
@ -34,7 +34,7 @@
|
||||
background: var(--downloads-indicator-image) center no-repeat;
|
||||
-moz-context-properties: fill;
|
||||
fill: var(--toolbarbutton-icon-fill);
|
||||
background-size: 18px;
|
||||
background-size: 16px;
|
||||
}
|
||||
|
||||
toolbar[brighttext] #downloads-indicator-icon {
|
||||
|
@ -6,8 +6,8 @@
|
||||
background: var(--downloads-indicator-image) bottom no-repeat;
|
||||
-moz-context-properties: fill;
|
||||
fill: var(--toolbarbutton-icon-fill-attention);
|
||||
background-size: 18px;
|
||||
margin-top: 18px;
|
||||
background-size: 16px;
|
||||
margin-top: 16px;
|
||||
/* From javascript side we use animation delay from 0s to -100s to show
|
||||
* corresponding frames needed for progress.
|
||||
* animation-delay is set to a positive value to make nothing shown.
|
||||
|
@ -1,6 +1,6 @@
|
||||
<!-- 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/. -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
|
||||
<path fill="context-fill" d="M12,17c0.5,0,1-0.5,1-1v-4c0,0,0.2-0.8,0.8-0.8c0.6,0,0.6,0.8,1.8,0.8 c0.6,0,1.5-0.2,1.5-2c0-1.8-0.9-2-1.5-2c-1.1,0-1.2,0.8-1.8,0.8C13.2,8.8,13,8,13,8V6c0-0.6-0.4-1-1-1H9c0,0-0.8-0.1-0.8-0.8 S9,3.6,9,2.5C9,1.9,8.8,1,7,1S5,1.9,5,2.5c0,1.1,0.8,1.2,0.8,1.8S5,5,5,5H2C1.4,5,1,5.4,1,6l0,2.5c0,0-0.1,1.5,1.1,1.5 c0.8,0,0.9-1,1.9-1c0.5,0,1,0.5,1,1.6c0,1-0.5,1.6-1,1.6c-1,0-1.1-1-1.9-1C0.9,11,1,12.5,1,12.5L1,16c0,0.6,0.4,1,1,1h3.9 c0,0,1.5,0.1,1.5-1.1c0-0.8-1-0.9-1-1.9c0-0.5,0.7-1.2,1.8-1.2s1.9,0.7,1.9,1.2c0,1-1,1.1-1,1.9c0,1.2,1.5,1.1,1.5,1.1H12z" />
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<path fill="context-fill" d="M11 16a1.075 1.075 0 0 0 1-1v-4s.2-.8.8-.8.6.8 1.8.8c.6 0 1.5-.2 1.5-2s-.9-2-1.5-2c-1.1 0-1.2.8-1.8.8S12 7 12 7V5a.945.945 0 0 0-1-1H8s-.8-.1-.8-.8.8-.6.8-1.7C8 .9 7.8 0 6 0S4 .9 4 1.5c0 1.1.8 1.2.8 1.8S4 4 4 4H1a.945.945 0 0 0-1 1v2.5S-.1 9 1.1 9C1.9 9 2 8 3 8c.5 0 1 .5 1 1.6 0 1-.5 1.6-1 1.6-1 0-1.1-1-1.9-1C-.1 10 0 11.5 0 11.5V15a.945.945 0 0 0 1 1h3.9s1.5.1 1.5-1.1c0-.8-1-.9-1-1.9 0-.5.7-1.2 1.8-1.2s1.9.7 1.9 1.2c0 1-1 1.1-1 1.9 0 1.2 1.5 1.1 1.5 1.1z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 879 B After Width: | Height: | Size: 797 B |
@ -1,6 +1,6 @@
|
||||
<!-- 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/. -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
|
||||
<path fill="context-fill" d="M15,11H8.8l2.8,2.8 c0.4,0.4,0.5,1.1,0.2,1.4l-1.2,1.2c-0.3,0.3-1,0.3-1.4-0.2L2.8,9.9c0,0-0.4-0.5-0.4-0.9c0-0.4,0.4-0.8,0.4-0.8l6.4-6.4 c0.4-0.4,1.1-0.5,1.4-0.2l1.2,1.2c0.3,0.3,0.3,1-0.2,1.4L8.9,7H15c0.6,0,1,0.4,1,1v2C16,10.6,15.6,11,15,11z" />
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<path fill="context-fill" d="M14 6H6.5l3-3a.967.967 0 0 0 0-1.4L8.7.7a.967.967 0 0 0-1.4 0L.7 7.3a.967.967 0 0 0 0 1.4l6.6 6.6a.967.967 0 0 0 1.4 0l.8-.8a.965.965 0 0 0 0-1.4l-3-3.1H14c.6 0 1-.2 1-.8V7a.945.945 0 0 0-1-1z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 577 B After Width: | Height: | Size: 530 B |
@ -1,6 +1,6 @@
|
||||
<!-- 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/. -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
|
||||
<path fill="context-fill" d="M14,11H9.2l1.9,1.9c0.5,0.5,0.6,1.2,0.2,1.6 l-0.8,0.9c-0.4,0.4-1.1,0.3-1.6-0.2L3.5,9.7C3.4,9.7,3.2,9.3,3.1,9c0-0.3,0.3-0.6,0.4-0.7l5.3-5.4c0.5-0.5,1.2-0.6,1.6-0.2l0.8,0.9 C11.6,4,11.5,4.7,11,5.2L9.2,7H14c0.6,0,1,0.4,1,1v2C15,10.6,14.6,11,14,11z" />
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<path fill="context-fill" d="M13 6H8.2l2-2a.967.967 0 0 0 0-1.4l-.8-.9a.967.967 0 0 0-1.4 0L2.4 7.3a.967.967 0 0 0 0 1.4L8 14.3a.967.967 0 0 0 1.4 0l.8-.8a.965.965 0 0 0 0-1.4l-2-2.1H13c.6 0 1-.2 1-.8V7a.945.945 0 0 0-1-1z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 582 B After Width: | Height: | Size: 531 B |
@ -1,6 +1,6 @@
|
||||
<!-- 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/. -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
|
||||
<path fill="context-fill" d="M9,4.6l1,2l0.5,0.9l1,0.2l2.3,0.4l-1.7,1.8l-0.7,0.7l0.1,1l0.4,2.4l-2-1L9,12.5 L8.1,13l-2,1l0.4-2.4l0.1-1L5.9,9.9L4.2,8.1l2.4-0.4l1-0.2L8,6.6L9,4.6 M9,1C8.7,1,8.4,1.2,8.2,1.7l-2,4.1L1.9,6.5 c-1,0.2-1.2,0.9-0.5,1.6l3.1,3.3l-0.7,4.6C3.7,16.6,4,17,4.5,17c0.2,0,0.4-0.1,0.6-0.2L9,14.7l3.9,2.1c0.2,0.1,0.5,0.2,0.6,0.2 c0.5,0,0.8-0.4,0.7-1.1l-0.7-4.6l3.1-3.3c0.7-0.7,0.4-1.4-0.5-1.6l-4.3-0.7l-2-4.1C9.6,1.2,9.3,1,9,1L9,1z" />
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<path fill="context-fill" d="M8 3.6l1 2 .5.9 1 .2 2.3.4-1.7 1.8-.7.7.1 1 .4 2.4-2-1-.9-.5-.9.5-2 1 .4-2.4.1-1-.7-.7-1.7-1.8 2.4-.4 1-.2.4-.9 1-2M8 0c-.3 0-.6.2-.8.7l-2 4.1-4.3.7c-1 .2-1.2.9-.5 1.6l3.1 3.3-.7 4.6c-.1.6.2 1 .7 1a1.421 1.421 0 0 0 .6-.2L8 13.7l3.9 2.1a2.073 2.073 0 0 0 .6.2c.5 0 .8-.4.7-1.1l-.7-4.6L15.6 7c.7-.7.4-1.4-.5-1.6l-4.3-.7-2-4.1A.938.938 0 0 0 8 0z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 752 B After Width: | Height: | Size: 682 B |
@ -1,6 +1,6 @@
|
||||
<!-- 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/. -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
|
||||
<path fill="context-fill" d="M9,1c-.3,0-.6.2-.8.7l-2,4.1-4.3.7c-1,.2-1.2.9-.5,1.6l3.1,3.3L3.8,16c-.1.6.2,1,.7,1l.6-.2L9,14.7l3.9,2.1.6.2c.5,0,.8-.4.7-1.1l-.7-4.6L16.6,8c.7-.7.4-1.4-.5-1.6l-4.3-.7-2-4.1A.9.9,0,0,0,9,1Z" />
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<path fill="context-fill" d="M8.014 0c-.3 0-.6.2-.8.7l-2 4.1-4.3.7c-1 .2-1.2.9-.5 1.6l3.1 3.3-.7 4.6c-.1.6.2 1 .7 1l.6-.2 3.9-2.1 3.9 2.1.6.2c.5 0 .8-.4.7-1.1l-.7-4.6 3.1-3.3c.7-.7.4-1.4-.5-1.6l-4.3-.7-2-4.1a.9.9 0 0 0-.8-.6z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 527 B After Width: | Height: | Size: 534 B |
@ -1,6 +1,6 @@
|
||||
<!-- 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/. -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
|
||||
<path fill="context-fill" d="M14,16H4c-1.1,0-2-0.9-2-2V6 c0-1.1,0.9-2,2-2h2l3-3l3,3h2c1.1,0,2,0.9,2,2v8C16,15.1,15.1,16,14,16z M5,6C4.4,6,4,6.4,4,7s0.4,1,1,1s1-0.4,1-1S5.6,6,5,6z M5,9 c-0.6,0-1,0.4-1,1s0.4,1,1,1s1-0.4,1-1S5.6,9,5,9z M5,12c-0.6,0-1,0.4-1,1s0.4,1,1,1s1-0.4,1-1S5.6,12,5,12z M14,6H7v2h7V6z M14,9H7 v2h7V9z M14,12H7v2h7V12z" />
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<path fill="context-fill" d="M13 15H3a2.006 2.006 0 0 1-2-2V5a2.006 2.006 0 0 1 2-2h2l3-3 3 3h2a2.006 2.006 0 0 1 2 2v8a2.006 2.006 0 0 1-2 2zM4 5a.945.945 0 0 0-1 1 .945.945 0 0 0 1 1 .945.945 0 0 0 1-1 .945.945 0 0 0-1-1zm0 3a.945.945 0 0 0-1 1 .945.945 0 0 0 1 1 .945.945 0 0 0 1-1 .945.945 0 0 0-1-1zm0 3a1 1 0 0 0 0 2 1 1 0 0 0 0-2zm9-6H6v2h7zm0 3H6v2h7zm0 3H6v2h7z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 646 B After Width: | Height: | Size: 679 B |
@ -1,6 +1,6 @@
|
||||
<!-- 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/. -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
|
||||
<path fill="context-fill" d="M14,16H4c-1.1,0-2-0.9-2-2V4 c0-1.1,0.9-2,2-2h10c1.1,0,2,0.9,2,2v10C16,15.1,15.1,16,14,16z M14,6c0-1.7-1.3-3-3-3H7C5.3,3,4,4.3,4,6v4c0,1.7,1.3,3,3,3h4 c1.7,0,3-0.3,3-2V6z M11,9.2c0.3,0,0.6,0,0.9-0.1c0.3-0.1,0.5-0.2,0.8-0.3v0.8c-0.3,0.1-0.6,0.2-0.8,0.3C11.7,10,11.4,10,11,10 c-1,0-1.7-0.4-2.1-1.2C8.6,9.2,8.3,9.5,8,9.7C7.6,9.9,7.2,10,6.8,10c-0.6,0-1-0.2-1.3-0.5C5.1,9.3,5,8.8,5,8.3c0-0.6,0.2-1,0.6-1.3 c0.4-0.3,1.1-0.5,1.9-0.5l0.9,0V6.1c0-0.5-0.1-0.8-0.3-1C8,4.8,7.7,4.7,7.3,4.7c-0.5,0-1,0.1-1.6,0.4L5.5,4.5C5.7,4.4,6,4.2,6.4,4.1 C6.7,4.1,7,4,7.4,4c0.4,0,0.8,0.1,1.1,0.2C8.7,4.4,9,4.6,9.1,5c0.2-0.3,0.4-0.6,0.7-0.7c0.3-0.2,0.6-0.3,1-0.3 c0.7,0,1.2,0.2,1.6,0.7C12.8,5.2,13,5.8,13,6.6v0.6H9.4C9.4,8.6,10,9.2,11,9.2z M8.5,7.1l-0.8,0C7,7.1,6.6,7.2,6.3,7.4 C6,7.6,5.9,7.9,5.9,8.3c0,0.3,0.1,0.6,0.3,0.7c0.2,0.2,0.4,0.2,0.7,0.2c0.5,0,0.9-0.1,1.2-0.4c0.3-0.3,0.4-0.7,0.4-1.3V7.1z M12.1,6.5c0-0.6-0.1-1-0.3-1.3c-0.2-0.3-0.5-0.4-0.9-0.4c-0.4,0-0.7,0.1-1,0.4C9.6,5.5,9.5,5.9,9.4,6.5H12.1z" />
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16">
|
||||
<path fill="context-fill" d="M13 15H3a2.006 2.006 0 0 1-2-2V3a2.006 2.006 0 0 1 2-2h10a2.006 2.006 0 0 1 2 2v10a2.006 2.006 0 0 1-2 2zm0-10a2.946 2.946 0 0 0-3-3H6a2.946 2.946 0 0 0-3 3v4a2.946 2.946 0 0 0 3 3h4c1.7 0 3-.3 3-2zm-3 3.2a2.769 2.769 0 0 0 .9-.1c.3-.1.5-.2.8-.3v.8a6.89 6.89 0 0 0-.8.3 2.22 2.22 0 0 1-.9.1 2.149 2.149 0 0 1-2.1-1.2 3.819 3.819 0 0 1-.9.9 2.663 2.663 0 0 1-1.2.3 1.728 1.728 0 0 1-1.3-.5A1.248 1.248 0 0 1 4 7.3 1.486 1.486 0 0 1 4.6 6a3.312 3.312 0 0 1 1.9-.5h.9v-.4a1.327 1.327 0 0 0-.3-1c-.1-.3-.4-.4-.8-.4a3.429 3.429 0 0 0-1.6.4l-.2-.6a3.919 3.919 0 0 1 .9-.4c.3 0 .6-.1 1-.1a3.6 3.6 0 0 1 1.1.2 1.7 1.7 0 0 1 .6.8 1.575 1.575 0 0 1 .7-.7 1.689 1.689 0 0 1 1-.3 1.865 1.865 0 0 1 1.6.7 2.883 2.883 0 0 1 .6 1.9v.6H8.4c0 1.4.6 2 1.6 2zM7.5 6.1h-.8a2.42 2.42 0 0 0-1.4.3.975.975 0 0 0-.4.9.779.779 0 0 0 .3.7.844.844 0 0 0 .7.2 1.594 1.594 0 0 0 1.2-.4 1.7 1.7 0 0 0 .4-1.3zm3.6-.6a2.269 2.269 0 0 0-.3-1.3.975.975 0 0 0-.9-.4 1.284 1.284 0 0 0-1 .4 2.226 2.226 0 0 0-.5 1.3z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |