Bug 1279224 - remove all Sync promotions from doorhangers. r=adw

MozReview-Commit-ID: 8QELFxqM6Av

--HG--
extra : rebase_source : e76d93d5096e9f820238645a9ac2db658f815718
This commit is contained in:
Mark Hammond 2016-06-15 13:43:25 +01:00
parent 0137cf7bf6
commit 367f33f78d
11 changed files with 0 additions and 293 deletions

View File

@ -837,10 +837,6 @@ statuspanel[inactive][previoustype=overLink] {
-moz-box-align: end;
}
.panel-inner-arrowcontentfooter[footertype="promobox"] {
-moz-binding: url("chrome://browser/content/urlbarBindings.xml#promobox");
}
/* gcli */
html|*#gcli-tooltip-frame,

View File

@ -175,7 +175,6 @@
<panel id="editBookmarkPanel"
type="arrow"
footertype="promobox"
orient="vertical"
ignorekeys="true"
hidden="true"

View File

@ -2,7 +2,6 @@
<panel id="notification-popup"
type="arrow"
footertype="promobox"
position="after_start"
hidden="true"
orient="vertical"

View File

@ -2443,174 +2443,4 @@ file, You can obtain one at http://mozilla.org/MPL/2.0/.
]]></constructor>
</implementation>
</binding>
<binding id="promobox">
<content>
<xul:hbox class="panel-promo-box" align="start" flex="1">
<xul:hbox align="center" flex="1">
<xul:image class="panel-promo-icon"/>
<xul:description anonid="promo-message" class="panel-promo-message" flex="1">
<xul:description anonid="promo-link"
class="plain text-link inline-link"
onclick="document.getBindingParent(this).onLinkClick();"/>
</xul:description>
</xul:hbox>
<xul:toolbarbutton class="panel-promo-closebutton close-icon"
oncommand="document.getBindingParent(this).onCloseButtonCommand();"
tooltiptext="&closeNotification.tooltip;"/>
</xul:hbox>
</content>
<implementation implements="nsIDOMEventListener">
<constructor><![CDATA[
this._panel.addEventListener("popupshowing", this, false);
]]></constructor>
<destructor><![CDATA[
this._panel.removeEventListener("popupshowing", this, false);
]]></destructor>
<field name="_panel" readonly="true"><![CDATA[
{
let node = this.parentNode;
while(node && node.localName != "panel") {
node = node.parentNode;
}
node;
}
]]></field>
<field name="_promomessage" readonly="true">
document.getAnonymousElementByAttribute(this, "anonid", "promo-message");
</field>
<field name="_promolink" readonly="true">
document.getAnonymousElementByAttribute(this, "anonid", "promo-link");
</field>
<field name="_brandBundle" readonly="true">
Services.strings.createBundle("chrome://branding/locale/brand.properties");
</field>
<property name="_viewsLeftMap">
<getter><![CDATA[
try {
return JSON.parse(Services.prefs.getCharPref("browser.syncPromoViewsLeftMap"));
} catch (ex) {}
return {};
]]></getter>
</property>
<property name="_viewsLeft">
<getter><![CDATA[
let views = 5;
let map = this._viewsLeftMap;
if (this._notificationType in map) {
views = map[this._notificationType];
}
return views;
]]></getter>
<setter><![CDATA[
let map = this._viewsLeftMap;
map[this._notificationType] = val;
Services.prefs.setCharPref("browser.syncPromoViewsLeftMap",
JSON.stringify(map));
return val;
]]></setter>
</property>
<property name="_notificationType">
<getter><![CDATA[
// Use the popupid attribute to identify the notification type,
// otherwise just rely on the panel id for common arrowpanels.
let type = this._panel.firstChild.getAttribute("popupid") ||
this._panel.id;
if (type == "editBookmarkPanel")
return "bookmarks";
if (type == "addon-install-complete" || type == "addon-install-restart") {
if (!Services.prefs.prefHasUserValue("services.sync.username"))
return "addons";
if (!Services.prefs.getBoolPref("services.sync.engine.addons"))
return "addons-sync-disabled";
}
return null;
]]></getter>
</property>
<property name="_notificationMessage">
<getter><![CDATA[
return gNavigatorBundle.getFormattedString(
"syncPromoNotification." + this._notificationType + ".description",
[this._brandBundle.GetStringFromName("syncBrandShortName")]
);
]]></getter>
</property>
<property name="_notificationLink">
<getter><![CDATA[
if (this._notificationType == "addons-sync-disabled") {
return "https://support.mozilla.org/kb/how-do-i-enable-add-sync";
}
return "https://services.mozilla.com/sync/";
]]></getter>
</property>
<method name="onCloseButtonCommand">
<body><![CDATA[
this._viewsLeft = 0;
this.hidden = true;
]]></body>
</method>
<method name="onLinkClick">
<body><![CDATA[
// Open a new selected tab and close the current panel.
openUILinkIn(this._promolink.getAttribute("href"), "tab");
this._panel.hidePopup();
]]></body>
</method>
<method name="handleEvent">
<parameter name="event"/>
<body><![CDATA[
if (event.type != "popupshowing" || event.target != this._panel)
return;
// A previous notification may have unhidden this.
this.hidden = true;
// Only handle supported notification panels.
if (!this._notificationType) {
return;
}
let viewsLeft = this._viewsLeft;
if (viewsLeft) {
if (Services.prefs.prefHasUserValue("services.sync.username") &&
this._notificationType != "addons-sync-disabled") {
// If the user has already setup Sync, don't show the notification.
this._viewsLeft = 0;
// Be sure to hide the panel, in case it was visible and the user
// decided to setup Sync after noticing it.
viewsLeft = 0;
// The panel is still hidden, just bail out.
return;
}
else {
this._viewsLeft = viewsLeft - 1;
}
this._promolink.setAttribute("href", this._notificationLink);
this._promolink.value = gNavigatorBundle.getString("syncPromoNotification.learnMoreLinkText");
this.hidden = false;
// HACK: The description element doesn't wrap correctly in panels,
// thus set a width on it, based on the available space, before
// setting its textContent. Then set its height as well, to
// fix wrong height calculation on Linux (bug 659578).
this._panel.addEventListener("popupshown", function panelShown() {
this._panel.removeEventListener("popupshown", panelShown, true);
// Previous popupShown events may close the panel or change
// its contents, so ensure this is still valid.
if (this._panel.state != "open" || !this._notificationType)
return;
this._promomessage.width = this._promomessage.getBoundingClientRect().width;
this._promomessage.firstChild.textContent = this._notificationMessage;
this._promomessage.height = this._promomessage.getBoundingClientRect().height;
}.bind(this), true);
}
]]></body>
</method>
</implementation>
</binding>
</bindings>

