mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
merge fx-team to mozilla-central a=merge
This commit is contained in:
commit
af77b8b7d6
@ -524,6 +524,20 @@ Sanitizer.prototype = {
|
||||
let features = "chrome,all,dialog=no," + this.privateStateForNewWindow;
|
||||
let newWindow = existingWindow.openDialog("chrome://browser/content/", "_blank",
|
||||
features, defaultArgs);
|
||||
#ifdef XP_MACOSX
|
||||
function onFullScreen(e) {
|
||||
newWindow.removeEventListener("fullscreen", onFullScreen);
|
||||
let docEl = newWindow.document.documentElement;
|
||||
let sizemode = docEl.getAttribute("sizemode");
|
||||
if (!newWindow.fullScreen && sizemode == "fullscreen") {
|
||||
docEl.setAttribute("sizemode", "normal");
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
newWindow.addEventListener("fullscreen", onFullScreen);
|
||||
#endif
|
||||
|
||||
// Window creation and destruction is asynchronous. We need to wait
|
||||
// until all existing windows are fully closed, and the new window is
|
||||
@ -537,6 +551,9 @@ Sanitizer.prototype = {
|
||||
return;
|
||||
|
||||
Services.obs.removeObserver(onWindowOpened, "browser-delayed-startup-finished");
|
||||
#ifdef XP_MACOSX
|
||||
newWindow.removeEventListener("fullscreen", onFullScreen);
|
||||
#endif
|
||||
newWindowOpened = true;
|
||||
// If we're the last thing to happen, invoke callback.
|
||||
if (numWindowsClosing == 0)
|
||||
|
@ -1,5 +1,5 @@
|
||||
[DEFAULT]
|
||||
skip-if = buildapp == "mulet" || e10s
|
||||
skip-if = buildapp == "mulet"
|
||||
support-files =
|
||||
head.js
|
||||
support/test_967000_charEncoding_page.html
|
||||
@ -34,6 +34,7 @@ skip-if = os == "mac"
|
||||
skip-if = os == "linux"
|
||||
|
||||
[browser_901207_searchbar_in_panel.js]
|
||||
skip-if = e10s # bug 1090656
|
||||
[browser_913972_currentset_overflow.js]
|
||||
skip-if = os == "linux"
|
||||
|
||||
@ -54,7 +55,6 @@ skip-if = os == "mac"
|
||||
skip-if = os == "linux"
|
||||
|
||||
[browser_934951_zoom_in_toolbar.js]
|
||||
skip-if = e10s # Bug ?????? - test uses promiseTabLoadEvent() which isn't e10s friendly.
|
||||
[browser_938980_navbar_collapsed.js]
|
||||
[browser_938995_indefaultstate_nonremovable.js]
|
||||
[browser_940013_registerToolbarNode_calls_registerArea.js]
|
||||
@ -83,7 +83,7 @@ skip-if = os == "linux" # Intermittent failures
|
||||
[browser_947914_button_paste.js]
|
||||
skip-if = os == "linux" # Intermittent failures
|
||||
[browser_947914_button_print.js]
|
||||
skip-if = os == "linux" # Intermittent failures
|
||||
skip-if = os == "linux" || (os == "win" && e10s) # Intermittent failures on Linux, e10s issues on Windows (bug 1088714)
|
||||
[browser_947914_button_savePage.js]
|
||||
skip-if = os == "linux" # Intermittent failures
|
||||
[browser_947914_button_zoomIn.js]
|
||||
@ -100,11 +100,9 @@ skip-if = os == "linux" # Intermittent failures
|
||||
[browser_962884_opt_in_disable_hyphens.js]
|
||||
[browser_963639_customizing_attribute_non_customizable_toolbar.js]
|
||||
[browser_967000_button_charEncoding.js]
|
||||
skip-if = e10s # Bug ?????? - test uses promiseTabLoadEvent() which isn't e10s friendly.
|
||||
skip-if = e10s # Bug 1088710
|
||||
[browser_967000_button_feeds.js]
|
||||
skip-if = buildapp == 'mulet' || e10s # Bug ?????? - test uses promiseTabLoadEvent() which isn't e10s friendly.
|
||||
[browser_967000_button_sync.js]
|
||||
skip-if = e10s # Bug ?????? - test uses promiseTabLoadEvent() which isn't e10s friendly.
|
||||
[browser_967000_button_tabView.js]
|
||||
[browser_968447_bookmarks_toolbar_items_in_panel.js]
|
||||
skip-if = os == "linux" # Intemittent failures - bug 979207
|
||||
@ -129,6 +127,7 @@ skip-if = os == "linux"
|
||||
skip-if = os == "linux"
|
||||
|
||||
[browser_985815_propagate_setToolbarVisibility.js]
|
||||
skip-if = e10s # bug 1090635
|
||||
[browser_981305_separator_insertion.js]
|
||||
[browser_988072_sidebar_events.js]
|
||||
[browser_989338_saved_placements_not_resaved.js]
|
||||
@ -138,6 +137,7 @@ skip-if = os == "linux"
|
||||
[browser_987185_syncButton.js]
|
||||
[browser_987492_window_api.js]
|
||||
[browser_987640_charEncoding.js]
|
||||
skip-if = e10s # Bug 1088710
|
||||
[browser_992747_toggle_noncustomizable_toolbar.js]
|
||||
[browser_993322_widget_notoolbar.js]
|
||||
[browser_995164_registerArea_during_customize_mode.js]
|
||||
|
@ -26,6 +26,37 @@ loop.shared.mixins = (function() {
|
||||
rootObject = obj;
|
||||
}
|
||||
|
||||
/**
|
||||
* window.location mixin. Handles changes in the call url.
|
||||
* Forces a reload of the page to ensure proper state of the webapp
|
||||
*
|
||||
* @type {Object}
|
||||
*/
|
||||
var UrlHashChangeMixin = {
|
||||
propTypes: {
|
||||
onUrlHashChange: React.PropTypes.func.isRequired
|
||||
},
|
||||
|
||||
componentDidMount: function() {
|
||||
rootObject.addEventListener("hashchange", this.onUrlHashChange, false);
|
||||
},
|
||||
|
||||
componentWillUnmount: function() {
|
||||
rootObject.removeEventListener("hashchange", this.onUrlHashChange, false);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Document location mixin.
|
||||
*
|
||||
* @type {Object}
|
||||
*/
|
||||
var DocumentLocationMixin = {
|
||||
locationReload: function() {
|
||||
rootObject.location.reload();
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Dropdown menu mixin.
|
||||
* @type {Object}
|
||||
@ -151,6 +182,8 @@ loop.shared.mixins = (function() {
|
||||
AudioMixin: AudioMixin,
|
||||
setRootObject: setRootObject,
|
||||
DropdownMenuMixin: DropdownMenuMixin,
|
||||
DocumentVisibilityMixin: DocumentVisibilityMixin
|
||||
DocumentVisibilityMixin: DocumentVisibilityMixin,
|
||||
DocumentLocationMixin: DocumentLocationMixin,
|
||||
UrlHashChangeMixin: UrlHashChangeMixin
|
||||
};
|
||||
})();
|
||||
|
@ -859,6 +859,10 @@ loop.webapp = (function($, _, OT, mozL10n) {
|
||||
* of the webapp page.
|
||||
*/
|
||||
var WebappRootView = React.createClass({displayName: 'WebappRootView',
|
||||
|
||||
mixins: [sharedMixins.UrlHashChangeMixin,
|
||||
sharedMixins.DocumentLocationMixin],
|
||||
|
||||
propTypes: {
|
||||
client: React.PropTypes.instanceOf(loop.StandaloneClient).isRequired,
|
||||
conversation: React.PropTypes.oneOfType([
|
||||
@ -879,6 +883,10 @@ loop.webapp = (function($, _, OT, mozL10n) {
|
||||
};
|
||||
},
|
||||
|
||||
onUrlHashChange: function() {
|
||||
this.locationReload();
|
||||
},
|
||||
|
||||
render: function() {
|
||||
if (this.state.unsupportedDevice) {
|
||||
return UnsupportedDeviceView(null);
|
||||
|
@ -859,6 +859,10 @@ loop.webapp = (function($, _, OT, mozL10n) {
|
||||
* of the webapp page.
|
||||
*/
|
||||
var WebappRootView = React.createClass({
|
||||
|
||||
mixins: [sharedMixins.UrlHashChangeMixin,
|
||||
sharedMixins.DocumentLocationMixin],
|
||||
|
||||
propTypes: {
|
||||
client: React.PropTypes.instanceOf(loop.StandaloneClient).isRequired,
|
||||
conversation: React.PropTypes.oneOfType([
|
||||
@ -879,6 +883,10 @@ loop.webapp = (function($, _, OT, mozL10n) {
|
||||
};
|
||||
},
|
||||
|
||||
onUrlHashChange: function() {
|
||||
this.locationReload();
|
||||
},
|
||||
|
||||
render: function() {
|
||||
if (this.state.unsupportedDevice) {
|
||||
return <UnsupportedDeviceView />;
|
||||
|
@ -21,6 +21,75 @@ describe("loop.shared.mixins", function() {
|
||||
sandbox.restore();
|
||||
});
|
||||
|
||||
describe("loop.webapp.UrlHashChangeMixin", function() {
|
||||
function createTestComponent(onUrlHashChange) {
|
||||
var TestComp = React.createClass({
|
||||
mixins: [loop.shared.mixins.UrlHashChangeMixin],
|
||||
onUrlHashChange: onUrlHashChange || function(){},
|
||||
render: function() {
|
||||
return React.DOM.div();
|
||||
}
|
||||
});
|
||||
return new TestComp();
|
||||
}
|
||||
|
||||
it("should watch for hashchange event", function() {
|
||||
var addEventListener = sandbox.spy();
|
||||
sharedMixins.setRootObject({
|
||||
addEventListener: addEventListener
|
||||
});
|
||||
|
||||
TestUtils.renderIntoDocument(createTestComponent());
|
||||
|
||||
sinon.assert.calledOnce(addEventListener);
|
||||
sinon.assert.calledWith(addEventListener, "hashchange");
|
||||
});
|
||||
|
||||
it("should call onUrlHashChange when the url is updated", function() {
|
||||
sharedMixins.setRootObject({
|
||||
addEventListener: function(name, cb) {
|
||||
if (name === "hashchange") {
|
||||
cb();
|
||||
}
|
||||
}
|
||||
});
|
||||
var onUrlHashChange = sandbox.stub();
|
||||
|
||||
TestUtils.renderIntoDocument(createTestComponent(onUrlHashChange));
|
||||
|
||||
sinon.assert.calledOnce(onUrlHashChange);
|
||||
});
|
||||
});
|
||||
|
||||
describe("loop.webapp.DocumentLocationMixin", function() {
|
||||
var reloadStub, TestComp;
|
||||
|
||||
beforeEach(function() {
|
||||
reloadStub = sandbox.stub();
|
||||
|
||||
sharedMixins.setRootObject({
|
||||
location: {
|
||||
reload: reloadStub
|
||||
}
|
||||
});
|
||||
|
||||
TestComp = React.createClass({
|
||||
mixins: [loop.shared.mixins.DocumentLocationMixin],
|
||||
render: function() {
|
||||
return React.DOM.div();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
it("should call window.location.reload", function() {
|
||||
var comp = TestUtils.renderIntoDocument(TestComp());
|
||||
|
||||
comp.locationReload();
|
||||
|
||||
sinon.assert.calledOnce(reloadStub);
|
||||
});
|
||||
});
|
||||
|
||||
describe("loop.panel.DocumentVisibilityMixin", function() {
|
||||
var comp, TestComp, onDocumentVisibleStub, onDocumentHiddenStub;
|
||||
|
||||
|
@ -514,7 +514,8 @@ describe("loop.webapp", function() {
|
||||
notifications: notifications,
|
||||
sdk: sdk,
|
||||
conversation: conversationModel,
|
||||
feedbackApiClient: feedbackApiClient
|
||||
feedbackApiClient: feedbackApiClient,
|
||||
onUrlHashChange: sandbox.stub()
|
||||
}));
|
||||
}
|
||||
|
||||
|
@ -838,7 +838,17 @@ this.UITour = {
|
||||
highlighter.parentElement.setAttribute("targetName", aTarget.targetName);
|
||||
highlighter.parentElement.hidden = false;
|
||||
|
||||
let targetRect = aTarget.node.getBoundingClientRect();
|
||||
let highlightAnchor;
|
||||
// If the target is in the overflow panel, just highlight the overflow button.
|
||||
if (aTarget.node.getAttribute("overflowedItem")) {
|
||||
let doc = aTarget.node.ownerDocument;
|
||||
let placement = CustomizableUI.getPlacementOfWidget(aTarget.widgetName || aTarget.node.id);
|
||||
let areaNode = doc.getElementById(placement.area);
|
||||
highlightAnchor = areaNode.overflowable._chevron;
|
||||
} else {
|
||||
highlightAnchor = aTarget.node;
|
||||
}
|
||||
let targetRect = highlightAnchor.getBoundingClientRect();
|
||||
let highlightHeight = targetRect.height;
|
||||
let highlightWidth = targetRect.width;
|
||||
let minDimension = Math.min(highlightHeight, highlightWidth);
|
||||
@ -874,7 +884,7 @@ this.UITour = {
|
||||
let offsetY = paddingLeftPx
|
||||
- (Math.max(0, highlightHeightWithMin - targetRect.height) / 2);
|
||||
this._addAnnotationPanelMutationObserver(highlighter.parentElement);
|
||||
highlighter.parentElement.openPopup(aTarget.node, "overlap", offsetX, offsetY);
|
||||
highlighter.parentElement.openPopup(highlightAnchor, "overlap", offsetX, offsetY);
|
||||
}
|
||||
|
||||
// Prevent showing a panel at an undefined position.
|
||||
|
@ -18,6 +18,23 @@
|
||||
%define conditionalForwardWithUrlbar window:not([chromehidden~="toolbar"]) #urlbar-wrapper
|
||||
%define conditionalForwardWithUrlbarWidth 30
|
||||
|
||||
:root {
|
||||
--toolbarbutton-hover-background: hsla(0,0%,100%,.3) linear-gradient(hsla(0,0%,100%,.7), hsla(0,0%,100%,.2));
|
||||
--toolbarbutton-hover-boxshadow: 0 1px 0 hsla(0,0%,100%,.3) inset, 0 0 0 1px hsla(0,0%,100%,.2) inset, 0 1px 0 hsla(0,0%,0%,.03);
|
||||
--toolbarbutton-hover-bordercolor: rgb(154,154,154);
|
||||
|
||||
--toolbarbutton-active-boxshadow: 0 1px 1px hsla(0,0%,0%,.1) inset, 0 0 1px hsla(0,0%,0%,.3) inset;
|
||||
--toolbarbutton-active-bordercolor: rgb(154,154,154);
|
||||
--toolbarbutton-active-background: rgba(154,154,154,.5) linear-gradient(hsla(0,0%,100%,.7), hsla(0,0%,100%,.4));
|
||||
|
||||
--toolbarbutton-checkedhover-backgroundcolor: rgba(90%,90%,90%,.4);
|
||||
|
||||
--toolbarbutton-combined-boxshadow: 0 0 0 1px hsla(0,0%,100%,.2);
|
||||
--toolbarbutton-combined-backgroundimage: linear-gradient(hsla(210,54%,20%,.2) 0, hsla(210,54%,20%,.2) 18px);
|
||||
|
||||
--verified-identity-box-backgroundcolor: #fff;
|
||||
}
|
||||
|
||||
#menubar-items {
|
||||
-moz-box-orient: vertical; /* for flex hack */
|
||||
}
|
||||
@ -590,12 +607,11 @@ toolbarbutton[sdk-button="true"][cui-areatype="toolbar"] > .toolbarbutton-icon {
|
||||
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1:not([disabled=true]):not([open]):hover > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon,
|
||||
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1:not([disabled=true]):hover > .toolbarbutton-badge-container > .toolbarbutton-icon,
|
||||
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1:not([disabled=true]):hover > .toolbarbutton-icon {
|
||||
background-color: hsla(0,0%,100%,.3);
|
||||
background-image: linear-gradient(hsla(0,0%,100%,.7), hsla(0,0%,100%,.2));
|
||||
border: 1px solid rgb(154,154,154);
|
||||
box-shadow: 0 1px 0 hsla(0,0%,100%,.3) inset,
|
||||
0 0 0 1px hsla(0,0%,100%,.2) inset,
|
||||
0 1px 0 hsla(0,0%,0%,.03);
|
||||
background: var(--toolbarbutton-hover-background);
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: var(--toolbarbutton-hover-bordercolor);
|
||||
box-shadow: var(--toolbarbutton-hover-boxshadow);
|
||||
}
|
||||
|
||||
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1:hover > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon,
|
||||
@ -608,16 +624,16 @@ toolbarbutton[sdk-button="true"][cui-areatype="toolbar"] > .toolbarbutton-icon {
|
||||
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1[open="true"] > .toolbarbutton-menubutton-dropmarker:not([disabled=true]) > .dropmarker-icon,
|
||||
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1:not([disabled=true]):-moz-any([open],[checked],:hover:active) > .toolbarbutton-badge-container > .toolbarbutton-icon,
|
||||
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1:not([disabled=true]):-moz-any([open],[checked],:hover:active) > .toolbarbutton-icon {
|
||||
background-color: rgba(154,154,154,.5);
|
||||
background-image: linear-gradient(hsla(0,0%,100%,.7), hsla(0,0%,100%,.4));
|
||||
border: 1px solid rgb(154,154,154);
|
||||
box-shadow: 0 1px 1px hsla(0,0%,0%,.1) inset,
|
||||
0 0 1px hsla(0,0%,0%,.3) inset;
|
||||
background: var(--toolbarbutton-active-background);
|
||||
box-shadow: var(--toolbarbutton-active-boxshadow);
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: var(--toolbarbutton-active-bordercolor);
|
||||
transition-duration: 10ms;
|
||||
}
|
||||
|
||||
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1[checked]:not(:active):hover > .toolbarbutton-icon {
|
||||
background-color: rgba(90%,90%,90%,.4);
|
||||
background-color: var(--toolbarbutton-checkedhover-backgroundcolor);
|
||||
transition: background-color 150ms;
|
||||
}
|
||||
|
||||
@ -633,12 +649,12 @@ toolbarbutton[sdk-button="true"][cui-areatype="toolbar"] > .toolbarbutton-icon {
|
||||
width: 1px;
|
||||
height: 18px;
|
||||
-moz-margin-end: -1px;
|
||||
background-image: linear-gradient(hsla(210,54%,20%,.2) 0, hsla(210,54%,20%,.2) 18px);
|
||||
background-image: var(--toolbarbutton-combined-backgroundimage);
|
||||
background-clip: padding-box;
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 1px 18px;
|
||||
box-shadow: 0 0 0 1px hsla(0,0%,100%,.2);
|
||||
box-shadow: var(--toolbarbutton-combined-boxshadow);
|
||||
}
|
||||
|
||||
:-moz-any(#TabsToolbar, #nav-bar) .toolbarbutton-1 > .toolbarbutton-menubutton-dropmarker {
|
||||
@ -971,7 +987,7 @@ toolbarbutton[sdk-button="true"][cui-areatype="toolbar"] > .toolbarbutton-icon {
|
||||
}
|
||||
|
||||
#identity-box.verifiedIdentity:not(:-moz-lwtheme) {
|
||||
background-color: #fff;
|
||||
background-color: var(--verified-identity-box-backgroundcolor);
|
||||
}
|
||||
|
||||
#identity-box:-moz-focusring {
|
||||
|
@ -17,6 +17,28 @@
|
||||
%define conditionalForwardWithUrlbar window:not([chromehidden~="toolbar"]) #urlbar-wrapper
|
||||
%define conditionalForwardWithUrlbarWidth 30
|
||||
|
||||
:root {
|
||||
--toolbarbutton-hover-background: hsla(210,4%,10%,.08);
|
||||
--toolbarbutton-hover-bordercolor: hsla(210,4%,10%,.1);
|
||||
--toolbarbutton-hover-boxshadow: none;
|
||||
|
||||
--toolbarbutton-active-background: hsla(210,4%,10%,.12);
|
||||
--toolbarbutton-active-bordercolor: hsla(210,4%,10%,.2) transparent transparent;
|
||||
--toolbarbutton-active-boxshadow: 0 1px 0 0 hsla(210,4%,10%,.1) inset;
|
||||
|
||||
--toolbarbutton-checkedhover-backgroundcolor: hsla(210,4%,10%,.12);
|
||||
|
||||
--toolbarbutton-combined-boxshadow: none;
|
||||
--toolbarbutton-combined-backgroundimage: linear-gradient(hsla(210,54%,20%,.2) 0, hsla(210,54%,20%,.2) 16px);
|
||||
|
||||
--verified-identity-box-backgroundcolor: #FFF;
|
||||
|
||||
--urlbar-dropmarker-url: url("chrome://browser/skin/urlbar-history-dropmarker.png");
|
||||
--urlbar-dropmarker-region: rect(0px, 11px, 14px, 0px);
|
||||
--urlbar-dropmarker-hover-region: rect(0px, 22px, 14px, 11px);
|
||||
--urlbar-dropmarker-active-region: rect(0px, 33px, 14px, 22px);
|
||||
}
|
||||
|
||||
#menubar-items {
|
||||
-moz-box-orient: vertical; /* for flex hack */
|
||||
}
|
||||
@ -663,6 +685,27 @@ toolbar[brighttext] .toolbarbutton-1 > .toolbarbutton-menubutton-dropmarker {
|
||||
(-moz-os-version: windows-win7) {
|
||||
%endif
|
||||
/* < Win8 */
|
||||
:root {
|
||||
--toolbarbutton-hover-background: linear-gradient(hsla(0,0%,100%,.6), hsla(0,0%,100%,.1));
|
||||
--toolbarbutton-hover-bordercolor: hsla(210,54%,20%,.15) hsla(210,54%,20%,.2) hsla(210,54%,20%,.25);
|
||||
--toolbarbutton-hover-boxshadow: 0 1px hsla(0,0%,100%,.3) inset,
|
||||
0 1px hsla(210,54%,20%,.03),
|
||||
0 0 2px hsla(210,54%,20%,.1);
|
||||
|
||||
--toolbarbutton-active-background: hsla(210,54%,20%,.15) linear-gradient(hsla(0,0%,100%,.6), hsla(0,0%,100%,.1));
|
||||
--toolbarbutton-active-bordercolor: hsla(210,54%,20%,.3) hsla(210,54%,20%,.35) hsla(210,54%,20%,.4);
|
||||
--toolbarbutton-active-boxshadow: 0 1px 1px hsla(210,54%,20%,.1) inset,
|
||||
0 0 1px hsla(210,54%,20%,.2) inset,
|
||||
/* allows keyhole-forward-clip-path to be used for non-hover as well as hover: */
|
||||
0 1px 0 hsla(210,54%,20%,0),
|
||||
0 0 2px hsla(210,54%,20%,0);
|
||||
|
||||
--toolbarbutton-checkedhover-backgroundcolor: rgba(90%,90%,90%,.4);
|
||||
|
||||
--toolbarbutton-combined-backgroundimage: linear-gradient(hsla(210,54%,20%,.2) 0, hsla(210,54%,20%,.2) 18px);
|
||||
--toolbarbutton-combined-boxshadow: 0 0 0 1px hsla(0,0%,100%,.2);
|
||||
}
|
||||
|
||||
#nav-bar .toolbarbutton-1 > .toolbarbutton-icon,
|
||||
#nav-bar .toolbarbutton-1 > .toolbarbutton-text,
|
||||
#nav-bar .toolbarbutton-1 > .toolbarbutton-badge-container,
|
||||
@ -732,7 +775,8 @@ toolbarbutton[sdk-button="true"][cui-areatype="toolbar"] > .toolbarbutton-icon {
|
||||
width: 1px;
|
||||
height: 16px;
|
||||
-moz-margin-end: -1px;
|
||||
background-image: linear-gradient(hsla(210,54%,20%,.2) 0, hsla(210,54%,20%,.2) 16px);
|
||||
background-image: var(--toolbarbutton-combined-backgroundimage);
|
||||
box-shadow: var(--toolbarbutton-combined-boxshadow);
|
||||
background-clip: padding-box;
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
@ -751,8 +795,9 @@ toolbarbutton[sdk-button="true"][cui-areatype="toolbar"] > .toolbarbutton-icon {
|
||||
#nav-bar .toolbarbutton-1:not([disabled=true]):not([checked]):not([open]):not(:active):hover > .toolbarbutton-badge-container,
|
||||
@conditionalForwardWithUrlbar@ > #forward-button:not([open]):not(:active):not([disabled]):hover > .toolbarbutton-icon,
|
||||
#nav-bar .toolbarbutton-1:not([buttonover]):not([open]):not(:active):hover > .toolbarbutton-menubutton-dropmarker:not([disabled]) > .dropmarker-icon {
|
||||
background-color: hsla(210,4%,10%,.08);
|
||||
border-color: hsla(210,4%,10%,.1);
|
||||
background: var(--toolbarbutton-hover-background);
|
||||
border-color: var(--toolbarbutton-hover-bordercolor);
|
||||
box-shadow: var(--toolbarbutton-hover-boxshadow);
|
||||
}
|
||||
|
||||
%ifdef WINDOWS_AERO
|
||||
@ -762,17 +807,8 @@ toolbarbutton[sdk-button="true"][cui-areatype="toolbar"] > .toolbarbutton-icon {
|
||||
/* < Win8 */
|
||||
#nav-bar .toolbarbutton-1:not(:hover):not(:active):not([open]) > .toolbarbutton-menubutton-dropmarker::before,
|
||||
#nav-bar .toolbaritem-combined-buttons > .toolbarbutton-1:-moz-any(:not(:hover):not([open]),[disabled]) + .toolbarbutton-1:-moz-any(:not(:hover):not([open]),[disabled])::before {
|
||||
content: "";
|
||||
display: -moz-box;
|
||||
width: 1px;
|
||||
height: 18px;
|
||||
-moz-margin-end: -1px;
|
||||
background-image: linear-gradient(hsla(210,54%,20%,.2) 0, hsla(210,54%,20%,.2) 18px);
|
||||
background-clip: padding-box;
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 1px 18px;
|
||||
box-shadow: 0 0 0 1px hsla(0,0%,100%,.2);
|
||||
}
|
||||
|
||||
#nav-bar .toolbarbutton-1 > .toolbarbutton-menubutton-button > .toolbarbutton-icon:-moz-locale-dir(ltr),
|
||||
@ -787,21 +823,6 @@ toolbarbutton[sdk-button="true"][cui-areatype="toolbar"] > .toolbarbutton-icon {
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
#nav-bar .toolbarbutton-1:not([disabled=true]) > .toolbarbutton-menubutton-button[open] + .toolbarbutton-menubutton-dropmarker > .dropmarker-icon,
|
||||
#nav-bar .toolbarbutton-1:not([disabled]):-moz-any(:hover,[open]) > .toolbarbutton-menubutton-button > .toolbarbutton-icon,
|
||||
#nav-bar .toolbarbutton-1:not([disabled]):hover > .toolbarbutton-menubutton-dropmarker > .dropmarker-icon,
|
||||
#nav-bar .toolbarbutton-1:not([disabled]):not([checked]):not([open]):not(:active):hover > .toolbarbutton-icon,
|
||||
#nav-bar .toolbarbutton-1:not([disabled]):not([checked]):not([open]):not(:active):hover > .toolbarbutton-text,
|
||||
#nav-bar .toolbarbutton-1:not([disabled]):not([checked]):not([open]):not(:active):hover > .toolbarbutton-badge-container,
|
||||
@conditionalForwardWithUrlbar@ > .toolbarbutton-1:-moz-any([disabled],:not([open]):not([disabled]):not(:active)) > .toolbarbutton-icon {
|
||||
background-image: linear-gradient(hsla(0,0%,100%,.6), hsla(0,0%,100%,.1));
|
||||
background-color: transparent;
|
||||
border-color: hsla(210,54%,20%,.15) hsla(210,54%,20%,.2) hsla(210,54%,20%,.25);
|
||||
box-shadow: 0 1px hsla(0,0%,100%,.3) inset,
|
||||
0 1px hsla(210,54%,20%,.03),
|
||||
0 0 2px hsla(210,54%,20%,.1);
|
||||
}
|
||||
|
||||
#nav-bar .toolbarbutton-1 > .toolbarbutton-menubutton-button:not([disabled]):not([open]):not(:active):hover > .toolbarbutton-icon,
|
||||
#nav-bar .toolbarbutton-1:not([buttonover]):not([open]):not(:active):hover > .toolbarbutton-menubutton-dropmarker:not([disabled]) > .dropmarker-icon,
|
||||
@conditionalForwardWithUrlbar@ > #forward-button:not([open]):not(:active):not([disabled]):hover > .toolbarbutton-icon {
|
||||
@ -819,9 +840,9 @@ toolbarbutton[sdk-button="true"][cui-areatype="toolbar"] > .toolbarbutton-icon {
|
||||
#nav-bar .toolbarbutton-1:not([disabled=true]):-moz-any([open],[checked],:hover:active) > .toolbarbutton-icon,
|
||||
#nav-bar .toolbarbutton-1:not([disabled=true]):-moz-any([open],[checked],:hover:active) > .toolbarbutton-text,
|
||||
#nav-bar .toolbarbutton-1:not([disabled=true]):-moz-any([open],[checked],:hover:active) > .toolbarbutton-badge-container {
|
||||
background-color: hsla(210,4%,10%,.12);
|
||||
border-top-color: hsla(210,4%,10%,.2);
|
||||
box-shadow: 0 1px 0 0 hsla(210,4%,10%,.1) inset;
|
||||
background: var(--toolbarbutton-active-background);
|
||||
border-color: var(--toolbarbutton-active-bordercolor);
|
||||
box-shadow: var(--toolbarbutton-active-boxshadow);
|
||||
transition-duration: 10ms;
|
||||
}
|
||||
|
||||
@ -835,14 +856,6 @@ toolbarbutton[sdk-button="true"][cui-areatype="toolbar"] > .toolbarbutton-icon {
|
||||
#nav-bar .toolbarbutton-1:not([disabled]):-moz-any([open],[checked],:hover:active) > .toolbarbutton-icon,
|
||||
#nav-bar .toolbarbutton-1:not([disabled]):-moz-any([open],[checked],:hover:active) > .toolbarbutton-text,
|
||||
#nav-bar .toolbarbutton-1:not([disabled]):-moz-any([open],[checked],:hover:active) > .toolbarbutton-badge-container {
|
||||
background-image: linear-gradient(hsla(0,0%,100%,.6), hsla(0,0%,100%,.1));
|
||||
background-color: hsla(210,54%,20%,.15);
|
||||
border-color: hsla(210,54%,20%,.3) hsla(210,54%,20%,.35) hsla(210,54%,20%,.4);
|
||||
box-shadow: 0 1px 1px hsla(210,54%,20%,.1) inset,
|
||||
0 0 1px hsla(210,54%,20%,.2) inset,
|
||||
/* allows keyhole-forward-clip-path to be used for non-hover as well as hover: */
|
||||
0 1px 0 hsla(210,54%,20%,0),
|
||||
0 0 2px hsla(210,54%,20%,0);
|
||||
text-shadow: none;
|
||||
transition: none;
|
||||
}
|
||||
@ -852,7 +865,7 @@ toolbarbutton[sdk-button="true"][cui-areatype="toolbar"] > .toolbarbutton-icon {
|
||||
}
|
||||
|
||||
#nav-bar .toolbarbutton-1[checked]:not(:active):hover > .toolbarbutton-icon {
|
||||
background-color: rgba(90%,90%,90%,.4);
|
||||
background-color: var(--toolbarbutton-checkedhover-backgroundcolor);
|
||||
transition: background-color .4s;
|
||||
}
|
||||
%ifdef WINDOWS_AERO
|
||||
@ -1317,7 +1330,7 @@ html|*.urlbar-input:-moz-lwtheme::-moz-placeholder,
|
||||
}
|
||||
|
||||
#identity-box.verifiedIdentity:not(:-moz-lwtheme) {
|
||||
background-color: #fff;
|
||||
background-color: var(--verified-identity-box-backgroundcolor);
|
||||
}
|
||||
|
||||
#identity-box:-moz-focusring {
|
||||
@ -1338,19 +1351,19 @@ html|*.urlbar-input:-moz-lwtheme::-moz-placeholder,
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
width: auto;
|
||||
list-style-image: url("chrome://browser/skin/urlbar-history-dropmarker.png");
|
||||
-moz-image-region: rect(0px, 11px, 14px, 0px);
|
||||
list-style-image: var(--urlbar-dropmarker-url);
|
||||
-moz-image-region: var(--urlbar-dropmarker-region);
|
||||
}
|
||||
|
||||
.urlbar-history-dropmarker:hover {
|
||||
background-image: radial-gradient(circle closest-side, hsla(205,100%,70%,.3), transparent);
|
||||
-moz-image-region: rect(0px, 22px, 14px, 11px);
|
||||
-moz-image-region: var(--urlbar-dropmarker-hover-region);
|
||||
}
|
||||
|
||||
.urlbar-history-dropmarker:hover:active,
|
||||
.urlbar-history-dropmarker[open="true"] {
|
||||
background-image: radial-gradient(circle closest-side, hsla(205,100%,70%,.1), transparent);
|
||||
-moz-image-region: rect(0px, 33px, 14px, 22px);
|
||||
-moz-image-region: var(--urlbar-dropmarker-active-region);
|
||||
}
|
||||
|
||||
/* page proxy icon */
|
||||
|
@ -30,8 +30,8 @@
|
||||
#BMB_bookmarksPopup menupopup[placespopup=true] > hbox {
|
||||
/* emulating chrome://browser/content/places/menu.xml#places-popup-arrow but without the arrow */
|
||||
box-shadow: 0 0 4px rgba(0,0,0,0.2);
|
||||
background: #FFF;
|
||||
border: 1px solid rgba(0,0,0,0.25);
|
||||
background: var(--panel-arrowcontent-background);
|
||||
border: var(--panel-arrowcontent-border);
|
||||
border-radius: 3.5px;
|
||||
margin-top: -4px;
|
||||
}
|
||||
|
@ -2,6 +2,10 @@
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
.searchbar-dropmarker-image {
|
||||
--searchbar-dropmarker-url: url("chrome://browser/skin/searchbar-dropdown-arrow.png");
|
||||
}
|
||||
|
||||
.autocomplete-textbox-container {
|
||||
-moz-box-align: stretch;
|
||||
}
|
||||
@ -38,7 +42,7 @@
|
||||
}
|
||||
|
||||
.searchbar-dropmarker-image {
|
||||
list-style-image: url("chrome://browser/skin/searchbar-dropdown-arrow.png");
|
||||
list-style-image: var(--searchbar-dropmarker-url);
|
||||
-moz-image-region: rect(0, 13px, 11px, 0);
|
||||
}
|
||||
|
||||
|
@ -4,6 +4,13 @@
|
||||
|
||||
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
|
||||
|
||||
/* ::::: Variables ::::: */
|
||||
.panel-arrowcontent {
|
||||
--panel-arrowcontent-background: -moz-field;
|
||||
--panel-arrowcontent-color: -moz-FieldText;
|
||||
--panel-arrowcontent-border: 1px solid ThreeDShadow;
|
||||
}
|
||||
|
||||
/* ::::: menupopup ::::: */
|
||||
|
||||
menupopup,
|
||||
@ -49,10 +56,10 @@ panel[type="arrow"][side="right"] {
|
||||
|
||||
.panel-arrowcontent {
|
||||
padding: 10px;
|
||||
color: -moz-FieldText;
|
||||
background: -moz-field;
|
||||
color: var(--panel-arrowcontent-color);
|
||||
background: var(--panel-arrowcontent-background);
|
||||
background-clip: padding-box;
|
||||
border: 1px solid ThreeDShadow;
|
||||
border: var(--panel-arrowcontent-border);
|
||||
margin: 4px;
|
||||
}
|
||||
|
||||
@ -105,7 +112,7 @@ panel[type="arrow"][side="right"] {
|
||||
%ifdef XP_WIN
|
||||
@media (-moz-windows-default-theme) {
|
||||
.panel-arrowcontent {
|
||||
border-color: hsla(210,4%,10%,.2);
|
||||
--panel-arrowcontent-border: 1px solid hsla(210,4%,10%,.2);
|
||||
box-shadow: 0 0 4px hsla(210,4%,10%,.2);
|
||||
}
|
||||
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include <sys/resource.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h> // atoi
|
||||
#include <sys/prctl.h>
|
||||
#ifndef ANDROID // no Android impl
|
||||
# include <ucontext.h>
|
||||
#endif
|
||||
@ -44,6 +45,13 @@ static unsigned int _gdb_sleep_duration = 300;
|
||||
#define CRAWL_STACK_ON_SIGSEGV
|
||||
#endif
|
||||
|
||||
#ifndef PR_SET_PTRACER
|
||||
#define PR_SET_PTRACER 0x59616d61
|
||||
#endif
|
||||
#ifndef PR_SET_PTRACER_ANY
|
||||
#define PR_SET_PTRACER_ANY ((unsigned long)-1)
|
||||
#endif
|
||||
|
||||
#if defined(CRAWL_STACK_ON_SIGSEGV)
|
||||
|
||||
#include <unistd.h>
|
||||
@ -87,6 +95,9 @@ ah_crap_handler(int signum)
|
||||
_progname,
|
||||
getpid());
|
||||
|
||||
// Allow us to be ptraced by gdb on Linux with Yama restrictions enabled.
|
||||
prctl(PR_SET_PTRACER, PR_SET_PTRACER_ANY);
|
||||
|
||||
sleep(_gdb_sleep_duration);
|
||||
|
||||
printf("Done sleeping...\n");
|
||||
|
Loading…
Reference in New Issue
Block a user