Backed out 6 changesets (bug 974745, bug 975210, bug 974736, bug 972936, bug 972930, bug 975228) for browser_tabopen_reflows.js bustage

CLOSED TREE

Backed out changeset 5aed75c602ce (bug 974745)
Backed out changeset 208ba43a7098 (bug 975210)
Backed out changeset 5227bbca70f0 (bug 974736)
Backed out changeset a695139e96ee (bug 972936)
Backed out changeset 8524260ce49a (bug 972930)
Backed out changeset 667fc810ab49 (bug 975228)
This commit is contained in:
Phil Ringnalda 2014-03-29 11:31:05 -07:00
parent e60072f823
commit cafb852187
27 changed files with 66 additions and 322 deletions

View File

@ -162,9 +162,7 @@ let gGrid = {
'<input type="button" title="' + newTabString("pin") + '"' +
' class="newtab-control newtab-control-pin"/>' +
'<input type="button" title="' + newTabString("block") + '"' +
' class="newtab-control newtab-control-block"/>' +
'<input type="button" title="' + newTabString("sponsored") + '"' +
' class="newtab-control newtab-control-sponsored"/>';
' class="newtab-control newtab-control-block"/>';
this._siteFragment = document.createDocumentFragment();
this._siteFragment.appendChild(site);

View File

@ -129,16 +129,16 @@ input[type=button] {
.newtab-thumbnail[dragged],
.newtab-link:-moz-focusring > .newtab-thumbnail,
.newtab-cell:not([ignorehover]) > .newtab-site:hover > .newtab-link > .newtab-thumbnail {
.newtab-site:hover > .newtab-link > .newtab-thumbnail {
opacity: 1;
}
/* TITLES */
.newtab-title {
bottom: -21px;
bottom: -20px;
position: absolute;
left: 0;
line-height: 21px;
line-height: 20px;
right: 0;
text-align: start;
white-space: nowrap;
@ -155,7 +155,7 @@ input[type=button] {
}
.newtab-control:-moz-focusring,
.newtab-cell:not([ignorehover]) > .newtab-site:hover > .newtab-control {
.newtab-site:hover > .newtab-control {
opacity: 1;
}
@ -169,31 +169,16 @@ input[type=button] {
}
}
.newtab-control-sponsored:-moz-locale-dir(rtl),
.newtab-control-pin:-moz-locale-dir(ltr),
.newtab-control-block:-moz-locale-dir(rtl) {
left: 4px;
}
.newtab-control-sponsored:-moz-locale-dir(ltr),
.newtab-control-block:-moz-locale-dir(ltr),
.newtab-control-pin:-moz-locale-dir(rtl) {
right: 4px;
}
.newtab-control.newtab-control-sponsored {
bottom: -20px;
height: 14px;
-moz-margin-end: -5px;
opacity: 1;
top: auto;
width: 14px;
}
.newtab-site:not([type=sponsored]) .newtab-control-sponsored {
display: none;
}
/* DRAG & DROP */
/*
@ -207,16 +192,3 @@ input[type=button] {
background-color: #fff;
opacity: 0.01;
}
/* PANEL */
#sponsored-panel {
width: 330px;
}
#sponsored-panel description {
margin: 0;
}
#sponsored-panel .text-link {
margin: 12px 0 0;
}

View File

@ -11,7 +11,6 @@ Cu.import("resource://gre/modules/XPCOMUtils.jsm");
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("resource://gre/modules/PageThumbs.jsm");
Cu.import("resource://gre/modules/BackgroundPageThumbs.jsm");
Cu.import("resource://gre/modules/DirectoryLinksProvider.jsm");
Cu.import("resource://gre/modules/NewTabUtils.jsm");
Cu.import("resource://gre/modules/commonjs/sdk/core/promise.js");

View File

@ -17,14 +17,6 @@
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
title="&newtab.pageTitle;">
<xul:panel id="sponsored-panel" orient="vertical" type="arrow">
<xul:description>&newtab.panel.message;</xul:description>
<xul:label class="text-link"
href="&newtab.panel.link.url;"
onclick="this.parentNode.hidePopup();"
value="&newtab.panel.link.text;" />
</xul:panel>
<div id="newtab-scrollbox">
<div id="newtab-vertical-margin">

View File

@ -23,9 +23,6 @@ let gPage = {
let button = document.getElementById("newtab-toggle");
button.addEventListener("click", this, false);
// Initialize sponsored panel
this._sponsoredPanel = document.getElementById("sponsored-panel");
// Check if the new tab feature is enabled.
let enabled = gAllPages.enabled;
if (enabled)
@ -79,21 +76,6 @@ let gPage = {
}
},
/**
* Shows sponsored panel
*/
showSponsoredPanel: function Page_showSponsoredPanel(aTarget) {
if (this._sponsoredPanel.state == "closed") {
let self = this;
this._sponsoredPanel.addEventListener("popuphidden", function onPopupHidden(aEvent) {
self._sponsoredPanel.removeEventListener("popuphidden", onPopupHidden, false);
aTarget.removeAttribute("panelShown");
});
}
aTarget.setAttribute("panelShown", "true");
this._sponsoredPanel.openPopup(aTarget);
},
/**
* Internally initializes the page. This runs only when/if the feature
* is/gets enabled.
@ -108,29 +90,11 @@ let gPage = {
if (this.allowBackgroundCaptures) {
Services.telemetry.getHistogramById("NEWTAB_PAGE_SHOWN").add(true);
// Initialize type counting with the types we want to count
let directoryCount = {};
for (let type of DirectoryLinksProvider.linkTypes) {
directoryCount[type] = 0;
}
for (let site of gGrid.sites) {
if (site) {
site.captureIfMissing();
let {type} = site.link;
if (type in directoryCount) {
directoryCount[type]++;
}
}
}
// Record how many directory sites were shown, but place counts over the
// default 9 in the same bucket
for (let [type, count] of Iterator(directoryCount)) {
let shownId = "NEWTAB_PAGE_DIRECTORY_" + type.toUpperCase() + "_SHOWN";
let shownCount = Math.min(10, count);
Services.telemetry.getHistogramById(shownId).add(shownCount);
}
}
});
this._mutationObserver.observe(document.documentElement, {

View File

@ -128,7 +128,6 @@ Site.prototype = {
link.setAttribute("title", tooltip);
link.setAttribute("href", url);
this._querySelector(".newtab-title").textContent = title;
this.node.setAttribute("type", this.link.type);
if (this.isPinned())
this._updateAttributes(true);
@ -144,19 +143,17 @@ Site.prototype = {
* existing thumbnail and the page allows background captures.
*/
captureIfMissing: function Site_captureIfMissing() {
if (gPage.allowBackgroundCaptures && !this.link.imageURISpec) {
if (gPage.allowBackgroundCaptures)
BackgroundPageThumbs.captureIfMissing(this.url);
}
},
/**
* Refreshes the thumbnail for the site.
*/
refreshThumbnail: function Site_refreshThumbnail() {
let thumbnailURL = PageThumbs.getThumbnailURL(this.url);
let thumbnail = this._querySelector(".newtab-thumbnail");
thumbnail.style.backgroundColor = this.link.bgColor;
let uri = this.link.imageURISpec || PageThumbs.getThumbnailURL(this.url);
thumbnail.style.backgroundImage = "url(" + uri + ")";
thumbnail.style.backgroundImage = "url(" + thumbnailURL + ")";
},
/**
@ -168,15 +165,6 @@ Site.prototype = {
this._node.addEventListener("dragend", this, false);
this._node.addEventListener("mouseover", this, false);
this._node.addEventListener("click", this, false);
// Specially treat the sponsored icon to prevent regular hover effects
let sponsored = this._querySelector(".newtab-control-sponsored");
sponsored.addEventListener("mouseover", () => {
this.cell.node.setAttribute("ignorehover", "true");
});
sponsored.addEventListener("mouseout", () => {
this.cell.node.removeAttribute("ignorehover");
});
},
/**
@ -201,13 +189,6 @@ Site.prototype = {
}
Services.telemetry.getHistogramById("NEWTAB_PAGE_SITE_CLICKED")
.add(aIndex);
// Specially count clicks on directory tiles
let typeIndex = DirectoryLinksProvider.linkTypes.indexOf(this.link.type);
if (typeIndex != -1) {
Services.telemetry.getHistogramById("NEWTAB_PAGE_DIRECTORY_TYPE_CLICKED")
.add(typeIndex);
}
},
/**
@ -224,8 +205,6 @@ Site.prototype = {
aEvent.preventDefault();
if (aEvent.target.classList.contains("newtab-control-block"))
this.block();
else if (target.classList.contains("newtab-control-sponsored"))
gPage.showSponsoredPanel(target);
else if (this.isPinned())
this.unpin();
else

View File

@ -21,7 +21,6 @@ skip-if = os == "mac" # Intermittent failures, bug 898317
[browser_newtab_focus.js]
[browser_newtab_perwindow_private_browsing.js]
[browser_newtab_reset.js]
[browser_newtab_sponsored_icon_click.js]
[browser_newtab_tabsync.js]
[browser_newtab_undo.js]
[browser_newtab_unpin.js]

View File

@ -1,33 +0,0 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
function runTests() {
yield setLinks("0");
yield addNewTabPageTab();
let site = getCell(0).node.querySelector(".newtab-site");
site.setAttribute("type", "sponsored");
let sponsoredPanel = getContentDocument().getElementById("sponsored-panel");
is(sponsoredPanel.state, "closed", "Sponsed panel must be closed");
function continueOnceOn(event) {
sponsoredPanel.addEventListener(event, function listener() {
sponsoredPanel.removeEventListener(event, listener);
executeSoon(TestRunner.next);
});
}
// test sponsoredPanel appearing upon a click
continueOnceOn("popupshown");
let sponsoredButton = site.querySelector(".newtab-control-sponsored");
yield synthesizeNativeMouseClick(sponsoredButton);
is(sponsoredPanel.state, "open", "Sponsored panel opens on click");
ok(sponsoredButton.hasAttribute("panelShown"), "Sponsored button has panelShown attribute");
// test sponsoredPanel hiding after a click
continueOnceOn("popuphidden");
yield synthesizeNativeMouseClick(sponsoredButton);
is(sponsoredPanel.state, "closed", "Sponsed panel hides on click");
ok(!sponsoredButton.hasAttribute("panelShown"), "Sponsored button does not have panelShown attribute");
}

View File

@ -2,11 +2,8 @@
http://creativecommons.org/publicdomain/zero/1.0/ */
const PREF_NEWTAB_ENABLED = "browser.newtabpage.enabled";
const PREF_NEWTAB_DIRECTORYSOURCE = "browser.newtabpage.directorySource";
Services.prefs.setBoolPref(PREF_NEWTAB_ENABLED, true);
// start with no directory links by default
Services.prefs.setCharPref(PREF_NEWTAB_DIRECTORYSOURCE, "data:application/json,{}");
let tmp = {};
Cu.import("resource://gre/modules/Promise.jsm", tmp);
@ -29,7 +26,6 @@ registerCleanupFunction(function () {
gWindow.gBrowser.removeTab(gWindow.gBrowser.tabs[1]);
Services.prefs.clearUserPref(PREF_NEWTAB_ENABLED);
Services.prefs.clearUserPref(PREF_NEWTAB_DIRECTORYSOURCE);
});
/**
@ -452,15 +448,6 @@ function synthesizeNativeMouseLUp(aElement) {
synthesizeNativeMouseEvent(aElement, msg);
}
/**
* Fires a synthetic 'click' event on the current about:newtab page.
* @param aElement The element used to determine the cursor position.
*/
function synthesizeNativeMouseClick(aElement) {
synthesizeNativeMouseLDown(aElement);
synthesizeNativeMouseLUp(aElement);
}
/**
* Fires a synthetic mouse drag event on the current about:newtab page.
* @param aElement The element used to determine the cursor position.

View File

@ -22,9 +22,6 @@ XPCOMUtils.defineLazyModuleGetter(this, "AddonManager",
XPCOMUtils.defineLazyModuleGetter(this, "ContentClick",
"resource:///modules/ContentClick.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "DirectoryLinksProvider",
"resource://gre/modules/DirectoryLinksProvider.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "NetUtil",
"resource://gre/modules/NetUtil.jsm");
@ -478,8 +475,6 @@ BrowserGlue.prototype = {
WebappManager.init();
PageThumbs.init();
NewTabUtils.init();
DirectoryLinksProvider.init();
NewTabUtils.links.addProvider(DirectoryLinksProvider);
BrowserNewTabPreloader.init();
#ifdef NIGHTLY_BUILD
if (Services.prefs.getBoolPref("dom.identity.enabled")) {

View File

@ -8,6 +8,3 @@
<!ENTITY newtab.undo.undoButton "Undo.">
<!ENTITY newtab.undo.restoreButton "Restore All.">
<!ENTITY newtab.undo.closeTooltip "Hide">
<!ENTITY newtab.panel.message "This site is being suggested because it has sponsored Mozilla, helping us promote openness, innovation and opportunity on the Web.">
<!ENTITY newtab.panel.link.url "https://support.mozilla.org/kb/how-do-sponsored-tiles-work">
<!ENTITY newtab.panel.link.text "Learn more…">

View File

@ -7,4 +7,3 @@ newtab.unpin=Unpin this site
newtab.block=Remove this site
newtab.show=Show the new tab page
newtab.hide=Hide the new tab page
newtab.sponsored=Show information on sponsored tiles

View File

@ -107,7 +107,7 @@ browser.jar:
skin/classic/browser/feeds/subscribe-ui.css (feeds/subscribe-ui.css)
skin/classic/browser/fonts/ClearSans-Regular.ttf (../shared/ClearSans-Regular.ttf)
skin/classic/browser/newtab/newTab.css (newtab/newTab.css)
skin/classic/browser/newtab/controls.png (../shared/newtab/controls.png)
skin/classic/browser/newtab/controls.png (newtab/controls.png)
skin/classic/browser/places/bookmarksMenu.png (places/bookmarksMenu.png)
skin/classic/browser/places/bookmarksToolbar.png (places/bookmarksToolbar.png)
skin/classic/browser/places/bookmarksToolbar-menuPanel.png (places/bookmarksToolbar-menuPanel.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@ -89,7 +89,7 @@
border-color: rgba(8,22,37,.15) rgba(8,22,37,.17) rgba(8,22,37,.19);
}
.newtab-cell:hover:not(:empty):not([dragged]):not([ignorehover]) {
.newtab-cell:hover:not(:empty):not([dragged]) {
border-color: rgba(8,22,37,.25) rgba(8,22,37,.27) rgba(8,22,37,.3);
}
@ -99,7 +99,7 @@
transition-property: top, left, opacity, box-shadow, background-color;
}
.newtab-cell:not([ignorehover]) > .newtab-site:hover,
.newtab-site:hover,
.newtab-site[dragged] {
box-shadow: 0 0 10px rgba(8,22,37,.3);
}
@ -117,13 +117,6 @@
background-size: cover;
}
.newtab-site[type=affiliate] .newtab-thumbnail,
.newtab-site[type=organic] .newtab-thumbnail,
.newtab-site[type=sponsored] .newtab-thumbnail {
background-position: top center;
background-size: auto;
}
/* TITLES */
.newtab-title {
color: #525c66;
@ -131,10 +124,6 @@
font-size: 13px;
}
.newtab-site[type=sponsored] .newtab-title {
-moz-padding-end: 24px;
}
/* CONTROLS */
.newtab-control {
width: 24px;
@ -175,15 +164,3 @@
.newtab-control-block:active {
background-position: -192px 0;
}
.newtab-control-sponsored {
background-position: -249px -1px;
}
.newtab-control-sponsored:hover {
background-position: -265px -1px;
}
.newtab-control-sponsored[panelShown] {
background-position: -281px -1px;
}

View File

@ -170,7 +170,7 @@ browser.jar:
skin/classic/browser/feeds/audioFeedIcon16.png (feeds/feedIcon16.png)
skin/classic/browser/fonts/ClearSans-Regular.ttf (../shared/ClearSans-Regular.ttf)
skin/classic/browser/newtab/newTab.css (newtab/newTab.css)
skin/classic/browser/newtab/controls.png (../shared/newtab/controls.png)
skin/classic/browser/newtab/controls.png (newtab/controls.png)
skin/classic/browser/newtab/controls@2x.png (newtab/controls@2x.png)
skin/classic/browser/setDesktopBackground.css
skin/classic/browser/monitor.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -77,7 +77,7 @@
@media (min-resolution: 2dppx) {
#newtab-toggle {
background-image: url(chrome://browser/skin/newtab/controls@2x.png);
background-size: 296px;
background-size: 248px;
}
}
@ -93,7 +93,7 @@
border-color: rgba(8,22,37,.15) rgba(8,22,37,.17) rgba(8,22,37,.19);
}
.newtab-cell:hover:not(:empty):not([dragged]):not([ignorehover]) {
.newtab-cell:hover:not(:empty):not([dragged]) {
border-color: rgba(8,22,37,.25) rgba(8,22,37,.27) rgba(8,22,37,.3);
}
@ -103,7 +103,7 @@
transition-property: top, left, opacity, box-shadow, background-color;
}
.newtab-cell:not([ignorehover]) > .newtab-site:hover,
.newtab-site:hover,
.newtab-site[dragged] {
box-shadow: 0 0 10px rgba(8,22,37,.3);
}
@ -121,13 +121,6 @@
background-size: cover;
}
.newtab-site[type=affiliate] .newtab-thumbnail,
.newtab-site[type=organic] .newtab-thumbnail,
.newtab-site[type=sponsored] .newtab-thumbnail {
background-position: top center;
background-size: auto;
}
/* TITLES */
.newtab-title {
color: #525c66;
@ -135,10 +128,6 @@
font-size: 13px;
}
.newtab-site[type=sponsored] .newtab-title {
-moz-padding-end: 24px;
}
/* CONTROLS */
.newtab-control {
width: 24px;
@ -151,7 +140,7 @@
@media (min-resolution: 2dppx) {
.newtab-control {
background-image: url(chrome://browser/skin/newtab/controls@2x.png);
background-size: 296px;
background-size: 248px;
}
}
@ -186,15 +175,3 @@
.newtab-control-block:active {
background-position: -192px 0;
}
.newtab-control-sponsored {
background-position: -249px -1px;
}
.newtab-control-sponsored:hover {
background-position: -265px -1px;
}
.newtab-control-sponsored[panelShown] {
background-position: -281px -1px;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

View File

@ -128,7 +128,7 @@ browser.jar:
skin/classic/browser/feeds/subscribe-ui.css (feeds/subscribe-ui.css)
skin/classic/browser/fonts/ClearSans-Regular.ttf (../shared/ClearSans-Regular.ttf)
skin/classic/browser/newtab/newTab.css (newtab/newTab.css)
skin/classic/browser/newtab/controls.png (../shared/newtab/controls.png)
skin/classic/browser/newtab/controls.png (newtab/controls.png)
skin/classic/browser/places/places.css (places/places.css)
* skin/classic/browser/places/organizer.css (places/organizer.css)
skin/classic/browser/places/bookmark.png (places/bookmark.png)
@ -477,7 +477,7 @@ browser.jar:
skin/classic/aero/browser/feeds/subscribe-ui.css (feeds/subscribe-ui.css)
skin/classic/aero/browser/fonts/ClearSans-Regular.ttf (../shared/ClearSans-Regular.ttf)
skin/classic/aero/browser/newtab/newTab.css (newtab/newTab.css)
skin/classic/aero/browser/newtab/controls.png (../shared/newtab/controls.png)
skin/classic/aero/browser/newtab/controls.png (newtab/controls.png)
* skin/classic/aero/browser/places/places.css (places/places-aero.css)
* skin/classic/aero/browser/places/organizer.css (places/organizer-aero.css)
skin/classic/aero/browser/places/bookmark.png (places/bookmark-aero.png)

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@ -92,7 +92,7 @@
border-color: rgba(8,22,37,.15) rgba(8,22,37,.17) rgba(8,22,37,.19);
}
.newtab-cell:hover:not(:empty):not([dragged]):not([ignorehover]) {
.newtab-cell:hover:not(:empty):not([dragged]) {
border-color: rgba(8,22,37,.25) rgba(8,22,37,.27) rgba(8,22,37,.3);
}
@ -102,7 +102,7 @@
transition-property: top, left, opacity, box-shadow, background-color;
}
.newtab-cell:not([ignorehover]) > .newtab-site:hover,
.newtab-site:hover,
.newtab-site[dragged] {
box-shadow: 0 0 10px rgba(8,22,37,.3);
}
@ -120,13 +120,6 @@
background-size: cover;
}
.newtab-site[type=affiliate] .newtab-thumbnail,
.newtab-site[type=organic] .newtab-thumbnail,
.newtab-site[type=sponsored] .newtab-thumbnail {
background-position: top center;
background-size: auto;
}
/* TITLES */
.newtab-title {
color: #525c66;
@ -134,10 +127,6 @@
font-size: 13px;
}
.newtab-site[type=sponsored] .newtab-title {
-moz-padding-end: 24px;
}
/* CONTROLS */
.newtab-control {
width: 24px;
@ -178,15 +167,3 @@
.newtab-control-block:active {
background-position: -192px 0;
}
.newtab-control-sponsored {
background-position: -249px -1px;
}
.newtab-control-sponsored:hover {
background-position: -265px -1px;
}
.newtab-control-sponsored[panelShown] {
background-position: -281px -1px;
}

View File

@ -4041,30 +4041,6 @@
"n_values": 10,
"description": "Track click count on about:newtab tiles per index (0-8). For non-default row or column configurations all clicks into the '9' bucket."
},
"NEWTAB_PAGE_DIRECTORY_AFFILIATE_SHOWN": {
"expires_in_version": "35",
"kind": "enumerated",
"n_values": 11,
"description": "Number of affiliate directory links shown on about:newtab. For non-default row or column configurations, extra links fall into the '10' bucket."
},
"NEWTAB_PAGE_DIRECTORY_ORGANIC_SHOWN": {
"expires_in_version": "35",
"kind": "enumerated",
"n_values": 11,
"description": "Number of organic directory links shown on about:newtab. For non-default row or column configurations, extra links fall into the '10' bucket."
},
"NEWTAB_PAGE_DIRECTORY_SPONSORED_SHOWN": {
"expires_in_version": "35",
"kind": "enumerated",
"n_values": 11,
"description": "Number of sponsored directory links shown on about:newtab. For non-default row or column configurations, extra links fall into the '10' bucket."
},
"NEWTAB_PAGE_DIRECTORY_TYPE_CLICKED": {
"expires_in_version": "35",
"kind": "enumerated",
"n_values": 3,
"description": "Track click count on about:newtab directory links per type (sponsored, affiliate, organic)."
},
"PANORAMA_INITIALIZATION_TIME_MS": {
"expires_in_version": "never",
"kind": "exponential",

File diff suppressed because one or more lines are too long

View File

@ -60,12 +60,6 @@ const PREF_DIRECTORY_SOURCE = "browser.newtabpage.directorySource";
// The frecency of a directory link
const DIRECTORY_FRECENCY = 1000;
const LINK_TYPES = Object.freeze([
"sponsored",
"affiliate",
"organic",
]);
/**
* Singleton that serves as the provider of directory links.
* Directory links are a hard-coded set of links shown if a user's link
@ -95,8 +89,6 @@ let DirectoryLinksProvider = {
return this.__linksURL;
},
get linkTypes() LINK_TYPES,
observe: function DirectoryLinksProvider_observe(aSubject, aTopic, aData) {
if (aTopic == "nsPref:changed") {
if (aData == this._prefs["linksURL"]) {

View File

@ -577,9 +577,6 @@ let PlacesProvider = {
title: title,
frecency: frecency,
lastVisitDate: lastVisitDate,
bgColor: "transparent",
type: "history",
imageURISpec: null,
});
}
}