Bug 1381525 - Update telemetry endpoint to prod, fix context menus, localhost titles, screenshots and tests for Activity Stream. r=ursula
authorEd Lee <edilee@mozilla.com>
Mon, 17 Jul 2017 08:46:19 -0700
changeset 369239 983924a5bc562ff2ed3c7340a3714f37eecf9976
parent 369238 1dd2fccddf1fdf047af6a8b3e0bf1028ad68749b
child 369240 30e544a40e04593750c693a62b53b3a310d6ce55
push id32194
push userryanvm@gmail.com
push dateTue, 18 Jul 2017 14:46:42 +0000
treeherdermozilla-central@8ff4f17b266d [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersursula
bugs1381525
milestone56.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1381525 - Update telemetry endpoint to prod, fix context menus, localhost titles, screenshots and tests for Activity Stream. r=ursula MozReview-Commit-ID: 7FJQRyadJ75
browser/extensions/activity-stream/bootstrap.js
browser/extensions/activity-stream/data/content/activity-stream.bundle.js
browser/extensions/activity-stream/data/locales.json
browser/extensions/activity-stream/lib/ActivityStream.jsm
browser/extensions/activity-stream/lib/PlacesFeed.jsm
browser/extensions/activity-stream/lib/Screenshots.jsm
browser/extensions/activity-stream/lib/TopSitesFeed.jsm
browser/extensions/activity-stream/test/functional/mochitest/blue_page.html
browser/extensions/activity-stream/test/functional/mochitest/browser.ini
browser/extensions/activity-stream/test/functional/mochitest/browser_dummy_test.js
browser/extensions/activity-stream/test/functional/mochitest/browser_getScreenshots.js
browser/extensions/activity-stream/test/unit/common/Reducers.test.js
browser/extensions/activity-stream/test/unit/lib/Screenshots.test.js
browser/extensions/activity-stream/test/unit/lib/TopSitesFeed.test.js
browser/extensions/activity-stream/test/unit/unit-entry.js
--- a/browser/extensions/activity-stream/bootstrap.js
+++ b/browser/extensions/activity-stream/bootstrap.js
@@ -6,18 +6,16 @@
 const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
 Cu.importGlobalProperties(["fetch"]);
 
 XPCOMUtils.defineLazyModuleGetter(this, "Preferences",
   "resource://gre/modules/Preferences.jsm");
 XPCOMUtils.defineLazyModuleGetter(this, "Services",
   "resource://gre/modules/Services.jsm");
-XPCOMUtils.defineLazyModuleGetter(this, "setTimeout",
-  "resource://gre/modules/Timer.jsm");
 
 const ACTIVITY_STREAM_ENABLED_PREF = "browser.newtabpage.activity-stream.enabled";
 const BROWSER_READY_NOTIFICATION = "sessionstore-windows-restored";
 const REASON_SHUTDOWN_ON_PREF_CHANGE = "PREF_OFF";
 const REASON_STARTUP_ON_PREF_CHANGE = "PREF_ON";
 const RESOURCE_BASE = "resource://activity-stream";
 
 const ACTIVITY_STREAM_OPTIONS = {newTabURL: "about:newtab"};
@@ -114,17 +112,17 @@ function onBrowserReady() {
 /**
  * observe - nsIObserver callback to handle various browser notifications.
  */
 function observe(subject, topic, data) {
   switch (topic) {
     case BROWSER_READY_NOTIFICATION:
       Services.obs.removeObserver(observe, BROWSER_READY_NOTIFICATION);
       // Avoid running synchronously during this event that's used for timing
-      setTimeout(() => onBrowserReady());
+      Services.tm.dispatchToMainThread(() => onBrowserReady());
       break;
   }
 }
 
 // The functions below are required by bootstrap.js
 
 this.install = function install(data, reason) {};
 
--- a/browser/extensions/activity-stream/data/content/activity-stream.bundle.js
+++ b/browser/extensions/activity-stream/data/content/activity-stream.bundle.js
@@ -320,17 +320,17 @@ module.exports = function shortURL(link)
   }
   const eTLD = link.eTLD;
 
   const hostname = (link.hostname || new URL(link.url).hostname).replace(/^www\./i, "");
 
   // Remove the eTLD (e.g., com, net) and the preceding period from the hostname
   const eTLDLength = (eTLD || "").length || hostname.match(/\.com$/) && 3;
   const eTLDExtra = eTLDLength > 0 ? -(eTLDLength + 1) : Infinity;
-  return hostname.slice(0, eTLDExtra).toLowerCase();
+  return hostname.slice(0, eTLDExtra).toLowerCase() || hostname;
 };
 
 /***/ }),
 /* 5 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
--- a/browser/extensions/activity-stream/data/locales.json
+++ b/browser/extensions/activity-stream/data/locales.json
@@ -152,16 +152,18 @@
     "menu_action_copy_address": "Ünvanı köçür",
     "menu_action_email_link": "Keçidi e-poçt ilə göndər…",
     "menu_action_open_new_window": "Yeni Pəncərədə Aç",
     "menu_action_open_private_window": "Yeni Məxfi Pəncərədə Aç",
     "menu_action_dismiss": "Rədd et",
     "menu_action_delete": "Tarixçədən Sil",
     "menu_action_pin": "Bərkid",
     "menu_action_unpin": "Çıxart",
+    "confirm_history_delete_p1": "Bu səhifənin bütün parçalarını tarixçənizdən silmək istədiyinizə əminsiniz?",
+    "confirm_history_delete_notice_p2": "Bu əməliyyat geri alına bilməz.",
     "menu_action_save_to_pocket": "Pocket-ə Saxla",
     "search_for_something_with": "{search_term} üçün bununla axtar:",
     "search_button": "Axtar",
     "search_header": "{search_engine_name} Axtarış",
     "search_web_placeholder": "İnternetdə Axtar",
     "search_settings": "Axtarış Tənzimləmələrini Dəyiş",
     "welcome_title": "Yeni vərəqə xoş gəldiniz",
     "welcome_body": "Firefox bu səhifədə ən uyğun əlfəcin, məqalə, video və son ziyarət etdiyiniz səhifələri göstərərək onları rahat tapmağınıza kömək edəcək.",
@@ -174,18 +176,21 @@
     "settings_pane_header": "Yeni Vərəq Nizamlamaları",
     "settings_pane_body": "Yeni vərəq açdığınızda nə görəcəyinizi seçin.",
     "settings_pane_search_header": "Axtar",
     "settings_pane_search_body": "Yeni vərəqinizdən Web-də axtarış edin.",
     "settings_pane_topsites_header": "Qabaqcıl Saytlar",
     "settings_pane_topsites_body": "Ən çox ziyarət etdiyiniz saytları görün.",
     "settings_pane_topsites_options_showmore": "İki sətir göstər",
     "settings_pane_bookmarks_header": "Son Əlfəcinlər",
+    "settings_pane_bookmarks_body": "Yeni yaradılan əlfəcinlər tək bir əlverişli yerdə.",
     "settings_pane_visit_again_header": "Təkrar ziyarət et",
+    "settings_pane_visit_again_body": "Firefox tarixçənizdən yadda saxlamaq və ya geri qayıtmaq istəyə biləcəyiniz hissələri göstərəcək.",
     "settings_pane_pocketstories_header": "Qabaqcıl Hekayələr",
+    "settings_pane_pocketstories_body": "Pocket, Mozilla ailəsinin üzvü, yüksək keyfiyyətli məzmunları kəşf etməyinizə kömək edəcək.",
     "settings_pane_done_button": "Oldu",
     "edit_topsites_button_text": "Redaktə et",
     "edit_topsites_button_label": "Qabaqcıl Saytlar bölümünüzü fərdiləşdirin",
     "edit_topsites_showmore_button": "Daha çox göstər",
     "edit_topsites_showless_button": "Daha az göstər",
     "edit_topsites_done_button": "Oldu",
     "edit_topsites_pin_button": "Bu saytı sabitlə",
     "edit_topsites_unpin_button": "Bu saytı çıxart",
@@ -197,39 +202,47 @@
     "topsites_form_title_placeholder": "Başlıq daxil et",
     "topsites_form_url_placeholder": "Ünvanı yazın və ya yapışdırın",
     "topsites_form_add_button": "Əlavə et",
     "topsites_form_save_button": "Saxla",
     "topsites_form_cancel_button": "Ləğv et",
     "topsites_form_url_validation": "Doğru ünvan tələb olunur",
     "pocket_read_more": "Məşhur Mövzular:",
     "pocket_read_even_more": "Daha çox hekayə gör",
+    "pocket_feedback_header": "25 milyon nəfərin dəstəyi ilə internetin ən yaxşıları.",
+    "pocket_feedback_body": "Pocket, Mozilla ailəsinin üzvü, yüksək keyfiyyətli məzmunları kəşf etməyinizə kömək edəcək.",
     "pocket_send_feedback": "Əks-əlaqə göndər"
   },
   "be": {
     "newtab_page_title": "Новая картка",
     "default_label_loading": "Загрузка…",
     "header_top_sites": "Папулярныя сайты",
-    "header_highlights": "Выбранае",
     "header_stories": "Галоўныя навіны",
+    "header_visit_again": "Наведаць зноў",
+    "header_bookmarks": "Нядаўнія закладкі",
+    "header_bookmarks_placeholder": "У вас яшчэ няма закладак.",
     "header_stories_from": "ад",
     "type_label_visited": "Наведанае",
     "type_label_bookmarked": "У закладках",
     "type_label_synced": "Сінхранізаванае з іншай прылады",
     "type_label_recommended": "Тэндэнцыі",
     "type_label_open": "Адкрыта",
     "type_label_topic": "Тэма",
     "menu_action_bookmark": "У закладкі",
     "menu_action_remove_bookmark": "Выдаліць закладку",
     "menu_action_copy_address": "Скапіраваць адрас",
     "menu_action_email_link": "Даслаць спасылку…",
     "menu_action_open_new_window": "Адкрыць у новым акне",
     "menu_action_open_private_window": "Адкрыць у новым прыватным акне",
     "menu_action_dismiss": "Адхіліць",
     "menu_action_delete": "Выдаліць з гісторыі",
+    "menu_action_pin": "Замацаваць",
+    "menu_action_unpin": "Адмацаваць",
+    "confirm_history_delete_p1": "Вы сапраўды жадаеце выдаліць усе запісы аб гэтай старонцы з гісторыі?",
+    "confirm_history_delete_notice_p2": "Гэта дзеянне немагчыма адмяніць.",
     "menu_action_save_to_pocket": "Захаваць у Pocket",
     "search_for_something_with": "Шукаць {search_term} у:",
     "search_button": "Шукаць",
     "search_header": "Шукаць у {search_engine_name}",
     "search_web_placeholder": "Пошук у Інтэрнэце",
     "search_settings": "Змяніць налады пошуку",
     "welcome_title": "Калі ласка ў новую картку",
     "welcome_body": "Firefox будзе выкарыстоўваць гэта месца, каб адлюстроўваць самыя актуальныя закладкі, артыкулы, відэа і старонкі, якія вы нядаўна наведалі, каб вы змаглі лёгка трапіць на іх зноў.",
@@ -241,18 +254,20 @@
     "settings_pane_button_label": "Наладзіць вашу старонку новай карткі",
     "settings_pane_header": "Налады новай карткі",
     "settings_pane_body": "Выберыце, што паказваць пры адкрыцці новай карткі.",
     "settings_pane_search_header": "Пошук",
     "settings_pane_search_body": "Пошук у Сеціве з вашай новай карткі.",
     "settings_pane_topsites_header": "Папулярныя сайты",
     "settings_pane_topsites_body": "Доступ да сайтаў, якія вы часцей наведваеце.",
     "settings_pane_topsites_options_showmore": "Паказваць два шэрагі",
-    "settings_pane_highlights_header": "Выбранае",
-    "settings_pane_highlights_body": "Агляд нядаўняй гісторыі прагляду і новых картак.",
+    "settings_pane_bookmarks_header": "Нядаўнія закладкі",
+    "settings_pane_bookmarks_body": "Вашы новыя закладкі ў адным зручным месцы.",
+    "settings_pane_visit_again_header": "Наведаць зноў",
+    "settings_pane_visit_again_body": "Firefox пакажа вам элементы гісторыі прагляду, якія вы, магчыма, захочаце запомніць або наведаць зноў.",
     "settings_pane_pocketstories_header": "Галоўныя навіны",
     "settings_pane_pocketstories_body": "Pocket, частка сям'і Mozilla, дапаможа падключыць вас да якаснага зместу, які вы можаце не знайсці іншым чынам.",
     "settings_pane_done_button": "Гатова",
     "edit_topsites_button_text": "Правіць",
     "edit_topsites_button_label": "Наладзіць раздзел папулярных сайтаў",
     "edit_topsites_showmore_button": "Паказаць больш",
     "edit_topsites_showless_button": "Паказаць менш",
     "edit_topsites_done_button": "Гатова",
@@ -430,30 +445,40 @@
   },
   "bn-IN": {},
   "br": {},
   "bs": {},
   "ca": {
     "newtab_page_title": "Pestanya nova",
     "default_label_loading": "S'està carregant…",
     "header_top_sites": "Llocs principals",
-    "header_highlights": "Destacats",
+    "header_stories": "Articles populars",
+    "header_visit_again": "Torneu a visitar",
+    "header_bookmarks": "Adreces d'interès recents",
+    "header_bookmarks_placeholder": "Encara no teniu cap adreça d'interès.",
+    "header_stories_from": "de",
     "type_label_visited": "Visitats",
     "type_label_bookmarked": "A les adreces d'interès",
     "type_label_synced": "Sincronitzat des d'un altre dispositiu",
+    "type_label_recommended": "Tendència",
     "type_label_open": "Obert",
     "type_label_topic": "Tema",
     "menu_action_bookmark": "Afegeix a les adreces d'interès",
     "menu_action_remove_bookmark": "Elimina l'adreça d'interès",
     "menu_action_copy_address": "Copia l'adreça",
     "menu_action_email_link": "Envia l'enllaç per correu…",
     "menu_action_open_new_window": "Obre en una finestra nova",
     "menu_action_open_private_window": "Obre en una finestra privada nova",
     "menu_action_dismiss": "Descarta",
     "menu_action_delete": "Elimina de l'historial",
+    "menu_action_pin": "Fixa",
+    "menu_action_unpin": "No fixis",
+    "confirm_history_delete_p1": "Segur que voleu suprimir de l'historial totes les instàncies d'aquesta pàgina?",
+    "confirm_history_delete_notice_p2": "Aquesta acció no es pot desfer.",
+    "menu_action_save_to_pocket": "Desa al Pocket",
     "search_for_something_with": "Cerca {search_term} amb:",
     "search_button": "Cerca",
     "search_header": "Cerca de {search_engine_name}",
     "search_web_placeholder": "Cerca al web",
     "search_settings": "Canvia els paràmetres de cerca",
     "welcome_title": "Us donem la benvinguda a la pestanya nova",
     "welcome_body": "El Firefox utilitzarà aquest espai per mostrar-vos les adreces d'interès, els articles i els vídeos més rellevants, així com les pàgines que heu visitat recentment, per tal que hi pugueu accedir fàcilment.",
     "welcome_label": "S'estan identificant els vostres llocs destacats",
@@ -464,27 +489,45 @@
     "settings_pane_button_label": "Personalitzeu la pàgina de pestanya nova",
     "settings_pane_header": "Preferències de pestanya nova",
     "settings_pane_body": "Trieu què voleu veure quan obriu una pestanya nova.",
     "settings_pane_search_header": "Cerca",
     "settings_pane_search_body": "Cerca al web des de la pestanya nova.",
     "settings_pane_topsites_header": "Llocs principals",
     "settings_pane_topsites_body": "Accediu als llocs web que visiteu més sovint.",
     "settings_pane_topsites_options_showmore": "Mostra dues files",
-    "settings_pane_highlights_header": "Destacats",
-    "settings_pane_highlights_body": "Vegeu el vostre historial de navegació i les adreces d'interès més recents.",
+    "settings_pane_bookmarks_header": "Adreces d'interès recents",
+    "settings_pane_bookmarks_body": "Les adreces d'interès que aneu creant, en un lloc còmode.",
+    "settings_pane_visit_again_body": "El Firefox us mostrarà parts del vostre historial de navegació que potser us agradaria recordar o tornar a visitar.",
+    "settings_pane_pocketstories_header": "Articles populars",
+    "settings_pane_pocketstories_body": "El Pocket, membre de la família Mozilla, us permet accedir a contingut d'alta qualitat que d'altra manera potser no trobaríeu.",
     "settings_pane_done_button": "Fet",
     "edit_topsites_button_text": "Edita",
     "edit_topsites_button_label": "Personalitzeu la secció Llocs principals",
     "edit_topsites_showmore_button": "Mostra'n més",
     "edit_topsites_showless_button": "Mostra'n menys",
     "edit_topsites_done_button": "Fet",
     "edit_topsites_pin_button": "Fixa aquest lloc",
+    "edit_topsites_unpin_button": "No fixis aquest lloc",
     "edit_topsites_edit_button": "Edita aquest lloc",
-    "edit_topsites_dismiss_button": "Elimina aquest lloc"
+    "edit_topsites_dismiss_button": "Elimina aquest lloc",
+    "edit_topsites_add_button": "Afegeix",
+    "topsites_form_add_header": "Lloc principal nou",
+    "topsites_form_edit_header": "Edita el lloc principal",
+    "topsites_form_title_placeholder": "Escriviu el títol",
+    "topsites_form_url_placeholder": "Escriviu o enganxeu un URL",
+    "topsites_form_add_button": "Afegeix",
+    "topsites_form_save_button": "Desa",
+    "topsites_form_cancel_button": "Cancel·la",
+    "topsites_form_url_validation": "Es necessita un URL vàlid",
+    "pocket_read_more": "Temes populars:",
+    "pocket_read_even_more": "Mostra més articles",
+    "pocket_feedback_header": "El millor del web, seleccionat per més de 25 milions de persones.",
+    "pocket_feedback_body": "El Pocket, membre de la família Mozilla, us permet accedir a contingut d'alta qualitat que d'altra manera potser no trobaríeu.",
+    "pocket_send_feedback": "Doneu la vostra opinió"
   },
   "cak": {},
   "cs": {
     "newtab_page_title": "Nový panel",
     "default_label_loading": "Načítání…",
     "header_top_sites": "Top stránky",
     "header_stories": "Nejlepší příběhy",
     "header_visit_again": "Znovu navštívit",
@@ -610,33 +653,39 @@
     "edit_topsites_pin_button": "Pinio'r wefan",
     "edit_topsites_edit_button": "Golygu'r wefan",
     "edit_topsites_dismiss_button": "Dileu'r wefan"
   },
   "da": {
     "newtab_page_title": "Nyt faneblad",
     "default_label_loading": "Indlæser…",
     "header_top_sites": "Mest besøgte websider",
-    "header_highlights": "Højdepunkter",
     "header_stories": "Tophistorier",
+    "header_visit_again": "Besøg igen",
+    "header_bookmarks": "Seneste bogmærker",
+    "header_bookmarks_placeholder": "Du har ingen bogmærker endnu.",
     "header_stories_from": "fra",
     "type_label_visited": "Besøgt",
     "type_label_bookmarked": "Bogmærket",
     "type_label_synced": "Synkroniseret fra en anden enhed",
     "type_label_recommended": "Populært",
     "type_label_open": "Åben",
     "type_label_topic": "Emne",
     "menu_action_bookmark": "Bogmærk",
     "menu_action_remove_bookmark": "Fjern bogmærke",
     "menu_action_copy_address": "Kopier adresse",
     "menu_action_email_link": "Send link…",
     "menu_action_open_new_window": "Åbn i et nyt vindue",
     "menu_action_open_private_window": "Åbn i et nyt privat vindue",
     "menu_action_dismiss": "Afvis",
     "menu_action_delete": "Slet fra historik",
+    "menu_action_pin": "Fastgør",
+    "menu_action_unpin": "Frigør",
+    "confirm_history_delete_p1": "Er du sikker på, at du vil slette alle forekomster af denne side fra din historik?",
+    "confirm_history_delete_notice_p2": "Denne handling kan ikke fortrydes.",
     "menu_action_save_to_pocket": "Gem til Pocket",
     "search_for_something_with": "Søg efter {search_term} med:",
     "search_button": "Søg",
     "search_header": "{search_engine_name}-søgning",
     "search_web_placeholder": "Søg på internettet",
     "search_settings": "Skift søgeindstillinger",
     "welcome_title": "Velkommen til nyt faneblad",
     "welcome_body": "Firefox vil bruge denne plads til at vise dine mest relevante bogmærker, artikler, videoer og sider, du har besøgt for nylig - så kan du nemmere finde dem.",
@@ -648,18 +697,18 @@
     "settings_pane_button_label": "Tilpas siden Nyt faneblad",
     "settings_pane_header": "Indstillinger for Nyt faneblad",
     "settings_pane_body": "Vælg, hvad der vises, når du åbner et nyt faneblad.",
     "settings_pane_search_header": "Søgning",
     "settings_pane_search_body": "Søg på nettet fra Nyt faneblad.",
     "settings_pane_topsites_header": "Mest besøgte websider",
     "settings_pane_topsites_body": "Adgang til de websider, du besøger oftest.",
     "settings_pane_topsites_options_showmore": "Vis to rækker",
-    "settings_pane_highlights_header": "Højdepunkter",
-    "settings_pane_highlights_body": "Se tilbage på din seneste browserhistorik og nyligt oprettede bogmærker.",
+    "settings_pane_bookmarks_header": "Seneste bogmærker",
+    "settings_pane_visit_again_header": "Besøg igen",
     "settings_pane_pocketstories_header": "Tophistorier",
     "settings_pane_pocketstories_body": "Pocket, en del af Mozilla-familien, hjælper dig med at opdage indhold af høj kvalitet, som du måske ellers ikke ville have fundet.",
     "settings_pane_done_button": "Færdig",
     "edit_topsites_button_text": "Rediger",
     "edit_topsites_button_label": "Tilpas afsnittet Mest besøgte websider",
     "edit_topsites_showmore_button": "Vis flere",
     "edit_topsites_showless_button": "Vis færre",
     "edit_topsites_done_button": "Færdig",
@@ -724,17 +773,17 @@
     "time_label_day": "{number} t",
     "settings_pane_button_label": "Neuer-Tab-Seite anpassen",
     "settings_pane_header": "Einstellungen zum neuen Tab",
     "settings_pane_body": "Entscheiden Sie, was in einem neuen Tab angezeigt wird.",
     "settings_pane_search_header": "Suche",
     "settings_pane_search_body": "Suchen Sie aus einem neuen Tab im Internet.",
     "settings_pane_topsites_header": "Meistbesuchte Seiten",
     "settings_pane_topsites_body": "Schneller Zugriff auf Ihre meistbesuchten Websites.",
-    "settings_pane_topsites_options_showmore": "Zwei Spalten anzeigen",
+    "settings_pane_topsites_options_showmore": "Zwei Reihen anzeigen",
     "settings_pane_bookmarks_header": "Neue Lesezeichen",
     "settings_pane_bookmarks_body": "Ihre neu erstellten Lesezeichen praktisch an einem Ort.",
     "settings_pane_visit_again_header": "Erneut besuchen",
     "settings_pane_visit_again_body": "Firefox zeigt Ihnen Teile Ihrer Surf-Chronik, die Sie sich vielleicht merken oder erneut besuchen möchten.",
     "settings_pane_pocketstories_header": "Meistgelesene Meldungen",
     "settings_pane_pocketstories_body": "Pocket, ein Teil der Mozilla-Familie, hilft Ihnen beim Finden von qualitativ hochwertigen Inhalten, die Sie ansonsten vielleicht nicht gefunden hätten.",
     "settings_pane_done_button": "Fertig",
     "edit_topsites_button_text": "Bearbeiten",
@@ -1021,18 +1070,18 @@
     "settings_pane_bookmarks_body": "Your newly created bookmarks in one handy location.",
     "settings_pane_visit_again_header": "Visit Again",
     "settings_pane_visit_again_body": "Firefox will show you parts of your browsing history that you might want to remember or get back to.",
     "settings_pane_pocketstories_header": "Top Stories",
     "settings_pane_pocketstories_body": "Pocket, a part of the Mozilla family, will help connect you to high-quality content that you may not have found otherwise.",
     "settings_pane_done_button": "Done",
     "edit_topsites_button_text": "Edit",
     "edit_topsites_button_label": "Customize your Top Sites section",
-    "edit_topsites_showmore_button": "Show more",
-    "edit_topsites_showless_button": "Show less",
+    "edit_topsites_showmore_button": "Show More",
+    "edit_topsites_showless_button": "Show Fewer",
     "edit_topsites_done_button": "Done",
     "edit_topsites_pin_button": "Pin this site",
     "edit_topsites_unpin_button": "Unpin this site",
     "edit_topsites_edit_button": "Edit this site",
     "edit_topsites_dismiss_button": "Dismiss this site",
     "edit_topsites_add_button": "Add",
     "topsites_form_add_header": "New Top Site",
     "topsites_form_edit_header": "Edit Top Site",
@@ -1080,33 +1129,39 @@
     "time_label_hour": "{number}h",
     "time_label_day": "{number}t",
     "settings_pane_button_label": "Personecigi la paĝon por novaj langetoj"
   },
   "es-AR": {
     "newtab_page_title": "Nueva pestaña",
     "default_label_loading": "Cargando…",
     "header_top_sites": "Más visitados",
-    "header_highlights": "Destacados",
     "header_stories": "Historias principales",
+    "header_visit_again": "Visitar de nuevo",
+    "header_bookmarks": "Marcadores recientes",
+    "header_bookmarks_placeholder": "Todavía no hay ningún marcador.",
     "header_stories_from": "de",
     "type_label_visited": "Visitados",
     "type_label_bookmarked": "Marcados",
     "type_label_synced": "Sincronizados de otro dispositivo",
     "type_label_recommended": "Tendencias",
     "type_label_open": "Abrir",
     "type_label_topic": "Tópico",
     "menu_action_bookmark": "Marcador",
     "menu_action_remove_bookmark": "Eliminar marcador",
     "menu_action_copy_address": "Copiar dirección",
     "menu_action_email_link": "Enlace por correo electrónico…",
     "menu_action_open_new_window": "Abrir en nueva ventana",
     "menu_action_open_private_window": "Abrir en nueva ventana privada",
     "menu_action_dismiss": "Descartar",
     "menu_action_delete": "Borrar del historial",
+    "menu_action_pin": "Pegar",
+    "menu_action_unpin": "Despegar",
+    "confirm_history_delete_p1": "¿Está seguro de querer borrar cualquier instancia de esta página del historial?",
+    "confirm_history_delete_notice_p2": "Esta acción no puede deshacerse.",
     "menu_action_save_to_pocket": "Guardar en Pocket",
     "search_for_something_with": "Buscar {search_term} con:",
     "search_button": "Buscar",
     "search_header": "Buscar con {search_engine_name}",
     "search_web_placeholder": "Buscar en la web",
     "search_settings": "Cambiar opciones de búsqueda",
     "welcome_title": "Bienvenido a una nueva pestaña",
     "welcome_body": "Firefox usará este espacio para mostrar sus marcadores, artículos, videos y páginas más relevantes que se hayan visitado para poder volver más fácilmente.",
@@ -1118,18 +1173,20 @@
     "settings_pane_button_label": "Personalizar la página nueva pestaña",
     "settings_pane_header": "Preferencia de nueva pestaña",
     "settings_pane_body": "Elegir que se verá al abrir una nueva pestaña.",
     "settings_pane_search_header": "Buscar",
     "settings_pane_search_body": "Buscar en la Web desde nueva pestaña.",
     "settings_pane_topsites_header": "Más visitados",
     "settings_pane_topsites_body": "Acceder a los sitios web más visitados.",
     "settings_pane_topsites_options_showmore": "Mostrar dos filas",
-    "settings_pane_highlights_header": "Destacados",
-    "settings_pane_highlights_body": "Mirar hacia atrás el historial de navegación reciente y los marcadores recién creados.",
+    "settings_pane_bookmarks_header": "Marcadores recientes",
+    "settings_pane_bookmarks_body": "Los marcadores recién creados en una ubicación cómoda.",
+    "settings_pane_visit_again_header": "Visitar de nuevo",
+    "settings_pane_visit_again_body": "Firefox mostrará partes del historial de navegación que podría querer recordar o volver a visitar.",
     "settings_pane_pocketstories_header": "Historias principales",
     "settings_pane_pocketstories_body": "Pocket, parte de la familia Mozilla, ayudará a conectarte con contenido de alta calidad que no podrías haber encontrado de otra forma.",
     "settings_pane_done_button": "Listo",
     "edit_topsites_button_text": "Editar",
     "edit_topsites_button_label": "Personalizar la sección de sitios más visitados",
     "edit_topsites_showmore_button": "Mostrar más",
     "edit_topsites_showless_button": "Mostrar menos",
     "edit_topsites_done_button": "Listo",
@@ -1151,30 +1208,40 @@
     "pocket_feedback_header": "Lo mejor de la web, seleccionado por más de 25 millones de personas.",
     "pocket_feedback_body": "Pocket, parte de la familia Mozilla, ayudará a conectarte con contenido de alta calidad que no podrías haber encontrado de otra forma.",
     "pocket_send_feedback": "Enviar opinión"
   },
   "es-CL": {
     "newtab_page_title": "Nueva pestaña",
     "default_label_loading": "Cargando…",
     "header_top_sites": "Sitios frecuentes",
-    "header_highlights": "Destacados",
+    "header_stories": "Historias populares",
+    "header_visit_again": "Volver a visitar",
+    "header_bookmarks": "Marcadores recientes",
+    "header_bookmarks_placeholder": "Todavía no tienes marcadores.",
+    "header_stories_from": "de",
     "type_label_visited": "Visitado",
     "type_label_bookmarked": "Marcado",
     "type_label_synced": "Sacado de otro dispositivo",
+    "type_label_recommended": "Popular",
     "type_label_open": "Abrir",
     "type_label_topic": "Tema",
     "menu_action_bookmark": "Marcador",
     "menu_action_remove_bookmark": "Remover marcador",
     "menu_action_copy_address": "Copiar dirección",
     "menu_action_email_link": "Enviar enlace por correo",
     "menu_action_open_new_window": "Abrir en una nueva ventana",
     "menu_action_open_private_window": "Abrir en una nueva ventana privada",
     "menu_action_dismiss": "Descartar",
     "menu_action_delete": "Eliminar del historial",
+    "menu_action_pin": "Fijar",
+    "menu_action_unpin": "Soltar",
+    "confirm_history_delete_p1": "¿Estás seguro de que quieres eliminar cada instancia de esta página de tu historial?",
+    "confirm_history_delete_notice_p2": "Esta acción no puede ser deshecha.",
+    "menu_action_save_to_pocket": "Guardar en Pocket",
     "search_for_something_with": "Buscar {search_term} con:",
     "search_button": "Buscar",
     "search_header": "Búsqueda de {search_engine_name}",
     "search_web_placeholder": "Buscar en la Web",
     "search_settings": "Cambiar ajustes de búsqueda",
     "welcome_title": "Bienvenido a la nueva pestaña",
     "welcome_body": "Firefox usará este espacio para mostrarte los marcadores, artículos, videos y páginas visitadas recientemente más relevantes, para que puedas regresar a ellos de una.",
     "welcome_label": "Identificando tus destacados",
@@ -1185,27 +1252,46 @@
     "settings_pane_button_label": "Personaliza tu página de Nueva pestaña",
     "settings_pane_header": "Preferencias de Nueva pestaña",
     "settings_pane_body": "Elige que ver cuando abras una nueva pestaña.",
     "settings_pane_search_header": "Buscar",
     "settings_pane_search_body": "Busca en la Web desde tu nueva pestaña.",
     "settings_pane_topsites_header": "Sitios frecuentes",
     "settings_pane_topsites_body": "Accede a los sitios que más visitas.",
     "settings_pane_topsites_options_showmore": "Mostrar dos filas",
-    "settings_pane_highlights_header": "Destacados",
-    "settings_pane_highlights_body": "Dale un vistazo a tu historial de navegación y marcadores recientes.",
+    "settings_pane_bookmarks_header": "Marcadores recientes",
+    "settings_pane_bookmarks_body": "Tus marcadores recién creados en un lugar accesible.",
+    "settings_pane_visit_again_header": "Volver a visitar",
+    "settings_pane_visit_again_body": "Firefox te mostrará partes de tu historial de navegación que podrías querer recordar o volver a visitar.",
+    "settings_pane_pocketstories_header": "Historias populares",
+    "settings_pane_pocketstories_body": "Pocket, una parte de la familia de Mozilla, te ayudará a conectarte con contenido de alta calidad que de otra forma no hubieras encontrado.",
     "settings_pane_done_button": "Hecho",
     "edit_topsites_button_text": "Editar",
     "edit_topsites_button_label": "Personaliza tu sección de sitios frecuentes",
     "edit_topsites_showmore_button": "Mostrar más",
     "edit_topsites_showless_button": "Mostrar menos",
     "edit_topsites_done_button": "Hecho",
     "edit_topsites_pin_button": "Fijar este sitio",
+    "edit_topsites_unpin_button": "Soltar este sitio",
     "edit_topsites_edit_button": "Editar este sitio",
-    "edit_topsites_dismiss_button": "Sacar este sitio"
+    "edit_topsites_dismiss_button": "Sacar este sitio",
+    "edit_topsites_add_button": "Añadir",
+    "topsites_form_add_header": "Nuevo sitio frecuente",
+    "topsites_form_edit_header": "Editar sitio frecuente",
+    "topsites_form_title_placeholder": "Ingresar un título",
+    "topsites_form_url_placeholder": "Escribe o pega una URL",
+    "topsites_form_add_button": "Añadir",
+    "topsites_form_save_button": "Guardar",
+    "topsites_form_cancel_button": "Cancelar",
+    "topsites_form_url_validation": "URL válida requerida",
+    "pocket_read_more": "Temas populares:",
+    "pocket_read_even_more": "Ver más historias",
+    "pocket_feedback_header": "Lo mejor de la web, revisado por más de 25 millones de personas.",
+    "pocket_feedback_body": "Pocket, una parte de la familia de Mozilla, te ayudará a conectarte con contenido de alta calidad que de otra forma no hubieras encontrado.",
+    "pocket_send_feedback": "Enviar comentario"
   },
   "es-ES": {
     "newtab_page_title": "Nueva pestaña",
     "default_label_loading": "Cargando…",
     "header_top_sites": "Sitios favoritos",
     "header_stories": "Historias populares",
     "header_visit_again": "Visitar de nuevo",
     "header_bookmarks": "Marcadores recientes",
@@ -1299,16 +1385,18 @@
     "menu_action_bookmark": "Marcador",
     "menu_action_remove_bookmark": "Eliminar marcador",
     "menu_action_copy_address": "Copiar dirección",
     "menu_action_email_link": "Enlace por correo electrónico…",
     "menu_action_open_new_window": "Abrir en una Nueva Ventana",
     "menu_action_open_private_window": "Abrir en una Nueva Ventana Privada",
     "menu_action_dismiss": "Descartar",
     "menu_action_delete": "Eliminar del historial",
+    "menu_action_pin": "Anclar",
+    "menu_action_unpin": "Desanclar",
     "confirm_history_delete_p1": "¿Estás seguro de que quieres eliminar de tu historial todas las instancias de esta página?",
     "confirm_history_delete_notice_p2": "Esta acción no se puede deshacer.",
     "menu_action_save_to_pocket": "Guardar en Pocket",
     "search_for_something_with": "Buscar {search_term} con:",
     "search_button": "Buscar",
     "search_header": "Buscar {search_engine_name}",
     "search_web_placeholder": "Buscar en la Web",
     "search_settings": "Cambiar configuraciones de búsqueda",
@@ -1509,52 +1597,85 @@
     "pocket_feedback_body": "Pocket، بخشی از خانواده موزیلا، کمک خواهد کرد تا به محتوایی با کیفیت بالا مرتبط شوید که در غیر این صورت ممکن بود پیدا نکنید.",
     "pocket_send_feedback": "ارسال بازخورد"
   },
   "ff": {},
   "fi": {
     "newtab_page_title": "Uusi välilehti",
     "default_label_loading": "Ladataan…",
     "header_top_sites": "Ykkössivustot",
-    "header_highlights": "Nostot",
+    "header_stories": "Ykkösjutut",
+    "header_visit_again": "Käy toistekin",
+    "header_bookmarks": "Uusimmat kirjanmerkit",
+    "header_bookmarks_placeholder": "Sinulla ei ole vielä kirjanmerkkejä.",
     "type_label_visited": "Vierailtu",
     "type_label_bookmarked": "Kirjanmerkki",
     "type_label_synced": "Synkronoitu toiselta laitteelta",
+    "type_label_recommended": "Pinnalla",
     "type_label_open": "Avoin",
     "type_label_topic": "Aihe",
     "menu_action_bookmark": "Lisää kirjanmerkki",
     "menu_action_remove_bookmark": "Poista kirjanmerkki",
     "menu_action_copy_address": "Kopioi osoite",
     "menu_action_email_link": "Lähetä linkki…",
     "menu_action_open_new_window": "Avaa uuteen ikkunaan",
     "menu_action_open_private_window": "Avaa uuteen yksityiseen ikkunaan",
     "menu_action_dismiss": "Hylkää",
     "menu_action_delete": "Poista historiasta",
+    "menu_action_pin": "Kiinnitä",
+    "menu_action_unpin": "Poista kiinnitys",
+    "confirm_history_delete_p1": "Haluatko varmasti poistaa tämän sivun kaikkialta historiastasi?",
+    "confirm_history_delete_notice_p2": "Tämä toiminto on peruuttamaton.",
+    "menu_action_save_to_pocket": "Tallenna Pocket-palveluun",
     "search_for_something_with": "Hae {search_term} palvelusta:",
+    "search_button": "Haku",
     "search_header": "{search_engine_name}-haku",
     "search_web_placeholder": "Verkkohaku",
     "search_settings": "Muuta hakuasetuksia",
     "welcome_title": "Tervetuloa uuteen välilehteen",
     "welcome_body": "Firefox käyttää tätä tilaa näyttämään olennaisimmat kirjanmerkit, artikkelit, videot ja sivut, joita olet katsellut, jotta pääset niihin takaisin nopeasti.",
     "welcome_label": "Tunnistetaan nostojasi",
     "time_label_less_than_minute": "<1 min",
     "time_label_minute": "{number} min",
     "time_label_hour": "{number} h",
     "time_label_day": "{number} pv",
+    "settings_pane_button_label": "Muokkaa Uusi välilehti -sivua",
     "settings_pane_header": "Uuden välilehden asetukset",
+    "settings_pane_body": "Valitse mitä näet, kun avaat uuden välilehden.",
+    "settings_pane_search_header": "Haku",
+    "settings_pane_search_body": "Tee verkkohakuja uudesta välilehdestä.",
     "settings_pane_topsites_header": "Ykkössivustot",
-    "settings_pane_highlights_header": "Nostot",
+    "settings_pane_topsites_options_showmore": "Näytä kaksi riviä",
+    "settings_pane_bookmarks_header": "Uusimmat kirjanmerkit",
+    "settings_pane_bookmarks_body": "Uusimmat kirjanmerkkisi, yhdessä kätevässä paikassa.",
+    "settings_pane_visit_again_header": "Käy toistekin",
+    "settings_pane_pocketstories_header": "Ykkösjutut",
     "settings_pane_done_button": "Valmis",
     "edit_topsites_button_text": "Muokkaa",
+    "edit_topsites_button_label": "Muokkaa Ykkössivustot-osiota",
     "edit_topsites_showmore_button": "Näytä enemmän",
     "edit_topsites_showless_button": "Näytä vähemmän",
     "edit_topsites_done_button": "Valmis",
     "edit_topsites_pin_button": "Kiinnitä tämä sivusto",
+    "edit_topsites_unpin_button": "Poista tämän sivuston kiinnitys",
     "edit_topsites_edit_button": "Muokkaa tätä sivustoa",
-    "edit_topsites_dismiss_button": "Hylkää tämä sivusto"
+    "edit_topsites_dismiss_button": "Hylkää tämä sivusto",
+    "edit_topsites_add_button": "Lisää",
+    "topsites_form_add_header": "Uusi ykkössivusto",
+    "topsites_form_edit_header": "Muokkaa ykkössivustoa",
+    "topsites_form_title_placeholder": "Kirjoita otsikko",
+    "topsites_form_url_placeholder": "Kirjoita tai liitä osoite",
+    "topsites_form_add_button": "Lisää",
+    "topsites_form_save_button": "Tallenna",
+    "topsites_form_cancel_button": "Peruuta",
+    "topsites_form_url_validation": "Kelvollinen osoite vaaditaan",
+    "pocket_read_more": "Suositut aiheet:",
+    "pocket_read_even_more": "Katso lisää juttuja",
+    "pocket_feedback_header": "Netin parhaat palat, valikoitu yli 25 miljoonan ihmisen voimin.",
+    "pocket_send_feedback": "Lähetä palautetta"
   },
   "fr": {
     "newtab_page_title": "Nouvel onglet",
     "default_label_loading": "Chargement…",
     "header_top_sites": "Sites les plus visités",
     "header_stories": "Articles populaires",
     "header_visit_again": "Visiter à nouveau",
     "header_bookmarks": "Marque-pages récents",
@@ -1787,41 +1908,90 @@
     "pocket_feedback_header": "Ábhar den chéad scoth ón Ghréasán, le níos mó ná 25 milliún duine i mbun coimeádaíochta.",
     "pocket_feedback_body": "Le Pocket, ball de theaghlach Mozilla, beidh tú ábalta teacht ar ábhar den chéad scoth go héasca.",
     "pocket_send_feedback": "Tabhair Aiseolas Dúinn"
   },
   "gd": {
     "newtab_page_title": "Taba ùr",
     "default_label_loading": "’Ga luchdadh…",
     "header_top_sites": "Brod nan làrach",
-    "header_highlights": "Highlights",
+    "header_stories": "Brod nan sgeul",
+    "header_visit_again": "Tadhail a-rithist",
+    "header_bookmarks": "Comharran-lìn o chionn goirid",
+    "header_bookmarks_placeholder": "Chan eil comharra-lìn sam bith agad fhathast.",
+    "header_stories_from": "o",
     "type_label_visited": "Na thadhail thu air",
     "type_label_bookmarked": "’Nan comharran-lìn",
     "type_label_synced": "Sioncronaichte o uidheam eile",
+    "type_label_recommended": "A’ treandadh",
     "type_label_open": "Fosgailte",
     "type_label_topic": "Cuspair",
     "menu_action_bookmark": "Comharra-lìn",
     "menu_action_remove_bookmark": "Thoir an comharra-lìn air falbh",
     "menu_action_copy_address": "Dèan lethbhreac dhen t-seòladh",
     "menu_action_email_link": "Cuir an ceangal air a’ phost-d…",
     "menu_action_open_new_window": "Fosgail ann an uinneag ùr",
     "menu_action_open_private_window": "Fosgail ann an uinneag phrìobhaideach ùr",
     "menu_action_dismiss": "Leig seachad",
     "menu_action_delete": "Sguab às an eachdraidh",
+    "menu_action_pin": "Prìnich",
+    "menu_action_unpin": "Dì-phrìnich",
+    "confirm_history_delete_p1": "A bheil thu cinnteach gu bheil thu airson gach ionstans na duilleige seo a sguabadh às an eachdraidh agad?",
+    "confirm_history_delete_notice_p2": "Cha ghabh seo a neo-dhèanamh.",
+    "menu_action_save_to_pocket": "Sàbhail sa phòcaid",
     "search_for_something_with": "Lorg {search_term} le:",
+    "search_button": "Lorg",
     "search_header": "Lorg le {search_engine_name}",
     "search_web_placeholder": "Lorg air an lìon",
     "search_settings": "Atharraich roghainnean an luirg",
     "welcome_title": "Fàilte gun taba ùr",
     "welcome_body": "Seallaidh Firefox na comharran-lìn, artaigealan, videothan is duilleagan as iomchaidhe dhut, an fheadhainn air an do thadhail thu o chionn goirid, ach an ruig thu iad gu luath.",
     "welcome_label": "Ag aithneachadh nan highlights agad",
     "time_label_less_than_minute": "<1m",
     "time_label_minute": "{number}m",
     "time_label_hour": "{number}u",
-    "time_label_day": "{number}l"
+    "time_label_day": "{number}l",
+    "settings_pane_button_label": "Gnàthaich duilleag nan tabaichean ùra agad",
+    "settings_pane_header": "Roghainnean nan tabaichean ùra",
+    "settings_pane_body": "Tagh na chì thu nuair a dh’fhosglas tu taba ùr.",
+    "settings_pane_search_header": "Lorg",
+    "settings_pane_search_body": "Lorg air an lìon on taba ùr agad.",
+    "settings_pane_topsites_header": "Brod nan làrach",
+    "settings_pane_topsites_body": "Faigh cothrom air na làraichean air an tadhail thu gu tric.",
+    "settings_pane_topsites_options_showmore": "Seall dà ràgh",
+    "settings_pane_bookmarks_header": "Comharran-lìn o chionn goirid",
+    "settings_pane_bookmarks_body": "Na comharran-lìn ùra agad san aon àite ghoireasach.",
+    "settings_pane_visit_again_header": "Tadhail a-rithist",
+    "settings_pane_visit_again_body": "Seallaidh Firefox cuid dhen eachdraidh bhrabhsaidh agad dhut a bu toil leat cuimhneachadh no tadhal air a-rithist ma dh’fhaoidte.",
+    "settings_pane_pocketstories_header": "Brod nan sgeul",
+    "settings_pane_pocketstories_body": "Pocket, ball de theaghlach Mozilla, a cheanglas tu ri susbaint fhìor-mhath nach biodh tu air fhaicinn air dòigh eile.",
+    "settings_pane_done_button": "Deiseil",
+    "edit_topsites_button_text": "Deasaich",
+    "edit_topsites_button_label": "Gnàthaich earrann brod nan làrach agad",
+    "edit_topsites_showmore_button": "Seall barrachd",
+    "edit_topsites_showless_button": "Seall nas lugha",
+    "edit_topsites_done_button": "Deiseil",
+    "edit_topsites_pin_button": "Prìnich an làrach seo",
+    "edit_topsites_unpin_button": "Dì-phrìnich an làrach seo",
+    "edit_topsites_edit_button": "Deasaich an làrach seo",
+    "edit_topsites_dismiss_button": "Leig seachad an làrach seo",
+    "edit_topsites_add_button": "Cuir ris",
+    "topsites_form_add_header": "Brod làraich ùr",
+    "topsites_form_edit_header": "Deasaich am brod làraich",
+    "topsites_form_title_placeholder": "Cuir ainm a-steach",
+    "topsites_form_url_placeholder": "Sgrìobh URL no cuir fear ann",
+    "topsites_form_add_button": "Cuir ris",
+    "topsites_form_save_button": "Sàbhail",
+    "topsites_form_cancel_button": "Sguir dheth",
+    "topsites_form_url_validation": "Tha feum air URL dligheach",
+    "pocket_read_more": "Cuspairean fèillmhor:",
+    "pocket_read_even_more": "Seall barrachd sgeul",
+    "pocket_feedback_header": "Brod an eadar-lìn, air a dheasachadh le barrachd air 25 millean duine.",
+    "pocket_feedback_body": "Pocket, ball de theaghlach Mozilla, a cheanglas tu ri susbaint fhìor-mhath nach biodh tu air fhaicinn air dòigh eile.",
+    "pocket_send_feedback": "Dè do bheachd air?"
   },
   "gl": {},
   "gn": {},
   "gu-IN": {
     "newtab_page_title": "નવું ટૅબ",
     "default_label_loading": "લોડ કરી રહ્યું છે...",
     "header_top_sites": "ટોપ સાઇટ્સ",
     "header_highlights": "હાઇલાઇટ્સ",
@@ -1899,20 +2069,23 @@
     "edit_topsites_pin_button": "נעיצת אתר זה",
     "edit_topsites_edit_button": "עריכת אתר זה",
     "edit_topsites_dismiss_button": "התעלמות מאתר זה"
   },
   "hi-IN": {
     "newtab_page_title": "नया टैब",
     "default_label_loading": "लोड हो रहा है…",
     "header_top_sites": "सर्वोच्च साइटें",
-    "header_highlights": "प्रमुखताएँ",
+    "header_visit_again": "पुनः पधारें",
+    "header_bookmarks": "हाल के पुस्तचिह्न",
+    "header_stories_from": "के द्वारा",
     "type_label_visited": "देखी गई",
     "type_label_bookmarked": "पुस्तचिह्न लगाया हुआ",
     "type_label_synced": "किसी अन्य उपकरण से समकालीन किया गया",
+    "type_label_recommended": "लोकप्रिय",
     "type_label_open": "खोलें",
     "type_label_topic": "विषय",
     "menu_action_bookmark": "पुस्तचिह्न",
     "menu_action_remove_bookmark": "पुस्तचिह्न हटाएँ",
     "menu_action_copy_address": "पता कॉपी करें",
     "menu_action_email_link": "ईमेल लिंक…",
     "menu_action_open_new_window": "एक नई विंडो में खोलें",
     "menu_action_open_private_window": "एक नई निजी विंडो में खोलें",
@@ -1933,27 +2106,27 @@
     "settings_pane_button_label": "अपने नए टैब पृष्ठ को अनुकूलित करें",
     "settings_pane_header": "नयी टैब वरीयताएँ",
     "settings_pane_body": "चयन करें कि नया टैब खोलने पर आप क्या देखें.",
     "settings_pane_search_header": "खोज",
     "settings_pane_search_body": "अपने नए टैब से वेब पर खोजें.",
     "settings_pane_topsites_header": "सर्वोच्च साइटें",
     "settings_pane_topsites_body": "आपके द्वारा सबसे ज्यादा खोजी जाने वाली वेबसाइट्स देखें.",
     "settings_pane_topsites_options_showmore": "दो पंक्तियाँ दिखाएँ",
-    "settings_pane_highlights_header": "प्रमुखताएँ",
-    "settings_pane_highlights_body": "अपने हाल के ब्राउज़िंग इतिहास और नए बनाए गए पुस्तचिन्हों को वापस देखें.",
     "settings_pane_done_button": "संपन्न",
     "edit_topsites_button_text": "संपादित करें",
     "edit_topsites_button_label": "अपने शीर्ष साइट्स अनुभाग को अनुकूलित करें",
     "edit_topsites_showmore_button": "अधिक दिखाएँ",
     "edit_topsites_showless_button": "कम दिखाएँ",
     "edit_topsites_done_button": "पूर्ण",
     "edit_topsites_pin_button": "इस साइट को पिन करें",
     "edit_topsites_edit_button": "इस साइट को संपादित करें",
-    "edit_topsites_dismiss_button": "इस साइट को ख़ारिज करें"
+    "edit_topsites_dismiss_button": "इस साइट को ख़ारिज करें",
+    "pocket_read_even_more": "और कहानियाँ देखें",
+    "pocket_send_feedback": "प्रतिक्रिया भेजें"
   },
   "hr": {
     "newtab_page_title": "Nova kartica",
     "default_label_loading": "Učitavanje…",
     "header_top_sites": "Najbolje stranice",
     "header_highlights": "Istaknuto",
     "type_label_visited": "Posjećeno",
     "type_label_bookmarked": "Zabilježeno",
@@ -2042,17 +2215,17 @@
     "time_label_day": "",
     "settings_pane_button_label": "Stronu wašeho noweho rajtarka přiměrić",
     "settings_pane_header": "Nastajenja noweho rajtarka",
     "settings_pane_body": "Wubjerće, štož chceće widźeć, hdyž nowy rajtark wočinjeće.",
     "settings_pane_search_header": "Pytać",
     "settings_pane_search_body": "Přepytajće web ze swojeho noweho rajtarka.",
     "settings_pane_topsites_header": "Najhusćišo wopytane sydła",
     "settings_pane_topsites_body": "Wočińće websydła, kotrež sće najhusćišo wopytał.",
-    "settings_pane_topsites_options_showmore": "Dwě lince pokazać",
+    "settings_pane_topsites_options_showmore": "Dwaj rjadaj pokazać",
     "settings_pane_bookmarks_header": "Najnowše zapołožki",
     "settings_pane_bookmarks_body": "Waše nowo załožene zapołožki hnydom k ruce.",
     "settings_pane_visit_again_header": "Hišće raz wopytać",
     "settings_pane_visit_again_body": "Firefox wam dźěle wašeje přehladowanskeje historije pokazać, kotrež chceće sej snano spomjatkować abo na kotrež chceće wróćo přińć.",
     "settings_pane_pocketstories_header": "Najhusćišo přečitane zdźělenki",
     "settings_pane_pocketstories_body": "Pocket, dźěl swójby Mozilla, budźe pomhać, was z wobsahom wysokeje kwality zwjazować, kotryž njebyšće snano hewak namakał.",
     "settings_pane_done_button": "Hotowo",
     "edit_topsites_button_text": "Wobdźěłać",
@@ -2575,33 +2748,39 @@
     "pocket_feedback_header": "D amezwaru n Web, ittwafren sγur ugar 25 imelyan n imdanen.",
     "pocket_feedback_body": "Pocket, aɛeggal n twaxult n Mozilla, ak-d-yefk afus ad twaliḍ agbur n tɣara meqqren i tzemred ad tzegleḍ.",
     "pocket_send_feedback": "Azen tikti"
   },
   "kk": {
     "newtab_page_title": "Жаңа бет",
     "default_label_loading": "Жүктелуде…",
     "header_top_sites": "Топ сайттар",
-    "header_highlights": "Бастысы",
     "header_stories": "Топ хикаялар",
+    "header_visit_again": "Қайтадан шолу",
+    "header_bookmarks": "Соңғы бетбелгілер",
+    "header_bookmarks_placeholder": "Сізде әлі бетбелгілер жоқ.",
     "header_stories_from": "ұсынған",
     "type_label_visited": "Қаралған",
     "type_label_bookmarked": "Бетбелгілерде",
     "type_label_synced": "Басқа құрылғыдан синхрондалған",
     "type_label_recommended": "Әйгілі",
     "type_label_open": "Ашу",
     "type_label_topic": "Тақырып",
     "menu_action_bookmark": "Бетбелгілерге қосу",
     "menu_action_remove_bookmark": "Бетбелгіні өшіру",
     "menu_action_copy_address": "Адресін көшіріп алу",
     "menu_action_email_link": "Сілтемені эл. поштамен жіберу…",
     "menu_action_open_new_window": "Жаңа терезеде ашу",
     "menu_action_open_private_window": "Жаңа жекелік терезесінде ашу",
     "menu_action_dismiss": "Тайдыру",
     "menu_action_delete": "Тарихтан өшіру",
+    "menu_action_pin": "Бекіту",
+    "menu_action_unpin": "Бекітуді алып тастау",
+    "confirm_history_delete_p1": "Бұл парақтың барлық кездесулерін шолу тарихыңыздан өшіруді қалайсыз ба?",
+    "confirm_history_delete_notice_p2": "Бұл әрекетті болдырмау мүмкін болмайды.",
     "menu_action_save_to_pocket": "Pocket-ке сақтау",
     "search_for_something_with": "{search_term} ұғымын көмегімен іздеу:",
     "search_button": "Іздеу",
     "search_header": "{search_engine_name} іздеуі",
     "search_web_placeholder": "Интернетте іздеу",
     "search_settings": "Іздеу баптауларын өзгерту",
     "welcome_title": "Жаңа бетке қош келдіңіз",
     "welcome_body": "Firefox бұл орында ең маңызды бетбелгілер, мақалалар, видеолар және жуырда қаралған беттерді көрсетеді, оның көмегімен сіз оларға оңай түрде орала аласыз.",
@@ -2613,18 +2792,20 @@
     "settings_pane_button_label": "Жаңа бетті баптаңыз",
     "settings_pane_header": "Жаңа бет баптаулары",
     "settings_pane_body": "Жаңа бетті ашқан кезде нені көретініңізді таңдаңыз.",
     "settings_pane_search_header": "Іздеу",
     "settings_pane_search_body": "Жаңа беттен интернеттен іздеңіз.",
     "settings_pane_topsites_header": "Топ сайттар",
     "settings_pane_topsites_body": "Көбірек қаралатын сайттарға қатынау.",
     "settings_pane_topsites_options_showmore": "Екі жолды көрсету",
-    "settings_pane_highlights_header": "Бастысы",
-    "settings_pane_highlights_body": "Жуырдағы шолу тарихы мен жаңа жасалған бетбелгілерге қарау.",
+    "settings_pane_bookmarks_header": "Соңғы бетбелгілер",
+    "settings_pane_bookmarks_body": "Сіздің жаңадан жасалған бетбелгілер бір ыңғайлы жерде.",
+    "settings_pane_visit_again_header": "Қайтадан шолу",
+    "settings_pane_visit_again_body": "Firefox сізге есте сақтауды немесе қайта шолуды қалауыңыз мүмкін тарихыңыздың бөліктерін көрсетеді.",
     "settings_pane_pocketstories_header": "Топ хикаялар",
     "settings_pane_pocketstories_body": "Pocket, Mozilla құрамындағы өнім, сізге әдетте табылмауы мүмкін құрамаға байланысуға көмектеседі.",
     "settings_pane_done_button": "Дайын",
     "edit_topsites_button_text": "Түзету",
     "edit_topsites_button_label": "Топ сайттар санатын баптау",
     "edit_topsites_showmore_button": "Көбірек көрсету",
     "edit_topsites_showless_button": "Азырақ көрсету",
     "edit_topsites_done_button": "Дайын",
@@ -3209,16 +3390,17 @@
     "settings_pane_header": "Innstillinger for Ny fane",
     "settings_pane_body": "Velg hva som vises når du åpner en ny fane.",
     "settings_pane_search_header": "Søk",
     "settings_pane_search_body": "Søk på nettet fra din nye fane.",
     "settings_pane_topsites_header": "Mest besøkte",
     "settings_pane_topsites_body": "Tilgang til nettsidene du besøker mest.",
     "settings_pane_topsites_options_showmore": "Vis to rader",
     "settings_pane_bookmarks_header": "Nylige bokmerker",
+    "settings_pane_bookmarks_body": "De nyeste bokmerkene dine på en plass.",
     "settings_pane_visit_again_header": "Besøk igjen",
     "settings_pane_visit_again_body": "Firefox viser deg deler av din surfehistorikk som du kanskje ønsker å huske eller komme tilbake til.",
     "settings_pane_pocketstories_header": "Hovedsakene",
     "settings_pane_pocketstories_body": "Pocket, en del av Mozilla-familien, vil hjelpe deg med å finne innhold av høy kvalitet, som du kanskje ikke ville ha funnet ellers.",
     "settings_pane_done_button": "Ferdig",
     "edit_topsites_button_text": "Rediger",
     "edit_topsites_button_label": "Tilpass seksjonen Mest besøkte",
     "edit_topsites_showmore_button": "Vis mer",
@@ -3850,33 +4032,39 @@
     "topsites_form_url_validation": "URL valid necesar",
     "pocket_read_more": "Subiecte populare:",
     "pocket_send_feedback": "Trimite feedback"
   },
   "ru": {
     "newtab_page_title": "Новая вкладка",
     "default_label_loading": "Загрузка…",
     "header_top_sites": "Топ сайтов",
-    "header_highlights": "Избранные",
     "header_stories": "Топ статей",
+    "header_visit_again": "Посетить снова",
+    "header_bookmarks": "Недавние закладки",
+    "header_bookmarks_placeholder": "У вас ещё нет каких-либо закладок.",
     "header_stories_from": "от",
     "type_label_visited": "Посещено",
     "type_label_bookmarked": "В закладках",
     "type_label_synced": "Синхронизировано с другого устройства",
     "type_label_recommended": "Популярные",
     "type_label_open": "Открыта",
     "type_label_topic": "Тема",
     "menu_action_bookmark": "Добавить в закладки",
     "menu_action_remove_bookmark": "Удалить закладку",
     "menu_action_copy_address": "Скопировать ссылку",
     "menu_action_email_link": "Отправить ссылку…",
     "menu_action_open_new_window": "Открыть в новом окне",
     "menu_action_open_private_window": "Открыть в новом приватном окне",
     "menu_action_dismiss": "Скрыть",
     "menu_action_delete": "Удалить из истории",
+    "menu_action_pin": "Прикрепить",
+    "menu_action_unpin": "Открепить",
+    "confirm_history_delete_p1": "Вы действительно хотите удалить все записи об этой странице из вашей истории?",
+    "confirm_history_delete_notice_p2": "Это действие не может быть отменено.",
     "menu_action_save_to_pocket": "Сохранить в Pocket",
     "search_for_something_with": "Искать {search_term} в:",
     "search_button": "Искать",
     "search_header": "Искать в {search_engine_name}",
     "search_web_placeholder": "Искать в Интернете",
     "search_settings": "Изменить настройки поиска",
     "welcome_title": "Добро пожаловать на новую вкладку",
     "welcome_body": "Firefox будет использовать это место, чтобы отображать самые актуальные закладки, статьи, видео и страницы, которые вы недавно посетили, чтобы вы смогли легко попасть на них снова.",
@@ -3888,18 +4076,20 @@
     "settings_pane_button_label": "Настроить свою страницу новой вкладки",
     "settings_pane_header": "Настройки новой вкладки",
     "settings_pane_body": "Выберите, что показывать при открытии новой вкладки.",
     "settings_pane_search_header": "Поиск",
     "settings_pane_search_body": "Поиск в Интернете с вашей новой вкладки.",
     "settings_pane_topsites_header": "Топ сайтов",
     "settings_pane_topsites_body": "Получите доступ к сайтам, которые вы посещаете чаще всего.",
     "settings_pane_topsites_options_showmore": "Показать в два ряда",
-    "settings_pane_highlights_header": "Избранные",
-    "settings_pane_highlights_body": "Посмотрите на вашу недавнюю историю веб-сёрфинга и недавно сделанные закладки.",
+    "settings_pane_bookmarks_header": "Недавние закладки",
+    "settings_pane_bookmarks_body": "Ваши новые закладки в одном удобном расположении.",
+    "settings_pane_visit_again_header": "Посетить снова",
+    "settings_pane_visit_again_body": "Firefox покажет вам элементы вашей истории просмотра, которые вы, возможно, захотите вспомнить или посетить снова.",
     "settings_pane_pocketstories_header": "Топ статей",
     "settings_pane_pocketstories_body": "Pocket, часть семьи Mozilla, поможет подключить вас к высококачественному контенту, который вы бы иначе не нашли.",
     "settings_pane_done_button": "Готово",
     "edit_topsites_button_text": "Изменить",
     "edit_topsites_button_label": "Настроить свой топ сайтов",
     "edit_topsites_showmore_button": "Показать больше",
     "edit_topsites_showless_button": "Показать меньше",
     "edit_topsites_done_button": "Готово",
@@ -4131,33 +4321,39 @@
     "edit_topsites_pin_button": "Fiksoje këtë sajt",
     "edit_topsites_edit_button": "Përpunoni këtë sajt",
     "edit_topsites_dismiss_button": "Hidhe tej këtë sajt"
   },
   "sr": {
     "newtab_page_title": "Нови језичак",
     "default_label_loading": "Учитавање…",
     "header_top_sites": "Популарни сајтови",
-    "header_highlights": "Истакнуто",
     "header_stories": "Популарне приче",
+    "header_visit_again": "Посетите поново",
+    "header_bookmarks": "Недавне забелешке",
+    "header_bookmarks_placeholder": "Још увек немате забелешке.",
     "header_stories_from": "од",
     "type_label_visited": "Посећене",
     "type_label_bookmarked": "Забележено",
     "type_label_synced": "Синхронизовано са другог уређаја",
     "type_label_recommended": "У тренду",
     "type_label_open": "Отвори",
     "type_label_topic": "Тема",
     "menu_action_bookmark": "Забележи",
     "menu_action_remove_bookmark": "Уклони забелешку",
     "menu_action_copy_address": "Копирај адресу",
     "menu_action_email_link": "Веза е-поште…",
     "menu_action_open_new_window": "Отвори у новом прозору",
     "menu_action_open_private_window": "Отвори у новом приватном прозору",
     "menu_action_dismiss": "Занемари",
     "menu_action_delete": "Уклони из историјата",
+    "menu_action_pin": "Закачи",
+    "menu_action_unpin": "Откачи",
+    "confirm_history_delete_p1": "Да ли сте сигурни да желите да обришете све посете ове странице из ваше историје?",
+    "confirm_history_delete_notice_p2": "Ова радња се не може опозвати.",
     "menu_action_save_to_pocket": "Сачувај на Pocket",
     "search_for_something_with": "Претражите {search_term} са:",
     "search_button": "Претражи",
     "search_header": "{search_engine_name} претрага",
     "search_web_placeholder": "Претражујте веб",
     "search_settings": "Измените подешавања претраге",
     "welcome_title": "Добродошли на нови језичак",
     "welcome_body": "Firefox ће користити овај простор да вам приказује најрелевантне језичке, чланке, видео клипове и странице које сте недавно посетили, како бисте им се лако могли вратити.",
@@ -4169,18 +4365,20 @@
     "settings_pane_button_label": "Прилагодите страницу новог језичка",
     "settings_pane_header": "Поставке новог језичка",
     "settings_pane_body": "Изаберите шта желите да видите када отворите нови језичак.",
     "settings_pane_search_header": "Претрага",
     "settings_pane_search_body": "Претражујте веб из вашег новог језичка.",
     "settings_pane_topsites_header": "Популарни сајтови",
     "settings_pane_topsites_body": "Приступите најпосећенијим веб сајтовима.",
     "settings_pane_topsites_options_showmore": "Прикажи у два реда",
-    "settings_pane_highlights_header": "Истакнути",
-    "settings_pane_highlights_body": "Прегледајте ваш скорашњи историјат и нове забелешке.",
+    "settings_pane_bookmarks_header": "Недавне забелешке",
+    "settings_pane_bookmarks_body": "Ваша нова забелешка на јединственом месту.",
+    "settings_pane_visit_again_header": "Посетите поново",
+    "settings_pane_visit_again_body": "Firefox ће вам приказивати делове ваше историје прегледања коју можда желите да запамтите или да им се вратите.",
     "settings_pane_pocketstories_header": "Популарне приче",
     "settings_pane_pocketstories_body": "Pocket, део Mozilla-ине породице, ће вам помоћи да повежете ваш квалитетан садржај који можда не би пронашли другачије.",
     "settings_pane_done_button": "Готово",
     "edit_topsites_button_text": "Уреди",
     "edit_topsites_button_label": "Прилагодите секцију популарних сајтова",
     "edit_topsites_showmore_button": "Прикажи више",
     "edit_topsites_showless_button": "Прикажи мање",
     "edit_topsites_done_button": "Готово",
@@ -4361,33 +4559,39 @@
     "pocket_feedback_body": "Pocket, ஒரு மொசில்லா குடும்ப உறுப்பினராக, உயர்தர உள்ளடக்கங்களுடன் இணைய உதவுகிறது, இது இல்லையேல் அது சாத்தியமாகது.",
     "pocket_send_feedback": "கருத்துகளைத் தெறிவிக்கவும்"
   },
   "ta-LK": {},
   "te": {
     "newtab_page_title": "కొత్త ట్యాబు",
     "default_label_loading": "వస్తోంది…",
     "header_top_sites": "మేటి సైట్లు",
-    "header_highlights": "ముఖ్యాంశాలు",
     "header_stories": "ముఖ్య కథనాలు",
+    "header_visit_again": "మళ్లీ సందర్శించండి",
+    "header_bookmarks": "ఇటీవలి ఇష్టాంశములు",
+    "header_bookmarks_placeholder": "మీకు ఇంకా బుక్మార్క్లు లేవు.",
     "header_stories_from": "నుండి",
     "type_label_visited": "సందర్శించినవి",
     "type_label_bookmarked": "ఇష్టాంశము చేయబడినది",
     "type_label_synced": "మరో పరికరం నుంచి సమకాలీకరించి తెచ్చుకున్నవి",
     "type_label_recommended": "ట్రెండింగ్",
     "type_label_open": "తెరువు",
     "type_label_topic": "విషయం",
     "menu_action_bookmark": "ఇష్టాంశము",
     "menu_action_remove_bookmark": "ఇష్టాంశాన్ని తొలగించు",
     "menu_action_copy_address": "చిరునామా కాపీ చెయ్యండి",
     "menu_action_email_link": "ఈమెయిలు లింకు…",
     "menu_action_open_new_window": "కొత్త విండోలో తెరువు",
     "menu_action_open_private_window": "కొత్త వ్యక్తిగత విండోలో తెరువు",
     "menu_action_dismiss": "విస్మరించు",
     "menu_action_delete": "చరిత్ర నుంచి తీసివేయి",
+    "menu_action_pin": "పిన్",
+    "menu_action_unpin": "పిన్ తీసివేయి",
+    "confirm_history_delete_p1": "మీరు మీ చరిత్ర నుండి ఈ పేజీ యొక్క ప్రతి ఉదాహరణకు తొలగించాలనుకుంటున్నారా?",
+    "confirm_history_delete_notice_p2": "ఈ చర్యను రద్దు చేయలేము.",
     "menu_action_save_to_pocket": "Pocket కి సేవ్ చేయండి",
     "search_for_something_with": "{search_term} కోసం దీని సాయంతో వెతుకు:",
     "search_button": "వెతకండి",
     "search_header": "{search_engine_name} శోధన",
     "search_web_placeholder": "జాలంలో వెతకండి",
     "search_settings": "శోధన అమరికలు మార్చు",
     "welcome_title": "కొత్త ట్యాబుకు స్వాగతం",
     "welcome_body": "సముచితమైన మీ ఇష్టాంశాలను, వ్యాసాలను, వీడియోలను, ఇంకా మీరు ఇటీవలే చూసిన పేజీలను మీకు తేలిగ్గా అందుబాటులో ఉంచేందుకు Firefox ఈ జాగాని వాడుకుంటుంది.",
@@ -4399,18 +4603,20 @@
     "settings_pane_button_label": "మీ కొత్త ట్యాబు పేజీని మలచుకోండి",
     "settings_pane_header": "కొత్త ట్యాబు అభిరుచులు",
     "settings_pane_body": "మీరు కొత్త ట్యాబు తెరిచినప్పుడు ఏం చూడాలో ఎంచుకోండి.",
     "settings_pane_search_header": "వెతకడం",
     "settings_pane_search_body": "కొత్త ట్యాబు నుండే జాలంలో వెతకండి.",
     "settings_pane_topsites_header": "మేటి సైట్లు",
     "settings_pane_topsites_body": "మీరు ఎక్కువగా చూసే వెబ్‌సైట్లను చూడండి.",
     "settings_pane_topsites_options_showmore": "రెండు వరుసలు చూపించు",
-    "settings_pane_highlights_header": "విశేషాలు",
-    "settings_pane_highlights_body": "మీ ఇటీవలి విహరణ చరిత్రనూ కొత్త ఇష్టాంశాలను చూడండి.",
+    "settings_pane_bookmarks_header": "ఇటీవలి బుక్మార్క్లు",
+    "settings_pane_bookmarks_body": "ఒక సులభ స్థానంలో మీ క్రొత్తగా సృష్టించిన బుక్మార్క్లు.",
+    "settings_pane_visit_again_header": "మళ్లీ సందర్శించండి",
+    "settings_pane_visit_again_body": "మీరు బ్రౌజింగ్ చరిత్రలో గుర్తుంచుకోవాల్సిన  లేదా తిరిగి పొందవలసిన భాగాలను చూపిస్తుంది.",
     "settings_pane_pocketstories_header": "ముఖ్య కథనాలు",
     "settings_pane_pocketstories_body": "Mozilla కుటుంబం యొక్క Pocket, మీరు కనుగొనలేకపోయే అధిక-నాణ్యత విషయముకి మిమ్మల్ని అనుసంధానించడానికి సహాయపడుతుంది.",
     "settings_pane_done_button": "పూర్తయింది",
     "edit_topsites_button_text": "మార్చు",
     "edit_topsites_button_label": "మీ మేటి సైట్ల విభాగాన్ని మలచుకోండి",
     "edit_topsites_showmore_button": "ఇంకా చూపించు",
     "edit_topsites_showless_button": "కొన్నే చూపించు",
     "edit_topsites_done_button": "పూర్తయింది",
@@ -4500,16 +4706,17 @@
     "topsites_form_title_placeholder": "ป้อนชื่อเรื่อง",
     "topsites_form_url_placeholder": "พิมพ์หรือวาง URL",
     "topsites_form_add_button": "เพิ่ม",
     "topsites_form_save_button": "บันทึก",
     "topsites_form_cancel_button": "ยกเลิก",
     "topsites_form_url_validation": "ต้องการ URL ที่ถูกต้อง",
     "pocket_read_more": "หัวข้อยอดนิยม:",
     "pocket_read_even_more": "ดูเรื่องราวเพิ่มเติม",
+    "pocket_feedback_header": "ที่สุดของเว็บ จัดรายการโดยผู้คนกว่า 25 ล้านคน",
     "pocket_feedback_body": "Pocket ส่วนหนึ่งของครอบครัว Mozilla จะช่วยเชื่อมต่อคุณกับเนื้อหาคุณภาพสูงที่คุณอาจไม่พบที่อื่น",
     "pocket_send_feedback": "ส่งข้อคิดเห็น"
   },
   "tl": {
     "newtab_page_title": "Bagong Tab",
     "default_label_loading": "Pagkarga…",
     "header_top_sites": "Tuktok na mga Site",
     "header_highlights": "Highlights",
@@ -4715,32 +4922,37 @@
     "pocket_feedback_header": "Найкраще з Інтернету, відібрано понад 25 мільйонами людей.",
     "pocket_feedback_body": "Pocket, частина сім'ї Mozilla, допоможе підключити вас до якісного вмісту, що ви можете інакше й не знайти.",
     "pocket_send_feedback": "Надіслати відгук"
   },
   "ur": {
     "newtab_page_title": "نیا ٹیب",
     "default_label_loading": "لوڈ کر رہا ہے…",
     "header_top_sites": "بہترین سائٹیں",
-    "header_highlights": "شہ سرخياں",
     "header_stories": "بہترین کہانیاں",
+    "header_visit_again": "دوبارہ دورہ کریں",
+    "header_bookmarks": "حالیہ نشانیاں",
     "header_stories_from": "من جانب",
     "type_label_visited": "دورہ شدہ",
     "type_label_bookmarked": "نشان شدہ",
     "type_label_synced": "کسی دوسرے آلے سے ہمہ وقت ساز کیا گیا ہے",
+    "type_label_recommended": "رجحان سازی",
     "type_label_open": "کھولیں",
     "type_label_topic": "عنوان",
     "menu_action_bookmark": "نشانی",
     "menu_action_remove_bookmark": "نشانى ہٹائيں",
     "menu_action_copy_address": "پتہ نقل کریں",
     "menu_action_email_link": "ربط ای میل کریں…",
     "menu_action_open_new_window": "نئے دریچے میں کھولیں",
     "menu_action_open_private_window": "نئی نجی دریچے میں کھولیں",
     "menu_action_dismiss": "برخاست کریں",
     "menu_action_delete": "تاریخ سے حذف کریں",
+    "menu_action_pin": "پن",
+    "confirm_history_delete_p1": "کیا آپ کو یقین ہے کہ آپ اس صفحہ کا ہر نمونہ اپنے سابقات سے حذف کرنا چاہتے ہیں؟",
+    "confirm_history_delete_notice_p2": "یہ عمل کلعدم نہیں ہو سکتا۔",
     "menu_action_save_to_pocket": "Pocket میں محفوظ کریں",
     "search_for_something_with": "ساتھ {search_term} کے لئے تلاش کریں:",
     "search_button": "تلاش",
     "search_header": "{search_engine_name} پر تلاش کریں",
     "search_web_placeholder": "ويب پر تلاش کريں",
     "search_settings": "تلاش  کی سیٹکگیں تبدیل کریں",
     "welcome_title": "نئے ٹیب میں خوش آمدید",
     "welcome_body": "اس جگہ کا استعمال کرنے ہوئے Firefox آپکی متعلقہ نشانیاں، عبارات، وڈیوز اور صفحات جن کا حال ہی میں ص آُپ نے دورہ کیا ہے دکھائے گا۔ تاکہ آپ ان تک واپس آسانی سے پہنچ سکیں۔",
@@ -4752,18 +4964,18 @@
     "settings_pane_button_label": "اپنے نئے ٹیب کہ صفحہ کی تخصیص کریں",
     "settings_pane_header": "نئے َٹیب کی ترجیحات",
     "settings_pane_body": "انتخاب کریں آپ کیا دیکھنا چاہتےہیں جب آپ نیا ٹیب کھولیں گے۔",
     "settings_pane_search_header": "تلاش",
     "settings_pane_search_body": "اپنے نئے ٹیب سے وہب پر تلاش کریں۔",
     "settings_pane_topsites_header": "بہترین سائٹیں",
     "settings_pane_topsites_body": "اپنی سب سے زیادہ دورہ کردہ ویب سائٹ تک رسائی حاصل کریں۔",
     "settings_pane_topsites_options_showmore": "دو قطاریں دکھائیں",
-    "settings_pane_highlights_header": "شہ سرخياں",
-    "settings_pane_highlights_body": "اپنی حالیہ براؤزنگ کی سابقات اور نو تشکیل کردہ نشانیوں پر نظر ڈالیں۔",
+    "settings_pane_bookmarks_header": "حالیہ نشانیاں",
+    "settings_pane_visit_again_header": "دوبارہ دورہ کریں",
     "settings_pane_pocketstories_header": "بہترین کہانیاں",
     "settings_pane_done_button": "ہوگیا",
     "edit_topsites_button_text": "تدوین",
     "edit_topsites_button_label": "اپنی بہترین سائٹس والے حصے کی تخصیص کریں",
     "edit_topsites_showmore_button": "مزید دکھائیں",
     "edit_topsites_done_button": "ہوگیا",
     "edit_topsites_pin_button": "اس سائَٹ کو پن کریں",
     "edit_topsites_unpin_button": "اس سائٹ کو انپن کریں",
@@ -4865,33 +5077,39 @@
     "pocket_feedback_header": "超过2500万人构成的互联网。",
     "pocket_feedback_body": "Pocket,Mozilla 家族的一员,它可以帮助您找到更多不易发现的高品质内容。",
     "pocket_send_feedback": "发送反馈"
   },
   "zh-TW": {
     "newtab_page_title": "新分頁",
     "default_label_loading": "載入中…",
     "header_top_sites": "熱門網站",
-    "header_highlights": "精選網站",
     "header_stories": "熱門文章",
+    "header_visit_again": "再次造訪",
+    "header_bookmarks": "近期新增的書籤",
+    "header_bookmarks_placeholder": "您還沒有任何書籤。",
     "header_stories_from": "來自",
     "type_label_visited": "造訪過的網站",
     "type_label_bookmarked": "已加入書籤",
     "type_label_synced": "從其他裝置同步過來",
     "type_label_recommended": "熱門",
     "type_label_open": "開啟",
     "type_label_topic": "主題",
     "menu_action_bookmark": "書籤",
     "menu_action_remove_bookmark": "移除書籤",
     "menu_action_copy_address": "複製網址",
     "menu_action_email_link": "郵寄鏈結…",
     "menu_action_open_new_window": "用新視窗開啟",
     "menu_action_open_private_window": "用新隱私視窗開啟",
     "menu_action_dismiss": "隱藏",
     "menu_action_delete": "從瀏覽紀錄刪除",
+    "menu_action_pin": "釘選",
+    "menu_action_unpin": "取消釘選",
+    "confirm_history_delete_p1": "您確定要刪除此頁面的所有瀏覽紀錄?",
+    "confirm_history_delete_notice_p2": "無法還原此操作。",
     "menu_action_save_to_pocket": "儲存至 Pocket",
     "search_for_something_with": "搜尋 {search_term} 使用:",
     "search_button": "搜尋",
     "search_header": "{search_engine_name} 搜尋",
     "search_web_placeholder": "搜尋 Web",
     "search_settings": "變更搜尋選項",
     "welcome_title": "歡迎來到新分頁",
     "welcome_body": "Firefox 會使用此空間來顯示與您最相關的書籤、文章、影片以及您最近造訪的頁面,這樣您就可以快速回到這些網站。",
@@ -4903,18 +5121,20 @@
     "settings_pane_button_label": "自訂您的新分頁頁面",
     "settings_pane_header": "新分頁偏好設定",
     "settings_pane_body": "選擇開啟新分頁時想看到什麼。",
     "settings_pane_search_header": "搜尋",
     "settings_pane_search_body": "直接在新分頁頁面搜尋網頁。",
     "settings_pane_topsites_header": "熱門網站",
     "settings_pane_topsites_body": "前往您最常造訪的網站。",
     "settings_pane_topsites_options_showmore": "顯示兩行",
-    "settings_pane_highlights_header": "精選網站",
-    "settings_pane_highlights_body": "看看您最近的瀏覽紀錄,以及新建立的書籤項目。",
+    "settings_pane_bookmarks_header": "近期新增的書籤",
+    "settings_pane_bookmarks_body": "將您新建立的書籤,放在隨手可得的地方。",
+    "settings_pane_visit_again_header": "再次造訪",
+    "settings_pane_visit_again_body": "Firefox 將顯示您一部份可能想要再次開啟的瀏覽紀錄。",
     "settings_pane_pocketstories_header": "熱門文章",
     "settings_pane_pocketstories_body": "Pocket 是 Mozilla 大家庭的一份子,可讓您與您還沒發現的高品質內容連結起來。",
     "settings_pane_done_button": "完成",
     "edit_topsites_button_text": "編輯",
     "edit_topsites_button_label": "自訂您的「熱門網站」區塊",
     "edit_topsites_showmore_button": "顯示更多",
     "edit_topsites_showless_button": "顯示更少",
     "edit_topsites_done_button": "完成",
--- a/browser/extensions/activity-stream/lib/ActivityStream.jsm
+++ b/browser/extensions/activity-stream/lib/ActivityStream.jsm
@@ -39,17 +39,17 @@ const PREFS_CONFIG = new Map([
   }],
   ["telemetry.log", {
     title: "Log telemetry events in the console",
     value: false,
     value_local_dev: true
   }],
   ["telemetry.ping.endpoint", {
     title: "Telemetry server endpoint",
-    value: "https://onyx_tiles.stage.mozaws.net/v4/links/activity-stream"
+    value: "https://tiles.services.mozilla.com/v4/links/activity-stream"
   }]
 ]);
 
 const FEEDS_CONFIG = new Map();
 for (const {name, factory, title, value} of [
   {
     name: "localization",
     factory: () => new LocalizationFeed(),
--- a/browser/extensions/activity-stream/lib/PlacesFeed.jsm
+++ b/browser/extensions/activity-stream/lib/PlacesFeed.jsm
@@ -182,17 +182,18 @@ class PlacesFeed {
         data: {url: value}
       }));
     }
   }
 
   onAction(action) {
     switch (action.type) {
       case at.INIT:
-        this.addObservers();
+        // Briefly avoid loading services for observing for better startup timing
+        Services.tm.dispatchToMainThread(() => this.addObservers());
         break;
       case at.UNINIT:
         this.removeObservers();
         break;
       case at.BLOCK_URL:
         NewTabUtils.activityStreamLinks.blockURL({url: action.data});
         break;
       case at.BOOKMARK_URL:
new file mode 100644
--- /dev/null
+++ b/browser/extensions/activity-stream/lib/Screenshots.jsm
@@ -0,0 +1,45 @@
+/* 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/. */
+"use strict";
+
+this.EXPORTED_SYMBOLS = ["Screenshots"];
+
+const {utils: Cu} = Components;
+Cu.import("resource://gre/modules/XPCOMUtils.jsm");
+
+XPCOMUtils.defineLazyModuleGetter(this, "BackgroundPageThumbs",
+  "resource://gre/modules/BackgroundPageThumbs.jsm");
+XPCOMUtils.defineLazyModuleGetter(this, "PageThumbs",
+  "resource://gre/modules/PageThumbs.jsm");
+XPCOMUtils.defineLazyModuleGetter(this, "FileUtils",
+    "resource://gre/modules/FileUtils.jsm");
+XPCOMUtils.defineLazyServiceGetter(this, "MIMEService",
+  "@mozilla.org/mime;1", "nsIMIMEService");
+XPCOMUtils.defineLazyModuleGetter(this, "OS",
+  "resource://gre/modules/osfile.jsm");
+
+this.Screenshots = {
+  async getScreenshotForURL(url) {
+    let screenshot = null;
+    try {
+      await BackgroundPageThumbs.captureIfMissing(url);
+      const imgPath = PageThumbs.getThumbnailPath(url);
+
+      // OS.File object used to easily read off-thread
+      const file = await OS.File.open(imgPath, {read: true, existing: true});
+
+      // nsIFile object needed for MIMEService
+      const nsFile = FileUtils.File(imgPath);
+
+      const contentType = MIMEService.getTypeFromFile(nsFile);
+      const bytes = await file.read();
+      const encodedData = btoa(String.fromCharCode.apply(null, bytes));
+      file.close();
+      screenshot = `data:${contentType};base64,${encodedData}`;
+    } catch (err) {
+      Cu.reportError(`getScreenshot error: ${err}`);
+    }
+    return screenshot;
+  }
+};
--- a/browser/extensions/activity-stream/lib/TopSitesFeed.jsm
+++ b/browser/extensions/activity-stream/lib/TopSitesFeed.jsm
@@ -7,18 +7,21 @@ const {utils: Cu} = Components;
 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
 
 const {actionCreators: ac, actionTypes: at} = Cu.import("resource://activity-stream/common/Actions.jsm", {});
 const {Prefs} = Cu.import("resource://activity-stream/lib/ActivityStreamPrefs.jsm", {});
 const {insertPinned} = Cu.import("resource://activity-stream/common/Reducers.jsm", {});
 
 XPCOMUtils.defineLazyModuleGetter(this, "NewTabUtils",
   "resource://gre/modules/NewTabUtils.jsm");
