mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-01 17:23:59 +00:00
Merge mozilla-central to mozilla-inbound
This commit is contained in:
commit
8c454e1c69
@ -132,23 +132,25 @@ const Frame = Class({
|
||||
extends: EventTarget,
|
||||
setup: function(contentFrame) {
|
||||
// This ID should be unique for this loader across all processes
|
||||
ns(this).id = runtime.processID + ":" + FRAME_ID++;
|
||||
let priv = ns(this);
|
||||
|
||||
ns(this).contentFrame = contentFrame;
|
||||
ns(this).messageManager = contentFrame;
|
||||
ns(this).domListeners = [];
|
||||
priv.id = runtime.processID + ":" + FRAME_ID++;
|
||||
|
||||
priv.contentFrame = contentFrame;
|
||||
priv.messageManager = contentFrame;
|
||||
priv.domListeners = [];
|
||||
|
||||
tabMap.set(contentFrame.docShell, this);
|
||||
|
||||
ns(this).messageReceived = messageReceived.bind(this);
|
||||
ns(this).messageManager.addMessageListener('sdk/remote/frame/message', ns(this).messageReceived);
|
||||
priv.messageReceived = messageReceived.bind(this);
|
||||
priv.messageManager.addMessageListener('sdk/remote/frame/message', priv.messageReceived);
|
||||
|
||||
this.port = new EventTarget();
|
||||
definePort(this, 'sdk/remote/frame/message');
|
||||
|
||||
ns(this).messageManager.sendAsyncMessage('sdk/remote/frame/attach', {
|
||||
priv.messageManager.sendAsyncMessage('sdk/remote/frame/attach', {
|
||||
loaderID,
|
||||
frameID: ns(this).id,
|
||||
frameID: priv.id,
|
||||
processID: runtime.processID
|
||||
});
|
||||
|
||||
@ -156,14 +158,16 @@ const Frame = Class({
|
||||
},
|
||||
|
||||
dispose: function() {
|
||||
let priv = ns(this);
|
||||
|
||||
emit(this, 'detach', this);
|
||||
|
||||
for (let listener of ns(this).domListeners)
|
||||
ns(this).contentFrame.removeEventListener(...listener.args);
|
||||
for (let listener of priv.domListeners)
|
||||
priv.contentFrame.removeEventListener(...listener.args);
|
||||
|
||||
ns(this).messageManager.removeMessageListener('sdk/remote/frame/message', ns(this).messageReceived);
|
||||
tabMap.delete(ns(this).contentFrame.docShell);
|
||||
ns(this).contentFrame = null;
|
||||
priv.messageManager.removeMessageListener('sdk/remote/frame/message', priv.messageReceived);
|
||||
tabMap.delete(priv.contentFrame.docShell);
|
||||
priv.contentFrame = null;
|
||||
},
|
||||
|
||||
get content() {
|
||||
@ -191,23 +195,27 @@ const Frame = Class({
|
||||
},
|
||||
|
||||
addEventListener: function(...args) {
|
||||
let priv = ns(this);
|
||||
|
||||
let listener = listenerFor(...args);
|
||||
if (arrayContainsListener(ns(this).domListeners, listener))
|
||||
if (arrayContainsListener(priv.domListeners, listener))
|
||||
return;
|
||||
|
||||
listener.registeredCallback = makeFrameEventListener(this, listener.callback);
|
||||
|
||||
ns(this).domListeners.push(listener);
|
||||
ns(this).contentFrame.addEventListener(...listener.args);
|
||||
priv.domListeners.push(listener);
|
||||
priv.contentFrame.addEventListener(...listener.args);
|
||||
},
|
||||
|
||||
removeEventListener: function(...args) {
|
||||
let listener = getListenerFromArray(ns(this).domListeners, listenerFor(...args));
|
||||
let priv = ns(this);
|
||||
|
||||
let listener = getListenerFromArray(priv.domListeners, listenerFor(...args));
|
||||
if (!listener)
|
||||
return;
|
||||
|
||||
removeListenerFromArray(ns(this).domListeners, listener);
|
||||
ns(this).contentFrame.removeEventListener(...listener.args);
|
||||
removeListenerFromArray(priv.domListeners, listener);
|
||||
priv.contentFrame.removeEventListener(...listener.args);
|
||||
}
|
||||
});
|
||||
|
||||
@ -233,12 +241,10 @@ const FrameList = Class({
|
||||
},
|
||||
|
||||
getFrameForWindow: function(window) {
|
||||
for (let frame of this) {
|
||||
if (frame.content == window)
|
||||
return frame;
|
||||
}
|
||||
let docShell = window.QueryInterface(Ci.nsIInterfaceRequestor)
|
||||
.getInterface(Ci.nsIDocShell);
|
||||
|
||||
return null;
|
||||
return tabMap.get(docShell) || null;
|
||||
},
|
||||
|
||||
addEventListener: function(...args) {
|
||||
|
@ -360,10 +360,13 @@ this.ExtensionsUI = {
|
||||
callback: resolve,
|
||||
};
|
||||
|
||||
let icon = addon.isWebExtension ?
|
||||
addon.iconURL || DEFAULT_EXTENSION_ICON :
|
||||
"chrome://browser/skin/addons/addon-install-installed.svg";
|
||||
let options = {
|
||||
hideClose: true,
|
||||
timeout: Date.now() + 30000,
|
||||
popupIconURL: addon.iconURL || DEFAULT_EXTENSION_ICON,
|
||||
popupIconURL: icon,
|
||||
eventCallback(topic) {
|
||||
if (topic == "showing") {
|
||||
let doc = this.browser.ownerDocument;
|
||||
|
@ -23,18 +23,24 @@ def rustc_info(rustc):
|
||||
@checking('cargo version', lambda info: info.version)
|
||||
@imports('re')
|
||||
def cargo_info(cargo):
|
||||
# |cargo --version| doesn't have pleasant-to-parse output like rustc
|
||||
# does. So we have to resort to regexes.
|
||||
out = check_cmd_output(cargo, '--version').splitlines()[0]
|
||||
VERSION_FORMAT = r'^cargo (\d\.\d+\.\d+).*'
|
||||
out = check_cmd_output(cargo, '--version', '--verbose').splitlines()
|
||||
info = dict((s.strip() for s in line.split(':', 1)) for line in out[1:])
|
||||
version = info.get('release')
|
||||
# Older versions of cargo didn't support --verbose, in which case, they
|
||||
# only output a not-really-pleasant-to-parse output. Fortunately, they
|
||||
# don't error out, so we can just try some regexp matching on the output
|
||||
# we already got.
|
||||
if version is None:
|
||||
VERSION_FORMAT = r'^cargo (\d\.\d+\.\d+).*'
|
||||
|
||||
m = re.search(VERSION_FORMAT, out)
|
||||
# Fail fast if cargo changes its output on us.
|
||||
if not m:
|
||||
die('Could not determine cargo version from output: %s', out)
|
||||
m = re.search(VERSION_FORMAT, out[0])
|
||||
# Fail fast if cargo changes its output on us.
|
||||
if not m:
|
||||
die('Could not determine cargo version from output: %s', out)
|
||||
version = m.group(1)
|
||||
|
||||
return namespace(
|
||||
version=Version(m.group(1)),
|
||||
version=Version(version),
|
||||
)
|
||||
|
||||
@depends_if(cargo)
|
||||
|
@ -12,19 +12,19 @@
|
||||
<body class="theme-sidebar devtools-monospace" role="application" empty="true">
|
||||
<div id="global-toolbar" class="theme-toolbar">
|
||||
<span id="all-animations-label" class="label"></span>
|
||||
<button id="toggle-all" standalone="true" class="devtools-button pause-button"></button>
|
||||
<button id="toggle-all" class="devtools-button pause-button"></button>
|
||||
</div>
|
||||
<div id="timeline-toolbar" class="theme-toolbar">
|
||||
<button id="rewind-timeline" standalone="true" class="devtools-button"></button>
|
||||
<button id="pause-resume-timeline" standalone="true" class="devtools-button pause-button paused"></button>
|
||||
<span id="timeline-rate" standalone="true" class="devtools-button"></span>
|
||||
<button id="rewind-timeline" class="devtools-button"></button>
|
||||
<button id="pause-resume-timeline" class="devtools-button pause-button paused"></button>
|
||||
<span id="timeline-rate" class="devtools-button"></span>
|
||||
<span id="timeline-current-time" class="label"></span>
|
||||
</div>
|
||||
<div id="players"></div>
|
||||
<div id="error-message">
|
||||
<p id="error-type"></p>
|
||||
<p id="error-hint"></p>
|
||||
<button id="element-picker" standalone="true" class="devtools-button"></button>
|
||||
<button id="element-picker" data-standalone="true" class="devtools-button"></button>
|
||||
</div>
|
||||
<script type="application/javascript;version=1.8" src="animation-controller.js"></script>
|
||||
<script type="application/javascript;version=1.8" src="animation-panel.js"></script>
|
||||
|
@ -200,11 +200,11 @@ var AnimationsPanel = {
|
||||
},
|
||||
|
||||
onPickerStarted: function () {
|
||||
this.pickerButtonEl.setAttribute("checked", "true");
|
||||
this.pickerButtonEl.classList.add("checked");
|
||||
},
|
||||
|
||||
onPickerStopped: function () {
|
||||
this.pickerButtonEl.removeAttribute("checked");
|
||||
this.pickerButtonEl.classList.remove("checked");
|
||||
},
|
||||
|
||||
onToggleAllClicked: function () {
|
||||
|
@ -1455,7 +1455,7 @@ Inspector.prototype = {
|
||||
},
|
||||
|
||||
onEyeDropperButtonClicked: function () {
|
||||
this.eyeDropperButton.hasAttribute("checked")
|
||||
this.eyeDropperButton.classList.contains("checked")
|
||||
? this.hideEyeDropper()
|
||||
: this.showEyeDropper();
|
||||
},
|
||||
@ -1473,7 +1473,7 @@ Inspector.prototype = {
|
||||
},
|
||||
|
||||
onEyeDropperDone: function () {
|
||||
this.eyeDropperButton.removeAttribute("checked");
|
||||
this.eyeDropperButton.classList.remove("checked");
|
||||
this.stopEyeDropperListeners();
|
||||
},
|
||||
|
||||
@ -1489,7 +1489,7 @@ Inspector.prototype = {
|
||||
}
|
||||
|
||||
this.telemetry.toolOpened("toolbareyedropper");
|
||||
this.eyeDropperButton.setAttribute("checked", "true");
|
||||
this.eyeDropperButton.classList.add("checked");
|
||||
this.startEyeDropperListeners();
|
||||
return this.inspector.pickColorFromPage(this.toolbox, {copyOnSelect: true})
|
||||
.catch(e => console.error(e));
|
||||
@ -1506,7 +1506,7 @@ Inspector.prototype = {
|
||||
return null;
|
||||
}
|
||||
|
||||
this.eyeDropperButton.removeAttribute("checked");
|
||||
this.eyeDropperButton.classList.remove("checked");
|
||||
this.stopEyeDropperListeners();
|
||||
return this.inspector.cancelPickColorFromPage()
|
||||
.catch(e => console.error(e));
|
||||
|
@ -1372,12 +1372,12 @@ CssRuleView.prototype = {
|
||||
*/
|
||||
_onTogglePseudoClassPanel: function () {
|
||||
if (this.pseudoClassPanel.hidden) {
|
||||
this.pseudoClassToggle.setAttribute("checked", "true");
|
||||
this.pseudoClassToggle.classList.add("checked");
|
||||
this.hoverCheckbox.setAttribute("tabindex", "0");
|
||||
this.activeCheckbox.setAttribute("tabindex", "0");
|
||||
this.focusCheckbox.setAttribute("tabindex", "0");
|
||||
} else {
|
||||
this.pseudoClassToggle.removeAttribute("checked");
|
||||
this.pseudoClassToggle.classList.remove("checked");
|
||||
this.hoverCheckbox.setAttribute("tabindex", "-1");
|
||||
this.activeCheckbox.setAttribute("tabindex", "-1");
|
||||
this.focusCheckbox.setAttribute("tabindex", "-1");
|
||||
|
@ -230,10 +230,9 @@ module.exports = createClass({
|
||||
_renderInitial(onSnapshotClick) {
|
||||
return this._renderHeapView("initial", dom.button(
|
||||
{
|
||||
className: "devtools-toolbarbutton take-snapshot",
|
||||
className: "devtools-button take-snapshot",
|
||||
onClick: onSnapshotClick,
|
||||
"data-standalone": true,
|
||||
"data-text-only": true,
|
||||
},
|
||||
L10N.getStr("take-snapshot")
|
||||
));
|
||||
|
@ -271,7 +271,7 @@ module.exports = createClass({
|
||||
dom.button(
|
||||
{
|
||||
id: "import-snapshot",
|
||||
className: "devtools-toolbarbutton import-snapshot devtools-button",
|
||||
className: "import-snapshot devtools-button",
|
||||
onClick: onImportClick,
|
||||
title: L10N.getStr("import-snapshot"),
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ const RequestListEmptyNotice = createClass({
|
||||
button(
|
||||
{
|
||||
id: "requests-menu-reload-notice-button",
|
||||
className: "devtools-toolbarbutton",
|
||||
className: "devtools-button",
|
||||
"data-standalone": true,
|
||||
onClick: this.props.onReloadClick,
|
||||
},
|
||||
|
@ -66,7 +66,7 @@ function Toolbar({
|
||||
.replace("#4", getTimeWithDecimals(millis / 1000));
|
||||
|
||||
const buttons = requestFilterTypes.entrySeq().map(([type, checked]) => {
|
||||
let classList = ["menu-filter-button"];
|
||||
let classList = ["devtools-button"];
|
||||
checked && classList.push("checked");
|
||||
|
||||
return (
|
||||
|
@ -24,7 +24,7 @@ const Rep = createFactory(REPS.Rep);
|
||||
// Components
|
||||
const PropertiesView = createFactory(require("./properties-view"));
|
||||
|
||||
const { a, div, input, textarea } = DOM;
|
||||
const { a, button, div, input, textarea } = DOM;
|
||||
const EDIT_AND_RESEND = L10N.getStr("netmonitor.summary.editAndResend");
|
||||
const RAW_HEADERS = L10N.getStr("netmonitor.summary.rawHeaders");
|
||||
const RAW_HEADERS_REQUEST = L10N.getStr("netmonitor.summary.rawHeaders.requestHeaders");
|
||||
@ -162,18 +162,14 @@ const HeadersPanel = createClass({
|
||||
readOnly: true,
|
||||
value: `${status} ${statusText}`,
|
||||
}),
|
||||
NetMonitorController.supportsCustomRequest && input({
|
||||
className: "tool-button",
|
||||
NetMonitorController.supportsCustomRequest && button({
|
||||
className: "devtools-button",
|
||||
onClick: cloneSelectedRequest,
|
||||
type: "button",
|
||||
value: EDIT_AND_RESEND,
|
||||
}),
|
||||
input({
|
||||
className: "tool-button",
|
||||
}, EDIT_AND_RESEND),
|
||||
button({
|
||||
className: "devtools-button",
|
||||
onClick: this.toggleRawHeaders,
|
||||
type: "button",
|
||||
value: RAW_HEADERS,
|
||||
}),
|
||||
}, RAW_HEADERS),
|
||||
)
|
||||
);
|
||||
}
|
||||
|
@ -30,13 +30,13 @@ add_task(function* () {
|
||||
|
||||
wait = waitForDOM(document, ".raw-headers-container textarea", 2);
|
||||
EventUtils.sendMouseEvent({ type: "click" },
|
||||
document.querySelectorAll(".headers-summary .tool-button")[1]);
|
||||
document.querySelectorAll(".headers-summary .devtools-button")[1]);
|
||||
yield wait;
|
||||
|
||||
testShowRawHeaders(getSortedRequests(gStore.getState()).get(0));
|
||||
|
||||
EventUtils.sendMouseEvent({ type: "click" },
|
||||
document.querySelectorAll(".headers-summary .tool-button")[1]);
|
||||
document.querySelectorAll(".headers-summary .devtools-button")[1]);
|
||||
|
||||
testHideRawHeaders(document);
|
||||
|
||||
|
@ -85,14 +85,14 @@ describe("FilterButtons::toggleFilter:", () => {
|
||||
|
||||
store.dispatch(Actions.toggleRequestFilterType("xhr"));
|
||||
store.dispatch(Actions.toggleRequestFilterType("js"));
|
||||
asExpected(wrapper, expectXHRJSTypes, `when xhr, js is toggled`);
|
||||
asExpected(wrapper, expectXHRJSTypes, "when xhr, js is toggled");
|
||||
});
|
||||
|
||||
function asExpected(wrapper, expectTypes, description) {
|
||||
for (let type of Object.keys(expectTypes)) {
|
||||
let checked = expectTypes[type] ? "checked" : "not checked";
|
||||
let className = expectTypes[type] ?
|
||||
"menu-filter-button checked": "menu-filter-button";
|
||||
"devtools-button checked" : "devtools-button";
|
||||
it(`'${type}' button is ${checked} ${description}`, () => {
|
||||
expect(wrapper.find(`#requests-menu-filter-${type}-button`).html())
|
||||
.toBe(`<button id="requests-menu-filter-${type}-button" class="` + className +
|
||||
|
@ -397,7 +397,7 @@ function testFilterButtons(monitor, filterType) {
|
||||
let doc = monitor.panelWin.document;
|
||||
let target = doc.querySelector("#requests-menu-filter-" + filterType + "-button");
|
||||
ok(target, `Filter button '${filterType}' was found`);
|
||||
let buttons = [...doc.querySelectorAll(".menu-filter-button")];
|
||||
let buttons = [...doc.querySelectorAll("#requests-menu-filter-buttons button")];
|
||||
ok(buttons.length > 0, "More than zero filter buttons were found");
|
||||
|
||||
// Only target should be checked.
|
||||
@ -415,7 +415,7 @@ function testFilterButtons(monitor, filterType) {
|
||||
*/
|
||||
function testFilterButtonsCustom(aMonitor, aIsChecked) {
|
||||
let doc = aMonitor.panelWin.document;
|
||||
let buttons = doc.querySelectorAll(".menu-filter-button");
|
||||
let buttons = doc.querySelectorAll("#requests-menu-filter-buttons button");
|
||||
for (let i = 0; i < aIsChecked.length; i++) {
|
||||
let button = buttons[i];
|
||||
if (aIsChecked[i]) {
|
||||
|
@ -105,31 +105,31 @@
|
||||
<hbox id="performance-toolbar-controls-detail-views"
|
||||
class="devtools-toolbarbutton-group">
|
||||
<toolbarbutton id="select-waterfall-view"
|
||||
class="devtools-toolbarbutton devtools-button"
|
||||
class="devtools-toolbarbutton"
|
||||
label="&performanceUI.toolbar.waterfall;"
|
||||
hidden="true"
|
||||
data-view="waterfall"
|
||||
tooltiptext="&performanceUI.toolbar.waterfall.tooltiptext;" />
|
||||
<toolbarbutton id="select-js-calltree-view"
|
||||
class="devtools-toolbarbutton devtools-button"
|
||||
class="devtools-toolbarbutton"
|
||||
label="&performanceUI.toolbar.js-calltree;"
|
||||
hidden="true"
|
||||
data-view="js-calltree"
|
||||
tooltiptext="&performanceUI.toolbar.js-calltree.tooltiptext;" />
|
||||
<toolbarbutton id="select-js-flamegraph-view"
|
||||
class="devtools-toolbarbutton devtools-button"
|
||||
class="devtools-toolbarbutton"
|
||||
label="&performanceUI.toolbar.js-flamegraph;"
|
||||
hidden="true"
|
||||
data-view="js-flamegraph"
|
||||
tooltiptext="&performanceUI.toolbar.js-flamegraph.tooltiptext;" />
|
||||
<toolbarbutton id="select-memory-calltree-view"
|
||||
class="devtools-toolbarbutton devtools-button"
|
||||
class="devtools-toolbarbutton"
|
||||
label="&performanceUI.toolbar.memory-calltree;"
|
||||
hidden="true"
|
||||
data-view="memory-calltree"
|
||||
tooltiptext="&performanceUI.toolbar.allocations.tooltiptext;" />
|
||||
<toolbarbutton id="select-memory-flamegraph-view"
|
||||
class="devtools-toolbarbutton devtools-button"
|
||||
class="devtools-toolbarbutton"
|
||||
label="&performanceUI.toolbar.memory-flamegraph;"
|
||||
hidden="true"
|
||||
data-view="memory-flamegraph" />
|
||||
|
@ -245,49 +245,33 @@ checkbox:-moz-focusring {
|
||||
.devtools-button {
|
||||
-moz-appearance: none;
|
||||
background: transparent;
|
||||
min-height: 18px;
|
||||
text-shadow: none;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
border: 1px solid var(--toolbarbutton-border-color);
|
||||
border-radius: 2px;
|
||||
color: var(--theme-body-color);
|
||||
transition: background 0.05s ease-in-out;
|
||||
}
|
||||
|
||||
.devtools-menulist,
|
||||
.devtools-toolbarbutton {
|
||||
-moz-box-align: center;
|
||||
min-width: 78px;
|
||||
text-shadow: none;
|
||||
padding: 1px;
|
||||
margin: 2px 1px;
|
||||
margin: 1px;
|
||||
|
||||
/* Button text should not wrap on multiple lines */
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.devtools-toolbarbutton:not([label]) > .toolbarbutton-icon,
|
||||
.devtools-button::before {
|
||||
.devtools-button:empty::before {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin: 0 3px;
|
||||
transition: opacity 0.05s ease-in-out;
|
||||
}
|
||||
|
||||
/* HTML buttons */
|
||||
.devtools-button {
|
||||
margin: 2px 1px;
|
||||
padding: 1px;
|
||||
min-width: 32px;
|
||||
/* The icon is absolutely positioned in the button using ::before */
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.devtools-button::before {
|
||||
.devtools-button:empty::before {
|
||||
content: "";
|
||||
display: block;
|
||||
position: absolute;
|
||||
offset-inline-start: 50%;
|
||||
offset-block-start: 50%;
|
||||
margin-block-start: -8px;
|
||||
margin-inline-start: -8px;
|
||||
display: inline-block;
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
transition: opacity 0.05s ease-in-out;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.devtools-button:-moz-focusring {
|
||||
@ -299,74 +283,19 @@ checkbox:-moz-focusring {
|
||||
.devtools-button[data-standalone],
|
||||
.devtools-toolbarbutton[standalone],
|
||||
.devtools-toolbarbutton[data-standalone] {
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
min-height: 32px;
|
||||
background-color: var(--theme-toolbar-background);
|
||||
border-color: rgba(138,161,180,0.2) !important;
|
||||
min-height: 30px;
|
||||
}
|
||||
|
||||
.devtools-toolbarbutton[standalone], .devtools-toolbarbutton[data-standalone] {
|
||||
margin-inline-end: 5px;
|
||||
}
|
||||
|
||||
.devtools-toolbarbutton[label][standalone] {
|
||||
min-height: 2em;
|
||||
}
|
||||
|
||||
.devtools-menulist,
|
||||
.devtools-toolbarbutton,
|
||||
.devtools-button {
|
||||
border-color: var(--toolbar-button-border-color);
|
||||
}
|
||||
|
||||
/* Icon button styles */
|
||||
.devtools-toolbarbutton:not([label]),
|
||||
.devtools-toolbarbutton[text-as-image] {
|
||||
min-width: 32px;
|
||||
}
|
||||
|
||||
.devtools-toolbarbutton:not([label]) > .toolbarbutton-text {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.devtools-toolbarbutton > .toolbarbutton-icon {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* Menu button styles (eg. web console filters) */
|
||||
.devtools-toolbarbutton[type=menu-button] > .toolbarbutton-menubutton-button {
|
||||
-moz-appearance: none;
|
||||
color: inherit;
|
||||
border-width: 0;
|
||||
-moz-box-orient: horizontal;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.devtools-toolbarbutton[type=menu-button] {
|
||||
padding: 0 1px;
|
||||
-moz-box-align: stretch;
|
||||
}
|
||||
|
||||
.devtools-toolbarbutton > .toolbarbutton-menubutton-button > .toolbarbutton-icon {
|
||||
margin-inline-end: 4px;
|
||||
}
|
||||
|
||||
.devtools-menulist > .menulist-dropmarker {
|
||||
-moz-appearance: none;
|
||||
display: -moz-box;
|
||||
list-style-image: url("chrome://devtools/skin/images/dropmarker.svg");
|
||||
-moz-box-align: center;
|
||||
min-width: 16px;
|
||||
}
|
||||
|
||||
.devtools-toolbarbutton[type=menu] > .toolbarbutton-menu-dropmarker,
|
||||
.devtools-toolbarbutton[type=menu-button] > .toolbarbutton-menubutton-dropmarker {
|
||||
-moz-appearance: none !important;
|
||||
list-style-image: url("chrome://devtools/skin/images/dropmarker.svg");
|
||||
-moz-box-align: center;
|
||||
padding: 0 3px;
|
||||
}
|
||||
|
||||
/* Icon-only buttons */
|
||||
.devtools-button:empty::before,
|
||||
.devtools-toolbarbutton:not([label]):not([disabled]) > image {
|
||||
@ -375,8 +304,6 @@ checkbox:-moz-focusring {
|
||||
|
||||
.devtools-button:hover:empty:not(:disabled):before,
|
||||
.devtools-button.checked:empty::before,
|
||||
.devtools-button[checked]:empty::before,
|
||||
.devtools-button[open]:empty::before,
|
||||
.devtools-toolbarbutton:not([label]):not([disabled=true]):hover > image,
|
||||
.devtools-toolbarbutton:not([label])[checked=true] > image,
|
||||
.devtools-toolbarbutton:not([label])[open=true] > image {
|
||||
@ -384,77 +311,54 @@ checkbox:-moz-focusring {
|
||||
}
|
||||
|
||||
.devtools-button:disabled,
|
||||
.devtools-button[disabled],
|
||||
.devtools-toolbarbutton[disabled] {
|
||||
opacity: 0.5 !important;
|
||||
}
|
||||
|
||||
.devtools-button[checked]:empty::before,
|
||||
.devtools-button[open]:empty::before,
|
||||
.devtools-button.checked::before,
|
||||
.devtools-toolbarbutton:not([label])[checked=true] > image,
|
||||
.devtools-toolbarbutton:not([label])[open=true] > image {
|
||||
filter: var(--checked-icon-filter);
|
||||
}
|
||||
|
||||
/* Checked/opened icon button background */
|
||||
.theme-firebug .devtools-button[checked]:empty,
|
||||
.theme-firebug .devtools-button[open]:empty,
|
||||
.theme-firebug .devtools-button.checked,
|
||||
.theme-firebug .devtools-toolbarbutton:not([label])[checked=true],
|
||||
.theme-firebug .devtools-toolbarbutton:not([label])[open=true] {
|
||||
/* Button states */
|
||||
.devtools-toolbarbutton[label]:not([type=menu-button]),
|
||||
.devtools-toolbarbutton[standalone],
|
||||
.devtools-button[data-standalone],
|
||||
.devtools-button:not(:empty) {
|
||||
background: var(--toolbarbutton-background);
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
.devtools-toolbarbutton:not([label]):hover,
|
||||
.devtools-button:empty:not(:disabled):hover {
|
||||
background: var(--toolbarbutton-background);
|
||||
}
|
||||
|
||||
.devtools-button:not(:empty):not(:disabled):hover,
|
||||
.devtools-toolbarbutton[label]:not(:-moz-any([checked=true],[disabled])):hover,
|
||||
.devtools-button:empty:not(:disabled):-moz-any(:hover:active,.checked),
|
||||
.devtools-toolbarbutton:not([label]):-moz-any([checked],[open],:hover:active) {
|
||||
background: var(--toolbarbutton-hover-background);
|
||||
border-color: var(--toolbarbutton-hover-border-color);
|
||||
}
|
||||
|
||||
.devtools-button:not(:empty):not(.checked):not(:disabled):hover:active,
|
||||
.devtools-toolbarbutton:not(:-moz-any([checked=true],[disabled]))[label]:hover:active {
|
||||
background-color: var(--theme-selection-background-semitransparent);
|
||||
}
|
||||
|
||||
.devtools-toolbarbutton:not([disabled])[label][checked=true],
|
||||
.devtools-toolbarbutton:not([disabled])[label][open],
|
||||
.devtools-button:not(:empty).checked,
|
||||
.theme-firebug .devtools-toolbarbutton:-moz-any([checked],[open]),
|
||||
.theme-firebug .devtools-button.checked:empty {
|
||||
background: var(--toolbarbutton-checked-background);
|
||||
border-color: var(--toolbarbutton-checked-border-color);
|
||||
color: var(--toolbarbutton-checked-color);
|
||||
}
|
||||
|
||||
/* Icon-and-text buttons */
|
||||
.devtools-toolbarbutton.icon-and-text .toolbarbutton-text {
|
||||
margin-inline-start: .5em !important;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
/* Text-only buttons */
|
||||
.theme-light .devtools-toolbarbutton[label]:not([text-as-image]):not([type=menu-button]),
|
||||
.theme-light .devtools-toolbarbutton[data-text-only],
|
||||
.theme-light .devtools-button:not(:empty) {
|
||||
background-color: var(--toolbar-tab-hover);
|
||||
}
|
||||
.theme-dark .devtools-toolbarbutton[label]:not([text-as-image]):not([type=menu-button]),
|
||||
.theme-dark .devtools-toolbarbutton[data-text-only],
|
||||
.theme-dark .devtools-button:not(:empty) {
|
||||
background-color: rgba(0, 0, 0, .2); /* Splitter */
|
||||
}
|
||||
|
||||
/* Text-only button states */
|
||||
.theme-dark .devtools-button:not(:empty):not(:disabled):hover,
|
||||
.theme-dark .devtools-toolbarbutton:not(:-moz-any([checked=true],[disabled],[text-as-image]))[label]:hover {
|
||||
background: rgba(0, 0, 0, .3); /* Splitters */
|
||||
}
|
||||
.theme-light .devtools-button:not(:empty):not(:disabled):hover,
|
||||
.theme-light .devtools-toolbarbutton:not(:-moz-any([checked=true],[disabled],[text-as-image]))[label]:hover {
|
||||
background: rgba(170, 170, 170, .3); /* Splitters */
|
||||
}
|
||||
|
||||
.theme-dark .devtools-button:not(:empty):not(:disabled):hover:active,
|
||||
.theme-dark .devtools-toolbarbutton:not(:-moz-any([checked=true],[disabled],[text-as-image]))[label]:hover:active {
|
||||
background: rgba(0, 0, 0, .4); /* Splitters */
|
||||
}
|
||||
.theme-light .devtools-button:not(:empty):not(:disabled):hover:active,
|
||||
.theme-light .devtools-toolbarbutton:not(:-moz-any([checked=true],[disabled],[text-as-image]))[label]:hover:active {
|
||||
background: var(--toolbar-tab-hover-active);
|
||||
}
|
||||
|
||||
.theme-dark .devtools-toolbarbutton:not([disabled])[label][checked=true],
|
||||
.theme-dark .devtools-toolbarbutton:not([disabled])[label][open],
|
||||
.theme-dark .devtools-button:not(:empty)[checked=true] {
|
||||
background: var(--theme-selection-background-semitransparent);
|
||||
color: var(--theme-selection-color);
|
||||
}
|
||||
.theme-light .devtools-toolbarbutton:not([disabled])[label][checked=true],
|
||||
.theme-light .devtools-toolbarbutton:not([disabled])[label][open],
|
||||
.theme-light .devtools-button:not(:empty)[checked=true] {
|
||||
background: rgba(76, 158, 217, .3); /* Select highlight blue */
|
||||
}
|
||||
|
||||
/* Icons */
|
||||
:root {
|
||||
--clear-icon-url: url("chrome://devtools/skin/images/clear.svg");
|
||||
}
|
||||
@ -487,36 +391,6 @@ checkbox:-moz-focusring {
|
||||
margin-inline-start: 1px;
|
||||
}
|
||||
|
||||
/*
|
||||
* Filter buttons
|
||||
* @TODO : Fix when https://bugzilla.mozilla.org/show_bug.cgi?id=1255116 lands
|
||||
*/
|
||||
.menu-filter-button {
|
||||
-moz-appearance: none;
|
||||
background: var(--toolbarbutton-background);
|
||||
border: var(--toolbarbutton-border);
|
||||
border-radius: 2px;
|
||||
min-width: 0;
|
||||
padding: 0 5px;
|
||||
margin: 2px;
|
||||
color: var(--theme-body-color);
|
||||
}
|
||||
|
||||
.menu-filter-button:hover {
|
||||
background: var(--toolbarbutton-hover-background);
|
||||
border: var(--toolbarbutton-hover-border);
|
||||
}
|
||||
|
||||
.menu-filter-button:hover:active {
|
||||
background-color: var(--theme-selection-background-semitransparent);
|
||||
}
|
||||
|
||||
.menu-filter-button:not(:active).checked {
|
||||
background: var(--toolbarbutton-checked-background);
|
||||
border: var(--toolbarbutton-checked-border);
|
||||
color: var(--toolbarbutton-checked-color);
|
||||
}
|
||||
|
||||
/* Text input */
|
||||
|
||||
.devtools-textinput,
|
||||
|
@ -154,7 +154,6 @@
|
||||
|
||||
.theme-firebug #toolbox-tab-options {
|
||||
margin-inline-end: 4px;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.theme-firebug #toolbox-tab-options::before {
|
||||
@ -172,9 +171,6 @@
|
||||
border: none;
|
||||
}
|
||||
|
||||
.theme-firebug #command-button-pick {
|
||||
top: 6px;
|
||||
}
|
||||
/* Toolbar */
|
||||
|
||||
.theme-firebug .theme-toolbar,
|
||||
@ -192,7 +188,7 @@
|
||||
|
||||
/* Space around toolbar buttons */
|
||||
.theme-firebug .devtools-toolbar {
|
||||
padding: 3px;
|
||||
padding: 2px 3px;
|
||||
}
|
||||
|
||||
/* The height is the same for all toolbars and side panels tabs */
|
||||
@ -218,33 +214,6 @@
|
||||
font-family: var(--proportional-font-family);
|
||||
}
|
||||
|
||||
/* Toolbar Buttons */
|
||||
|
||||
.theme-firebug .theme-toolbar button,
|
||||
.theme-firebug .devtools-button,
|
||||
.theme-firebug toolbarbutton {
|
||||
margin: 1px;
|
||||
border-radius: 2px;
|
||||
color: var(--theme-body-color);
|
||||
line-height: var(--theme-toolbar-font-size);
|
||||
font-size: var(--theme-toolbar-font-size);
|
||||
}
|
||||
|
||||
.theme-firebug .theme-toolbar button,
|
||||
.theme-firebug .devtools-button {
|
||||
border-width: 1px !important;
|
||||
min-width: 24px;
|
||||
}
|
||||
|
||||
.theme-firebug .devtools-toolbarbutton {
|
||||
min-width: 24px;
|
||||
}
|
||||
|
||||
|
||||
.theme-firebug #element-picker {
|
||||
min-height: 21px;
|
||||
}
|
||||
|
||||
/* Make sure the toolbar buttons shrink nicely. */
|
||||
|
||||
#toolbox-buttons-end {
|
||||
|
@ -111,10 +111,7 @@
|
||||
#requests-menu-reload-notice-button {
|
||||
font-size: inherit;
|
||||
min-height: 26px;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
margin: 0 5px;
|
||||
background-color: var(--theme-toolbar-background);
|
||||
}
|
||||
|
||||
/* Network requests table */
|
||||
@ -780,11 +777,6 @@
|
||||
font: message-box;
|
||||
}
|
||||
|
||||
.custom-request-panel .devtools-button {
|
||||
margin: 3px 1px;
|
||||
min-width: 78px;
|
||||
}
|
||||
|
||||
.custom-header,
|
||||
.custom-method-and-url,
|
||||
.custom-request,
|
||||
@ -1223,43 +1215,10 @@
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.headers-summary .tool-button {
|
||||
.headers-summary .devtools-button {
|
||||
margin-inline-end: 6px;
|
||||
}
|
||||
|
||||
.tool-button {
|
||||
background: transparent;
|
||||
border: none;
|
||||
border-color: var(--toolbar-button-border-color);
|
||||
color: var(--theme-body-color);
|
||||
min-height: 18px;
|
||||
transition: background 0.05s ease-in-out;
|
||||
}
|
||||
|
||||
.theme-light .tool-button {
|
||||
background-color: var(--toolbar-tab-hover);
|
||||
}
|
||||
|
||||
.theme-light .tool-button:hover {
|
||||
background-color: rgba(170, 170, 170, 0.3);
|
||||
}
|
||||
|
||||
.theme-light .tool-button:hover:active {
|
||||
background-color: var(--toolbar-tab-hover-active);
|
||||
}
|
||||
|
||||
.theme-dark .tool-button {
|
||||
background-color: rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
.theme-dark .tool-button:hover {
|
||||
background-color: rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
.theme-dark .tool-button:hover:active {
|
||||
background-color: rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
|
||||
.headers-summary .requests-menu-status-icon {
|
||||
min-width: 10px;
|
||||
}
|
||||
|
@ -16,12 +16,11 @@
|
||||
--tool-options-image: url(chrome://devtools/skin/images/tool-options.svg);
|
||||
--icon-filter: none;
|
||||
--checked-icon-filter: url(chrome://devtools/skin/images/filters.svg#checked-icon-state);
|
||||
--toolbar-button-border-color: rgba(170, 170, 170, .5);
|
||||
}
|
||||
|
||||
.theme-dark {
|
||||
--toolbar-tab-hover: hsla(206, 37%, 4%, .2);
|
||||
--toolbar-tab-hover-active: hsla(206, 37%, 4%, .4);
|
||||
--toolbar-tab-hover: rgba(110,120,130,0.1);
|
||||
--toolbar-tab-hover-active: rgba(110,120,130,0.2);
|
||||
--searchbox-background-color: #4d4222;
|
||||
--searchbox-border-color: #d99f2b;
|
||||
--searcbox-no-match-background-color: #402325;
|
||||
@ -31,7 +30,6 @@
|
||||
--tool-options-image: url(chrome://devtools/skin/images/tool-options.svg);
|
||||
--icon-filter: invert(1);
|
||||
--checked-icon-filter: url(chrome://devtools/skin/images/filters.svg#dark-theme-checked-icon-state);
|
||||
--toolbar-button-border-color: rgba(0, 0, 0, .4);
|
||||
}
|
||||
|
||||
.theme-firebug {
|
||||
@ -39,7 +37,6 @@
|
||||
--tool-options-image: url(chrome://devtools/skin/images/firebug/tool-options.svg);
|
||||
--icon-filter: none;
|
||||
--checked-icon-filter: none;
|
||||
--toolbar-button-border-color: rgba(170, 170, 170, .5);
|
||||
}
|
||||
|
||||
|
||||
|
@ -167,7 +167,7 @@
|
||||
border: none;
|
||||
margin: 0;
|
||||
margin-inline-start: 10px;
|
||||
opacity: 0.6;
|
||||
opacity: 0.8;
|
||||
max-height: 16px;
|
||||
width: 16px; /* Prevents collapse during theme switching */
|
||||
vertical-align: text-top;
|
||||
@ -194,10 +194,7 @@
|
||||
margin: 0 4px;
|
||||
}
|
||||
|
||||
.devtools-tab:hover > img {
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
.devtools-tab:hover > img,
|
||||
.devtools-tab:active > img,
|
||||
.devtools-tab.selected > img {
|
||||
opacity: 1;
|
||||
@ -237,9 +234,6 @@
|
||||
|
||||
/* The options tab is special - it doesn't have the same parent
|
||||
as the other tabs (toolbox-option-container vs toolbox-tabs) */
|
||||
#toolbox-option-container .devtools-tab:not(.selected) {
|
||||
background-color: transparent;
|
||||
}
|
||||
#toolbox-option-container .devtools-tab {
|
||||
border-color: transparent;
|
||||
border-width: 0;
|
||||
@ -255,14 +249,6 @@
|
||||
#toolbox-controls, #toolbox-dock-buttons {
|
||||
display: flex;
|
||||
}
|
||||
#toolbox-controls > button,
|
||||
#toolbox-dock-buttons > button {
|
||||
-moz-appearance: none;
|
||||
border: none;
|
||||
margin: 0 4px;
|
||||
min-width: 16px;
|
||||
width: 16px;
|
||||
}
|
||||
|
||||
/* Save space in Firebug theme */
|
||||
.theme-firebug #toolbox-controls button {
|
||||
@ -315,43 +301,20 @@
|
||||
|
||||
/* Command buttons */
|
||||
|
||||
.command-button {
|
||||
.command-button,
|
||||
#toolbox-controls > button,
|
||||
#toolbox-dock-buttons > button {
|
||||
/* !important is needed to override .devtools-button rules in common.css */
|
||||
padding: 0 !important;
|
||||
margin: 0 !important;
|
||||
border: none !important;
|
||||
border-radius: 0 !important;
|
||||
position: relative;
|
||||
min-width: 28px;
|
||||
}
|
||||
|
||||
.command-button::before {
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
.command-button:hover {
|
||||
background-color: var(--toolbar-tab-hover);
|
||||
}
|
||||
|
||||
.theme-light .command-button:hover {
|
||||
background-color: inherit;
|
||||
}
|
||||
|
||||
.command-button:hover:active,
|
||||
.command-button.checked:not(:hover) {
|
||||
background-color: var(--toolbar-tab-hover-active)
|
||||
}
|
||||
|
||||
.theme-light .command-button:hover:active,
|
||||
.theme-light .command-button.checked:not(:hover) {
|
||||
background-color: inherit;
|
||||
}
|
||||
|
||||
.command-button:hover::before {
|
||||
opacity: 0.85;
|
||||
}
|
||||
|
||||
.command-button:hover:active::before,
|
||||
.command-button.checked::before,
|
||||
.command-button.open::before {
|
||||
opacity: 1;
|
||||
#command-button-pick {
|
||||
min-width: 32px;
|
||||
}
|
||||
|
||||
/* Command button images */
|
||||
|
@ -195,10 +195,10 @@
|
||||
/* Toolbar buttons */
|
||||
--toolbarbutton-background: transparent linear-gradient(rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.2)) no-repeat;
|
||||
--toolbarbutton-hover-background: transparent;
|
||||
--toolbarbutton-hover-border-color: var(--theme-splitter-color);
|
||||
--toolbarbutton-checked-background: linear-gradient(rgba(0, 0, 0, 0.1), transparent);
|
||||
--toolbarbutton-checked-color: var(--theme-body-color);
|
||||
--toolbarbutton-hover-border: 1px solid var(--theme-splitter-color);
|
||||
--toolbarbutton-checked-border: var(--toolbarbutton-hover-border);
|
||||
--toolbarbutton-checked-border-color: var(--toolbarbutton-hover-border-color);
|
||||
}
|
||||
|
||||
:root.theme-firebug[platform="win"] {
|
||||
@ -217,12 +217,11 @@
|
||||
--theme-focus-outline: 1px dotted var(--theme-focus-outline-color);
|
||||
--theme-focus-box-shadow-textbox: 0 0 0 1px var(--theme-textbox-box-shadow);
|
||||
|
||||
--toolbarbutton-background: rgba(128,128,128,0.1);
|
||||
--toolbarbutton-hover-background: rgba(128,128,128,0.2);
|
||||
--toolbarbutton-background: rgba(110,120,130,0.1);
|
||||
--toolbarbutton-border-color: transparent;
|
||||
--toolbarbutton-hover-background: rgba(110,120,130,0.2);
|
||||
--toolbarbutton-hover-border-color: var(--toolbarbutton-border-color);
|
||||
--toolbarbutton-checked-background: var(--theme-selection-background);
|
||||
--toolbarbutton-checked-color: var(--theme-selection-color);
|
||||
|
||||
--toolbarbutton-border: 1px solid transparent;
|
||||
--toolbarbutton-hover-border: var(--toolbarbutton-border);
|
||||
--toolbarbutton-checked-border: var(--toolbarbutton-border);
|
||||
--toolbarbutton-checked-border-color: var(--toolbarbutton-border-color);
|
||||
}
|
||||
|
@ -612,6 +612,42 @@ a.learn-more-link.webconsole-learn-more-link {
|
||||
filter: url(images/filters.svg#checked-icon-state) brightness(0.9);
|
||||
}
|
||||
|
||||
/* Old console frontend filters */
|
||||
.devtools-toolbarbutton[type=menu-button] > .toolbarbutton-menubutton-button {
|
||||
-moz-appearance: none;
|
||||
color: inherit;
|
||||
border-width: 0;
|
||||
-moz-box-orient: horizontal;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.devtools-toolbarbutton[type=menu-button] {
|
||||
padding: 0 1px;
|
||||
-moz-box-align: stretch;
|
||||
--toolbarbutton-checked-color: var(--theme-body-color);
|
||||
--toolbarbutton-checked-background: var(--theme-selection-background-semitransparent);
|
||||
}
|
||||
|
||||
.devtools-toolbarbutton > .toolbarbutton-menubutton-button > .toolbarbutton-icon {
|
||||
margin-inline-end: 4px;
|
||||
}
|
||||
|
||||
.devtools-menulist > .menulist-dropmarker {
|
||||
-moz-appearance: none;
|
||||
display: -moz-box;
|
||||
list-style-image: url("chrome://devtools/skin/images/dropmarker.svg");
|
||||
-moz-box-align: center;
|
||||
min-width: 16px;
|
||||
}
|
||||
|
||||
.devtools-toolbarbutton[type=menu] > .toolbarbutton-menu-dropmarker,
|
||||
.devtools-toolbarbutton[type=menu-button] > .toolbarbutton-menubutton-dropmarker {
|
||||
-moz-appearance: none !important;
|
||||
list-style-image: url("chrome://devtools/skin/images/dropmarker.svg");
|
||||
-moz-box-align: center;
|
||||
padding: 0 3px;
|
||||
}
|
||||
|
||||
@media (max-width: 500px) {
|
||||
.message > .timestamp {
|
||||
display: none;
|
||||
|
@ -29,7 +29,7 @@ const FilterButton = createClass({
|
||||
const {active, label, filterKey} = this.props;
|
||||
|
||||
let classList = [
|
||||
"menu-filter-button",
|
||||
"devtools-button",
|
||||
filterKey,
|
||||
];
|
||||
if (active) {
|
||||
|
@ -20,7 +20,7 @@ describe("FilterButton component:", () => {
|
||||
it("displays as active when turned on", () => {
|
||||
const wrapper = render(FilterButton(props));
|
||||
expect(wrapper.html()).toBe(
|
||||
"<button aria-pressed=\"true\" class=\"menu-filter-button error checked\">" +
|
||||
"<button aria-pressed=\"true\" class=\"devtools-button error checked\">" +
|
||||
"Error</button>"
|
||||
);
|
||||
});
|
||||
@ -29,7 +29,7 @@ describe("FilterButton component:", () => {
|
||||
const inactiveProps = Object.assign({}, props, { active: false });
|
||||
const wrapper = render(FilterButton(inactiveProps));
|
||||
expect(wrapper.html()).toBe(
|
||||
"<button aria-pressed=\"false\" class=\"menu-filter-button error\">Error</button>"
|
||||
"<button aria-pressed=\"false\" class=\"devtools-button error\">Error</button>"
|
||||
);
|
||||
});
|
||||
});
|
||||
|
@ -64,7 +64,7 @@ function* getFilterButtons(hud) {
|
||||
});
|
||||
ok(filterBar, "Filter bar is shown when filter icon is clicked.");
|
||||
|
||||
return filterBar.querySelectorAll(".menu-filter-button");
|
||||
return filterBar.querySelectorAll(".devtools-button");
|
||||
}
|
||||
|
||||
function filterIsEnabled(button) {
|
||||
|
@ -10,6 +10,6 @@ asserts(0-1) load 436900-2.html # bug 566159
|
||||
load 500328-1.html
|
||||
load 514779-1.xhtml
|
||||
load 614499-1.html
|
||||
asserts-if(stylo,1) load 678872-1.html # bug 1324683
|
||||
load 678872-1.html
|
||||
skip-if(Android) pref(dom.disable_open_during_load,false) load 914521.html
|
||||
pref(browser.send_pings,true) load 1257730-1.html
|
||||
|
@ -9,7 +9,7 @@ pref(dom.animations-api.core.enabled,true) load 1216842-6.html # bug 1334036
|
||||
skip-if(stylo) pref(dom.animations-api.core.enabled,true) load 1272475-1.html # bug 1324693 and bug 1332657
|
||||
skip-if(stylo) pref(dom.animations-api.core.enabled,true) load 1272475-2.html # bug 1324693 and bug 1332657
|
||||
pref(dom.animations-api.core.enabled,true) load 1278485-1.html
|
||||
asserts-if(stylo,10) pref(dom.animations-api.core.enabled,true) load 1277272-1.html # bug 1324694
|
||||
pref(dom.animations-api.core.enabled,true) load 1277272-1.html
|
||||
pref(dom.animations-api.core.enabled,true) load 1290535-1.html
|
||||
pref(dom.animations-api.core.enabled,true) load 1304886-1.html
|
||||
pref(dom.animations-api.core.enabled,true) load 1322382-1.html
|
||||
|
@ -79,7 +79,7 @@ load 472593-1.html
|
||||
load 473284.xul
|
||||
load 474041-1.svg
|
||||
load 476526.html
|
||||
asserts-if(stylo,1) load 483818-1.html # bug 1324683
|
||||
load 483818-1.html
|
||||
load 490760-1.xhtml
|
||||
load 493281-1.html
|
||||
load 493281-2.html
|
||||
@ -183,7 +183,7 @@ load 847127.html
|
||||
load 849601.html
|
||||
load 849727.html
|
||||
load 849732.html
|
||||
asserts-if(stylo,17) load 851353-1.html # bug 1324699
|
||||
load 851353-1.html
|
||||
load 852381.html
|
||||
load 863950.html
|
||||
load 864448.html
|
||||
|
@ -2293,7 +2293,7 @@ nsDocument::ResetStylesheetsToURI(nsIURI* aURI)
|
||||
RemoveStyleSheetsFromStyleSets(*sheetService->AuthorStyleSheets(), SheetType::Doc);
|
||||
}
|
||||
} else {
|
||||
NS_ERROR("stylo: nsStyleSheetService doesn't handle ServoStyleSheets yet");
|
||||
NS_WARNING("stylo: nsStyleSheetService doesn't handle ServoStyleSheets yet");
|
||||
}
|
||||
|
||||
mStyleSetFilled = false;
|
||||
|
@ -5,6 +5,7 @@
|
||||
|
||||
#include "WebGLQuery.h"
|
||||
|
||||
#include "gfxPrefs.h"
|
||||
#include "GLContext.h"
|
||||
#include "mozilla/dom/WebGL2RenderingContextBinding.h"
|
||||
#include "nsContentUtils.h"
|
||||
|
@ -158,8 +158,8 @@ skip-if(!winWidget) pref(webgl.disable-angle,true) == webgl-color-test.html?nati
|
||||
fails asserts-if(stylo,1) == stroketext-shadow.html stroketext-shadow.html # bug 1324700
|
||||
|
||||
# focus rings
|
||||
pref(canvas.focusring.enabled,true) skip-if(cocoaWidget) skip-if(winWidget) asserts-if(stylo,6) needs-focus == drawFocusIfNeeded.html drawFocusIfNeeded.html # bug 1324671
|
||||
pref(canvas.customfocusring.enabled,true) skip-if(Android||cocoaWidget||winWidget) fuzzy-if(gtkWidget,64,410) asserts-if(stylo,6) needs-focus == drawCustomFocusRing.html drawCustomFocusRing.html # bug 1324671
|
||||
pref(canvas.focusring.enabled,true) skip-if(cocoaWidget) skip-if(winWidget) needs-focus == drawFocusIfNeeded.html drawFocusIfNeeded.html
|
||||
pref(canvas.customfocusring.enabled,true) skip-if(Android||cocoaWidget||winWidget) fuzzy-if(gtkWidget,64,410) needs-focus == drawCustomFocusRing.html drawCustomFocusRing.html
|
||||
|
||||
# Check that captureStream() displays in a local video element
|
||||
== capturestream.html capturestream.html
|
||||
|
@ -54,7 +54,7 @@ load 738744.xhtml
|
||||
load 741218.json
|
||||
load 741250.xhtml
|
||||
load 795221-1.html
|
||||
asserts-if(stylo,1) load 795221-2.html # bug 1324702
|
||||
load 795221-2.html
|
||||
load 795221-3.html
|
||||
load 795221-4.html
|
||||
load 795221-5.xml
|
||||
@ -63,7 +63,7 @@ load 819745.html
|
||||
load 828180.html
|
||||
pref(dom.experimental_forms,true) load 828472.html
|
||||
load 837033.html
|
||||
asserts-if(stylo,3) load 838256-1.html # bug 1324671
|
||||
load 838256-1.html
|
||||
load 862084.html
|
||||
load 865147.html
|
||||
load 877910.html
|
||||
|
@ -51,7 +51,7 @@ function waitUntilEnded(video) {
|
||||
Log(video.token, "Waiting for ended");
|
||||
if (video.ended) {
|
||||
ok(true, video.token + " already ended");
|
||||
return Promise.success();
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
return once(video, 'ended', () => { ok(true, video.token + " ended"); });
|
||||
|
@ -4,7 +4,7 @@ load 466607-1.html
|
||||
load 466945-1.html
|
||||
load 468763-1.html
|
||||
load 474744-1.html
|
||||
asserts-if(stylo,8) HTTP load 481136-1.html # bug 1324671 # needs to be HTTP to recognize the ogg as an audio file?
|
||||
HTTP load 481136-1.html # needs to be HTTP to recognize the ogg as an audio file?
|
||||
load 492286-1.xhtml
|
||||
load 493915-1.html
|
||||
load 495794-1.html
|
||||
@ -71,7 +71,7 @@ load 995289.html
|
||||
load 1012609.html
|
||||
load 1015662.html
|
||||
load 1020205.html
|
||||
asserts-if(stylo,8) skip-if(Android) test-pref(media.navigator.permission.disabled,true) load 1028458.html # bug 1324671 # bug 1048863
|
||||
skip-if(Android) test-pref(media.navigator.permission.disabled,true) load 1028458.html # bug 1048863
|
||||
load 1041466.html
|
||||
load 1045650.html
|
||||
load 1080986.html
|
||||
|
@ -4,9 +4,9 @@ load 780790.html
|
||||
load 791270.html
|
||||
load 791278.html
|
||||
load 791330.html
|
||||
asserts-if(stylo,16) load 799419.html # bug 1324671
|
||||
load 799419.html
|
||||
load 802982.html
|
||||
asserts-if(stylo,48) load 812785.html # bug 1324671
|
||||
load 812785.html
|
||||
load 834100.html
|
||||
load 836349.html
|
||||
load 837324.html
|
||||
|
@ -309,6 +309,11 @@ UDPSocketParent::ConnectInternal(const nsCString& aHost, const uint16_t& aPort)
|
||||
nsresult rv;
|
||||
|
||||
UDPSOCKET_LOG(("%s: %s:%u", __FUNCTION__, nsCString(aHost).get(), aPort));
|
||||
|
||||
if (!mSocket) {
|
||||
return NS_ERROR_NOT_AVAILABLE;
|
||||
}
|
||||
|
||||
PRNetAddr prAddr;
|
||||
memset(&prAddr, 0, sizeof(prAddr));
|
||||
PR_InitializeNetAddr(PR_IpAddrAny, aPort, &prAddr);
|
||||
@ -332,7 +337,11 @@ mozilla::ipc::IPCResult
|
||||
UDPSocketParent::RecvOutgoingData(const UDPData& aData,
|
||||
const UDPSocketAddr& aAddr)
|
||||
{
|
||||
MOZ_ASSERT(mSocket);
|
||||
if (!mSocket) {
|
||||
NS_WARNING("sending socket is closed");
|
||||
FireInternalError(__LINE__);
|
||||
return IPC_OK();
|
||||
}
|
||||
|
||||
nsresult rv;
|
||||
if (mFilter) {
|
||||
|
@ -29,7 +29,7 @@ load 594653-1.svg
|
||||
load 596796-1.svg
|
||||
load 605345-1.svg
|
||||
load 606101-1.svg
|
||||
asserts-if(stylo,1) load 608295-1.html # bug 1324689
|
||||
load 608295-1.html
|
||||
load 608549-1.svg
|
||||
load 611927-1.svg
|
||||
load 615002-1.svg
|
||||
|
@ -7699,7 +7699,9 @@ HTMLEditRules::RemoveEmptyNodes()
|
||||
if (idx != skipList.NoIndex) {
|
||||
// This node is on our skip list. Skip processing for this node, and
|
||||
// replace its value in the skip list with the value of its parent
|
||||
skipList[idx] = parent;
|
||||
if (parent) {
|
||||
skipList[idx] = parent;
|
||||
}
|
||||
} else {
|
||||
bool bIsCandidate = false;
|
||||
bool bIsEmptyNode = false;
|
||||
@ -7746,7 +7748,7 @@ HTMLEditRules::RemoveEmptyNodes()
|
||||
}
|
||||
}
|
||||
|
||||
if (!bIsEmptyNode) {
|
||||
if (!bIsEmptyNode && parent) {
|
||||
// put parent on skip list
|
||||
skipList.AppendElement(*parent);
|
||||
}
|
||||
|
@ -217,6 +217,7 @@ skip-if = toolkit == 'android'
|
||||
[test_bug1248185.html]
|
||||
[test_bug1258085.html]
|
||||
[test_bug1268736.html]
|
||||
[test_bug1270235.html]
|
||||
[test_bug1306532.html]
|
||||
subsuite = clipboard
|
||||
skip-if = toolkit == 'android'
|
||||
|
46
editor/libeditor/tests/test_bug1270235.html
Normal file
46
editor/libeditor/tests/test_bug1270235.html
Normal file
@ -0,0 +1,46 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<!--
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=1270235
|
||||
-->
|
||||
<head>
|
||||
<title>Test for Bug 1270235</title>
|
||||
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<script type="application/javascript" src="/tests/SimpleTest/EventUtils.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1270235">Mozilla Bug 1270235</a>
|
||||
<p id="display"></p>
|
||||
<div id="content" style="display: none;"></div>
|
||||
|
||||
<div id="edit1" contenteditable="true"><p>AB</p></div>
|
||||
<script type="application/javascript">
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
SimpleTest.waitForFocus(()=>{
|
||||
let element = document.getElementById('edit1');
|
||||
element.focus();
|
||||
let textNode = element.firstChild.firstChild;
|
||||
let node = textNode.splitText(0);
|
||||
node.parentNode.removeChild(node);
|
||||
|
||||
ok(!node.parentNode, 'parent must be null');
|
||||
|
||||
let newRange = document.createRange();
|
||||
newRange.setStart(node, 0);
|
||||
newRange.setEnd(node, 0);
|
||||
let selection = document.getSelection();
|
||||
selection.removeAllRanges();
|
||||
selection.addRange(newRange);
|
||||
|
||||
ok(selection.isCollapsed, 'isCollapsed must be true');
|
||||
|
||||
// Don't crash by user input
|
||||
synthesizeKey("X", {});
|
||||
|
||||
SimpleTest.finish();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -102,7 +102,7 @@ fails == dynamic-overflow-change.html dynamic-overflow-change.html
|
||||
fails == 694880-1.html 694880-1.html
|
||||
fails == 694880-2.html 694880-2.html
|
||||
fails == 694880-3.html 694880-3.html
|
||||
fails asserts-if(stylo,1) == 388980-1.html 388980-1.html # bug 1324683
|
||||
fails == 388980-1.html 388980-1.html
|
||||
fails needs-focus == spellcheck-superscript-1.html spellcheck-superscript-1.html
|
||||
fails == spellcheck-superscript-2.html spellcheck-superscript-2.html
|
||||
== 824080-1.html 824080-1.html
|
||||
@ -134,5 +134,5 @@ fails needs-focus pref(layout.accessiblecaret.enabled,false) pref(layout.accessi
|
||||
== spellcheck-contenteditable-property-dynamic-override-inherit.html spellcheck-contenteditable-property-dynamic-override-inherit.html
|
||||
# == 911201.html 911201.html
|
||||
fails needs-focus == 969773.html 969773.html
|
||||
fails asserts-if(stylo,2) == 997805.html 997805.html # bug 1324671
|
||||
fails asserts-if(stylo,1) == 1088158.html 1088158.html # bug 1324671
|
||||
fails == 997805.html 997805.html
|
||||
fails == 1088158.html 1088158.html
|
||||
|
@ -19,6 +19,7 @@
|
||||
// without having a dependency on that type. This is used for DrawTargetSkia
|
||||
// to be able to hold on to a GLContext.
|
||||
#include "mozilla/GenericRefCounted.h"
|
||||
#include "mozilla/MemoryReporting.h"
|
||||
|
||||
// This RefPtr class isn't ideal for usage in Azure, as it doesn't allow T**
|
||||
// outparams using the &-operator. But it will have to do as there's no easy
|
||||
|
@ -3,6 +3,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/. */
|
||||
|
||||
#include "gfxPrefs.h"
|
||||
|
||||
namespace mozilla {
|
||||
namespace gfx {
|
||||
|
||||
|
@ -10,6 +10,7 @@
|
||||
#include "2D.h"
|
||||
|
||||
#include <cairo-ft.h>
|
||||
#include "mozilla/UniquePtr.h"
|
||||
|
||||
namespace mozilla {
|
||||
namespace gfx {
|
||||
|
@ -9,6 +9,7 @@
|
||||
#include "nsDebug.h"
|
||||
#include "nsIWidget.h"
|
||||
#include "gfxPlatform.h"
|
||||
#include "gfxPrefs.h"
|
||||
#include "gfxWindowsSurface.h"
|
||||
|
||||
#include "gfxCrashReporterUtils.h"
|
||||
|
@ -7,6 +7,7 @@
|
||||
|
||||
#include <cstring>
|
||||
#include "CompositorTypes.h"
|
||||
#include "gfxPrefs.h"
|
||||
#include "GLContext.h"
|
||||
#include "GLBlitHelper.h"
|
||||
#include "GLReadTexImageHelper.h"
|
||||
|
@ -3,7 +3,10 @@
|
||||
/* 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/. */
|
||||
|
||||
#include "GPUProcessManager.h"
|
||||
|
||||
#include "gfxPrefs.h"
|
||||
#include "GPUProcessHost.h"
|
||||
#include "GPUProcessListener.h"
|
||||
#include "mozilla/MemoryReportingProcess.h"
|
||||
|
@ -2210,8 +2210,14 @@ void AsyncPanZoomController::HandlePanningWithTouchAction(double aAngle) {
|
||||
// Handling of cross sliding will need to be added in this method after touch-action released
|
||||
// enabled by default.
|
||||
MOZ_ASSERT(GetCurrentTouchBlock());
|
||||
RefPtr<const OverscrollHandoffChain> overscrollHandoffChain =
|
||||
GetCurrentInputBlock()->GetOverscrollHandoffChain();
|
||||
bool canScrollHorizontal = !mX.IsAxisLocked() &&
|
||||
overscrollHandoffChain->CanScrollInDirection(this, ScrollDirection::HORIZONTAL);
|
||||
bool canScrollVertical = !mY.IsAxisLocked() &&
|
||||
overscrollHandoffChain->CanScrollInDirection(this, ScrollDirection::VERTICAL);
|
||||
if (GetCurrentTouchBlock()->TouchActionAllowsPanningXY()) {
|
||||
if (mX.CanScrollNow() && mY.CanScrollNow()) {
|
||||
if (canScrollHorizontal && canScrollVertical) {
|
||||
if (IsCloseToHorizontal(aAngle, gfxPrefs::APZAxisLockAngle())) {
|
||||
mY.SetAxisLocked(true);
|
||||
SetState(PANNING_LOCKED_X);
|
||||
@ -2221,7 +2227,7 @@ void AsyncPanZoomController::HandlePanningWithTouchAction(double aAngle) {
|
||||
} else {
|
||||
SetState(PANNING);
|
||||
}
|
||||
} else if (mX.CanScrollNow() || mY.CanScrollNow()) {
|
||||
} else if (canScrollHorizontal || canScrollVertical) {
|
||||
SetState(PANNING);
|
||||
} else {
|
||||
SetState(NOTHING);
|
||||
|
@ -7,6 +7,7 @@
|
||||
#include "HitTestingTreeNode.h"
|
||||
|
||||
#include "AsyncPanZoomController.h" // for AsyncPanZoomController
|
||||
#include "gfxPrefs.h"
|
||||
#include "LayersLogging.h" // for Stringify
|
||||
#include "mozilla/gfx/Point.h" // for Point4D
|
||||
#include "mozilla/layers/APZThreadUtils.h" // for AssertOnCompositorThread
|
||||
|
@ -12,6 +12,7 @@
|
||||
*/
|
||||
|
||||
#include "APZTestCommon.h"
|
||||
#include "gfxPrefs.h"
|
||||
|
||||
class APZCBasicTester : public APZCTesterBase {
|
||||
public:
|
||||
|
@ -14,6 +14,7 @@
|
||||
|
||||
#include "APZTestCommon.h"
|
||||
#include "gfxPlatform.h"
|
||||
#include "gfxPrefs.h"
|
||||
|
||||
class APZCTreeManagerTester : public APZCTesterBase {
|
||||
protected:
|
||||
|
@ -22,6 +22,7 @@
|
||||
#include "mozilla/layers/APZCTreeManager.h"
|
||||
#include "mozilla/layers/LayerMetricsWrapper.h"
|
||||
#include "mozilla/layers/APZThreadUtils.h"
|
||||
#include "mozilla/TypedEnumBits.h"
|
||||
#include "mozilla/UniquePtr.h"
|
||||
#include "apz/src/AsyncPanZoomController.h"
|
||||
#include "apz/src/HitTestingTreeNode.h"
|
||||
@ -255,6 +256,21 @@ public:
|
||||
EXPECT_EQ(FLING, mState);
|
||||
}
|
||||
|
||||
void AssertAxisLocked(ScrollDirection aDirection) const {
|
||||
ReentrantMonitorAutoEnter lock(mMonitor);
|
||||
switch (aDirection) {
|
||||
case ScrollDirection::NONE:
|
||||
EXPECT_EQ(PANNING, mState);
|
||||
break;
|
||||
case ScrollDirection::HORIZONTAL:
|
||||
EXPECT_EQ(PANNING_LOCKED_X, mState);
|
||||
break;
|
||||
case ScrollDirection::VERTICAL:
|
||||
EXPECT_EQ(PANNING_LOCKED_Y, mState);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void AdvanceAnimationsUntilEnd(const TimeDuration& aIncrement = TimeDuration::FromMilliseconds(10)) {
|
||||
while (AdvanceAnimations(mcc->Time())) {
|
||||
mcc->AdvanceBy(aIncrement);
|
||||
@ -288,6 +304,18 @@ public:
|
||||
mcc = new NiceMock<MockContentControllerDelayed>();
|
||||
}
|
||||
|
||||
enum class PanOptions {
|
||||
None = 0,
|
||||
KeepFingerDown = 0x1,
|
||||
/*
|
||||
* Do not adjust the touch-start coordinates to overcome the touch-start
|
||||
* tolerance threshold. If this option is passed, it's up to the caller
|
||||
* to pass in coordinates that are sufficient to overcome the touch-start
|
||||
* tolerance *and* cause the desired amount of scrolling.
|
||||
*/
|
||||
ExactCoordinates = 0x2
|
||||
};
|
||||
|
||||
template<class InputReceiver>
|
||||
void Tap(const RefPtr<InputReceiver>& aTarget, const ScreenIntPoint& aPoint,
|
||||
TimeDuration aTapLength,
|
||||
@ -302,7 +330,7 @@ public:
|
||||
void Pan(const RefPtr<InputReceiver>& aTarget,
|
||||
const ScreenIntPoint& aTouchStart,
|
||||
const ScreenIntPoint& aTouchEnd,
|
||||
bool aKeepFingerDown = false,
|
||||
PanOptions aOptions = PanOptions::None,
|
||||
nsTArray<uint32_t>* aAllowedTouchBehaviors = nullptr,
|
||||
nsEventStatus (*aOutEventStatuses)[4] = nullptr,
|
||||
uint64_t* aOutInputBlockId = nullptr);
|
||||
@ -314,7 +342,7 @@ public:
|
||||
*/
|
||||
template<class InputReceiver>
|
||||
void Pan(const RefPtr<InputReceiver>& aTarget, int aTouchStartY,
|
||||
int aTouchEndY, bool aKeepFingerDown = false,
|
||||
int aTouchEndY, PanOptions aOptions = PanOptions::None,
|
||||
nsTArray<uint32_t>* aAllowedTouchBehaviors = nullptr,
|
||||
nsEventStatus (*aOutEventStatuses)[4] = nullptr,
|
||||
uint64_t* aOutInputBlockId = nullptr);
|
||||
@ -350,6 +378,8 @@ protected:
|
||||
RefPtr<MockContentControllerDelayed> mcc;
|
||||
};
|
||||
|
||||
MOZ_MAKE_ENUM_CLASS_BITWISE_OPERATORS(APZCTesterBase::PanOptions)
|
||||
|
||||
template<class InputReceiver>
|
||||
void
|
||||
APZCTesterBase::Tap(const RefPtr<InputReceiver>& aTarget,
|
||||
@ -399,7 +429,7 @@ void
|
||||
APZCTesterBase::Pan(const RefPtr<InputReceiver>& aTarget,
|
||||
const ScreenIntPoint& aTouchStart,
|
||||
const ScreenIntPoint& aTouchEnd,
|
||||
bool aKeepFingerDown,
|
||||
PanOptions aOptions,
|
||||
nsTArray<uint32_t>* aAllowedTouchBehaviors,
|
||||
nsEventStatus (*aOutEventStatuses)[4],
|
||||
uint64_t* aOutInputBlockId)
|
||||
@ -410,7 +440,19 @@ APZCTesterBase::Pan(const RefPtr<InputReceiver>& aTarget,
|
||||
// them.
|
||||
gfxPrefs::SetAPZTouchStartTolerance(1.0f / 1000.0f);
|
||||
gfxPrefs::SetAPZTouchMoveTolerance(0.0f);
|
||||
const int OVERCOME_TOUCH_TOLERANCE = 1;
|
||||
int overcomeTouchToleranceX = 0;
|
||||
int overcomeTouchToleranceY = 0;
|
||||
if (!(aOptions & PanOptions::ExactCoordinates)) {
|
||||
// Have the direction of the adjustment to overcome the touch tolerance
|
||||
// match the direction of the entire gesture, otherwise we run into
|
||||
// trouble such as accidentally activating the axis lock.
|
||||
if (aTouchStart.x != aTouchEnd.x) {
|
||||
overcomeTouchToleranceX = 1;
|
||||
}
|
||||
if (aTouchStart.y != aTouchEnd.y) {
|
||||
overcomeTouchToleranceY = 1;
|
||||
}
|
||||
}
|
||||
|
||||
const TimeDuration TIME_BETWEEN_TOUCH_EVENT = TimeDuration::FromMilliseconds(50);
|
||||
|
||||
@ -423,7 +465,8 @@ APZCTesterBase::Pan(const RefPtr<InputReceiver>& aTarget,
|
||||
|
||||
// Make sure the move is large enough to not be handled as a tap
|
||||
nsEventStatus status = TouchDown(aTarget,
|
||||
ScreenIntPoint(aTouchStart.x, aTouchStart.y + OVERCOME_TOUCH_TOLERANCE),
|
||||
ScreenIntPoint(aTouchStart.x + overcomeTouchToleranceX,
|
||||
aTouchStart.y + overcomeTouchToleranceY),
|
||||
mcc->Time(), aOutInputBlockId);
|
||||
if (aOutEventStatuses) {
|
||||
(*aOutEventStatuses)[0] = status;
|
||||
@ -455,7 +498,7 @@ APZCTesterBase::Pan(const RefPtr<InputReceiver>& aTarget,
|
||||
|
||||
mcc->AdvanceBy(TIME_BETWEEN_TOUCH_EVENT);
|
||||
|
||||
if (!aKeepFingerDown) {
|
||||
if (!(aOptions & PanOptions::KeepFingerDown)) {
|
||||
status = TouchUp(aTarget, aTouchEnd, mcc->Time());
|
||||
} else {
|
||||
status = nsEventStatus_eIgnore;
|
||||
@ -472,13 +515,13 @@ APZCTesterBase::Pan(const RefPtr<InputReceiver>& aTarget,
|
||||
template<class InputReceiver>
|
||||
void
|
||||
APZCTesterBase::Pan(const RefPtr<InputReceiver>& aTarget,
|
||||
int aTouchStartY, int aTouchEndY, bool aKeepFingerDown,
|
||||
int aTouchStartY, int aTouchEndY, PanOptions aOptions,
|
||||
nsTArray<uint32_t>* aAllowedTouchBehaviors,
|
||||
nsEventStatus (*aOutEventStatuses)[4],
|
||||
uint64_t* aOutInputBlockId)
|
||||
{
|
||||
Pan(aTarget, ScreenIntPoint(10, aTouchStartY), ScreenIntPoint(10, aTouchEndY),
|
||||
aKeepFingerDown, aAllowedTouchBehaviors, aOutEventStatuses, aOutInputBlockId);
|
||||
aOptions, aAllowedTouchBehaviors, aOutEventStatuses, aOutInputBlockId);
|
||||
}
|
||||
|
||||
template<class InputReceiver>
|
||||
@ -491,7 +534,7 @@ APZCTesterBase::PanAndCheckStatus(const RefPtr<InputReceiver>& aTarget,
|
||||
uint64_t* aOutInputBlockId)
|
||||
{
|
||||
nsEventStatus statuses[4]; // down, move, move, up
|
||||
Pan(aTarget, aTouchStartY, aTouchEndY, false, aAllowedTouchBehaviors, &statuses, aOutInputBlockId);
|
||||
Pan(aTarget, aTouchStartY, aTouchEndY, PanOptions::None, aAllowedTouchBehaviors, &statuses, aOutInputBlockId);
|
||||
|
||||
EXPECT_EQ(nsEventStatus_eConsumeDoDefault, statuses[0]);
|
||||
|
||||
@ -510,7 +553,7 @@ APZCTesterBase::ApzcPanNoFling(const RefPtr<TestAsyncPanZoomController>& aApzc,
|
||||
int aTouchStartY, int aTouchEndY,
|
||||
uint64_t* aOutInputBlockId)
|
||||
{
|
||||
Pan(aApzc, aTouchStartY, aTouchEndY, false, nullptr, nullptr, aOutInputBlockId);
|
||||
Pan(aApzc, aTouchStartY, aTouchEndY, PanOptions::None, nullptr, nullptr, aOutInputBlockId);
|
||||
aApzc->CancelAnimation();
|
||||
}
|
||||
|
||||
|
@ -13,6 +13,7 @@
|
||||
*/
|
||||
|
||||
#include "APZTestCommon.h"
|
||||
#include "gfxPrefs.h"
|
||||
|
||||
/* The InputReceiver template parameter used in the helper functions below needs
|
||||
* to be a class that implements functions with the signatures:
|
||||
|
@ -6,6 +6,7 @@
|
||||
|
||||
#include "APZCBasicTester.h"
|
||||
#include "APZTestCommon.h"
|
||||
#include "gfxPrefs.h"
|
||||
#include "InputUtils.h"
|
||||
|
||||
TEST_F(APZCBasicTester, Overzoom) {
|
||||
@ -344,7 +345,7 @@ TEST_F(APZCBasicTester, OverScrollPanningAbort) {
|
||||
// the pan does not end.
|
||||
int touchStart = 500;
|
||||
int touchEnd = 10;
|
||||
Pan(apzc, touchStart, touchEnd, true); // keep finger down
|
||||
Pan(apzc, touchStart, touchEnd, PanOptions::KeepFingerDown);
|
||||
EXPECT_TRUE(apzc->IsOverscrolled());
|
||||
|
||||
// Check that calling CancelAnimation() while the user is still panning
|
||||
|
@ -6,6 +6,7 @@
|
||||
|
||||
#include "APZCBasicTester.h"
|
||||
#include "APZTestCommon.h"
|
||||
#include "gfxPrefs.h"
|
||||
|
||||
class APZCGestureDetectorTester : public APZCBasicTester {
|
||||
public:
|
||||
@ -235,7 +236,7 @@ protected:
|
||||
uint64_t blockId = 0;
|
||||
|
||||
// Start the fling down.
|
||||
Pan(apzc, touchStart, touchEnd, false, nullptr, nullptr, &blockId);
|
||||
Pan(apzc, touchStart, touchEnd, PanOptions::None, nullptr, nullptr, &blockId);
|
||||
apzc->ConfirmTarget(blockId);
|
||||
apzc->ContentReceivedInputBlock(blockId, false);
|
||||
|
||||
|
@ -6,6 +6,7 @@
|
||||
|
||||
#include "APZCTreeManagerTester.h"
|
||||
#include "APZTestCommon.h"
|
||||
#include "gfxPrefs.h"
|
||||
#include "InputUtils.h"
|
||||
|
||||
class APZHitTestingTester : public APZCTreeManagerTester {
|
||||
|
@ -126,6 +126,18 @@ protected:
|
||||
EXPECT_LE(childVelocityAfterFling2,
|
||||
childVelocityAfterFling1 * kAcceleration * kAcceleration / 4);
|
||||
}
|
||||
|
||||
void TestCrossApzcAxisLock() {
|
||||
SCOPED_GFX_PREF(APZAxisLockMode, int32_t, 1);
|
||||
|
||||
CreateScrollHandoffLayerTree1();
|
||||
|
||||
RefPtr<TestAsyncPanZoomController> childApzc = ApzcOf(layers[1]);
|
||||
Pan(childApzc, ScreenIntPoint(10, 60), ScreenIntPoint(15, 90),
|
||||
PanOptions::KeepFingerDown | PanOptions::ExactCoordinates);
|
||||
|
||||
childApzc->AssertAxisLocked(ScrollDirection::VERTICAL);
|
||||
}
|
||||
};
|
||||
|
||||
// Here we test that if the processing of a touch block is deferred while we
|
||||
@ -217,7 +229,7 @@ TEST_F(APZScrollHandoffTester, StuckInOverscroll_Bug1073250) {
|
||||
TestAsyncPanZoomController* child = ApzcOf(layers[1]);
|
||||
|
||||
// Pan, causing the parent APZC to overscroll.
|
||||
Pan(manager, 10, 40, true /* keep finger down */);
|
||||
Pan(manager, 10, 40, PanOptions::KeepFingerDown);
|
||||
EXPECT_FALSE(child->IsOverscrolled());
|
||||
EXPECT_TRUE(rootApzc->IsOverscrolled());
|
||||
|
||||
@ -255,7 +267,7 @@ TEST_F(APZScrollHandoffTester, StuckInOverscroll_Bug1231228) {
|
||||
TestAsyncPanZoomController* child = ApzcOf(layers[1]);
|
||||
|
||||
// Pan, causing the parent APZC to overscroll.
|
||||
Pan(manager, 60, 90, true /* keep finger down */);
|
||||
Pan(manager, 60, 90, PanOptions::KeepFingerDown);
|
||||
EXPECT_FALSE(child->IsOverscrolled());
|
||||
EXPECT_TRUE(rootApzc->IsOverscrolled());
|
||||
|
||||
@ -289,7 +301,7 @@ TEST_F(APZScrollHandoffTester, StuckInOverscroll_Bug1240202a) {
|
||||
TestAsyncPanZoomController* child = ApzcOf(layers[1]);
|
||||
|
||||
// Pan, causing the parent APZC to overscroll.
|
||||
Pan(manager, 60, 90, true /* keep finger down */);
|
||||
Pan(manager, 60, 90, PanOptions::KeepFingerDown);
|
||||
EXPECT_FALSE(child->IsOverscrolled());
|
||||
EXPECT_TRUE(rootApzc->IsOverscrolled());
|
||||
|
||||
@ -322,7 +334,7 @@ TEST_F(APZScrollHandoffTester, StuckInOverscroll_Bug1240202b) {
|
||||
TestAsyncPanZoomController* child = ApzcOf(layers[1]);
|
||||
|
||||
// Pan, causing the parent APZC to overscroll.
|
||||
Pan(manager, 60, 90, true /* keep finger down */);
|
||||
Pan(manager, 60, 90, PanOptions::KeepFingerDown);
|
||||
EXPECT_FALSE(child->IsOverscrolled());
|
||||
EXPECT_TRUE(rootApzc->IsOverscrolled());
|
||||
|
||||
@ -519,3 +531,13 @@ TEST_F(APZScrollHandoffTester, ImmediateHandoffDisallowed_Fling) {
|
||||
// Verify that the parent scrolled from the fling.
|
||||
EXPECT_GT(parentApzc->GetFrameMetrics().GetScrollOffset().y, 10);
|
||||
}
|
||||
|
||||
TEST_F(APZScrollHandoffTester, CrossApzcAxisLock_NoTouchAction) {
|
||||
SCOPED_GFX_PREF(TouchActionEnabled, bool, false);
|
||||
TestCrossApzcAxisLock();
|
||||
}
|
||||
|
||||
TEST_F(APZScrollHandoffTester, CrossApzcAxisLock_TouchAction) {
|
||||
SCOPED_GFX_PREF(TouchActionEnabled, bool, true);
|
||||
TestCrossApzcAxisLock();
|
||||
}
|
||||
|
@ -6,6 +6,7 @@
|
||||
|
||||
#include "APZCTreeManagerTester.h"
|
||||
#include "APZTestCommon.h"
|
||||
#include "gfxPrefs.h"
|
||||
#include "InputUtils.h"
|
||||
|
||||
class APZCSnappingTester : public APZCTreeManagerTester
|
||||
|
@ -6,6 +6,7 @@
|
||||
#include "WebRenderBorderLayer.h"
|
||||
|
||||
#include "WebRenderLayersLogging.h"
|
||||
#include "gfxPrefs.h"
|
||||
#include "mozilla/gfx/Rect.h"
|
||||
#include "mozilla/webrender/webrender_ffi.h"
|
||||
#include "mozilla/layers/WebRenderBridgeChild.h"
|
||||
|
@ -6,6 +6,7 @@
|
||||
#include "WebRenderCanvasLayer.h"
|
||||
|
||||
#include "AsyncCanvasRenderer.h"
|
||||
#include "gfxPrefs.h"
|
||||
#include "gfxUtils.h"
|
||||
#include "GLContext.h"
|
||||
#include "GLScreenBuffer.h"
|
||||
|
@ -6,6 +6,7 @@
|
||||
#include "WebRenderColorLayer.h"
|
||||
|
||||
#include "WebRenderLayersLogging.h"
|
||||
#include "gfxPrefs.h"
|
||||
#include "mozilla/webrender/webrender_ffi.h"
|
||||
#include "mozilla/webrender/WebRenderTypes.h"
|
||||
#include "mozilla/layers/WebRenderBridgeChild.h"
|
||||
|
@ -6,6 +6,7 @@
|
||||
#include "WebRenderContainerLayer.h"
|
||||
|
||||
#include <inttypes.h>
|
||||
#include "gfxPrefs.h"
|
||||
#include "mozilla/layers/WebRenderBridgeChild.h"
|
||||
#include "mozilla/webrender/WebRenderTypes.h"
|
||||
#include "WebRenderLayersLogging.h"
|
||||
|
@ -6,6 +6,7 @@
|
||||
#include "WebRenderImageLayer.h"
|
||||
|
||||
#include "WebRenderLayersLogging.h"
|
||||
#include "gfxPrefs.h"
|
||||
#include "mozilla/layers/ImageClient.h"
|
||||
#include "mozilla/layers/TextureClientRecycleAllocator.h"
|
||||
#include "mozilla/layers/TextureWrapperImage.h"
|
||||
|
@ -6,6 +6,7 @@
|
||||
#include "WebRenderLayerManager.h"
|
||||
|
||||
#include "apz/src/AsyncPanZoomController.h"
|
||||
#include "gfxPrefs.h"
|
||||
#include "WebRenderLayersLogging.h"
|
||||
#include "mozilla/dom/TabChild.h"
|
||||
#include "mozilla/layers/APZCTreeManager.h"
|
||||
|
@ -9,6 +9,7 @@
|
||||
#include "mozilla/ArrayUtils.h"
|
||||
#include "mozilla/layers/WebRenderBridgeChild.h"
|
||||
#include "mozilla/webrender/WebRenderTypes.h"
|
||||
#include "gfxPrefs.h"
|
||||
#include "gfxUtils.h"
|
||||
|
||||
namespace mozilla {
|
||||
|
@ -4,7 +4,9 @@
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include "WebRenderTextLayer.h"
|
||||
|
||||
#include "WebRenderLayersLogging.h"
|
||||
#include "gfxPrefs.h"
|
||||
#include "mozilla/webrender/WebRenderTypes.h"
|
||||
#include "mozilla/layers/WebRenderBridgeChild.h"
|
||||
|
||||
|
@ -108,7 +108,7 @@ load 766452-2.html
|
||||
load 768079-1.html
|
||||
asserts-if(stylo,2) load 783041-1.html # bug 1324661
|
||||
asserts-if(stylo,2-4) load 783041-2.html # bug 1324661
|
||||
asserts-if(stylo,3) load 783041-3.html # bug 1324671
|
||||
asserts-if(stylo,2) load 783041-3.html # bug 1324661
|
||||
asserts-if(stylo,2) load 783041-4.html # bug 1324661
|
||||
load 798853.html # bug 868792
|
||||
load 805760-1.html
|
||||
|
@ -199,12 +199,6 @@ VRControllerHost::GetPose()
|
||||
return mPose;
|
||||
}
|
||||
|
||||
void
|
||||
VRControllerHost::SetHand(dom::GamepadHand aHand)
|
||||
{
|
||||
mControllerInfo.mHand = aHand;
|
||||
}
|
||||
|
||||
dom::GamepadHand
|
||||
VRControllerHost::GetHand()
|
||||
{
|
||||
|
@ -95,7 +95,6 @@ public:
|
||||
uint64_t GetButtonPressed();
|
||||
void SetPose(const dom::GamepadPoseState& aPose);
|
||||
const dom::GamepadPoseState& GetPose();
|
||||
virtual void SetHand(dom::GamepadHand aHand);
|
||||
dom::GamepadHand GetHand();
|
||||
|
||||
protected:
|
||||
|
@ -832,13 +832,16 @@ VRDisplayOculus::NotifyVSync()
|
||||
mDisplayInfo.mIsConnected = (ovr == ovrSuccess && sessionStatus.HmdPresent);
|
||||
}
|
||||
|
||||
VRControllerOculus::VRControllerOculus()
|
||||
VRControllerOculus::VRControllerOculus(dom::GamepadHand aHand)
|
||||
: VRControllerHost(VRDeviceType::Oculus)
|
||||
{
|
||||
MOZ_COUNT_CTOR_INHERITED(VRControllerOculus, VRControllerHost);
|
||||
mControllerInfo.mControllerName.AssignLiteral("Oculus Touch");
|
||||
mControllerInfo.mControllerName.AssignLiteral("Oculus Touch (");
|
||||
mControllerInfo.mControllerName.AppendPrintf("%s%s",
|
||||
GamepadHandValues::strings[uint32_t(aHand)].value,
|
||||
")");
|
||||
mControllerInfo.mMappingType = GamepadMappingType::_empty;
|
||||
mControllerInfo.mHand = GamepadHand::_empty;
|
||||
mControllerInfo.mHand = aHand;
|
||||
mControllerInfo.mNumButtons = kNumOculusButton;
|
||||
mControllerInfo.mNumAxes = static_cast<uint32_t>(
|
||||
OculusControllerAxisType::NumVRControllerAxisType);;
|
||||
@ -856,16 +859,6 @@ VRControllerOculus::SetAxisMove(uint32_t aAxis, float aValue)
|
||||
mAxisMove[aAxis] = aValue;
|
||||
}
|
||||
|
||||
void
|
||||
VRControllerOculus::SetHand(dom::GamepadHand aHand)
|
||||
{
|
||||
VRControllerHost::SetHand(aHand);
|
||||
mControllerInfo.mControllerName.AssignLiteral("Oculus Touch (");
|
||||
mControllerInfo.mControllerName.AppendPrintf("%s%s",
|
||||
GamepadHandValues::strings[uint32_t(aHand)].value,
|
||||
")");
|
||||
}
|
||||
|
||||
VRControllerOculus::~VRControllerOculus()
|
||||
{
|
||||
MOZ_COUNT_DTOR_INHERITED(VRControllerOculus, VRControllerHost);
|
||||
@ -979,19 +972,55 @@ VRSystemManagerOculus::HandleInput()
|
||||
|
||||
for (uint32_t i = 0; i < mOculusController.Length(); ++i) {
|
||||
controller = mOculusController[i];
|
||||
HandleButtonPress(controller->GetIndex(), inputState.Buttons);
|
||||
HandleButtonPress(i, inputState.Buttons);
|
||||
|
||||
axis = static_cast<uint32_t>(OculusControllerAxisType::IndexTrigger);
|
||||
HandleAxisMove(controller->GetIndex(), axis, inputState.IndexTrigger[i]);
|
||||
HandleAxisMove(i, axis, inputState.IndexTrigger[i]);
|
||||
|
||||
axis = static_cast<uint32_t>(OculusControllerAxisType::HandTrigger);
|
||||
HandleAxisMove(controller->GetIndex(), axis, inputState.HandTrigger[i]);
|
||||
HandleAxisMove(i, axis, inputState.HandTrigger[i]);
|
||||
|
||||
axis = static_cast<uint32_t>(OculusControllerAxisType::ThumbstickXAxis);
|
||||
HandleAxisMove(controller->GetIndex(), axis, inputState.Thumbstick[i].x);
|
||||
HandleAxisMove(i, axis, inputState.Thumbstick[i].x);
|
||||
|
||||
axis = static_cast<uint32_t>(OculusControllerAxisType::ThumbstickYAxis);
|
||||
HandleAxisMove(controller->GetIndex(), axis, -inputState.Thumbstick[i].y);
|
||||
HandleAxisMove(i, axis, -inputState.Thumbstick[i].y);
|
||||
|
||||
// Start to process pose
|
||||
ovrTrackingState state = ovr_GetTrackingState(mSession, 0.0, false);
|
||||
ovrPoseStatef& pose(state.HandPoses[i]);
|
||||
GamepadPoseState poseState;
|
||||
|
||||
if (state.HandStatusFlags[i] & ovrStatus_OrientationTracked) {
|
||||
poseState.flags |= GamepadCapabilityFlags::Cap_Orientation;
|
||||
poseState.orientation[0] = pose.ThePose.Orientation.x;
|
||||
poseState.orientation[1] = pose.ThePose.Orientation.y;
|
||||
poseState.orientation[2] = pose.ThePose.Orientation.z;
|
||||
poseState.orientation[3] = pose.ThePose.Orientation.w;
|
||||
poseState.angularVelocity[0] = pose.AngularVelocity.x;
|
||||
poseState.angularVelocity[1] = pose.AngularVelocity.y;
|
||||
poseState.angularVelocity[2] = pose.AngularVelocity.z;
|
||||
|
||||
poseState.flags |= GamepadCapabilityFlags::Cap_AngularAcceleration;
|
||||
poseState.angularAcceleration[0] = pose.AngularAcceleration.x;
|
||||
poseState.angularAcceleration[1] = pose.AngularAcceleration.y;
|
||||
poseState.angularAcceleration[2] = pose.AngularAcceleration.z;
|
||||
}
|
||||
if (state.HandStatusFlags[i] & ovrStatus_PositionTracked) {
|
||||
poseState.flags |= GamepadCapabilityFlags::Cap_Position;
|
||||
poseState.position[0] = pose.ThePose.Position.x;
|
||||
poseState.position[1] = pose.ThePose.Position.y;
|
||||
poseState.position[2] = pose.ThePose.Position.z;
|
||||
poseState.linearVelocity[0] = pose.LinearVelocity.x;
|
||||
poseState.linearVelocity[1] = pose.LinearVelocity.y;
|
||||
poseState.linearVelocity[2] = pose.LinearVelocity.z;
|
||||
|
||||
poseState.flags |= GamepadCapabilityFlags::Cap_LinearAcceleration;
|
||||
poseState.linearAcceleration[0] = pose.LinearAcceleration.x;
|
||||
poseState.linearAcceleration[1] = pose.LinearAcceleration.y;
|
||||
poseState.linearAcceleration[2] = pose.LinearAcceleration.z;
|
||||
}
|
||||
HandlePoseTracking(i, poseState, controller);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1051,7 +1080,10 @@ VRSystemManagerOculus::HandlePoseTracking(uint32_t aControllerIdx,
|
||||
const GamepadPoseState& aPose,
|
||||
VRControllerHost* aController)
|
||||
{
|
||||
// TODO: Bug 1305891
|
||||
if (aPose != aController->GetPose()) {
|
||||
aController->SetPose(aPose);
|
||||
NewPoseState(aControllerIdx, aPose);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
@ -1096,7 +1128,7 @@ VRSystemManagerOculus::ScanForControllers()
|
||||
if (newControllerCount != mControllerCount) {
|
||||
// controller count is changed, removing the existing gamepads first.
|
||||
for (uint32_t i = 0; i < mOculusController.Length(); ++i) {
|
||||
RemoveGamepad(mOculusController[i]->GetIndex());
|
||||
RemoveGamepad(i);
|
||||
}
|
||||
|
||||
mControllerCount = 0;
|
||||
@ -1114,9 +1146,8 @@ VRSystemManagerOculus::ScanForControllers()
|
||||
hand = GamepadHand::Right;
|
||||
break;
|
||||
}
|
||||
RefPtr<VRControllerOculus> oculusController = new VRControllerOculus();
|
||||
RefPtr<VRControllerOculus> oculusController = new VRControllerOculus(hand);
|
||||
oculusController->SetIndex(mControllerCount);
|
||||
oculusController->SetHand(hand);
|
||||
mOculusController.AppendElement(oculusController);
|
||||
|
||||
// Not already present, add it.
|
||||
|
@ -97,10 +97,9 @@ protected:
|
||||
class VRControllerOculus : public VRControllerHost
|
||||
{
|
||||
public:
|
||||
explicit VRControllerOculus();
|
||||
explicit VRControllerOculus(dom::GamepadHand aHand);
|
||||
float GetAxisMove(uint32_t aAxis);
|
||||
void SetAxisMove(uint32_t aAxis, float aValue);
|
||||
virtual void SetHand(dom::GamepadHand aHand) override;
|
||||
|
||||
protected:
|
||||
virtual ~VRControllerOculus();
|
||||
|
@ -420,13 +420,13 @@ VRDisplayOpenVR::NotifyVSync()
|
||||
PollEvents();
|
||||
}
|
||||
|
||||
VRControllerOpenVR::VRControllerOpenVR()
|
||||
VRControllerOpenVR::VRControllerOpenVR(dom::GamepadHand aHand)
|
||||
: VRControllerHost(VRDeviceType::OpenVR)
|
||||
{
|
||||
MOZ_COUNT_CTOR_INHERITED(VRControllerOpenVR, VRControllerHost);
|
||||
mControllerInfo.mControllerName.AssignLiteral("OpenVR Gamepad");
|
||||
mControllerInfo.mMappingType = GamepadMappingType::_empty;
|
||||
mControllerInfo.mHand = GamepadHand::_empty;
|
||||
mControllerInfo.mHand = aHand;
|
||||
mControllerInfo.mNumButtons = gNumOpenVRButtonMask;
|
||||
mControllerInfo.mNumAxes = gNumOpenVRAxis;
|
||||
}
|
||||
@ -733,10 +733,9 @@ VRSystemManagerOpenVR::ScanForControllers()
|
||||
hand = GamepadHand::Right;
|
||||
break;
|
||||
}
|
||||
RefPtr<VRControllerOpenVR> openVRController = new VRControllerOpenVR();
|
||||
RefPtr<VRControllerOpenVR> openVRController = new VRControllerOpenVR(hand);
|
||||
openVRController->SetIndex(mControllerCount);
|
||||
openVRController->SetTrackedIndex(trackedDevice);
|
||||
openVRController->SetHand(hand);
|
||||
mOpenVRController.AppendElement(openVRController);
|
||||
|
||||
// Not already present, add it.
|
||||
|
@ -72,7 +72,7 @@ protected:
|
||||
class VRControllerOpenVR : public VRControllerHost
|
||||
{
|
||||
public:
|
||||
explicit VRControllerOpenVR();
|
||||
explicit VRControllerOpenVR(dom::GamepadHand aHand);
|
||||
void SetTrackedIndex(uint32_t aTrackedIndex);
|
||||
uint32_t GetTrackedIndex();
|
||||
|
||||
|
@ -7,6 +7,7 @@
|
||||
|
||||
#include <cstdlib>
|
||||
|
||||
#include "gfxPrefs.h"
|
||||
#include "nsDirectoryServiceDefs.h"
|
||||
#include "nsIDirectoryService.h"
|
||||
#include "nsIFile.h"
|
||||
|
@ -39,18 +39,18 @@ load 648206-1.html
|
||||
load 705875.html
|
||||
load 720305-1.html
|
||||
load 723465.html
|
||||
asserts-if(stylo,1) load 732870.html # bug 1324683
|
||||
asserts-if(stylo,1) load 751995.html # bug 1324683
|
||||
asserts-if(stylo,1) load 761831.html # bug 1324683
|
||||
asserts(0-1) asserts-if(stylo,10) load 752038.html # We may hit bug 645229 here. # bug 1324683
|
||||
asserts(1) asserts-if(stylo,3) load 753162.html # We hit bug 675518 or bug 680086 here. # bug 1324683
|
||||
asserts-if(stylo,1) load 754311.html # bug 1324683
|
||||
asserts(0-1) asserts-if(stylo,2) load 786142.html # We may hit bug 645229 here. # bug 1324683
|
||||
load 732870.html
|
||||
load 751995.html
|
||||
load 761831.html
|
||||
asserts(0-1) load 752038.html # We may hit bug 645229 here.
|
||||
asserts(1) load 753162.html # We hit bug 675518 or bug 680086 here.
|
||||
load 754311.html
|
||||
asserts(0-1) load 786142.html # We may hit bug 645229 here.
|
||||
load 797583.html
|
||||
load 806751.html
|
||||
load 833856.html
|
||||
asserts-if(stylo,1) load 851418.html # bug 1324683
|
||||
load 851418.html
|
||||
load 854139.html
|
||||
load 854604.html
|
||||
pref(dom.use_xbl_scopes_for_remote_xul,true) load 898939.html
|
||||
asserts-if(stylo,1) pref(security.fileuri.strict_origin_policy,false) load 938297.html # bug 1324683
|
||||
pref(security.fileuri.strict_origin_policy,false) load 938297.html
|
||||
|
@ -9,13 +9,13 @@ load 89358-1.html
|
||||
load 90205-1.html
|
||||
skip-if(cocoaWidget&&browserIsRemote) load 99776-1.html # Bug 849747
|
||||
load 118931-1.html
|
||||
asserts-if(stylo,1) load 121533-1.html # bug 1324683
|
||||
load 121533-1.html
|
||||
load 123049-1.html
|
||||
load 123946-1.html
|
||||
load 128855-1.html
|
||||
load 133410-1.html
|
||||
asserts-if(stylo,1) load 143862-1a.html # bug 1324683
|
||||
asserts-if(stylo,1) load 143862-1b.html # bug 1324683
|
||||
load 143862-1a.html
|
||||
load 143862-1b.html
|
||||
load 143862-1c.html
|
||||
load 143862-2.html
|
||||
load 147320-1.html
|
||||
@ -277,7 +277,7 @@ skip-if(stylo) load 455623-1.html # bug 1323652
|
||||
load 457362-1.xhtml
|
||||
load 457514.html
|
||||
asserts(0-1) load 460389-1.html # bug 780985
|
||||
asserts-if(stylo,1) load 462392.html # bug 1324683
|
||||
load 462392.html
|
||||
load 466763-1.html
|
||||
load 467881-1.html
|
||||
load 468491-1.html
|
||||
|
@ -55,15 +55,15 @@ load 639733.xhtml
|
||||
load 669767.html
|
||||
load 682684.xhtml
|
||||
load 865602.html
|
||||
asserts-if(stylo,6) load 893332-1.html # bug 1324671
|
||||
asserts-if(stylo,1) load 944198.html # bug 1324671
|
||||
load 893332-1.html
|
||||
load 944198.html
|
||||
skip-if(stylo) load 949891.xhtml # bug 1323693
|
||||
load 959311.html
|
||||
load 960277-2.html
|
||||
load 997709-1.html
|
||||
load 1102791.html
|
||||
skip-if(stylo) load 1140216.html # bug 1323693
|
||||
asserts-if(stylo,9) load 1182414.html # bug 1324687
|
||||
load 1182414.html
|
||||
load 1212688.html
|
||||
load 1228670.xhtml
|
||||
asserts-if(stylo,4-5) load 1279354.html # bug 1324671
|
||||
load 1279354.html
|
||||
|
@ -1,7 +1,7 @@
|
||||
load 25888-1.html
|
||||
load 25888-2.html
|
||||
load 37757-1.html
|
||||
asserts-if(stylo,1) load 225868-1.html # bug 1324683
|
||||
load 225868-1.html
|
||||
load 255468.xhtml
|
||||
load 255982-1.html
|
||||
load 255982-2.html
|
||||
@ -365,7 +365,7 @@ load 499138.html
|
||||
asserts-if(stylo,1) load 499857-1.html # bug 1324665
|
||||
load 499862-1.html
|
||||
asserts(0-3) load 499885-1.xhtml # Bug 1220265
|
||||
asserts-if(stylo,8) load 501535-1.html # bug 1324671
|
||||
load 501535-1.html
|
||||
load 503961-1.xhtml
|
||||
load 503961-2.html
|
||||
load 505912-1.html
|
||||
@ -537,7 +537,7 @@ asserts-if(Android,2) asserts-if(Android&&asyncPan,4) asserts-if(!Android,4) ass
|
||||
load 847211-1.html
|
||||
load 849603.html
|
||||
asserts(0-12) load 850931.html # bug 569193
|
||||
asserts-if(stylo,8) load 851396-1.html # bug 1324671
|
||||
load 851396-1.html
|
||||
load 854263-1.html
|
||||
load 862185.html
|
||||
asserts-if(stylo,1) load 862947-1.html # bug 1324704
|
||||
@ -626,11 +626,11 @@ load text-overflow-bug666751-2.html
|
||||
load text-overflow-bug670564.xhtml
|
||||
load text-overflow-bug671796.xhtml
|
||||
load text-overflow-bug713610.html
|
||||
asserts-if(stylo,5) load text-overflow-form-elements.html # bug 1324671
|
||||
asserts-if(stylo,1) load text-overflow-iframe.html # bug 1324671
|
||||
load text-overflow-form-elements.html
|
||||
load text-overflow-iframe.html
|
||||
asserts-if(Android,2-4) asserts-if(!Android,4) asserts-if(stylo,0) load 1225005.html # bug 682647 and bug 448083
|
||||
load 1233191.html
|
||||
asserts-if(stylo,1-16) load 1271765.html # bug 1324684
|
||||
asserts-if(stylo,0-15) load 1271765.html # bug 1324684
|
||||
asserts(2) load 1272983-1.html # bug 1324654 # bug 586628
|
||||
asserts(2) load 1272983-2.html # bug 1324654 # bug 586628
|
||||
load 1275059.html
|
||||
|
@ -8,6 +8,7 @@
|
||||
#include "nsBulletFrame.h"
|
||||
|
||||
#include "gfx2DGlue.h"
|
||||
#include "gfxPrefs.h"
|
||||
#include "gfxUtils.h"
|
||||
#include "mozilla/gfx/2D.h"
|
||||
#include "mozilla/gfx/PathHelpers.h"
|
||||
|
@ -9,6 +9,7 @@
|
||||
#include "nsTextFrame.h"
|
||||
|
||||
#include "gfx2DGlue.h"
|
||||
#include "gfxPrefs.h"
|
||||
#include "gfxUtils.h"
|
||||
#include "mozilla/Attributes.h"
|
||||
#include "mozilla/DebugOnly.h"
|
||||
|
@ -201,8 +201,8 @@ fails == 210094-1b.html 210094-1b.html
|
||||
fails == 210094-1c.html 210094-1c.html
|
||||
fails == 210876-1.html 210876-1.html
|
||||
== 211931-1.html 211931-1.html
|
||||
fails asserts-if(stylo,1) == 212563-1.html 212563-1.html # bug 1324683
|
||||
asserts-if(stylo,1) == 212563-2.html 212563-2.html # bug 1324683
|
||||
fails == 212563-1.html 212563-1.html
|
||||
== 212563-2.html 212563-2.html
|
||||
fails == 213834-1.html 213834-1.html
|
||||
fails == 214077-1a.html 214077-1a.html
|
||||
fails == 214077-1b.html 214077-1b.html
|
||||
@ -1160,7 +1160,7 @@ fails == 444015-1.html 444015-1.html
|
||||
fails == 444928-1.html 444928-1.html
|
||||
fails == 444928-2.html 444928-2.html
|
||||
fails == 444928-3.html 444928-3.html
|
||||
fails random asserts-if(stylo,2) == 445004-1.html 445004-1.html # bug 1324683
|
||||
fails random == 445004-1.html 445004-1.html
|
||||
== 445142-1a.html 445142-1a.html
|
||||
== 445142-1b.html 445142-1b.html
|
||||
== 445142-1c.html 445142-1c.html
|
||||
@ -1176,11 +1176,11 @@ fails-if(usesRepeatResampling) fails-if(Android) == 446100-1g.html 446100-1g.htm
|
||||
== 446100-1h.html 446100-1h.html
|
||||
fails == 447749-1.html 447749-1.html
|
||||
fuzzy(127,2) == 448193.html 448193.html
|
||||
fails asserts-if(stylo,8) == 449149-1a.html 449149-1a.html # bug 1324671
|
||||
fails asserts-if(stylo,8) == 449149-1b.html 449149-1b.html # bug 1324671
|
||||
fails == 449149-1a.html 449149-1a.html
|
||||
fails == 449149-1b.html 449149-1b.html
|
||||
# Retry the above with XBL scopes
|
||||
fails test-pref(dom.use_xbl_scopes_for_remote_xul,true) asserts-if(stylo,8) == 449149-1a.html 449149-1a.html # bug 1324671
|
||||
fails test-pref(dom.use_xbl_scopes_for_remote_xul,true) asserts-if(stylo,8) == 449149-1b.html 449149-1b.html # bug 1324671
|
||||
fails test-pref(dom.use_xbl_scopes_for_remote_xul,true) == 449149-1a.html 449149-1a.html
|
||||
fails test-pref(dom.use_xbl_scopes_for_remote_xul,true) == 449149-1b.html 449149-1b.html
|
||||
== 449149-2.html 449149-2.html
|
||||
== 449171-1.html 449171-1.html
|
||||
fails == 449362-1.html 449362-1.html
|
||||
@ -1327,8 +1327,8 @@ fails == 482592-1a.xhtml 482592-1a.xhtml
|
||||
fails == 482592-1b.xhtml 482592-1b.xhtml
|
||||
== 482659-1a.html 482659-1a.html
|
||||
== 482659-1b.html 482659-1b.html
|
||||
asserts-if(stylo,1) == 482659-1c.html 482659-1c.html # bug 1324683
|
||||
asserts-if(stylo,1) == 482659-1d.html 482659-1d.html # bug 1324683
|
||||
== 482659-1c.html 482659-1c.html
|
||||
== 482659-1d.html 482659-1d.html
|
||||
== 483565.xul 483565.xul
|
||||
asserts-if(stylo,4) == 484256-1.html 484256-1.html # bug 1324661
|
||||
asserts-if(stylo,4) == 484256-2.html 484256-2.html # bug 1324661
|
||||
@ -1362,7 +1362,7 @@ pref(browser.display.focus_ring_width,1) == 491180-2.html 491180-2.html
|
||||
== 491323-1.xul 491323-1.xul
|
||||
== 492239-1.xul 492239-1.xul
|
||||
== 492661-1.html 492661-1.html
|
||||
asserts-if(stylo,1) == 493968-1.html 493968-1.html # bug 1324702
|
||||
== 493968-1.html 493968-1.html
|
||||
== 494667-1.html 494667-1.html
|
||||
== 494667-2.html 494667-2.html
|
||||
== 495274-1.html 495274-1.html
|
||||
@ -1403,7 +1403,7 @@ fails == 502795-1.html 502795-1.html
|
||||
# Reftest for bug 503531 marked as failing; should be re-enabled when
|
||||
# bug 607548 gets resolved.
|
||||
# needs-focus fails == 503531-1.html 503531-1.html
|
||||
asserts-if(stylo,1) == 504032-1.html 504032-1.html # bug 1324702
|
||||
== 504032-1.html 504032-1.html
|
||||
== 505743-1.html 505743-1.html
|
||||
fails == 506481-1.html 506481-1.html
|
||||
fails == 507187-1.html 507187-1.html
|
||||
@ -1767,7 +1767,7 @@ fails == 827799-1.html 827799-1.html
|
||||
== 841192-1.html 841192-1.html
|
||||
fails == 844178.html 844178.html
|
||||
== 846144-1.html 846144-1.html
|
||||
asserts-if(stylo,1) == 847850-1.html 847850-1.html # bug 1324671
|
||||
== 847850-1.html 847850-1.html
|
||||
fails == 848421-1.html 848421-1.html
|
||||
fails == 849407-1.html 849407-1.html
|
||||
== 849996-1.html 849996-1.html
|
||||
@ -1808,7 +1808,7 @@ fails == 960277-1.html 960277-1.html
|
||||
== 961887-1.html 961887-1.html
|
||||
== 961887-2.html 961887-2.html
|
||||
== 961887-3.html 961887-3.html
|
||||
fails asserts-if(stylo,1) == 966992-1.html 966992-1.html # bug 1324671
|
||||
fails == 966992-1.html 966992-1.html
|
||||
fails == 966510-1.html 966510-1.html
|
||||
fails == 966510-2.html 966510-2.html
|
||||
fuzzy-if(skiaContent,1,123) == 978911-1.svg 978911-1.svg
|
||||
|
@ -11,19 +11,19 @@
|
||||
|
||||
# == placeholder-simple.html placeholder-simple.html
|
||||
# needs-focus == placeholder-focus.html placeholder-focus.html
|
||||
fails asserts-if(stylo,2) needs-focus == placeholder-blur.html placeholder-blur.html # bug 1324671
|
||||
fails asserts-if(stylo,2) == placeholder-value.html placeholder-value.html # bug 1324671
|
||||
fails needs-focus == placeholder-blur.html placeholder-blur.html
|
||||
fails == placeholder-value.html placeholder-value.html
|
||||
fails == placeholder-empty-string.html placeholder-empty-string.html
|
||||
fails == placeholder-add.html placeholder-add.html
|
||||
fails asserts-if(stylo,2) == placeholder-removal.html placeholder-removal.html # bug 1324671
|
||||
fails asserts-if(stylo,2) == placeholder-value-set.html placeholder-value-set.html # bug 1324671
|
||||
fails asserts-if(stylo,2) == placeholder-value-unset.html placeholder-value-unset.html # bug 1324671
|
||||
fails asserts-if(stylo,2) == placeholder-value-reset.html placeholder-value-reset.html # bug 1324671
|
||||
fails asserts-if(stylo,2) == placeholder-type-change-1.html placeholder-type-change-1.html # bug 1324671
|
||||
fails asserts-if(stylo,2) == placeholder-type-change-2.html placeholder-type-change-2.html # bug 1324671
|
||||
fails asserts-if(stylo,1) == placeholdershown.html placeholdershown.html # bug 1324671
|
||||
fails asserts-if(stylo,2) == css-display.html css-display.html # bug 1324671
|
||||
fails == placeholder-removal.html placeholder-removal.html
|
||||
fails == placeholder-value-set.html placeholder-value-set.html
|
||||
fails == placeholder-value-unset.html placeholder-value-unset.html
|
||||
fails == placeholder-value-reset.html placeholder-value-reset.html
|
||||
fails == placeholder-type-change-1.html placeholder-type-change-1.html
|
||||
fails == placeholder-type-change-2.html placeholder-type-change-2.html
|
||||
fails == placeholdershown.html placeholdershown.html
|
||||
fails == css-display.html css-display.html
|
||||
# We can't check except by verifying that the output is different.
|
||||
# Same reasons as focus issues explained above.
|
||||
fails asserts-if(stylo,2) == css-opacity.html css-opacity.html # bug 1324671
|
||||
fails asserts-if(stylo,2) == css-text-align.html css-text-align.html # bug 1324671
|
||||
fails == css-opacity.html css-opacity.html
|
||||
fails == css-text-align.html css-text-align.html
|
||||
|
@ -2,7 +2,7 @@
|
||||
include input/reftest-stylo.list
|
||||
include textarea/reftest-stylo.list
|
||||
|
||||
fails asserts-if(stylo,4) == css-restrictions.html css-restrictions.html # bug 1324671
|
||||
fails asserts-if(stylo,4) == css-simple-styling.html css-simple-styling.html # bug 1324671
|
||||
fails == css-restrictions.html css-restrictions.html
|
||||
fails == css-simple-styling.html css-simple-styling.html
|
||||
# == css-background.html css-background.html
|
||||
fails asserts-if(stylo,2) == ignore-pseudo-class.html ignore-pseudo-class.html # bug 1324671
|
||||
fails == ignore-pseudo-class.html ignore-pseudo-class.html
|
||||
|
@ -11,17 +11,17 @@
|
||||
|
||||
# == placeholder-simple.html placeholder-simple.html
|
||||
# needs-focus == placeholder-focus.html placeholder-focus.html
|
||||
fails asserts-if(stylo,2) needs-focus == placeholder-blur.html placeholder-blur.html # bug 1324671
|
||||
fails asserts-if(stylo,2) == placeholder-value.html placeholder-value.html # bug 1324671
|
||||
fails needs-focus == placeholder-blur.html placeholder-blur.html
|
||||
fails == placeholder-value.html placeholder-value.html
|
||||
fails == placeholder-empty-string.html placeholder-empty-string.html
|
||||
fails == placeholder-add.html placeholder-add.html
|
||||
fails asserts-if(stylo,2) == placeholder-removal.html placeholder-removal.html # bug 1324671
|
||||
fails asserts-if(stylo,2) == placeholder-value-set.html placeholder-value-set.html # bug 1324671
|
||||
fails asserts-if(stylo,2) == placeholder-value-unset.html placeholder-value-unset.html # bug 1324671
|
||||
fails asserts-if(stylo,2) == placeholder-value-reset.html placeholder-value-reset.html # bug 1324671
|
||||
fails asserts-if(stylo,1) == placeholdershown.html placeholdershown.html # bug 1324671
|
||||
fails == placeholder-removal.html placeholder-removal.html
|
||||
fails == placeholder-value-set.html placeholder-value-set.html
|
||||
fails == placeholder-value-unset.html placeholder-value-unset.html
|
||||
fails == placeholder-value-reset.html placeholder-value-reset.html
|
||||
fails == placeholdershown.html placeholdershown.html
|
||||
# == css-resize.html css-resize.html
|
||||
fails asserts-if(stylo,2) == css-display.html css-display.html # bug 1324671
|
||||
fails == css-display.html css-display.html
|
||||
# We can't check except by verifying that the output is different.
|
||||
# Same reasons as focus issues explained above.
|
||||
fails asserts-if(stylo,2) == css-opacity.html css-opacity.html # bug 1324671
|
||||
fails == css-opacity.html css-opacity.html
|
||||
|
@ -39,4 +39,4 @@ fails == disabled-6.html disabled-6.html
|
||||
# == width-auto-size-rtl.html width-auto-size-rtl.html
|
||||
# == width-exact-fit-rtl.html width-exact-fit-rtl.html
|
||||
fails == display-grid-flex-columnset.html display-grid-flex-columnset.html
|
||||
asserts-if(stylo,1) == 1317351.html 1317351.html # bug 1324671
|
||||
== 1317351.html 1317351.html
|
||||
|
@ -1,15 +1,15 @@
|
||||
# DO NOT EDIT! This is a auto-generated temporary list for Stylo testing
|
||||
# Simple test. Should fail on platforms where input type color isn't activated
|
||||
# yet. The missing platform is Android (bug 875750).
|
||||
fails asserts-if(stylo,4) == input-color-1.html input-color-1.html # bug 1324671
|
||||
fails == input-color-1.html input-color-1.html
|
||||
|
||||
default-preferences pref(dom.forms.color,true)
|
||||
|
||||
# Despite the "default-preferences" line above, Android is still
|
||||
# excluded from some style in forms.css, which makes the following tests fail.
|
||||
fails asserts-if(stylo,16) == margin-padding-1.html margin-padding-1.html # bug 1324671
|
||||
fails asserts-if(stylo,1) == block-invalidate-1.html block-invalidate-1.html # bug 1324671
|
||||
fails asserts-if(stylo,1) == block-invalidate-2.html block-invalidate-2.html # bug 1324671
|
||||
fails asserts-if(stylo,14) == transformations-1.html transformations-1.html # bug 1324671
|
||||
fails asserts-if(stylo,1) == custom-style-1.html custom-style-1.html # bug 1324671
|
||||
fails asserts-if(stylo,1) == custom-style-2.html custom-style-2.html # bug 1324671
|
||||
fails == margin-padding-1.html margin-padding-1.html
|
||||
fails == block-invalidate-1.html block-invalidate-1.html
|
||||
fails == block-invalidate-2.html block-invalidate-2.html
|
||||
fails == transformations-1.html transformations-1.html
|
||||
fails == custom-style-1.html custom-style-1.html
|
||||
fails == custom-style-2.html custom-style-2.html
|
||||
|
@ -9,28 +9,28 @@
|
||||
# ::value (bug 648643), depending of the ::value behaviour (it could change the
|
||||
# caret colour and the text colour or just the text colour).
|
||||
|
||||
fails asserts-if(stylo,1) == placeholder-1-text.html placeholder-1-text.html # bug 1324671
|
||||
fails asserts-if(stylo,1) == placeholder-1-password.html placeholder-1-password.html # bug 1324671
|
||||
fails asserts-if(stylo,1) == placeholder-1-textarea.html placeholder-1-textarea.html # bug 1324671
|
||||
fails == placeholder-1-text.html placeholder-1-text.html
|
||||
fails == placeholder-1-password.html placeholder-1-password.html
|
||||
fails == placeholder-1-textarea.html placeholder-1-textarea.html
|
||||
fails == placeholder-2.html placeholder-2.html
|
||||
fails == placeholder-2-textarea.html placeholder-2-textarea.html
|
||||
fails asserts-if(stylo,1) == placeholder-3.html placeholder-3.html # bug 1324671
|
||||
fails asserts-if(stylo,1) == placeholder-4.html placeholder-4.html # bug 1324671
|
||||
fails asserts-if(stylo,1) == placeholder-5.html placeholder-5.html # bug 1324671
|
||||
fails asserts-if(stylo,1) == placeholder-6.html placeholder-6.html # bug 1324671
|
||||
fails asserts-if(stylo,1) == placeholder-6-textarea.html placeholder-6-textarea.html # bug 1324671
|
||||
fails == placeholder-3.html placeholder-3.html
|
||||
fails == placeholder-4.html placeholder-4.html
|
||||
fails == placeholder-5.html placeholder-5.html
|
||||
fails == placeholder-6.html placeholder-6.html
|
||||
fails == placeholder-6-textarea.html placeholder-6-textarea.html
|
||||
# needs-focus == placeholder-7.html placeholder-7.html
|
||||
# needs-focus == placeholder-8.html placeholder-8.html
|
||||
# needs-focus == placeholder-9.html placeholder-9.html
|
||||
fails needs-focus asserts-if(stylo,1) == placeholder-10.html placeholder-10.html # bug 1324671
|
||||
fails asserts-if(stylo,1) == placeholder-11.html placeholder-11.html # bug 1324671
|
||||
fails asserts-if(stylo,1) == placeholder-12.html placeholder-12.html # bug 1324671
|
||||
fails needs-focus == placeholder-10.html placeholder-10.html
|
||||
fails == placeholder-11.html placeholder-11.html
|
||||
fails == placeholder-12.html placeholder-12.html
|
||||
fails == placeholder-13.html placeholder-13.html
|
||||
fails == placeholder-14.html placeholder-14.html
|
||||
fails asserts-if(stylo,1) == placeholder-18.html placeholder-18.html # bug 1324671
|
||||
fails == placeholder-18.html placeholder-18.html
|
||||
random-if(winWidget) == placeholder-19.xul placeholder-19.xul
|
||||
# needs-focus == placeholder-20.html placeholder-20.html
|
||||
# needs-focus == placeholder-21.html placeholder-21.html
|
||||
fails asserts-if(stylo,1) needs-focus == placeholder-22.html placeholder-22.html # bug 1324671
|
||||
fails needs-focus == placeholder-22.html placeholder-22.html
|
||||
# == placeholder-rtl.html placeholder-rtl.html
|
||||
fails pref(dom.placeholder.show_on_focus,false) asserts-if(stylo,1) needs-focus == placeholder-focus-pref.html placeholder-focus-pref.html # bug 1324671
|
||||
fails pref(dom.placeholder.show_on_focus,false) needs-focus == placeholder-focus-pref.html placeholder-focus-pref.html
|
||||
|
@ -28,7 +28,7 @@
|
||||
|
||||
# Tests for block and inline orientation in combination with writing-mode
|
||||
# == progress-orient-horizontal.html progress-orient-horizontal.html
|
||||
fails-if(!cocoaWidget||OSX==1010) asserts-if(stylo,1) == progress-orient-vertical.html progress-orient-vertical.html # bug 1324671
|
||||
fails-if(!cocoaWidget||OSX==1010) == progress-orient-vertical.html progress-orient-vertical.html
|
||||
# == progress-orient-block.html progress-orient-block.html
|
||||
# == progress-orient-inline.html progress-orient-inline.html
|
||||
# == progress-vlr.html progress-vlr.html
|
||||
|
@ -33,6 +33,6 @@ fails == themed-widget.html themed-widget.html
|
||||
== addrange-1.html addrange-1.html
|
||||
== addrange-2.html addrange-2.html
|
||||
fails == splitText-normalize.html splitText-normalize.html
|
||||
fails asserts-if(stylo,13) == modify-range.html modify-range.html # bug 1324683
|
||||
fails == modify-range.html modify-range.html
|
||||
fails == dom-mutations.html dom-mutations.html
|
||||
== trailing-space-1.html trailing-space-1.html
|
||||
|
@ -6,7 +6,7 @@ fails HTTP(..) == marker-string.html marker-string.html
|
||||
# == bidi-simple.html bidi-simple.html
|
||||
fails == bidi-simple-scrolled.html bidi-simple-scrolled.html
|
||||
fails == scroll-rounding.html scroll-rounding.html
|
||||
fuzzy(2,453) fuzzy-if(skiaContent,9,2100) fails-if(gtkWidget) asserts-if(stylo,4) HTTP(..) == anonymous-block.html anonymous-block.html # bug 1324671
|
||||
fuzzy(2,453) fuzzy-if(skiaContent,9,2100) fails-if(gtkWidget) HTTP(..) == anonymous-block.html anonymous-block.html
|
||||
fails HTTP(..) == false-marker-overlap.html false-marker-overlap.html
|
||||
fails HTTP(..) == visibility-hidden.html visibility-hidden.html
|
||||
# == block-padding.html block-padding.html
|
||||
|
@ -69,7 +69,7 @@ fails == ua-style-sheet-size-2.html ua-style-sheet-size-2.html
|
||||
# == ua-style-sheet-checkbox-radio-1.html ua-style-sheet-checkbox-radio-1.html
|
||||
# == ua-style-sheet-button-1.html ua-style-sheet-button-1.html
|
||||
# == ua-style-sheet-button-1.html ua-style-sheet-button-1.html
|
||||
fails asserts-if(stylo,6) == ua-style-sheet-input-color-1.html ua-style-sheet-input-color-1.html # bug 1324671
|
||||
fails == ua-style-sheet-input-color-1.html ua-style-sheet-input-color-1.html
|
||||
# fuzzy-if(gtkWidget,1,15) == ua-style-sheet-input-number-1.html ua-style-sheet-input-number-1.html
|
||||
|
||||
# HTTP(..) == 1127488-align-default-horizontal-tb-ltr.html 1127488-align-default-horizontal-tb-ltr.html
|
||||
|
@ -8,10 +8,11 @@
|
||||
* stylesheet
|
||||
*/
|
||||
|
||||
#include "mozilla/css/Declaration.h"
|
||||
|
||||
#include "mozilla/ArrayUtils.h"
|
||||
#include "mozilla/MemoryReporting.h"
|
||||
|
||||
#include "mozilla/css/Declaration.h"
|
||||
#include "mozilla/css/Rule.h"
|
||||
#include "nsPrintfCString.h"
|
||||
#include "gfxFontConstants.h"
|
||||
|
@ -16,11 +16,12 @@
|
||||
|
||||
/* loading of CSS style sheets using the network APIs */
|
||||
|
||||
#include "mozilla/css/Loader.h"
|
||||
|
||||
#include "mozilla/ArrayUtils.h"
|
||||
#include "mozilla/LoadInfo.h"
|
||||
#include "mozilla/MemoryReporting.h"
|
||||
|
||||
#include "mozilla/css/Loader.h"
|
||||
#include "mozilla/StyleSheetInlines.h"
|
||||
#include "nsIRunnable.h"
|
||||
#include "nsIUnicharStreamLoader.h"
|
||||
|
@ -263,7 +263,7 @@ ServoStyleSet::ResolvePseudoElementStyle(Element* aOriginatingElement,
|
||||
Element* aPseudoElement)
|
||||
{
|
||||
if (aPseudoElement) {
|
||||
NS_ERROR("stylo: We don't support CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE yet");
|
||||
NS_WARNING("stylo: We don't support CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE yet");
|
||||
}
|
||||
|
||||
// NB: We ignore aParentContext, on the assumption that pseudo element styles
|
||||
|
@ -6,10 +6,11 @@
|
||||
|
||||
/* Utilities for animation of computed style values */
|
||||
|
||||
#include "mozilla/StyleAnimationValue.h"
|
||||
|
||||
#include "mozilla/ArrayUtils.h"
|
||||
#include "mozilla/MathAlgorithms.h"
|
||||
#include "mozilla/RuleNodeCacheConditions.h"
|
||||
#include "mozilla/StyleAnimationValue.h"
|
||||
#include "mozilla/StyleSetHandle.h"
|
||||
#include "mozilla/StyleSetHandleInlines.h"
|
||||
#include "mozilla/Tuple.h"
|
||||
|
@ -102,7 +102,7 @@ load 861489-1.html
|
||||
load 862113.html
|
||||
load 867487.html
|
||||
load 873222.html
|
||||
asserts-if(stylo,2) load 880862.html # bug 1324701
|
||||
asserts-if(stylo,1) load 880862.html # bug 1324701
|
||||
load 894245-1.html
|
||||
load 915440.html
|
||||
load 927734-1.html
|
||||
@ -168,4 +168,4 @@ HTTP load 1320423-1.html
|
||||
load 1321357-1.html
|
||||
load 1328535-1.html
|
||||
load 1331272.html
|
||||
asserts-if(stylo,1) HTTP load 1333001-1.html # bug 1324702
|
||||
HTTP load 1333001-1.html
|
||||
|
@ -6,6 +6,8 @@
|
||||
|
||||
/* parsing of CSS stylesheets, based on a token stream from the CSS scanner */
|
||||
|
||||
#include "nsCSSParser.h"
|
||||
|
||||
#include "mozilla/ArrayUtils.h"
|
||||
#include "mozilla/DebugOnly.h"
|
||||
#include "mozilla/Maybe.h"
|
||||
@ -16,7 +18,6 @@
|
||||
#include <algorithm> // for std::stable_sort
|
||||
#include <limits> // for std::numeric_limits
|
||||
|
||||
#include "nsCSSParser.h"
|
||||
#include "nsAlgorithm.h"
|
||||
#include "nsCSSProps.h"
|
||||
#include "nsCSSKeywords.h"
|
||||
@ -1677,7 +1678,6 @@ void
|
||||
CSSParserImpl::ReleaseScanner()
|
||||
{
|
||||
mScanner = nullptr;
|
||||
mIsSVGMode = false;
|
||||
mReporter = nullptr;
|
||||
mBaseURI = nullptr;
|
||||
mSheetURI = nullptr;
|
||||
|
@ -8,9 +8,10 @@
|
||||
* values they accept
|
||||
*/
|
||||
|
||||
#include "nsCSSProps.h"
|
||||
|
||||
#include "mozilla/ArrayUtils.h"
|
||||
|
||||
#include "nsCSSProps.h"
|
||||
#include "nsCSSKeywords.h"
|
||||
#include "nsLayoutUtils.h"
|
||||
#include "nsStyleConsts.h"
|
||||
|
@ -5,9 +5,10 @@
|
||||
|
||||
/* atom list for CSS pseudo-elements */
|
||||
|
||||
#include "nsCSSPseudoElements.h"
|
||||
|
||||
#include "mozilla/ArrayUtils.h"
|
||||
|
||||
#include "nsCSSPseudoElements.h"
|
||||
#include "nsAtomListUtils.h"
|
||||
#include "nsStaticAtom.h"
|
||||
#include "nsCSSAnonBoxes.h"
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user