View File

@ -2126,12 +2126,6 @@ BrowserGlue.prototype = {
xulStore.removeValue(BROWSER_DOCURL, "TabsToolbar", "collapsed");
}
if (currentUIVersion < 22) {
// Reset the Sync promobox count to promote the new FxAccount-based Sync.
Services.prefs.clearUserPref("browser.syncPromoViewsLeft");
Services.prefs.clearUserPref("browser.syncPromoViewsLeftMap");
}
if (currentUIVersion < 23) {
const kSelectedEnginePref = "browser.search.selectedEngine";
if (Services.prefs.prefHasUserValue(kSelectedEnginePref)) {

View File

@ -441,22 +441,6 @@ safeModeRestartButton=Restart
# menu, set this to "true". Otherwise, you can leave it as "false".
browser.menu.showCharacterEncoding=false
# LOCALIZATION NOTE (syncPromoNotification.bookmarks.label): This appears in
# the add bookmark star panel. %S will be replaced by syncBrandShortName.
# The final space separates this text from the Learn More link.
syncPromoNotification.bookmarks.description=You can access your bookmarks on all your devices with %S.\u0020
syncPromoNotification.learnMoreLinkText=Learn More
# LOCALIZATION NOTE (syncPromoNotification.addons.label): This appears in
# the add-on install complete panel when Sync isn't set.
# %S will be replaced by syncBrandShortName.
# The final space separates this text from the Learn More link.
syncPromoNotification.addons.description=You can access your add-ons on all your devices with %S.\u0020
# LOCALIZATION NOTE (syncPromoNotification.addons-sync-disabled.label):
# This appears in the add-on install complete panel when Sync is set
# but addons sync is not. %S will be replaced by syncBrandShortName.
# The final space separates this text from the Learn More link.
syncPromoNotification.addons-sync-disabled.description=You can use your %S account to synchronize add-ons across multiple devices.\u0020
# Mozilla data reporting notification (Telemetry, Firefox Health Report, etc)
dataReportingNotification.message = %1$S automatically sends some data to %2$S so that we can improve your experience.
dataReportingNotification.button.label = Choose What I Share

View File

@ -1469,29 +1469,6 @@ html|span.ac-emphasize-text-url {
min-width: 27em;
}
.panel-promo-box {
margin: 8px -10px -10px -10px;
padding: 8px 10px;
border-top: 1px solid ThreeDShadow;
background-image: linear-gradient(hsla(0,0%,0%,.15), hsla(0,0%,0%,.08) 6px);
}
.panel-promo-icon {
list-style-image: url("chrome://browser/skin/sync-notification-24.png");
margin-inline-end: 10px;
vertical-align: middle;
}
.panel-promo-closebutton {
-moz-appearance: none;
height: 16px;
width: 16px;
}
.panel-promo-closebutton > .toolbarbutton-text {
padding: 0;
}
/* Content area */
#sidebar {
background-color: Window;

View File

@ -2296,38 +2296,6 @@ html|span.ac-emphasize-text-url {
text-align: end;
}
.panel-promo-box {
margin: 8px -16px -16px -16px;
padding: 8px 16px;
background-color: hsla(210,4%,10%,.07);
border-top: 1px solid hsla(210,4%,10%,.12);
border-radius: 0 0 5px 5px;
box-shadow: 0 -1px hsla(0,0%,100%,.5) inset, 0 1px 1px hsla(0,0%,0%,.03) inset;
color: hsl(0,0%,30%);
}
.panel-promo-icon {
list-style-image: url("chrome://browser/skin/sync-notification-24.png");
margin-inline-end: 10px;
vertical-align: middle;
}
.panel-promo-closebutton {
border: none;
margin-inline-end: -14px;
margin-top: -8px;
}
.panel-promo-closebutton > .toolbarbutton-text {
padding: 0;
}
@media (min-resolution: 2dppx) {
.panel-promo-closebutton > .toolbarbutton-icon {
width: 16px;
}
}
/* History Swipe Animation */
#historySwipeAnimationCurrentPage,

View File

@ -9,10 +9,6 @@
#main-window[sizemode="normal"] > #tab-view-deck > #browser-panel > #navigator-toolbox > #toolbar-menubar {
margin-top: 1px;
}
.panel-promo-message {
font-style: italic;
}
}
@media (-moz-windows-default-theme) {

View File

@ -1853,41 +1853,6 @@ html|span.ac-emphasize-text-url {
min-width: 27em;
}
.panel-promo-box {
margin: 10px -10px -10px;
padding: 8px 10px;
border-top: 1px solid ThreeDShadow;
background-image: linear-gradient(hsla(0,0%,0%,.15), hsla(0,0%,0%,.08) 6px);
border-bottom-left-radius: 3px;
border-bottom-right-radius: 3px;
}
@media (-moz-windows-default-theme) {
.panel-promo-box {
border-top-style: none;
background: #f1f5fb;
color: GrayText;
box-shadow: 0px 1px 2px rgb(204,214,234) inset;
}
}
.panel-promo-icon {
list-style-image: url("chrome://browser/skin/sync-notification-24.png");
margin-inline-end: 10px;
vertical-align: middle;
}
.panel-promo-closebutton {
-moz-appearance: none;
border: none;
margin-inline-end: -10px;
margin-top: -5px;
}
.panel-promo-closebutton > .toolbarbutton-text {
padding: 0;
}
/* ::::: content area ::::: */
#sidebar {

View File

@ -355,7 +355,6 @@
</xul:box>
<xul:box class="panel-arrowcontent" xbl:inherits="side,align,dir,orient,pack" flex="1">
<children/>
<xul:box class="panel-inner-arrowcontentfooter" xbl:inherits="footertype" hidden="true"/>
</xul:box>
</xul:vbox>
</content>