+// Keep a reference to PreviewProvider.jsm until it's good to remove. See #2849
 XPCOMUtils.defineLazyModuleGetter(this, "PreviewProvider",
-  "resource:///modules/PreviewProvider.jsm");
+  "resource://app/modules/PreviewProvider.jsm");
+XPCOMUtils.defineLazyModuleGetter(this, "Screenshots",
+  "resource://activity-stream/lib/Screenshots.jsm");
 
 const TOP_SITES_SHOWMORE_LENGTH = 12;
 const UPDATE_TIME = 15 * 60 * 1000; // 15 minutes
 const DEFAULT_TOP_SITES = [];
 
 this.TopSitesFeed = class TopSitesFeed {
   constructor() {
     this.lastUpdated = 0;
@@ -31,23 +34,25 @@ this.TopSitesFeed = class TopSitesFeed {
         DEFAULT_TOP_SITES.push({
           isDefault: true,
           url
         });
       }
     }
   }
   async getScreenshot(url) {
-    let screenshot = await PreviewProvider.getThumbnail(url);
+    let screenshot = await Screenshots.getScreenshotForURL(url);
     const action = {type: at.SCREENSHOT_UPDATED, data: {url, screenshot}};
     this.store.dispatch(ac.BroadcastToContent(action));
   }
   async getLinksWithDefaults(action) {
+    let frecent = await NewTabUtils.activityStreamLinks.getTopSites();
+    const defaultUrls = DEFAULT_TOP_SITES.map(site => site.url);
     let pinned = NewTabUtils.pinnedLinks.links;
-    let frecent = await NewTabUtils.activityStreamLinks.getTopSites();
+    pinned = pinned.map(site => site && Object.assign({}, site, {isDefault: defaultUrls.indexOf(site.url) !== -1}));
 
     if (!frecent) {
       frecent = [];
     } else {
       frecent = frecent.filter(link => link && link.type !== "affiliate");
     }
 
     return insertPinned([...frecent, ...DEFAULT_TOP_SITES], pinned).slice(0, TOP_SITES_SHOWMORE_LENGTH);
@@ -86,17 +91,17 @@ this.TopSitesFeed = class TopSitesFeed {
   openNewWindow(action, isPrivate = false) {
     const win = action._target.browser.ownerGlobal;
     win.openLinkIn(action.data.url, "window", {private: isPrivate});
   }
   _getPinnedWithData() {
     // Augment the pinned links with any other extra data we have for them already in the store
     const links = this.store.getState().TopSites.rows;
     const pinned = NewTabUtils.pinnedLinks.links;
-    return pinned.map(pinnedLink => (pinnedLink ? Object.assign(links.find(link => link && link.url === pinnedLink.url) || {}, pinnedLink, {isDefault: false}) : pinnedLink));
+    return pinned.map(pinnedLink => (pinnedLink ? Object.assign(links.find(link => link && link.url === pinnedLink.url) || {}, pinnedLink) : pinnedLink));
   }
   pin(action) {
     const {site, index} = action.data;
     NewTabUtils.pinnedLinks.pin(site, index);
     this.store.dispatch(ac.BroadcastToContent({
       type: at.PINNED_SITES_UPDATED,
       data: this._getPinnedWithData()
     }));
new file mode 100644
--- /dev/null
+++ b/browser/extensions/activity-stream/test/functional/mochitest/blue_page.html
@@ -0,0 +1,6 @@
+<html>
+  <head>
+    <meta charset="utf-8">
+  </head>
+  <body style="background-color: blue" />
+</html>
--- a/browser/extensions/activity-stream/test/functional/mochitest/browser.ini
+++ b/browser/extensions/activity-stream/test/functional/mochitest/browser.ini
@@ -1,13 +1,12 @@
 [DEFAULT]
 # XXX This defaults to forcing activity-stream tests to be skipped in m-c,
 # since, as of this writing, mozilla-central itself is still turned off.
 # The tests can be run locally using 'npm run mochitest' which does various
 # overrides.
 skip-if=!activity_stream
+support-files =
+  blue_page.html
 
-[browser_dummy_test.js]
-skip-if=true
-# XXX The above test is required because having only one test causes
-# The default skip-if to silently fail.  As soon as we add another test here, 
-# we should get rid of it, and the following line.
 [browser_as_load_location.js]
+[browser_getScreenshots.js]
+skip-if=true # issue 2851
deleted file mode 100644
--- a/browser/extensions/activity-stream/test/functional/mochitest/browser_dummy_test.js
+++ /dev/null
@@ -1,34 +0,0 @@
-"use strict";
-
-let Cu = Components.utils;
-Cu.import("resource://gre/modules/Services.jsm");
-
-/**
- * Tests that opening a new tab opens a page with the expected activity stream
- * content.
- *
- * XXX /browser/components/newtab/tests/browser/browser_newtab_overrides in
- * mozilla-central is where this test was adapted from.  Once we get decide on
- * and implement how we're going to set the URL in mozilla-central, we may well
- * want to (separately from this test), clone/adapt that entire file for our
- * new setup.
- */
-add_task(async function checkActivityStreamLoads() {
-  const asURL = "resource://activity-stream/data/content/activity-stream.html";
-
-  // simulate a newtab open as a user would
-  BrowserOpenTab();
-
-  // wait until the browser loads
-  let browser = gBrowser.selectedBrowser;
-  await BrowserTestUtils.browserLoaded(browser);
-
-  // check what the content task thinks has been loaded.
-  await ContentTask.spawn(browser, {url: asURL}, args => {
-    Assert.ok(content.document.querySelector("body.activity-stream"),
-      'Got <body class="activity-stream" Element');
-  });
-
-  // avoid leakage
-  await BrowserTestUtils.removeTab(gBrowser.selectedTab);
-});
new file mode 100644
--- /dev/null
+++ b/browser/extensions/activity-stream/test/functional/mochitest/browser_getScreenshots.js
@@ -0,0 +1,55 @@
+/* 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/. */
+"use strict";
+
+let Cu = Components.utils;
+Cu.import("resource://gre/modules/XPCOMUtils.jsm");
+
+// a blue page
+const TEST_URL = "https://example.com/browser/browser/extensions/activity-stream/test/functional/mochitest/blue_page.html";
+const XHTMLNS = "http://www.w3.org/1999/xhtml";
+
+SpecialPowers.pushPrefEnv({set: [["browser.pagethumbnails.capturing_disabled", false]]});
+
+XPCOMUtils.defineLazyModuleGetter(this, "Screenshots", "resource://activity-stream/lib/Screenshots.jsm");
+
+function get_pixels_for_data_uri(dataURI, width, height) {
+  return new Promise(resolve => {
+    // get the pixels out of the screenshot that we just took
+    let img = document.createElementNS(XHTMLNS, "img");
+    img.setAttribute("src", dataURI);
+    img.addEventListener("load", () => {
+      let canvas = document.createElementNS(XHTMLNS, "canvas");
+      canvas.setAttribute("width", width);
+      canvas.setAttribute("height", height);
+      let ctx = canvas.getContext("2d");
+      ctx.drawImage(img, 0, 0, width, height);
+      const result = ctx.getImageData(0, 0, width, height).data;
+      resolve(result);
+    }, {once: true});
+  });
+}
+
+add_task(async function test_screenshot() {
+  // take a screenshot of a blue page and save it as a data URI
+  const screenshotAsDataURI = await Screenshots.getScreenshotForURL(TEST_URL);
+  let pixels = await get_pixels_for_data_uri(screenshotAsDataURI, 10, 10);
+  let rgbaCount = {r: 0, g: 0, b: 0, a: 0};
+  while (pixels.length) {
+    // break the pixels into arrays of 4 components [red, green, blue, alpha]
+    let [r, g, b, a, ...rest] = pixels;
+    pixels = rest;
+    // count the number of each coloured pixels
+    if (r === 255) { rgbaCount.r += 1; }
+    if (g === 255) { rgbaCount.g += 1; }
+    if (b === 255) { rgbaCount.b += 1; }
+    if (a === 255) { rgbaCount.a += 1; }
+  }
+
+  // in the end, we should only have 100 blue pixels (10 x 10) with full opacity
+  Assert.equal(rgbaCount.b, 100, "Has 100 blue pixels");
+  Assert.equal(rgbaCount.a, 100, "Has full opacity");
+  Assert.equal(rgbaCount.r, 0, "Does not have any red pixels");
+  Assert.equal(rgbaCount.g, 0, "Does not have any green pixels");
+});
--- a/browser/extensions/activity-stream/test/unit/common/Reducers.test.js
+++ b/browser/extensions/activity-stream/test/unit/common/Reducers.test.js
@@ -106,17 +106,16 @@ describe("Reducers", () => {
         const nextState = TopSites(oldState, action);
         assert.deepEqual(nextState.rows, [{url: "foo.com"}]);
       });
     });
     it("should insert pinned links on PINNED_SITES_UPDATED", () => {
       const oldState = {rows: [{url: "foo.com"}, {url: "bar.com"}]};
       const action = {type: at.PINNED_SITES_UPDATED, data: [{url: "baz.com", title: "baz"}]};
       const nextState = TopSites(oldState, action);
-      console.log(nextState.rows);
       assert.deepEqual(nextState.rows, [{url: "baz.com", title: "baz", isPinned: true, pinIndex: 0, pinTitle: "baz"}, {url: "foo.com"}, {url: "bar.com"}]);
     });
   });
   describe("Prefs", () => {
     function prevState(custom = {}) {
       return Object.assign({}, INITIAL_STATE.Prefs, custom);
     }
     it("should have the correct initial state", () => {
new file mode 100644
--- /dev/null
+++ b/browser/extensions/activity-stream/test/unit/lib/Screenshots.test.js
@@ -0,0 +1,51 @@
+"use strict";
+const {Screenshots} = require("lib/Screenshots.jsm");
+const {GlobalOverrider} = require("test/unit/utils");
+const URL = "foo.com";
+const FAKE_THUMBNAIL_PATH = "fake/path/thumb.jpg";
+
+describe("Screenshots", () => {
+  let globals;
+  let sandbox;
+
+  beforeEach(() => {
+    globals = new GlobalOverrider();
+    sandbox = globals.sandbox;
+    globals.set("BackgroundPageThumbs", {captureIfMissing: sandbox.spy(() => Promise.resolve())});
+    globals.set("PageThumbs", {getThumbnailPath: sandbox.spy(() => Promise.resolve(FAKE_THUMBNAIL_PATH))});
+    globals.set("OS", {File: {open: sandbox.spy(() => Promise.resolve({read: () => [], close: () => {}}))}});
+    globals.set("FileUtils", {File: sandbox.spy(() => {})});
+    globals.set("MIMEService", {getTypeFromFile: sandbox.spy(() => {})});
+  });
+  afterEach(() => {
+    globals.restore();
+  });
+
+  describe("#getScreenshotForURL", () => {
+    it("should call BackgroundPageThumbs.captureIfMissing with the correct url", async () => {
+      await Screenshots.getScreenshotForURL(URL);
+      assert.calledWith(global.BackgroundPageThumbs.captureIfMissing, URL);
+    });
+    it("should call PageThumbs.getThumbnailPath with the correct url", async () => {
+      await Screenshots.getScreenshotForURL(URL);
+      assert.calledWith(global.PageThumbs.getThumbnailPath, URL);
+    });
+    it("should call OS.File.open with the correct params", async () => {
+      await Screenshots.getScreenshotForURL(URL);
+      assert.calledOnce(global.OS.File.open);
+    });
+    it("should call FileUtils.File", async () => {
+      await Screenshots.getScreenshotForURL(URL);
+      assert.calledOnce(global.FileUtils.File);
+    });
+    it("should call MIMEService.getTypeFromFile", async () => {
+      await Screenshots.getScreenshotForURL(URL);
+      assert.calledOnce(global.MIMEService.getTypeFromFile);
+    });
+    it("should throw if something goes wrong", async () => {
+      globals.set("BackgroundPageThumbs", {captureIfMissing: () => new Error("Cannot capture tumbnail")});
+      const screenshot = await Screenshots.getScreenshotForURL(URL);
+      assert.equal(screenshot, null);
+    });
+  });
+});
--- a/browser/extensions/activity-stream/test/unit/lib/TopSitesFeed.test.js
+++ b/browser/extensions/activity-stream/test/unit/lib/TopSitesFeed.test.js
@@ -1,46 +1,48 @@
 "use strict";
 const injector = require("inject!lib/TopSitesFeed.jsm");
 const {UPDATE_TIME, TOP_SITES_SHOWMORE_LENGTH} = require("lib/TopSitesFeed.jsm");
 const {FakePrefs, GlobalOverrider} = require("test/unit/utils");
 const action = {meta: {fromTarget: {}}};
-const {actionTypes: at} = require("common/Actions.jsm");
+const {actionCreators: ac, actionTypes: at} = require("common/Actions.jsm");
 const {insertPinned} = require("common/Reducers.jsm");
 const FAKE_LINKS = new Array(TOP_SITES_SHOWMORE_LENGTH).fill(null).map((v, i) => ({url: `site${i}.com`}));
 const FAKE_SCREENSHOT = "data123";
 
 describe("Top Sites Feed", () => {
   let TopSitesFeed;
   let DEFAULT_TOP_SITES;
   let feed;
   let globals;
   let sandbox;
   let links;
   let clock;
   let fakeNewTabUtils;
+  let fakeScreenshot;
 
   beforeEach(() => {
     globals = new GlobalOverrider();
     sandbox = globals.sandbox;
     fakeNewTabUtils = {
       activityStreamLinks: {getTopSites: sandbox.spy(() => Promise.resolve(links))},
       pinnedLinks: {
         links: [],
         isPinned: () => false,
         pin: sandbox.spy(),
         unpin: sandbox.spy()
       }
     };
+    fakeScreenshot = {getScreenshotForURL: sandbox.spy(() => Promise.resolve(FAKE_SCREENSHOT))};
     globals.set("NewTabUtils", fakeNewTabUtils);
-    globals.set("PreviewProvider", {getThumbnail: sandbox.spy(() => Promise.resolve(FAKE_SCREENSHOT))});
     FakePrefs.prototype.prefs["default.sites"] = "https://foo.com/";
     ({TopSitesFeed, DEFAULT_TOP_SITES} = injector({
       "lib/ActivityStreamPrefs.jsm": {Prefs: FakePrefs},
-      "common/Reducers.jsm": {insertPinned}
+      "common/Reducers.jsm": {insertPinned},
+      "lib/Screenshots.jsm": {Screenshots: fakeScreenshot}
     }));
     feed = new TopSitesFeed();
     feed.store = {dispatch: sinon.spy(), getState() { return {TopSites: {rows: Array(12).fill("site")}}; }};
     links = FAKE_LINKS;
     clock = sinon.useFakeTimers();
   });
   afterEach(() => {
     globals.restore();
@@ -118,20 +120,20 @@ describe("Top Sites Feed", () => {
       links = [FAKE_LINKS[0]];
       fakeNewTabUtils.pinnedLinks.links = [null, null, FAKE_LINKS[1], null, null, null, null, null, FAKE_LINKS[2]];
       sandbox.stub(feed, "getScreenshot");
       await feed.refresh(action);
       assert.calledOnce(feed.store.dispatch);
     });
   });
   describe("getScreenshot", () => {
-    it("should call PreviewProvider.getThumbnail with the right url", async () => {
+    it("should call Screenshots.getScreenshotForURL with the right url", async () => {
       const url = "foo.com";
       await feed.getScreenshot(url);
-      assert.calledWith(global.PreviewProvider.getThumbnail, url);
+      assert.calledWith(fakeScreenshot.getScreenshotForURL, url);
     });
   });
   describe("#onAction", () => {
     const newTabAction = {type: at.NEW_TAB_LOAD, meta: {fromTarget: "target"}};
     it("should call refresh if there are not enough sites on NEW_TAB_LOAD", () => {
       feed.store.getState = function() { return {TopSites: {rows: []}}; };
       sinon.stub(feed, "refresh");
       feed.onAction(newTabAction);
@@ -189,16 +191,51 @@ describe("Top Sites Feed", () => {
       const pinAction = {
         type: at.TOP_SITES_PIN,
         data: {site: {url: "foo.com"}, index: 7}
       };
       feed.onAction(pinAction);
       assert.calledOnce(fakeNewTabUtils.pinnedLinks.pin);
       assert.calledWith(fakeNewTabUtils.pinnedLinks.pin, pinAction.data.site, pinAction.data.index);
     });
+    it("should get correct isDefault and index property", () => {
+      // When calling _getPinnedWithData the state in `pinnedLinks` and in the store should merge.
+      const site = {url: "foo.com"};
+      const siteWithIndex = {url: "foo.com", isDefault: true, index: 7};
+      fakeNewTabUtils.pinnedLinks.links = [siteWithIndex];
+      feed.store = {dispatch: sinon.spy(), getState() { return {TopSites: {rows: [site]}}; }};
+      const pinAction = {
+        type: at.TOP_SITES_PIN,
+        data: {}
+      };
+      feed.onAction(pinAction);
+      assert.calledOnce(feed.store.dispatch);
+      assert.calledWith(feed.store.dispatch, ac.BroadcastToContent({
+        type: at.PINNED_SITES_UPDATED,
+        data: [siteWithIndex]
+      }));
+    });
+    it("should get correct pinned links and data", () => {
+      // When calling _getPinnedWithData the state in `pinnedLinks` and in the store should merge.
+      // In this case `site1` is a pinned site and should be returned.
+      const site1 = {url: "foo.com", isDefault: true};
+      const site2 = {url: "bar.com", isDefault: false};
+      fakeNewTabUtils.pinnedLinks.links = [site1];
+      feed.store = {dispatch: sinon.spy(), getState() { return {TopSites: {rows: [site2]}}; }};
+      const pinAction = {
+        type: at.TOP_SITES_PIN,
+        data: {}
+      };
+      feed.onAction(pinAction);
+      assert.calledOnce(feed.store.dispatch);
+      assert.calledWith(feed.store.dispatch, ac.BroadcastToContent({
+        type: at.PINNED_SITES_UPDATED,
+        data: [site1]
+      }));
+    });
     it("should call unpin with correct parameters on TOP_SITES_UNPIN", () => {
       fakeNewTabUtils.pinnedLinks.links = [null, null, {url: "foo.com"}, null, null, null, null, null, FAKE_LINKS[0]];
       const unpinAction = {
         type: at.TOP_SITES_UNPIN,
         data: {site: {url: "foo.com"}}
       };
       feed.onAction(unpinAction);
       assert.calledOnce(fakeNewTabUtils.pinnedLinks.unpin);
--- a/browser/extensions/activity-stream/test/unit/unit-entry.js
+++ b/browser/extensions/activity-stream/test/unit/unit-entry.js
@@ -43,17 +43,18 @@ overrider.set({
       getDefaultBranch() {
         return {
           setBoolPref() {},
           setIntPref() {},
           setStringPref() {},
           clearUserPref() {}
         };
       }
-    }
+    },
+    tm: {dispatchToMainThread: cb => cb()}
   },
   XPCOMUtils: {
     defineLazyModuleGetter() {},
     defineLazyServiceGetter() {},
     generateQI() { return {}; }
   }
 });