Bug 975228 - Create logic to merge frecency-pages and Tiles (Tile equiv 1000 frecency) [r=adw]
Use DirectoryLinksProvider for Firefox and make PlacesProvider match in expected Links format.
Make sure there's at least 2 of each type so Telemetry doesn't know for sure which links were used.
Bug 972930 - Clicks (raw number) for tiles [r=adw]
Provide an array of expected directory link types to count how many were clicked.
Bug 972936 - Overall impressions metrics for New Tab [r=adw]
Add a histogram for each of the 3 directory link types and count how many were shown.
Bug 974736 - Add icon to title bar of Sponsored Tiles [r=adw]
Also fixes bug 976638 by moving controls.png to the shared directory.
Add an always visible sponsored icon for tiles that are type=sponsored. Also add ignorehover to the cell to prevent styling when pointing at the sponsored icon that happens to be a child of the cell.
Bug 975210 - Augment Site._render logic to allow for Sponsored Tiles images & text [r=adw]
For type={affiliate,organic,sponsored} tiles, show the appropriate imageURISpec instead of thumbnail.
Bug 974745 - Create click event on Sponsored Tiles to show explanation panel [r=adw]
Have the page know how to show a panel on a sponsored icon click.
Bug 917226 - Build a canvas inspection tool, r=rcampbell, jryans
Merge m-c to f-t
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)
Bug 975000 - Disable updating and compatibility checking for Experiments; r=Unfocused

Experiment add-ons are installed and updated via the Experiments Manager
service. With this change, the Add-ons Manager lets experiment add-ons
play by their own rules without interference.

--HG--
extra : rebase_source : 12f990198fed7171b9572c24aa2f8319620414a2
Bug 985084 - Experiment add-ons should be disabled by default; r=Unfocused

Experiment add-ons are now disabled by default on application load. It
is up to the Experiments Manager to enable them.

This means that experiments may not be able to reliably collect data or
modify behavior close to application startup. (There is a window between
when the Addon Manager initializes and when the Experiments Manager
initializes.) This window is acceptable for the initial version of the
experiments feature.

The Experiments Manager doesn't currently enable experiments on startup.
This will be addressed in a subsequent patch. Its tests do not regress
(indicating a lack of test coverage), so no harm no foul.

--HG--
extra : rebase_source : 00a55146576f490200a6148bd5516f84def9879c
extra : source : bd901384b973c7ff581fe24a3012f0191b8bbe67
Merge m-c to f-t
Bug 989137 - Part 1: Uninstall unknown experiments; r=Unfocused

Before this patch, experiment add-ons may have existed in the Addons
Manager without the Experiments service knowing about them. This detects
these unknown add-ons and uninstalls them. See the in-line comment on
the rationale behind this decision.

The added unit test fails without the Experiments.jsm change.

--HG--
extra : rebase_source : bb0d0d5d77c7ae562f76e6c647eea25e6a06d99a
Bug 989137 - Part 2: Don't use a global logger; r=gfritzsche

As part of debugging subsequent patches, I ran into issues debugging the
interaction between multiple Experiments instances. To get to the bottom
of the problem, I had to make some changes to the logging framework.
This is the first patch in a sub-series dealing with logging.

This patch stops relying on the global logger. Subsequent patches will
make the logging output aid debugging.

--HG--
extra : rebase_source : 40b34a1444ff3fb70a9da7cf242ee522d6ec07ea
extra : source : 61877a5f15aa01dec05fe1882eae6ad9f18f81a0
Bug 989137 - Part 3: Log.jsm API to get a Logger that prefixes messages; r=bsmedberg

A common pattern for logging is to have multiple loggers for multiple
underlying object instances. You often want to have each instance attach
some identifying metdata contained in each logged message. This patch
provides an API to facilitate that.

--HG--
extra : rebase_source : 5816e0671c78f55cca45bdd1aed52c85695945c4
Bug 989137 - Part 4: Use a prefixing logger for Experiments logging; r=gfritzsche

Logging in the Experiments module were using a common pattern of
prefixing all messages with the type. We move this prefixing into
a prefixed logger.

--HG--
extra : rebase_source : 213a99e93a3569a7f2ab3d72fb37dc0c538e5c97
extra : source : 96def94c8fb705e5ad8af5a1393492a28ea47d16
Bug 989137 - Part 5: Prefix each log message with the instance of the object; r=gfritzsche

We now maintain per-type counts/IDs of each Policy, Experiments, and
ExperimentEntry. The log events for each type are prefixed with the
count/ID so one can easily attribute events to specific instances.

--HG--
extra : rebase_source : 4f1fcc38e5f52ff38b90f9ce71e332492983ff37
Bug 911307 - Reflect changes to top sites immediately in about:newtab (part 1, Places patch). r=mak
Bug 911307 - Reflect changes to top sites immediately in about:newtab (part 2, front-end patch). r=ttaubert
Bug 470769 - Store computed styles of integer-valued properties as integers in nsROCSSPrimitiveValue, so they round-trip correctly.  r=bzbarsky