Merge m-c to autoland. a=merge
@ -33,9 +33,9 @@
|
||||
--toolbarbutton-checkedhover-backgroundcolor: rgba(200,200,200,.5);
|
||||
|
||||
--panel-separator-color: ThreeDShadow;
|
||||
--arrowpanel-dimmed: hsla(210,4%,10%,.07);
|
||||
--arrowpanel-dimmed-further: hsla(210,4%,10%,.12);
|
||||
--arrowpanel-dimmed-even-further: hsla(210,4%,10%,.17);
|
||||
--arrowpanel-dimmed: hsla(0,0%,80%,.3);
|
||||
--arrowpanel-dimmed-further: hsla(0,0%,80%,.45);
|
||||
--arrowpanel-dimmed-even-further: hsla(0,0%,80%,.8);
|
||||
|
||||
--urlbar-separator-color: ThreeDShadow;
|
||||
}
|
||||
@ -813,15 +813,6 @@ menuitem:not([type]):not(.menuitem-tooltip):not(.menuitem-iconic-tooltip) {
|
||||
opacity: 0.4;
|
||||
}
|
||||
|
||||
:-moz-any(@primaryToolbarButtons@)[cui-areatype="menu-panel"] > .toolbarbutton-icon,
|
||||
:-moz-any(@primaryToolbarButtons@)[cui-areatype="menu-panel"] > .toolbarbutton-badge-stack > .toolbarbutton-icon,
|
||||
:-moz-any(@primaryToolbarButtons@)[cui-areatype="menu-panel"] > .toolbarbutton-menubutton-button > .toolbarbutton-icon,
|
||||
toolbaritem[cui-areatype="menu-panel"] > :-moz-any(@nestedButtons@) > .toolbarbutton-icon {
|
||||
filter: url(chrome://browser/skin/filters.svg#fill);
|
||||
fill: currentColor;
|
||||
opacity: 0.7 !important; /* !important overrides .toolbarbutton-1[disabled=true] rule */
|
||||
}
|
||||
|
||||
/* Fullscreen window controls */
|
||||
#window-controls {
|
||||
-moz-box-align: start;
|
||||
|
@ -16,16 +16,12 @@ browser.jar:
|
||||
* skin/classic/browser/browser-lightweightTheme.css
|
||||
skin/classic/browser/click-to-play-warning-stripes.png
|
||||
skin/classic/browser/Info.png
|
||||
skin/classic/browser/menuPanel.png
|
||||
skin/classic/browser/menuPanel@2x.png
|
||||
skin/classic/browser/menuPanel-customize.png
|
||||
skin/classic/browser/menuPanel-customize@2x.png
|
||||
skin/classic/browser/menuPanel-exit.png
|
||||
skin/classic/browser/menuPanel-exit@2x.png
|
||||
skin/classic/browser/menuPanel-help.png
|
||||
skin/classic/browser/menuPanel-help@2x.png
|
||||
skin/classic/browser/menuPanel-small.png
|
||||
skin/classic/browser/menuPanel-small@2x.png
|
||||
skin/classic/browser/monitor.png
|
||||
skin/classic/browser/monitor_16-10.png
|
||||
* skin/classic/browser/pageInfo.css
|
||||
|
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 38 KiB |
@ -753,13 +753,6 @@ toolbar .toolbarbutton-1 > .toolbarbutton-menubutton-dropmarker > .dropmarker-ic
|
||||
%include ../shared/toolbarbuttons.inc.css
|
||||
%include ../shared/menupanel.inc.css
|
||||
|
||||
:-moz-any(@primaryToolbarButtons@)[cui-areatype="menu-panel"][panel-multiview-anchor=true] > .toolbarbutton-icon,
|
||||
:-moz-any(@primaryToolbarButtons@)[cui-areatype="menu-panel"][panel-multiview-anchor=true] > .toolbarbutton-badge-stack > .toolbarbutton-icon,
|
||||
:-moz-any(@primaryToolbarButtons@)[cui-areatype="menu-panel"][panel-multiview-anchor=true] > .toolbarbutton-menubutton-button > .toolbarbutton-icon {
|
||||
filter: url(chrome://browser/skin/filters.svg#fill);
|
||||
fill: currentColor;
|
||||
}
|
||||
|
||||
@media not all and (min-resolution: 1.1dppx) {
|
||||
#back-button:hover:active:not([disabled="true"]) {
|
||||
-moz-image-region: rect(18px, 36px, 36px, 18px);
|
||||
|
@ -21,16 +21,12 @@ browser.jar:
|
||||
skin/classic/browser/subtle-pattern.png
|
||||
skin/classic/browser/menu-back.png
|
||||
skin/classic/browser/menu-forward.png
|
||||
skin/classic/browser/menuPanel.png
|
||||
skin/classic/browser/menuPanel@2x.png
|
||||
skin/classic/browser/menuPanel-customize.png
|
||||
skin/classic/browser/menuPanel-customize@2x.png
|
||||
skin/classic/browser/menuPanel-exit.png
|
||||
skin/classic/browser/menuPanel-exit@2x.png
|
||||
skin/classic/browser/menuPanel-help.png
|
||||
skin/classic/browser/menuPanel-help@2x.png
|
||||
skin/classic/browser/menuPanel-small.png
|
||||
skin/classic/browser/menuPanel-small@2x.png
|
||||
skin/classic/browser/panel-expander-closed.png
|
||||
skin/classic/browser/panel-expander-closed@2x.png
|
||||
skin/classic/browser/panel-expander-open.png
|
||||
@ -197,16 +193,12 @@ browser.jar:
|
||||
skin/classic/browser/lion/places/toolbar.png (places/toolbar-lion.png)
|
||||
skin/classic/browser/yosemite/Toolbar.png (Toolbar-yosemite.png)
|
||||
skin/classic/browser/yosemite/Toolbar@2x.png (Toolbar-yosemite@2x.png)
|
||||
skin/classic/browser/yosemite/menuPanel.png (menuPanel-yosemite.png)
|
||||
skin/classic/browser/yosemite/menuPanel@2x.png (menuPanel-yosemite@2x.png)
|
||||
skin/classic/browser/yosemite/menuPanel-customize.png (menuPanel-customize-yosemite.png)
|
||||
skin/classic/browser/yosemite/menuPanel-customize@2x.png (menuPanel-customize-yosemite@2x.png)
|
||||
skin/classic/browser/yosemite/menuPanel-exit.png (menuPanel-exit-yosemite.png)
|
||||
skin/classic/browser/yosemite/menuPanel-exit@2x.png (menuPanel-exit-yosemite@2x.png)
|
||||
skin/classic/browser/yosemite/menuPanel-help.png (menuPanel-help-yosemite.png)
|
||||
skin/classic/browser/yosemite/menuPanel-help@2x.png (menuPanel-help-yosemite@2x.png)
|
||||
skin/classic/browser/yosemite/menuPanel-small.png (menuPanel-small-yosemite.png)
|
||||
skin/classic/browser/yosemite/menuPanel-small@2x.png (menuPanel-small-yosemite@2x.png)
|
||||
skin/classic/browser/yosemite/reload-stop-go.png (reload-stop-go-yosemite.png)
|
||||
skin/classic/browser/yosemite/reload-stop-go@2x.png (reload-stop-go-yosemite@2x.png)
|
||||
skin/classic/browser/yosemite/sync-horizontalbar.png (sync-horizontalbar-yosemite.png)
|
||||
@ -233,16 +225,12 @@ browser.jar:
|
||||
% override chrome://browser/skin/places/toolbar.png chrome://browser/skin/lion/places/toolbar.png os=Darwin osversion>=10.7
|
||||
% override chrome://browser/skin/Toolbar.png chrome://browser/skin/yosemite/Toolbar.png os=Darwin osversion>=10.10
|
||||
% override chrome://browser/skin/Toolbar@2x.png chrome://browser/skin/yosemite/Toolbar@2x.png os=Darwin osversion>=10.10
|
||||
% override chrome://browser/skin/menuPanel.png chrome://browser/skin/yosemite/menuPanel.png os=Darwin osversion>=10.10
|
||||
% override chrome://browser/skin/menuPanel@2x.png chrome://browser/skin/yosemite/menuPanel@2x.png os=Darwin osversion>=10.10
|
||||
% override chrome://browser/skin/menuPanel-customize.png chrome://browser/skin/yosemite/menuPanel-customize.png os=Darwin osversion>=10.10
|
||||
% override chrome://browser/skin/menuPanel-customize@2x.png chrome://browser/skin/yosemite/menuPanel-customize@2x.png os=Darwin osversion>=10.10
|
||||
% override chrome://browser/skin/menuPanel-exit.png chrome://browser/skin/yosemite/menuPanel-exit.png os=Darwin osversion>=10.10
|
||||
% override chrome://browser/skin/menuPanel-exit@2x.png chrome://browser/skin/yosemite/menuPanel-exit@2x.png os=Darwin osversion>=10.10
|
||||
% override chrome://browser/skin/menuPanel-help.png chrome://browser/skin/yosemite/menuPanel-help.png os=Darwin osversion>=10.10
|
||||
% override chrome://browser/skin/menuPanel-help@2x.png chrome://browser/skin/yosemite/menuPanel-help@2x.png os=Darwin osversion>=10.10
|
||||
% override chrome://browser/skin/menuPanel-small.png chrome://browser/skin/yosemite/menuPanel-small.png os=Darwin osversion>=10.10
|
||||
% override chrome://browser/skin/menuPanel-small@2x.png chrome://browser/skin/yosemite/menuPanel-small@2x.png os=Darwin osversion>=10.10
|
||||
% override chrome://browser/skin/reload-stop-go.png chrome://browser/skin/yosemite/reload-stop-go.png os=Darwin osversion>=10.10
|
||||
% override chrome://browser/skin/reload-stop-go@2x.png chrome://browser/skin/yosemite/reload-stop-go@2x.png os=Darwin osversion>=10.10
|
||||
% override chrome://browser/skin/sync-horizontalbar.png chrome://browser/skin/yosemite/sync-horizontalbar.png os=Darwin osversion>=10.10
|
||||
|
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 5.0 KiB |
Before Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 84 KiB |
Before Width: | Height: | Size: 236 B After Width: | Height: | Size: 337 B |
Before Width: | Height: | Size: 399 B After Width: | Height: | Size: 625 B |
@ -984,7 +984,7 @@ toolbarpaletteitem[place="palette"] > toolbaritem > toolbarbutton {
|
||||
|
||||
#customization-panelHolder #PanelUI-customize {
|
||||
color: white;
|
||||
background-color: rgb(116,191,67);
|
||||
background-color: hsl(108,66%,30%);
|
||||
text-shadow: none;
|
||||
margin-top: -1px;
|
||||
}
|
||||
@ -993,9 +993,12 @@ toolbarpaletteitem[place="palette"] > toolbaritem > toolbarbutton {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#customization-panelHolder #PanelUI-customize:hover,
|
||||
#customization-panelHolder #PanelUI-customize:hover {
|
||||
background-color: hsl(109,65%,26%);
|
||||
}
|
||||
|
||||
#customization-panelHolder #PanelUI-customize:hover:active {
|
||||
background-color: rgb(105,173,61);
|
||||
background-color: hsl(109,65%,22%);
|
||||
}
|
||||
|
||||
#customization-palette .toolbarbutton-multiline-text,
|
||||
|
@ -69,6 +69,8 @@
|
||||
skin/classic/browser/identity-mixed-passive-loaded.svg (../shared/identity-block/identity-mixed-passive-loaded.svg)
|
||||
skin/classic/browser/identity-mixed-active-loaded.svg (../shared/identity-block/identity-mixed-active-loaded.svg)
|
||||
skin/classic/browser/info.svg (../shared/info.svg)
|
||||
skin/classic/browser/menuPanel.svg (../shared/menuPanel.svg)
|
||||
skin/classic/browser/menuPanel-small.svg (../shared/menuPanel-small.svg)
|
||||
skin/classic/browser/notification-icons.svg (../shared/notification-icons.svg)
|
||||
skin/classic/browser/tracking-protection-16.svg (../shared/identity-block/tracking-protection-16.svg)
|
||||
skin/classic/browser/tracking-protection-disabled-16.svg (../shared/identity-block/tracking-protection-disabled-16.svg)
|
||||
|
20
browser/themes/shared/menuPanel-small.svg
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="96" height="16" viewBox="0 0 96 16">
|
||||
<style>
|
||||
path,
|
||||
rect {
|
||||
fill: -moz-fieldText;
|
||||
fill-opacity: .5;
|
||||
}
|
||||
</style>
|
||||
|
||||
<path id="placeholder" d="M8,16a8,8,0,1,1,8-8A8,8,0,0,1,8,16ZM12,4H4v8h8V4ZM5,9.939V6.061L6.939,8ZM9.939,11H6.061L8,9.061ZM11,11h0Zm0-4.939V9.939L9.061,8ZM11,5h0ZM6.061,5H9.939L8,6.939Z"/>
|
||||
<path id="cut" d="M29.63,15a2.426,2.426,0,0,1-2.282-1.277c-0.761-1.109-1.694-2.488-1.694-2.488S25,10.329,24.549,9.623a1.05,1.05,0,0,0-1.106-.538S20.6,4.437,20.124,3.706C19.465,2.689,20.7,1,20.7,1l4.4,7.044a19.333,19.333,0,0,0,1.867,2.286c0.519,0.4,1.382-.373,2.8.908C31.7,12.984,31.048,15,29.63,15ZM29.423,12.11c-0.933-1.042-1.728-.908-1.936-0.639a2.093,2.093,0,0,0,.38,1.748,1.612,1.612,0,0,0,1.383.74C29.838,13.959,30.356,13.153,29.423,12.11ZM25.582,7.372L24.4,5.6,27.276,1s1.233,1.69.575,2.708C27.568,4.142,26.445,5.967,25.582,7.372Zm-4.576,2.956A12.482,12.482,0,0,0,22.43,8.645l0.826,1.239c-0.428.65-.937,1.352-0.937,1.352s-0.933,1.378-1.694,2.488A2.426,2.426,0,0,1,18.344,15c-1.417,0-2.074-2.017-.138-3.765C19.624,9.956,20.487,10.732,21.006,10.329ZM18.551,12.11c-0.933,1.042-.415,1.849.173,1.849a1.612,1.612,0,0,0,1.383-.74,2.093,2.093,0,0,0,.38-1.748C20.28,11.2,19.485,11.068,18.551,12.11Z"/>
|
||||
<path id="copy" d="M46,15H40a1,1,0,0,1-1-1V6a1,1,0,0,1,1-1h4.953C45,5,47,6.984,47,7.047V14A1,1,0,0,1,46,15ZM44,6V8h2ZM38,4.886V11H34a1,1,0,0,1-1-1V2a1,1,0,0,1,1-1h4.953C39,1,41,2.985,41,3.047v1.34H38.5A0.5,0.5,0,0,0,38,4.886ZM38,2V4h2Z"/>
|
||||
<path id="paste" d="M59.5,15h-7A1.5,1.5,0,0,1,51,13.5v-9A1.5,1.5,0,0,1,52.5,3H54a2,2,0,1,1,4,0h1.5A1.5,1.5,0,0,1,61,4.5v9A1.5,1.5,0,0,1,59.5,15ZM58.682,4L57.61,3.5a1.613,1.613,0,0,0-3.219,0L53.318,4,52.781,5h6.437ZM58.82,5.688H54.074L51.059,7.428l2.849,4.935,6.574-3.8Z"/>
|
||||
<rect id="zoomOut" x="67" y="7" width="10" height="2"/>
|
||||
<path id="zoomIn" d="M93,9H89v4H87V9H83V7h4V3h2V7h4V9Z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 2.1 KiB |
46
browser/themes/shared/menuPanel.svg
Normal file
@ -0,0 +1,46 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1056" height="32" viewBox="0 0 1056 32">
|
||||
<style>
|
||||
path {
|
||||
fill: -moz-fieldText;
|
||||
fill-opacity: .5;
|
||||
}
|
||||
</style>
|
||||
|
||||
<path id="containers" d="M1050,30h-20a2,2,0,0,1-2-2V4.414a1.03,1.03,0,0,1,.29-0.707L1030,2h20l1.71,1.707a1.03,1.03,0,0,1,.29.707V28A2,2,0,0,1,1050,30Zm0-24h-20V28h20V6Zm-2,10h-16V8h16v8Zm-4-4.5a0.5,0.5,0,0,0-1,0V13h-6V11.5a0.5,0.5,0,0,0-1,0v2a0.5,0.5,0,0,0,.5.5h7a0.5,0.5,0,0,0,.5-0.5v-2Zm4,14.5h-16V18h16v8Zm-4-4.5a0.5,0.5,0,0,0-1,0V23h-6V21.5a0.5,0.5,0,0,0-1,0v2a0.5,0.5,0,0,0,.5.5h7a0.5,0.5,0,0,0,.5-0.5v-2Z"/>
|
||||
<path id="tabs" d="M1021.98,28h-28a2,2,0,0,1-2-2V22a2,2,0,0,1,2-2H994c4.591,0,4-3,4.009-8,0.009-4.686.166-8,6.261-8h7.41c6.13,0,6.27,3.314,6.3,8,0.02,5-.59,8,4.02,8h-0.02a2,2,0,0,1,2,2v4A2,2,0,0,1,1021.98,28Z"/>
|
||||
<path id="pocket" d="M975.969,29.969A13.969,13.969,0,0,1,962,16V8.333A4.333,4.333,0,0,1,966.333,4H985.6a4.333,4.333,0,0,1,4.333,4.333V16A13.969,13.969,0,0,1,975.969,29.969Zm7.507-19.035a2.009,2.009,0,0,0-1.424.59l-0.007-.007-6.095,6.015-5.479-5.422a2,2,0,1,0-2.917,2.727l-0.01.01,5.555,5.5h0l1.518,1.5a1.9,1.9,0,0,0,2.661,0l7.558-7.459a1.979,1.979,0,0,0,.649-1.46A2,2,0,0,0,983.476,10.933Z"/>
|
||||
<path id="webIDE" d="M951.947,10a24.679,24.679,0,0,1,.362,2.691L949,16h-4v4l-2,2h-4.393a14.261,14.261,0,0,0,1.358,3.076l-1.716,3.777A15,15,0,1,1,957.175,7.825L955,10h-3.053ZM938.292,26.023A17.1,17.1,0,0,1,936.54,22h-2.819A12.445,12.445,0,0,0,938.292,26.023ZM932.616,20h3.437a25.331,25.331,0,0,1-.462-4h-3.978A12.38,12.38,0,0,0,932.616,20Zm0-10a12.38,12.38,0,0,0-1,4h3.978a25.331,25.331,0,0,1,.462-4h-3.437Zm1.105-2h2.819a17.093,17.093,0,0,1,1.752-4.023A12.444,12.444,0,0,0,933.721,8ZM943,2.613c-0.393.031-.777,0.093-1.158,0.16A10.229,10.229,0,0,0,938.607,8H943V2.613ZM943,10h-4.914a24.566,24.566,0,0,0-.467,4H943V10Zm0,6h-5.381a24.566,24.566,0,0,0,.467,4H943V16Zm2-2h5.381a24.566,24.566,0,0,0-.467-4H945v4Zm1.158-11.227c-0.381-.067-0.765-0.128-1.158-0.16V8h4.393A10.229,10.229,0,0,0,946.158,2.773Zm3.55,1.2A17.093,17.093,0,0,1,951.46,8h2.819A12.444,12.444,0,0,0,949.708,3.977ZM947.068,28.3L939,32l3.726-8.047ZM944,23l13-13,4,4L948,27Zm3.4,6.6,11.2-11.2A15,15,0,0,1,947.4,29.6Z"/>
|
||||
<path id="app" d="M920.044,27.006l-4.354-4.863c-0.39.4-1.028,2.507-1.49,2.769h-4.4c-0.459-.262-1.094-2.375-1.484-2.769l-4.153,4.863H901V16.067l4.353-4.271C906.443,5.26,910.259,1,912,1s5.7,4.26,6.515,10.8L923,16.135V27.006h-2.956Zm-8.036-19.48c-0.61,0-1.819,2.268-2.484,4.251a14.406,14.406,0,0,1,2.535-.224,14.627,14.627,0,0,1,2.423.2C913.818,9.782,912.613,7.526,912.008,7.526Zm-0.762,18.23a4.106,4.106,0,0,0-.165,1.17,1.493,1.493,0,0,0,.858,1.466,1.535,1.535,0,0,0,.957-1.466,4.071,4.071,0,0,0-.165-1.17h1.079a9.949,9.949,0,0,1,.544,1.973A3.6,3.6,0,0,1,912,31.014a3.686,3.686,0,0,1-2.352-3.337,9.384,9.384,0,0,1,.544-1.921h1.051Z"/>
|
||||
<path id="forget" d="M880,31a15,15,0,1,1,15-15A15,15,0,0,1,880,31ZM879.963,8.208V4.159l-6.328,5.2,6.328,5.524v-4.27A5.279,5.279,0,0,1,885.391,16,5.233,5.233,0,0,1,880,21.391a5.406,5.406,0,0,1-5.28-3.516h-2.189A7.773,7.773,0,0,0,887.852,16,8.115,8.115,0,0,0,879.963,8.208Z"/>
|
||||
<path id="sidebars" d="M862,29H834a1,1,0,0,1-1-1V4a1,1,0,0,1,1-1h28a1,1,0,0,1,1,1V28A1,1,0,0,1,862,29ZM840,9h-3a1,1,0,0,0-1,1V25a1,1,0,0,0,1,1h3V9Zm3,17h16a1,1,0,0,0,1-1V10a1,1,0,0,0-1-1H843V26Zm8-20.986a0.991,0.991,0,1,0,1,.99A0.995,0.995,0,0,0,851,5.015Zm3,0a0.991,0.991,0,1,0,1,.99A0.995,0.995,0,0,0,854,5.015ZM859,5h-2a1,1,0,0,0,0,2h2A1,1,0,0,0,859,5Z"/>
|
||||
<path id="addon-generic" d="M815.988,2.013a13.987,13.987,0,1,1-13.975,14A14,14,0,0,1,815.988,2.013ZM814.923,4.4a2.112,2.112,0,0,0-2.371,2,2.064,2.064,0,0,0,.547,1.585,0.884,0.884,0,0,1,.285.717,1.458,1.458,0,0,1-1.706,1.329h-3.2a0.581,0.581,0,0,0-.552.584c-0.011.061,0,2.462,0,2.462a2.445,2.445,0,0,0,.289,1.489,0.8,0.8,0,0,0,.841.411,2.8,2.8,0,0,0,1.6-.487,1.632,1.632,0,0,1,1.221-.428c1.108,0,1.293.45,1.293,1.856,0,1.013-.469,1.931-1.262,1.931a1.054,1.054,0,0,1-.969-0.384,2.6,2.6,0,0,0-1.718-.63,0.99,0.99,0,0,0-1,.485c-0.339.544-.3,1.255-0.3,2.768,0,2.015,0,3.248,0,3.285a0.591,0.591,0,0,0,.552.668h3.2c1.072,0,2.874.361,2.874-1.05a1.611,1.611,0,0,0-.458-1.111,1.685,1.685,0,0,1-.377-1.149c0-.285-0.068-1.283,1.668-1.283,0.071,0,1.634.148,1.634,1.346a1.388,1.388,0,0,1-.245,1.04A1.4,1.4,0,0,0,816.185,23c0,1.5,1.683,1.039,2.213,1.039,1.884,0,2.763.017,3.031,0a0.628,0.628,0,0,0,.585-0.634C822,22.875,822,22.735,822,19.861a6.582,6.582,0,0,1,.172-2.259,0.642,0.642,0,0,1,.657-0.231,1.869,1.869,0,0,1,1.047.384,2.142,2.142,0,0,0,1.625,1.006c1.386,0,2.125-1.622,2.125-2.779,0-1.232-.628-2.754-2.158-2.754a2.029,2.029,0,0,0-1.516.723,1.384,1.384,0,0,1-.876.584,1.131,1.131,0,0,1-1.067-.877V10.738a0.734,0.734,0,0,0-.56-0.709c-0.012,0-1.881,0-3.34,0a1.407,1.407,0,0,1-1.541-1.389,1.292,1.292,0,0,1,.279-0.984,1.8,1.8,0,0,0,.548-1.283C817.392,5.666,817.042,4.4,814.923,4.4Z"/>
|
||||
<path id="mail" d="M787.333,16a4.507,4.507,0,0,1-6.666,0L769.39,6.7A3.349,3.349,0,0,1,772.333,5h23.334a3.348,3.348,0,0,1,2.943,1.7Zm-6.666,3.143a4.507,4.507,0,0,0,6.666,0L799,9.243V23.857A3.242,3.242,0,0,1,795.667,27H772.333A3.243,3.243,0,0,1,769,23.857V9.243Z"/>
|
||||
<path id="settings" d="M763.005,16c0,1.307.425,2.516,1.03,2.728L765,19.068a13.308,13.308,0,0,1-1.644,3.956l-0.921-.443c-0.578-.278-1.733.276-2.657,1.2s-1.478,2.079-1.2,2.657l0.444,0.923a13.357,13.357,0,0,1-3.964,1.622l-0.333-.949c-0.212-.6-1.421-1.03-2.728-1.03s-2.516.425-2.728,1.03l-0.34.969a13.322,13.322,0,0,1-3.956-1.644l0.443-.921c0.278-.578-0.276-1.733-1.2-2.657s-2.08-1.478-2.658-1.2l-0.923.444a13.366,13.366,0,0,1-1.622-3.964l0.949-.333C740.57,18.516,741,17.308,741,16s-0.425-2.516-1.03-2.728l-0.971-.341a13.255,13.255,0,0,1,1.667-3.946l0.9,0.433c0.578,0.278,1.733-.276,2.658-1.2s1.478-2.08,1.2-2.657l-0.433-.9A13.261,13.261,0,0,1,748.932,3l0.34,0.969C749.484,4.57,750.693,5,752,5s2.516-.425,2.728-1.03L755.068,3a13.321,13.321,0,0,1,3.956,1.644l-0.443.921c-0.277.577,0.276,1.733,1.2,2.657s2.079,1.478,2.657,1.2l0.923-.444a13.337,13.337,0,0,1,1.622,3.964l-0.949.333C763.43,13.485,763.005,14.693,763.005,16ZM752,8.946A7.054,7.054,0,1,0,759.054,16,7.054,7.054,0,0,0,752,8.946Z"/>
|
||||
<path id="developer" d="M724.986,11.177a2.978,2.978,0,0,1,.246.367,2.361,2.361,0,0,0,2.835-.346l4.975-4.932A7.808,7.808,0,0,1,734,9.952a7.969,7.969,0,0,1-10.791,7.435L711.4,29.075a3.192,3.192,0,0,1-4.486,0,3.125,3.125,0,0,1,0-4.447l11.675-11.563a7.863,7.863,0,0,1-.64-3.113,7.974,7.974,0,0,1,11.725-7.014l-4.972,4.929a2.307,2.307,0,0,0-.246,2.964A3.066,3.066,0,0,1,724.986,11.177ZM709.25,25A1.747,1.747,0,1,0,711,26.748,1.746,1.746,0,0,0,709.25,25Z"/>
|
||||
<path id="fullscreen" d="M696,22V10l6,6Zm-14,2h12l-6,6Zm11-2H683a1,1,0,0,1-1-1V11a1,1,0,0,1,1-1h10a1,1,0,0,1,1,1V21A1,1,0,0,1,693,22Zm-1-7a1,1,0,0,0-1-1h-6a1,1,0,0,0-1,1v4a1,1,0,0,0,1,1h6a1,1,0,0,0,1-1V15ZM688,2l6,6H681.982Zm-8,8V22l-6-6Z"/>
|
||||
<path id="print" d="M670,26h-4V24h-1l3,6H644l2-4h-4a2,2,0,0,1-2-2V14a2,2,0,0,1,2-2h2V10a2,2,0,0,1,2-2V3a1,1,0,0,1,1-1h18a1,1,0,0,1,1,1V8a2,2,0,0,1,2,2v2h2a2,2,0,0,1,2,2V24A2,2,0,0,1,670,26Zm-24,0,1-2h-1v2Zm1-10h-2a1,1,0,0,0,0,2h2A1,1,0,0,0,647,16ZM664,4.5a0.5,0.5,0,0,0-.5-0.5h-15a0.5,0.5,0,0,0-.5.5v9a0.5,0.5,0,0,0,.5.5h15a0.5,0.5,0,0,0,.5-0.5v-9ZM662.222,24H649.778L648,28h16Z"/>
|
||||
<path id="search" d="M626.853,23.318a10.074,10.074,0,0,1-5.361-1.545l-6.611,6.619a2.028,2.028,0,0,1-2.87,0l-0.4-.4a2.033,2.033,0,0,1,0-2.873l6.618-6.627A10.137,10.137,0,1,1,626.853,23.318Zm0-16.254a6.1,6.1,0,1,0,6.088,6.1A6.092,6.092,0,0,0,626.853,7.064Z"/>
|
||||
<path id="tabGroups" d="M603,28H591a1,1,0,0,1-1-1V17a1,1,0,0,1,1-1h12a1,1,0,0,1,1,1V27A1,1,0,0,1,603,28Zm0-14h-4a1,1,0,0,1-1-1V5a1,1,0,0,1,1-1h4a1,1,0,0,1,1,1v8A1,1,0,0,1,603,14Zm-8,0H581a1,1,0,0,1-1-1V5a1,1,0,0,1,1-1h14a1,1,0,0,1,1,1v8A1,1,0,0,1,595,14Zm-14,2h6a1,1,0,0,1,1,1V27a1,1,0,0,1-1,1h-6a1,1,0,0,1-1-1V17A1,1,0,0,1,581,16Z"/>
|
||||
<path id="privateBrowsing" d="M574.273,11.973c-0.122,2.136.37,4.688-2.4,8.367-2.953,3.926-5.886,3.626-6.44,3.685-3.322.354-3.76-2.62-5.7-2.62-1.7,0-3.083,2.955-5.578,2.62-0.552-.074-3.487.241-6.44-3.685-2.768-3.679-2.276-6.231-2.4-8.367a41.419,41.419,0,0,0-.553-4.451,5.372,5.372,0,0,0,3.056,1.484c1.722,0.119,2.044-.61,5.678-1.662,3.929-1.137,6.3,3.522,6.3,3.522s2.668-4.591,6.3-3.522,3.78,1.78,5.5,1.662a6.249,6.249,0,0,0,3.232-1.484A41.574,41.574,0,0,0,574.273,11.973Zm-20.315.895c-2.148-.479-3.049.339-3.969,0.688a7.615,7.615,0,0,1-1.534.4s0.123,1.246,2.276,2.314,6.569,0.517,6.569.517S557.769,13.718,553.958,12.868ZM569.6,13.557c-0.92-.349-1.821-1.167-3.969-0.688-3.811.85-3.342,3.918-3.342,3.918s4.416,0.551,6.569-.517,2.276-2.314,2.276-2.314A7.615,7.615,0,0,1,569.6,13.557Z"/>
|
||||
<path id="new-tab" d="M541.977,28h-28a2,2,0,0,1-2-2V22a2,2,0,0,1,2-2H514c4.591,0,4-3,4.009-8,0.009-4.686.166-8,6.26-8h7.415c6.126,0,6.271,3.314,6.293,8,0.023,5-.592,8,4.023,8h-0.023a2,2,0,0,1,2,2v4A2,2,0,0,1,541.977,28ZM533,14h-4V10h-2v4h-4v2h4v4h2V16h4V14Z"/>
|
||||
<path id="new-window" d="M510,29H482a1,1,0,0,1-1-1V4a1,1,0,0,1,1-1h28a1,1,0,0,1,1,1V28A1,1,0,0,1,510,29ZM499,5.015a0.991,0.991,0,1,0,1,.99A0.995,0.995,0,0,0,499,5.015Zm3,0a0.991,0.991,0,1,0,1,.99A0.995,0.995,0,0,0,502,5.015ZM507,5h-2a1,1,0,0,0,0,2h2A1,1,0,0,0,507,5Zm1,5a1,1,0,0,0-1-1H485a1,1,0,0,0-1,1V25a1,1,0,0,0,1,1h22a1,1,0,0,0,1-1V10Z"/>
|
||||
<path id="encoding" d="M474,30H454a4,4,0,0,1-4-4V6a4,4,0,0,1,4-4h20a4,4,0,0,1,4,4V26A4,4,0,0,1,474,30Zm-1-19a6,6,0,0,0-6-6h-8a6,6,0,0,0-6,6v8a6,6,0,0,0,6,6h8c3.314,0,6-.686,6-4V11Zm-5.953,6.863a7.6,7.6,0,0,0,1.655-.171,7.822,7.822,0,0,0,1.587-.552v1.445a8.416,8.416,0,0,1-1.567.532,8.014,8.014,0,0,1-1.714.161A4.231,4.231,0,0,1,462.964,17a4.931,4.931,0,0,1-1.753,1.758,4.724,4.724,0,0,1-2.271.518,3.547,3.547,0,0,1-2.5-.83,3,3,0,0,1-.9-2.325,2.846,2.846,0,0,1,1.211-2.447,6.7,6.7,0,0,1,3.692-.952l1.8-.059V12a2.632,2.632,0,0,0-.566-1.86,2.271,2.271,0,0,0-1.729-.6,6.575,6.575,0,0,0-3,.82l-0.508-1.24a7.934,7.934,0,0,1,3.623-.918,4.438,4.438,0,0,1,2.076.425,2.656,2.656,0,0,1,1.206,1.353A3.647,3.647,0,0,1,464.7,8.653a3.833,3.833,0,0,1,1.909-.469,3.787,3.787,0,0,1,3.008,1.3,5.1,5.1,0,0,1,1.133,3.472V14H463.9Q463.98,17.863,467.047,17.863ZM462.2,13.819l-1.543.068a5.31,5.31,0,0,0-2.617.611,1.837,1.837,0,0,0-.8,1.646,1.673,1.673,0,0,0,.522,1.363,2.092,2.092,0,0,0,1.382.435,3.013,3.013,0,0,0,2.237-.825,3.16,3.16,0,0,0,.82-2.329V13.819Zm6.808-1.114a3.81,3.81,0,0,0-.625-2.344,2.124,2.124,0,0,0-1.8-.82,2.3,2.3,0,0,0-1.861.811,4.028,4.028,0,0,0-.786,2.354h5.069Z"/>
|
||||
<path id="share" d="M433.425,19.753l-0.658.08,0-.08L443.07,4.742l-13.5,15.01,0.154,0.45-0.494.06,0.547,0.094,3.651,10.653L426.77,20.562l-8.777,1.067L445,1V25.188Zm0,1.231,4.938,2.986-4.938,7.04-0.6-10.129Z"/>
|
||||
<path id="feed" d="M412.68,29.958l-3.1.031a1.516,1.516,0,0,1-1.538-1.516s0.687-7.114-6.308-14.356c-5.1-6.065-14.151-6.358-14.151-6.358a1.517,1.517,0,0,1-1.6-1.451l0.031-2.833a1.463,1.463,0,0,1,1.538-1.451s12.628,0.807,19.264,8.856c6.554,6.143,7.213,17.593,7.213,17.593A1.337,1.337,0,0,1,412.68,29.958Zm-25.159-18s7.416,0.88,11.585,4.753c4.264,3.961,4.9,11.794,4.9,11.794,0,0.832-.112,1.474-0.952,1.474l-2.852-.031a1.321,1.321,0,0,1-1.235-1.537,12.715,12.715,0,0,0-3.786-8.6c-2.877-2.641-7.694-2.8-7.694-2.8a1.437,1.437,0,0,1-1.521-1.412L386,13.371A1.436,1.436,0,0,1,387.521,11.96Zm2.488,10.03a4.012,4.012,0,1,1-4,4.012A4,4,0,0,1,390.009,21.989Z"/>
|
||||
<path id="sync" d="M381.914,17.518a13.937,13.937,0,0,1-.8,3.367,10.892,10.892,0,0,1-5.084,6.587,23.381,23.381,0,0,0,2.531,1.884,51.867,51.867,0,0,1-8.176.671c-0.073.012-.145-0.233-0.218-0.221l-0.009.219a19.383,19.383,0,0,1-5.989-1.271,10.818,10.818,0,0,0,3.225-4.19,16.7,16.7,0,0,0,1.216-6.063,36.351,36.351,0,0,0,2.73,4.119,8.152,8.152,0,0,0,4.263-6.1,7.53,7.53,0,0,0-1.165-4.689,7.645,7.645,0,0,0-3.463-2.839c0.461-.872,1-1.847,1.513-2.674a7.385,7.385,0,0,1,2.559-2.383A13.959,13.959,0,0,1,381.914,17.518ZM367.96,13.509s-2.271-2.971-3.244-4.054a8.006,8.006,0,0,0-4.306,7.011,7.6,7.6,0,0,0,4.837,6.526,11.93,11.93,0,0,1-1.982,2.818,21.3,21.3,0,0,1-2.45,2.158,13.955,13.955,0,0,1-5.641-17.528,10.883,10.883,0,0,1,4.232-5.453c0.189-.147.382-0.287,0.577-0.424-0.8-.739-3.667-1.049-3.667-1.049s5.431-2.093,13.959-1.16C367.87,6.295,367.96,13.509,367.96,13.509Z"/>
|
||||
<path id="save" d="M346.25,30h-20.5A1.755,1.755,0,0,1,324,28.25V3.75A1.755,1.755,0,0,1,325.75,2h13.5a5.164,5.164,0,0,1,3.033,1.19L346.717,7.3A4.6,4.6,0,0,1,348,10.241V28.25A1.755,1.755,0,0,1,346.25,30ZM345.774,9.293l-5-4.586C340.347,4.318,340,4.45,340,5v5h5.455C346.055,10,346.2,9.682,345.774,9.293Z"/>
|
||||
<path id="open" d="M319.749,13.924a67.491,67.491,0,0,0-1.34,7.977,37.552,37.552,0,0,0-.4,6.4,0.708,0.708,0,0,1-.714.7H290.679a0.709,0.709,0,0,1-.715-0.7,37.552,37.552,0,0,0-.4-6.4,67.491,67.491,0,0,0-1.34-7.977C287.973,12.779,288.606,12,289,12h29.974C319.368,12,320,12.779,319.749,13.924Zm-29.682-6.9h-0.076V5.019a1.987,1.987,0,0,1,1.968-2.006h8.105c1.087,0,2.276,1.755,2.276,1.755l1.635,2.222,13-.009a1.012,1.012,0,0,1,1.025,1V11H290.048Z"/>
|
||||
<path id="addOns" d="M277.051,30.97a1.987,1.987,0,0,0,1.977-2V21.86s0.3-1.829,1.515-1.829,1.088,1.934,3.356,1.934c1.133,0,3.085-.581,3.085-4.082s-1.952-3.924-3.085-3.924c-2.268,0-2.138,1.828-3.356,1.828s-1.515-1.881-1.515-1.881V10.994a1.988,1.988,0,0,0-1.977-2h-5.2s-1.725-.3-1.725-1.515,1.882-1.3,1.882-3.565c0-1.131-.632-2.926-4.135-2.926s-3.977,1.8-3.977,2.926c0,2.268,1.724,2.349,1.724,3.565S263.9,8.993,263.9,8.993h-4.951a1.989,1.989,0,0,0-1.976,2l0,3.906s-0.211,3.015,2.213,3.015c1.528,0,1.732-2.057,3.742-2.057,1,0,2.019.941,2.019,3.02S263.932,22,262.932,22c-2.01,0-2.214-2.055-3.742-2.055-2.424,0-2.213,2.909-2.213,2.909l0,6.115a1.988,1.988,0,0,0,1.976,2h6.638s3.154,0.212,3.154-2.214c0-1.528-1.991-1.824-1.991-3.835,0-1,1.109-2.238,3.19-2.238s3.314,1.238,3.314,2.238c0,2.012-1.928,2.307-1.928,3.835,0,2.425,3.154,2.214,3.154,2.214h2.572Z"/>
|
||||
<path id="downloads" d="M253.285,18.118L242.09,29.126a3.008,3.008,0,0,1-4.242,0L226.59,18.118c-1.166-1.166-.772-2.121.879-2.121h6.5l0.062-12a2.027,2.027,0,0,1,2.032-2H244a2,2,0,0,1,2,2V16h6.406C254.057,16,254.451,16.952,253.285,18.118Z"/>
|
||||
<path id="history" d="M208.007,30.007a14,14,0,1,1,14-14A14,14,0,0,1,208.007,30.007Zm0-24.007a10.008,10.008,0,1,0,10,10.008A10,10,0,0,0,208.007,6ZM206.1,15.9V10.412a1.829,1.829,0,0,1,1.829-1.829,1.951,1.951,0,0,1,1.965,1.829v5.032a22.977,22.977,0,0,1,3.52,5.939s-4.106-1.8-6.059-3.773A1.811,1.811,0,0,1,206.1,15.9Z"/>
|
||||
<path id="bookmark-filled" d="M188.4,11.546l-2.241-.371-5.3-.872-1.354-2.728v0l-1.09-2.192-1.088-2.2c-0.743-1.5-1.96-1.5-2.7,0l-1.089,2.2-1.088,2.192v0L171.1,10.3l-5.295.872-2.242.371c-1.677.275-2.093,1.49-.928,2.7l5.452,5.634-0.834,5.464L166.879,27.8c-0.253,1.643.766,2.348,2.264,1.576L171.2,28.3l2.051-1.071a0.007,0.007,0,0,0,.005,0l2.726-1.427,2.725,1.427a0.016,0.016,0,0,0,.007,0l2.048,1.071,2.06,1.082c1.5,0.772,2.514.068,2.266-1.576l-0.376-2.461-0.828-5.464,5.444-5.628C190.5,13.037,190.08,11.821,188.4,11.546Z"/>
|
||||
<path id="Bookmark-hollow" d="M144,8.365l1.725,3.526,0.79,1.616,1.773,0.3,4.069,0.681-3.007,3.153-1.182,1.24,0.254,1.7,0.63,4.207-3.426-1.821-1.639-.871-1.639.871-3.423,1.819,0.632-4.2,0.255-1.7-1.184-1.241-3-3.15,4.111-.683,1.79-.3,0.787-1.636L144,8.365M143.984,2a1.671,1.671,0,0,0-1.351,1.139l-3.472,7.213-7.582,1.259c-1.675.279-2.091,1.509-.926,2.735l5.445,5.709-1.207,8.031c-0.183,1.207.3,1.914,1.151,1.914a2.448,2.448,0,0,0,1.111-.317l6.832-3.631,6.832,3.631a2.447,2.447,0,0,0,1.11.317c0.85,0,1.333-.707,1.152-1.914l-1.2-8.031,5.438-5.7c1.165-1.229.749-2.461-.926-2.74l-7.527-1.259-3.527-7.213A1.668,1.668,0,0,0,143.984,2h0Z"/>
|
||||
<path id="home" d="M124,16L112,6,100,16H96L112,2l16,14h-4Zm-2,0v13.96h-8V20h-4v9.96h-8V16l10-8Z"/>
|
||||
<path id="stop" d="M93.121,24.879l-4.243,4.243-8.9-8.9L71.206,29l-4.2-4.2,8.774-8.774-8.9-8.9,4.243-4.243,8.9,8.9L88.794,3l4.2,4.2L84.222,15.98Z"/>
|
||||
<path id="reload" d="M62,14a2,2,0,0,1-2,2H48l5.833-5.833a8.993,8.993,0,1,0,1,12.686l3.035,2.6A13,13,0,1,1,56.669,7.331L62,2V14Z"/>
|
||||
<path id="placeholder" fill-rule="evenodd" d="M16,0A16,16,0,1,1,0,16,16,16,0,0,1,16,0ZM8,24V8H24V24H8Zm14-2h0Zm-2.121,0L16,18.121,12.121,22h7.757Zm-6-6L10,12.121v7.757Zm-1.757-6L16,13.879,19.879,10H12.121Zm6,6L22,19.879V12.121Z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 16 KiB |
@ -1,363 +1,183 @@
|
||||
/* Menu panel and palette styles */
|
||||
|
||||
@media not all and (min-resolution: 1.1dppx) {
|
||||
|
||||
toolbaritem[sdkstylewidget="true"] > toolbarbutton,
|
||||
:-moz-any(@primaryToolbarButtons@)[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > :-moz-any(@primaryToolbarButtons@) {
|
||||
list-style-image: url(chrome://browser/skin/menuPanel.png);
|
||||
}
|
||||
|
||||
#home-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #home-button {
|
||||
-moz-image-region: rect(0px, 128px, 32px, 96px);
|
||||
}
|
||||
|
||||
#bookmarks-menu-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #bookmarks-menu-button {
|
||||
-moz-image-region: rect(0px, 192px, 32px, 160px);
|
||||
}
|
||||
|
||||
#history-panelmenu[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #history-panelmenu {
|
||||
-moz-image-region: rect(0px, 224px, 32px, 192px);
|
||||
}
|
||||
|
||||
#downloads-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #downloads-button {
|
||||
-moz-image-region: rect(0px, 256px, 32px, 224px);
|
||||
}
|
||||
|
||||
#add-ons-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #add-ons-button {
|
||||
-moz-image-region: rect(0px, 288px, 32px, 256px);
|
||||
}
|
||||
|
||||
#open-file-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #open-file-button {
|
||||
-moz-image-region: rect(0px, 320px, 32px, 288px);
|
||||
}
|
||||
|
||||
#save-page-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #save-page-button {
|
||||
-moz-image-region: rect(0px, 352px, 32px, 320px);
|
||||
}
|
||||
|
||||
#sync-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #sync-button {
|
||||
-moz-image-region: rect(0px, 1024px, 32px, 992px);
|
||||
}
|
||||
|
||||
#containers-panelmenu[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #containers-panelmenu {
|
||||
-moz-image-region: rect(0px, 1056px, 32px, 1024px);
|
||||
}
|
||||
|
||||
#feed-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #feed-button {
|
||||
-moz-image-region: rect(0px, 416px, 32px, 384px);
|
||||
}
|
||||
|
||||
#social-share-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #social-share-button {
|
||||
-moz-image-region: rect(0px, 448px, 32px, 416px);
|
||||
}
|
||||
|
||||
#characterencoding-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #characterencoding-button {
|
||||
-moz-image-region: rect(0px, 480px, 32px, 448px);
|
||||
}
|
||||
|
||||
#new-window-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #new-window-button {
|
||||
-moz-image-region: rect(0px, 512px, 32px, 480px);
|
||||
}
|
||||
|
||||
#e10s-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #e10s-button {
|
||||
-moz-image-region: rect(0px, 512px, 32px, 480px);
|
||||
}
|
||||
|
||||
#new-tab-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #new-tab-button {
|
||||
-moz-image-region: rect(0px, 544px, 32px, 512px);
|
||||
}
|
||||
|
||||
#privatebrowsing-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #privatebrowsing-button {
|
||||
-moz-image-region: rect(0px, 576px, 32px, 544px);
|
||||
}
|
||||
|
||||
#find-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #find-button {
|
||||
-moz-image-region: rect(0px, 640px, 32px, 608px);
|
||||
}
|
||||
|
||||
#print-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #print-button {
|
||||
-moz-image-region: rect(0px, 672px, 32px, 640px);
|
||||
}
|
||||
|
||||
#fullscreen-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #fullscreen-button {
|
||||
-moz-image-region: rect(0px, 704px, 32px, 672px);
|
||||
}
|
||||
|
||||
#developer-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #developer-button {
|
||||
-moz-image-region: rect(0px, 736px, 32px, 704px);
|
||||
}
|
||||
|
||||
#preferences-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #preferences-button {
|
||||
-moz-image-region: rect(0px, 768px, 32px, 736px);
|
||||
}
|
||||
|
||||
#email-link-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #email-link-button {
|
||||
-moz-image-region: rect(0, 800px, 32px, 768px);
|
||||
}
|
||||
|
||||
#sidebar-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #sidebar-button {
|
||||
-moz-image-region: rect(0, 864px, 32px, 832px);
|
||||
}
|
||||
|
||||
#panic-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #panic-button {
|
||||
-moz-image-region: rect(0, 896px, 32px, 864px);
|
||||
}
|
||||
|
||||
#webide-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #webide-button {
|
||||
-moz-image-region: rect(0px, 960px, 32px, 928px);
|
||||
}
|
||||
|
||||
toolbaritem[sdkstylewidget="true"] > toolbarbutton {
|
||||
-moz-image-region: rect(0, 832px, 32px, 800px);
|
||||
}
|
||||
|
||||
/* Wide panel control icons */
|
||||
|
||||
#edit-controls@inAnyPanel@ > toolbarbutton,
|
||||
#zoom-controls@inAnyPanel@ > toolbarbutton,
|
||||
toolbarpaletteitem[place="palette"] > #edit-controls > toolbarbutton,
|
||||
toolbarpaletteitem[place="palette"] > #zoom-controls > toolbarbutton {
|
||||
list-style-image: url(chrome://browser/skin/menuPanel-small.png);
|
||||
}
|
||||
|
||||
#edit-controls@inAnyPanel@ > #cut-button,
|
||||
toolbarpaletteitem[place="palette"] > #edit-controls > #cut-button {
|
||||
-moz-image-region: rect(0px, 32px, 16px, 16px);
|
||||
}
|
||||
|
||||
#edit-controls@inAnyPanel@ > #copy-button,
|
||||
toolbarpaletteitem[place="palette"] > #edit-controls > #copy-button {
|
||||
-moz-image-region: rect(0px, 48px, 16px, 32px);
|
||||
}
|
||||
|
||||
#edit-controls@inAnyPanel@ > #paste-button,
|
||||
toolbarpaletteitem[place="palette"] > #edit-controls > #paste-button {
|
||||
-moz-image-region: rect(0px, 64px, 16px, 48px);
|
||||
}
|
||||
|
||||
#zoom-controls@inAnyPanel@ > #zoom-out-button,
|
||||
toolbarpaletteitem[place="palette"] > #zoom-controls > #zoom-out-button {
|
||||
-moz-image-region: rect(0px, 80px, 16px, 64px);
|
||||
}
|
||||
|
||||
#zoom-controls@inAnyPanel@ > #zoom-in-button,
|
||||
toolbarpaletteitem[place="palette"] > #zoom-controls > #zoom-in-button {
|
||||
-moz-image-region: rect(0px, 96px, 16px, 80px);
|
||||
}
|
||||
|
||||
#add-share-provider {
|
||||
list-style-image: url(chrome://browser/skin/menuPanel-small.png);
|
||||
-moz-image-region: rect(0px, 96px, 16px, 80px);
|
||||
}
|
||||
toolbaritem[sdkstylewidget="true"] > toolbarbutton,
|
||||
:-moz-any(@primaryToolbarButtons@)[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > :-moz-any(@primaryToolbarButtons@) {
|
||||
list-style-image: url(chrome://browser/skin/menuPanel.svg);
|
||||
}
|
||||
|
||||
/* Menu panel and palette styles */
|
||||
@media (min-resolution: 1.1dppx) {
|
||||
toolbaritem[sdkstylewidget="true"] > toolbarbutton,
|
||||
:-moz-any(@primaryToolbarButtons@)[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > :-moz-any(@primaryToolbarButtons@) {
|
||||
list-style-image: url(chrome://browser/skin/menuPanel@2x.png);
|
||||
}
|
||||
|
||||
#home-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #home-button {
|
||||
-moz-image-region: rect(0px, 256px, 64px, 192px);
|
||||
}
|
||||
|
||||
#bookmarks-menu-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #bookmarks-menu-button {
|
||||
-moz-image-region: rect(0px, 384px, 64px, 320px);
|
||||
}
|
||||
|
||||
#history-panelmenu[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #history-panelmenu {
|
||||
-moz-image-region: rect(0px, 448px, 64px, 384px);
|
||||
}
|
||||
|
||||
#downloads-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #downloads-button {
|
||||
-moz-image-region: rect(0px, 512px, 64px, 448px);
|
||||
}
|
||||
|
||||
#add-ons-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #add-ons-button {
|
||||
-moz-image-region: rect(0px, 576px, 64px, 512px);
|
||||
}
|
||||
|
||||
#open-file-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #open-file-button {
|
||||
-moz-image-region: rect(0px, 640px, 64px, 576px);
|
||||
}
|
||||
|
||||
#save-page-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #save-page-button {
|
||||
-moz-image-region: rect(0px, 704px, 64px, 640px);
|
||||
}
|
||||
|
||||
#sync-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #sync-button {
|
||||
-moz-image-region: rect(0px, 2048px, 64px, 1984px);
|
||||
}
|
||||
|
||||
#containers-panelmenu[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #containers-panelmenu {
|
||||
-moz-image-region: rect(0px, 2112px, 64px, 2048px);
|
||||
}
|
||||
|
||||
#feed-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #feed-button {
|
||||
-moz-image-region: rect(0px, 832px, 64px, 768px);
|
||||
}
|
||||
|
||||
#social-share-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #social-share-button {
|
||||
-moz-image-region: rect(0px, 896px, 64px, 832px);
|
||||
}
|
||||
|
||||
#characterencoding-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #characterencoding-button {
|
||||
-moz-image-region: rect(0, 960px, 64px, 896px);
|
||||
}
|
||||
|
||||
#new-window-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #new-window-button {
|
||||
-moz-image-region: rect(0px, 1024px, 64px, 960px);
|
||||
}
|
||||
|
||||
#e10s-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #e10s-button {
|
||||
-moz-image-region: rect(0px, 1024px, 64px, 960px);
|
||||
}
|
||||
|
||||
#webide-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #webide-button {
|
||||
-moz-image-region: rect(0px, 1920px, 64px, 1856px);
|
||||
}
|
||||
|
||||
#new-tab-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #new-tab-button {
|
||||
-moz-image-region: rect(0px, 1088px, 64px, 1024px);
|
||||
}
|
||||
|
||||
#privatebrowsing-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #privatebrowsing-button {
|
||||
-moz-image-region: rect(0px, 1152px, 64px, 1088px);
|
||||
}
|
||||
|
||||
#find-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #find-button {
|
||||
-moz-image-region: rect(0px, 1280px, 64px, 1216px);
|
||||
}
|
||||
|
||||
#print-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #print-button {
|
||||
-moz-image-region: rect(0px, 1344px, 64px, 1280px);
|
||||
}
|
||||
|
||||
#fullscreen-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #fullscreen-button {
|
||||
-moz-image-region: rect(0px, 1408px, 64px, 1344px);
|
||||
}
|
||||
|
||||
#developer-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #developer-button {
|
||||
-moz-image-region: rect(0px, 1472px, 64px, 1408px);
|
||||
}
|
||||
|
||||
#preferences-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #preferences-button {
|
||||
-moz-image-region: rect(0px, 1536px, 64px, 1472px);
|
||||
}
|
||||
|
||||
#email-link-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #email-link-button {
|
||||
-moz-image-region: rect(0px, 1600px, 64px, 1536px);
|
||||
}
|
||||
|
||||
#sidebar-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #sidebar-button {
|
||||
-moz-image-region: rect(0px, 1728px, 64px, 1664px);
|
||||
}
|
||||
|
||||
#panic-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #panic-button {
|
||||
-moz-image-region: rect(0, 1792px, 64px, 1728px);
|
||||
}
|
||||
|
||||
toolbaritem[sdkstylewidget="true"] > toolbarbutton {
|
||||
-moz-image-region: rect(0, 1664px, 64px, 1600px);
|
||||
}
|
||||
|
||||
#add-share-provider {
|
||||
list-style-image: url(chrome://browser/skin/menuPanel-small@2x.png);
|
||||
-moz-image-region: rect(0px, 192px, 32px, 160px);
|
||||
}
|
||||
|
||||
/* Footer and wide panel control icons */
|
||||
#edit-controls@inAnyPanel@ > toolbarbutton,
|
||||
#zoom-controls@inAnyPanel@ > toolbarbutton,
|
||||
toolbarpaletteitem[place="palette"] > #edit-controls > toolbarbutton,
|
||||
toolbarpaletteitem[place="palette"] > #zoom-controls > toolbarbutton {
|
||||
list-style-image: url(chrome://browser/skin/menuPanel-small@2x.png);
|
||||
}
|
||||
|
||||
/* Wide items like the Cut/Copy/Paste and Zoom controls are special in that their icons
|
||||
are 16x16 when in the panel, but 18x18 when in a toolbar. */
|
||||
#edit-controls@inAnyPanel@ > toolbarbutton > .toolbarbutton-icon,
|
||||
#zoom-controls@inAnyPanel@ > toolbarbutton > .toolbarbutton-icon,
|
||||
toolbarpaletteitem[place="palette"] > #edit-controls > toolbarbutton > .toolbarbutton-icon,
|
||||
toolbarpaletteitem[place="palette"] > #zoom-controls > toolbarbutton > .toolbarbutton-icon {
|
||||
width: 16px;
|
||||
}
|
||||
|
||||
#edit-controls@inAnyPanel@ > #cut-button,
|
||||
toolbarpaletteitem[place="palette"] > #edit-controls > #cut-button {
|
||||
-moz-image-region: rect(0px, 64px, 32px, 32px);
|
||||
}
|
||||
|
||||
#edit-controls@inAnyPanel@ > #copy-button,
|
||||
toolbarpaletteitem[place="palette"] > #edit-controls > #copy-button {
|
||||
-moz-image-region: rect(0px, 96px, 32px, 64px);
|
||||
}
|
||||
|
||||
#edit-controls@inAnyPanel@ > #paste-button,
|
||||
toolbarpaletteitem[place="palette"] > #edit-controls > #paste-button {
|
||||
-moz-image-region: rect(0px, 128px, 32px, 96px);
|
||||
}
|
||||
|
||||
#zoom-controls@inAnyPanel@ > #zoom-out-button,
|
||||
toolbarpaletteitem[place="palette"] > #zoom-controls > #zoom-out-button {
|
||||
-moz-image-region: rect(0px, 160px, 32px, 128px);
|
||||
}
|
||||
|
||||
#zoom-controls@inAnyPanel@ > #zoom-in-button,
|
||||
toolbarpaletteitem[place="palette"] > #zoom-controls > #zoom-in-button {
|
||||
-moz-image-region: rect(0px, 192px, 32px, 160px);
|
||||
}
|
||||
:-moz-any(@primaryToolbarButtons@)[cui-areatype="menu-panel"][panel-multiview-anchor=true] > .toolbarbutton-icon,
|
||||
:-moz-any(@primaryToolbarButtons@)[cui-areatype="menu-panel"][panel-multiview-anchor=true] > .toolbarbutton-badge-stack > .toolbarbutton-icon,
|
||||
:-moz-any(@primaryToolbarButtons@)[cui-areatype="menu-panel"][panel-multiview-anchor=true] > .toolbarbutton-menubutton-button > .toolbarbutton-icon {
|
||||
filter: url(chrome://browser/skin/filters.svg#fill);
|
||||
fill: currentColor;
|
||||
}
|
||||
|
||||
#home-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #home-button {
|
||||
-moz-image-region: rect(0px, 128px, 32px, 96px);
|
||||
}
|
||||
|
||||
#bookmarks-menu-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #bookmarks-menu-button {
|
||||
-moz-image-region: rect(0px, 192px, 32px, 160px);
|
||||
}
|
||||
|
||||
#history-panelmenu[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #history-panelmenu {
|
||||
-moz-image-region: rect(0px, 224px, 32px, 192px);
|
||||
}
|
||||
|
||||
#downloads-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #downloads-button {
|
||||
-moz-image-region: rect(0px, 256px, 32px, 224px);
|
||||
}
|
||||
|
||||
#add-ons-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #add-ons-button {
|
||||
-moz-image-region: rect(0px, 288px, 32px, 256px);
|
||||
}
|
||||
|
||||
#open-file-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #open-file-button {
|
||||
-moz-image-region: rect(0px, 320px, 32px, 288px);
|
||||
}
|
||||
|
||||
#save-page-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #save-page-button {
|
||||
-moz-image-region: rect(0px, 352px, 32px, 320px);
|
||||
}
|
||||
|
||||
#sync-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #sync-button {
|
||||
-moz-image-region: rect(0px, 1024px, 32px, 992px);
|
||||
}
|
||||
|
||||
#containers-panelmenu[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #containers-panelmenu {
|
||||
-moz-image-region: rect(0px, 1056px, 32px, 1024px);
|
||||
}
|
||||
|
||||
#feed-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #feed-button {
|
||||
-moz-image-region: rect(0px, 416px, 32px, 384px);
|
||||
}
|
||||
|
||||
#social-share-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #social-share-button {
|
||||
-moz-image-region: rect(0px, 448px, 32px, 416px);
|
||||
}
|
||||
|
||||
#characterencoding-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #characterencoding-button {
|
||||
-moz-image-region: rect(0px, 480px, 32px, 448px);
|
||||
}
|
||||
|
||||
#new-window-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #new-window-button {
|
||||
-moz-image-region: rect(0px, 512px, 32px, 480px);
|
||||
}
|
||||
|
||||
#e10s-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #e10s-button {
|
||||
-moz-image-region: rect(0px, 512px, 32px, 480px);
|
||||
}
|
||||
|
||||
#new-tab-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #new-tab-button {
|
||||
-moz-image-region: rect(0px, 544px, 32px, 512px);
|
||||
}
|
||||
|
||||
#privatebrowsing-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #privatebrowsing-button {
|
||||
-moz-image-region: rect(0px, 576px, 32px, 544px);
|
||||
}
|
||||
|
||||
#find-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #find-button {
|
||||
-moz-image-region: rect(0px, 640px, 32px, 608px);
|
||||
}
|
||||
|
||||
#print-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #print-button {
|
||||
-moz-image-region: rect(0px, 672px, 32px, 640px);
|
||||
}
|
||||
|
||||
#fullscreen-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #fullscreen-button {
|
||||
-moz-image-region: rect(0px, 704px, 32px, 672px);
|
||||
}
|
||||
|
||||
#developer-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #developer-button {
|
||||
-moz-image-region: rect(0px, 736px, 32px, 704px);
|
||||
}
|
||||
|
||||
#preferences-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #preferences-button {
|
||||
-moz-image-region: rect(0px, 768px, 32px, 736px);
|
||||
}
|
||||
|
||||
#email-link-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #email-link-button {
|
||||
-moz-image-region: rect(0, 800px, 32px, 768px);
|
||||
}
|
||||
|
||||
#sidebar-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #sidebar-button {
|
||||
-moz-image-region: rect(0, 864px, 32px, 832px);
|
||||
}
|
||||
|
||||
#panic-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #panic-button {
|
||||
-moz-image-region: rect(0, 896px, 32px, 864px);
|
||||
}
|
||||
|
||||
#webide-button[cui-areatype="menu-panel"],
|
||||
toolbarpaletteitem[place="palette"] > #webide-button {
|
||||
-moz-image-region: rect(0px, 960px, 32px, 928px);
|
||||
}
|
||||
|
||||
toolbaritem[sdkstylewidget="true"] > toolbarbutton {
|
||||
-moz-image-region: rect(0, 832px, 32px, 800px);
|
||||
}
|
||||
|
||||
/* Wide panel control icons */
|
||||
|
||||
#edit-controls@inAnyPanel@ > toolbarbutton,
|
||||
#zoom-controls@inAnyPanel@ > toolbarbutton,
|
||||
toolbarpaletteitem[place="palette"] > #edit-controls > toolbarbutton,
|
||||
toolbarpaletteitem[place="palette"] > #zoom-controls > toolbarbutton {
|
||||
list-style-image: url(chrome://browser/skin/menuPanel-small.svg);
|
||||
}
|
||||
|
||||
#edit-controls@inAnyPanel@ > #cut-button,
|
||||
toolbarpaletteitem[place="palette"] > #edit-controls > #cut-button {
|
||||
-moz-image-region: rect(0px, 32px, 16px, 16px);
|
||||
}
|
||||
|
||||
#edit-controls@inAnyPanel@ > #copy-button,
|
||||
toolbarpaletteitem[place="palette"] > #edit-controls > #copy-button {
|
||||
-moz-image-region: rect(0px, 48px, 16px, 32px);
|
||||
}
|
||||
|
||||
#edit-controls@inAnyPanel@ > #paste-button,
|
||||
toolbarpaletteitem[place="palette"] > #edit-controls > #paste-button {
|
||||
-moz-image-region: rect(0px, 64px, 16px, 48px);
|
||||
}
|
||||
|
||||
#zoom-controls@inAnyPanel@ > #zoom-out-button,
|
||||
toolbarpaletteitem[place="palette"] > #zoom-controls > #zoom-out-button {
|
||||
-moz-image-region: rect(0px, 80px, 16px, 64px);
|
||||
}
|
||||
|
||||
#zoom-controls@inAnyPanel@ > #zoom-in-button,
|
||||
toolbarpaletteitem[place="palette"] > #zoom-controls > #zoom-in-button {
|
||||
-moz-image-region: rect(0px, 96px, 16px, 80px);
|
||||
}
|
||||
|
||||
#add-share-provider {
|
||||
list-style-image: url(chrome://browser/skin/menuPanel-small.svg);
|
||||
-moz-image-region: rect(0px, 96px, 16px, 80px);
|
||||
}
|
||||
|
||||
|
@ -50,8 +50,9 @@
|
||||
}
|
||||
|
||||
.messageImage[value="plugin-hidden"] {
|
||||
list-style-image: url("chrome://browser/skin/notification-pluginNormal.png");
|
||||
-moz-image-region: rect(0, 16px, 16px, 0);
|
||||
list-style-image: url(chrome://browser/skin/notification-icons.svg#plugin);
|
||||
filter: url(chrome://browser/skin/filters.svg#fill);
|
||||
fill: currentColor;
|
||||
}
|
||||
|
||||
/* Keep any changes to this style in sync with pluginProblem.css */
|
||||
@ -62,5 +63,7 @@ notification.pluginVulnerable {
|
||||
}
|
||||
|
||||
notification.pluginVulnerable .messageImage {
|
||||
list-style-image: url("chrome://browser/skin/notification-pluginBlocked.png");
|
||||
list-style-image: url(chrome://browser/skin/notification-icons.svg#plugin-blocked);
|
||||
filter: url(chrome://browser/skin/filters.svg#fill);
|
||||
fill: #d92215;
|
||||
}
|
||||
|
@ -46,9 +46,9 @@
|
||||
--urlbar-dropmarker-active-2x-region: rect(0, 66px, 28px, 44px);
|
||||
|
||||
--panel-separator-color: ThreeDLightShadow;
|
||||
--arrowpanel-dimmed: hsla(210,4%,10%,.07);
|
||||
--arrowpanel-dimmed-further: hsla(210,4%,10%,.12);
|
||||
--arrowpanel-dimmed-even-further: hsla(210,4%,10%,.17);
|
||||
--arrowpanel-dimmed: hsla(0,0%,80%,.3);
|
||||
--arrowpanel-dimmed-further: hsla(0,0%,80%,.45);
|
||||
--arrowpanel-dimmed-even-further: hsla(0,0%,80%,.8);
|
||||
|
||||
--urlbar-separator-color: ThreeDLightShadow;
|
||||
}
|
||||
@ -712,26 +712,6 @@ toolbar[brighttext] .toolbarbutton-1 > .toolbarbutton-menubutton-dropmarker {
|
||||
|
||||
%include ../shared/menupanel.inc.css
|
||||
|
||||
@media (-moz-windows-default-theme) {
|
||||
:-moz-any(@primaryToolbarButtons@)[cui-areatype="menu-panel"][panel-multiview-anchor=true] > .toolbarbutton-icon,
|
||||
:-moz-any(@primaryToolbarButtons@)[cui-areatype="menu-panel"][panel-multiview-anchor=true] > .toolbarbutton-badge-stack > .toolbarbutton-icon,
|
||||
:-moz-any(@primaryToolbarButtons@)[cui-areatype="menu-panel"][panel-multiview-anchor=true] > .toolbarbutton-menubutton-button > .toolbarbutton-icon {
|
||||
filter: url(chrome://browser/skin/filters.svg#fill);
|
||||
fill: currentColor;
|
||||
}
|
||||
}
|
||||
|
||||
@media not all and (-moz-windows-default-theme) {
|
||||
:-moz-any(@primaryToolbarButtons@)[cui-areatype="menu-panel"] > .toolbarbutton-icon,
|
||||
:-moz-any(@primaryToolbarButtons@)[cui-areatype="menu-panel"] > .toolbarbutton-badge-stack > .toolbarbutton-icon,
|
||||
:-moz-any(@primaryToolbarButtons@)[cui-areatype="menu-panel"] > .toolbarbutton-menubutton-button > .toolbarbutton-icon,
|
||||
toolbaritem[cui-areatype="menu-panel"] > :-moz-any(@nestedButtons@) > .toolbarbutton-icon {
|
||||
filter: url(chrome://browser/skin/filters.svg#fill);
|
||||
fill: currentColor;
|
||||
opacity: 0.7 !important; /* !important overrides .toolbarbutton-1[disabled=true] rule */
|
||||
}
|
||||
}
|
||||
|
||||
.findbar-button,
|
||||
#nav-bar .toolbarbutton-1,
|
||||
#nav-bar .toolbarbutton-1 > .toolbarbutton-menubutton-button {
|
||||
|
@ -148,99 +148,3 @@ menu.subviewbutton > .menu-right:-moz-locale-dir(rtl) {
|
||||
}
|
||||
}
|
||||
|
||||
@media not all and (-moz-windows-default-theme) {
|
||||
#edit-controls@inAnyPanel@ > #copy-button,
|
||||
#zoom-controls@inAnyPanel@ > #zoom-reset-button,
|
||||
.toolbaritem-combined-buttons@inAnyPanel@ > toolbarbutton {
|
||||
border: 1px solid transparent;
|
||||
}
|
||||
|
||||
panelview .toolbarbutton-1@buttonStateHover@,
|
||||
.widget-overflow-list .toolbarbutton-1@buttonStateHover@,
|
||||
.toolbaritem-combined-buttons@inAnyPanel@ > toolbarbutton@buttonStateHover@ {
|
||||
border-color: ThreeDLightShadow !important;
|
||||
}
|
||||
|
||||
toolbarbutton.subviewbutton@buttonStateHover@,
|
||||
menu.subviewbutton@menuStateHover@,
|
||||
menuitem.subviewbutton@menuStateHover@ {
|
||||
border-color: Highlight;
|
||||
}
|
||||
|
||||
panelview:not(#PanelUI-mainView) .toolbarbutton-1@buttonStateHover@,
|
||||
toolbarbutton.subviewbutton@buttonStateHover@,
|
||||
menu.subviewbutton@menuStateHover@,
|
||||
menuitem.subviewbutton@menuStateHover@,
|
||||
.widget-overflow-list .toolbarbutton-1@buttonStateHover@ {
|
||||
background-color: Highlight;
|
||||
color: highlighttext;
|
||||
}
|
||||
|
||||
panelview .toolbarbutton-1:-moz-any(@buttonStateActive@,[checked=true]),
|
||||
toolbarbutton.subviewbutton@buttonStateActive@,
|
||||
menu.subviewbutton@menuStateActive@,
|
||||
menuitem.subviewbutton@menuStateActive@,
|
||||
.widget-overflow-list .toolbarbutton-1@buttonStateActive@,
|
||||
.toolbaritem-combined-buttons@inAnyPanel@ > toolbarbutton@buttonStateActive@ {
|
||||
background-color: Highlight;
|
||||
border-color: ThreeDLightShadow;
|
||||
color: highlighttext;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
panelview .toolbarbutton-1[disabled],
|
||||
toolbarbutton.subviewbutton[disabled],
|
||||
menu.subviewbutton[disabled],
|
||||
menuitem.subviewbutton[disabled],
|
||||
.widget-overflow-list .toolbarbutton-1[disabled],
|
||||
.toolbaritem-combined-buttons@inAnyPanel@ > toolbarbutton[disabled] {
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
#PanelUI-fxa-label,
|
||||
#PanelUI-help,
|
||||
#PanelUI-customize {
|
||||
border: 1px solid transparent;
|
||||
}
|
||||
|
||||
#PanelUI-fxa-label:not([disabled]):hover,
|
||||
#PanelUI-help:not([disabled]):hover,
|
||||
#PanelUI-customize:hover,
|
||||
#PanelUI-fxa-label:not([disabled]):hover:active,
|
||||
#PanelUI-help:not([disabled]):hover:active,
|
||||
#PanelUI-customize:hover:active {
|
||||
border-color: ThreeDLightShadow;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
#BMB_bookmarksPopup .menu-text,
|
||||
#BMB_bookmarksPopup menupopup {
|
||||
color: -moz-FieldText;
|
||||
}
|
||||
|
||||
#BMB_bookmarksPopup .subviewbutton[disabled=true] > .menu-text {
|
||||
color: GrayText;
|
||||
}
|
||||
|
||||
#BMB_bookmarksPopup menupopup[placespopup=true] > hbox {
|
||||
box-shadow: none;
|
||||
background: -moz-field;
|
||||
border: 1px solid ThreeDShadow;
|
||||
}
|
||||
|
||||
.subviewbutton.panel-subview-footer,
|
||||
#BMB_bookmarksPopup .subviewbutton.panel-subview-footer {
|
||||
color: ButtonText;
|
||||
}
|
||||
|
||||
.subviewbutton@menuStateMenuActive@,
|
||||
menuitem.panel-subview-footer@menuStateHover@,
|
||||
.subviewbutton.panel-subview-footer@buttonStateHover@,
|
||||
.subviewbutton.panel-subview-footer@buttonStateActive@,
|
||||
.subviewbutton@menuStateHover@ > .menu-accel-container,
|
||||
.PanelUI-subView .subviewbutton[shortcut]@buttonStateHover@::after,
|
||||
#BMB_bookmarksPopup .panel-subview-footer@menuStateMenuActive@ > .menu-text {
|
||||
background-color: Highlight;
|
||||
color: highlighttext !important;
|
||||
}
|
||||
}
|
||||
|
@ -26,20 +26,12 @@ browser.jar:
|
||||
skin/classic/browser/menu-back-XP.png
|
||||
skin/classic/browser/menu-forward.png
|
||||
skin/classic/browser/menu-forward-XP.png
|
||||
skin/classic/browser/menuPanel.png
|
||||
skin/classic/browser/menuPanel@2x.png
|
||||
skin/classic/browser/menuPanel-aero.png
|
||||
skin/classic/browser/menuPanel-aero@2x.png
|
||||
skin/classic/browser/menuPanel-customize.png
|
||||
skin/classic/browser/menuPanel-customize@2x.png
|
||||
skin/classic/browser/menuPanel-exit.png
|
||||
skin/classic/browser/menuPanel-exit@2x.png
|
||||
skin/classic/browser/menuPanel-help.png
|
||||
skin/classic/browser/menuPanel-help@2x.png
|
||||
skin/classic/browser/menuPanel-small.png
|
||||
skin/classic/browser/menuPanel-small@2x.png
|
||||
skin/classic/browser/menuPanel-small-aero.png
|
||||
skin/classic/browser/menuPanel-small-aero@2x.png
|
||||
skin/classic/browser/monitor.png
|
||||
skin/classic/browser/monitor_16-10.png
|
||||
skin/classic/browser/pageInfo.css
|
||||
@ -262,14 +254,6 @@ browser.jar:
|
||||
% override chrome://browser/skin/tabbrowser/newtab-inverted.svg chrome://browser/skin/tabbrowser/newtab-inverted-XPVista7.svg os=WINNT osversion<=6.1
|
||||
% override chrome://browser/skin/tabbrowser/tab-arrow-left.svg chrome://browser/skin/tabbrowser/tab-arrow-left-XPVista7.svg os=WINNT osversion<=6.1
|
||||
|
||||
% override chrome://browser/skin/menuPanel.png chrome://browser/skin/menuPanel-aero.png os=WINNT osversion=6
|
||||
% override chrome://browser/skin/menuPanel.png chrome://browser/skin/menuPanel-aero.png os=WINNT osversion=6.1
|
||||
% override chrome://browser/skin/menuPanel@2x.png chrome://browser/skin/menuPanel-aero@2x.png os=WINNT osversion=6
|
||||
% override chrome://browser/skin/menuPanel@2x.png chrome://browser/skin/menuPanel-aero@2x.png os=WINNT osversion=6.1
|
||||
% override chrome://browser/skin/menuPanel-small.png chrome://browser/skin/menuPanel-small-aero.png os=WINNT osversion=6
|
||||
% override chrome://browser/skin/menuPanel-small.png chrome://browser/skin/menuPanel-small-aero.png os=WINNT osversion=6.1
|
||||
% override chrome://browser/skin/menuPanel-small@2x.png chrome://browser/skin/menuPanel-small-aero@2x.png os=WINNT osversion=6
|
||||
% override chrome://browser/skin/menuPanel-small@2x.png chrome://browser/skin/menuPanel-small-aero@2x.png os=WINNT osversion=6.1
|
||||
% override chrome://browser/skin/Toolbar@2x.png chrome://browser/skin/Toolbar-aero@2x.png os=WINNT osversion=6
|
||||
% override chrome://browser/skin/Toolbar@2x.png chrome://browser/skin/Toolbar-aero@2x.png os=WINNT osversion=6.1
|
||||
% override chrome://browser/skin/Toolbar@2x.png chrome://browser/skin/Toolbar-win8@2x.png os=WINNT osversion=6.2
|
||||
|
Before Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 100 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 38 KiB |
@ -53,6 +53,7 @@ SEARCH_PATHS = [
|
||||
'python/slugid',
|
||||
'python/py',
|
||||
'python/pytest',
|
||||
'python/redo',
|
||||
'python/voluptuous',
|
||||
'build',
|
||||
'build/pymake',
|
||||
|
@ -159,7 +159,8 @@ gfxCallbackDrawable::Draw(gfxContext* aContext,
|
||||
gfxFloat aOpacity,
|
||||
const gfxMatrix& aTransform)
|
||||
{
|
||||
if ((IsRepeatingExtendMode(aExtendMode) || aOpacity != 1.0) && !mSurfaceDrawable) {
|
||||
if ((IsRepeatingExtendMode(aExtendMode) || aOpacity != 1.0 || aContext->CurrentOp() != CompositionOp::OP_OVER) &&
|
||||
!mSurfaceDrawable) {
|
||||
mSurfaceDrawable = MakeSurfaceDrawable(aSamplingFilter);
|
||||
}
|
||||
|
||||
|
@ -12,6 +12,7 @@
|
||||
#include "gfxPlatform.h"
|
||||
#include "gfxDrawable.h"
|
||||
#include "imgIEncoder.h"
|
||||
#include "libyuv.h"
|
||||
#include "mozilla/Base64.h"
|
||||
#include "mozilla/dom/ImageEncoder.h"
|
||||
#include "mozilla/dom/WorkerPrivate.h"
|
||||
@ -373,20 +374,7 @@ void
|
||||
gfxUtils::ConvertBGRAtoRGBA(uint8_t* aData, uint32_t aLength)
|
||||
{
|
||||
MOZ_ASSERT((aLength % 4) == 0, "Loop below will pass srcEnd!");
|
||||
|
||||
uint8_t *src = aData;
|
||||
uint8_t *srcEnd = src + aLength;
|
||||
|
||||
uint8_t buffer[4];
|
||||
for (; src != srcEnd; src += 4) {
|
||||
buffer[0] = src[2];
|
||||
buffer[1] = src[1];
|
||||
buffer[2] = src[0];
|
||||
|
||||
src[0] = buffer[0];
|
||||
src[1] = buffer[1];
|
||||
src[2] = buffer[2];
|
||||
}
|
||||
libyuv::ABGRToARGB(aData, aLength, aData, aLength, aLength / 4, 1);
|
||||
}
|
||||
|
||||
#if !defined(MOZ_GFX_OPTIMIZE_MOBILE)
|
||||
|
@ -284,6 +284,7 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'):
|
||||
CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS']
|
||||
|
||||
LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
|
||||
LOCAL_INCLUDES += ['/media/libyuv/include']
|
||||
|
||||
DEFINES['GRAPHITE2_STATIC'] = True
|
||||
|
||||
|
@ -43,7 +43,7 @@ class ProfileEntry
|
||||
void * volatile spOrScript;
|
||||
|
||||
// Line number for non-JS entries, the bytecode offset otherwise.
|
||||
int32_t volatile lineOrPc;
|
||||
int32_t volatile lineOrPcOffset;
|
||||
|
||||
// General purpose storage describing this frame.
|
||||
uint32_t volatile flags_;
|
||||
@ -116,7 +116,7 @@ class ProfileEntry
|
||||
void initCppFrame(void* aSp, uint32_t aLine) volatile {
|
||||
flags_ = IS_CPP_ENTRY;
|
||||
spOrScript = aSp;
|
||||
lineOrPc = static_cast<int32_t>(aLine);
|
||||
lineOrPcOffset = static_cast<int32_t>(aLine);
|
||||
}
|
||||
|
||||
void setFlag(uint32_t flag) volatile {
|
||||
@ -161,13 +161,16 @@ class ProfileEntry
|
||||
MOZ_ASSERT(!isJs());
|
||||
return spOrScript;
|
||||
}
|
||||
JSScript* script() const volatile {
|
||||
MOZ_ASSERT(isJs());
|
||||
return (JSScript*)spOrScript;
|
||||
}
|
||||
JSScript* script() const volatile;
|
||||
uint32_t line() const volatile {
|
||||
MOZ_ASSERT(!isJs());
|
||||
return static_cast<uint32_t>(lineOrPc);
|
||||
return static_cast<uint32_t>(lineOrPcOffset);
|
||||
}
|
||||
|
||||
// Note that the pointer returned might be invalid.
|
||||
JSScript* rawScript() const volatile {
|
||||
MOZ_ASSERT(isJs());
|
||||
return (JSScript*)spOrScript;
|
||||
}
|
||||
|
||||
// We can't know the layout of JSScript, so look in vm/SPSProfiler.cpp.
|
||||
@ -183,7 +186,7 @@ class ProfileEntry
|
||||
|
||||
static size_t offsetOfLabel() { return offsetof(ProfileEntry, string); }
|
||||
static size_t offsetOfSpOrScript() { return offsetof(ProfileEntry, spOrScript); }
|
||||
static size_t offsetOfLineOrPc() { return offsetof(ProfileEntry, lineOrPc); }
|
||||
static size_t offsetOfLineOrPcOffset() { return offsetof(ProfileEntry, lineOrPcOffset); }
|
||||
static size_t offsetOfFlags() { return offsetof(ProfileEntry, flags_); }
|
||||
};
|
||||
|
||||
|
@ -470,6 +470,8 @@ FunctionBox::initFromLazyFunction()
|
||||
length = fun->nargs() - fun->hasRest();
|
||||
if (fun->lazyScript()->isDerivedClassConstructor())
|
||||
setDerivedClassConstructor();
|
||||
if (fun->lazyScript()->needsHomeObject())
|
||||
setNeedsHomeObject();
|
||||
enclosingScope_ = fun->lazyScript()->enclosingScope();
|
||||
initWithEnclosingScope(enclosingScope_);
|
||||
}
|
||||
@ -2825,14 +2827,7 @@ Parser<ParseHandler>::checkFunctionDefinition(HandleAtom funAtom, Node pn, Funct
|
||||
}
|
||||
} else {
|
||||
// A function expression does not introduce any binding.
|
||||
if (kind == Arrow) {
|
||||
/* Arrow functions cannot yet be parsed lazily. */
|
||||
if (!abortIfSyntaxParser())
|
||||
return false;
|
||||
handler.setOp(pn, JSOP_LAMBDA_ARROW);
|
||||
} else {
|
||||
handler.setOp(pn, JSOP_LAMBDA);
|
||||
}
|
||||
handler.setOp(pn, kind == Arrow ? JSOP_LAMBDA_ARROW : JSOP_LAMBDA);
|
||||
}
|
||||
|
||||
return true;
|
||||
@ -3188,11 +3183,6 @@ Parser<FullParseHandler>::standaloneLazyFunction(HandleFunction fun, bool strict
|
||||
if (!pn)
|
||||
return null();
|
||||
|
||||
// Our tokenStream has no current token, so pn's position is garbage.
|
||||
// Substitute the position of the first token in our source.
|
||||
if (!tokenStream.peekTokenPos(&pn->pn_pos))
|
||||
return null();
|
||||
|
||||
Directives directives(strict);
|
||||
FunctionBox* funbox = newFunctionBox(pn, fun, directives, generatorKind,
|
||||
/* tryAnnexB = */ false);
|
||||
@ -3205,6 +3195,16 @@ Parser<FullParseHandler>::standaloneLazyFunction(HandleFunction fun, bool strict
|
||||
if (!funpc.init())
|
||||
return null();
|
||||
|
||||
// Our tokenStream has no current token, so pn's position is garbage.
|
||||
// Substitute the position of the first token in our source. If the function
|
||||
// is an arrow, use TokenStream::Operand to keep verifyConsistentModifier
|
||||
// from complaining (we will use TokenStream::Operand in functionArguments).
|
||||
if (!tokenStream.peekTokenPos(&pn->pn_pos,
|
||||
fun->isArrow() ? TokenStream::Operand : TokenStream::None))
|
||||
{
|
||||
return null();
|
||||
}
|
||||
|
||||
YieldHandling yieldHandling = generatorKind != NotGenerator ? YieldIsKeyword : YieldIsName;
|
||||
FunctionSyntaxKind syntaxKind = Statement;
|
||||
if (fun->isClassConstructor())
|
||||
@ -3215,6 +3215,8 @@ Parser<FullParseHandler>::standaloneLazyFunction(HandleFunction fun, bool strict
|
||||
syntaxKind = Getter;
|
||||
else if (fun->isSetter())
|
||||
syntaxKind = Setter;
|
||||
else if (fun->isArrow())
|
||||
syntaxKind = Arrow;
|
||||
|
||||
if (!functionFormalParametersAndBody(InAllowed, yieldHandling, pn, syntaxKind)) {
|
||||
MOZ_ASSERT(directives == newDirectives);
|
||||
@ -7303,8 +7305,6 @@ Parser<ParseHandler>::assignExpr(InHandling inHandling, YieldHandling yieldHandl
|
||||
isBlock = true;
|
||||
|
||||
tokenStream.seek(start);
|
||||
if (!abortIfSyntaxParser())
|
||||
return null();
|
||||
|
||||
TokenKind ignored;
|
||||
if (!tokenStream.peekToken(&ignored, TokenStream::Operand))
|
||||
|
@ -5467,30 +5467,31 @@ GCRuntime::compactPhase(JS::gcreason::Reason reason, SliceBudget& sliceBudget,
|
||||
|
||||
gcstats::AutoPhase ap(stats, gcstats::PHASE_COMPACT);
|
||||
|
||||
// TODO: JSScripts can move. If the sampler interrupts the GC in the
|
||||
// middle of relocating an arena, invalid JSScript pointers may be
|
||||
// accessed. Suppress all sampling until a finer-grained solution can be
|
||||
// found. See bug 1295775.
|
||||
AutoSuppressProfilerSampling suppressSampling(rt);
|
||||
|
||||
Arena* relocatedArenas = nullptr;
|
||||
while (!zonesToMaybeCompact.isEmpty()) {
|
||||
// TODO: JSScripts can move. If the sampler interrupts the GC in the
|
||||
// middle of relocating an arena, invalid JSScript pointers may be
|
||||
// accessed. Suppress all sampling until a finer-grained solution can be
|
||||
// found. See bug 1295775.
|
||||
AutoSuppressProfilerSampling suppressSampling(rt);
|
||||
|
||||
Zone* zone = zonesToMaybeCompact.front();
|
||||
MOZ_ASSERT(zone->isGCFinished());
|
||||
Arena* relocatedArenas = nullptr;
|
||||
if (relocateArenas(zone, reason, relocatedArenas, sliceBudget)) {
|
||||
zone->setGCState(Zone::Compact);
|
||||
updatePointersToRelocatedCells(zone, lock);
|
||||
zone->setGCState(Zone::Finished);
|
||||
}
|
||||
if (ShouldProtectRelocatedArenas(reason))
|
||||
protectAndHoldArenas(relocatedArenas);
|
||||
else
|
||||
releaseRelocatedArenas(relocatedArenas);
|
||||
zonesToMaybeCompact.removeFront();
|
||||
if (sliceBudget.isOverBudget())
|
||||
break;
|
||||
}
|
||||
|
||||
if (ShouldProtectRelocatedArenas(reason))
|
||||
protectAndHoldArenas(relocatedArenas);
|
||||
else
|
||||
releaseRelocatedArenas(relocatedArenas);
|
||||
|
||||
// Clear caches that can contain cell pointers.
|
||||
JSContext* cx = rt->contextFromMainThread();
|
||||
cx->caches.newObjectCache.purge();
|
||||
|
@ -391,7 +391,7 @@ void
|
||||
ProfileEntry::trace(JSTracer* trc)
|
||||
{
|
||||
if (isJs()) {
|
||||
JSScript* s = script();
|
||||
JSScript* s = rawScript();
|
||||
TraceNullableRoot(trc, &s, "ProfileEntry script");
|
||||
spOrScript = s;
|
||||
}
|
||||
@ -482,18 +482,43 @@ SPSBaselineOSRMarker::~SPSBaselineOSRMarker()
|
||||
entry.unsetOSR();
|
||||
}
|
||||
|
||||
JSScript*
|
||||
ProfileEntry::script() const volatile
|
||||
{
|
||||
MOZ_ASSERT(isJs());
|
||||
auto script = reinterpret_cast<JSScript*>(spOrScript);
|
||||
if (!script)
|
||||
return nullptr;
|
||||
|
||||
// If profiling is supressed then we can't trust the script pointers to be
|
||||
// valid as they could be in the process of being moved by a compacting GC
|
||||
// (although it's still OK to get the runtime from them).
|
||||
JSRuntime* rt = script->zoneFromAnyThread()->runtimeFromAnyThread();
|
||||
if (!rt->isProfilerSamplingEnabled())
|
||||
return nullptr;
|
||||
|
||||
MOZ_ASSERT(!IsForwarded(script));
|
||||
return script;
|
||||
}
|
||||
|
||||
JS_FRIEND_API(jsbytecode*)
|
||||
ProfileEntry::pc() const volatile
|
||||
{
|
||||
MOZ_ASSERT(isJs());
|
||||
return lineOrPc == NullPCOffset ? nullptr : script()->offsetToPC(lineOrPc);
|
||||
if (lineOrPcOffset == NullPCOffset)
|
||||
return nullptr;
|
||||
|
||||
JSScript* script = this->script();
|
||||
return script ? script->offsetToPC(lineOrPcOffset) : nullptr;
|
||||
}
|
||||
|
||||
JS_FRIEND_API(void)
|
||||
ProfileEntry::setPC(jsbytecode* pc) volatile
|
||||
{
|
||||
MOZ_ASSERT(isJs());
|
||||
lineOrPc = pc == nullptr ? NullPCOffset : script()->pcToOffset(pc);
|
||||
JSScript* script = this->script();
|
||||
MOZ_ASSERT(script); // This should not be called while profiling is suppressed.
|
||||
lineOrPcOffset = pc == nullptr ? NullPCOffset : script->pcToOffset(pc);
|
||||
}
|
||||
|
||||
JS_FRIEND_API(void)
|
||||
|
@ -182,7 +182,7 @@ class SPSProfiler
|
||||
void updatePC(JSScript* script, jsbytecode* pc) {
|
||||
if (enabled() && *size_ - 1 < max_) {
|
||||
MOZ_ASSERT(*size_ > 0);
|
||||
MOZ_ASSERT(stack_[*size_ - 1].script() == script);
|
||||
MOZ_ASSERT(stack_[*size_ - 1].rawScript() == script);
|
||||
stack_[*size_ - 1].setPC(pc);
|
||||
}
|
||||
}
|
||||
|
@ -3493,10 +3493,6 @@ XPCJSRuntime::Initialize()
|
||||
js::SetActivityCallback(cx, ActivityCallback, this);
|
||||
JS_SetInterruptCallback(cx, InterruptCallback);
|
||||
js::SetWindowProxyClass(cx, &OuterWindowProxyClass);
|
||||
#ifdef MOZ_CRASHREPORTER
|
||||
js::AutoEnterOOMUnsafeRegion::setAnnotateOOMAllocationSizeCallback(
|
||||
CrashReporter::AnnotateOOMAllocationSize);
|
||||
#endif
|
||||
|
||||
// The JS engine needs to keep the source code around in order to implement
|
||||
// Function.prototype.toSource(). It'd be nice to not have to do this for
|
||||
|
@ -6702,30 +6702,7 @@ DrawImageInternal(gfxContext& aContext,
|
||||
|
||||
RefPtr<gfxContext> destCtx = &aContext;
|
||||
|
||||
IntRect tmpDTRect;
|
||||
|
||||
if (destCtx->CurrentOp() == CompositionOp::OP_OVER) {
|
||||
destCtx->SetMatrix(params.imageSpaceToDeviceSpace);
|
||||
} else {
|
||||
// We need a temporary DrawTarget to composite correctly
|
||||
Rect imageRect = ToRect(params.imageSpaceToDeviceSpace.TransformBounds(params.region.Rect()));
|
||||
imageRect.ToIntRect(&tmpDTRect);
|
||||
|
||||
RefPtr<DrawTarget> tempDT =
|
||||
destCtx->GetDrawTarget()->CreateSimilarDrawTarget(tmpDTRect.Size(),
|
||||
SurfaceFormat::B8G8R8A8);
|
||||
if (!tempDT || !tempDT->IsValid()) {
|
||||
gfxDevCrash(LogReason::InvalidContext) << "NonOP_OVER context problem " << gfx::hexa(tempDT);
|
||||
return DrawResult::TEMPORARY_ERROR;
|
||||
}
|
||||
tempDT->SetTransform(ToMatrix(params.imageSpaceToDeviceSpace).
|
||||
PostTranslate(-tmpDTRect.TopLeft()));
|
||||
destCtx = gfxContext::CreatePreservingTransformOrNull(tempDT);
|
||||
if (!destCtx) {
|
||||
gfxDevCrash(LogReason::InvalidContext) << "NonOP_OVER context problem " << gfx::hexa(tempDT);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
destCtx->SetMatrix(params.imageSpaceToDeviceSpace);
|
||||
|
||||
Maybe<SVGImageContext> svgContext = ToMaybe(aSVGContext);
|
||||
if (!svgContext) {
|
||||
@ -6737,17 +6714,6 @@ DrawImageInternal(gfxContext& aContext,
|
||||
imgIContainer::FRAME_CURRENT, aSamplingFilter,
|
||||
svgContext, aImageFlags);
|
||||
|
||||
if (!tmpDTRect.IsEmpty()) {
|
||||
// Snapshot the temporary DrawTarget and composite the result
|
||||
DrawTarget* dt = aContext.GetDrawTarget();
|
||||
RefPtr<SourceSurface> surf = destCtx->GetDrawTarget()->Snapshot();
|
||||
|
||||
dt->SetTransform(Matrix::Translation(-aContext.GetDeviceOffset()));
|
||||
dt->DrawSurface(surf, Rect(tmpDTRect.x, tmpDTRect.y, tmpDTRect.width, tmpDTRect.height),
|
||||
Rect(0, 0, tmpDTRect.width, tmpDTRect.height),
|
||||
DrawSurfaceOptions(SamplingFilter::POINT),
|
||||
DrawOptions(1.0f, aContext.CurrentOp()));
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
|
@ -1009,13 +1009,13 @@ nsRefreshDriver::nsRefreshDriver(nsPresContext* aPresContext)
|
||||
mInRefresh(false),
|
||||
mWaitingForTransaction(false),
|
||||
mSkippedPaints(false),
|
||||
mResizeSuppressed(false)
|
||||
mResizeSuppressed(false),
|
||||
mWarningThreshold(1)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MOZ_ASSERT(mPresContext,
|
||||
"Need a pres context to tell us to call Disconnect() later "
|
||||
"and decrement sRefreshDriverCount.");
|
||||
|
||||
mMostRecentRefreshEpochTime = JS_Now();
|
||||
mMostRecentRefresh = TimeStamp::Now();
|
||||
mMostRecentTick = mMostRecentRefresh;
|
||||
@ -1065,6 +1065,7 @@ nsRefreshDriver::AdvanceTimeAndRefresh(int64_t aMilliseconds)
|
||||
// Disable any refresh driver throttling when entering test mode
|
||||
mWaitingForTransaction = false;
|
||||
mSkippedPaints = false;
|
||||
mWarningThreshold = 1;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1655,6 +1656,7 @@ nsRefreshDriver::Tick(int64_t aNowEpoch, TimeStamp aNowTime)
|
||||
mRootRefresh = nullptr;
|
||||
}
|
||||
mSkippedPaints = false;
|
||||
mWarningThreshold = 1;
|
||||
|
||||
nsCOMPtr<nsIPresShell> presShell = mPresContext->GetPresShell();
|
||||
if (!presShell || (ObserverCount() == 0 && ImageRequestCount() == 0)) {
|
||||
@ -1995,6 +1997,7 @@ nsRefreshDriver::FinishedWaitingForTransaction()
|
||||
profiler_tracing("Paint", "RD", TRACING_INTERVAL_END);
|
||||
}
|
||||
mSkippedPaints = false;
|
||||
mWarningThreshold = 1;
|
||||
}
|
||||
|
||||
uint64_t
|
||||
@ -2007,6 +2010,7 @@ nsRefreshDriver::GetTransactionId()
|
||||
!mTestControllingRefreshes) {
|
||||
mWaitingForTransaction = true;
|
||||
mSkippedPaints = false;
|
||||
mWarningThreshold = 1;
|
||||
}
|
||||
|
||||
return mPendingTransaction;
|
||||
@ -2066,17 +2070,14 @@ nsRefreshDriver::IsWaitingForPaint(mozilla::TimeStamp aTime)
|
||||
if (mTestControllingRefreshes) {
|
||||
return false;
|
||||
}
|
||||
// If we've skipped too many ticks then it's possible
|
||||
// that something went wrong and we're waiting on
|
||||
// a notification that will never arrive.
|
||||
if (aTime > (mMostRecentTick + TimeDuration::FromMilliseconds(200))) {
|
||||
mSkippedPaints = false;
|
||||
mWaitingForTransaction = false;
|
||||
if (mRootRefresh) {
|
||||
mRootRefresh->RemoveRefreshObserver(this, Flush_Style);
|
||||
}
|
||||
return false;
|
||||
|
||||
if (aTime > (mMostRecentTick + TimeDuration::FromMilliseconds(mWarningThreshold * 1000))) {
|
||||
gfxCriticalNote << "Refresh driver waiting for the compositor for"
|
||||
<< (aTime - mMostRecentTick).ToSeconds()
|
||||
<< " seconds.";
|
||||
mWarningThreshold *= 2;
|
||||
}
|
||||
|
||||
if (mWaitingForTransaction) {
|
||||
mSkippedPaints = true;
|
||||
return true;
|
||||
|
@ -424,6 +424,10 @@ private:
|
||||
bool mResizeSuppressed;
|
||||
|
||||
int64_t mMostRecentRefreshEpochTime;
|
||||
// Number of seconds that the refresh driver is blocked waiting for a compositor
|
||||
// transaction to be completed before we append a note to the gfx critical log.
|
||||
// The number is doubled every time the threshold is hit.
|
||||
uint64_t mWarningThreshold;
|
||||
mozilla::TimeStamp mMostRecentRefresh;
|
||||
mozilla::TimeStamp mMostRecentTick;
|
||||
mozilla::TimeStamp mTickStart;
|
||||
|
@ -5,4 +5,4 @@ Makefile.in build files for the Mozilla build system.
|
||||
|
||||
The cubeb git repository is: git://github.com/kinetiknz/cubeb.git
|
||||
|
||||
The git commit ID used was e4074131e4d422bfe260d29ab0a49fc368406ef4.
|
||||
The git commit ID used was 92b4afa6ae9f0969e77d59a8f9de9ab36acd7d7f.
|
||||
|
@ -1,136 +0,0 @@
|
||||
diff --git a/media/libcubeb/src/cubeb_audiounit.cpp b/media/libcubeb/src/cubeb_audiounit.cpp
|
||||
--- a/media/libcubeb/src/cubeb_audiounit.cpp
|
||||
+++ b/media/libcubeb/src/cubeb_audiounit.cpp
|
||||
@@ -48,22 +48,16 @@
|
||||
typedef UInt32 AudioFormatFlags;
|
||||
#endif
|
||||
|
||||
#define CUBEB_STREAM_MAX 8
|
||||
|
||||
#define AU_OUT_BUS 0
|
||||
#define AU_IN_BUS 1
|
||||
|
||||
-#if TARGET_OS_IPHONE
|
||||
-#define CUBEB_AUDIOUNIT_SUBTYPE kAudioUnitSubType_RemoteIO
|
||||
-#else
|
||||
-#define CUBEB_AUDIOUNIT_SUBTYPE kAudioUnitSubType_HALOutput
|
||||
-#endif
|
||||
-
|
||||
//#define LOGGING_ENABLED
|
||||
#ifdef LOGGING_ENABLED
|
||||
#define LOG(...) do { \
|
||||
fprintf(stderr, __VA_ARGS__); \
|
||||
fprintf(stderr, "(line: %d)\n", __LINE__); \
|
||||
} while(0)
|
||||
#else
|
||||
#define LOG(...)
|
||||
@@ -905,63 +899,79 @@ audiounit_create_unit(AudioUnit * unit,
|
||||
{
|
||||
AudioComponentDescription desc;
|
||||
AudioComponent comp;
|
||||
UInt32 enable;
|
||||
AudioDeviceID devid;
|
||||
OSStatus rv;
|
||||
|
||||
desc.componentType = kAudioUnitType_Output;
|
||||
- desc.componentSubType = CUBEB_AUDIOUNIT_SUBTYPE;
|
||||
+#if TARGET_OS_IPHONE
|
||||
+ bool use_default_output = false;
|
||||
+ desc.componentSubType = kAudioUnitSubType_RemoteIO;
|
||||
+#else
|
||||
+ // Use the DefaultOutputUnit for output when no device is specified
|
||||
+ // so we retain automatic output device switching when the default
|
||||
+ // changes. Once we have complete support for device notifications
|
||||
+ // and switching, we can use the AUHAL for everything.
|
||||
+ bool use_default_output = device == NULL && !is_input;
|
||||
+ if (use_default_output) {
|
||||
+ desc.componentSubType = kAudioUnitSubType_DefaultOutput;
|
||||
+ } else {
|
||||
+ desc.componentSubType = kAudioUnitSubType_HALOutput;
|
||||
+ }
|
||||
+#endif
|
||||
desc.componentManufacturer = kAudioUnitManufacturer_Apple;
|
||||
desc.componentFlags = 0;
|
||||
desc.componentFlagsMask = 0;
|
||||
comp = AudioComponentFindNext(NULL, &desc);
|
||||
if (comp == NULL) {
|
||||
LOG("Could not find matching audio hardware.");
|
||||
return CUBEB_ERROR;
|
||||
}
|
||||
|
||||
rv = AudioComponentInstanceNew(comp, unit);
|
||||
if (rv != noErr) {
|
||||
PRINT_ERROR_CODE("AudioComponentInstanceNew", rv);
|
||||
return CUBEB_ERROR;
|
||||
}
|
||||
|
||||
- enable = 1;
|
||||
- rv = AudioUnitSetProperty(*unit, kAudioOutputUnitProperty_EnableIO,
|
||||
- is_input ? kAudioUnitScope_Input : kAudioUnitScope_Output,
|
||||
- is_input ? AU_IN_BUS : AU_OUT_BUS, &enable, sizeof(UInt32));
|
||||
- if (rv != noErr) {
|
||||
- PRINT_ERROR_CODE("AudioUnitSetProperty/kAudioOutputUnitProperty_EnableIO", rv);
|
||||
- return CUBEB_ERROR;
|
||||
- }
|
||||
+ if (!use_default_output) {
|
||||
+ enable = 1;
|
||||
+ rv = AudioUnitSetProperty(*unit, kAudioOutputUnitProperty_EnableIO,
|
||||
+ is_input ? kAudioUnitScope_Input : kAudioUnitScope_Output,
|
||||
+ is_input ? AU_IN_BUS : AU_OUT_BUS, &enable, sizeof(UInt32));
|
||||
+ if (rv != noErr) {
|
||||
+ PRINT_ERROR_CODE("AudioUnitSetProperty/kAudioOutputUnitProperty_EnableIO", rv);
|
||||
+ return CUBEB_ERROR;
|
||||
+ }
|
||||
|
||||
- enable = 0;
|
||||
- rv = AudioUnitSetProperty(*unit, kAudioOutputUnitProperty_EnableIO,
|
||||
- is_input ? kAudioUnitScope_Output : kAudioUnitScope_Input,
|
||||
- is_input ? AU_OUT_BUS : AU_IN_BUS, &enable, sizeof(UInt32));
|
||||
- if (rv != noErr) {
|
||||
- PRINT_ERROR_CODE("AudioUnitSetProperty/kAudioOutputUnitProperty_EnableIO", rv);
|
||||
- return CUBEB_ERROR;
|
||||
- }
|
||||
+ enable = 0;
|
||||
+ rv = AudioUnitSetProperty(*unit, kAudioOutputUnitProperty_EnableIO,
|
||||
+ is_input ? kAudioUnitScope_Output : kAudioUnitScope_Input,
|
||||
+ is_input ? AU_OUT_BUS : AU_IN_BUS, &enable, sizeof(UInt32));
|
||||
+ if (rv != noErr) {
|
||||
+ PRINT_ERROR_CODE("AudioUnitSetProperty/kAudioOutputUnitProperty_EnableIO", rv);
|
||||
+ return CUBEB_ERROR;
|
||||
+ }
|
||||
|
||||
- if (device == NULL) {
|
||||
- devid = audiounit_get_default_device_id(is_input ? CUBEB_DEVICE_TYPE_INPUT
|
||||
- : CUBEB_DEVICE_TYPE_OUTPUT);
|
||||
- } else {
|
||||
- devid = reinterpret_cast<intptr_t>(device);
|
||||
- }
|
||||
- int err = AudioUnitSetProperty(*unit, kAudioOutputUnitProperty_CurrentDevice,
|
||||
- kAudioUnitScope_Global,
|
||||
- is_input ? AU_IN_BUS : AU_OUT_BUS,
|
||||
- &devid, sizeof(AudioDeviceID));
|
||||
- if (err != noErr) {
|
||||
- PRINT_ERROR_CODE("AudioUnitSetProperty/kAudioOutputUnitProperty_CurrentDevice", rv);
|
||||
- return CUBEB_ERROR;
|
||||
+ if (device == NULL) {
|
||||
+ assert(is_input);
|
||||
+ devid = audiounit_get_default_device_id(CUBEB_DEVICE_TYPE_INPUT);
|
||||
+ } else {
|
||||
+ devid = reinterpret_cast<intptr_t>(device);
|
||||
+ }
|
||||
+ int err = AudioUnitSetProperty(*unit, kAudioOutputUnitProperty_CurrentDevice,
|
||||
+ kAudioUnitScope_Global,
|
||||
+ is_input ? AU_IN_BUS : AU_OUT_BUS,
|
||||
+ &devid, sizeof(AudioDeviceID));
|
||||
+ if (err != noErr) {
|
||||
+ PRINT_ERROR_CODE("AudioUnitSetProperty/kAudioOutputUnitProperty_CurrentDevice", rv);
|
||||
+ return CUBEB_ERROR;
|
||||
+ }
|
||||
}
|
||||
|
||||
return CUBEB_OK;
|
||||
}
|
||||
|
||||
static int
|
||||
audiounit_init_input_linear_buffer(cubeb_stream * stream, uint32_t capacity)
|
||||
{
|
@ -396,7 +396,7 @@ void cubeb_destroy(cubeb * context);
|
||||
@param context A pointer to the cubeb context.
|
||||
@param stream An out parameter to be filled with the an opaque pointer to a
|
||||
cubeb stream.
|
||||
@param stream_name A name for this stream.
|
||||
@param stream_name A name for this stream.
|
||||
@param input_device Device for the input side of the stream. If NULL the
|
||||
default input device is used.
|
||||
@param input_stream_params Parameters for the input side of the stream, or
|
||||
@ -405,8 +405,8 @@ void cubeb_destroy(cubeb * context);
|
||||
default output device is used.
|
||||
@param output_stream_params Parameters for the output side of the stream, or
|
||||
NULL if this stream is input only.
|
||||
@param latency Stream latency in frames. Valid range
|
||||
is [1, 96000].
|
||||
@param latency_frames Stream latency in frames. Valid range
|
||||
is [1, 96000].
|
||||
@param data_callback Will be called to preroll data before playback is
|
||||
started by cubeb_stream_start.
|
||||
@param state_callback A pointer to a state callback.
|
||||
|
@ -11,6 +11,29 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#ifdef __clang__
|
||||
#ifndef CLANG_ANALYZER_NORETURN
|
||||
#if __has_feature(attribute_analyzer_noreturn)
|
||||
#define CLANG_ANALYZER_NORETURN __attribute__((analyzer_noreturn))
|
||||
#else
|
||||
#define CLANG_ANALYZER_NORETURN
|
||||
#endif // ifndef CLANG_ANALYZER_NORETURN
|
||||
#endif // __has_feature(attribute_analyzer_noreturn)
|
||||
#else // __clang__
|
||||
#define CLANG_ANALYZER_NORETURN
|
||||
#endif
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Crash the caller. */
|
||||
void cubeb_crash() CLANG_ANALYZER_NORETURN;
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
struct cubeb_ops {
|
||||
int (* init)(cubeb ** context, char const * context_name);
|
||||
char const * (* get_backend_id)(cubeb * context);
|
||||
@ -52,12 +75,11 @@ struct cubeb_ops {
|
||||
void * user_ptr);
|
||||
};
|
||||
|
||||
#define XASSERT(expr) do { \
|
||||
if (!(expr)) { \
|
||||
#define XASSERT(expr) do { \
|
||||
if (!(expr)) { \
|
||||
fprintf(stderr, "%s:%d - fatal error: %s\n", __FILE__, __LINE__, #expr); \
|
||||
*((volatile int *) NULL) = 0; \
|
||||
abort(); \
|
||||
} \
|
||||
cubeb_crash(); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#endif /* CUBEB_INTERNAL_0eb56756_4e20_4404_a76d_42bf88cd15a5 */
|
||||
|
@ -33,15 +33,9 @@ int jack_init (cubeb ** context, char const * context_name);
|
||||
#if defined(USE_ALSA)
|
||||
int alsa_init(cubeb ** context, char const * context_name);
|
||||
#endif
|
||||
#if defined(USE_AUDIOQUEUE)
|
||||
int audioqueue_init(cubeb ** context, char const * context_name);
|
||||
#endif
|
||||
#if defined(USE_AUDIOUNIT)
|
||||
int audiounit_init(cubeb ** context, char const * context_name);
|
||||
#endif
|
||||
#if defined(USE_DIRECTSOUND)
|
||||
int directsound_init(cubeb ** context, char const * context_name);
|
||||
#endif
|
||||
#if defined(USE_WINMM)
|
||||
int winmm_init(cubeb ** context, char const * context_name);
|
||||
#endif
|
||||
@ -129,18 +123,12 @@ cubeb_init(cubeb ** context, char const * context_name)
|
||||
#if defined(USE_AUDIOUNIT)
|
||||
audiounit_init,
|
||||
#endif
|
||||
#if defined(USE_AUDIOQUEUE)
|
||||
audioqueue_init,
|
||||
#endif
|
||||
#if defined(USE_WASAPI)
|
||||
wasapi_init,
|
||||
#endif
|
||||
#if defined(USE_WINMM)
|
||||
winmm_init,
|
||||
#endif
|
||||
#if defined(USE_DIRECTSOUND)
|
||||
directsound_init,
|
||||
#endif
|
||||
#if defined(USE_SNDIO)
|
||||
sndio_init,
|
||||
#endif
|
||||
@ -454,3 +442,10 @@ int cubeb_register_device_collection_changed(cubeb * context,
|
||||
return context->ops->register_device_collection_changed(context, devtype, callback, user_ptr);
|
||||
}
|
||||
|
||||
void cubeb_crash()
|
||||
{
|
||||
abort();
|
||||
*((volatile int *) NULL) = 0;
|
||||
}
|
||||
|
||||
|
||||
|
@ -30,6 +30,7 @@
|
||||
#include "cubeb_ring_array.h"
|
||||
#include "cubeb_utils.h"
|
||||
#include <algorithm>
|
||||
#include <atomic>
|
||||
|
||||
#if !defined(kCFCoreFoundationVersionNumber10_7)
|
||||
/* From CoreFoundation CFBase.h */
|
||||
@ -180,7 +181,7 @@ struct cubeb_stream {
|
||||
int draining;
|
||||
uint64_t current_latency_frames;
|
||||
uint64_t hw_latency_frames;
|
||||
float panning;
|
||||
std::atomic<float> panning;
|
||||
cubeb_resampler * resampler;
|
||||
};
|
||||
|
||||
@ -409,7 +410,8 @@ audiounit_output_callback(void * user_ptr,
|
||||
stm->frames_queued += outframes;
|
||||
|
||||
AudioFormatFlags outaff = stm->output_desc.mFormatFlags;
|
||||
float panning = (stm->output_desc.mChannelsPerFrame == 2) ? stm->panning : 0.0f;
|
||||
float panning = (stm->output_desc.mChannelsPerFrame == 2) ?
|
||||
stm->panning.load(std::memory_order_relaxed) : 0.0f;
|
||||
|
||||
/* Post process output samples. */
|
||||
if (stm->draining) {
|
||||
@ -1613,11 +1615,7 @@ int audiounit_stream_set_panning(cubeb_stream * stm, float panning)
|
||||
return CUBEB_ERROR_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
{
|
||||
auto_lock lock(stm->mutex);
|
||||
stm->panning = panning;
|
||||
}
|
||||
|
||||
stm->panning.store(panning, std::memory_order_relaxed);
|
||||
return CUBEB_OK;
|
||||
}
|
||||
|
||||
|
@ -46,7 +46,9 @@
|
||||
X(jack_port_get_latency_range) \
|
||||
X(jack_set_process_callback) \
|
||||
X(jack_set_xrun_callback) \
|
||||
X(jack_set_graph_order_callback)
|
||||
X(jack_set_graph_order_callback) \
|
||||
X(jack_set_error_function) \
|
||||
X(jack_set_info_function)
|
||||
|
||||
#define IMPORT_FUNC(x) static decltype(x) * api_##x;
|
||||
JACK_API_VISIT(IMPORT_FUNC);
|
||||
@ -283,8 +285,6 @@ cbjack_graph_order_callback(void * arg)
|
||||
{
|
||||
cubeb * ctx = (cubeb *)arg;
|
||||
int i;
|
||||
uint32_t rate;
|
||||
|
||||
jack_latency_range_t latency_range;
|
||||
jack_nframes_t port_latency, max_latency = 0;
|
||||
|
||||
@ -564,6 +564,11 @@ cbjack_interleave_capture(cubeb_stream * stream, float **in, jack_nframes_t nfra
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
silent_jack_error_callback(char const * /*msg*/)
|
||||
{
|
||||
}
|
||||
|
||||
/*static*/ int
|
||||
jack_init (cubeb ** context, char const * context_name)
|
||||
{
|
||||
@ -582,6 +587,9 @@ jack_init (cubeb ** context, char const * context_name)
|
||||
return CUBEB_ERROR;
|
||||
}
|
||||
|
||||
api_jack_set_error_function(silent_jack_error_callback);
|
||||
api_jack_set_info_function(silent_jack_error_callback);
|
||||
|
||||
ctx->ops = &cbjack_ops;
|
||||
|
||||
ctx->mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||
@ -623,13 +631,13 @@ jack_init (cubeb ** context, char const * context_name)
|
||||
}
|
||||
|
||||
static char const *
|
||||
cbjack_get_backend_id(cubeb * context)
|
||||
cbjack_get_backend_id(cubeb * /*context*/)
|
||||
{
|
||||
return "jack";
|
||||
}
|
||||
|
||||
static int
|
||||
cbjack_get_max_channel_count(cubeb * ctx, uint32_t * max_channels)
|
||||
cbjack_get_max_channel_count(cubeb * /*ctx*/, uint32_t * max_channels)
|
||||
{
|
||||
*max_channels = MAX_CHANNELS;
|
||||
return CUBEB_OK;
|
||||
@ -643,7 +651,7 @@ cbjack_get_latency(cubeb_stream * stm, unsigned int * latency_ms)
|
||||
}
|
||||
|
||||
static int
|
||||
cbjack_get_min_latency(cubeb * ctx, cubeb_stream_params params, uint32_t * latency_ms)
|
||||
cbjack_get_min_latency(cubeb * ctx, cubeb_stream_params /*params*/, uint32_t * latency_ms)
|
||||
{
|
||||
*latency_ms = ctx->jack_latency;
|
||||
return CUBEB_OK;
|
||||
@ -703,7 +711,7 @@ cbjack_stream_init(cubeb * context, cubeb_stream ** stream, char const * stream_
|
||||
cubeb_stream_params * input_stream_params,
|
||||
cubeb_devid output_device,
|
||||
cubeb_stream_params * output_stream_params,
|
||||
unsigned int latency_frames,
|
||||
unsigned int /*latency_frames*/,
|
||||
cubeb_data_callback data_callback,
|
||||
cubeb_state_callback state_callback,
|
||||
void * user_ptr)
|
||||
@ -725,6 +733,9 @@ cbjack_stream_init(cubeb * context, cubeb_stream ** stream, char const * stream_
|
||||
return CUBEB_ERROR_INVALID_FORMAT;
|
||||
}
|
||||
|
||||
if (input_device || output_device)
|
||||
return CUBEB_ERROR_NOT_SUPPORTED;
|
||||
|
||||
*stream = NULL;
|
||||
|
||||
// Find a free stream.
|
||||
@ -956,7 +967,7 @@ cbjack_stream_get_current_device(cubeb_stream * stm, cubeb_device ** const devic
|
||||
}
|
||||
|
||||
static int
|
||||
cbjack_stream_device_destroy(cubeb_stream * stream,
|
||||
cbjack_stream_device_destroy(cubeb_stream * /*stream*/,
|
||||
cubeb_device * device)
|
||||
{
|
||||
if (device->input_name)
|
||||
|
@ -150,7 +150,7 @@ template<typename T, typename InputProcessor, typename OutputProcessor>
|
||||
long
|
||||
cubeb_resampler_speex<T, InputProcessor, OutputProcessor>
|
||||
::fill_internal_input(T * input_buffer, long * input_frames_count,
|
||||
T * output_buffer, long output_frames_needed)
|
||||
T * output_buffer, long /*output_frames_needed*/)
|
||||
{
|
||||
assert(input_buffer && input_frames_count && *input_frames_count &&
|
||||
!output_buffer);
|
||||
|
@ -20,7 +20,11 @@ public:
|
||||
{
|
||||
pthread_mutexattr_t attr;
|
||||
pthread_mutexattr_init(&attr);
|
||||
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
|
||||
#ifdef DEBUG
|
||||
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK);
|
||||
#else
|
||||
pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_NORMAL);
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG
|
||||
int r =
|
||||
|
@ -760,8 +760,10 @@ refill_callback_output(cubeb_stream * stm)
|
||||
0,
|
||||
output_buffer,
|
||||
output_frames);
|
||||
XASSERT(got >= 0);
|
||||
XASSERT(got == output_frames || stm->draining);
|
||||
|
||||
hr = stm->render_client->ReleaseBuffer(output_frames, 0);
|
||||
hr = stm->render_client->ReleaseBuffer(got, 0);
|
||||
if (FAILED(hr)) {
|
||||
LOG("failed to release buffer: %x\n", hr);
|
||||
return false;
|
||||
@ -1022,7 +1024,7 @@ current_stream_delay(cubeb_stream * stm)
|
||||
double cur_pos = static_cast<double>(pos) / freq;
|
||||
double max_pos = static_cast<double>(stm->frames_written) / stm->output_mix_params.rate;
|
||||
double delay = max_pos - cur_pos;
|
||||
XASSERT(delay >= 0 || stm->draining);
|
||||
XASSERT(delay >= 0);
|
||||
|
||||
return delay;
|
||||
}
|
||||
|
@ -310,6 +310,11 @@ winmm_init(cubeb ** context, char const * context_name)
|
||||
XASSERT(context);
|
||||
*context = NULL;
|
||||
|
||||
/* Don't initialize a context if there are no devices available. */
|
||||
if (waveOutGetNumDevs() == 0) {
|
||||
return CUBEB_ERROR;
|
||||
}
|
||||
|
||||
ctx = calloc(1, sizeof(*ctx));
|
||||
XASSERT(ctx);
|
||||
|
||||
@ -533,23 +538,32 @@ winmm_stream_init(cubeb * context, cubeb_stream ** stream, char const * stream_n
|
||||
static void
|
||||
winmm_stream_destroy(cubeb_stream * stm)
|
||||
{
|
||||
DWORD r;
|
||||
int i;
|
||||
int enqueued;
|
||||
|
||||
if (stm->waveout) {
|
||||
MMTIME time;
|
||||
MMRESULT r;
|
||||
int device_valid;
|
||||
int enqueued;
|
||||
|
||||
EnterCriticalSection(&stm->lock);
|
||||
stm->shutdown = 1;
|
||||
|
||||
waveOutReset(stm->waveout);
|
||||
|
||||
/* Don't need this value, we just want the result to detect invalid
|
||||
handle/no device errors than waveOutReset doesn't seem to report. */
|
||||
time.wType = TIME_SAMPLES;
|
||||
r = waveOutGetPosition(stm->waveout, &time, sizeof(time));
|
||||
device_valid = !(r == MMSYSERR_INVALHANDLE || r == MMSYSERR_NODRIVER);
|
||||
|
||||
enqueued = NBUFS - stm->free_buffers;
|
||||
LeaveCriticalSection(&stm->lock);
|
||||
|
||||
/* Wait for all blocks to complete. */
|
||||
while (enqueued > 0) {
|
||||
r = WaitForSingleObject(stm->event, INFINITE);
|
||||
XASSERT(r == WAIT_OBJECT_0);
|
||||
while (device_valid && enqueued > 0) {
|
||||
DWORD rv = WaitForSingleObject(stm->event, INFINITE);
|
||||
XASSERT(rv == WAIT_OBJECT_0);
|
||||
|
||||
EnterCriticalSection(&stm->lock);
|
||||
enqueued = NBUFS - stm->free_buffers;
|
||||
|
@ -73,7 +73,7 @@ void synth_run_float(synth_state* synth, float* audiobuffer, long nframes)
|
||||
}
|
||||
}
|
||||
|
||||
long data_cb_float(cubeb_stream *stream, void *user, const void * inputbuffer, void *outputbuffer, long nframes)
|
||||
long data_cb_float(cubeb_stream * /*stream*/, void * user, const void * /*inputbuffer*/, void * outputbuffer, long nframes)
|
||||
{
|
||||
synth_state *synth = (synth_state *)user;
|
||||
synth_run_float(synth, (float*)outputbuffer, nframes);
|
||||
@ -92,14 +92,14 @@ void synth_run_16bit(synth_state* synth, short* audiobuffer, long nframes)
|
||||
}
|
||||
}
|
||||
|
||||
long data_cb_short(cubeb_stream *stream, void *user, const void * inputbuffer, void *outputbuffer, long nframes)
|
||||
long data_cb_short(cubeb_stream * /*stream*/, void * user, const void * /*inputbuffer*/, void * outputbuffer, long nframes)
|
||||
{
|
||||
synth_state *synth = (synth_state *)user;
|
||||
synth_run_16bit(synth, (short*)outputbuffer, nframes);
|
||||
return nframes;
|
||||
}
|
||||
|
||||
void state_cb(cubeb_stream *stream, void *user, cubeb_state state)
|
||||
void state_cb(cubeb_stream * /*stream*/, void * /*user*/, cubeb_state /*state*/)
|
||||
{
|
||||
}
|
||||
|
||||
@ -280,7 +280,7 @@ void run_channel_rate_test()
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
int main(int /*argc*/, char * /*argv*/[])
|
||||
{
|
||||
#ifdef CUBEB_GECKO_BUILD
|
||||
ScopedXPCOM xpcom("test_audio");
|
||||
|
@ -38,7 +38,7 @@ struct user_state
|
||||
|
||||
|
||||
|
||||
long data_cb(cubeb_stream *stream, void *user, const void * inputbuffer, void *outputbuffer, long nframes)
|
||||
long data_cb(cubeb_stream * stream, void * user, const void * inputbuffer, void * outputbuffer, long nframes)
|
||||
{
|
||||
user_state * u = reinterpret_cast<user_state*>(user);
|
||||
#if (defined(_WIN32) || defined(__WIN32__))
|
||||
@ -70,7 +70,7 @@ long data_cb(cubeb_stream *stream, void *user, const void * inputbuffer, void *o
|
||||
return nframes;
|
||||
}
|
||||
|
||||
void state_cb(cubeb_stream *stream, void *user, cubeb_state state)
|
||||
void state_cb(cubeb_stream * stream, void * /*user*/, cubeb_state state)
|
||||
{
|
||||
if (stream == NULL)
|
||||
return;
|
||||
@ -89,7 +89,7 @@ void state_cb(cubeb_stream *stream, void *user, cubeb_state state)
|
||||
return;
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
int main(int /*argc*/, char * /*argv*/[])
|
||||
{
|
||||
#ifdef CUBEB_GECKO_BUILD
|
||||
ScopedXPCOM xpcom("test_duplex");
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
#define LOG(msg) fprintf(stderr, "%s\n", msg);
|
||||
|
||||
int main(int argc, char * argv[])
|
||||
int main(int /*argc*/, char * /*argv*/[])
|
||||
{
|
||||
#ifdef CUBEB_GECKO_BUILD
|
||||
ScopedXPCOM xpcom("test_latency");
|
||||
|
@ -33,7 +33,7 @@ struct user_state
|
||||
bool seen_noise;
|
||||
};
|
||||
|
||||
long data_cb(cubeb_stream *stream, void *user, const void * inputbuffer, void *outputbuffer, long nframes)
|
||||
long data_cb(cubeb_stream * stream, void * user, const void * inputbuffer, void * outputbuffer, long nframes)
|
||||
{
|
||||
user_state * u = reinterpret_cast<user_state*>(user);
|
||||
#if STREAM_FORMAT != CUBEB_SAMPLE_FLOAT32LE
|
||||
@ -58,7 +58,7 @@ long data_cb(cubeb_stream *stream, void *user, const void * inputbuffer, void *o
|
||||
return nframes;
|
||||
}
|
||||
|
||||
void state_cb(cubeb_stream *stream, void *user, cubeb_state state)
|
||||
void state_cb(cubeb_stream * stream, void * /*user*/, cubeb_state state)
|
||||
{
|
||||
if (stream == NULL)
|
||||
return;
|
||||
@ -77,7 +77,7 @@ void state_cb(cubeb_stream *stream, void *user, cubeb_state state)
|
||||
return;
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
int main(int /*argc*/, char * /*argv*/[])
|
||||
{
|
||||
#ifdef CUBEB_GECKO_BUILD
|
||||
ScopedXPCOM xpcom("test_record");
|
||||
|
@ -283,7 +283,7 @@ uint32_t fill_with_sine(float * buf, uint32_t rate, uint32_t channels,
|
||||
return initial_phase;
|
||||
}
|
||||
|
||||
long data_cb(cubeb_stream * stm, void * user_ptr,
|
||||
long data_cb(cubeb_stream * /*stm*/, void * user_ptr,
|
||||
const void * input_buffer, void * output_buffer, long frame_count)
|
||||
{
|
||||
osc_state * state = reinterpret_cast<osc_state*>(user_ptr);
|
||||
@ -464,7 +464,7 @@ void test_delay_line()
|
||||
}
|
||||
}
|
||||
|
||||
long test_output_only_noop_data_cb(cubeb_stream * stm, void * user_ptr,
|
||||
long test_output_only_noop_data_cb(cubeb_stream * /*stm*/, void * /*user_ptr*/,
|
||||
const void * input_buffer,
|
||||
void * output_buffer, long frame_count)
|
||||
{
|
||||
@ -500,7 +500,7 @@ void test_output_only_noop()
|
||||
cubeb_resampler_destroy(resampler);
|
||||
}
|
||||
|
||||
long test_drain_data_cb(cubeb_stream * stm, void * user_ptr,
|
||||
long test_drain_data_cb(cubeb_stream * /*stm*/, void * /*user_ptr*/,
|
||||
const void * input_buffer,
|
||||
void * output_buffer, long frame_count)
|
||||
{
|
||||
|
@ -36,7 +36,7 @@ static uint64_t total_frames_written;
|
||||
static int delay_callback;
|
||||
|
||||
static long
|
||||
test_data_callback(cubeb_stream * stm, void * user_ptr, const void * inputbuffer, void * outputbuffer, long nframes)
|
||||
test_data_callback(cubeb_stream * stm, void * user_ptr, const void * /*inputbuffer*/, void * outputbuffer, long nframes)
|
||||
{
|
||||
assert(stm && user_ptr == &dummy && outputbuffer && nframes > 0);
|
||||
#if (defined(_WIN32) || defined(__WIN32__))
|
||||
@ -53,7 +53,7 @@ test_data_callback(cubeb_stream * stm, void * user_ptr, const void * inputbuffer
|
||||
}
|
||||
|
||||
void
|
||||
test_state_callback(cubeb_stream * stm, void * user_ptr, cubeb_state state)
|
||||
test_state_callback(cubeb_stream * /*stm*/, void * /*user_ptr*/, cubeb_state /*state*/)
|
||||
{
|
||||
}
|
||||
|
||||
@ -494,7 +494,7 @@ static int do_drain;
|
||||
static int got_drain;
|
||||
|
||||
static long
|
||||
test_drain_data_callback(cubeb_stream * stm, void * user_ptr, const void * inputbuffer, void * outputbuffer, long nframes)
|
||||
test_drain_data_callback(cubeb_stream * stm, void * user_ptr, const void * /*inputbuffer*/, void * outputbuffer, long nframes)
|
||||
{
|
||||
assert(stm && user_ptr == &dummy && outputbuffer && nframes > 0);
|
||||
if (do_drain == 1) {
|
||||
@ -513,7 +513,7 @@ test_drain_data_callback(cubeb_stream * stm, void * user_ptr, const void * input
|
||||
}
|
||||
|
||||
void
|
||||
test_drain_state_callback(cubeb_stream * stm, void * user_ptr, cubeb_state state)
|
||||
test_drain_state_callback(cubeb_stream * /*stm*/, void * /*user_ptr*/, cubeb_state state)
|
||||
{
|
||||
if (state == CUBEB_STATE_DRAINED) {
|
||||
assert(!got_drain);
|
||||
@ -608,7 +608,7 @@ int is_windows_7()
|
||||
}
|
||||
|
||||
int
|
||||
main(int argc, char * argv[])
|
||||
main(int /*argc*/, char * /*argv*/[])
|
||||
{
|
||||
#ifdef CUBEB_GECKO_BUILD
|
||||
ScopedXPCOM xpcom("test_sanity");
|
||||
|
@ -34,7 +34,7 @@ struct cb_user_data {
|
||||
long position;
|
||||
};
|
||||
|
||||
long data_cb(cubeb_stream *stream, void *user, const void* inputbuffer, void *outputbuffer, long nframes)
|
||||
long data_cb(cubeb_stream *stream, void *user, const void* /*inputbuffer*/, void *outputbuffer, long nframes)
|
||||
{
|
||||
struct cb_user_data *u = (struct cb_user_data *)user;
|
||||
#if (defined(_WIN32) || defined(__WIN32__))
|
||||
@ -98,7 +98,7 @@ void state_cb(cubeb_stream *stream, void *user, cubeb_state state)
|
||||
return;
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
int main(int /*argc*/, char * /*argv*/[])
|
||||
{
|
||||
#ifdef CUBEB_GECKO_BUILD
|
||||
ScopedXPCOM xpcom("test_tone");
|
||||
|
@ -57,5 +57,3 @@ else
|
||||
echo "Remember to update README_MOZILLA with the version details."
|
||||
fi
|
||||
|
||||
patch -p3 < bug1278612.patch
|
||||
|
||||
|
@ -83,7 +83,8 @@ enum StartupEvent {
|
||||
|
||||
using namespace mozilla;
|
||||
|
||||
static struct mapping_info * lib_mapping = nullptr;
|
||||
static const int MAX_MAPPING_INFO = 32;
|
||||
static mapping_info lib_mapping[MAX_MAPPING_INFO];
|
||||
|
||||
NS_EXPORT const struct mapping_info *
|
||||
getLibraryMapping()
|
||||
@ -185,8 +186,6 @@ xul_dlsym(const char *symbolName, T *value)
|
||||
|
||||
static int mapping_count = 0;
|
||||
|
||||
#define MAX_MAPPING_INFO 32
|
||||
|
||||
extern "C" void
|
||||
report_mapping(char *name, void *base, uint32_t len, uint32_t offset)
|
||||
{
|
||||
@ -265,9 +264,6 @@ loadSQLiteLibs(const char *apkName)
|
||||
if (loadNSSLibs(apkName) != SUCCESS)
|
||||
return FAILURE;
|
||||
#else
|
||||
if (!lib_mapping) {
|
||||
lib_mapping = (struct mapping_info *)calloc(MAX_MAPPING_INFO, sizeof(*lib_mapping));
|
||||
}
|
||||
|
||||
sqlite_handle = dlopenAPKLibrary(apkName, "libmozsqlite3.so");
|
||||
if (!sqlite_handle) {
|
||||
@ -286,10 +282,6 @@ loadNSSLibs(const char *apkName)
|
||||
if (nss_handle && nspr_handle && plc_handle)
|
||||
return SUCCESS;
|
||||
|
||||
if (!lib_mapping) {
|
||||
lib_mapping = (struct mapping_info *)calloc(MAX_MAPPING_INFO, sizeof(*lib_mapping));
|
||||
}
|
||||
|
||||
nss_handle = dlopenAPKLibrary(apkName, "libnss3.so");
|
||||
|
||||
#ifndef MOZ_FOLD_LIBS
|
||||
|
@ -57,6 +57,11 @@ interface nsIUDPSocket : nsISupports
|
||||
in nsIPrincipal aPrincipal,
|
||||
[optional] in boolean aAddressReuse);
|
||||
|
||||
[optional_argc] void init2(in AUTF8String aAddr,
|
||||
in long aPort,
|
||||
in nsIPrincipal aPrincipal,
|
||||
[optional] in boolean aAddressReuse);
|
||||
|
||||
/**
|
||||
* initWithAddress
|
||||
*
|
||||
|
@ -572,6 +572,31 @@ nsUDPSocket::Init(int32_t aPort, bool aLoopbackOnly, nsIPrincipal *aPrincipal,
|
||||
return InitWithAddress(&addr, aPrincipal, aAddressReuse, aOptionalArgc);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsUDPSocket::Init2(const nsACString& aAddr, int32_t aPort, nsIPrincipal *aPrincipal,
|
||||
bool aAddressReuse, uint8_t aOptionalArgc)
|
||||
{
|
||||
if (NS_WARN_IF(aAddr.IsEmpty())) {
|
||||
return NS_ERROR_INVALID_ARG;
|
||||
}
|
||||
|
||||
PRNetAddr prAddr;
|
||||
if (PR_StringToNetAddr(aAddr.BeginReading(), &prAddr) != PR_SUCCESS) {
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
NetAddr addr;
|
||||
|
||||
if (aPort < 0)
|
||||
aPort = 0;
|
||||
|
||||
addr.raw.family = AF_INET;
|
||||
addr.inet.port = htons(aPort);
|
||||
addr.inet.ip = prAddr.inet.ip;
|
||||
|
||||
return InitWithAddress(&addr, aPrincipal, aAddressReuse, aOptionalArgc);
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsUDPSocket::InitWithAddress(const NetAddr *aAddr, nsIPrincipal *aPrincipal,
|
||||
bool aAddressReuse, uint8_t aOptionalArgc)
|
||||
|
233
taskcluster/ci/android-stuff/kind.yml
Normal file
@ -0,0 +1,233 @@
|
||||
# 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/.
|
||||
|
||||
# The name of this kind should suggest it's not meant to be permanent. This is
|
||||
# a temporary place to generate these tasks in Bug 1286075 until they are
|
||||
# rewritten in a better way.
|
||||
|
||||
implementation: taskgraph.task.transform:TransformTask
|
||||
|
||||
transforms:
|
||||
- taskgraph.transforms.android_stuff:transforms
|
||||
- taskgraph.transforms.task:transforms
|
||||
|
||||
jobs:
|
||||
android-api-15-gradle-dependencies:
|
||||
description: "Android armv7 API 15+ gradle dependencies"
|
||||
attributes:
|
||||
build_platform: android-api-15-gradle-dependencies
|
||||
build_type: opt
|
||||
index:
|
||||
product: mobile
|
||||
job-name: android-api-15-gradle-dependencies-opt
|
||||
treeherder:
|
||||
platform: android-4-0-armv7-api15/opt
|
||||
kind: build
|
||||
tier: 2
|
||||
symbol: tc(Deps)
|
||||
worker-type: aws-provisioner-v1/android-api-15
|
||||
worker:
|
||||
implementation: docker-worker
|
||||
docker-image: {in-tree: android-gradle-build}
|
||||
env:
|
||||
GRADLE_USER_HOME: "/home/worker/workspace/build/src/dotgradle-online"
|
||||
MH_BUILD_POOL: "taskcluster"
|
||||
MH_CUSTOM_BUILD_VARIANT_CFG: "api-15-gradle-dependencies"
|
||||
MOZHARNESS_ACTIONS: "get-secrets build multi-l10n update"
|
||||
MOZHARNESS_CONFIG: >
|
||||
builds/releng_base_android_64_builds.py
|
||||
disable_signing.py
|
||||
platform_supports_post_upload_to_latest.py
|
||||
MOZHARNESS_SCRIPT: "mozharness/scripts/fx_desktop_build.py"
|
||||
TOOLTOOL_CACHE: "/home/worker/tooltool-cache"
|
||||
TOOLTOOL_REPO: "https://github.com/mozilla/build-tooltool"
|
||||
TOOLTOOL_REV: "master"
|
||||
artifacts:
|
||||
- name: public/build
|
||||
path: /home/worker/artifacts/
|
||||
type: directory
|
||||
caches:
|
||||
- name: tooltool-cache
|
||||
mount-point: /home/worker/tooltool-cache
|
||||
type: persistent
|
||||
relengapi-proxy: true
|
||||
command:
|
||||
- "/bin/bash"
|
||||
- "-c"
|
||||
- "/home/worker/bin/before.sh && /home/worker/bin/build.sh && /home/worker/bin/after.sh && true\n"
|
||||
max-run-time: 36000
|
||||
scopes:
|
||||
- docker-worker:relengapi-proxy:tooltool.download.internal
|
||||
- docker-worker:relengapi-proxy:tooltool.download.public
|
||||
when:
|
||||
files-changed:
|
||||
- "mobile/android/config/**"
|
||||
- "testing/docker/android-gradle-build/**"
|
||||
- "testing/mozharness/configs/builds/releng_sub_android_configs/*gradle_dependencies.py"
|
||||
- "**/*.gradle"
|
||||
|
||||
android-test:
|
||||
description: "Android armv7 unit tests"
|
||||
attributes:
|
||||
build_platform: android-test
|
||||
build_type: opt
|
||||
treeherder:
|
||||
platform: android-4-0-armv7-api15/opt
|
||||
kind: build
|
||||
tier: 2
|
||||
symbol: tc(test)
|
||||
worker-type: aws-provisioner-v1/android-api-15
|
||||
worker:
|
||||
implementation: docker-worker
|
||||
docker-image: {in-tree: desktop-build}
|
||||
env:
|
||||
GRADLE_USER_HOME: "/home/worker/workspace/build/src/dotgradle"
|
||||
MH_BUILD_POOL: "taskcluster"
|
||||
MH_CUSTOM_BUILD_VARIANT_CFG: "android-test"
|
||||
MOZHARNESS_ACTIONS: "get-secrets build multi-l10n update"
|
||||
MOZHARNESS_CONFIG: >
|
||||
builds/releng_base_android_64_builds.py
|
||||
disable_signing.py
|
||||
platform_supports_post_upload_to_latest.py
|
||||
MOZHARNESS_SCRIPT: "mozharness/scripts/fx_desktop_build.py"
|
||||
TOOLTOOL_REPO: "https://github.com/mozilla/build-tooltool"
|
||||
TOOLTOOL_REV: "master"
|
||||
artifacts:
|
||||
- name: public/android/unittest
|
||||
path: /home/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/reports/tests
|
||||
type: directory
|
||||
- name: public/build
|
||||
path: /home/worker/artifacts/
|
||||
type: directory
|
||||
caches:
|
||||
- name: tooltool-cache
|
||||
mount-point: /home/worker/tooltool-cache
|
||||
type: persistent
|
||||
relengapi-proxy: true
|
||||
command:
|
||||
# NOTE: this could probably be a job description with run.using = 'mozharness'
|
||||
- "/bin/bash"
|
||||
- "bin/build.sh"
|
||||
max-run-time: 36000
|
||||
scopes:
|
||||
- docker-worker:relengapi-proxy:tooltool.download.internal
|
||||
- docker-worker:relengapi-proxy:tooltool.download.public
|
||||
when:
|
||||
files-changed:
|
||||
- "mobile/android/base/**"
|
||||
- "mobile/android/tests/background/junit4/**"
|
||||
|
||||
android-lint:
|
||||
description: "Android lint"
|
||||
attributes:
|
||||
build_platform: android-lint
|
||||
build_type: opt
|
||||
treeherder:
|
||||
platform: android-4-0-armv7-api15/opt
|
||||
kind: build
|
||||
tier: 2
|
||||
symbol: tc(lint)
|
||||
worker-type: aws-provisioner-v1/android-api-15
|
||||
worker:
|
||||
implementation: docker-worker
|
||||
docker-image: {in-tree: desktop-build}
|
||||
env:
|
||||
GRADLE_USER_HOME: "/home/worker/workspace/build/src/dotgradle"
|
||||
MH_BUILD_POOL: "taskcluster"
|
||||
MH_CUSTOM_BUILD_VARIANT_CFG: "android-lint"
|
||||
MOZHARNESS_ACTIONS: "get-secrets build multi-l10n update"
|
||||
MOZHARNESS_CONFIG: >
|
||||
builds/releng_base_android_64_builds.py
|
||||
disable_signing.py
|
||||
platform_supports_post_upload_to_latest.py
|
||||
MOZHARNESS_SCRIPT: "mozharness/scripts/fx_desktop_build.py"
|
||||
TOOLTOOL_REPO: "https://github.com/mozilla/build-tooltool"
|
||||
TOOLTOOL_REV: "master"
|
||||
artifacts:
|
||||
- name: public/android/lint/lint-results-automationDebug.html
|
||||
path: /home/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/outputs/lint-results-automationDebug.html
|
||||
type: file
|
||||
- name: public/android/lint/lint-results-automationDebug.xml
|
||||
path: /home/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/outputs/lint-results-automationDebug.xml
|
||||
type: file
|
||||
- name: public/android/lint/lint-results-automationDebug_files
|
||||
path: /home/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/outputs/lint-results-automationDebug_files
|
||||
type: directory
|
||||
- name: public/build
|
||||
path: /home/worker/artifacts/
|
||||
type: directory
|
||||
caches:
|
||||
- name: tooltool-cache
|
||||
mount-point: /home/worker/tooltool-cache
|
||||
type: persistent
|
||||
relengapi-proxy: true
|
||||
command:
|
||||
# NOTE: this could probably be a job description with run.using = 'mozharness'
|
||||
- "/bin/bash"
|
||||
- "bin/build.sh"
|
||||
max-run-time: 36000
|
||||
scopes:
|
||||
- docker-worker:relengapi-proxy:tooltool.download.internal
|
||||
- docker-worker:relengapi-proxy:tooltool.download.public
|
||||
when:
|
||||
files-changed:
|
||||
- "mobile/android/**/*.java"
|
||||
- "mobile/android/**/*.jpeg"
|
||||
- "mobile/android/**/*.jpg"
|
||||
- "mobile/android/**/*.png"
|
||||
- "mobile/android/**/*.svg"
|
||||
- "mobile/android/**/*.xml" # Manifest & android resources
|
||||
- "mobile/android/**/build.gradle"
|
||||
|
||||
android-checkstyle:
|
||||
description: "Android checkstyle"
|
||||
attributes:
|
||||
build_platform: android-checkstyle
|
||||
build_type: opt
|
||||
treeherder:
|
||||
platform: android-4-0-armv7-api15/opt
|
||||
kind: build
|
||||
tier: 2
|
||||
symbol: tc(checkstyle)
|
||||
worker-type: aws-provisioner-v1/android-api-15
|
||||
worker:
|
||||
implementation: docker-worker
|
||||
docker-image: {in-tree: desktop-build}
|
||||
env:
|
||||
GRADLE_USER_HOME: "/home/worker/workspace/build/src/dotgradle"
|
||||
MH_BUILD_POOL: "taskcluster"
|
||||
MH_CUSTOM_BUILD_VARIANT_CFG: "android-checkstyle"
|
||||
MOZHARNESS_ACTIONS: "get-secrets build multi-l10n update"
|
||||
MOZHARNESS_CONFIG: >
|
||||
builds/releng_base_android_64_builds.py
|
||||
disable_signing.py
|
||||
platform_supports_post_upload_to_latest.py
|
||||
MOZHARNESS_SCRIPT: "mozharness/scripts/fx_desktop_build.py"
|
||||
TOOLTOOL_REPO: "https://github.com/mozilla/build-tooltool"
|
||||
TOOLTOOL_REV: "master"
|
||||
artifacts:
|
||||
- name: public/android/checkstyle/checkstyle.xml
|
||||
path: /home/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/reports/checkstyle/checkstyle.xml
|
||||
type: file
|
||||
- name: public/build
|
||||
path: /home/worker/artifacts/
|
||||
type: directory
|
||||
caches:
|
||||
- name: tooltool-cache
|
||||
mount-point: /home/worker/tooltool-cache
|
||||
type: persistent
|
||||
relengapi-proxy: true
|
||||
command:
|
||||
# NOTE: this could probably be a job description with run.using = 'mozharness'
|
||||
- "/bin/bash"
|
||||
- "bin/build.sh"
|
||||
max-run-time: 36000
|
||||
scopes:
|
||||
- docker-worker:relengapi-proxy:tooltool.download.internal
|
||||
- docker-worker:relengapi-proxy:tooltool.download.public
|
||||
when:
|
||||
files-changed:
|
||||
- "mobile/android/**/checkstyle.xml"
|
||||
- "mobile/android/**/*.gradle"
|
||||
- "mobile/android/**/*.java"
|
@ -1,7 +1,7 @@
|
||||
implementation: taskgraph.task.test:TestTask
|
||||
|
||||
kind-dependencies:
|
||||
- legacy
|
||||
- build
|
||||
|
||||
transforms:
|
||||
- taskgraph.transforms.tests.test_description:validate
|
||||
@ -9,4 +9,4 @@ transforms:
|
||||
- taskgraph.transforms.tests.all_kinds:transforms
|
||||
- taskgraph.transforms.tests.test_description:validate
|
||||
- taskgraph.transforms.tests.make_task_description:transforms
|
||||
- taskgraph.transforms.make_task:transforms
|
||||
- taskgraph.transforms.task:transforms
|
||||
|
39
taskcluster/ci/artifact-build/kind.yml
Normal file
@ -0,0 +1,39 @@
|
||||
# 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/.
|
||||
|
||||
implementation: taskgraph.task.transform:TransformTask
|
||||
|
||||
transforms:
|
||||
- taskgraph.transforms.build_attrs:transforms
|
||||
- taskgraph.transforms.job:transforms
|
||||
- taskgraph.transforms.task:transforms
|
||||
|
||||
jobs:
|
||||
linux64-artifact/opt:
|
||||
description: "Linux64 Opt Artifact Build"
|
||||
index:
|
||||
product: firefox
|
||||
job-name: linux64-artifact-opt
|
||||
treeherder:
|
||||
platform: linux64/opt
|
||||
kind: build
|
||||
symbol: AB
|
||||
tier: 2
|
||||
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
|
||||
worker:
|
||||
implementation: docker-worker
|
||||
docker-image: {in-tree: desktop-build}
|
||||
max-run-time: 36000
|
||||
run:
|
||||
using: mozharness
|
||||
actions: [get-secrets build generate-build-stats]
|
||||
config:
|
||||
- builds/releng_sub_linux_configs/64_artifact.py
|
||||
- balrog/production.py
|
||||
script: "mozharness/scripts/fx_desktop_build.py"
|
||||
secrets: true
|
||||
tooltool-downloads: public
|
||||
need-xvfb: true
|
||||
keep-artifacts: false
|
||||
|
98
taskcluster/ci/b2g-device/kind.yml
Normal file
@ -0,0 +1,98 @@
|
||||
# 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/.
|
||||
|
||||
implementation: taskgraph.task.transform:TransformTask
|
||||
|
||||
transforms:
|
||||
- taskgraph.transforms.build_attrs:transforms
|
||||
- taskgraph.transforms.job:transforms
|
||||
- taskgraph.transforms.task:transforms
|
||||
|
||||
job-defaults:
|
||||
worker-type: aws-provisioner-v1/flame-kk
|
||||
worker:
|
||||
implementation: docker-worker
|
||||
docker-image: {in-tree: phone-builder}
|
||||
max-run-time: 14400
|
||||
env:
|
||||
MOZILLA_OFFICIAL: '1'
|
||||
ENABLE_DEFAULT_BOOTANIMATION: 'true'
|
||||
B2G_UPDATER: '1'
|
||||
REPO_TRACE: '1'
|
||||
DEBUG: '0'
|
||||
VARIANT: eng
|
||||
GAIA_OPTIMIZE: '1'
|
||||
B2G_SYSTEM_APPS: '1'
|
||||
MOZ_TELEMETRY_REPORTING: '1'
|
||||
MOZ_CRASHREPORTER_NO_REPORT: '1'
|
||||
GAIA_KEYBOARD_LAYOUTS: 'en,pt-BR,es,de,fr,pl,zh-Hans-Pinyin,zh-Hant-Zhuyin,en-Dvorak'
|
||||
B2G_UPDATE_CHANNEL: 'default'
|
||||
treeherder:
|
||||
kind: build
|
||||
tier: 3
|
||||
run-on-projects:
|
||||
- try
|
||||
- mozilla-central
|
||||
- integration
|
||||
- pine
|
||||
|
||||
|
||||
jobs:
|
||||
aries-eng/opt:
|
||||
description: "B2G Aries Opt"
|
||||
index:
|
||||
product: b2g
|
||||
job-name:
|
||||
gecko-v1: aries-eng.opt
|
||||
gecko-v2: aries-eng-opt
|
||||
treeherder:
|
||||
platform: b2g-device-image/opt
|
||||
symbol: Aries(Be)
|
||||
run:
|
||||
using: phone-builder
|
||||
target: aries
|
||||
|
||||
aries-eng/debug:
|
||||
description: "B2G Aries Debug"
|
||||
index:
|
||||
product: b2g
|
||||
job-name:
|
||||
gecko-v1: aries.debug
|
||||
gecko-v2: aries-debug
|
||||
treeherder:
|
||||
platform: b2g-device-image/debug
|
||||
symbol: Aries(Bd)
|
||||
run:
|
||||
using: phone-builder
|
||||
target: aries
|
||||
debug: true
|
||||
|
||||
nexus-5l-eng/opt:
|
||||
description: "B2G Nexus 5-L Opt"
|
||||
index:
|
||||
product: b2g
|
||||
job-name:
|
||||
gecko-v1: nexus-5-l-eng.opt
|
||||
gecko-v2: nexus-5-l-eng-opt
|
||||
treeherder:
|
||||
platform: b2g-device-image/opt
|
||||
symbol: Nexus 5-L(Be)
|
||||
run:
|
||||
using: phone-builder
|
||||
target: nexus-5-l
|
||||
|
||||
nexus-5l-eng/debug:
|
||||
description: "B2G Nexus 5-L Debug"
|
||||
index:
|
||||
product: b2g
|
||||
job-name:
|
||||
gecko-v1: nexus-5-l-eng.debug
|
||||
gecko-v2: nexus-5-l-eng-debug
|
||||
treeherder:
|
||||
platform: b2g-device-image/debug
|
||||
symbol: Nexus 5-L(Bd)
|
||||
run:
|
||||
using: phone-builder
|
||||
target: nexus-5-l
|
||||
debug: true
|
32
taskcluster/ci/build/android-partner.yml
Normal file
@ -0,0 +1,32 @@
|
||||
android-partner-sample1/opt:
|
||||
description: "Android armv7 API 15+ partner sample 1"
|
||||
index:
|
||||
product: mobile
|
||||
job-name: android-api-15-partner-sample1-opt
|
||||
treeherder:
|
||||
platform: android-4-0-armv7-api15-partner1/opt
|
||||
symbol: tc(B)
|
||||
tier: 2
|
||||
run-on-projects:
|
||||
- try
|
||||
worker-type: aws-provisioner-v1/android-api-15
|
||||
worker:
|
||||
implementation: docker-worker
|
||||
max-run-time: 36000
|
||||
env:
|
||||
EXTRA_CHECKOUT_REPOSITORIES: "PARTNER\n"
|
||||
PARTNER_BASE_REPOSITORY: "https://github.com/mozilla/fennec-distribution-sample"
|
||||
PARTNER_DEST_DIR: "/home/worker/workspace/build/partner"
|
||||
PARTNER_HEAD_REPOSITORY: "https://github.com/mozilla/fennec-distribution-sample"
|
||||
PARTNER_HEAD_REV: "master"
|
||||
run:
|
||||
using: mozharness
|
||||
actions: [get-secrets build multi-l10n update]
|
||||
config:
|
||||
- builds/releng_base_android_64_builds.py
|
||||
- disable_signing.py
|
||||
- platform_supports_post_upload_to_latest.py
|
||||
script: "mozharness/scripts/fx_desktop_build.py"
|
||||
custom-build-variant-cfg: api-15-partner-sample1
|
||||
tooltool-downloads: internal
|
||||
|
102
taskcluster/ci/build/android.yml
Normal file
@ -0,0 +1,102 @@
|
||||
android-api-15/debug:
|
||||
description: "Android 4.0 API15+ Debug"
|
||||
index:
|
||||
product: mobile
|
||||
job-name:
|
||||
buildbot: android-api-15-debug
|
||||
gecko-v1: android-api-15.debug
|
||||
gecko-v2: android-api-15-debug
|
||||
treeherder:
|
||||
platform: android-4-0-armv7-api15/debug
|
||||
symbol: tc(B)
|
||||
worker-type: aws-provisioner-v1/android-api-15
|
||||
worker:
|
||||
implementation: docker-worker
|
||||
max-run-time: 7200
|
||||
run:
|
||||
using: mozharness
|
||||
actions: [get-secrets build multi-l10n update]
|
||||
config:
|
||||
- builds/releng_base_android_64_builds.py
|
||||
- disable_signing.py
|
||||
- platform_supports_post_upload_to_latest.py
|
||||
script: "mozharness/scripts/fx_desktop_build.py"
|
||||
custom-build-variant-cfg: api-15-debug
|
||||
tooltool-downloads: internal
|
||||
|
||||
android-x86/opt:
|
||||
description: "Android 4.2 x86 Opt"
|
||||
index:
|
||||
product: mobile
|
||||
job-name: android-x86-opt
|
||||
treeherder:
|
||||
platform: android-4-2-x86/opt
|
||||
symbol: tc(B)
|
||||
tier: 1
|
||||
worker-type: aws-provisioner-v1/android-api-15
|
||||
worker:
|
||||
implementation: docker-worker
|
||||
max-run-time: 7200
|
||||
run:
|
||||
using: mozharness
|
||||
actions: [get-secrets build multi-l10n update]
|
||||
config:
|
||||
- builds/releng_base_android_64_builds.py
|
||||
- disable_signing.py
|
||||
- platform_supports_post_upload_to_latest.py
|
||||
script: "mozharness/scripts/fx_desktop_build.py"
|
||||
custom-build-variant-cfg: x86
|
||||
tooltool-downloads: internal
|
||||
|
||||
android-api-15/opt:
|
||||
description: "Android 4.0 API15+ Opt"
|
||||
index:
|
||||
product: mobile
|
||||
job-name: android-api-15-opt
|
||||
treeherder:
|
||||
platform: android-4-0-armv7-api15/opt
|
||||
symbol: tc(B)
|
||||
tier: 2
|
||||
worker-type: aws-provisioner-v1/android-api-15
|
||||
worker:
|
||||
implementation: docker-worker
|
||||
max-run-time: 7200
|
||||
run:
|
||||
using: mozharness
|
||||
actions: [get-secrets build multi-l10n update]
|
||||
config:
|
||||
- builds/releng_base_android_64_builds.py
|
||||
- disable_signing.py
|
||||
- platform_supports_post_upload_to_latest.py
|
||||
script: "mozharness/scripts/fx_desktop_build.py"
|
||||
custom-build-variant-cfg: api-15
|
||||
tooltool-downloads: internal
|
||||
|
||||
android-api-15-gradle/opt:
|
||||
description: "Android 4.0 API15+ (Gradle) Opt"
|
||||
index:
|
||||
product: mobile
|
||||
job-name: android-api-15-gradle-opt
|
||||
treeherder:
|
||||
platform: android-4-0-armv7-api15/opt
|
||||
symbol: tc(Bg)
|
||||
tier: 2
|
||||
worker-type: aws-provisioner-v1/android-api-15
|
||||
worker:
|
||||
implementation: docker-worker
|
||||
max-run-time: 7200
|
||||
env:
|
||||
# Bug 1292762 - Set GRADLE_USER_HOME to avoid sdk-manager-plugin intermittent
|
||||
GRADLE_USER_HOME: /home/worker/workspace/build/src/dotgradle
|
||||
run:
|
||||
using: mozharness
|
||||
actions: [get-secrets build multi-l10n update]
|
||||
config:
|
||||
- builds/releng_base_android_64_builds.py
|
||||
- disable_signing.py
|
||||
- platform_supports_post_upload_to_latest.py
|
||||
script: "mozharness/scripts/fx_desktop_build.py"
|
||||
custom-build-variant-cfg: api-15-gradle
|
||||
tooltool-downloads: internal
|
||||
|
||||
|
19
taskcluster/ci/build/kind.yml
Normal file
@ -0,0 +1,19 @@
|
||||
# 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/.
|
||||
|
||||
implementation: taskgraph.task.transform:TransformTask
|
||||
|
||||
transforms:
|
||||
- taskgraph.transforms.build:transforms
|
||||
- taskgraph.transforms.build_attrs:transforms
|
||||
- taskgraph.transforms.job:transforms
|
||||
- taskgraph.transforms.task:transforms
|
||||
|
||||
jobs-from:
|
||||
- android-partner.yml
|
||||
- android.yml
|
||||
- linux.yml
|
||||
- macosx.yml
|
||||
- mulet.yml
|
||||
- windows.yml
|
176
taskcluster/ci/build/linux.yml
Normal file
@ -0,0 +1,176 @@
|
||||
linux64/opt:
|
||||
description: "Linux64 Opt"
|
||||
index:
|
||||
product: firefox
|
||||
job-name: linux64-opt
|
||||
treeherder:
|
||||
platform: linux64/opt
|
||||
symbol: tc(B)
|
||||
tier: 2
|
||||
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
|
||||
worker:
|
||||
implementation: docker-worker
|
||||
max-run-time: 36000
|
||||
run:
|
||||
using: mozharness
|
||||
actions: [get-secrets build check-test generate-build-stats update]
|
||||
config:
|
||||
- builds/releng_base_linux_64_builds.py
|
||||
- balrog/production.py
|
||||
script: "mozharness/scripts/fx_desktop_build.py"
|
||||
secrets: true
|
||||
tooltool-downloads: public
|
||||
need-xvfb: true
|
||||
|
||||
linux64/pgo:
|
||||
description: "Linux64 Opt PGO"
|
||||
index:
|
||||
product: firefox
|
||||
job-name: linux64-pgo-opt
|
||||
treeherder:
|
||||
platform: linux64/pgo
|
||||
symbol: tc(B)
|
||||
tier: 2
|
||||
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
|
||||
worker:
|
||||
implementation: docker-worker
|
||||
max-run-time: 36000
|
||||
coalesce-name: linux64-pgo
|
||||
run:
|
||||
using: mozharness
|
||||
actions: [get-secrets build check-test generate-build-stats update]
|
||||
options: [enable-pgo]
|
||||
config:
|
||||
- builds/releng_base_linux_64_builds.py
|
||||
- balrog/production.py
|
||||
script: "mozharness/scripts/fx_desktop_build.py"
|
||||
secrets: true
|
||||
tooltool-downloads: public
|
||||
need-xvfb: true
|
||||
|
||||
linux64/debug:
|
||||
description: "Linux64 Debug"
|
||||
index:
|
||||
product: firefox
|
||||
job-name:
|
||||
buildbot: linux64-debug
|
||||
gecko-v1: linux64.debug
|
||||
gecko-v2: linux64-debug
|
||||
treeherder:
|
||||
platform: linux64/debug
|
||||
symbol: tc(B)
|
||||
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
|
||||
worker:
|
||||
implementation: docker-worker
|
||||
max-run-time: 36000
|
||||
run:
|
||||
using: mozharness
|
||||
actions: [get-secrets build check-test generate-build-stats update]
|
||||
config:
|
||||
- builds/releng_base_linux_64_builds.py
|
||||
- balrog/production.py
|
||||
script: "mozharness/scripts/fx_desktop_build.py"
|
||||
secrets: true
|
||||
custom-build-variant-cfg: debug
|
||||
tooltool-downloads: public
|
||||
need-xvfb: true
|
||||
|
||||
linux/opt:
|
||||
description: "Linux32 Opt"
|
||||
index:
|
||||
product: firefox
|
||||
job-name: linux-opt
|
||||
treeherder:
|
||||
platform: linux32/opt
|
||||
symbol: tc(B)
|
||||
tier: 2
|
||||
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
|
||||
worker:
|
||||
implementation: docker-worker
|
||||
max-run-time: 36000
|
||||
coalesce-name: opt_linux32
|
||||
run:
|
||||
using: mozharness
|
||||
actions: [get-secrets build check-test generate-build-stats update]
|
||||
config:
|
||||
- builds/releng_base_linux_32_builds.py
|
||||
- balrog/production.py
|
||||
script: "mozharness/scripts/fx_desktop_build.py"
|
||||
secrets: true
|
||||
tooltool-downloads: public
|
||||
need-xvfb: true
|
||||
|
||||
linux/debug:
|
||||
description: "Linux32 Debug"
|
||||
index:
|
||||
product: firefox
|
||||
job-name: linux-debug
|
||||
treeherder:
|
||||
platform: linux32/debug
|
||||
symbol: tc(B)
|
||||
tier: 2
|
||||
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
|
||||
worker:
|
||||
implementation: docker-worker
|
||||
max-run-time: 36000
|
||||
coalesce-name: dbg_linux32
|
||||
run:
|
||||
using: mozharness
|
||||
actions: [get-secrets build check-test generate-build-stats update]
|
||||
config:
|
||||
- builds/releng_base_linux_32_builds.py
|
||||
- balrog/production.py
|
||||
script: "mozharness/scripts/fx_desktop_build.py"
|
||||
secrets: true
|
||||
custom-build-variant-cfg: debug
|
||||
tooltool-downloads: public
|
||||
need-xvfb: true
|
||||
|
||||
linux64-asan/opt:
|
||||
description: "Linux64 Opt ASAN"
|
||||
index:
|
||||
product: firefox
|
||||
job-name: linux64-asan-opt
|
||||
treeherder:
|
||||
platform: linux64/asan
|
||||
symbol: tc(Bo)
|
||||
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
|
||||
worker:
|
||||
implementation: docker-worker
|
||||
max-run-time: 36000
|
||||
run:
|
||||
using: mozharness
|
||||
actions: [get-secrets build check-test generate-build-stats update]
|
||||
config:
|
||||
- builds/releng_base_linux_64_builds.py
|
||||
- balrog/production.py
|
||||
script: "mozharness/scripts/fx_desktop_build.py"
|
||||
secrets: true
|
||||
custom-build-variant-cfg: asan-tc
|
||||
tooltool-downloads: public
|
||||
need-xvfb: true
|
||||
|
||||
linux64-asan/debug:
|
||||
description: "Linux64 Debug ASAN"
|
||||
index:
|
||||
product: firefox
|
||||
job-name: linux64-asan-debug
|
||||
treeherder:
|
||||
platform: linux64/asan
|
||||
symbol: tc(Bd)
|
||||
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
|
||||
worker:
|
||||
implementation: docker-worker
|
||||
max-run-time: 36000
|
||||
run:
|
||||
using: mozharness
|
||||
actions: [get-secrets build check-test generate-build-stats update]
|
||||
config:
|
||||
- builds/releng_base_linux_64_builds.py
|
||||
- balrog/production.py
|
||||
script: "mozharness/scripts/fx_desktop_build.py"
|
||||
secrets: true
|
||||
custom-build-variant-cfg: asan-tc-and-debug
|
||||
tooltool-downloads: public
|
||||
need-xvfb: true
|
||||
|
46
taskcluster/ci/build/macosx.yml
Normal file
@ -0,0 +1,46 @@
|
||||
macosx64/debug:
|
||||
description: "MacOS X x64 Cross-compile"
|
||||
index:
|
||||
product: firefox
|
||||
job-name: macosx64-debug
|
||||
treeherder:
|
||||
platform: osx-10-7/debug
|
||||
symbol: tc(B)
|
||||
tier: 2
|
||||
worker-type: aws-provisioner-v1/dbg-macosx64
|
||||
worker:
|
||||
implementation: docker-worker
|
||||
max-run-time: 36000
|
||||
run:
|
||||
using: mozharness
|
||||
actions: [get-secrets build generate-build-stats update]
|
||||
config:
|
||||
- builds/releng_base_mac_64_cross_builds.py
|
||||
- balrog/production.py
|
||||
script: "mozharness/scripts/fx_desktop_build.py"
|
||||
secrets: true
|
||||
custom-build-variant-cfg: cross-debug
|
||||
tooltool-downloads: internal
|
||||
|
||||
macosx64/opt:
|
||||
description: "MacOS X x64 Cross-compile"
|
||||
index:
|
||||
product: firefox
|
||||
job-name: macosx64-opt
|
||||
treeherder:
|
||||
platform: osx-10-7/opt
|
||||
symbol: tc(B)
|
||||
tier: 2
|
||||
worker-type: aws-provisioner-v1/opt-macosx64
|
||||
worker:
|
||||
implementation: docker-worker
|
||||
max-run-time: 36000
|
||||
run:
|
||||
using: mozharness
|
||||
actions: [get-secrets build generate-build-stats update]
|
||||
config:
|
||||
- builds/releng_base_mac_64_cross_builds.py
|
||||
- balrog/production.py
|
||||
script: "mozharness/scripts/fx_desktop_build.py"
|
||||
secrets: true
|
||||
tooltool-downloads: internal
|
43
taskcluster/ci/build/mulet.yml
Normal file
@ -0,0 +1,43 @@
|
||||
linux64-mulet/debug:
|
||||
description: "Linux64 Mulet Debug"
|
||||
index:
|
||||
product: b2g
|
||||
job-name:
|
||||
buildbot: linux64-mulet
|
||||
gecko-v1: mulet.dbg
|
||||
gecko-v2: mulet-dbg
|
||||
treeherder:
|
||||
platform: mulet-linux64/debug # See bug 1286086
|
||||
symbol: B
|
||||
tier: 3
|
||||
worker-type: aws-provisioner-v1/mulet-debug
|
||||
worker:
|
||||
implementation: docker-worker
|
||||
max-run-time: 3600
|
||||
run:
|
||||
using: mach-via-build-mulet-linux.sh
|
||||
mozconfig: b2g/dev/config/mozconfigs/linux64/mulet_dbg
|
||||
tooltool-manifest: b2g/dev/config/tooltool-manifests/linux64/releng.manifest
|
||||
|
||||
linux64-mulet/opt:
|
||||
description: "Linux64 Mulet Opt"
|
||||
index:
|
||||
product: b2g
|
||||
job-name:
|
||||
buildbot: linux64-mulet
|
||||
gecko-v1: mulet.opt
|
||||
gecko-v2: mulet-opt
|
||||
treeherder:
|
||||
platform: mulet-linux64/opt # ?!?%
|
||||
symbol: B
|
||||
tier: 3
|
||||
worker-type: aws-provisioner-v1/mulet-opt
|
||||
worker:
|
||||
implementation: docker-worker
|
||||
max-run-time: 3600
|
||||
run:
|
||||
using: mach-via-build-mulet-linux.sh
|
||||
mozconfig: b2g/dev/config/mozconfigs/linux64/mulet
|
||||
tooltool-manifest: b2g/dev/config/tooltool-manifests/linux64/releng.manifest
|
||||
|
||||
|
80
taskcluster/ci/build/windows.yml
Normal file
@ -0,0 +1,80 @@
|
||||
win32/debug:
|
||||
description: "Win32 Debug"
|
||||
index:
|
||||
product: firefox
|
||||
job-name:
|
||||
gecko-v2: win32-debug
|
||||
treeherder:
|
||||
platform: windowsxp/debug
|
||||
symbol: tc(B)
|
||||
tier: 2
|
||||
worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
|
||||
worker:
|
||||
implementation: generic-worker
|
||||
max-run-time: 7200
|
||||
run:
|
||||
using: mozharness
|
||||
script: mozharness/scripts/fx_desktop_build.py
|
||||
config:
|
||||
- builds/taskcluster_firefox_win32_debug.py
|
||||
|
||||
win32/opt:
|
||||
description: "Win32 Opt"
|
||||
index:
|
||||
product: firefox
|
||||
job-name:
|
||||
gecko-v2: win32-opt
|
||||
treeherder:
|
||||
platform: windowsxp/opt
|
||||
symbol: tc(B)
|
||||
tier: 2
|
||||
worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
|
||||
worker:
|
||||
implementation: generic-worker
|
||||
max-run-time: 7200
|
||||
run:
|
||||
using: mozharness
|
||||
script: mozharness/scripts/fx_desktop_build.py
|
||||
config:
|
||||
- builds/taskcluster_firefox_win32_opt.py
|
||||
|
||||
win64/debug:
|
||||
description: "Win64 Debug"
|
||||
index:
|
||||
product: firefox
|
||||
job-name:
|
||||
gecko-v2: win64-debug
|
||||
treeherder:
|
||||
platform: windows8-64/debug
|
||||
symbol: tc(B)
|
||||
tier: 2
|
||||
worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
|
||||
worker:
|
||||
implementation: generic-worker
|
||||
max-run-time: 7200
|
||||
run:
|
||||
using: mozharness
|
||||
script: mozharness/scripts/fx_desktop_build.py
|
||||
config:
|
||||
- builds/taskcluster_firefox_win64_debug.py
|
||||
|
||||
win64/opt:
|
||||
description: "Win64 Opt"
|
||||
index:
|
||||
product: firefox
|
||||
job-name:
|
||||
gecko-v2: win64-opt
|
||||
treeherder:
|
||||
platform: windows8-64/opt
|
||||
symbol: tc(B)
|
||||
tier: 2
|
||||
worker-type: aws-provisioner-v1/gecko-{level}-b-win2012
|
||||
worker:
|
||||
implementation: generic-worker
|
||||
max-run-time: 7200
|
||||
run:
|
||||
using: mozharness
|
||||
script: mozharness/scripts/fx_desktop_build.py
|
||||
config:
|
||||
- builds/taskcluster_firefox_win64_opt.py
|
||||
|
@ -1,7 +1,7 @@
|
||||
implementation: taskgraph.task.test:TestTask
|
||||
|
||||
kind-dependencies:
|
||||
- legacy
|
||||
- build
|
||||
|
||||
transforms:
|
||||
- taskgraph.transforms.tests.test_description:validate
|
||||
@ -9,4 +9,4 @@ transforms:
|
||||
- taskgraph.transforms.tests.all_kinds:transforms
|
||||
- taskgraph.transforms.tests.test_description:validate
|
||||
- taskgraph.transforms.tests.make_task_description:transforms
|
||||
- taskgraph.transforms.make_task:transforms
|
||||
- taskgraph.transforms.task:transforms
|
||||
|
86
taskcluster/ci/hazard/kind.yml
Normal file
@ -0,0 +1,86 @@
|
||||
# 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/.
|
||||
|
||||
implementation: taskgraph.task.transform:TransformTask
|
||||
|
||||
transforms:
|
||||
- taskgraph.transforms.build_attrs:transforms
|
||||
- taskgraph.transforms.job:transforms
|
||||
- taskgraph.transforms.task:transforms
|
||||
|
||||
job-defaults:
|
||||
treeherder:
|
||||
kind: build
|
||||
tier: 1
|
||||
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
|
||||
worker:
|
||||
implementation: docker-worker
|
||||
max-run-time: 36000
|
||||
docker-image: {in-tree: desktop-build}
|
||||
|
||||
jobs:
|
||||
linux64-shell-haz/debug:
|
||||
description: "JS Shell Hazard Analysis Linux"
|
||||
index:
|
||||
product: firefox
|
||||
job-name:
|
||||
gecko-v1: shell-haz.debug
|
||||
gecko-v2: shell-haz-debug
|
||||
treeherder:
|
||||
platform: linux64/debug
|
||||
symbol: SM-tc(H)
|
||||
run:
|
||||
using: hazard
|
||||
tooltool-manifest: "browser/config/tooltool-manifests/linux64/hazard.manifest"
|
||||
command: >
|
||||
tc-vcs checkout workspace/gecko "$GECKO_BASE_REPOSITORY" "$GECKO_HEAD_REPOSITORY" "$GECKO_HEAD_REV" "$GECKO_HEAD_REF"
|
||||
&& cd ./workspace/gecko/taskcluster/scripts/builder
|
||||
&& ./build-haz-linux.sh --project shell $HOME/workspace
|
||||
when:
|
||||
files-changed:
|
||||
- js/public/**
|
||||
- js/src/**
|
||||
|
||||
linux64-haz/debug:
|
||||
description: "Browser Hazard Analysis Linux"
|
||||
index:
|
||||
product: firefox
|
||||
job-name:
|
||||
gecko-v1: browser-haz.debug
|
||||
gecko-v2: browser-haz-debug
|
||||
treeherder:
|
||||
platform: linux64/debug
|
||||
symbol: tc(H)
|
||||
run:
|
||||
using: hazard
|
||||
tooltool-manifest: "browser/config/tooltool-manifests/linux64/hazard.manifest"
|
||||
mozconfig: "browser/config/mozconfigs/linux64/hazards"
|
||||
command: >
|
||||
tc-vcs checkout workspace/gecko "$GECKO_BASE_REPOSITORY" "$GECKO_HEAD_REPOSITORY" "$GECKO_HEAD_REV" "$GECKO_HEAD_REF"
|
||||
&& cd ./workspace/gecko/taskcluster/scripts/builder
|
||||
&& ./build-haz-linux.sh --project browser $HOME/workspace
|
||||
|
||||
linux64-mulet-haz/debug:
|
||||
description: "Mulet Hazard Analysis Linux"
|
||||
index:
|
||||
product: b2g
|
||||
job-name:
|
||||
buildbot: linux64-haz-mulet
|
||||
gecko-v1: mulet-haz.debug
|
||||
gecko-v2: mulet-haz-debug
|
||||
treeherder:
|
||||
platform: mulet-linux64/opt
|
||||
symbol: tc(H)
|
||||
tier: 3
|
||||
# don't run anywhere by default, but still available via try: -b d -p linux64-mulet-haz
|
||||
run-on-projects: []
|
||||
worker:
|
||||
docker-image: {in-tree: builder}
|
||||
run:
|
||||
using: hazard
|
||||
tooltool-manifest: "gecko/b2g/dev/config/tooltool-manifests/linux64/hazard.manifest"
|
||||
mozconfig: "b2g/dev/config/mozconfigs/linux64/mulet-hazards"
|
||||
command: >
|
||||
checkout-gecko workspace && cd ./workspace/gecko/taskcluster/scripts/builder
|
||||
&& buildbot_step 'Build' ./build-mulet-haz-linux.sh $HOME/workspace
|
111
taskcluster/ci/l10n/kind.yml
Normal file
@ -0,0 +1,111 @@
|
||||
# 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/.
|
||||
|
||||
# NOTE: please write a description of this kind in taskcluster/docs/kinds.rst
|
||||
|
||||
implementation: taskgraph.task.transform:TransformTask
|
||||
|
||||
transforms:
|
||||
- taskgraph.transforms.build_attrs:transforms
|
||||
- taskgraph.transforms.job:transforms
|
||||
- taskgraph.transforms.task:transforms
|
||||
|
||||
job-defaults:
|
||||
index:
|
||||
product: firefox
|
||||
treeherder:
|
||||
kind: build
|
||||
tier: 2
|
||||
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
|
||||
worker:
|
||||
implementation: docker-worker
|
||||
docker-image: {in-tree: desktop-build}
|
||||
max-run-time: 36000
|
||||
env:
|
||||
# NOTE: this should really be a different "using" since it's using
|
||||
# build-l10n.sh instead of build-linux.sh. Preferably, build-linux.sh
|
||||
# and the mozharness run implementation should be modified to support
|
||||
# the functionality that l10n needs
|
||||
|
||||
JOB_SCRIPT: "taskcluster/scripts/builder/build-l10n.sh"
|
||||
when:
|
||||
files-changed:
|
||||
- browser/locales/all-locales
|
||||
- python/compare-locales/**
|
||||
- testing/mozharness/configs/single_locale/**
|
||||
- testing/mozharness/mozharness/mozilla/l10n/locales.py
|
||||
- testing/mozharness/scripts/desktop_l10n.py
|
||||
- toolkit/locales/**
|
||||
- toolkit/mozapps/installer/**
|
||||
|
||||
jobs:
|
||||
linux-l10n/opt:
|
||||
description: "Localization"
|
||||
index:
|
||||
job-name:
|
||||
gecko-v2: linux32-l10n-opt
|
||||
treeherder:
|
||||
platform: linux32/opt
|
||||
symbol: tc(L10n)
|
||||
run:
|
||||
using: mozharness
|
||||
script: mozharness/scripts/desktop_l10n.py
|
||||
actions: [clone-locales list-locales setup repack summary]
|
||||
config:
|
||||
- single_locale/tc_linux32.py
|
||||
options:
|
||||
- environment-config=single_locale/production.py
|
||||
- branch-config=single_locale/try.py # NOTE: this will need to be modified in a transform..
|
||||
- platform-config=single_locale/linux32.py # same
|
||||
- total-chunks=1
|
||||
- this-chunk=1
|
||||
tooltool-downloads: public
|
||||
need-xvfb: true
|
||||
|
||||
linux64-l10n/opt:
|
||||
description: "Localization"
|
||||
index:
|
||||
job-name:
|
||||
gecko-v2: linux64-l10n-opt
|
||||
treeherder:
|
||||
platform: linux64/opt
|
||||
symbol: tc(L10n)
|
||||
run:
|
||||
using: mozharness
|
||||
script: mozharness/scripts/desktop_l10n.py
|
||||
actions: [clone-locales list-locales setup repack summary]
|
||||
config:
|
||||
- single_locale/tc_linux64.py
|
||||
options:
|
||||
- environment-config=single_locale/production.py
|
||||
- branch-config=single_locale/try.py
|
||||
- platform-config=single_locale/linux64.py
|
||||
- total-chunks=1
|
||||
- this-chunk=1
|
||||
tooltool-downloads: public
|
||||
need-xvfb: true
|
||||
|
||||
android-api-15-l10n/opt:
|
||||
description: "Single Locale Repack"
|
||||
index:
|
||||
product: mobile
|
||||
job-name:
|
||||
gecko-v2: android-l10n-opt
|
||||
treeherder:
|
||||
platform: android-api-15/opt
|
||||
symbol: tc(L10n)
|
||||
worker-type: aws-provisioner-v1/android-api-15
|
||||
worker:
|
||||
max-run-time: 18000
|
||||
run:
|
||||
using: mozharness
|
||||
script: mozharness/scripts/mobile_l10n.py
|
||||
actions: [clone-locales list-locales setup repack upload-repacks summary]
|
||||
config: # NOTE: this will need to be modified in a transform..
|
||||
- single_locale/try_android-api-15.py single_locale/tc_android-api-15.py
|
||||
options:
|
||||
- total-chunks=1
|
||||
- this-chunk=1
|
||||
tooltool-downloads: internal
|
||||
need-xvfb: true
|
@ -1,6 +0,0 @@
|
||||
# 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/.
|
||||
|
||||
implementation: 'taskgraph.task.legacy:LegacyTask'
|
||||
legacy_path: '.'
|
@ -1,14 +0,0 @@
|
||||
---
|
||||
# For complete sample of all build and test jobs,
|
||||
# see <gecko>/testing/taskcluster/tasks/branches/base_job_flags.yml
|
||||
|
||||
$inherits:
|
||||
from: tasks/branches/base_job_flags.yml
|
||||
|
||||
builds:
|
||||
linux64-mulet:
|
||||
platforms:
|
||||
- b2g
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/mulet_linux.yml
|
@ -1,30 +0,0 @@
|
||||
---
|
||||
# For complete sample of all build and test jobs,
|
||||
# see <gecko>/testing/taskcluster/tasks/branches/base_job_flags.yml
|
||||
|
||||
$inherits:
|
||||
from: tasks/branches/base_job_flags.yml
|
||||
|
||||
builds:
|
||||
linux64:
|
||||
platforms:
|
||||
- Linux64
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_linux64.yml
|
||||
debug:
|
||||
task: tasks/builds/dbg_linux64.yml
|
||||
linux64-asan:
|
||||
platforms:
|
||||
- Linux64 ASan
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_linux64_asan.yml
|
||||
debug:
|
||||
task: tasks/builds/dbg_linux64_asan.yml
|
||||
linux64-pgo:
|
||||
platforms:
|
||||
- Linux64 PGO
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_linux64_pgo.yml
|
@ -1,24 +0,0 @@
|
||||
---
|
||||
# For complete sample of all build and test jobs,
|
||||
# see <gecko>/testing/taskcluster/tasks/branches/base_job_flags.yml
|
||||
|
||||
$inherits:
|
||||
from: tasks/branches/base_jobs.yml
|
||||
|
||||
builds:
|
||||
aries-eng:
|
||||
platforms:
|
||||
- b2g
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/b2g_aries_eng.yml
|
||||
debug:
|
||||
task: tasks/builds/b2g_aries_debug.yml
|
||||
nexus-5l-eng:
|
||||
platforms:
|
||||
- b2g
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/b2g_nexus_5l_eng.yml
|
||||
debug:
|
||||
task: tasks/builds/b2g_nexus_5l_debug.yml
|
@ -1,81 +0,0 @@
|
||||
---
|
||||
# List of all possible flags for each category of tests used in the case where
|
||||
# "all" is specified.
|
||||
flags:
|
||||
builds:
|
||||
- linux32_gecko # b2g desktop linux 32 bit
|
||||
- linux64_gecko # b2g desktop linux 64 bit
|
||||
- linux64-mulet # Firefox desktop - b2g gecko linux 64 bit
|
||||
- linux64-haz # Firefox desktop browser, rooting hazard analysis
|
||||
- linux64-shell-haz # JS shell, rooting hazard analysis
|
||||
- linux64-mulet-haz # Firefox desktop - b2g gecko linux 64 bit, rooting hazard analysis
|
||||
- macosx64_gecko # b2g desktop osx 64 bit
|
||||
- win32_gecko # b2g desktop win 32 bit
|
||||
- nexus-5l-eng
|
||||
- aries-eng
|
||||
- android-api-15
|
||||
- android-api-15-l10n
|
||||
- android-api-15-gradle
|
||||
- android-api-15-frontend
|
||||
- android-partner-sample1
|
||||
- android-x86
|
||||
- linux
|
||||
- linux-l10n # Desktop l10n
|
||||
- linux64
|
||||
- linux64-l10n # Desktop l10n
|
||||
- linux64-st-an
|
||||
- linux64-artifact
|
||||
- linux64-asan
|
||||
- linux64-pgo
|
||||
- linux64-valgrind
|
||||
- macosx64
|
||||
- macosx64-st-an
|
||||
- win32
|
||||
- win64
|
||||
|
||||
tests:
|
||||
- cppunit
|
||||
- crashtest
|
||||
- crashtest-e10s
|
||||
- external-media-tests
|
||||
- firefox-ui-functional-local
|
||||
- firefox-ui-functional-local-e10s
|
||||
- firefox-ui-functional-remote
|
||||
- firefox-ui-functional-remote-e10s
|
||||
- gtest
|
||||
- jittests
|
||||
- jsreftest
|
||||
- jsreftest-e10s
|
||||
- luciddream
|
||||
- marionette
|
||||
- marionette-e10s
|
||||
- marionette-webapi
|
||||
- mochitest
|
||||
- mochitest-a11y
|
||||
- mochitest-browser-chrome
|
||||
- mochitest-browser-chrome-e10s
|
||||
- mochitest-chrome
|
||||
- mochitest-devtools-chrome
|
||||
- mochitest-devtools-chrome-e10s
|
||||
- mochitest-e10s
|
||||
- mochitest-jetpack
|
||||
- mochitest-media
|
||||
- mochitest-media-e10s
|
||||
- mochitest-webgl
|
||||
- mochitest-webgl-e10s
|
||||
- mochitest-gpu
|
||||
- mochitest-gpu-e10s
|
||||
- mochitest-clipboard
|
||||
- mochitest-clipboard-e10s
|
||||
- mochitest-valgrind
|
||||
- mozmill
|
||||
- reftest
|
||||
- reftest-e10s
|
||||
- reftest-no-accel
|
||||
- reftest-no-accel-e10s
|
||||
- robocop
|
||||
- web-platform-tests
|
||||
- web-platform-tests-e10s
|
||||
- web-platform-tests-reftests
|
||||
- web-platform-tests-reftests-e10s
|
||||
- xpcshell
|
@ -1,396 +0,0 @@
|
||||
---
|
||||
# For complete sample of all build and test jobs,
|
||||
# see <gecko>/testing/taskcluster/tasks/branches/base_job_flags.yml
|
||||
|
||||
$inherits:
|
||||
from: tasks/branches/base_job_flags.yml
|
||||
|
||||
builds:
|
||||
android-api-15:
|
||||
platforms:
|
||||
- Android
|
||||
extra-builds: # see RIDEALONG_BUILDS in `mach taskgraph`
|
||||
- android-api-15-l10n
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/android_api_15.yml
|
||||
debug:
|
||||
task: tasks/builds/android_api_15_debug.yml
|
||||
android-x86:
|
||||
platforms:
|
||||
- Android
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/android_x86.yml
|
||||
android-api-15-gradle:
|
||||
platforms:
|
||||
- Android
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/android_api_15_gradle.yml
|
||||
linux64-mulet:
|
||||
platforms:
|
||||
- Mulet Linux
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/mulet_linux.yml
|
||||
debug:
|
||||
task: tasks/builds/mulet_linux_dbg.yml
|
||||
linux:
|
||||
platforms:
|
||||
- Linux
|
||||
extra-builds: # see RIDEALONG_BUILDS in `mach taskgraph`
|
||||
- linux-l10n
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_linux32.yml
|
||||
debug:
|
||||
task: tasks/builds/dbg_linux32.yml
|
||||
linux64:
|
||||
platforms:
|
||||
- Linux64
|
||||
extra-builds: # see RIDEALONG_BUILDS in `mach taskgraph`
|
||||
- linux64-l10n
|
||||
- sm-plain
|
||||
- sm-nonunified
|
||||
- sm-arm-sim
|
||||
- sm-arm64-sim
|
||||
- sm-compacting
|
||||
- sm-rootanalysis
|
||||
- sm-package
|
||||
- sm-asan
|
||||
- sm-msan
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_linux64.yml
|
||||
debug:
|
||||
task: tasks/builds/dbg_linux64.yml
|
||||
linux64-artifact:
|
||||
platforms:
|
||||
- Linux64
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_linux64_artifact.yml
|
||||
linux64-st-an:
|
||||
platforms:
|
||||
- Linux64 Static Analysis
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_linux64_st-an.yml
|
||||
linux64-asan:
|
||||
platforms:
|
||||
- Linux64 ASan
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_linux64_asan.yml
|
||||
debug:
|
||||
task: tasks/builds/dbg_linux64_asan.yml
|
||||
linux64-haz:
|
||||
platforms:
|
||||
- Linux64
|
||||
types:
|
||||
debug:
|
||||
task: tasks/builds/haz_linux.yml
|
||||
linux64-shell-haz:
|
||||
platforms:
|
||||
- Linux64
|
||||
types:
|
||||
debug:
|
||||
task: tasks/builds/haz_shell_linux.yml
|
||||
when:
|
||||
file_patterns:
|
||||
- js/public/**
|
||||
- js/src/**
|
||||
linux64-pgo:
|
||||
platforms:
|
||||
- Linux64 PGO
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_linux64_pgo.yml
|
||||
linux64-valgrind:
|
||||
platforms:
|
||||
- Linux64 Valgrind
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_linux64_valgrind.yml
|
||||
macosx64:
|
||||
platforms:
|
||||
- MacOSX64
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_macosx64.yml
|
||||
debug:
|
||||
task: tasks/builds/dbg_macosx64.yml
|
||||
macosx64-st-an:
|
||||
platforms:
|
||||
- MacOSX64 Static Analysis
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_macosx64_st-an.yml
|
||||
sm-plain:
|
||||
platforms:
|
||||
- Linux64
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/sm_plain.yml
|
||||
debug:
|
||||
task: tasks/builds/sm_plaindebug.yml
|
||||
when:
|
||||
file_patterns:
|
||||
- js/public/**
|
||||
- js/src/**
|
||||
when:
|
||||
file_patterns:
|
||||
- js/public/**
|
||||
- js/src/**
|
||||
sm-nonunified:
|
||||
platforms:
|
||||
- Linux64
|
||||
types:
|
||||
debug:
|
||||
task: tasks/builds/sm_nonunified.yml
|
||||
when:
|
||||
file_patterns:
|
||||
- js/public/**
|
||||
- js/src/**
|
||||
sm-arm-sim:
|
||||
platforms:
|
||||
- Linux64
|
||||
types:
|
||||
debug:
|
||||
task: tasks/builds/sm_arm_sim.yml
|
||||
when:
|
||||
file_patterns:
|
||||
- js/public/**
|
||||
- js/src/**
|
||||
sm-arm64-sim:
|
||||
platforms:
|
||||
- Linux64
|
||||
types:
|
||||
debug:
|
||||
task: tasks/builds/sm_arm64_sim.yml
|
||||
when:
|
||||
file_patterns:
|
||||
- js/public/**
|
||||
- js/src/**
|
||||
sm-arm-sim-osx:
|
||||
platforms:
|
||||
- Linux64
|
||||
types:
|
||||
debug:
|
||||
task: tasks/builds/sm_arm_sim_osx.yml
|
||||
when:
|
||||
file_patterns:
|
||||
- js/public/**
|
||||
- js/src/**
|
||||
sm-compacting:
|
||||
platforms:
|
||||
- Linux64
|
||||
types:
|
||||
debug:
|
||||
task: tasks/builds/sm_compacting.yml
|
||||
when:
|
||||
file_patterns:
|
||||
- js/public/**
|
||||
- js/src/**
|
||||
sm-package:
|
||||
platforms:
|
||||
- Linux64
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/sm_package.yml
|
||||
when:
|
||||
# Make sure this list stays in sync with the files and directories copied
|
||||
# by `js/src/make-source-package.sh`!
|
||||
file_patterns:
|
||||
- build/**
|
||||
- configure.py
|
||||
- dom/bindings/**
|
||||
- intl/icu/**
|
||||
- js/moz.configure
|
||||
- js/public/**
|
||||
- js/src/**
|
||||
- layout/tools/reftest/reftest/**
|
||||
- media/webrtc/trunk/tools/gyp/**
|
||||
- memory/**
|
||||
- mfbt/**
|
||||
- modules/fdlibm/**
|
||||
- modules/zlib/src/**
|
||||
- mozglue/**
|
||||
- moz.configure
|
||||
- nsprpub/**
|
||||
- python/**
|
||||
- taskcluster/moz.build
|
||||
- testing/mozbase/**
|
||||
- test.mozbuild
|
||||
- toolkit/mozapps/installer/package-name.mk
|
||||
- toolkit/mozapps/installer/upload-files.mk
|
||||
sm-rootanalysis:
|
||||
platforms:
|
||||
- Linux64
|
||||
types:
|
||||
debug:
|
||||
task: tasks/builds/sm_rootanalysis.yml
|
||||
when:
|
||||
file_patterns:
|
||||
- js/public/**
|
||||
- js/src/**
|
||||
sm-asan:
|
||||
platforms:
|
||||
- Linux64
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/sm_asan.yml
|
||||
when:
|
||||
file_patterns:
|
||||
- js/public/**
|
||||
- js/src/**
|
||||
sm-msan:
|
||||
platforms:
|
||||
- Linux64
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/sm_msan.yml
|
||||
when:
|
||||
file_patterns:
|
||||
- js/public/**
|
||||
- js/src/**
|
||||
win32:
|
||||
platforms:
|
||||
- win32
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_win32.yml
|
||||
debug:
|
||||
task: tasks/builds/dbg_win32.yml
|
||||
win64:
|
||||
platforms:
|
||||
- win64
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_win64.yml
|
||||
debug:
|
||||
task: tasks/builds/dbg_win64.yml
|
||||
|
||||
# Miscellaneous tasks.
|
||||
tasks:
|
||||
mozlint-eslint:
|
||||
task: tasks/tests/mozlint-eslint.yml
|
||||
root: true
|
||||
when:
|
||||
file_patterns:
|
||||
# Files that are likely audited.
|
||||
- '**/*.js'
|
||||
- '**/*.jsm'
|
||||
- '**/*.jsx'
|
||||
- '**/*.html'
|
||||
- '**/*.xhtml'
|
||||
- '**/*.xml'
|
||||
# Run when eslint policies change.
|
||||
- '**/.eslintignore'
|
||||
- '**/*eslintrc*'
|
||||
# The plugin implementing custom checks.
|
||||
- 'tools/lint/eslint/eslint-plugin-mozilla/**'
|
||||
# Other misc lint related files.
|
||||
- 'python/mozlint/**'
|
||||
- 'tools/lint/**'
|
||||
- 'testing/docker/lint/**'
|
||||
mozlint-flake8:
|
||||
task: tasks/tests/mozlint-flake8.yml
|
||||
root: true
|
||||
when:
|
||||
file_patterns:
|
||||
- '**/*.py'
|
||||
- '**/.flake8'
|
||||
- 'python/mozlint/**'
|
||||
- 'tools/lint/**'
|
||||
- 'testing/docker/lint/**'
|
||||
wptlint-gecko:
|
||||
task: tasks/tests/mozlint-wpt.yml
|
||||
root: true
|
||||
when:
|
||||
file_patterns:
|
||||
- 'testing/web-platform/tests/**'
|
||||
- 'python/mozlint/**'
|
||||
- 'tools/lint/**'
|
||||
- 'testing/docker/lint/**'
|
||||
sphinx:
|
||||
task: tasks/tests/sphinx.yml
|
||||
root: true
|
||||
when:
|
||||
file_patterns:
|
||||
- '**/*.py'
|
||||
- '**/*.rst'
|
||||
- 'tools/docs/**'
|
||||
taskgraph-tests:
|
||||
task: tasks/tests/taskgraph-tests.yml
|
||||
root: true
|
||||
when:
|
||||
file_patterns:
|
||||
- 'taskcluster/**/*.py'
|
||||
- 'config/mozunit.py'
|
||||
- 'python/mach/**/*.py'
|
||||
android-api-15-gradle-dependencies:
|
||||
task: tasks/builds/android_api_15_gradle_dependencies.yml
|
||||
root: true
|
||||
when:
|
||||
file_patterns:
|
||||
- 'mobile/android/config/**'
|
||||
- 'testing/docker/android-gradle-build/**'
|
||||
- 'testing/mozharness/configs/builds/releng_sub_android_configs/*gradle_dependencies.py'
|
||||
- '**/*.gradle'
|
||||
android-test:
|
||||
task: tasks/builds/android_test.yml
|
||||
root: true
|
||||
when:
|
||||
file_patterns:
|
||||
- 'mobile/android/base/**'
|
||||
- 'mobile/android/tests/background/junit4/**'
|
||||
android-checkstyle:
|
||||
task: tasks/builds/android_checkstyle.yml
|
||||
root: true
|
||||
when:
|
||||
file_patterns:
|
||||
- 'mobile/android/**/checkstyle.xml'
|
||||
- 'mobile/android/**/*.gradle'
|
||||
- 'mobile/android/**/*.java'
|
||||
android-lint:
|
||||
task: tasks/builds/android_lint.yml
|
||||
root: true
|
||||
when:
|
||||
file_patterns:
|
||||
- 'mobile/android/**/*.java'
|
||||
- 'mobile/android/**/*.jpeg'
|
||||
- 'mobile/android/**/*.jpg'
|
||||
- 'mobile/android/**/*.png'
|
||||
- 'mobile/android/**/*.svg'
|
||||
- 'mobile/android/**/*.xml' # Manifest & android resources
|
||||
- 'mobile/android/**/build.gradle'
|
||||
mozharness:
|
||||
task: tasks/tests/mozharness-gecko.yml
|
||||
root: true
|
||||
when:
|
||||
file_patterns:
|
||||
- 'testing/mozharness/**'
|
||||
marionette-harness:
|
||||
task: tasks/tests/harness_marionette.yml
|
||||
root: true
|
||||
when:
|
||||
file_patterns:
|
||||
- 'testing/marionette/harness/**'
|
||||
- 'testing/mozharness/scripts/marionette_harness_tests.py'
|
||||
- 'testing/config/marionette_harness_test_requirements.txt'
|
||||
linux64-gcc:
|
||||
task: tasks/builds/linux64_gcc.yml
|
||||
root: true
|
||||
when:
|
||||
file_patterns:
|
||||
- 'build/unix/build-gcc/**'
|
||||
- 'taskcluster/scripts/misc/build-gcc-linux.sh'
|
||||
linux64-clang:
|
||||
task: tasks/builds/linux64_clang.yml
|
||||
root: true
|
||||
when:
|
||||
file_patterns:
|
||||
- 'build/build-clang/**'
|
||||
- 'taskcluster/scripts/misc/build-clang-linux.sh'
|
@ -1,35 +0,0 @@
|
||||
---
|
||||
# For complete sample of all build and test jobs,
|
||||
# see <gecko>/testing/taskcluster/tasks/branches/base_job_flags.yml
|
||||
|
||||
$inherits:
|
||||
from: tasks/branches/base_jobs.yml
|
||||
|
||||
# Flags specific to this branch
|
||||
flags:
|
||||
post-build:
|
||||
- simulator
|
||||
|
||||
builds:
|
||||
aries-eng:
|
||||
platforms:
|
||||
- b2g
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/b2g_aries_eng.yml
|
||||
debug:
|
||||
task: tasks/builds/b2g_aries_debug.yml
|
||||
nexus-5l-eng:
|
||||
platforms:
|
||||
- b2g
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/b2g_nexus_5l_eng.yml
|
||||
debug:
|
||||
task: tasks/builds/b2g_nexus_5l_debug.yml
|
||||
|
||||
post-build:
|
||||
simulator:
|
||||
allowed_build_tasks:
|
||||
- tasks/builds/mulet_linux.yml
|
||||
task: tasks/post-builds/mulet_simulator.yml
|
@ -1,24 +0,0 @@
|
||||
---
|
||||
# For complete sample of all build and test jobs,
|
||||
# see <gecko>/testing/taskcluster/tasks/branches/base_job_flags.yml
|
||||
|
||||
$inherits:
|
||||
from: tasks/branches/base_jobs.yml
|
||||
|
||||
builds:
|
||||
aries-eng:
|
||||
platforms:
|
||||
- b2g
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/b2g_aries_eng.yml
|
||||
debug:
|
||||
task: tasks/builds/b2g_aries_debug.yml
|
||||
nexus-5l-eng:
|
||||
platforms:
|
||||
- b2g
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/b2g_nexus_5l_eng.yml
|
||||
debug:
|
||||
task: tasks/builds/b2g_nexus_5l_debug.yml
|
@ -1,104 +0,0 @@
|
||||
---
|
||||
# For complete sample of all build and test jobs,
|
||||
# see <gecko>/testing/taskcluster/tasks/branches/base_job_flags.yml
|
||||
|
||||
$inherits:
|
||||
from: tasks/branches/base_jobs.yml
|
||||
|
||||
flags:
|
||||
post-build:
|
||||
- upload-symbols
|
||||
|
||||
builds:
|
||||
linux:
|
||||
platforms:
|
||||
- Linux
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_linux32.yml
|
||||
debug:
|
||||
task: tasks/builds/dbg_linux32.yml
|
||||
linux64:
|
||||
platforms:
|
||||
- Linux64
|
||||
extra-builds: # see RIDEALONG_BUILDS in `mach taskgraph`
|
||||
- linux64-l10n
|
||||
- sm-plain
|
||||
- sm-nonunified
|
||||
- sm-arm-sim
|
||||
- sm-arm64-sim
|
||||
- sm-compacting
|
||||
- sm-rootanalysis
|
||||
- sm-package
|
||||
- sm-tsan
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_linux64.yml
|
||||
debug:
|
||||
task: tasks/builds/dbg_linux64.yml
|
||||
linux64-st-an:
|
||||
platforms:
|
||||
- Linux64 Static Analysis
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_linux64_st-an.yml
|
||||
linux64-pgo:
|
||||
platforms:
|
||||
- Linux64 PGO
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_linux64_pgo.yml
|
||||
linux64-mulet:
|
||||
platforms:
|
||||
- Mulet Linux
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/mulet_linux.yml
|
||||
debug:
|
||||
task: tasks/builds/mulet_linux_dbg.yml
|
||||
linux64-mulet-haz:
|
||||
platforms:
|
||||
- Mulet Linux
|
||||
types:
|
||||
debug:
|
||||
task: tasks/builds/mulet_haz_linux.yml
|
||||
macosx64:
|
||||
platforms:
|
||||
- MacOSX64
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_macosx64.yml
|
||||
debug:
|
||||
task: tasks/builds/dbg_macosx64.yml
|
||||
linux64-asan:
|
||||
platforms:
|
||||
- Linux64 ASan
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_linux64_asan.yml
|
||||
debug:
|
||||
task: tasks/builds/dbg_linux64_asan.yml
|
||||
macosx64-st-an:
|
||||
platforms:
|
||||
- MacOSX64 Static Analysis
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_macosx64_st-an.yml
|
||||
sm-tsan:
|
||||
platforms:
|
||||
- Linux64
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/sm_tsan.yml
|
||||
when:
|
||||
file_patterns:
|
||||
- js/public/**
|
||||
- js/src/**
|
||||
|
||||
post-build:
|
||||
upload-symbols:
|
||||
allowed_build_tasks:
|
||||
- tasks/builds/opt_linux64.yml
|
||||
- tasks/builds/dbg_linux64.yml
|
||||
- tasks/builds/android_api_15.yml
|
||||
task: tasks/post-builds/upload_symbols.yml
|
@ -1,6 +0,0 @@
|
||||
---
|
||||
# For complete sample of all build and test jobs,
|
||||
# see <gecko>/testing/taskcluster/tasks/branches/base_job_flags.yml
|
||||
|
||||
$inherits:
|
||||
from: tasks/branches/base_jobs.yml
|
@ -1,172 +0,0 @@
|
||||
---
|
||||
# For complete sample of all build and test jobs,
|
||||
# see <gecko>/testing/taskcluster/tasks/branches/base_job_flags.yml
|
||||
|
||||
$inherits:
|
||||
from: tasks/branches/base_jobs.yml
|
||||
|
||||
# Flags specific to this branch
|
||||
flags:
|
||||
post-build:
|
||||
- upload-symbols
|
||||
|
||||
builds:
|
||||
android-partner-sample1:
|
||||
platforms:
|
||||
- Android
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/android_api_15_partner_sample1.yml
|
||||
linux:
|
||||
platforms:
|
||||
- Linux
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_linux32.yml
|
||||
debug:
|
||||
task: tasks/builds/dbg_linux32.yml
|
||||
linux-l10n:
|
||||
platforms:
|
||||
- Linux
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/firefox_l10n_linux32.yml
|
||||
when:
|
||||
file_patterns:
|
||||
- browser/locales/all-locales
|
||||
- python/compare-locales/**
|
||||
- testing/mozharness/configs/single_locale/**
|
||||
- testing/mozharness/mozharness/mozilla/l10n/locales.py
|
||||
- testing/mozharness/scripts/desktop_l10n.py
|
||||
- toolkit/locales/**
|
||||
- toolkit/mozapps/installer/**
|
||||
linux64:
|
||||
platforms:
|
||||
- Linux64
|
||||
extra-builds: # see RIDEALONG_BUILDS in `mach taskgraph`
|
||||
- linux64-l10n
|
||||
- sm-plain
|
||||
- sm-nonunified
|
||||
- sm-arm-sim
|
||||
- sm-arm64-sim
|
||||
- sm-compacting
|
||||
- sm-rootanalysis
|
||||
- sm-package
|
||||
- sm-tsan
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_linux64.yml
|
||||
debug:
|
||||
task: tasks/builds/dbg_linux64.yml
|
||||
linux64-l10n:
|
||||
platforms:
|
||||
- Linux64
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/firefox_l10n_linux64.yml
|
||||
when:
|
||||
file_patterns:
|
||||
- browser/locales/all-locales
|
||||
- python/compare-locales/**
|
||||
- testing/mozharness/configs/single_locale/**
|
||||
- testing/mozharness/mozharness/mozilla/l10n/locales.py
|
||||
- testing/mozharness/scripts/desktop_l10n.py
|
||||
- toolkit/locales/**
|
||||
- toolkit/mozapps/installer/**
|
||||
linux64-st-an:
|
||||
platforms:
|
||||
- Linux64 Static Analysis
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_linux64_st-an.yml
|
||||
linux64-pgo:
|
||||
platforms:
|
||||
- Linux64 PGO
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_linux64_pgo.yml
|
||||
linux64-mulet:
|
||||
platforms:
|
||||
- Mulet Linux
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/mulet_linux.yml
|
||||
debug:
|
||||
task: tasks/builds/mulet_linux_dbg.yml
|
||||
linux64-mulet-haz:
|
||||
platforms:
|
||||
- Mulet Linux
|
||||
types:
|
||||
debug:
|
||||
task: tasks/builds/mulet_haz_linux.yml
|
||||
macosx64:
|
||||
platforms:
|
||||
- MacOSX64
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_macosx64.yml
|
||||
debug:
|
||||
task: tasks/builds/dbg_macosx64.yml
|
||||
linux64-asan:
|
||||
platforms:
|
||||
- Linux64 ASan
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_linux64_asan.yml
|
||||
debug:
|
||||
task: tasks/builds/dbg_linux64_asan.yml
|
||||
macosx64-st-an:
|
||||
platforms:
|
||||
- MacOSX64 Static Analysis
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/opt_macosx64_st-an.yml
|
||||
android-api-15-l10n:
|
||||
platforms:
|
||||
- Android
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/android_l10n_api_15.yml
|
||||
when:
|
||||
file_patterns:
|
||||
- mobile/android/locales/all-locales
|
||||
- python/compare-locales/**
|
||||
- testing/mozharness/configs/single_locale/**
|
||||
- testing/mozharness/mozharness/mozilla/l10n/locales.py
|
||||
- testing/mozharness/scripts/desktop_l10n.py
|
||||
- toolkit/locales/**
|
||||
- toolkit/mozapps/installer/**
|
||||
aries-eng:
|
||||
platforms:
|
||||
- b2g
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/b2g_aries_eng.yml
|
||||
debug:
|
||||
task: tasks/builds/b2g_aries_debug.yml
|
||||
nexus-5l-eng:
|
||||
platforms:
|
||||
- b2g
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/b2g_nexus_5l_eng.yml
|
||||
debug:
|
||||
task: tasks/builds/b2g_nexus_5l_debug.yml
|
||||
sm-tsan:
|
||||
platforms:
|
||||
- Linux64
|
||||
types:
|
||||
opt:
|
||||
task: tasks/builds/sm_tsan.yml
|
||||
when:
|
||||
file_patterns:
|
||||
- js/public/**
|
||||
- js/src/**
|
||||
|
||||
post-build:
|
||||
upload-symbols:
|
||||
allowed_build_tasks:
|
||||
- tasks/builds/opt_linux64.yml
|
||||
- tasks/builds/dbg_linux64.yml
|
||||
- tasks/builds/android_api_15.yml
|
||||
task: tasks/post-builds/upload_symbols.yml
|
@ -1,46 +0,0 @@
|
||||
# This is the "base" task which contains the common values all builds must
|
||||
# provide.
|
||||
---
|
||||
taskId: {{build_slugid}}
|
||||
|
||||
task:
|
||||
created:
|
||||
relative-datestamp: "0 seconds"
|
||||
deadline:
|
||||
relative-datestamp: "24 hours"
|
||||
metadata:
|
||||
source: '{{source}}'
|
||||
owner: mozilla-taskcluster-maintenance@mozilla.com
|
||||
|
||||
tags:
|
||||
createdForUser: {{owner}}
|
||||
|
||||
provisionerId: aws-provisioner-v1
|
||||
schedulerId: task-graph-scheduler
|
||||
|
||||
payload:
|
||||
# Two hours is long but covers edge cases (and matches bb based infra)
|
||||
maxRunTime: 7200
|
||||
|
||||
env:
|
||||
# Common environment variables for checking out gecko
|
||||
GECKO_BASE_REPOSITORY: '{{base_repository}}'
|
||||
GECKO_HEAD_REPOSITORY: '{{head_repository}}'
|
||||
GECKO_HEAD_REV: '{{head_rev}}'
|
||||
GECKO_HEAD_REF: '{{head_ref}}'
|
||||
TOOLTOOL_REPO: 'https://github.com/mozilla/build-tooltool'
|
||||
TOOLTOOL_REV: 'master'
|
||||
MOZ_BUILD_DATE: '{{pushdate}}'
|
||||
MOZ_SCM_LEVEL: '{{level}}'
|
||||
|
||||
extra:
|
||||
build_product: '{{build_product}}'
|
||||
build_name: '{{build_name}}'
|
||||
build_type: '{{build_type}}'
|
||||
index:
|
||||
rank: {{rank}}
|
||||
treeherder:
|
||||
jobKind: build
|
||||
groupSymbol: tc
|
||||
groupName: Submitted by taskcluster
|
||||
symbol: B
|
@ -1,65 +0,0 @@
|
||||
$inherits:
|
||||
from: 'tasks/builds/mobile_base.yml'
|
||||
variables:
|
||||
build_name: 'android-api-15'
|
||||
build_type: 'opt'
|
||||
task:
|
||||
metadata:
|
||||
name: '[TC] Android armv7 API 15+'
|
||||
description: 'Android armv7 API 15+'
|
||||
|
||||
workerType: android-api-15
|
||||
|
||||
routes:
|
||||
- 'index.buildbot.branches.{{project}}.android-api-15'
|
||||
- 'index.buildbot.revisions.{{head_rev}}.{{project}}.android-api-15'
|
||||
|
||||
scopes:
|
||||
- 'docker-worker:cache:level-{{level}}-{{project}}-build-android-api-15-workspace'
|
||||
- 'docker-worker:cache:tooltool-cache'
|
||||
- 'docker-worker:relengapi-proxy:tooltool.download.internal'
|
||||
- 'docker-worker:relengapi-proxy:tooltool.download.public'
|
||||
|
||||
payload:
|
||||
cache:
|
||||
level-{{level}}-{{project}}-build-android-api-15-workspace: '/home/worker/workspace'
|
||||
tooltool-cache: '/home/worker/tooltool-cache'
|
||||
|
||||
features:
|
||||
relengAPIProxy: true
|
||||
|
||||
env:
|
||||
# inputs to mozharness
|
||||
MOZHARNESS_SCRIPT: 'mozharness/scripts/fx_desktop_build.py'
|
||||
# TODO: make these additional configuration files go away
|
||||
MOZHARNESS_CONFIG: >
|
||||
builds/releng_base_android_64_builds.py
|
||||
disable_signing.py
|
||||
platform_supports_post_upload_to_latest.py
|
||||
MOZHARNESS_ACTIONS: "get-secrets build multi-l10n update"
|
||||
MH_CUSTOM_BUILD_VARIANT_CFG: api-15
|
||||
MH_BRANCH: {{project}}
|
||||
MH_BUILD_POOL: taskcluster
|
||||
TOOLTOOL_CACHE: '/home/worker/tooltool-cache'
|
||||
|
||||
command: ["/bin/bash", "bin/build.sh"]
|
||||
|
||||
extra:
|
||||
treeherderEnv:
|
||||
- production
|
||||
- staging
|
||||
treeherder:
|
||||
machine:
|
||||
# see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
|
||||
platform: android-4-0-armv7-api15
|
||||
groupSymbol: tc
|
||||
groupName: Submitted by taskcluster
|
||||
symbol: B
|
||||
tier: 2
|
||||
# Rather then enforcing particular conventions we require that all build
|
||||
# tasks provide the "build" extra field to specify where the build and tests
|
||||
# files are located.
|
||||
locations:
|
||||
build: 'public/build/target.apk'
|
||||
mozharness: 'public/build/mozharness.zip'
|
||||
test_packages: 'public/build/target.test_packages.json'
|
@ -1,67 +0,0 @@
|
||||
$inherits:
|
||||
from: 'tasks/builds/mobile_base.yml'
|
||||
variables:
|
||||
build_name: 'android-api-15'
|
||||
build_type: 'debug'
|
||||
task:
|
||||
metadata:
|
||||
name: '[TC] Android armv7 API 15+ Dbg'
|
||||
description: 'Android armv7 API 15+ Dbg'
|
||||
|
||||
workerType: android-api-15
|
||||
|
||||
routes:
|
||||
- 'index.buildbot.branches.{{project}}.android-api-15-debug'
|
||||
- 'index.buildbot.revisions.{{head_rev}}.{{project}}.android-api-15-debug'
|
||||
|
||||
scopes:
|
||||
- 'docker-worker:cache:level-{{level}}-{{project}}-build-android-api-15-dbg-workspace'
|
||||
- 'docker-worker:cache:tooltool-cache'
|
||||
- 'docker-worker:relengapi-proxy:tooltool.download.internal'
|
||||
- 'docker-worker:relengapi-proxy:tooltool.download.public'
|
||||
|
||||
payload:
|
||||
cache:
|
||||
level-{{level}}-{{project}}-build-android-api-15-dbg-workspace: '/home/worker/workspace'
|
||||
tooltool-cache: '/home/worker/tooltool-cache'
|
||||
|
||||
features:
|
||||
relengAPIProxy: true
|
||||
|
||||
env:
|
||||
# inputs to mozharness
|
||||
MOZHARNESS_SCRIPT: 'mozharness/scripts/fx_desktop_build.py'
|
||||
# TODO: make these additional configuration files go away
|
||||
MOZHARNESS_CONFIG: >
|
||||
builds/releng_base_android_64_builds.py
|
||||
disable_signing.py
|
||||
platform_supports_post_upload_to_latest.py
|
||||
MOZHARNESS_ACTIONS: "get-secrets build multi-l10n update"
|
||||
MH_CUSTOM_BUILD_VARIANT_CFG: api-15-debug
|
||||
MH_BRANCH: {{project}}
|
||||
MH_BUILD_POOL: taskcluster
|
||||
TOOLTOOL_CACHE: '/home/worker/tooltool-cache'
|
||||
|
||||
command: ["/bin/bash", "bin/build.sh"]
|
||||
|
||||
extra:
|
||||
treeherderEnv:
|
||||
- production
|
||||
- staging
|
||||
treeherder:
|
||||
machine:
|
||||
# see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
|
||||
platform: android-4-0-armv7-api15
|
||||
groupSymbol: tc
|
||||
groupName: Submitted by taskcluster
|
||||
symbol: B
|
||||
tier: 1
|
||||
collection:
|
||||
debug: true
|
||||
# Rather then enforcing particular conventions we require that all build
|
||||
# tasks provide the "build" extra field to specify where the build and tests
|
||||
# files are located.
|
||||
locations:
|
||||
build: 'public/build/target.apk'
|
||||
mozharness: 'public/build/mozharness.zip'
|
||||
test_packages: 'public/build/target.test_packages.json'
|
@ -1,65 +0,0 @@
|
||||
$inherits:
|
||||
from: 'tasks/builds/mobile_base.yml'
|
||||
variables:
|
||||
build_name: 'android-api-15-gradle'
|
||||
build_type: 'opt'
|
||||
task:
|
||||
metadata:
|
||||
name: '[TC] Android armv7 API 15+ Gradle'
|
||||
description: 'Android armv7 API 15+ Gradle'
|
||||
|
||||
workerType: android-api-15
|
||||
|
||||
routes:
|
||||
- 'index.buildbot.branches.{{project}}.android-api-15-gradle'
|
||||
- 'index.buildbot.revisions.{{head_rev}}.{{project}}.android-api-15-gradle'
|
||||
|
||||
scopes:
|
||||
- 'docker-worker:cache:level-{{level}}-{{project}}-build-android-api-15-gradle-workspace'
|
||||
- 'docker-worker:cache:tooltool-cache'
|
||||
- 'docker-worker:relengapi-proxy:tooltool.download.internal'
|
||||
- 'docker-worker:relengapi-proxy:tooltool.download.public'
|
||||
|
||||
payload:
|
||||
cache:
|
||||
level-{{level}}-{{project}}-build-android-api-15-gradle-workspace: '/home/worker/workspace'
|
||||
tooltool-cache: '/home/worker/tooltool-cache'
|
||||
|
||||
features:
|
||||
relengAPIProxy: true
|
||||
|
||||
env:
|
||||
# inputs to mozharness
|
||||
MOZHARNESS_SCRIPT: 'mozharness/scripts/fx_desktop_build.py'
|
||||
# TODO: make these additional configuration files go away
|
||||
MOZHARNESS_CONFIG: >
|
||||
builds/releng_base_android_64_builds.py
|
||||
disable_signing.py
|
||||
platform_supports_post_upload_to_latest.py
|
||||
MOZHARNESS_ACTIONS: "get-secrets build multi-l10n update"
|
||||
MH_CUSTOM_BUILD_VARIANT_CFG: api-15-gradle
|
||||
MH_BRANCH: {{project}}
|
||||
MH_BUILD_POOL: taskcluster
|
||||
GRADLE_USER_HOME: '/home/worker/workspace/build/src/dotgradle'
|
||||
|
||||
command: ["/bin/bash", "bin/build.sh"]
|
||||
|
||||
extra:
|
||||
treeherderEnv:
|
||||
- production
|
||||
- staging
|
||||
treeherder:
|
||||
machine:
|
||||
# see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
|
||||
platform: android-4-0-armv7-api15
|
||||
groupSymbol: tc
|
||||
groupName: Submitted by taskcluster
|
||||
symbol: B
|
||||
tier: 2
|
||||
# Rather then enforcing particular conventions we require that all build
|
||||
# tasks provide the "build" extra field to specify where the build and tests
|
||||
# files are located.
|
||||
locations:
|
||||
build: 'public/build/target.apk'
|
||||
mozharness: 'public/build/mozharness.zip'
|
||||
test_packages: 'public/build/target.test_packages.json'
|
@ -1,84 +0,0 @@
|
||||
# A build-like task to fetch Android Gradle dependencies from jcentral and
|
||||
# package them for consumption by tooltool users. Normally invoked manually.
|
||||
|
||||
$inherits:
|
||||
from: 'tasks/builds/mobile_base.yml'
|
||||
variables:
|
||||
build_name: 'android-api-15-gradle-dependencies'
|
||||
build_type: 'opt'
|
||||
docker-image: android-gradle-build
|
||||
task:
|
||||
metadata:
|
||||
name: '[TC] Android armv7 API 15+ gradle dependencies'
|
||||
description: 'Android armv7 API 15+ gradle dependencies'
|
||||
|
||||
workerType: android-api-15
|
||||
|
||||
routes:
|
||||
- 'index.buildbot.branches.{{project}}.android-api-15-gradle-dependencies'
|
||||
- 'index.buildbot.revisions.{{head_rev}}.{{project}}.android-api-15-gradle-dependencies'
|
||||
|
||||
scopes:
|
||||
- 'docker-worker:cache:level-{{level}}-{{project}}-build-android-api-15-gradle-dependencies-workspace'
|
||||
- 'docker-worker:cache:tooltool-cache'
|
||||
- 'docker-worker:relengapi-proxy:tooltool.download.internal'
|
||||
- 'docker-worker:relengapi-proxy:tooltool.download.public'
|
||||
|
||||
payload:
|
||||
cache:
|
||||
level-{{level}}-{{project}}-build-android-api-15-gradle-dependencies-workspace: '/home/worker/workspace'
|
||||
tooltool-cache: '/home/worker/tooltool-cache'
|
||||
|
||||
features:
|
||||
relengAPIProxy: true
|
||||
|
||||
env:
|
||||
# inputs to mozharness
|
||||
MOZHARNESS_SCRIPT: 'mozharness/scripts/fx_desktop_build.py'
|
||||
# TODO: make these additional configuration files go away
|
||||
MOZHARNESS_CONFIG: >
|
||||
builds/releng_base_android_64_builds.py
|
||||
disable_signing.py
|
||||
platform_supports_post_upload_to_latest.py
|
||||
MOZHARNESS_ACTIONS: "get-secrets build multi-l10n update"
|
||||
MH_CUSTOM_BUILD_VARIANT_CFG: api-15-gradle-dependencies
|
||||
MH_BRANCH: {{project}}
|
||||
MH_BUILD_POOL: taskcluster
|
||||
GRADLE_USER_HOME: '/home/worker/workspace/build/src/dotgradle-online'
|
||||
TOOLTOOL_CACHE: '/home/worker/tooltool-cache'
|
||||
|
||||
maxRunTime: 36000
|
||||
|
||||
image:
|
||||
type: 'task-image'
|
||||
path: 'public/image.tar'
|
||||
taskId:
|
||||
task-reference: "<docker-image>"
|
||||
|
||||
command:
|
||||
- /bin/bash
|
||||
- -c
|
||||
- >
|
||||
/home/worker/bin/before.sh &&
|
||||
/home/worker/bin/build.sh &&
|
||||
/home/worker/bin/after.sh &&
|
||||
true
|
||||
|
||||
extra:
|
||||
treeherderEnv:
|
||||
- production
|
||||
- staging
|
||||
treeherder:
|
||||
machine:
|
||||
# see https://github.com/mozilla/treeherder/blob/master/ui/js/values.js
|
||||
platform: android-4-0-armv7-api15
|
||||
groupSymbol: tc
|
||||
groupName: Submitted by taskcluster
|
||||
symbol: Deps
|
||||
tier: 2
|
||||
# Rather then enforcing particular conventions we require that all build
|
||||
# tasks provide the "build" extra field to specify where the build and tests
|
||||
# files are located.
|
||||
locations:
|
||||
build: 'public/build/target.linux-x86_64.tar.bz2'
|
||||
tests: 'public/build/target.tests.zip'
|