Merge autoland to mozilla-central. a=merge
authorarthur.iakab <aiakab@mozilla.com>
Thu, 06 Jun 2019 00:59:15 +0300
changeset 477469 57763214c9e85c28922c3eb5471357b698109f5d
parent 477468 d5226e5dc522af70e16172029e8c8286e2a8674c (current diff)
parent 477467 9ef5d9df1a7cf7a0548e8d98f973023f264989de (diff)
child 477470 30ead18a219a5f315b367e2e833c047773749bb7
child 477561 13ceede08d238815f68c623b0ec0e3de45637d0c
push id113340
push useraiakab@mozilla.com
push dateWed, 05 Jun 2019 22:07:26 +0000
treeherdermozilla-inbound@30ead18a219a [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmerge
milestone69.0a1
first release with
nightly linux32
57763214c9e8 / 69.0a1 / 20190605215957 / files
nightly linux64
57763214c9e8 / 69.0a1 / 20190605215957 / files
nightly mac
57763214c9e8 / 69.0a1 / 20190605215957 / files
nightly win32
57763214c9e8 / 69.0a1 / 20190605215957 / files
nightly win64
57763214c9e8 / 69.0a1 / 20190605215957 / files
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
releases
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Merge autoland to mozilla-central. a=merge
devtools/client/responsive.html/test/browser/browser_outer_size.js
modules/freetype2/builds/windows/vc2005/freetype.sln
modules/freetype2/builds/windows/vc2005/freetype.vcproj
modules/freetype2/builds/windows/vc2005/index.html
modules/freetype2/builds/windows/vc2008/freetype.sln
modules/freetype2/builds/windows/vc2008/freetype.vcproj
modules/freetype2/builds/windows/vc2008/index.html
modules/freetype2/docs/reference/ft2-auto_hinter.html
modules/freetype2/docs/reference/ft2-base_interface.html
modules/freetype2/docs/reference/ft2-basic_types.html
modules/freetype2/docs/reference/ft2-bdf_fonts.html
modules/freetype2/docs/reference/ft2-bitmap_handling.html
modules/freetype2/docs/reference/ft2-bzip2.html
modules/freetype2/docs/reference/ft2-cache_subsystem.html
modules/freetype2/docs/reference/ft2-cff_driver.html
modules/freetype2/docs/reference/ft2-cid_fonts.html
modules/freetype2/docs/reference/ft2-computations.html
modules/freetype2/docs/reference/ft2-error_code_values.html
modules/freetype2/docs/reference/ft2-error_enumerations.html
modules/freetype2/docs/reference/ft2-font_formats.html
modules/freetype2/docs/reference/ft2-gasp_table.html
modules/freetype2/docs/reference/ft2-glyph_management.html
modules/freetype2/docs/reference/ft2-glyph_stroker.html
modules/freetype2/docs/reference/ft2-glyph_variants.html
modules/freetype2/docs/reference/ft2-gx_validation.html
modules/freetype2/docs/reference/ft2-gzip.html
modules/freetype2/docs/reference/ft2-header_file_macros.html
modules/freetype2/docs/reference/ft2-header_inclusion.html
modules/freetype2/docs/reference/ft2-incremental.html
modules/freetype2/docs/reference/ft2-index.html
modules/freetype2/docs/reference/ft2-lcd_filtering.html
modules/freetype2/docs/reference/ft2-list_processing.html
modules/freetype2/docs/reference/ft2-lzw.html
modules/freetype2/docs/reference/ft2-mac_specific.html
modules/freetype2/docs/reference/ft2-module_management.html
modules/freetype2/docs/reference/ft2-multiple_masters.html
modules/freetype2/docs/reference/ft2-ot_validation.html
modules/freetype2/docs/reference/ft2-outline_processing.html
modules/freetype2/docs/reference/ft2-parameter_tags.html
modules/freetype2/docs/reference/ft2-pcf_driver.html
modules/freetype2/docs/reference/ft2-pfr_fonts.html
modules/freetype2/docs/reference/ft2-properties.html
modules/freetype2/docs/reference/ft2-quick_advance.html
modules/freetype2/docs/reference/ft2-raster.html
modules/freetype2/docs/reference/ft2-sfnt_names.html
modules/freetype2/docs/reference/ft2-sizes_management.html
modules/freetype2/docs/reference/ft2-system_interface.html
modules/freetype2/docs/reference/ft2-t1_cid_driver.html
modules/freetype2/docs/reference/ft2-toc.html
modules/freetype2/docs/reference/ft2-truetype_engine.html
modules/freetype2/docs/reference/ft2-truetype_tables.html
modules/freetype2/docs/reference/ft2-tt_driver.html
modules/freetype2/docs/reference/ft2-type1_tables.html
modules/freetype2/docs/reference/ft2-user_allocation.html
modules/freetype2/docs/reference/ft2-version.html
modules/freetype2/docs/reference/ft2-winfnt_fonts.html
modules/freetype2/include/freetype/internal/ftpic.h
modules/freetype2/src/autofit/afpic.c
modules/freetype2/src/autofit/afpic.h
modules/freetype2/src/base/basepic.c
modules/freetype2/src/base/basepic.h
modules/freetype2/src/base/ftapi.c
modules/freetype2/src/base/ftpic.c
modules/freetype2/src/cff/cffpic.c
modules/freetype2/src/cff/cffpic.h
modules/freetype2/src/pshinter/pshpic.c
modules/freetype2/src/pshinter/pshpic.h
modules/freetype2/src/psnames/pspic.c
modules/freetype2/src/psnames/pspic.h
modules/freetype2/src/raster/rastpic.c
modules/freetype2/src/raster/rastpic.h
modules/freetype2/src/sfnt/sfntpic.c
modules/freetype2/src/sfnt/sfntpic.h
modules/freetype2/src/smooth/ftspic.c
modules/freetype2/src/smooth/ftspic.h
modules/freetype2/src/tools/docmaker/content.py
modules/freetype2/src/tools/docmaker/docbeauty.py
modules/freetype2/src/tools/docmaker/docmaker.py
modules/freetype2/src/tools/docmaker/formatter.py
modules/freetype2/src/tools/docmaker/sources.py
modules/freetype2/src/tools/docmaker/tohtml.py
modules/freetype2/src/tools/docmaker/utils.py
modules/freetype2/src/tools/ftfuzzer/README
modules/freetype2/src/tools/ftfuzzer/ftfuzzer.cc
modules/freetype2/src/tools/ftfuzzer/ftmutator.cc
modules/freetype2/src/tools/ftfuzzer/rasterfuzzer.cc
modules/freetype2/src/tools/ftfuzzer/runinput.cc
modules/freetype2/src/truetype/ttpic.c
modules/freetype2/src/truetype/ttpic.h
testing/web-platform/meta/html/semantics/embedded-content/media-elements/track/track-element/track-remove-track.html.ini
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -2321,21 +2321,21 @@ function BrowserReload() {
   if (gBrowser.currentURI.schemeIs("view-source")) {
     // Bug 1167797: For view source, we always skip the cache
     return BrowserReloadSkipCache();
   }
   const reloadFlags = Ci.nsIWebNavigation.LOAD_FLAGS_NONE;
   BrowserReloadWithFlags(reloadFlags);
 }
 
+const kSkipCacheFlags = Ci.nsIWebNavigation.LOAD_FLAGS_BYPASS_PROXY |
+                        Ci.nsIWebNavigation.LOAD_FLAGS_BYPASS_CACHE;
 function BrowserReloadSkipCache() {
   // Bypass proxy and cache.
-  const reloadFlags = Ci.nsIWebNavigation.LOAD_FLAGS_BYPASS_PROXY |
-                      Ci.nsIWebNavigation.LOAD_FLAGS_BYPASS_CACHE;
-  BrowserReloadWithFlags(reloadFlags);
+  BrowserReloadWithFlags(kSkipCacheFlags);
 }
 
 function BrowserHome(aEvent) {
   if (aEvent && "button" in aEvent &&
       aEvent.button == 2) // right-click: do nothing
     return;
 
   var homePage = HomePage.get(window);
@@ -5635,34 +5635,53 @@ var TabsProgressListener = {
     if (aBrowser != gBrowser.selectedBrowser) {
       aBrowser.updateSecurityUIForContentBlockingEvent(aEvent);
     }
   },
 
   onStateChange(aBrowser, aWebProgress, aRequest, aStateFlags, aStatus) {
     // Collect telemetry data about tab load times.
     if (aWebProgress.isTopLevel && (!aRequest.originalURI || aRequest.originalURI.scheme != "about")) {
-      let stopwatchRunning = TelemetryStopwatch.running("FX_PAGE_LOAD_MS_2", aBrowser);
-
+      let histogram = "FX_PAGE_LOAD_MS_2";
+      let recordLoadTelemetry = true;
+
+      if (aWebProgress.loadType & Ci.nsIDocShell.LOAD_CMD_RELOAD) {
+        // loadType is constructed by shifting loadFlags, this is why we need to
+        // do the same shifting here.
+        // https://searchfox.org/mozilla-central/rev/11cfa0462a6b5d8c5e2111b8cfddcf78098f0141/docshell/base/nsDocShellLoadTypes.h#22
+        if (aWebProgress.loadType & (kSkipCacheFlags << 16)) {
+          histogram = "FX_PAGE_RELOAD_SKIP_CACHE_MS";
+        } else if (aWebProgress.loadType == Ci.nsIDocShell.LOAD_CMD_RELOAD) {
+          histogram = "FX_PAGE_RELOAD_NORMAL_MS";
+        } else {
+          recordLoadTelemetry = false;
+        }
+      }
+
+      let stopwatchRunning = TelemetryStopwatch.running(histogram, aBrowser);
       if (aStateFlags & Ci.nsIWebProgressListener.STATE_IS_WINDOW) {
         if (aStateFlags & Ci.nsIWebProgressListener.STATE_START) {
           if (stopwatchRunning) {
             // Oops, we're seeing another start without having noticed the previous stop.
-            TelemetryStopwatch.cancel("FX_PAGE_LOAD_MS_2", aBrowser);
+            if (recordLoadTelemetry)
+              TelemetryStopwatch.cancel(histogram, aBrowser);
           }
-          TelemetryStopwatch.start("FX_PAGE_LOAD_MS_2", aBrowser);
+          if (recordLoadTelemetry)
+            TelemetryStopwatch.start(histogram, aBrowser);
           Services.telemetry.getHistogramById("FX_TOTAL_TOP_VISITS").add(true);
         } else if (aStateFlags & Ci.nsIWebProgressListener.STATE_STOP &&
                    stopwatchRunning /* we won't see STATE_START events for pre-rendered tabs */) {
-          TelemetryStopwatch.finish("FX_PAGE_LOAD_MS_2", aBrowser);
+          if (recordLoadTelemetry)
+            TelemetryStopwatch.finish(histogram, aBrowser);
         }
       } else if (aStateFlags & Ci.nsIWebProgressListener.STATE_STOP &&
                  aStatus == Cr.NS_BINDING_ABORTED &&
                  stopwatchRunning /* we won't see STATE_START events for pre-rendered tabs */) {
-        TelemetryStopwatch.cancel("FX_PAGE_LOAD_MS_2", aBrowser);
+        if (recordLoadTelemetry)
+          TelemetryStopwatch.cancel(histogram, aBrowser);
       }
     }
   },
 
   onLocationChange(aBrowser, aWebProgress, aRequest, aLocationURI, aFlags) {
     // Filter out location changes caused by anchor navigation
     // or history.push/pop/replaceState.
     if (aFlags & Ci.nsIWebProgressListener.LOCATION_CHANGE_SAME_DOCUMENT) {
--- a/browser/base/content/test/performance/browser.ini
+++ b/browser/base/content/test/performance/browser.ini
@@ -30,17 +30,17 @@ skip-if = os == 'mac'
 [browser_tabclose_grow.js]
 [browser_tabclose.js]
 skip-if = (os == 'win') || (os == 'mac') # Bug 1488537, Bug 1531417, Bug 1497713
 [browser_tabdetach.js]
 [browser_tabopen.js]
 skip-if = (verify && (os == 'mac'))
 [browser_tabopen_squeeze.js]
 [browser_tabstrip_overflow_underflow.js]
-skip-if = (verify && !debug && (os == 'win')) || (!debug && (os == 'win') && (bits == 32)) # Bug 1502255
+skip-if = (verify && !debug && (os == 'win')) || asan # Bug 1502255, Bug 1463180
 [browser_tabswitch.js]
 [browser_toolbariconcolor_restyles.js]
 [browser_urlbar_keyed_search.js]
 skip-if = (os == 'win' && bits == 32) # Disabled on Win32 because of intermittent OOM failures (bug 1448241).
 [browser_urlbar_search.js]
 skip-if = (debug || ccov) && (os == 'linux' || os == 'win') || (os == 'win' && bits == 32) # Disabled on Linux and Windows debug and ccov due to intermittent timeouts. Bug 1414126, bug 1426611. Disabled on Win32 because of intermittent OOM failures (bug 1448241)
 [browser_window_resize.js]
 [browser_windowclose.js]
--- a/browser/base/content/test/performance/browser_startup_mainthreadio.js
+++ b/browser/base/content/test/performance/browser_startup_mainthreadio.js
@@ -69,21 +69,16 @@ const MAC = AppConstants.platform == "ma
  * whitelisting cases where the reported operations aren't the same on all
  * platforms due to the I/O interposer inconsistencies across platforms
  * documented above.
  */
 const startupPhases = {
   // Anything done before or during app-startup must have a compelling reason
   // to run before we have even selected the user profile.
   "before profile selection": [
-    { // bug 1541226
-      path: "UAppData:",
-      condition: WIN,
-      stat: 3,
-    },
     { // bug 1541200
       path: "UAppData:Crash Reports/InstallTime20*",
       condition: AppConstants.MOZ_CRASHREPORTER,
       stat: 1, // only caught on Windows.
       read: 1,
       write: 2,
       close: 1,
     },
@@ -95,21 +90,16 @@ const startupPhases = {
     },
     { // bug 1541200
       path: "UAppData:Crash Reports/LastCrash",
       condition: !WIN && AppConstants.MOZ_CRASHREPORTER,
       ignoreIfUnused: true, // only if we ever crashed on this machine
       read: 1,
       close: 1,
     },
-    { // bug 1541226
-      path: "DefProfLRt.parent:",
-      condition: WIN,
-      stat: 1,
-    },
     { // At least the read seems unavoidable for a regular startup.
       path: "UAppData:profiles.ini",
       condition: MAC,
       stat: 1,
       read: 1,
       close: 1,
     },
     { // bug 1546931
@@ -125,17 +115,17 @@ const startupPhases = {
       condition: WIN,
       ignoreIfUnused: true, // only if a real profile exists on the system.
       read: 1,
       stat: 1,
     },
     { // bug 1541226, bug 1363586, bug 1541593
       path: "ProfD:",
       condition: WIN,
-      stat: 3,
+      stat: 1,
     },
     {
       path: "ProfLD:.startup-incomplete",
       condition: !WIN, // Visible on Windows with an open marker
       close: 1,
     },
     { // bug 1541491 to stop using this file, bug 1541494 to write correctly.
       path: "ProfLD:compatibility.ini",
@@ -220,17 +210,17 @@ const startupPhases = {
       fsync: 1,
     },
   ],
 
   "before opening first browser window": [
     { // bug 1541226
       path: "ProfD:",
       condition: WIN,
-      stat: 2,
+      stat: 1,
     },
     {
       path: "XCurProcD:blocklist.xml",
       condition: WIN,
       stat: 1,
     },
     { // bug 1534745
       path: "ProfD:cookies.sqlite-journal",
@@ -285,26 +275,16 @@ const startupPhases = {
     },
     { // bug 1545167
       path: "/etc/mime.types",
       condition: LINUX,
       read: 3,
       close: 3,
     },
     { // bug 1541246
-      path: "XREUSysExt:",
-      condition: WIN,
-      stat: 1,
-    },
-    { // bug 1541246
-      path: "XRESysExtDev:",
-      condition: WIN,
-      stat: 1,
-    },
-    { // bug 1541246
       path: "ProfD:extensions",
       condition: WIN,
       stat: 1,
     },
     { // bug 1541246
       path: "XCurProcD:extensions",
       condition: WIN,
       stat: 1,
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -179,16 +179,17 @@
 #ifdef XP_MACOSX
 @RESPATH@/browser/components/MacTouchBar.manifest
 @RESPATH@/browser/components/MacTouchBar.js
 #endif
 @RESPATH@/components/SyncComponents.manifest
 @RESPATH@/components/servicesComponents.manifest
 @RESPATH@/components/servicesSettings.manifest
 @RESPATH@/components/cryptoComponents.manifest
+@RESPATH@/components/TelemetryStartup.manifest
 
 @RESPATH@/components/Push.manifest
 
 ; CDP remote agent
 #ifdef ENABLE_REMOTE_AGENT
 @RESPATH@/chrome/remote@JAREXT@
 @RESPATH@/chrome/remote.manifest
 @RESPATH@/components/command-line-handler.js
--- a/devtools/client/debugger/src/components/App.js
+++ b/devtools/client/debugger/src/components/App.js
@@ -114,17 +114,17 @@ class App extends Component<Props, State
     );
 
     const searchKeys = [
       L10N.getStr("sources.search.key2"),
       L10N.getStr("sources.search.alt.key"),
     ];
     searchKeys.forEach(key => shortcuts.on(key, this.toggleQuickOpenModal));
 
-    shortcuts.on(L10N.getStr("gotoLineModal.key2"), (_, e) =>
+    shortcuts.on(L10N.getStr("gotoLineModal.key3"), (_, e) =>
       this.toggleQuickOpenModal(_, e, ":")
     );
 
     shortcuts.on("Escape", this.onEscape);
     shortcuts.on("Cmd+/", this.onCommandSlash);
   }
 
   componentWillUnmount() {
@@ -136,17 +136,17 @@ class App extends Component<Props, State
     );
 
     const searchKeys = [
       L10N.getStr("sources.search.key2"),
       L10N.getStr("sources.search.alt.key"),
     ];
     searchKeys.forEach(key => shortcuts.off(key, this.toggleQuickOpenModal));
 
-    shortcuts.off(L10N.getStr("gotoLineModal.key2"), this.toggleQuickOpenModal);
+    shortcuts.off(L10N.getStr("gotoLineModal.key3"), this.toggleQuickOpenModal);
 
     shortcuts.off("Escape", this.onEscape);
   }
 
   onEscape = (_, e) => {
     const {
       activeSearch,
       closeActiveSearch,
--- a/devtools/client/debugger/src/components/Editor/SearchBar.js
+++ b/devtools/client/debugger/src/components/Editor/SearchBar.js
@@ -32,18 +32,18 @@ import type { Modifiers, SearchResults }
 
 import SearchInput from "../shared/SearchInput";
 import { debounce } from "lodash";
 import "./SearchBar.css";
 
 import type SourceEditor from "../../utils/editor/source-editor";
 
 function getShortcuts() {
-  const searchAgainKey = L10N.getStr("sourceSearch.search.again.key2");
-  const searchAgainPrevKey = L10N.getStr("sourceSearch.search.againPrev.key2");
+  const searchAgainKey = L10N.getStr("sourceSearch.search.again.key3");
+  const searchAgainPrevKey = L10N.getStr("sourceSearch.search.againPrev.key3");
   const searchKey = L10N.getStr("sourceSearch.search.key2");
 
   return {
     shiftSearchAgainShortcut: searchAgainPrevKey,
     searchAgainShortcut: searchAgainKey,
     searchShortcut: searchKey,
   };
 }
--- a/devtools/client/debugger/src/components/ShortcutsModal.js
+++ b/devtools/client/debugger/src/components/ShortcutsModal.js
@@ -75,29 +75,29 @@ export class ShortcutsModal extends Comp
     return (
       <ul className="shortcuts-list">
         {this.renderShorcutItem(
           L10N.getStr("shortcuts.fileSearch2"),
           formatKeyShortcut(L10N.getStr("sources.search.key2"))
         )}
         {this.renderShorcutItem(
           L10N.getStr("shortcuts.searchAgain2"),
-          formatKeyShortcut(L10N.getStr("sourceSearch.search.again.key2"))
+          formatKeyShortcut(L10N.getStr("sourceSearch.search.again.key3"))
         )}
         {this.renderShorcutItem(
           L10N.getStr("shortcuts.projectSearch2"),
           formatKeyShortcut(L10N.getStr("projectTextSearch.key"))
         )}
         {this.renderShorcutItem(
           L10N.getStr("shortcuts.functionSearch2"),
           formatKeyShortcut(L10N.getStr("functionSearch.key"))
         )}
         {this.renderShorcutItem(
           L10N.getStr("shortcuts.gotoLine"),
-          formatKeyShortcut(L10N.getStr("gotoLineModal.key2"))
+          formatKeyShortcut(L10N.getStr("gotoLineModal.key3"))
         )}
       </ul>
     );
   }
 
   renderShortcutsContent() {
     return (
       <div
--- a/devtools/client/debugger/src/components/test/__snapshots__/ShortcutsModal.spec.js.snap
+++ b/devtools/client/debugger/src/components/test/__snapshots__/ShortcutsModal.spec.js.snap
@@ -146,19 +146,19 @@ exports[`ShortcutsModal renders when ena
         </li>
         <li>
           <span>
             Find next
           </span>
           <span>
             <span
               className="keystroke"
-              key="Ctrl+G"
+              key="Cmd+G"
             >
-              Ctrl+G
+              Cmd+G
             </span>
           </span>
         </li>
         <li>
           <span>
             Find in files
           </span>
           <span>
@@ -185,19 +185,19 @@ exports[`ShortcutsModal renders when ena
         </li>
         <li>
           <span>
             Go to line
           </span>
           <span>
             <span
               className="keystroke"
-              key="Ctrl+;"
+              key="Ctrl+G"
             >
-              Ctrl+;
+              Ctrl+G
             </span>
           </span>
         </li>
       </ul>
     </div>
   </div>
 </Slide>
 `;
--- a/devtools/client/debugger/test/mochitest/browser.ini
+++ b/devtools/client/debugger/test/mochitest/browser.ini
@@ -711,16 +711,17 @@ skip-if = (os == "win" && ccov) # Bug 14
 [browser_dbg-debugger-buttons.js]
 [browser_dbg-editor-gutter.js]
 [browser_dbg-editor-select.js]
 [browser_dbg-editor-highlight.js]
 [browser_dbg-ember-quickstart.js]
 [browser_dbg-expressions.js]
 [browser_dbg-expressions-error.js]
 [browser_dbg-expressions-focus.js]
+[browser_dbg-go-to-line.js]
 [browser_dbg-html-breakpoints.js]
 [browser_dbg-iframes.js]
 [browser_dbg-inline-cache.js]
 skip-if = ccov && os == 'win' # Bug 1443132
 [browser_dbg-inspector-integration.js]
 [browser_dbg-keyboard-navigation.js]
 [browser_dbg-keyboard-shortcuts.js]
 skip-if = os == "linux" # bug 1351952
new file mode 100644
--- /dev/null
+++ b/devtools/client/debugger/test/mochitest/browser_dbg-go-to-line.js
@@ -0,0 +1,60 @@
+/* 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/>. */
+
+// Test the "go to line" feature correctly responses to keyboard shortcuts.
+
+function assertEnabled(dbg) {
+  is(dbg.selectors.getQuickOpenEnabled(), true, "quickOpen enabled");
+}
+
+function assertDisabled(dbg) {
+  is(dbg.selectors.getQuickOpenEnabled(), false, "quickOpen disabled");
+}
+
+async function waitForGoToLineBoxFocus(dbg) {
+  await waitFor(() => dbg.win.document.activeElement.tagName === "INPUT");
+}
+
+function assertLine(dbg, lineNumber) {
+  is(
+    dbg.selectors.getSelectedLocation().line,
+    lineNumber,
+    `goto line is ${lineNumber}`
+  );
+}
+
+add_task(async function() {
+  const dbg = await initDebugger("doc-scripts.html", "long.js");
+  await selectSource(dbg, "long");
+  await waitForSelectedSource(dbg, "long");
+
+  info('Test opening');
+  pressKey(dbg, "goToLine");
+  assertEnabled(dbg);
+  is(
+    dbg.win.document.activeElement.tagName,
+    "INPUT",
+    "The input area of 'go to line' box is focused"
+  );
+
+  info('Test closing by the same keyboard shortcut');
+  pressKey(dbg, "goToLine");
+  assertDisabled(dbg);
+  is(findElement(dbg, "searchField"), null, "The 'go to line' box is closed");
+
+  info('Test closing by escape');
+  pressKey(dbg, "goToLine");
+  assertEnabled(dbg);
+
+  pressKey(dbg, "Escape");
+  assertDisabled(dbg);
+  is(findElement(dbg, "searchField"), null, "The 'go to line' box is closed");
+
+  info('Test going to the correct line');
+  pressKey(dbg, "goToLine");
+  await waitForGoToLineBoxFocus(dbg);
+  type(dbg, "66");
+  pressKey(dbg, "Enter");
+  assertLine(dbg, 66);
+});
--- a/devtools/client/debugger/test/mochitest/browser_dbg-search-file.js
+++ b/devtools/client/debugger/test/mochitest/browser_dbg-search-file.js
@@ -1,14 +1,16 @@
 /* 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/>. */
 
 // Tests the search bar correctly responds to queries, enter, shift enter
 
+const isMacOS = AppConstants.platform === "macosx";
+
 function waitForSearchState(dbg) {
   return waitForState(dbg, () => getCM(dbg).state.search);
 }
 
 function getFocusedEl(dbg) {
   const doc = dbg.win.document;
   return doc.activeElement;
 }
@@ -44,22 +46,25 @@ add_task(async function() {
   is(state.posFrom.line, 3);
 
   pressKey(dbg, "Enter");
   is(state.posFrom.line, 4);
 
   pressKey(dbg, "ShiftEnter");
   is(state.posFrom.line, 3);
 
-  pressKey(dbg, "fileSearchNext");
-  is(state.posFrom.line, 4);
+  if (isMacOS) {
+    info('cmd+G and cmdShift+G shortcut for traversing results only work for macOS');
+    pressKey(dbg, "fileSearchNext");
+    is(state.posFrom.line, 4);
 
-  pressKey(dbg, "fileSearchPrev");
-  is(state.posFrom.line, 3);
-
+    pressKey(dbg, "fileSearchPrev");
+    is(state.posFrom.line, 3);
+  }
+  
   pressKey(dbg, "fileSearch");
   type(dbg, "fun");
 
   pressKey(dbg, "Enter");
   is(state.posFrom.line, 4);
 
   // selecting another source keeps search open
   await selectSource(dbg, "simple2");
--- a/devtools/client/debugger/test/mochitest/helpers.js
+++ b/devtools/client/debugger/test/mochitest/helpers.js
@@ -1029,18 +1029,19 @@ const startKey = isMac
 const keyMappings = {
   close: { code: "w", modifiers: cmdOrCtrl },
   debugger: { code: "s", modifiers: shiftOrAlt },
   inspector: { code: "c", modifiers: shiftOrAlt },
   quickOpen: { code: "p", modifiers: cmdOrCtrl },
   quickOpenFunc: { code: "o", modifiers: cmdShift },
   quickOpenLine: { code: ":", modifiers: cmdOrCtrl },
   fileSearch: { code: "f", modifiers: cmdOrCtrl },
-  fileSearchNext: { code: "g", modifiers: cmdOrCtrl },
+  fileSearchNext: { code: "g", modifiers: { metaKey: true } },
   fileSearchPrev: { code: "g", modifiers: cmdShift },
+  goToLine: { code: "g", modifiers: { ctrlKey: true } },
   Enter: { code: "VK_RETURN" },
   ShiftEnter: { code: "VK_RETURN", modifiers: shiftOrAlt },
   AltEnter: {
     code: "VK_RETURN",
     modifiers: { altKey: true }
   },
   Up: { code: "VK_UP" },
   Down: { code: "VK_DOWN" },
--- a/devtools/client/locales/en-US/debugger.properties
+++ b/devtools/client/locales/en-US/debugger.properties
@@ -300,27 +300,27 @@ sourceSearch.search.key2=CmdOrCtrl+F
 # LOCALIZATION NOTE (sourceSearch.search.placeholder): placeholder text in
 # the source search input bar
 sourceSearch.search.placeholder=Search in file…
 
 # LOCALIZATION NOTE (sourceSearch.search.placeholder2): placeholder text in
 # the source search input bar
 sourceSearch.search.placeholder2=Find in file…
 
-# LOCALIZATION NOTE (sourceSearch.search.again.key2): Key shortcut to highlight
+# LOCALIZATION NOTE (sourceSearch.search.again.key3): Key shortcut to highlight
 # the next occurrence of the last search triggered from a source search
-# Do not localize "CmdOrCtrl+G", or change the format of the string. These are
+# Do not localize "Cmd+G", or change the format of the string. These are
 # key identifiers, not messages displayed to the user.
-sourceSearch.search.again.key2=CmdOrCtrl+G
+sourceSearch.search.again.key3=Cmd+G
 
-# LOCALIZATION NOTE (sourceSearch.search.againPrev.key2): Key shortcut to highlight
+# LOCALIZATION NOTE (sourceSearch.search.againPrev.key3): Key shortcut to highlight
 # the previous occurrence of the last search triggered from a source search
-# Do not localize "CmdOrCtrl+Shift+G", or change the format of the string. These are
+# Do not localize "Cmd+Shift+G", or change the format of the string. These are
 # key identifiers, not messages displayed to the user.
-sourceSearch.search.againPrev.key2=CmdOrCtrl+Shift+G
+sourceSearch.search.againPrev.key3=Cmd+Shift+G
 
 # LOCALIZATION NOTE (sourceSearch.resultsSummary1): Shows a summary of
 # the number of matches for autocomplete
 sourceSearch.resultsSummary1=%d results
 
 # LOCALIZATION NOTE (noMatchingStringsText): The text to display in the
 # global search results when there are no matching strings after filtering.
 noMatchingStringsText=No matches found
@@ -914,21 +914,21 @@ functionSearchSeparatorLabel=←
 # LOCALIZATION NOTE(gotoLineModal.placeholder): The placeholder
 # text displayed when the user searches for specific lines in a file
 gotoLineModal.placeholder=Go to line…
 
 # LOCALIZATION NOTE(gotoLineModal.title): The message shown to users
 # to open the go to line modal
 gotoLineModal.title=Go to a line number in a file
 
-# LOCALIZATION NOTE(gotoLineModal.key2): The shortcut for opening the
+# LOCALIZATION NOTE(gotoLineModal.key3): The shortcut for opening the
 # go to line modal
-# Do not localize "CmdOrCtrl+;", or change the format of the string. These are
+# Do not localize "Ctrl+G", or change the format of the string. These are
 # key identifiers, not messages displayed to the user.
-gotoLineModal.key2=CmdOrCtrl+;
+gotoLineModal.key3=Ctrl+G
 
 # LOCALIZATION NOTE(symbolSearch.search.functionsPlaceholder): The placeholder
 # text displayed when the user searches for functions in a file
 symbolSearch.search.functionsPlaceholder=Search functions…
 symbolSearch.search.functionsPlaceholder.title=Search for a function in a file
 
 # LOCALIZATION NOTE(symbolSearch.search.variablesPlaceholder): The placeholder
 # text displayed when the user searches for variables in a file
--- a/devtools/client/responsive.html/test/browser/browser.ini
+++ b/devtools/client/responsive.html/test/browser/browser.ini
@@ -45,17 +45,16 @@ tags = devtools webextensions
 [browser_hide_container.js]
 [browser_menu_item_01.js]
 [browser_menu_item_02.js]
 [browser_mouse_resize.js]
 [browser_navigation.js]
 skip-if = true # Bug 1413765
 [browser_network_throttling.js]
 [browser_orientationchange_event.js]
-[browser_outer_size.js]
 [browser_page_state.js]
 [browser_page_style.js]
 [browser_permission_doorhanger.js]
 tags = devtools geolocation
 skip-if = true # Bug 1413765
 [browser_preloaded_newtab.js]
 [browser_prompts.js]
 [browser_screenshot_button.js]
@@ -80,8 +79,9 @@ fail-if = true # Bug 1547783
 [browser_user_agent_input.js]
 [browser_viewport_basics.js]
 [browser_viewport_resizing_fixed_width.js]
 [browser_viewport_resizing_fixed_width_and_zoom.js]
 [browser_viewport_resizing_minimum_scale.js]
 [browser_viewport_resizing_scrollbar.js]
 fail-if = true # Bug 1547101
 [browser_window_close.js]
+[browser_window_sizing.js]
deleted file mode 100644
--- a/devtools/client/responsive.html/test/browser/browser_outer_size.js
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
-  http://creativecommons.org/publicdomain/zero/1.0/ */
-
-"use strict";
-
-// Test the window's outerWidth and outerHeight values are not affected by page zoom.
-
-const TEST_URL = "data:text/html;charset=utf-8,";
-const OUTER_WIDTH = 375;
-const OUTER_HEIGHT = 450;
-const ZOOM_LEVELS = [0.3, 0.5, 0.9, 1, 1.5, 2, 2.4];
-
-add_task(async function() {
-  const tab = await addTab(TEST_URL);
-  const browser = tab.linkedBrowser;
-
-  const { ui, manager } = await openRDM(tab);
-  await setViewportSize(ui, manager, OUTER_WIDTH, OUTER_HEIGHT);
-
-  info("Ensure outer size values are unchanged at different zoom levels.");
-  for (let i = 0; i < ZOOM_LEVELS.length; i++) {
-    await checkWindowOuterSize(ui, browser, ZOOM_LEVELS[i]);
-  }
-});
-
-async function checkWindowOuterSize(ui, browser, zoom) {
-  info(`Setting zoom level to ${zoom}`);
-  ZoomManager.setZoomForBrowser(browser, zoom);
-
-  return ContentTask.spawn(ui.getViewportBrowser(),
-    { width: OUTER_WIDTH, height: OUTER_HEIGHT },
-    async function({ width, height }) {
-      // Approximate the outer size value returned on the window content with the expected
-      // value. We should expect, at the very most, a 1px difference between the two due
-      // to floating point rounding errors that occur when scaling from inner size CSS
-      // integer values to outer size CSS integer values. See Part 1 of Bug 1107456.
-      ok(Math.abs(content.outerWidth - width) <= 1,
-        `window.outerWidth should be ${width} and we got ${content.outerWidth}.`);
-      ok(Math.abs(content.outerHeight - height) <= 1,
-        `window.outerHeight should be ${height} and we got ${content.outerHeight}.`);
-    });
-}
new file mode 100644
--- /dev/null
+++ b/devtools/client/responsive.html/test/browser/browser_window_sizing.js
@@ -0,0 +1,65 @@
+/* Any copyright is dedicated to the Public Domain.
+  http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+// Tests that correct window sizing values are reported and unaffected by zoom. In
+// particular, we want to ensure that the values for the window's outer and screen
+// sizing values reflect the size of the viewport.
+
+const TEST_URL = "data:text/html;charset=utf-8,";
+const WIDTH = 375;
+const HEIGHT = 450;
+const ZOOM_LEVELS = [0.3, 0.5, 0.9, 1, 1.5, 2, 2.4];
+
+add_task(async function() {
+  const tab = await addTab(TEST_URL);
+  const browser = tab.linkedBrowser;
+
+  const { ui, manager } = await openRDM(tab);
+  await setViewportSize(ui, manager, WIDTH, HEIGHT);
+
+  info("Ensure outer size values are unchanged at different zoom levels.");
+  for (let i = 0; i < ZOOM_LEVELS.length; i++) {
+    info(`Setting zoom level to ${ZOOM_LEVELS[i]}`);
+    ZoomManager.setZoomForBrowser(browser, ZOOM_LEVELS[i]);
+
+    await checkWindowOuterSize(ui);
+    await checkWindowScreenSize(ui);
+  }
+});
+
+async function checkWindowOuterSize(ui) {
+  return ContentTask.spawn(ui.getViewportBrowser(),
+    { width: WIDTH, height: HEIGHT },
+    async function({ width, height }) {
+      // Approximate the outer size value returned on the window content with the expected
+      // value. We should expect, at the very most, a 1px difference between the two due
+      // to floating point rounding errors that occur when scaling from inner size CSS
+      // integer values to outer size CSS integer values. See Part 1 of Bug 1107456.
+      ok(Math.abs(content.outerWidth - width) <= 1,
+        `window.outerWidth should be ${width} and we got ${content.outerWidth}.`);
+      ok(Math.abs(content.outerHeight - height) <= 1,
+        `window.outerHeight should be ${height} and we got ${content.outerHeight}.`);
+    });
+}
+
+async function checkWindowScreenSize(ui) {
+  return ContentTask.spawn(ui.getViewportBrowser(),
+    { width: WIDTH, height: HEIGHT },
+    async function({ width, height }) {
+      const { screen } = content;
+
+      ok(Math.abs(screen.availWidth - width) <= 1,
+        `screen.availWidth should be ${width} and we got ${screen.availWidth}.`);
+
+      ok(Math.abs(screen.availHeight - height) <= 1,
+        `screen.availHeight should be ${height} and we got ${screen.availHeight}.`);
+
+      ok(Math.abs(screen.width - width) <= 1,
+        `screen.width should be ${width} and we got ${screen.width}.`);
+
+      ok(Math.abs(screen.height - height) <= 1,
+        `screen.height should be ${height} and we got ${screen.height}.`);
+    });
+}
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..a7526bb25f28160e04385593f3328b6594bea3e9
GIT binary patch
literal 268065
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
b^wZ0XQ2rZOrFOO#;D2Hw(!#}pU%mbh{u_D?
--- a/devtools/docs/tests/performance-tests.md
+++ b/devtools/docs/tests/performance-tests.md
@@ -50,16 +50,30 @@ to focus on just one subtest run:
 ```bash
 ./mach try -b o -p linux64 -u none -t damp --rebuild-talos 6
 ```
 * Linux appears to build and run quickly, and offers quite stable results over the other OSes.
 The vast majority of performance issues for DevTools are OS agnostic, so it doesn't really matter which one you run them on.
 * "damp" is the talos bucket in which we run DAMP.
 * And 6 is the number of times we run DAMP tests. That's to do averages between all the 6 runs and helps filtering out the noise.
 
+## How to get performance profiles on try?
+
+Once you have a successful try job for `damp`:
+* select this job in treeherder
+* click on the `...` menu in the bottom left
+* select "Create Gecko Profile"
+
+![PerfHerder Create Gecko Profile menu](perfherder-create-gecko-profile.png)
+
+This should start a new damp job called `damp-p`. Once `damp-p` is finished:
+* select the `damp-p` job
+* click on `Job Details` tab
+* click on `open in Firefox Profiler`
+
 ## What does it do?
 
 DAMP measures three important operations:
 * Open a toolbox
 * Reload the web page
 * Close the toolbox
 It measures the time it takes to do each of these operations for the following panels:
 
--- a/dom/base/nsScreen.cpp
+++ b/dom/base/nsScreen.cpp
@@ -108,16 +108,22 @@ nsresult nsScreen::GetRect(nsRect& aRect
 }
 
 nsresult nsScreen::GetAvailRect(nsRect& aRect) {
   // Return window inner rect to prevent fingerprinting.
   if (ShouldResistFingerprinting()) {
     return GetWindowInnerRect(aRect);
   }
 
+  // Here we manipulate the value of aRect to represent the screen avail size,
+  // if in RDM.
+  if (IsInRDMPane()) {
+    return GetRDMScreenSize(aRect);
+  }
+
   nsDeviceContext* context = GetDeviceContext();
 
   if (!context) {
     return NS_ERROR_FAILURE;
   }
 
   nsRect r;
   context->GetRect(r);
@@ -134,16 +140,39 @@ nsresult nsScreen::GetAvailRect(nsRect& 
             nsPresContext::AppUnitsToIntCSSPixels(aRect.y - r.y);
 
   aRect.SetHeight(nsPresContext::AppUnitsToIntCSSPixels(aRect.Height()));
   aRect.SetWidth(nsPresContext::AppUnitsToIntCSSPixels(aRect.Width()));
 
   return NS_OK;
 }
 
+nsresult nsScreen::GetRDMScreenSize(nsRect& aRect) {
+  GetWindowInnerRect(aRect);
+
+  // GetOwner(), GetDocShell(), and GetPresContext() can potentially return
+  // nullptr, so to be safe let's make sure we check these before proceeding.
+  nsCOMPtr<nsPIDOMWindowInner> owner = GetOwner();
+  if (owner) {
+    nsIDocShell* docShell = owner->GetDocShell();
+    if (docShell) {
+      RefPtr<nsPresContext> presContext = docShell->GetPresContext();
+      if (presContext) {
+        float zoom = presContext->GetDeviceFullZoom();
+        int32_t width = std::round(aRect.Width() * zoom);
+        int32_t height = std::round(aRect.Height() * zoom);
+        aRect.SetHeight(height);
+        aRect.SetWidth(width);
+        return NS_OK;
+      }
+    }
+  }
+  return NS_ERROR_FAILURE;
+}
+
 mozilla::dom::ScreenOrientation* nsScreen::Orientation() const {
   return mScreenOrientation;
 }
 
 void nsScreen::GetMozOrientation(nsString& aOrientation,
                                  CallerType aCallerType) const {
   switch (mScreenOrientation->DeviceType(aCallerType)) {
     case OrientationType::Portrait_primary:
@@ -283,8 +312,20 @@ nsresult nsScreen::GetWindowInnerRect(ns
 bool nsScreen::ShouldResistFingerprinting() const {
   bool resist = false;
   nsCOMPtr<nsPIDOMWindowInner> owner = GetOwner();
   if (owner) {
     resist = nsContentUtils::ShouldResistFingerprinting(owner->GetDocShell());
   }
   return resist;
 }
+
+bool nsScreen::IsInRDMPane() const {
+  bool isInRDM = false;
+  nsCOMPtr<nsPIDOMWindowInner> owner = GetOwner();
+
+  if (owner) {
+    Document* doc = owner->GetExtantDoc();
+    isInRDM = doc && doc->InRDMPane();
+  }
+
+  return isInRDM;
+}
--- a/dom/base/nsScreen.h
+++ b/dom/base/nsScreen.h
@@ -43,30 +43,40 @@ class nsScreen : public mozilla::DOMEven
     nsRect rect;
     aRv = GetRect(rect);
     return rect.x;
   }
 
   int32_t GetWidth(ErrorResult& aRv) {
     nsRect rect;
     if (IsDeviceSizePageSize()) {
+      if (IsInRDMPane()) {
+        GetRDMScreenSize(rect);
+        return rect.Width();
+      }
+
       if (nsCOMPtr<nsPIDOMWindowInner> owner = GetOwner()) {
         int32_t innerWidth = 0;
         aRv = owner->GetInnerWidth(&innerWidth);
         return innerWidth;
       }
     }
 
     aRv = GetRect(rect);
     return rect.Width();
   }
 
   int32_t GetHeight(ErrorResult& aRv) {
     nsRect rect;
     if (IsDeviceSizePageSize()) {
+      if (IsInRDMPane()) {
+        GetRDMScreenSize(rect);
+        return rect.Height();
+      }
+
       if (nsCOMPtr<nsPIDOMWindowInner> owner = GetOwner()) {
         int32_t innerHeight = 0;
         aRv = owner->GetInnerHeight(&innerHeight);
         return innerHeight;
       }
     }
 
     aRv = GetRect(rect);
@@ -131,21 +141,24 @@ class nsScreen : public mozilla::DOMEven
 
   mozilla::dom::ScreenOrientation* Orientation() const;
 
  protected:
   nsDeviceContext* GetDeviceContext();
   nsresult GetRect(nsRect& aRect);
   nsresult GetAvailRect(nsRect& aRect);
   nsresult GetWindowInnerRect(nsRect& aRect);
+  nsresult GetRDMScreenSize(nsRect& aRect);
 
  private:
   explicit nsScreen(nsPIDOMWindowInner* aWindow);
   virtual ~nsScreen();
 
   bool IsDeviceSizePageSize();
 
   bool ShouldResistFingerprinting() const;
 
+  bool IsInRDMPane() const;
+
   RefPtr<mozilla::dom::ScreenOrientation> mScreenOrientation;
 };
 
 #endif /* nsScreen_h___ */
--- a/extensions/spellcheck/hunspell/glue/mozHunspell.cpp
+++ b/extensions/spellcheck/hunspell/glue/mozHunspell.cpp
@@ -207,41 +207,23 @@ NS_IMETHODIMP mozHunspell::GetPersonalDi
 }
 
 NS_IMETHODIMP mozHunspell::SetPersonalDictionary(
     mozIPersonalDictionary* aPersonalDictionary) {
   mPersonalDictionary = aPersonalDictionary;
   return NS_OK;
 }
 
-NS_IMETHODIMP mozHunspell::GetDictionaryList(char16_t*** aDictionaries,
-                                             uint32_t* aCount) {
-  if (!aDictionaries || !aCount) return NS_ERROR_NULL_POINTER;
-
-  uint32_t count = 0;
-  char16_t** dicts =
-      (char16_t**)moz_xmalloc(sizeof(char16_t*) * mDictionaries.Count());
-
+NS_IMETHODIMP mozHunspell::GetDictionaryList(
+    nsTArray<nsString>& aDictionaries) {
+  MOZ_ASSERT(aDictionaries.IsEmpty());
   for (auto iter = mDictionaries.Iter(); !iter.Done(); iter.Next()) {
-    dicts[count] = ToNewUnicode(iter.Key());
-    if (!dicts[count]) {
-      while (count) {
-        --count;
-        free(dicts[count]);
-      }
-      free(dicts);
-      return NS_ERROR_OUT_OF_MEMORY;
-    }
-
-    ++count;
+    aDictionaries.AppendElement(iter.Key());
   }
 
-  *aDictionaries = dicts;
-  *aCount = count;
-
   return NS_OK;
 }
 
 void mozHunspell::LoadDictionaryList(bool aNotifyChildProcesses) {
   mDictionaries.Clear();
 
   nsresult rv;
 
@@ -428,81 +410,39 @@ mozHunspell::Check(const nsAString& aWor
 
   if (!*aResult && mPersonalDictionary)
     rv = mPersonalDictionary->Check(aWord, aResult);
 
   return rv;
 }
 
 NS_IMETHODIMP
-mozHunspell::Suggest(const nsAString& aWord, char16_t*** aSuggestions,
-                     uint32_t* aSuggestionCount) {
-  if (NS_WARN_IF(!aSuggestions)) {
-    return NS_ERROR_INVALID_ARG;
-  }
-  if (NS_WARN_IF(!aSuggestionCount)) {
-    return NS_ERROR_INVALID_ARG;
-  }
+mozHunspell::Suggest(const nsAString& aWord, nsTArray<nsString>& aSuggestions) {
   NS_ENSURE_TRUE(mHunspell, NS_ERROR_FAILURE);
-
-  nsresult rv;
-  *aSuggestionCount = 0;
+  MOZ_ASSERT(aSuggestions.IsEmpty());
 
   std::string charsetWord;
-  rv = ConvertCharset(aWord, charsetWord);
+  nsresult rv = ConvertCharset(aWord, charsetWord);
   NS_ENSURE_SUCCESS(rv, rv);
 
   std::vector<std::string> suggestions = mHunspell->suggest(charsetWord);
-  *aSuggestionCount = static_cast<uint32_t>(suggestions.size());
 
-  if (*aSuggestionCount) {
-    *aSuggestions =
-        (char16_t**)moz_xmalloc(*aSuggestionCount * sizeof(char16_t*));
-    uint32_t index = 0;
-    for (index = 0; index < *aSuggestionCount && NS_SUCCEEDED(rv); ++index) {
-      // If the IDL used an array of AString, we could use
-      // Encoding::DecodeWithoutBOMHandling() here.
+  if (!suggestions.empty()) {
+    aSuggestions.SetCapacity(suggestions.size());
+    for (Span<const char> charSrc : suggestions) {
       // Convert the suggestion to utf16
-      Span<const char> charSrc(suggestions[index]);
       auto src = AsBytes(charSrc);
-      CheckedInt<size_t> needed = mDecoder->MaxUTF16BufferLength(src.Length());
-      if (!needed.isValid()) {
-        rv = NS_ERROR_OUT_OF_MEMORY;
-        break;
-      }
-      size_t dstLen = needed.value();
-      needed += 1;
-      needed *= sizeof(char16_t);
-      if (!needed.isValid()) {
-        rv = NS_ERROR_OUT_OF_MEMORY;
-        break;
-      }
-      (*aSuggestions)[index] = (char16_t*)moz_xmalloc(needed.value());
-      auto dst = MakeSpan((*aSuggestions)[index], dstLen);
-      uint32_t result;
-      size_t read;
-      size_t written;
-      bool hadErrors;
-      Tie(result, read, written, hadErrors) =
-          mDecoder->DecodeToUTF16(src, dst, true);
-      MOZ_ASSERT(result == kInputEmpty);
-      MOZ_ASSERT(read == src.Length());
-      MOZ_ASSERT(written <= dstLen);
-      Unused << hadErrors;
-      (*aSuggestions)[index][written] = 0;
+      rv = mDecoder->Encoding()->DecodeWithoutBOMHandling(
+          src, *aSuggestions.AppendElement());
+      NS_ENSURE_SUCCESS(rv, rv);
       mDecoder->Encoding()->NewDecoderWithoutBOMHandlingInto(*mDecoder);
     }
-
-    if (NS_FAILED(rv))
-      NS_FREE_XPCOM_ALLOCATED_POINTER_ARRAY(
-          index, *aSuggestions);  // free the char16_t strings up to the point
-                                  // at which the error occurred
   }
 
-  return rv;
+  return NS_OK;
 }
 
 NS_IMETHODIMP
 mozHunspell::Observe(nsISupports* aSubj, const char* aTopic,
                      const char16_t* aData) {
   NS_ASSERTION(!strcmp(aTopic, "profile-do-change") ||
                    !strcmp(aTopic, "profile-after-change"),
                "Unexpected observer topic");
--- a/extensions/spellcheck/idl/mozISpellCheckingEngine.idl
+++ b/extensions/spellcheck/idl/mozISpellCheckingEngine.idl
@@ -28,28 +28,27 @@ interface mozISpellCheckingEngine : nsIS
   /**
    * the personal dictionary
    */
   attribute mozIPersonalDictionary personalDictionary;
 
   /**
    * Get the list of dictionaries
    */
-  void getDictionaryList([array, size_is(count)] out wstring dictionaries, out uint32_t count);
+  Array<AString> getDictionaryList();
 
   /**
    * check a word
    */
   boolean check(in AString word);
 
   /**
    * get a list of suggestions for a misspelled word
    */
-  void suggest(in AString word, [array, size_is(count)] out wstring suggestions,
-               out uint32_t count);
+  Array<AString> suggest(in AString word);
 
   /**
    * Load dictionaries from the specified dir
    */
   void loadDictionariesFromDir(in nsIFile dir);
 
   /**
    * Add dictionaries from a directory to the spell checker
--- a/extensions/spellcheck/src/mozSpellChecker.cpp
+++ b/extensions/spellcheck/src/mozSpellChecker.cpp
@@ -150,27 +150,18 @@ nsresult mozSpellChecker::CheckWord(cons
   if (!mSpellCheckingEngine) {
     return NS_ERROR_NULL_POINTER;
   }
   *aIsMisspelled = false;
   result = mSpellCheckingEngine->Check(aWord, &correct);
   NS_ENSURE_SUCCESS(result, result);
   if (!correct) {
     if (aSuggestions) {
-      uint32_t count, i;
-      char16_t** words;
-
-      result = mSpellCheckingEngine->Suggest(aWord, &words, &count);
+      result = mSpellCheckingEngine->Suggest(aWord, *aSuggestions);
       NS_ENSURE_SUCCESS(result, result);
-      nsString* suggestions = aSuggestions->AppendElements(count);
-      for (i = 0; i < count; i++) {
-        suggestions[i].Assign(words[i]);
-      }
-
-      if (count) NS_FREE_XPCOM_ALLOCATED_POINTER_ARRAY(count, words);
     }
     *aIsMisspelled = true;
   }
   return NS_OK;
 }
 
 nsresult mozSpellChecker::Replace(const nsAString& aOldWord,
                                   const nsAString& aNewWord,
@@ -308,16 +299,17 @@ nsresult mozSpellChecker::GetPersonalDic
     words->GetNext(word);
     aWordList->AppendElement(word);
   }
   return NS_OK;
 }
 
 nsresult mozSpellChecker::GetDictionaryList(
     nsTArray<nsString>* aDictionaryList) {
+  MOZ_ASSERT(aDictionaryList->IsEmpty());
   if (XRE_IsContentProcess()) {
     ContentChild* child = ContentChild::GetSingleton();
     child->GetAvailableDictionaries(*aDictionaryList);
     return NS_OK;
   }
 
   nsresult rv;
 
@@ -326,37 +318,26 @@ nsresult mozSpellChecker::GetDictionaryL
 
   nsCOMArray<mozISpellCheckingEngine> spellCheckingEngines;
   rv = GetEngineList(&spellCheckingEngines);
   NS_ENSURE_SUCCESS(rv, rv);
 
   for (int32_t i = 0; i < spellCheckingEngines.Count(); i++) {
     nsCOMPtr<mozISpellCheckingEngine> engine = spellCheckingEngines[i];
 
-    uint32_t count = 0;
-    char16_t** words = nullptr;
-    engine->GetDictionaryList(&words, &count);
-    for (uint32_t k = 0; k < count; k++) {
-      nsAutoString dictName;
-
-      dictName.Assign(words[k]);
-
+    nsTArray<nsString> dictNames;
+    engine->GetDictionaryList(dictNames);
+    for (auto& dictName : dictNames) {
       // Skip duplicate dictionaries. Only take the first one
       // for each name.
       if (dictionaries.Contains(dictName)) continue;
 
       dictionaries.PutEntry(dictName);
-
-      if (!aDictionaryList->AppendElement(dictName)) {
-        NS_FREE_XPCOM_ALLOCATED_POINTER_ARRAY(count, words);
-        return NS_ERROR_OUT_OF_MEMORY;
-      }
+      aDictionaryList->AppendElement(dictName);
     }
-
-    NS_FREE_XPCOM_ALLOCATED_POINTER_ARRAY(count, words);
   }
 
   return NS_OK;
 }
 
 nsresult mozSpellChecker::GetCurrentDictionary(nsAString& aDictionary) {
   if (XRE_IsContentProcess()) {
     aDictionary = mCurrentDictionary;
--- a/gfx/2d/DrawTargetCairo.cpp
+++ b/gfx/2d/DrawTargetCairo.cpp
@@ -1412,17 +1412,17 @@ void DrawTargetCairo::MaskSurface(const 
   cairo_surface_t* surf = GetCairoSurfaceForSourceSurface(aMask);
   if (!surf) {
     cairo_pattern_destroy(pat);
     return;
   }
   cairo_pattern_t* mask = cairo_pattern_create_for_surface(surf);
   cairo_matrix_t matrix;
 
-  cairo_matrix_init_translate(&matrix, -aOffset.x, -aOffset.y);
+  cairo_matrix_init_translate(&matrix, -aOffset.x - aMask->GetRect().x, -aOffset.y - aMask->GetRect().y);
   cairo_pattern_set_matrix(mask, &matrix);
 
   cairo_set_operator(mContext, GfxOpToCairoOp(aOptions.mCompositionOp));
 
   cairo_mask(mContext, mask);
 
   cairo_surface_destroy(surf);
   cairo_pattern_destroy(mask);
@@ -1502,18 +1502,20 @@ void DrawTargetCairo::PushLayer(bool aOp
   }
 
   PushedLayer layer(aOpacity, mPermitSubpixelAA);
 
   if (aMask) {
     cairo_surface_t* surf = GetCairoSurfaceForSourceSurface(aMask);
     if (surf) {
       layer.mMaskPattern = cairo_pattern_create_for_surface(surf);
+      Matrix maskTransform = aMaskTransform;
+      maskTransform.PreTranslate(aMask->GetRect().X(), aMask->GetRect().Y());
       cairo_matrix_t mat;
-      GfxMatrixToCairoMatrix(aMaskTransform, mat);
+      GfxMatrixToCairoMatrix(maskTransform, mat);
       cairo_matrix_invert(&mat);
       cairo_pattern_set_matrix(layer.mMaskPattern, &mat);
       cairo_surface_destroy(surf);
     } else {
       gfxCriticalError() << "Failed to get cairo surface for mask surface!";
     }
   }
 
--- a/gfx/2d/DrawTargetD2D1.cpp
+++ b/gfx/2d/DrawTargetD2D1.cpp
@@ -425,37 +425,40 @@ void DrawTargetD2D1::MaskSurface(const P
     gfxWarning() << "Failed to get image for surface.";
     return;
   }
 
   PrepareForDrawing(aOptions.mCompositionOp, aSource);
 
   IntSize size =
       IntSize::Truncate(aMask->GetSize().width, aMask->GetSize().height);
-  Rect dest = Rect(aOffset.x, aOffset.y, Float(size.width), Float(size.height));
+  Rect dest = Rect(aOffset.x + aMask->GetRect().x, aOffset.y + aMask->GetRect().y,
+                   Float(size.width), Float(size.height));
 
   HRESULT hr = image->QueryInterface((ID2D1Bitmap**)getter_AddRefs(bitmap));
   if (!bitmap || FAILED(hr)) {
     // D2D says if we have an actual ID2D1Image and not a bitmap underlying the
     // object, we can't query for a bitmap. Instead, Push/PopLayer
     gfxWarning() << "FillOpacityMask only works with Bitmap source surfaces. "
                     "Falling back to push/pop layer";
 
     RefPtr<ID2D1Brush> source = CreateBrushForPattern(aSource, aOptions.mAlpha);
     RefPtr<ID2D1ImageBrush> maskBrush;
     hr = mDC->CreateImageBrush(
         image,
         D2D1::ImageBrushProperties(D2D1::RectF(0, 0, size.width, size.height)),
-        D2D1::BrushProperties(1.0f, D2D1::IdentityMatrix()),
+        D2D1::BrushProperties(
+            1.0f, D2D1::Matrix3x2F::Translation(aMask->GetRect().x,
+                                                aMask->GetRect().y)),
         getter_AddRefs(maskBrush));
     MOZ_ASSERT(SUCCEEDED(hr));
 
     mDC->PushLayer(D2D1::LayerParameters1(D2D1::InfiniteRect(), nullptr,
                                           D2D1_ANTIALIAS_MODE_PER_PRIMITIVE,
-                                          D2D1::IdentityMatrix(), 1.0f,
+                                          D2D1::Matrix3x2F::Translation(aMask->GetRect().x, aMask->GetRect().y), 1.0f,
                                           maskBrush, D2D1_LAYER_OPTIONS1_NONE),
                    nullptr);
 
     mDC->FillRectangle(D2DRect(dest), source);
     mDC->PopLayer();
 
     FinalizeDrawing(aOptions.mCompositionOp, aSource);
     return;
@@ -467,17 +470,17 @@ void DrawTargetD2D1::MaskSurface(const P
     size.height = bitmap->GetSize().height;
     dest.SetWidth(size.width);
     dest.SetHeight(size.height);
   }
 
   // FillOpacityMask only works if the antialias mode is MODE_ALIASED
   mDC->SetAntialiasMode(D2D1_ANTIALIAS_MODE_ALIASED);
 
-  Rect maskRect = Rect(0.f, 0.f, Float(size.width), Float(size.height));
+  Rect maskRect = Rect(aMask->GetRect().x, aMask->GetRect().y, Float(size.width), Float(size.height));
   RefPtr<ID2D1Brush> brush = CreateBrushForPattern(aSource, aOptions.mAlpha);
   mDC->FillOpacityMask(bitmap, brush, D2D1_OPACITY_MASK_CONTENT_GRAPHICS,
                        D2DRect(dest), D2DRect(maskRect));
 
   mDC->SetAntialiasMode(D2D1_ANTIALIAS_MODE_PER_PRIMITIVE);
 
   FinalizeDrawing(aOptions.mCompositionOp, aSource);
 }
@@ -968,16 +971,17 @@ void DrawTargetD2D1::PushLayer(bool aOpa
   RefPtr<ID2D1PathGeometry> clip;
 
   if (aMask) {
     RefPtr<ID2D1Image> image =
         GetImageForSurface(aMask, maskTransform, ExtendMode::CLAMP);
     mDC->SetTransform(D2D1::IdentityMatrix());
     mTransformDirty = true;
 
+    maskTransform = maskTransform.PreTranslate(aMask->GetRect().X(), aMask->GetRect().Y());
     // The mask is given in user space. Our layer will apply it in device space.
     maskTransform = maskTransform * mTransform;
 
     if (image) {
       IntSize maskSize = aMask->GetSize();
       HRESULT hr = mDC->CreateImageBrush(
           image,
           D2D1::ImageBrushProperties(
--- a/gfx/thebes/gfxFontUtils.cpp
+++ b/gfx/thebes/gfxFontUtils.cpp
@@ -930,25 +930,24 @@ gfxUserFontType gfxFontUtils::DetermineF
     const SFNTHeader* sfntHeader =
         reinterpret_cast<const SFNTHeader*>(aFontData);
     uint32_t sfntVersion = sfntHeader->sfntVersion;
     if (IsValidSFNTVersion(sfntVersion)) {
       return GFX_USERFONT_OPENTYPE;
     }
   }
 
-  // test for WOFF
+  // test for WOFF or WOFF2
   if (aFontDataLength >= sizeof(AutoSwap_PRUint32)) {
     const AutoSwap_PRUint32* version =
         reinterpret_cast<const AutoSwap_PRUint32*>(aFontData);
     if (uint32_t(*version) == TRUETYPE_TAG('w', 'O', 'F', 'F')) {
       return GFX_USERFONT_WOFF;
     }
-    if (Preferences::GetBool(GFX_PREF_WOFF2_ENABLED) &&
-        uint32_t(*version) == TRUETYPE_TAG('w', 'O', 'F', '2')) {
+    if (uint32_t(*version) == TRUETYPE_TAG('w', 'O', 'F', '2')) {
       return GFX_USERFONT_WOFF2;
     }
   }
 
   // tests for other formats here
 
   return GFX_USERFONT_UNKNOWN;
 }
--- a/gfx/thebes/gfxFontUtils.h
+++ b/gfx/thebes/gfxFontUtils.h
@@ -833,17 +833,16 @@ struct FontDataOverlay {
 
 enum gfxUserFontType {
   GFX_USERFONT_UNKNOWN = 0,
   GFX_USERFONT_OPENTYPE = 1,
   GFX_USERFONT_SVG = 2,
   GFX_USERFONT_WOFF = 3,
   GFX_USERFONT_WOFF2 = 4
 };
-#define GFX_PREF_WOFF2_ENABLED "gfx.downloadable_fonts.woff2.enabled"
 
 extern const uint8_t sCJKCompatSVSTable[];
 
 class gfxFontUtils {
  public:
   // these are public because gfxFont.cpp also looks into the name table
   enum {
     NAME_ID_FAMILY = 1,
--- a/gfx/webrender_bindings/src/bindings.rs
+++ b/gfx/webrender_bindings/src/bindings.rs
@@ -572,17 +572,17 @@ extern "C" {
                                document_id_array: *const WrDocumentId,
                                document_id_count: usize,
                                pipeline_info: WrPipelineInfo);
 
     fn wr_transaction_notification_notified(handler: usize, when: Checkpoint);
 }
 
 impl RenderNotifier for CppNotifier {
-    fn clone(&self) -> Box<RenderNotifier> {
+    fn clone(&self) -> Box<dyn RenderNotifier> {
         Box::new(CppNotifier {
             window_id: self.window_id,
         })
     }
 
     fn wake_up(&self) {
         unsafe {
             wr_notifier_wake_up(self.window_id);
@@ -1162,17 +1162,17 @@ pub extern "C" fn wr_window_new(window_i
                                 enclosing_size_of_op: VoidPtrToSizeFn,
                                 document_id: u32,
                                 out_handle: &mut *mut DocumentHandle,
                                 out_renderer: &mut *mut Renderer,
                                 out_max_texture_size: *mut i32)
                                 -> bool {
     assert!(unsafe { is_in_render_thread() });
 
-    let recorder: Option<Box<ApiRecordingReceiver>> = if unsafe { gfx_use_wrench() } {
+    let recorder: Option<Box<dyn ApiRecordingReceiver>> = if unsafe { gfx_use_wrench() } {
         let name = format!("wr-record-{}.bin", window_id.0);
         Some(Box::new(BinaryRecorder::new(&PathBuf::from(name))))
     } else {
         None
     };
 
     let gl;
     if unsafe { is_glcontext_egl(gl_context) } {
--- a/gfx/webrender_bindings/src/moz2d_renderer.rs
+++ b/gfx/webrender_bindings/src/moz2d_renderer.rs
@@ -585,17 +585,17 @@ impl BlobImageHandler for Moz2dBlobImage
             _ => { panic!("missing image key"); }
         }
     }
 
     fn delete(&mut self, key: BlobImageKey) {
         self.blob_commands.remove(&key);
     }
 
-    fn create_blob_rasterizer(&mut self) -> Box<AsyncBlobImageRasterizer> {
+    fn create_blob_rasterizer(&mut self) -> Box<dyn AsyncBlobImageRasterizer> {
         Box::new(Moz2dBlobRasterizer {
             workers: Arc::clone(&self.workers),
             blob_commands: self.blob_commands.clone(),
         })
     }
 
     fn delete_font(&mut self, font: FontKey) {
         unsafe { DeleteFontData(font); }
@@ -606,17 +606,17 @@ impl BlobImageHandler for Moz2dBlobImage
     }
 
     fn clear_namespace(&mut self, namespace: IdNamespace) {
         unsafe { ClearBlobImageResources(namespace); }
     }
 
     fn prepare_resources(
         &mut self,
-        resources: &BlobImageResources,
+        resources: &dyn BlobImageResources,
         requests: &[BlobImageParams]
     ) {
         for params in requests {
             let commands = &self.blob_commands[&params.request.key];
             let blob = Arc::clone(&commands.data);
             self.prepare_request(&blob, resources);
         }
     }
@@ -650,17 +650,17 @@ impl Moz2dBlobImageHandler {
             blob_commands: HashMap::new(),
             workers: workers,
         }
     }
 
     /// Does early preprocessing of a blob's resources.
     ///
     /// Currently just sets up fonts found in the blob.
-    fn prepare_request(&self, blob: &[u8], resources: &BlobImageResources) {
+    fn prepare_request(&self, blob: &[u8], resources: &dyn BlobImageResources) {
         #[cfg(target_os = "windows")]
         fn process_native_font_handle(key: FontKey, handle: &NativeFontHandle) {
             let file = dwrote::FontFile::new_from_path(&handle.path).unwrap();
             let face = file.create_face(handle.index, dwrote::DWRITE_FONT_SIMULATIONS_NONE).unwrap();
             unsafe { AddNativeFontHandle(key, face.as_ptr() as *mut c_void, 0) };
         }
 
         #[cfg(target_os = "macos")]
@@ -671,17 +671,17 @@ impl Moz2dBlobImageHandler {
         #[cfg(not(any(target_os = "macos", target_os = "windows")))]
         fn process_native_font_handle(key: FontKey, handle: &NativeFontHandle) {
             let cstr = CString::new(handle.path.as_os_str().as_bytes()).unwrap();
             unsafe { AddNativeFontHandle(key, cstr.as_ptr() as *mut c_void, handle.index) };
         }
 
         fn process_fonts(
             mut extra_data: BufReader,
-            resources: &BlobImageResources,
+            resources: &dyn BlobImageResources,
             unscaled_fonts: &mut Vec<FontKey>,
             scaled_fonts: &mut Vec<FontInstanceKey>,
         ) {
             let font_count = extra_data.read_usize();
             for _ in 0..font_count {
                 let font = extra_data.read_blob_font();
                 if scaled_fonts.contains(&font.font_instance_key) {
                     continue;
--- a/gfx/wr/Cargo.toml
+++ b/gfx/wr/Cargo.toml
@@ -1,19 +1,18 @@
 [workspace]
-license = "MPL-2.0"
 members = [
     "direct-composition",
     "examples",
     "webrender",
     "webrender_api",
     "wrench",
 ]
 
 [profile.release]
 debug = true
 panic = "abort"
 
 [profile.dev]
 panic = "abort"
 
 [patch.crates-io]
-serde_derive = { git = "https://github.com/servo/serde", branch = "deserialize_from_enums10", feature="deserialize_in_place" }
+serde_derive = { git = "https://github.com/servo/serde", branch = "deserialize_from_enums10" }
--- a/gfx/wr/examples/blob.rs
+++ b/gfx/wr/examples/blob.rs
@@ -149,24 +149,24 @@ impl api::BlobImageHandler for Checkerbo
     }
 
     fn delete(&mut self, key: api::BlobImageKey) {
         self.image_cmds.remove(&key);
     }
 
     fn prepare_resources(
         &mut self,
-        _services: &api::BlobImageResources,
+        _services: &dyn api::BlobImageResources,
         _requests: &[api::BlobImageParams],
     ) {}
 
     fn delete_font(&mut self, _font: api::FontKey) {}
     fn delete_font_instance(&mut self, _instance: api::FontInstanceKey) {}
     fn clear_namespace(&mut self, _namespace: api::IdNamespace) {}
-    fn create_blob_rasterizer(&mut self) -> Box<api::AsyncBlobImageRasterizer> {
+    fn create_blob_rasterizer(&mut self) -> Box<dyn api::AsyncBlobImageRasterizer> {
         Box::new(Rasterizer {
             workers: Arc::clone(&self.workers),
             image_cmds: self.image_cmds.clone(),
         })
     }
 }
 
 struct Rasterizer {
--- a/gfx/wr/examples/common/boilerplate.rs
+++ b/gfx/wr/examples/common/boilerplate.rs
@@ -22,17 +22,17 @@ struct Notifier {
 
 impl Notifier {
     fn new(events_proxy: winit::EventsLoopProxy) -> Notifier {
         Notifier { events_proxy }
     }
 }
 
 impl RenderNotifier for Notifier {
-    fn clone(&self) -> Box<RenderNotifier> {
+    fn clone(&self) -> Box<dyn RenderNotifier> {
         Box::new(Notifier {
             events_proxy: self.events_proxy.clone(),
         })
     }
 
     fn wake_up(&self) {
         #[cfg(not(target_os = "android"))]
         let _ = self.events_proxy.wakeup();
@@ -89,22 +89,22 @@ pub trait Example {
         _: winit::WindowEvent,
         _: &RenderApi,
         _: DocumentId,
     ) -> bool {
         false
     }
     fn get_image_handlers(
         &mut self,
-        _gl: &gl::Gl,
-    ) -> (Option<Box<webrender::ExternalImageHandler>>,
-          Option<Box<webrender::OutputImageHandler>>) {
+        _gl: &dyn gl::Gl,
+    ) -> (Option<Box<dyn webrender::ExternalImageHandler>>,
+          Option<Box<dyn webrender::OutputImageHandler>>) {
         (None, None)
     }
-    fn draw_custom(&mut self, _gl: &gl::Gl) {
+    fn draw_custom(&mut self, _gl: &dyn gl::Gl) {
     }
 }
 
 pub fn main_wrapper<E: Example>(
     example: &mut E,
     options: Option<webrender::RendererOptions>,
 ) {
     env_logger::init();
--- a/gfx/wr/examples/frame_output.rs
+++ b/gfx/wr/examples/frame_output.rs
@@ -178,19 +178,19 @@ impl Example for App {
             ColorF::WHITE,
         );
 
         builder.pop_stacking_context();
     }
 
     fn get_image_handlers(
         &mut self,
-        gl: &gl::Gl,
-    ) -> (Option<Box<webrender::ExternalImageHandler>>,
-          Option<Box<webrender::OutputImageHandler>>) {
+        gl: &dyn gl::Gl,
+    ) -> (Option<Box<dyn webrender::ExternalImageHandler>>,
+          Option<Box<dyn webrender::OutputImageHandler>>) {
         let texture_id = gl.gen_textures(1)[0];
 
         gl.bind_texture(gl::TEXTURE_2D, texture_id);
         gl.tex_parameter_i(
             gl::TEXTURE_2D,
             gl::TEXTURE_MAG_FILTER,
             gl::LINEAR as gl::GLint,
         );
--- a/gfx/wr/examples/multiwindow.rs
+++ b/gfx/wr/examples/multiwindow.rs
@@ -23,17 +23,17 @@ struct Notifier {
 
 impl Notifier {
     fn new(events_proxy: winit::EventsLoopProxy) -> Notifier {
         Notifier { events_proxy }
     }
 }
 
 impl RenderNotifier for Notifier {
-    fn clone(&self) -> Box<RenderNotifier> {
+    fn clone(&self) -> Box<dyn RenderNotifier> {
         Box::new(Notifier {
             events_proxy: self.events_proxy.clone(),
         })
     }
 
     fn wake_up(&self) {
         #[cfg(not(target_os = "android"))]
         let _ = self.events_proxy.wakeup();
--- a/gfx/wr/examples/texture_cache_stress.rs
+++ b/gfx/wr/examples/texture_cache_stress.rs
@@ -299,19 +299,19 @@ impl Example for App {
             _ => {}
         }
 
         false
     }
 
     fn get_image_handlers(
         &mut self,
-        _gl: &gl::Gl,
-    ) -> (Option<Box<webrender::ExternalImageHandler>>,
-          Option<Box<webrender::OutputImageHandler>>) {
+        _gl: &dyn gl::Gl,
+    ) -> (Option<Box<dyn webrender::ExternalImageHandler>>,
+          Option<Box<dyn webrender::OutputImageHandler>>) {
         (Some(Box::new(ImageGenerator::new())), None)
     }
 }
 
 fn main() {
     let mut app = App {
         image_key: None,
         stress_keys: Vec::new(),
--- a/gfx/wr/examples/yuv.rs
+++ b/gfx/wr/examples/yuv.rs
@@ -16,17 +16,17 @@ use webrender::api::*;
 use webrender::api::units::*;
 
 
 fn init_gl_texture(
     id: gl::GLuint,
     internal: gl::GLenum,
     external: gl::GLenum,
     bytes: &[u8],
-    gl: &gl::Gl,
+    gl: &dyn gl::Gl,
 ) {
     gl.bind_texture(gl::TEXTURE_2D, id);
     gl.tex_parameter_i(gl::TEXTURE_2D, gl::TEXTURE_MAG_FILTER, gl::LINEAR as gl::GLint);
     gl.tex_parameter_i(gl::TEXTURE_2D, gl::TEXTURE_MIN_FILTER, gl::LINEAR as gl::GLint);
     gl.tex_parameter_i(gl::TEXTURE_2D, gl::TEXTURE_WRAP_S, gl::CLAMP_TO_EDGE as gl::GLint);
     gl.tex_parameter_i(gl::TEXTURE_2D, gl::TEXTURE_WRAP_T, gl::CLAMP_TO_EDGE as gl::GLint);
     gl.tex_image_2d(
         gl::TEXTURE_2D,
@@ -42,17 +42,17 @@ fn init_gl_texture(
     gl.bind_texture(gl::TEXTURE_2D, 0);
 }
 
 struct YuvImageProvider {
     texture_ids: Vec<gl::GLuint>,
 }
 
 impl YuvImageProvider {
-    fn new(gl: &gl::Gl) -> Self {
+    fn new(gl: &dyn gl::Gl) -> Self {
         let texture_ids = gl.gen_textures(4);
 
         init_gl_texture(texture_ids[0], gl::RED, gl::RED, &[127; 100 * 100], gl);
         init_gl_texture(texture_ids[1], gl::RG8, gl::RG, &[0; 100 * 100 * 2], gl);
         init_gl_texture(texture_ids[2], gl::RED, gl::RED, &[127; 100 * 100], gl);
         init_gl_texture(texture_ids[3], gl::RED, gl::RED, &[127; 100 * 100], gl);
 
         YuvImageProvider {
@@ -190,25 +190,25 @@ impl Example for App {
         _api: &RenderApi,
         _document_id: DocumentId,
     ) -> bool {
         false
     }
 
     fn get_image_handlers(
         &mut self,
-        gl: &gl::Gl,
-    ) -> (Option<Box<webrender::ExternalImageHandler>>,
-          Option<Box<webrender::OutputImageHandler>>) {
+        gl: &dyn gl::Gl,
+    ) -> (Option<Box<dyn webrender::ExternalImageHandler>>,
+          Option<Box<dyn webrender::OutputImageHandler>>) {
         let provider = YuvImageProvider::new(gl);
         self.texture_id = provider.texture_ids[0];
         (Some(Box::new(provider)), None)
     }
 
-    fn draw_custom(&mut self, gl: &gl::Gl) {
+    fn draw_custom(&mut self, gl: &dyn gl::Gl) {
         init_gl_texture(self.texture_id, gl::RED, gl::RED, &[self.current_value; 100 * 100], gl);
         self.current_value = self.current_value.wrapping_add(1);
     }
 }
 
 fn main() {
     let mut app = App {
         texture_id: 0,
--- a/gfx/wr/webrender/src/device/gl.rs
+++ b/gfx/wr/webrender/src/device/gl.rs
@@ -161,17 +161,17 @@ pub fn get_gl_target(target: TextureTarg
         TextureTarget::External => gl::TEXTURE_EXTERNAL_OES,
     }
 }
 
 fn supports_extension(extensions: &[String], extension: &str) -> bool {
     extensions.iter().any(|s| s == extension)
 }
 
-fn get_shader_version(gl: &gl::Gl) -> &'static str {
+fn get_shader_version(gl: &dyn gl::Gl) -> &'static str {
     match gl.get_type() {
         gl::GlType::Gl => SHADER_VERSION_GL,
         gl::GlType::Gles => SHADER_VERSION_GLES,
     }
 }
 
 // Get a shader string by name, from the built in resources or
 // an override path, if supplied.
@@ -290,17 +290,17 @@ impl VertexAttribute {
     }
 
     fn bind_to_vao(
         &self,
         attr_index: gl::GLuint,
         divisor: gl::GLuint,
         stride: gl::GLint,
         offset: gl::GLuint,
-        gl: &gl::Gl,
+        gl: &dyn gl::Gl,
     ) {
         gl.enable_vertex_attrib_array(attr_index);
         gl.vertex_attrib_divisor(attr_index, divisor);
 
         match self.kind {
             VertexAttributeKind::F32 => {
                 gl.vertex_attrib_pointer(
                     attr_index,
@@ -360,17 +360,17 @@ impl VertexDescriptor {
             .map(|attr| attr.size_in_bytes())
             .sum()
     }
 
     fn bind_attributes(
         attributes: &[VertexAttribute],
         start_index: usize,
         divisor: u32,
-        gl: &gl::Gl,
+        gl: &dyn gl::Gl,
         vbo: VBOId,
     ) {
         vbo.bind(gl);
 
         let stride: u32 = attributes
             .iter()
             .map(|attr| attr.size_in_bytes())
             .sum();
@@ -378,43 +378,43 @@ impl VertexDescriptor {
         let mut offset = 0;
         for (i, attr) in attributes.iter().enumerate() {
             let attr_index = (start_index + i) as gl::GLuint;
             attr.bind_to_vao(attr_index, divisor, stride as _, offset, gl);
             offset += attr.size_in_bytes();
         }
     }
 
-    fn bind(&self, gl: &gl::Gl, main: VBOId, instance: VBOId) {
+    fn bind(&self, gl: &dyn gl::Gl, main: VBOId, instance: VBOId) {
         Self::bind_attributes(self.vertex_attributes, 0, 0, gl, main);
 
         if !self.instance_attributes.is_empty() {
             Self::bind_attributes(
                 self.instance_attributes,
                 self.vertex_attributes.len(),
                 1, gl, instance,
             );
         }
     }
 }
 
 impl VBOId {
-    fn bind(&self, gl: &gl::Gl) {
+    fn bind(&self, gl: &dyn gl::Gl) {
         gl.bind_buffer(gl::ARRAY_BUFFER, self.0);
     }
 }
 
 impl IBOId {
-    fn bind(&self, gl: &gl::Gl) {
+    fn bind(&self, gl: &dyn gl::Gl) {
         gl.bind_buffer(gl::ELEMENT_ARRAY_BUFFER, self.0);
     }
 }
 
 impl FBOId {
-    fn bind(&self, gl: &gl::Gl, target: FBOTarget) {
+    fn bind(&self, gl: &dyn gl::Gl, target: FBOTarget) {
         let target = match target {
             FBOTarget::Read => gl::READ_FRAMEBUFFER,
             FBOTarget::Draw => gl::DRAW_FRAMEBUFFER,
         };
         gl.bind_framebuffer(target, self.0);
     }
 }
 
@@ -811,21 +811,21 @@ struct ProgramCacheEntry {
 pub struct ProgramCache {
     entries: RefCell<FastHashMap<ProgramSourceDigest, ProgramCacheEntry>>,
 
     /// True if we've already updated the disk cache with the shaders used during startup.
     updated_disk_cache: Cell<bool>,
 
     /// Optional trait object that allows the client
     /// application to handle ProgramCache updating
-    program_cache_handler: Option<Box<ProgramCacheObserver>>,
+    program_cache_handler: Option<Box<dyn ProgramCacheObserver>>,
 }
 
 impl ProgramCache {
-    pub fn new(program_cache_observer: Option<Box<ProgramCacheObserver>>) -> Rc<Self> {
+    pub fn new(program_cache_observer: Option<Box<dyn ProgramCacheObserver>>) -> Rc<Self> {
         Rc::new(
             ProgramCache {
                 entries: RefCell::new(FastHashMap::default()),
                 updated_disk_cache: Cell::new(false),
                 program_cache_handler: program_cache_observer,
             }
         )
     }
@@ -935,21 +935,21 @@ impl Drop for SharedDepthTarget {
 #[derive(PartialEq, Debug)]
 enum TexStorageUsage {
     Never,
     NonBGRA8,
     Always,
 }
 
 pub struct Device {
-    gl: Rc<gl::Gl>,
+    gl: Rc<dyn gl::Gl>,
 
     /// If non-None, |gl| points to a profiling wrapper, and this points to the
     /// underling Gl instance.
-    base_gl: Option<Rc<gl::Gl>>,
+    base_gl: Option<Rc<dyn gl::Gl>>,
 
     // device state
     bound_textures: [gl::GLuint; 16],
     bound_program: gl::GLuint,
     bound_vao: gl::GLuint,
     bound_read_fbo: FBOId,
     bound_draw_fbo: FBOId,
     program_mode_id: UniformLocation,
@@ -1168,17 +1168,17 @@ impl From<DrawTarget> for ReadTarget {
             DrawTarget::External { fbo, .. } =>
                 ReadTarget::External { fbo },
         }
     }
 }
 
 impl Device {
     pub fn new(
-        mut gl: Rc<gl::Gl>,
+        mut gl: Rc<dyn gl::Gl>,
         resource_override_path: Option<PathBuf>,
         upload_method: UploadMethod,
         cached_programs: Option<Rc<ProgramCache>>,
         allow_pixel_local_storage_support: bool,
         dump_shader_source: Option<String>,
     ) -> Device {
         let mut max_texture_size = [0];
         let mut max_texture_layers = [0];
@@ -1360,21 +1360,21 @@ impl Device {
             frame_id: GpuFrameId(0),
             extensions,
             texture_storage_usage,
             optimal_pbo_stride,
             dump_shader_source,
         }
     }
 
-    pub fn gl(&self) -> &gl::Gl {
+    pub fn gl(&self) -> &dyn gl::Gl {
         &*self.gl
     }
 
-    pub fn rc_gl(&self) -> &Rc<gl::Gl> {
+    pub fn rc_gl(&self) -> &Rc<dyn gl::Gl> {
         &self.gl
     }
 
     pub fn update_program_cache(&mut self, cached_programs: Rc<ProgramCache>) {
         self.cached_programs = Some(cached_programs);
     }
 
     /// Ensures that the maximum texture size is less than or equal to the
@@ -1420,17 +1420,17 @@ impl Device {
             _ => return,
         };
         for (line, prefix) in source.lines().skip(base_line_number).zip(&["|",">","|"]) {
             error!("{}\t{}", prefix, line);
         }
     }
 
     pub fn compile_shader(
-        gl: &gl::Gl,
+        gl: &dyn gl::Gl,
         name: &str,
         shader_type: gl::GLenum,
         source: &String,
     ) -> Result<gl::GLuint, ShaderError> {
         debug!("compile {}", name);
         let id = gl.create_shader(shader_type);
         gl.shader_source(id, &[source.as_bytes()]);
         gl.compile_shader(id);
@@ -3152,17 +3152,17 @@ impl Device {
     }
 
     pub fn echo_driver_messages(&self) {
         if self.capabilities.supports_khr_debug {
             Device::log_driver_messages(self.gl());
         }
     }
 
-    fn log_driver_messages(gl: &gl::Gl) {
+    fn log_driver_messages(gl: &dyn gl::Gl) {
         for msg in gl.get_debug_messages() {
             let level = match msg.severity {
                 gl::DEBUG_SEVERITY_HIGH => Level::Error,
                 gl::DEBUG_SEVERITY_MEDIUM => Level::Warn,
                 gl::DEBUG_SEVERITY_LOW => Level::Info,
                 gl::DEBUG_SEVERITY_NOTIFICATION => Level::Debug,
                 _ => Level::Trace,
             };
@@ -3287,17 +3287,17 @@ impl PixelBuffer {
             size_allocated,
             size_used: 0,
             chunks: SmallVec::new(),
         }
     }
 }
 
 struct UploadTarget<'a> {
-    gl: &'a gl::Gl,
+    gl: &'a dyn gl::Gl,
     bgra_format: gl::GLuint,
     optimal_pbo_stride: NonZeroUsize,
     texture: &'a Texture,
 }
 
 pub struct TextureUploader<'a, T> {
     target: UploadTarget<'a>,
     buffer: Option<PixelBuffer>,
--- a/gfx/wr/webrender/src/device/query_gl.rs
+++ b/gfx/wr/webrender/src/device/query_gl.rs
@@ -65,26 +65,26 @@ impl<T> QuerySet<T> {
         for (value, &query) in data.iter_mut().zip(self.set.iter()) {
             fun(value, query)
         }
         data
     }
 }
 
 pub struct GpuFrameProfile<T> {
-    gl: Rc<gl::Gl>,
+    gl: Rc<dyn gl::Gl>,
     timers: QuerySet<GpuTimer<T>>,
     samplers: QuerySet<GpuSampler<T>>,
     frame_id: GpuFrameId,
     inside_frame: bool,
     debug_method: GpuDebugMethod,
 }
 
 impl<T> GpuFrameProfile<T> {
-    fn new(gl: Rc<gl::Gl>, debug_method: GpuDebugMethod) -> Self {
+    fn new(gl: Rc<dyn gl::Gl>, debug_method: GpuDebugMethod) -> Self {
         GpuFrameProfile {
             gl,
             timers: QuerySet::new(),
             samplers: QuerySet::new(),
             frame_id: GpuFrameId::new(0),
             inside_frame: false,
             debug_method
         }
@@ -184,24 +184,24 @@ impl<T: NamedTag> GpuFrameProfile<T> {
 impl<T> Drop for GpuFrameProfile<T> {
     fn drop(&mut self) {
         self.disable_timers();
         self.disable_samplers();
     }
 }
 
 pub struct GpuProfiler<T> {
-    gl: Rc<gl::Gl>,
+    gl: Rc<dyn gl::Gl>,
     frames: Vec<GpuFrameProfile<T>>,
     next_frame: usize,
     debug_method: GpuDebugMethod
 }
 
 impl<T> GpuProfiler<T> {
-    pub fn new(gl: Rc<gl::Gl>, debug_method: GpuDebugMethod) -> Self {
+    pub fn new(gl: Rc<dyn gl::Gl>, debug_method: GpuDebugMethod) -> Self {
         const MAX_PROFILE_FRAMES: usize = 4;
         let frames = (0 .. MAX_PROFILE_FRAMES)
             .map(|_| GpuFrameProfile::new(Rc::clone(&gl), debug_method))
             .collect();
 
         GpuProfiler {
             gl,
             next_frame: 0,
@@ -274,36 +274,36 @@ impl<T: NamedTag> GpuProfiler<T> {
 
     pub fn place_marker(&mut self, label: &str) {
         GpuMarker::fire(&self.gl, label, self.debug_method)
     }
 }
 
 #[must_use]
 pub struct GpuMarker {
-    gl: Option<(Rc<gl::Gl>, GpuDebugMethod)>,
+    gl: Option<(Rc<dyn gl::Gl>, GpuDebugMethod)>,
 }
 
 impl GpuMarker {
-    fn new(gl: &Rc<gl::Gl>, message: &str, debug_method: GpuDebugMethod) -> Self {
+    fn new(gl: &Rc<dyn gl::Gl>, message: &str, debug_method: GpuDebugMethod) -> Self {
         let gl = match debug_method {
             GpuDebugMethod::KHR => {
               gl.push_debug_group_khr(gl::DEBUG_SOURCE_APPLICATION, 0, message);
               Some((Rc::clone(gl), debug_method))
             },
             GpuDebugMethod::MarkerEXT => {
               gl.push_group_marker_ext(message);
               Some((Rc::clone(gl), debug_method))
             },
             GpuDebugMethod::None => None,
         };
         GpuMarker { gl }
     }
 
-    fn fire(gl: &Rc<gl::Gl>, message: &str, debug_method: GpuDebugMethod) {
+    fn fire(gl: &Rc<dyn gl::Gl>, message: &str, debug_method: GpuDebugMethod) {
         match debug_method {
             GpuDebugMethod::KHR => gl.debug_message_insert_khr(gl::DEBUG_SOURCE_APPLICATION, gl::DEBUG_TYPE_MARKER, 0, gl::DEBUG_SEVERITY_NOTIFICATION, message),
             GpuDebugMethod::MarkerEXT => gl.insert_event_marker_ext(message),
             GpuDebugMethod::None => {}
         };
     }
 }
 
--- a/gfx/wr/webrender/src/glyph_rasterizer/mod.rs
+++ b/gfx/wr/webrender/src/glyph_rasterizer/mod.rs
@@ -390,19 +390,19 @@ impl SubpixelOffset {
         // [0.125, 0.375) -> Quarter
         // [0.375, 0.625) -> Half
         // [0.625, 0.875) -> ThreeQuarters,
         // [0.875, 1.0) -> Zero
         // The unit tests below check for this.
         let apos = ((pos - pos.floor()) * 8.0) as i32;
 
         match apos {
-            1...2 => SubpixelOffset::Quarter,
-            3...4 => SubpixelOffset::Half,
-            5...6 => SubpixelOffset::ThreeQuarters,
+            1..=2 => SubpixelOffset::Quarter,
+            3..=4 => SubpixelOffset::Half,
+            5..=6 => SubpixelOffset::ThreeQuarters,
             _ => SubpixelOffset::Zero,
         }
     }
 }
 
 impl Into<f64> for SubpixelOffset {
     fn into(self) -> f64 {
         match self {
--- a/gfx/wr/webrender/src/gpu_cache.rs
+++ b/gfx/wr/webrender/src/gpu_cache.rs
@@ -386,26 +386,26 @@ impl FreeBlockLists {
         // chunks, and there's no reason we shouldn't pack these three to a row.
         // This means the allocation statistics will under-report by one block
         // for each row using 341-block buckets, which is fine.
         debug_assert_eq!(MAX_VERTEX_TEXTURE_WIDTH, 1024, "Need to update bucketing");
         match block_count {
             0 => panic!("Can't allocate zero sized blocks!"),
             1 => (1, &mut self.free_list_1),
             2 => (2, &mut self.free_list_2),
-            3...4 => (4, &mut self.free_list_4),
-            5...8 => (8, &mut self.free_list_8),
-            9...16 => (16, &mut self.free_list_16),
-            17...32 => (32, &mut self.free_list_32),
-            33...64 => (64, &mut self.free_list_64),
-            65...128 => (128, &mut self.free_list_128),
-            129...256 => (256, &mut self.free_list_256),
-            257...341 => (341, &mut self.free_list_341),
-            342...512 => (512, &mut self.free_list_512),
-            513...1024 => (1024, &mut self.free_list_1024),
+            3..=4 => (4, &mut self.free_list_4),
+            5..=8 => (8, &mut self.free_list_8),
+            9..=16 => (16, &mut self.free_list_16),
+            17..=32 => (32, &mut self.free_list_32),
+            33..=64 => (64, &mut self.free_list_64),
+            65..=128 => (128, &mut self.free_list_128),
+            129..=256 => (256, &mut self.free_list_256),
+            257..=341 => (341, &mut self.free_list_341),
+            342..=512 => (512, &mut self.free_list_512),
+            513..=1024 => (1024, &mut self.free_list_1024),
             _ => panic!("Can't allocate > MAX_VERTEX_TEXTURE_WIDTH per resource!"),
         }
     }
 }
 
 // CPU-side representation of the GPU resource cache texture.
 #[cfg_attr(feature = "capture", derive(Serialize))]
 #[cfg_attr(feature = "replay", derive(Deserialize))]
--- a/gfx/wr/webrender/src/image.rs
+++ b/gfx/wr/webrender/src/image.rs
@@ -568,17 +568,17 @@ mod tests {
     use euclid::rect;
 
     // this checks some additional invariants
     fn checked_for_each_tile(
         prim_rect: &LayoutRect,
         visible_rect: &LayoutRect,
         device_image_rect: &DeviceIntRect,
         device_tile_size: i32,
-        callback: &mut FnMut(&LayoutRect, TileOffset, EdgeAaSegmentMask),
+        callback: &mut dyn FnMut(&LayoutRect, TileOffset, EdgeAaSegmentMask),
     ) {
         let mut coverage = LayoutRect::zero();
         let mut seen_tiles = HashSet::new();
         for tile in tiles(
             prim_rect,
             visible_rect,
             device_image_rect,
             device_tile_size,
--- a/gfx/wr/webrender/src/prim_store/mod.rs
+++ b/gfx/wr/webrender/src/prim_store/mod.rs
@@ -3175,17 +3175,17 @@ fn write_segment<F>(
 fn decompose_repeated_primitive(
     combined_local_clip_rect: &LayoutRect,
     prim_local_rect: &LayoutRect,
     stretch_size: &LayoutSize,
     tile_spacing: &LayoutSize,
     frame_state: &mut FrameBuildingState,
     gradient_tiles: &mut GradientTileStorage,
     map_local_to_pic: &SpaceMapper<LayoutPixel, PicturePixel>,
-    callback: &mut FnMut(&LayoutRect, GpuDataRequest),
+    callback: &mut dyn FnMut(&LayoutRect, GpuDataRequest),
 ) -> GradientTileRange {
     let mut visible_tiles = Vec::new();
 
     // Tighten the clip rect because decomposing the repeated image can
     // produce primitives that are partially covering the original image
     // rect and we want to clip these extra parts out.
     let tight_clip_rect = combined_local_clip_rect
         .intersection(prim_local_rect).unwrap();
--- a/gfx/wr/webrender/src/profiler.rs
+++ b/gfx/wr/webrender/src/profiler.rs
@@ -41,22 +41,22 @@ pub trait ProfilerHooks : Send + Sync {
     /// whether the event will qualify.
     fn add_text_marker(&self, label: &CStr, text: &str, duration: Duration);
 
     /// Returns true if the current thread is being profiled.
     fn thread_is_being_profiled(&self) -> bool;
 }
 
 /// The current global profiler callbacks, if set by embedder.
-pub static mut PROFILER_HOOKS: Option<&'static ProfilerHooks> = None;
+pub static mut PROFILER_HOOKS: Option<&'static dyn ProfilerHooks> = None;
 
 /// Set the profiler callbacks, or None to disable the profiler.
 /// This function must only ever be called before any WR instances
 /// have been created, or the hooks will not be set.
-pub fn set_profiler_hooks(hooks: Option<&'static ProfilerHooks>) {
+pub fn set_profiler_hooks(hooks: Option<&'static dyn ProfilerHooks>) {
     if !wr_has_been_initialized() {
         unsafe {
             PROFILER_HOOKS = hooks;
         }
     }
 }
 
 /// A simple RAII style struct to manage a profile scope.
@@ -1148,17 +1148,17 @@ impl Profiler {
 
     fn draw_compact_profile(
         &mut self,
         renderer_profile: &RendererProfileCounters,
         debug_renderer: &mut DebugRenderer,
     ) {
         Profiler::draw_counters(
             &[
-                &renderer_profile.frame_time as &ProfileCounter,
+                &renderer_profile.frame_time as &dyn ProfileCounter,
                 &renderer_profile.color_targets,
                 &renderer_profile.alpha_targets,
                 &renderer_profile.draw_calls,
                 &renderer_profile.vertices,
                 &renderer_profile.texture_data_uploaded,
                 &self.ipc_time,
                 &self.backend_time,
                 &self.renderer_time,
@@ -1177,17 +1177,17 @@ impl Profiler {
         renderer_profile: &RendererProfileCounters,
         renderer_timers: &mut RendererProfileTimers,
         gpu_samplers: &[GpuSampler<GpuProfileTag>],
         screen_fraction: f32,
         debug_renderer: &mut DebugRenderer,
     ) {
         Profiler::draw_counters(
             &[
-                &renderer_profile.frame_time as &ProfileCounter,
+                &renderer_profile.frame_time as &dyn ProfileCounter,
                 &renderer_profile.frame_counter,
                 &renderer_profile.color_targets,
                 &renderer_profile.alpha_targets,
                 &renderer_profile.texture_data_uploaded,
             ],
             debug_renderer,
             true,
             &mut self.draw_state
@@ -1273,18 +1273,18 @@ impl Profiler {
                         value,
                     }),
                 }
             }
             samplers.push(PercentageProfileCounter {
                 description: "Total",
                 value: total,
             });
-            let samplers: Vec<&ProfileCounter> = samplers.iter().map(|sampler| {
-                sampler as &ProfileCounter
+            let samplers: Vec<&dyn ProfileCounter> = samplers.iter().map(|sampler| {
+                sampler as &dyn ProfileCounter
             }).collect();
             Profiler::draw_counters(
                 &samplers,
                 debug_renderer,
                 false,
                 &mut self.draw_state,
             );
         }
--- a/gfx/wr/webrender/src/render_backend.rs
+++ b/gfx/wr/webrender/src/render_backend.rs
@@ -691,19 +691,19 @@ pub struct RenderBackend {
     default_device_pixel_ratio: f32,
 
     gpu_cache: GpuCache,
     resource_cache: ResourceCache,
 
     frame_config: FrameBuilderConfig,
     documents: FastHashMap<DocumentId, Document>,
 
-    notifier: Box<RenderNotifier>,
-    recorder: Option<Box<ApiRecordingReceiver>>,
-    sampler: Option<Box<AsyncPropertySampler + Send>>,
+    notifier: Box<dyn RenderNotifier>,
+    recorder: Option<Box<dyn ApiRecordingReceiver>>,
+    sampler: Option<Box<dyn AsyncPropertySampler + Send>>,
     size_of_ops: Option<MallocSizeOfOps>,
     debug_flags: DebugFlags,
     namespace_alloc_by_client: bool,
 
     recycler: Recycler,
 }
 
 impl RenderBackend {
@@ -711,20 +711,20 @@ impl RenderBackend {
         api_rx: MsgReceiver<ApiMsg>,
         payload_rx: Receiver<Payload>,
         result_tx: Sender<ResultMsg>,
         scene_tx: Sender<SceneBuilderRequest>,
         low_priority_scene_tx: Sender<SceneBuilderRequest>,
         scene_rx: Receiver<SceneBuilderResult>,
         default_device_pixel_ratio: f32,
         resource_cache: ResourceCache,
-        notifier: Box<RenderNotifier>,
+        notifier: Box<dyn RenderNotifier>,
         frame_config: FrameBuilderConfig,
-        recorder: Option<Box<ApiRecordingReceiver>>,
-        sampler: Option<Box<AsyncPropertySampler + Send>>,
+        recorder: Option<Box<dyn ApiRecordingReceiver>>,
+        sampler: Option<Box<dyn AsyncPropertySampler + Send>>,
         size_of_ops: Option<MallocSizeOfOps>,
         debug_flags: DebugFlags,
         namespace_alloc_by_client: bool,
     ) -> RenderBackend {
         RenderBackend {
             api_rx,
             payload_rx,
             result_tx,
--- a/gfx/wr/webrender/src/render_task.rs
+++ b/gfx/wr/webrender/src/render_task.rs
@@ -1939,17 +1939,17 @@ pub fn dump_render_tasks_as_svg(
         }
     }
 
     writeln!(output, "{}", EndSvg)
 }
 
 #[allow(dead_code)]
 fn dump_task_dependency_link(
-    output: &mut io::Write,
+    output: &mut dyn io::Write,
     x1: f32, y1: f32,
     x2: f32, y2: f32,
 ) {
     use svg_fmt::*;
 
     // If the link is a straight horizontal line and spans over multiple passes, it
     // is likely to go straight though unrelated nodes in a way that makes it look like
     // they are connected, so we bend the line upward a bit to avoid that.
--- a/gfx/wr/webrender/src/renderer.rs
+++ b/gfx/wr/webrender/src/renderer.rs
@@ -1599,17 +1599,17 @@ pub struct RendererVAOs {
 
 /// The renderer is responsible for submitting to the GPU the work prepared by the
 /// RenderBackend.
 ///
 /// We have a separate `Renderer` instance for each instance of WebRender (generally
 /// one per OS window), and all instances share the same thread.
 pub struct Renderer {
     result_rx: Receiver<ResultMsg>,
-    debug_server: Box<DebugServer>,
+    debug_server: Box<dyn DebugServer>,
     pub device: Device,
     pending_texture_updates: Vec<TextureUpdateList>,
     pending_gpu_cache_updates: Vec<GpuCacheUpdateList>,
     pending_gpu_cache_clear: bool,
     pending_shader_updates: Vec<PathBuf>,
     active_documents: Vec<(DocumentId, RenderedDocument)>,
 
     shaders: Rc<RefCell<Shaders>>,
@@ -1659,22 +1659,22 @@ pub struct Renderer {
 
     // A PBO used to do asynchronous texture cache uploads.
     texture_cache_upload_pbo: PBO,
 
     dither_matrix_texture: Option<Texture>,
 
     /// Optional trait object that allows the client
     /// application to provide external buffers for image data.
-    external_image_handler: Option<Box<ExternalImageHandler>>,
+    external_image_handler: Option<Box<dyn ExternalImageHandler>>,
 
     /// Optional trait object that allows the client
     /// application to provide a texture handle to
     /// copy the WR output to.
-    output_image_handler: Option<Box<OutputImageHandler>>,
+    output_image_handler: Option<Box<dyn OutputImageHandler>>,
 
     /// Optional function pointers for measuring memory used by a given
     /// heap-allocated pointer.
     size_of_ops: Option<MallocSizeOfOps>,
 
     // Currently allocated FBOs for output frames.
     output_targets: FastHashMap<u32, FrameOutput>,
 
@@ -1753,18 +1753,18 @@ impl Renderer {
     ///    device_pixel_ratio: 1.0,
     ///    resource_override_path: None,
     ///    enable_aa: false,
     /// };
     /// let (renderer, sender) = Renderer::new(opts);
     /// ```
     /// [rendereroptions]: struct.RendererOptions.html
     pub fn new(
-        gl: Rc<gl::Gl>,
-        notifier: Box<RenderNotifier>,
+        gl: Rc<dyn gl::Gl>,
+        notifier: Box<dyn RenderNotifier>,
         mut options: RendererOptions,
         shaders: Option<&mut WrShaders>,
         start_size: DeviceIntSize,
     ) -> Result<(Self, RenderApiSender), RendererError> {
         HAS_BEEN_INITIALIZED.store(true, Ordering::SeqCst);
 
         let (api_tx, api_rx) = channel::msg_channel()?;
         let (payload_tx, payload_rx) = channel::payload_channel()?;
@@ -2634,22 +2634,22 @@ impl Renderer {
             }
             DebugCommand::SetFlags(flags) => {
                 self.set_debug_flags(flags);
             }
         }
     }
 
     /// Set a callback for handling external images.
-    pub fn set_external_image_handler(&mut self, handler: Box<ExternalImageHandler>) {
+    pub fn set_external_image_handler(&mut self, handler: Box<dyn ExternalImageHandler>) {
         self.external_image_handler = Some(handler);
     }
 
     /// Set a callback for handling external outputs.
-    pub fn set_output_image_handler(&mut self, handler: Box<OutputImageHandler>) {
+    pub fn set_output_image_handler(&mut self, handler: Box<dyn OutputImageHandler>) {
         self.output_image_handler = Some(handler);
     }
 
     /// Retrieve (and clear) the current list of recorded frame profiles.
     pub fn get_frame_profiles(&mut self) -> (Vec<CpuProfile>, Vec<GpuProfile>) {
         let cpu_profiles = self.cpu_profiles.drain(..).collect();
         let gpu_profiles = self.gpu_profiles.drain(..).collect();
         (cpu_profiles, gpu_profiles)
@@ -4893,17 +4893,17 @@ impl Renderer {
     }
 
     fn do_debug_blit(
         device: &mut Device,
         debug_renderer: &mut DebugRenderer,
         mut textures: Vec<&Texture>,
         device_size: DeviceIntSize,
         bottom: i32,
-        select_color: &Fn(&Texture) -> [f32; 4],
+        select_color: &dyn Fn(&Texture) -> [f32; 4],
     ) {
         let mut spacing = 16;
         let mut size = 512;
 
         let fb_width = device_size.width;
         let fb_height = device_size.height;
         let num_layers: i32 = textures.iter()
             .map(|texture| texture.get_layer_count())
@@ -5356,26 +5356,26 @@ pub struct RendererOptions {
     pub renderer_kind: RendererKind,
     pub enable_subpixel_aa: bool,
     pub clear_color: Option<ColorF>,
     pub enable_clear_scissor: bool,
     pub max_texture_size: Option<i32>,
     pub scatter_gpu_cache_updates: bool,
     pub upload_method: UploadMethod,
     pub workers: Option<Arc<ThreadPool>>,
-    pub blob_image_handler: Option<Box<BlobImageHandler>>,
-    pub recorder: Option<Box<ApiRecordingReceiver>>,
-    pub thread_listener: Option<Box<ThreadListener + Send + Sync>>,
+    pub blob_image_handler: Option<Box<dyn BlobImageHandler>>,
+    pub recorder: Option<Box<dyn ApiRecordingReceiver>>,
+    pub thread_listener: Option<Box<dyn ThreadListener + Send + Sync>>,
     pub size_of_op: Option<VoidPtrToSizeFn>,
     pub enclosing_size_of_op: Option<VoidPtrToSizeFn>,
     pub cached_programs: Option<Rc<ProgramCache>>,
     pub debug_flags: DebugFlags,
     pub renderer_id: Option<u64>,
-    pub scene_builder_hooks: Option<Box<SceneBuilderHooks + Send>>,
-    pub sampler: Option<Box<AsyncPropertySampler + Send>>,
+    pub scene_builder_hooks: Option<Box<dyn SceneBuilderHooks + Send>>,
+    pub sampler: Option<Box<dyn AsyncPropertySampler + Send>>,
     pub chase_primitive: ChasePrimitive,
     pub support_low_priority_transactions: bool,
     pub namespace_alloc_by_client: bool,
     pub enable_picture_caching: bool,
     pub testing: bool,
     /// Set to true if this GPU supports hardware fast clears as a performance
     /// optimization. Likely requires benchmarking on various GPUs to see if
     /// it is a performance win. The default is false, which tends to be best
@@ -5459,26 +5459,26 @@ impl NoopDebugServer {
     }
 }
 
 impl DebugServer for NoopDebugServer {
     fn send(&mut self, _: String) {}
 }
 
 #[cfg(feature = "debugger")]
-fn new_debug_server(enable: bool, api_tx: MsgSender<ApiMsg>) -> Box<DebugServer> {
+fn new_debug_server(enable: bool, api_tx: MsgSender<ApiMsg>) -> Box<dyn DebugServer> {
     if enable {
         Box::new(debug_server::DebugServerImpl::new(api_tx))
     } else {
         Box::new(NoopDebugServer::new(api_tx))
     }
 }
 
 #[cfg(not(feature = "debugger"))]
-fn new_debug_server(_enable: bool, api_tx: MsgSender<ApiMsg>) -> Box<DebugServer> {
+fn new_debug_server(_enable: bool, api_tx: MsgSender<ApiMsg>) -> Box<dyn DebugServer> {
     Box::new(NoopDebugServer::new(api_tx))
 }
 
 /// Some basic statistics about the rendered scene, used in Gecko, as
 /// well as in wrench reftests to ensure that tests are batching and/or
 /// allocating on render targets as we expect them to.
 #[repr(C)]
 #[derive(Debug, Default)]
--- a/gfx/wr/webrender/src/resource_cache.rs
+++ b/gfx/wr/webrender/src/resource_cache.rs
@@ -454,25 +454,25 @@ pub struct ResourceCache {
     cached_glyph_dimensions: GlyphDimensionsCache,
     glyph_rasterizer: GlyphRasterizer,
 
     /// The set of images that aren't present or valid in the texture cache,
     /// and need to be rasterized and/or uploaded this frame. This includes
     /// both blobs and regular images.
     pending_image_requests: FastHashSet<ImageRequest>,
 
-    blob_image_handler: Option<Box<BlobImageHandler>>,
+    blob_image_handler: Option<Box<dyn BlobImageHandler>>,
     rasterized_blob_images: FastHashMap<BlobImageKey, RasterizedBlob>,
     blob_image_templates: FastHashMap<BlobImageKey, BlobImageTemplate>,
 
     /// If while building a frame we encounter blobs that we didn't already
     /// rasterize, add them to this list and rasterize them synchronously.
     missing_blob_images: Vec<BlobImageParams>,
     /// The rasterizer associated with the current scene.
-    blob_image_rasterizer: Option<Box<AsyncBlobImageRasterizer>>,
+    blob_image_rasterizer: Option<Box<dyn AsyncBlobImageRasterizer>>,
     /// An epoch of the stored blob image rasterizer, used to skip the ones
     /// coming from low-priority scene builds if the current one is newer.
     /// This is to be removed when we get rid of the whole "missed" blob
     /// images concept.
     /// The produced one gets bumped whenever we produce a rasteriezer,
     /// which then travels through the scene building and eventually gets
     /// consumed back by us, bumping the consumed epoch.
     blob_image_rasterizer_produced_epoch: BlobImageRasterizerEpoch,
@@ -481,17 +481,17 @@ pub struct ResourceCache {
     /// for debugging purposes.
     deleted_blob_keys: VecDeque<Vec<BlobImageKey>>
 }
 
 impl ResourceCache {
     pub fn new(
         texture_cache: TextureCache,
         glyph_rasterizer: GlyphRasterizer,
-        blob_image_handler: Option<Box<BlobImageHandler>>,
+        blob_image_handler: Option<Box<dyn BlobImageHandler>>,
     ) -> Self {
         ResourceCache {
             cached_glyphs: GlyphCache::new(),
             cached_images: ResourceClassCache::new(),
             cached_render_tasks: RenderTaskCache::new(),
             resources: Resources::default(),
             cached_glyph_dimensions: FastHashMap::default(),
             texture_cache,
@@ -678,17 +678,17 @@ impl ResourceCache {
                     );
                 }
                 _ => { unreachable!(); }
             }
         );
     }
 
     pub fn set_blob_rasterizer(
-        &mut self, rasterizer: Box<AsyncBlobImageRasterizer>,
+        &mut self, rasterizer: Box<dyn AsyncBlobImageRasterizer>,
         supp: AsyncBlobImageInfo,
     ) {
         if self.blob_image_rasterizer_consumed_epoch.0 < supp.epoch.0 {
             self.blob_image_rasterizer = Some(rasterizer);
             self.blob_image_rasterizer_consumed_epoch = supp.epoch;
         }
 
         // Discard blob image tiles that are not rendered by AsyncBlobImageRasterizer.
@@ -1153,17 +1153,17 @@ impl ResourceCache {
                 );
             }
         }
     }
 
     pub fn create_blob_scene_builder_requests(
         &mut self,
         keys: &[BlobImageKey]
-    ) -> (Option<(Box<AsyncBlobImageRasterizer>, AsyncBlobImageInfo)>, Vec<BlobImageParams>) {
+    ) -> (Option<(Box<dyn AsyncBlobImageRasterizer>, AsyncBlobImageInfo)>, Vec<BlobImageParams>) {
         if self.blob_image_handler.is_none() || keys.is_empty() {
             return (None, Vec::new());
         }
 
         let mut blob_tiles_clear_requests = Vec::new();
         let mut blob_request_params = Vec::new();
         for key in keys {
             let template = self.blob_image_templates.get_mut(key).unwrap();
--- a/gfx/wr/webrender/src/scene_builder.rs
+++ b/gfx/wr/webrender/src/scene_builder.rs
@@ -40,17 +40,17 @@ use std::time::Duration;
 /// Represents the work associated to a transaction before scene building.
 pub struct Transaction {
     pub document_id: DocumentId,
     pub display_list_updates: Vec<DisplayListUpdate>,
     pub removed_pipelines: Vec<(PipelineId, DocumentId)>,
     pub epoch_updates: Vec<(PipelineId, Epoch)>,
     pub request_scene_build: Option<SceneRequest>,
     pub blob_requests: Vec<BlobImageParams>,
-    pub blob_rasterizer: Option<(Box<AsyncBlobImageRasterizer>, AsyncBlobImageInfo)>,
+    pub blob_rasterizer: Option<(Box<dyn AsyncBlobImageRasterizer>, AsyncBlobImageInfo)>,
     pub rasterized_blobs: Vec<(BlobImageRequest, BlobImageResult)>,
     pub resource_updates: Vec<ResourceUpdate>,
     pub frame_ops: Vec<FrameMsg>,
     pub notifications: Vec<NotificationRequest>,
     pub set_root_pipeline: Option<PipelineId>,
     pub render_frame: bool,
     pub invalidate_rendered_frame: bool,
 }
@@ -85,17 +85,17 @@ impl Transaction {
 
 /// Represent the remaining work associated to a transaction after the scene building
 /// phase as well as the result of scene building itself if applicable.
 pub struct BuiltTransaction {
     pub document_id: DocumentId,
     pub built_scene: Option<BuiltScene>,
     pub resource_updates: Vec<ResourceUpdate>,
     pub rasterized_blobs: Vec<(BlobImageRequest, BlobImageResult)>,
-    pub blob_rasterizer: Option<(Box<AsyncBlobImageRasterizer>, AsyncBlobImageInfo)>,
+    pub blob_rasterizer: Option<(Box<dyn AsyncBlobImageRasterizer>, AsyncBlobImageInfo)>,
     pub frame_ops: Vec<FrameMsg>,
     pub removed_pipelines: Vec<(PipelineId, DocumentId)>,
     pub notifications: Vec<NotificationRequest>,
     pub interner_updates: Option<InternerUpdates>,
     pub scene_build_start_time: u64,
     pub scene_build_end_time: u64,
     pub render_frame: bool,
     pub invalidate_rendered_frame: bool,
@@ -266,26 +266,26 @@ impl Document {
 }
 
 pub struct SceneBuilder {
     documents: FastHashMap<DocumentId, Document>,
     rx: Receiver<SceneBuilderRequest>,
     tx: Sender<SceneBuilderResult>,
     api_tx: MsgSender<ApiMsg>,
     config: FrameBuilderConfig,
-    hooks: Option<Box<SceneBuilderHooks + Send>>,
+    hooks: Option<Box<dyn SceneBuilderHooks + Send>>,
     simulate_slow_ms: u32,
     size_of_ops: Option<MallocSizeOfOps>,
 }
 
 impl SceneBuilder {
     pub fn new(
         config: FrameBuilderConfig,
         api_tx: MsgSender<ApiMsg>,
-        hooks: Option<Box<SceneBuilderHooks + Send>>,
+        hooks: Option<Box<dyn SceneBuilderHooks + Send>>,
         size_of_ops: Option<MallocSizeOfOps>,
     ) -> (Self, Sender<SceneBuilderRequest>, Receiver<SceneBuilderResult>) {
         let (in_tx, in_rx) = channel();
         let (out_tx, out_rx) = channel();
         (
             SceneBuilder {
                 documents: FastHashMap::default(),
                 rx: in_rx,
--- a/gfx/wr/webrender/src/texture_cache.rs
+++ b/gfx/wr/webrender/src/texture_cache.rs
@@ -1761,17 +1761,17 @@ impl TextureCacheUpdate {
 
         update_op
     }
 }
 
 fn quantize_dimension(size: i32) -> i32 {
     match size {
         0 => unreachable!(),
-        1...16 => 16,
-        17...32 => 32,
-        33...64 => 64,
-        65...128 => 128,
-        129...256 => 256,
-        257...512 => 512,
+        1..=16 => 16,
+        17..=32 => 32,
+        33..=64 => 64,
+        65..=128 => 128,
+        129..=256 => 256,
+        257..=512 => 512,
         _ => panic!("Invalid dimensions for cache!"),
     }
 }
--- a/gfx/wr/webrender_api/src/api.rs
+++ b/gfx/wr/webrender_api/src/api.rs
@@ -1482,17 +1482,17 @@ pub struct PropertyValue<T> {
 /// animated properties.
 #[derive(Clone, Deserialize, Serialize, Debug, PartialEq, Default)]
 pub struct DynamicProperties {
     pub transforms: Vec<PropertyValue<LayoutTransform>>,
     pub floats: Vec<PropertyValue<f32>>,
 }
 
 pub trait RenderNotifier: Send {
-    fn clone(&self) -> Box<RenderNotifier>;
+    fn clone(&self) -> Box<dyn RenderNotifier>;
     fn wake_up(&self);
     fn new_frame_ready(&self, _: DocumentId, scrolled: bool, composite_needed: bool, render_time_ns: Option<u64>);
     fn external_event(&self, _evt: ExternalEvent) {
         unimplemented!()
     }
     fn shut_down(&self) {}
 }
 
@@ -1508,22 +1508,22 @@ pub enum Checkpoint {
     TransactionDropped,
 }
 
 pub trait NotificationHandler : Send + Sync {
     fn notify(&self, when: Checkpoint);
 }
 
 pub struct NotificationRequest {
-    handler: Option<Box<NotificationHandler>>,
+    handler: Option<Box<dyn NotificationHandler>>,
     when: Checkpoint,
 }
 
 impl NotificationRequest {
-    pub fn new(when: Checkpoint, handler: Box<NotificationHandler>) -> Self {
+    pub fn new(when: Checkpoint, handler: Box<dyn NotificationHandler>) -> Self {
         NotificationRequest {
             handler: Some(handler),
             when,
         }
     }
 
     pub fn when(&self) -> Checkpoint { self.when }
 
--- a/gfx/wr/webrender_api/src/image.rs
+++ b/gfx/wr/webrender_api/src/image.rs
@@ -293,23 +293,23 @@ pub trait BlobImageResources {
 
 /// A handler on the render backend that can create rasterizer objects which will
 /// be sent to the scene builder thread to execute the rasterization.
 ///
 /// The handler is responsible for collecting resources, managing/updating blob commands
 /// and creating the rasterizer objects, but isn't expected to do any rasterization itself.
 pub trait BlobImageHandler: Send {
     /// Creates a snapshot of the current state of blob images in the handler.
-    fn create_blob_rasterizer(&mut self) -> Box<AsyncBlobImageRasterizer>;
+    fn create_blob_rasterizer(&mut self) -> Box<dyn AsyncBlobImageRasterizer>;
 
     /// A hook to let the blob image handler update any state related to resources that
     /// are not bundled in the blob recording itself.
     fn prepare_resources(
         &mut self,
-        services: &BlobImageResources,
+        services: &dyn BlobImageResources,
         requests: &[BlobImageParams],
     );
 
     /// Register a blob image.
     fn add(&mut self, key: BlobImageKey, data: Arc<BlobImageData>, tiling: Option<TileSize>);
 
     /// Update an already registered blob image.
     fn update(&mut self, key: BlobImageKey, data: Arc<BlobImageData>, dirty_rect: &BlobDirtyRect);
--- a/gfx/wr/wrench/src/blob.rs
+++ b/gfx/wr/wrench/src/blob.rs
@@ -100,17 +100,17 @@ fn render_blob(
         data: Arc::new(texels),
         rasterized_rect,
     })
 }
 
 /// See rawtest.rs. We use this to test that blob images are requested the right
 /// amount of times.
 pub struct BlobCallbacks {
-    pub request: Box<Fn(&[BlobImageParams]) + Send + 'static>,
+    pub request: Box<dyn Fn(&[BlobImageParams]) + Send + 'static>,
 }
 
 impl BlobCallbacks {
     pub fn new() -> Self {
         BlobCallbacks { request: Box::new(|_|()) }
     }
 }
 
@@ -147,25 +147,25 @@ impl BlobImageHandler for CheckerboardRe
     fn delete_font(&mut self, _key: FontKey) {}
 
     fn delete_font_instance(&mut self, _key: FontInstanceKey) {}
 
     fn clear_namespace(&mut self, _namespace: IdNamespace) {}
 
     fn prepare_resources(
         &mut self,
-        _services: &BlobImageResources,
+        _services: &dyn BlobImageResources,
         requests: &[BlobImageParams],
     ) {
         if !requests.is_empty() {
             (self.callbacks.lock().unwrap().request)(&requests);
         }
     }
 
-    fn create_blob_rasterizer(&mut self) -> Box<AsyncBlobImageRasterizer> {
+    fn create_blob_rasterizer(&mut self) -> Box<dyn AsyncBlobImageRasterizer> {
         Box::new(Rasterizer { image_cmds: self.image_cmds.clone() })
     }
 }
 
 struct Command {
     request: BlobImageRequest,
     color: ColorU,
     descriptor: BlobImageDescriptor,
--- a/gfx/wr/wrench/src/main.rs
+++ b/gfx/wr/wrench/src/main.rs
@@ -159,19 +159,19 @@ impl HeadlessContext {
 
     #[cfg(not(feature = "headless"))]
     fn get_proc_address(_: &str) -> *const c_void {
         ptr::null() as *const _
     }
 }
 
 pub enum WindowWrapper {
-    Window(glutin::GlWindow, Rc<gl::Gl>),
-    Angle(winit::Window, angle::Context, Rc<gl::Gl>),
-    Headless(HeadlessContext, Rc<gl::Gl>),
+    Window(glutin::GlWindow, Rc<dyn gl::Gl>),
+    Angle(winit::Window, angle::Context, Rc<dyn gl::Gl>),
+    Headless(HeadlessContext, Rc<dyn gl::Gl>),
 }
 
 pub struct HeadlessEventIterater;
 
 impl WindowWrapper {
     fn swap_buffers(&self) {
         match *self {
             WindowWrapper::Window(ref window, _) => window.swap_buffers().unwrap(),
@@ -218,25 +218,25 @@ impl WindowWrapper {
     fn set_title(&mut self, title: &str) {
         match *self {
             WindowWrapper::Window(ref window, _) => window.set_title(title),
             WindowWrapper::Angle(ref window, ..) => window.set_title(title),
             WindowWrapper::Headless(_, _) => (),
         }
     }
 
-    pub fn gl(&self) -> &gl::Gl {
+    pub fn gl(&self) -> &dyn gl::Gl {
         match *self {
             WindowWrapper::Window(_, ref gl) |
             WindowWrapper::Angle(_, _, ref gl) |
             WindowWrapper::Headless(_, ref gl) => &**gl,
         }
     }
 
-    pub fn clone_gl(&self) -> Rc<gl::Gl> {
+    pub fn clone_gl(&self) -> Rc<dyn gl::Gl> {
         match *self {
             WindowWrapper::Window(_, ref gl) |
             WindowWrapper::Angle(_, _, ref gl) |
             WindowWrapper::Headless(_, ref gl) => gl.clone(),
         }
     }
 }
 
@@ -255,17 +255,17 @@ fn make_window(
                     opengles_version: (3, 0),
                 })
                 .with_vsync(vsync);
             let window_builder = winit::WindowBuilder::new()
                 .with_title("WRench")
                 .with_multitouch()
                 .with_dimensions(LogicalSize::new(size.width as f64, size.height as f64));
 
-            let init = |context: &glutin::GlContext| {
+            let init = |context: &dyn glutin::GlContext| {
                 unsafe {
                     context
                         .make_current()
                         .expect("unable to make context current!");
                 }
 
                 match context.get_api() {
                     glutin::Api::OpenGl => unsafe {
@@ -331,17 +331,17 @@ pub enum NotifierEvent {
 }
 
 struct Notifier {
     tx: Sender<NotifierEvent>,
 }
 
 // setup a notifier so we can wait for frames to be finished
 impl RenderNotifier for Notifier {
-    fn clone(&self) -> Box<RenderNotifier> {
+    fn clone(&self) -> Box<dyn RenderNotifier> {
         Box::new(Notifier {
             tx: self.tx.clone(),
         })
     }
 
     fn wake_up(&self) {
         self.tx.send(NotifierEvent::WakeUp).unwrap();
     }
@@ -356,17 +356,17 @@ impl RenderNotifier for Notifier {
                        composite_needed: bool,
                        _render_time: Option<u64>) {
         if composite_needed {
             self.wake_up();
         }
     }
 }
 
-fn create_notifier() -> (Box<RenderNotifier>, Receiver<NotifierEvent>) {
+fn create_notifier() -> (Box<dyn RenderNotifier>, Receiver<NotifierEvent>) {
     let (tx, rx) = channel();
     (Box::new(Notifier { tx: tx }), rx)
 }
 
 fn rawtest(mut wrench: Wrench, window: &mut WindowWrapper, rx: Receiver<NotifierEvent>) {
     RawtestHarness::new(&mut wrench, window, &rx).run();
     wrench.shut_down(rx);
 }
@@ -566,27 +566,27 @@ fn render<'a>(
     let mut thing = if input_path.as_path().is_dir() {
         let mut documents = wrench.api.load_capture(input_path);
         println!("loaded {:?}", documents.iter().map(|cd| cd.document_id).collect::<Vec<_>>());
         let captured = documents.swap_remove(0);
         if let Some(fb_size) = wrench.renderer.device_size() {
             window.resize(fb_size);
         }
         wrench.document_id = captured.document_id;
-        Box::new(captured) as Box<WrenchThing>
+        Box::new(captured) as Box<dyn WrenchThing>
     } else {
         let extension = input_path
             .extension()
             .expect("Tried to render with an unknown file type.")
             .to_str()
             .expect("Tried to render with an unknown file type.");
 
         match extension {
-            "yaml" => Box::new(YamlFrameReader::new_from_args(subargs)) as Box<WrenchThing>,
-            "bin" => Box::new(BinaryFrameReader::new_from_args(subargs)) as Box<WrenchThing>,
+            "yaml" => Box::new(YamlFrameReader::new_from_args(subargs)) as Box<dyn WrenchThing>,
+            "bin" => Box::new(BinaryFrameReader::new_from_args(subargs)) as Box<dyn WrenchThing>,
             _ => panic!("Tried to render with an unknown file type."),
         }
     };
 
     let mut show_help = false;
     let mut do_loop = false;
     let mut cpu_profile_index = 0;
     let mut cursor_position = WorldPoint::zero();
--- a/gfx/wr/wrench/src/wrench.rs
+++ b/gfx/wr/wrench/src/wrench.rs
@@ -96,17 +96,17 @@ impl Notifier {
         if let Some(ref _elp) = data.events_loop_proxy {
             #[cfg(not(target_os = "android"))]
             let _ = _elp.wakeup();
         }
     }
 }
 
 impl RenderNotifier for Notifier {
-    fn clone(&self) -> Box<RenderNotifier> {
+    fn clone(&self) -> Box<dyn RenderNotifier> {
         Box::new(Notifier(self.0.clone()))
     }
 
     fn wake_up(&self) {
         self.update(false);
     }
 
     fn new_frame_ready(&self, _: DocumentId,
@@ -177,31 +177,31 @@ impl Wrench {
         verbose: bool,
         no_scissor: bool,
         no_batch: bool,
         precache_shaders: bool,
         disable_dual_source_blending: bool,
         zoom_factor: f32,
         chase_primitive: webrender::ChasePrimitive,
         dump_shader_source: Option<String>,
-        notifier: Option<Box<RenderNotifier>>,
+        notifier: Option<Box<dyn RenderNotifier>>,
     ) -> Self {
         println!("Shader override path: {:?}", shader_override_path);
 
         let recorder = save_type.map(|save_type| match save_type {
             SaveType::Yaml => Box::new(
                 YamlFrameWriterReceiver::new(&PathBuf::from("yaml_frames")),
-            ) as Box<webrender::ApiRecordingReceiver>,
+            ) as Box<dyn webrender::ApiRecordingReceiver>,
             SaveType::Json => Box::new(JsonFrameWriter::new(&PathBuf::from("json_frames"))) as
-                Box<webrender::ApiRecordingReceiver>,
+                Box<dyn webrender::ApiRecordingReceiver>,
             SaveType::Ron => Box::new(RonFrameWriter::new(&PathBuf::from("ron_frames"))) as
-                Box<webrender::ApiRecordingReceiver>,
+                Box<dyn webrender::ApiRecordingReceiver>,
             SaveType::Binary => Box::new(webrender::BinaryRecorder::new(
                 &PathBuf::from("wr-record.bin"),
-            )) as Box<webrender::ApiRecordingReceiver>,
+            )) as Box<dyn webrender::ApiRecordingReceiver>,
         });
 
         let mut debug_flags = DebugFlags::ECHO_DRIVER_MESSAGES;
         debug_flags.set(DebugFlags::DISABLE_BATCHING, no_batch);
         let callbacks = Arc::new(Mutex::new(blob::BlobCallbacks::new()));
 
         let precache_flags = if precache_shaders {
             ShaderPrecacheFlags::FULL_COMPILE
new file mode 100644
--- /dev/null
+++ b/js/src/jit-test/tests/ion/bug1556571.js
@@ -0,0 +1,14 @@
+// Ensure that convertDoubleToInt32 allows the -0 case.
+
+// If convertDoubleToInt32 fails on the -0 case, then 0 !== -0 below,
+// so it will fall through to the default case.
+function test(v) {
+  switch(v) {
+    case 0: return;
+    default: assertEq(true, false); break;
+  }
+}
+
+for (var i = 0; i < 10000; i++) {
+  test(i % 2 === 0 ? 0 : -0);
+}
--- a/js/src/jit/IonTypes.h
+++ b/js/src/jit/IonTypes.h
@@ -421,18 +421,18 @@ class SimdConstant {
   static bool match(const SimdConstant& lhs, const SimdConstant& rhs) {
     return lhs == rhs;
   }
 };
 
 enum class IntConversionBehavior {
   // These two try to convert the input to an int32 using ToNumber and
   // will fail if the resulting int32 isn't strictly equal to the input.
-  Normal,
-  NegativeZeroCheck,
+  Normal,             // Succeeds on -0: converts to 0.
+  NegativeZeroCheck,  // Fails on -0.
   // These two will convert the input to an int32 with loss of precision.
   Truncate,
   ClampToUint8,
 };
 
 enum class IntConversionInputKind { NumbersOnly, NumbersOrBoolsOnly, Any };
 
 // The ordering of this enumeration is important: Anything < Value is a
--- a/js/src/jit/arm64/MacroAssembler-arm64.h
+++ b/js/src/jit/arm64/MacroAssembler-arm64.h
@@ -525,36 +525,65 @@ class MacroAssemblerCompat : public vixl
   void convertDoubleToFloat32(FloatRegister src, FloatRegister dest) {
     Fcvt(ARMFPRegister(dest, 32), ARMFPRegister(src, 64));
   }
 
   using vixl::MacroAssembler::B;
 
   void convertDoubleToInt32(FloatRegister src, Register dest, Label* fail,
                             bool negativeZeroCheck = true) {
-    vixl::UseScratchRegisterScope temps(this);
-    const ARMFPRegister scratch64 = temps.AcquireD();
+    ARMFPRegister fsrc64(src, 64);
+    ARMRegister dest32(dest, 32);
+
+    // ARMv8.3 chips support the FJCVTZS instruction, which handles
+    // exactly this logic.
+    if (CPUHas(vixl::CPUFeatures::kFP, vixl::CPUFeatures::kJSCVT)) {
+      // Convert double to integer, rounding toward zero.
+      // The Z-flag is set iff the conversion is exact. -0 unsets the Z-flag.
+      Fjcvtzs(dest32, fsrc64);
 
-    ARMFPRegister fsrc(src, 64);
-    ARMRegister dest32(dest, 32);
-    ARMRegister dest64(dest, 64);
+      if (negativeZeroCheck) {
+        B(fail, Assembler::NonZero);
+      } else {
+        Label done;
+        B(&done, Assembler::Zero);  // If conversion was exact, go to end.
 
-    MOZ_ASSERT(!scratch64.Is(fsrc));
+        // The conversion was inexact, but the caller intends to allow -0.
+        vixl::UseScratchRegisterScope temps(this);
+        const ARMFPRegister scratch64 = temps.AcquireD();
+        MOZ_ASSERT(!scratch64.Is(fsrc64));
 
-    Fcvtzs(dest32, fsrc);      // Convert, rounding toward zero.
-    Scvtf(scratch64, dest32);  // Convert back, using FPCR rounding mode.
-    Fcmp(scratch64, fsrc);
-    B(fail, Assembler::NotEqual);
+        // Compare fsrc64 to 0.
+        // If fsrc64 == 0 and FJCVTZS conversion was inexact, then fsrc64 is -0.
+        Fmov(scratch64, xzr);
+        Fcmp(scratch64, fsrc64);
+        B(fail, Assembler::NotEqual);  // Pass through -0; fail otherwise.
+
+        bind(&done);
+      }
+    } else {
+      // Older processors use a significantly slower path.
+      ARMRegister dest64(dest, 64);
 
-    if (negativeZeroCheck) {
-      Label nonzero;
-      Cbnz(dest32, &nonzero);
-      Fmov(dest64, fsrc);
-      Cbnz(dest64, fail);
-      bind(&nonzero);
+      vixl::UseScratchRegisterScope temps(this);
+      const ARMFPRegister scratch64 = temps.AcquireD();
+      MOZ_ASSERT(!scratch64.Is(fsrc64));
+
+      Fcvtzs(dest32, fsrc64);    // Convert, rounding toward zero.
+      Scvtf(scratch64, dest32);  // Convert back, using FPCR rounding mode.
+      Fcmp(scratch64, fsrc64);
+      B(fail, Assembler::NotEqual);
+
+      if (negativeZeroCheck) {
+        Label nonzero;
+        Cbnz(dest32, &nonzero);
+        Fmov(dest64, fsrc64);
+        Cbnz(dest64, fail);
+        bind(&nonzero);
+      }
     }
   }
   void convertFloat32ToInt32(FloatRegister src, Register dest, Label* fail,
                              bool negativeZeroCheck = true) {
     vixl::UseScratchRegisterScope temps(this);
     const ARMFPRegister scratch32 = temps.AcquireS();
 
     ARMFPRegister fsrc(src, 32);
--- a/js/src/jit/arm64/vixl/Assembler-vixl.cpp
+++ b/js/src/jit/arm64/vixl/Assembler-vixl.cpp
@@ -472,16 +472,18 @@ void MemOperand::AddOffset(int64_t offse
 }
 
 
 // Assembler
 Assembler::Assembler(PositionIndependentCodeOption pic)
     : pic_(pic),
       cpu_features_(CPUFeatures::AArch64LegacyBaseline())
 {
+  // Mozilla change: always use maximally-present features.
+  cpu_features_.Combine(CPUFeatures::InferFromOS());
 }
 
 
 // Code generation.
 void Assembler::br(const Register& xn) {
   VIXL_ASSERT(xn.Is64Bits());
   Emit(BR | Rn(xn));
 }
--- a/js/src/jit/arm64/vixl/Cpu-vixl.cpp
+++ b/js/src/jit/arm64/vixl/Cpu-vixl.cpp
@@ -21,16 +21,18 @@
 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
 // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 #include "jit/arm64/vixl/Cpu-vixl.h"
 
+#include "js-config.h"
+
 #if defined(__aarch64__) && (defined(__ANDROID__) || defined(__linux__))
 #include <sys/auxv.h>
 #define VIXL_USE_LINUX_HWCAP 1
 #endif
 
 #include "jit/arm64/vixl/Utils-vixl.h"
 
 
@@ -196,17 +198,21 @@ CPUFeatures CPU::InferCPUFeaturesFromOS(
       CPUFeatures::kUSCAT,
       CPUFeatures::kRCpcImm,
       CPUFeatures::kFlagM
       // Bits 28-31 are unassigned.
   };
   static const size_t kFeatureBitCount =
       sizeof(kFeatureBits) / sizeof(kFeatureBits[0]);
 
+#ifdef JS_SIMULATOR_ARM64
+  unsigned long auxv = ~(0UL);  // Enable all features for the Simulator.
+#else
   unsigned long auxv = getauxval(AT_HWCAP);  // NOLINT(runtime/int)
+#endif
 
   VIXL_STATIC_ASSERT(kFeatureBitCount < (sizeof(auxv) * kBitsPerByte));
   for (size_t i = 0; i < kFeatureBitCount; i++) {
     if (auxv & (1UL << i)) features.Combine(kFeatureBits[i]);
   }
 #endif  // VIXL_USE_LINUX_HWCAP
 
   if ((option == CPUFeatures::kQueryIDRegistersIfAvailable) &&
--- a/js/src/jit/arm64/vixl/MacroAssembler-vixl.h
+++ b/js/src/jit/arm64/vixl/MacroAssembler-vixl.h
@@ -812,16 +812,21 @@ class MacroAssembler : public js::jit::A
     SingleEmissionCheckScope guard(this);
     fcvtpu(rd, vn);
   }
   void Fcvtzs(const Register& rd, const VRegister& vn, int fbits = 0) {
     VIXL_ASSERT(!rd.IsZero());
     SingleEmissionCheckScope guard(this);
     fcvtzs(rd, vn, fbits);
   }
+  void Fjcvtzs(const Register& rd, const VRegister& vn) {
+    VIXL_ASSERT(!rd.IsZero());
+    SingleEmissionCheckScope guard(this);
+    fjcvtzs(rd, vn);
+  }
   void Fcvtzu(const Register& rd, const VRegister& vn, int fbits = 0) {
     VIXL_ASSERT(!rd.IsZero());
     SingleEmissionCheckScope guard(this);
     fcvtzu(rd, vn, fbits);
   }
   void Fdiv(const VRegister& vd, const VRegister& vn, const VRegister& vm) {
     SingleEmissionCheckScope guard(this);
     fdiv(vd, vn, vm);
--- a/layout/reftests/font-face/reftest.list
+++ b/layout/reftests/font-face/reftest.list
@@ -159,18 +159,18 @@ HTTP(..) == font-redirect.html order-1-r
 
 # Test for COLR and CPAL support
 fails-if(OSX) == color-1a.html color-1-ref.html
 != color-1a.html color-1-notref.html
 fails-if(OSX) == color-1b.html color-1-ref.html
 fails-if(OSX) == color-2a.html color-2-ref.html
 != color-2a.html color-2-notref.html
 
-pref(gfx.downloadable_fonts.woff2.enabled,true) == woff2-1.html woff2-1-ref.html
-pref(gfx.downloadable_fonts.woff2.enabled,true) == woff2-totalsfntsize.html woff2-totalsfntsize-ref.html
+== woff2-1.html woff2-1-ref.html
+== woff2-totalsfntsize.html woff2-totalsfntsize-ref.html
 
 # sanity tests for reflow behavior with downloadable fonts
 HTTP(..) == reflow-sanity-1.html reflow-sanity-1-ref.html
 HTTP(..) == reflow-sanity-1-data.html reflow-sanity-1-ref.html
 HTTP(..) == reflow-sanity-1.html reflow-sanity-1-data.html
 HTTP(..) == reflow-sanity-delay-1a.html reflow-sanity-1-ref.html
 HTTP(..) == reflow-sanity-delay-1b.html reflow-sanity-1-ref.html
 HTTP(..) == reflow-sanity-delay-1c.html reflow-sanity-1-ref.html
--- a/layout/style/FontFaceSet.cpp
+++ b/layout/style/FontFaceSet.cpp
@@ -615,22 +615,21 @@ nsresult FontFaceSet::StartLoad(gfxUserF
 
   nsCOMPtr<nsIHttpChannel> httpChannel(do_QueryInterface(channel));
   if (httpChannel) {
     nsCOMPtr<nsIReferrerInfo> referrerInfo = new mozilla::dom::ReferrerInfo(
         aFontFaceSrc->mReferrer, aFontFaceSrc->mReferrerPolicy);
     rv = httpChannel->SetReferrerInfoWithoutClone(referrerInfo);
     Unused << NS_WARN_IF(NS_FAILED(rv));
 
-    nsAutoCString accept("application/font-woff;q=0.9,*/*;q=0.8");
-    if (Preferences::GetBool(GFX_PREF_WOFF2_ENABLED)) {
-      accept.InsertLiteral("application/font-woff2;q=1.0,", 0);
-    }
-    rv = httpChannel->SetRequestHeader(NS_LITERAL_CSTRING("Accept"), accept,
-                                       false);
+    rv = httpChannel->SetRequestHeader(
+        NS_LITERAL_CSTRING("Accept"),
+        NS_LITERAL_CSTRING("application/font-woff2;q=1.0,application/"
+                           "font-woff;q=0.9,*/*;q=0.8"),
+        false);
     NS_ENSURE_SUCCESS(rv, rv);
 
     // For WOFF and WOFF2, we should tell servers/proxies/etc NOT to try
     // and apply additional compression at the content-encoding layer
     if (aFontFaceSrc->mFormatFlags & (gfxUserFontSet::FLAG_FORMAT_WOFF |
                                       gfxUserFontSet::FLAG_FORMAT_WOFF2)) {
       rv = httpChannel->SetRequestHeader(NS_LITERAL_CSTRING("Accept-Encoding"),
                                          NS_LITERAL_CSTRING("identity"), false);
@@ -1107,34 +1106,32 @@ FontFaceSet::FindOrCreateUserFontEntryFr
 
             nsDependentCSubstring valueString(
                 reinterpret_cast<const char*>(
                     maybeFontFormat.format_hint.utf8_bytes),
                 maybeFontFormat.format_hint.length);
 
             if (valueString.LowerCaseEqualsASCII("woff")) {
               face->mFormatFlags |= gfxUserFontSet::FLAG_FORMAT_WOFF;
-            } else if (Preferences::GetBool(GFX_PREF_WOFF2_ENABLED) &&
-                       valueString.LowerCaseEqualsASCII("woff2")) {
+            } else if (valueString.LowerCaseEqualsASCII("woff2")) {
               face->mFormatFlags |= gfxUserFontSet::FLAG_FORMAT_WOFF2;
             } else if (valueString.LowerCaseEqualsASCII("opentype")) {
               face->mFormatFlags |= gfxUserFontSet::FLAG_FORMAT_OPENTYPE;
             } else if (valueString.LowerCaseEqualsASCII("truetype")) {
               face->mFormatFlags |= gfxUserFontSet::FLAG_FORMAT_TRUETYPE;
             } else if (valueString.LowerCaseEqualsASCII("truetype-aat")) {
               face->mFormatFlags |= gfxUserFontSet::FLAG_FORMAT_TRUETYPE_AAT;
             } else if (valueString.LowerCaseEqualsASCII("embedded-opentype")) {
               face->mFormatFlags |= gfxUserFontSet::FLAG_FORMAT_EOT;
             } else if (valueString.LowerCaseEqualsASCII("svg")) {
               face->mFormatFlags |= gfxUserFontSet::FLAG_FORMAT_SVG;
             } else if (StaticPrefs::layout_css_font_variations_enabled() &&
                        valueString.LowerCaseEqualsASCII("woff-variations")) {
               face->mFormatFlags |= gfxUserFontSet::FLAG_FORMAT_WOFF_VARIATIONS;
             } else if (StaticPrefs::layout_css_font_variations_enabled() &&
-                       Preferences::GetBool(GFX_PREF_WOFF2_ENABLED) &&
                        valueString.LowerCaseEqualsASCII("woff2-variations")) {
               face->mFormatFlags |=
                   gfxUserFontSet::FLAG_FORMAT_WOFF2_VARIATIONS;
             } else if (StaticPrefs::layout_css_font_variations_enabled() &&
                        valueString.LowerCaseEqualsASCII(
                            "opentype-variations")) {
               face->mFormatFlags |=
                   gfxUserFontSet::FLAG_FORMAT_OPENTYPE_VARIATIONS;
--- a/media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp
+++ b/media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp
@@ -1880,25 +1880,24 @@ PeerConnectionImpl::InsertDTMF(Transceiv
     }
   }
 
   // No state yet, create a new one
   if (!state) {
     state = *mDTMFStates.AppendElement(new DTMFState);
     state->mPCObserver = mPCObserver;
     state->mTransceiver = &transceiver;
-    state->mSendTimer = NS_NewTimer();
   }
   MOZ_ASSERT(state);
 
   state->mTones = tones;
   state->mDuration = duration;
   state->mInterToneGap = interToneGap;
   if (!state->mTones.IsEmpty()) {
-    state->mSendTimer->InitWithCallback(state, 0, nsITimer::TYPE_ONE_SHOT);
+    state->StartPlayout(0);
   }
   return NS_OK;
 }
 
 NS_IMETHODIMP
 PeerConnectionImpl::GetDTMFToneBuffer(mozilla::dom::RTCRtpSender& sender,
                                       nsAString& outToneBuffer) {
   PC_AUTO_ENTER_API_CALL(false);
@@ -1940,17 +1939,17 @@ PeerConnectionImpl::ReplaceTrackNoRenego
     CSFLogError(LOGTAG, "Failed to update transceiver: %d",
                 static_cast<int>(rv));
     return rv;
   }
 
   // TODO(bug 1401983): Move DTMF stuff to TransceiverImpl
   for (size_t i = 0; i < mDTMFStates.Length(); ++i) {
     if (mDTMFStates[i]->mTransceiver.get() == &aTransceiver) {
-      mDTMFStates[i]->mSendTimer->Cancel();
+      mDTMFStates[i]->StopPlayout();
       mDTMFStates.RemoveElementAt(i);
       break;
     }
   }
 
   if (aWithTrack) {
     aWithTrack->AddPrincipalChangeObserver(this);
     PrincipalChanged(aWithTrack);
@@ -2174,17 +2173,17 @@ void PeerConnectionImpl::RecordEndOfCall
   Telemetry::Accumulate(Telemetry::WEBRTC_CALL_TYPE, type);
 }
 
 nsresult PeerConnectionImpl::CloseInt() {
   PC_AUTO_ENTER_API_CALL_NO_CHECK();
 
   // TODO(bug 1401983): Move DTMF stuff to TransceiverImpl
   for (auto& dtmfState : mDTMFStates) {
-    dtmfState->mSendTimer->Cancel();
+    dtmfState->StopPlayout();
   }
 
   // We do this at the end of the call because we want to make sure we've waited
   // for all trickle ICE candidates to come in; this can happen well after we've
   // transitioned to connected. As a bonus, this allows us to detect race
   // conditions where a stats dispatch happens right as the PC closes.
   if (!mPrivateWindow) {
     RecordLongtermICEStatistics();
@@ -2920,43 +2919,54 @@ void PeerConnectionImpl::startCallTelem(
   // Start time for calls
   mStartTime = TimeStamp::Now();
 
   // Increment session call counter
   // If we want to track Loop calls independently here, we need two histograms.
   Telemetry::Accumulate(Telemetry::WEBRTC_CALL_COUNT_2, 1);
 }
 
+void PeerConnectionImpl::DTMFState::StopPlayout() {
+  if (mSendTimer) {
+    mSendTimer->Cancel();
+    mSendTimer = nullptr;
+  }
+}
+
+void PeerConnectionImpl::DTMFState::StartPlayout(uint32_t aDelay) {
+  if (!mSendTimer) {
+    mSendTimer = NS_NewTimer();
+    mSendTimer->InitWithCallback(this, aDelay, nsITimer::TYPE_ONE_SHOT);
+  }
+}
+
 nsresult PeerConnectionImpl::DTMFState::Notify(nsITimer* timer) {
   MOZ_ASSERT(NS_IsMainThread());
+  StopPlayout();
+
   if (!mTransceiver->IsSending()) {
-    mSendTimer->Cancel();
     return NS_OK;
   }
 
   nsString eventTone;
   if (!mTones.IsEmpty()) {
     uint16_t toneChar = mTones.CharAt(0);
     int tone = GetDTMFToneCode(toneChar);
 
     eventTone.Assign(toneChar);
 
     mTones.Cut(0, 1);
 
     if (tone == -1) {
-      mSendTimer->InitWithCallback(this, 2000, nsITimer::TYPE_ONE_SHOT);
+      StartPlayout(2000);
     } else {
       // Reset delay if necessary
-      mSendTimer->InitWithCallback(this, mDuration + mInterToneGap,
-                                   nsITimer::TYPE_ONE_SHOT);
-
+      StartPlayout(mDuration + mInterToneGap);
       mTransceiver->InsertDTMFTone(tone, mDuration);
     }
-  } else {
-    mSendTimer->Cancel();
   }
 
   RefPtr<dom::MediaStreamTrack> sendTrack = mTransceiver->GetSendTrack();
   if (!sendTrack) {
     NS_WARNING("Failed to dispatch the RTCDTMFToneChange event!");
     return NS_OK;  // Return is ignored anyhow
   }
 
@@ -2966,13 +2976,13 @@ nsresult PeerConnectionImpl::DTMFState::
   if (jrv.Failed()) {
     NS_WARNING("Failed to dispatch the RTCDTMFToneChange event!");
   }
 
   return NS_OK;
 }
 
 PeerConnectionImpl::DTMFState::DTMFState() = default;
-PeerConnectionImpl::DTMFState::~DTMFState() = default;
+PeerConnectionImpl::DTMFState::~DTMFState() { StopPlayout(); }
 
 NS_IMPL_ISUPPORTS(PeerConnectionImpl::DTMFState, nsITimerCallback)
 
 }  // namespace mozilla
--- a/media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.h
+++ b/media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.h
@@ -656,16 +656,19 @@ class PeerConnectionImpl final
     virtual ~DTMFState();
 
    public:
     DTMFState();
 
     NS_DECL_NSITIMERCALLBACK
     NS_DECL_THREADSAFE_ISUPPORTS
 
+    void StopPlayout();
+    void StartPlayout(uint32_t aDelay);
+
     RefPtr<PeerConnectionObserver> mPCObserver;
     RefPtr<TransceiverImpl> mTransceiver;
     nsCOMPtr<nsITimer> mSendTimer;
     nsString mTones;
     uint32_t mDuration;
     uint32_t mInterToneGap;
   };
 
--- a/mobile/android/installer/package-manifest.in
+++ b/mobile/android/installer/package-manifest.in
@@ -125,16 +125,20 @@
 #endif
 
 @BINPATH@/components/ProcessSingleton.manifest
 @BINPATH@/components/HandlerService.manifest
 @BINPATH@/components/HandlerService.js
 @BINPATH@/components/servicesComponents.manifest
 @BINPATH@/components/servicesSettings.manifest
 
+#ifndef MOZ_GECKOVIEW_JAR
+@BINPATH@/components/TelemetryStartup.manifest
+#endif
+
 #if defined(ENABLE_TESTS) && defined(MOZ_DEBUG)
 @BINPATH@/components/TestInterfaceJS.js
 @BINPATH@/components/TestInterfaceJS.manifest
 @BINPATH@/components/TestInterfaceJSMaplike.js
 #endif
 
 ; Modules
 @BINPATH@/modules/*
--- a/modules/freetype2/CMakeLists.txt
+++ b/modules/freetype2/CMakeLists.txt
@@ -1,11 +1,11 @@
 # CMakeLists.txt
 #
-# Copyright 2013-2018 by
+# Copyright (C) 2013-2019 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # Written originally by John Cary <cary@txcorp.com>
 #
 # This file is part of the FreeType project, and may only be used, modified,
 # and distributed under the terms of the FreeType project license,
 # LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 # indicate that you have read the license and understand and accept it
@@ -30,16 +30,20 @@
 # For an iOS static library, use
 #
 #   cmake -E chdir build cmake -G Xcode -D IOS_PLATFORM=OS ..
 #
 # or
 #
 #   cmake -E chdir build cmake -G Xcode -D IOS_PLATFORM=SIMULATOR ..
 #
+# or
+#
+#   cmake -E chdir build cmake -G Xcode -D IOS_PLATFORM=SIMULATOR64 ..
+#
 # Finally, build the project with:
 #
 #   cmake --build build
 #
 # Install it with
 #
 #   (sudo) cmake --build build --target install
 #
@@ -91,19 +95,20 @@ endif ()
 
 include(CheckIncludeFile)
 
 # CMAKE_TOOLCHAIN_FILE must be set before `project' is called, which
 # configures the base build environment and references the toolchain file
 if (APPLE)
   if (DEFINED IOS_PLATFORM)
     if (NOT "${IOS_PLATFORM}" STREQUAL "OS"
-        AND NOT "${IOS_PLATFORM}" STREQUAL "SIMULATOR")
+        AND NOT "${IOS_PLATFORM}" STREQUAL "SIMULATOR"
+        AND NOT "${IOS_PLATFORM}" STREQUAL "SIMULATOR64")
       message(FATAL_ERROR
-        "IOS_PLATFORM must be set to either OS or SIMULATOR")
+        "IOS_PLATFORM must be set to either OS, SIMULATOR, or SIMULATOR64")
     endif ()
     if (NOT "${CMAKE_GENERATOR}" STREQUAL "Xcode")
       message(AUTHOR_WARNING
         "You should use Xcode generator with IOS_PLATFORM enabled to get Universal builds.")
     endif ()
     if (BUILD_SHARED_LIBS)
       message(FATAL_ERROR
         "BUILD_SHARED_LIBS can not be on with IOS_PLATFORM enabled")
@@ -124,18 +129,18 @@ else ()
     message(FATAL_ERROR "IOS_PLATFORM is not supported on this platform")
   endif ()
 endif ()
 
 
 project(freetype C)
 
 set(VERSION_MAJOR "2")
-set(VERSION_MINOR "9")
-set(VERSION_PATCH "1")
+set(VERSION_MINOR "10")
+set(VERSION_PATCH "0")
 
 # SOVERSION scheme: CURRENT.AGE.REVISION
 #   If there was an incompatible interface change:
 #     Increment CURRENT. Set AGE and REVISION to 0
 #   If there was a compatible interface change:
 #     Increment AGE. Set REVISION to 0
 #   If the source code was changed, but there were no interface changes:
 #     Increment REVISION.
@@ -148,17 +153,17 @@ set(LIBRARY_SOVERSION "6")
 # instead of "BZIP2").
 option(FT_WITH_ZLIB "Use system zlib instead of internal library." OFF)
 option(FT_WITH_BZIP2 "Support bzip2 compressed fonts." OFF)
 option(FT_WITH_PNG "Support PNG compressed OpenType embedded bitmaps." OFF)
 option(FT_WITH_HARFBUZZ "Improve auto-hinting of OpenType fonts." OFF)
 
 
 # Disallow in-source builds
-if ("${PROJECT_BINARY_DIR}" STREQUAL "${PROJECT_SOURCE_DIR}")
+if ("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}")
   message(FATAL_ERROR
     "In-source builds are not permitted!  Make a separate folder for"
     " building, e.g.,\n"
     "  cmake -E make_directory build\n"
     "  cmake -E chdir build cmake ..\n"
     "Before that, remove the files created by this failed run with\n"
     "  cmake -E remove CMakeCache.txt\n"
     "  cmake -E remove_directory CMakeFiles")
@@ -224,19 +229,22 @@ if (UNIX)
   endif ()
   if (HAVE_STDINT_H)
     string(REGEX REPLACE
       "#undef +(HAVE_STDINT_H)" "#define \\1 1"
       FTCONFIG_H "${FTCONFIG_H}")
   endif ()
   string(REPLACE "/undef " "#undef "
     FTCONFIG_H "${FTCONFIG_H}")
-  file(WRITE "${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h"
-    "${FTCONFIG_H}")
+else()
+  file(READ "${PROJECT_SOURCE_DIR}/include/freetype/config/ftconfig.h"
+    FTCONFIG_H)
 endif ()
+file(WRITE "${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h"
+  "${FTCONFIG_H}")
 
 
 # Create the options file
 file(READ "${PROJECT_SOURCE_DIR}/include/freetype/config/ftoption.h"
   FTOPTION_H)
 if (ZLIB_FOUND)
   string(REGEX REPLACE
     "/\\* +(#define +FT_CONFIG_OPTION_SYSTEM_ZLIB) +\\*/" "\\1"
@@ -340,35 +348,39 @@ set_target_properties(
     C_VISIBILITY_PRESET hidden)
 
 target_compile_definitions(
   freetype PRIVATE FT2_BUILD_LIBRARY)
 
 if (WIN32)
   target_compile_definitions(
     freetype PRIVATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS)
+  if (BUILD_SHARED_LIBS)
+    target_compile_definitions(
+      freetype PRIVATE DLL_EXPORT)
+  endif ()
 endif ()
 
 if (BUILD_SHARED_LIBS)
   set_target_properties(freetype PROPERTIES
     VERSION ${LIBRARY_VERSION}
     SOVERSION ${LIBRARY_SOVERSION})
 endif ()
 
-target_include_directories(
-  freetype BEFORE  # Pick up ftconfig.h and ftoption.h generated above.
-    PRIVATE "${PROJECT_BINARY_DIR}/include")
-
+# Pick up ftconfig.h and ftoption.h generated above, first.
 target_include_directories(
   freetype
-    PRIVATE "${PROJECT_SOURCE_DIR}/include")
+    PUBLIC
+      $<INSTALL_INTERFACE:include/freetype2>
+      $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
+      $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+    PRIVATE
+      ${CMAKE_CURRENT_BINARY_DIR}/include
+      ${CMAKE_CURRENT_SOURCE_DIR}/include)
 
-target_include_directories(
-  freetype
-    PUBLIC $<INSTALL_INTERFACE:include/freetype2>)
 
 if (BUILD_FRAMEWORK)
   set_property(SOURCE ${PUBLIC_CONFIG_HEADERS}
     PROPERTY MACOSX_PACKAGE_LOCATION Headers/config
   )
   set_target_properties(freetype PROPERTIES
     FRAMEWORK TRUE
     MACOSX_FRAMEWORK_INFO_PLIST builds/mac/freetype-Info.plist
@@ -452,16 +464,17 @@ if (NOT SKIP_INSTALL_LIBRARIES AND NOT S
       COMPONENT pkgconfig)
   endif ()
 
   install(
     TARGETS freetype
       EXPORT freetype-targets
       LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
       ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+      RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
       FRAMEWORK DESTINATION Library/Frameworks
       COMPONENT libraries)
   install(
     EXPORT freetype-targets
       DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/freetype
       FILE freetype-config.cmake
       COMPONENT headers)
 endif ()
--- a/modules/freetype2/ChangeLog
+++ b/modules/freetype2/ChangeLog
@@ -1,8 +1,2535 @@
+2019-03-15  Werner Lemberg  <wl@gnu.org>
+
+	* Version 2.10.0 released.
+	==========================
+
+
+	Tag sources with `VER-2-10-0'.
+
+	* docs/VERSION.TXT: Add entry for version 2.10.0.
+	* docs/CHANGES: Updated.
+
+	* README, Jamfile (RefDoc), src/base/ftver.rc,
+	builds/windows/vc2010/freetype.vcxproj,
+	builds/windows/vc2010/index.html,
+	builds/windows/visualc/freetype.dsp,
+	builds/windows/visualc/freetype.vcproj,
+	builds/windows/visualc/index.html,
+	builds/windows/visualce/freetype.dsp,
+	builds/windows/visualce/freetype.vcproj,
+	builds/windows/visualce/index.html,
+	builds/wince/vc2005-ce/freetype.vcproj,
+	builds/wince/vc2005-ce/index.html,
+	builds/wince/vc2008-ce/freetype.vcproj,
+	builds/wince/vc2008-ce/index.html: s/2.9.1/2.10.0/, s/291/2100/.
+
+	* include/freetype/freetype.h (FREETYPE_MINOR): Set to 10.
+	(FREETYPE_PATCH): Set to 0.
+
+	* builds/unix/configure.raw (version_info): Set to 23:0:17.
+	* CMakeLists.txt (VERSION_MINOR): Set to 10.
+	(VERSION_PATCH): Set to 0.
+
+	* builds/toplevel.mk (version, winversion): Since the minor version
+	number has two digits now, never omit the patch number.  We would
+	get ambiguous zip file names otherwise.
+	(dist): Remove remnants of `docmaker' tool.
+	(do-dist): Remove unused intermediate files.
+
+	* src/cff/cffparse.c (destrict_c2s_item): Guard function with
+	CFF_CONFIG_OPTION_OLD_ENGINE macro.
+
+2019-03-07  Andrei Alexeyev  <0x416b617269@gmail.com>
+            Werner Lemberg  <wl@gnu.org>
+
+	Fix invalid function pointer casts.
+
+	This change should allow Freetype to work on WASM/Emscripten without
+	needing `-s EMULATE_FUNCTION_POINTER_CASTS=1'.
+
+	* src/autofit/afdummy.c (af_dummy_hints_apply): Fix signature.
+
+	* src/cid/cidload.c (cid_parse_font_matrix, parse_fd_array,
+	parse_expansion_factor, parse_font_name): Return `void', not
+	`FT_Error'.
+
+	* include/freetype/internal/ftobjs.h (FT_CMap_CharVarIsDefaultFunc):
+	Fix signature.
+
+2019-03-05  Werner Lemberg  <wl@gnu.org>
+
+	[base] Handle numeric overflow (#55827).
+
+	* src/base/ftglyph.c (FT_Glyph_Get_CBox): Use `FT_PIX_CEIL_LONG'.
+
+2019-03-05  Sebastian Rasmussen  <sebras@gmail.com>
+
+	[psaux] Fix use of uninitialized memory (#55832).
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString): The call to
+	`cf2_arrstack_setCount' may fail because the allocator ran out of
+	memory.  When this happens the stack is still written to before the
+	error condition is checked.  This means that FreeType writes outside
+	of allocated memory.  This commit moves the error check prior to the
+	stack assignment, hence the function now properly returns with an
+	error condition.
+
+2019-02-23  Werner Lemberg  <wl@gnu.org>
+
+	* src/base/ftbitmap.c (FT_Bitmap_Blend): No fractional offsets.
+
+	The function only provided a framework without an actual
+	implementation, which this commit removes.
+
+2019-02-23  Werner Lemberg  <wl@gnu.org>
+
+	* src/tools/update-copyright-year: Insert `(C)'.
+
+2019-02-21  Armin Hasitzka  <prince.cherusker@gmail.com>
+
+	[truetype] Mask numeric overflows.
+
+	* src/truetype/ttinterp.c (Move_CVT, Move_CVT_Stretched, Ins_MIRP):
+	Mask numeric overflows.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11681
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11734
+
+2019-02-21  Armin Hasitzka  <prince.cherusker@gmail.com>
+
+	[psaux] Mask numeric overflow.
+
+	* src/psaux/cffdecode.c (cff_decoder_parse_charstrings): Mask numeric
+	overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13041
+
+2019-02-16  Wink Saville  <wink@saville.com>
+
+	* src/autofit/afwarp.h (af_warper_compute): Fix declaration.
+
+2019-02-02  Nikolaus Waxweiler  <madigens@gmail.com>
+
+	[truetype] Apply MVAR hasc, hdsc and hlgp metrics to current FT_Face metrics.
+
+	Instead of setting typo or win metrics as the new `FT_Face' metrics
+	indiscriminately, apply only typo deltas to the currently active
+	`FT_Face' metrics.  This prevents line height differences when the
+	default outlines were used as the regular face and instances for
+	everything else, for example.
+
+	* src/truetype/ttgxvar.c (tt_apply_mvar): Implement.
+
+2019-02-02  Nikolaus Waxweiler  <madigens@gmail.com>
+
+	[sfnt] Use typo metrics if OS/2 fsSelection USE_TYPO_METRICS bit is set.
+
+	If the `OS/2' table exists and `fsSelection' bit 7
+	(USE_TYPO_METRICS) is set, use the `sTypo*' set of values to compute
+	the `FT_Face's ascender, descender, and height.  Otherwise, fall
+	back to old behavior.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Implement.
+
+2019-01-18  John Tytgat  <John.Tytgat@esko.com>
+
+	[sfnt] Handle TT fonts having two PostScript font names (#55471).
+
+	* src/sfnt/sfdriver.c (sfnt_get_name_id): Prefer English over any
+	other language found for PostScript font names.
+
+2019-01-08  Chris Liddell <chris.liddell@artifex.com>
+
+	[psaux] Fix closepath (#55414).
+
+	All of the Type 1 path building is done with code common to the
+	revised CFF engine, with the exception of closepath, which was still
+	calling ps_builder_close_contour(), thus previously cached segments
+	were not always written to the path, and glyph corruption, or even
+	invalid outlines were possible.
+
+	* src/psauc/psinterp.c (cf2_interpT2CharString) <cf2_cmdCLOSEPATH>:
+	Switch to calling `cf2_glyphpath_closeOpenPath'.
+
+2018-12-29  Werner Lemberg  <wl@gnu.org>
+
+	* src/autofit/aflatin2.c: Some fixes from `aflatin.c' (#55310).
+
+2018-12-25  Werner Lemberg  <wl@gnu.org>
+
+	* src/psaux/cffdecode.c (cff_operaor_seac): Fix numeric overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11915
+
+2018-12-12  Werner Lemberg  <wl@gnu.org>
+
+	[gxvalid] Fix compiler warnings.
+
+	* src/gxvalid/gxvjust.c (gxv_just_check_max_gid),
+	src/gxvalid/gxvmort.c (gxv_mort_coverage_validate): Use `FT_UNUSED'.
+
+2018-12-11  Werner Lemberg  <wl@gnu.org>
+
+	* src/truetype/ttgload.c (TT_Hint_Glyph): Remove useless test.
+
+	`control_len' only gets its value from `n_ins' (and vice versa),
+	which is always read as `unsigned short' and thus can't be larger
+	than 0xFFFF.
+
+2018-12-04  Werner Lemberg  <wl@gnu.org>
+
+	[bdf] Ignore data after `ENDFONT'.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10798
+
+	* src/bdf/bdflib.c (_bdf_parse_end): New function.
+	(_bdf_parse_glyphs): Switch to `_bdf_parse_end' after `ENDFONT' has
+	been encountered.
+
+2018-12-02  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* builds/windows/visualc/freetype.dsp: Dust off.
+
+2018-11-27  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* builds/windows/vc2010/freetype.vcxproj: Simplify.
+
+2018-11-27  Chris Liddell  <chris.liddell@artifex.com>
+
+	[type1,cff] Add FT_{Set,Get}_MM_WeightVector API calls.
+
+	For multiple master fonts, common usage (in Postscript) is to modify
+	the WeightVector of an existing font instance, this addition
+	supports that use.
+
+	* include/freetype/ftmm.h, src/base/ftmm.c (FT_Set_MM_WeightVector,
+	FT_Get_MM_WeightVector): New API functions.
+
+	* include/freetype/internalservices/svmm.h
+	(FT_Set_MM_WeightVector_Func, FT_Get_MM_WeightVector_Func): New
+	function types.
+	(MultiMasters): Add `set_mm_weightvector' and `get_mm_weightvector'
+	members.
+	(FT_DEFINE_SERVICE_MULTIMASTERSREC): Updated.
+
+	* src/cffcffdrivr.c (cff_set_mm_weightvector,
+	cff_get_mm_weightvector): New functions.
+	(cff_service_multi_masters): Register them.
+
+	* src/truetype/ttdriver.c (tt_service_gx_multi_masters): Updated.
+	This driver doesn't use the new interface.
+
+	* src/type1/t1load.c (T1_Set_MM_WeightVector,
+	T1_Get_MM_WeightVector): New functions.
+	* src/type1/t1driver.c (t1_service_multi_masters): Register them.
+	* src/type1/t1load.h: Updated.
+
+2018-11-27  Ben Wagner  <bungeman@google.com>
+
+	[cff] Fix compiler warning (#55105).
+
+	* src/cff/cffparse.c (cff_parser_run): Guard label only used if
+	CFF_CONFIG_OPTION_OLD_ENGINE is active.
+
+2018-11-27  Ben Wagner  <bungeman@google.com>
+
+	[truetype] Fix numeric overflow (#55103).
+
+	* src/truetype/ttgload.c (compute_glyph_metrics): Use `SUB_LONG'.
+
+2018-11-25  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[builds] Belated DLL support with vc2002-vc2008.
+
+	The solution and project files should be automatically upgraded for
+	the approriate Visual C++ version.
+
+	* builds/windows/visualc/freetype.{sln,vcproj}: Major upgrades.
+	* builds/windows/visualc/index.html: Document the change.
+	* builds/windows/vc2005, builds/windows/vc2008: Removed as redundant.
+
+2018-11-22  Armin Hasitzka  <prince.cherusker@gmail.com>
+
+	* src/cff/cffparse.c: Please the compiler.
+
+2018-11-22  Armin Hasitzka  <prince.cherusker@gmail.com>
+
+	[cff] Fix memory overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9869
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10869
+
+	* src/cff/cffparse.c (destruct_t2s_item, cff_parser_run): Store
+	evaluated T2 charstrings in separately allocated memory.
+
+2018-11-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* builds/windows/{visualc,vc2005,vc2008}/freetype.vcproj: Fix it.
+
+2018-11-10  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[smooth] Placeholder only for library-enabled LCD filtering.
+
+	* src/smooth/ftsmooth.c (ft_smooth_init): Add disabled
+	`FT_Library_SetLcdFilter' call.
+
+2018-11-09  Young Xiao  <yangx92@hotmail.com>
+
+	[psaux] Add safety guard (#54985).
+
+	* src/psaux/psobjs.c (cff_builder_close_contour): Do it.
+
+2018-11-08  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* builds/unix/configure.raw: Require `windows.h' for windres.
+
+2018-11-08  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[ftstroke] Fix unpredictable failures (#54986).
+
+	* src/base/ftstroke.c (ft_sroke_border_lineto): Fix lineto check.
+
+2018-11-08  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[ftstroke] Fix unpredictable failures (#54976).
+
+	* src/base/ftstroke.c (ft_sroke_border_close): Set the start tags.
+
+2018-11-07  Ben Wagner  <bungeman@google.com>
+
+	[truetype] Fix VF check from 2018-09-12 (#54973).
+
+	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Use correct
+	offsets for estimates.
+
+2018-11-06  Werner Lemberg  <wl@gnu.org>
+
+	[pshinter] Fix numeric overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11242
+
+	* src/pshinter/pshrec.c (ps_dimension_add_t1stem): Implement it.
+
+2018-11-06  Werner Lemberg  <wl@gnu.org>
+
+	[psaux] Fix timeout in old CFF engine.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11260
+
+	* src/psaux/cffdecode.c (cff_decoder_parse_charstrings)
+	<cff_op_sqrt> [CFF_CONFIG_OPTION_OLD_ENGINE]: Fix potential endless
+	loop.
+
+2018-11-04  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/truetype/ttgxvar.c: Use enum definitions.
+
+2018-11-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/truetype/ttgxvar.c (ft_var_apply_tuple): Adjust condition.
+
+2018-11-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/truetype/ttgxvar.c (ft_var_apply_tuple): Tracing tweaks.
+
+2018-11-03  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	Revert due to specs: [truetype] Speed up variation IUP.
+
+2018-11-02  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/truetype/ttgxvar.c (ft_var_get_item_delta): Fixed logic.
+
+	Reported and tested by Behdad.
+
+2018-11-02  Shailesh Mistry  <shailesh.mistry@hotmail.co.uk>
+
+	[autofit] Prevent SEGV.
+
+	See
+
+	  https://bugs.ghostscript.com/show_bug.cgi?id=697545
+
+	for more details on how the bug was found.
+
+	* src/autofit/afloader.c (af_loader_load_glyph): Propagate error
+	code.
+
+2018-10-31  Alexei Podtelezhnikov <apodtele@gmail.com>
+
+	[truetype] Speed up variation IUP.
+
+	* src/truetype/ttgxvar.c (tt_delta_interpolate): Separate trivial
+	snapping to the same position from true interpolation.
+
+2018-10-31  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/type1/t1load.c (t1_set_mm_blend): Optimized.
+
+2018-10-31  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/truetype/ttgxvar.c (ft_var_get_item_delta): Optimized.
+
+2018-10-29  Werner Lemberg  <wl@gnu.org>
+
+	[base] Fix numeric overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11080
+
+	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Use `MUL_LONG'.
+
+2018-10-29  Werner Lemberg  <wl@gnu.org>
+
+	[cff] Fix numeric overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10988
+
+	* src/cff/cffparse.c (cff_parser_run)
+	[CFF_CONFIG_OPTION_OLD_ENGINE]: Use `NEG_LONG'.
+
+2018-10-27  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[sfnt] Make `head' timestamps unsigned.
+
+	It's been more than 2^31 seconds since 1904.
+
+	* include/freetype/tttables.h (TT_Header): Change field types.
+	* src/sfnt/ttload.c (tt_face_load_generic_header): Updated.
+
+2018-10-27  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	Revert: Align FreeType with standard C memory management.
+
+2018-10-27  Werner Lemberg  <wl@gnu.org>
+
+	[psaux] Fix numeric overflow.
+
+	Triggered by
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11157
+
+	* src/psaux/cffdecode.c (cff_decoder_parse_charstrings) <cff_op_blend>
+	[CFF_CONFIG_OPTION_OLD_ENGINE]: Fix integer overflow.
+
+2018-10-20  Werner Lemberg  <wl@gnu.org>
+
+	Avoid endless loop while tracing (#54858).
+
+	* src/type1/t1load.c (parse_buildchar): Guard tracing stuff with
+	FT_DEBUG_LEVEL_TRACE.
+
+2018-10-17  David Demelier  <markand@malikania.fr>
+
+	* CMakeLists.txt: Specify `RUNTIME DESTINATION'.
+
+	This is needed for DLL builds.
+
+2018-10-07  Werner Lemberg  <wl@gnu.org>
+
+	A missing Unicode cmap is not a fatal error.
+
+	This is a follow-up to the previous commit.
+
+	* src/cff/cffobjs.c (cff_face_init), src/sfnt/sfobjs.c
+	(sfnt_load_face), src/type1/t1objs.c (T1_Face_Init),
+	src/type42/t42objs.c (T42_Face_Init): Implement it.
+
+2018-10-07  Werner Lemberg  <wl@gnu.org>
+
+	Fix handling of FT_CONFIG_OPTION_ADOBE_GLYPH_LIST (#54794).
+
+	* src/cff/cffcmap.c (cff_cmap_unicode_init), src/psaux/t1cmap.c
+	(t1_cmap_unicode_init), src/sfnt/ttcmap.c (tt_cmap_unicode_init):
+	Check `unicodes_init' field.
+
+2018-10-03  Werner Lemberg  <wl@gnu.org>
+
+	[ftgrays] Fix typo in stand-alone mode (#54771).
+
+	* src/smooth/ftgrays.c (FT_THROW) [STANDALONE_ &&
+	FT_DEBUG_LEVEL_TRACE]: Fix call to `FT_ERR_CAT'.
+
+2018-10-02  Werner Lemberg  <wl@gnu.org>
+
+	[psaux] Fix segfault.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10768
+
+	* src/psaux/cffdecode.c (cff_decoder_parse_charstrings)
+	<cff_op_callothersubr> [CFF_CONFIG_OPTION_OLD_ENGINE]: Check
+	argument.
+
+2018-10-02  Werner Lemberg  <wl@gnu.org>
+
+	[psaux] Fix numeric overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10740
+
+	* src/psaux/cffdecode.c (cff_decoder_parse_charstrings) <cff_op_roll>
+	[CFF_CONFIG_OPTION_OLD_ENGINE]: Use NEG_INT.
+
+2018-10-02  Werner Lemberg  <wl@gnu.org>
+
+	[pshinter] Handle numeric overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10550
+
+	* src/pshinter/pshglob.c (psh_blues_snap_stem): Mask numeric
+	overflow.
+
+2018-09-27  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	Align FreeType with standard C memory management.
+
+	* include/freetype/ftsystem.h: Include FT_TYPES_H.
+	(*FT_Alloc_Func, *FT_Realloc_Func): Use size_t for the size arguments.
+	* src/raster/ftmisc.h: Ditto.
+
+	* builds/amiga/src/base/ftsystem.c, builds/unix/ftsystem.c,
+	* builds/vms/ftsystem.c, src/base/ftsystem.c (ft_alloc, ft_realloc):
+	Use size_t for the size arguments.
+
+	* src/base/ftdbgmem.c (ft_mem_debug_alloc, ft_mem_debug_realloc): Use
+	FT_Offset, aka size_t, for the size arguments.
+
+2018-09-25  Werner Lemberg  <wl@gnu.org>
+
+	Fix handling of `FT_Bool'.
+
+	Before this commit we had code like
+
+	  (FT_Bool)( globals->glyph_styles[gindex] & 0x8000)
+
+	Since `FT_Bool' is defined to be an `unsigned char', the code
+	evaluated to something like
+
+	  (unsigned char)( 0x8532 & 0x8000)
+
+	which in turn expanded to
+
+	  (unsigned char)( 0x8000)
+
+	and finally yielded 0x00 – i.e., false – not as expected.
+
+	Problem reported and analyzed by Tony Smith <tony.smith@macro4.com>.
+
+	* include/freetype/fttypes.h (FT_BOOL): Add a comparison against
+	zero so that we always have a Boolean expression.
+
+	*/*: Replace castings to `FT_Bool' with calls to `FT_BOOL' where
+	possible.
+
+2018-09-23  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[bdf] Speed up charmap access.
+
+	This makes FT_Get_Char_Index and FT_Get_Next_Char 4-5 times faster.
+
+	* src/bdf/bdfdrivr.c (bdf_cmap_char_{index,next}): Help binary search
+	with continuous prediction.
+
+2018-09-22  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/base/ftobjs.c (ft_glyphslot_preset_bimap): Another tweak.
+
+	This one should be clearer. When the rounded monochrome bbox collapses
+	we add a pixel that covers most if not all original cbox.
+
+2018-09-21  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/base/ftobjs.c (ft_glyphslot_preset_bimap): Further tweak.
+
+2018-09-21  Ben Wagner  <bungeman@google.com>
+
+	Improve auto-hinter handling of bitmap fonts (#54681).
+
+	For bitmap fonts, `FT_Load_Glyph' should either return an error or
+	not set the format to `FT_GLYPH_FORMAT_OUTLINE'.  However, in this
+	case `FT_Load_Glyph' calls into the auto-hinter which calls back
+	into `FT_Load_Glyph' with `FT_LOAD_NO_SCALE' in the flags, which
+	marks the glyph as `FT_GLYPH_FORMAT_OUTLINE' with an empty path
+	(even though it doesn't have any path).  It appears that the
+	auto-hinter should not be called when the face doesn't have
+	outlines.  The current test for using the auto-hinter in
+	`FT_Load_Glyph' checks whether the driver supports scalable
+	outlines, but not if the face supports scalable outlines.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Directly check whether we have
+	scalable outlines.
+
+2018-09-21  Werner Lemberg  <wl@gnu.org>
+
+	[raster] Fix disappearing vertical lines (#54589).
+
+	* src/raster/ftraster.c (Vertical_Sweep_Span): Handle special case
+	where both left and right outline exactly pass pixel centers.
+
+2018-09-20  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/base/ftobjs.c (ft_glyphslot_preset_bimap): Tiny rounding tweak.
+
+	This adds pixels in case a contour goes through the center
+	and they need to be turned on in the b/w rasterizer.
+
+2018-09-20  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[pcf] Replace charmap implementation.
+
+	PCF comes with charmap lookup table, aka PCF encodings.  Using it
+	directly makes FT_Get_Char_Index and FT_Get_Next_Char 4-5 times
+	faster than the original BDF-like binary searches.
+
+	* src/pcf/pcf.h (PCF_EncodingRec): Removed.
+	(PCF_FaceRec): Remove `nencodings' and `encodings'.
+	* src/pcf/pcfdrivr.c (pcf_cmap_char_{index,next}): Replaced.
+	* src/pcf/pcfread.c (pcf_get_encodings): Store data differently.
+
+2018-09-20  Werner Lemberg  <wl@gnu.org>
+
+	[base] Remove unused function `FT_GlyphLoader_CopyPoints'.
+
+	* include/freetype/internal/ftgloadr.h, src/base/ftgloadr.c
+	(FT_GlyphLoader_CopyPoints): Do it.
+
+2018-09-19  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[pcf] Prepare to replace charmap implementation.
+
+	* src/pcf/pcf.h (PCF_FaceRec): Updated to include...
+	(PCF_EncRec): ... this new structure to store charmap geometry.
+
+	* src/pcf/pcfread.c (pcf_get_encodings): Store charmap geometry.
+
+2018-09-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	Remove unused fields.
+
+	* src/pcf.h (PCF_FaceRec): Remove `charmap' and `charmap_handle'.
+	* src/bdfdrvr.h (BDF_FaceRec): Ditto.
+	* src/winfonts/winfnt.h (FNT_FaceRec): Ditto.
+
+2018-09-17  Werner Lemberg  <wl@gnu.org>
+
+	[pshinter] Handle numeric overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10396
+
+	* src/pshinter/pshglob.c: Include FT_INTERNAL_CALC_H.
+	(psh_blues_snap_stem): Mask numeric overflow.
+
+2018-09-13  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Some fixes for VF checks.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10317
+
+	* src/truetype/ttgxvar.c (ft_var_load_gvar): Properly exit memory
+	frame if we have invalid glyph variation data offsets.
+	(tt_face_vary_cvt): Protect against missing `tuplecoords' array.
+	Fix typo.
+
+2018-09-13  Werner Lemberg  <wl@gnu.org>
+
+	* src/sfnt/sfdriver.c (sfnt_get_var_ps_name): Fix last commit.
+
+2018-09-13  Werner Lemberg  <wl@gnu.org>
+
+	* src/sfnt/sfdriver.c (sfnt_get_var_ps_name): Check `result'.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10316
+
+2018-09-12  John Tytgat  <John.Tytgat@esko.com>
+
+	[sfnt] Better PS name handling (#54629).
+
+	* src/sfnt/sfdriver (IS_WIN, IS_APPLE): Omit language ID checks.
+	(get_win_string, get_apple_string): Return NULL when the PostScript
+	font name characters is not according to specification.
+	(get_win_string): Make trace output work if the high byte if
+	non-zero.
+	(sfnt_get_var_ps_name, sfnt_get_ps_name): Previously we preferred
+	Win PS name (when there is also an Apple PS name); change this into
+	a fallback to Apple PS name in case the Win PS name is invalid.
+
+2018-09-12  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Improve VF check.
+
+	Triggered by
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10255
+
+	* src/truetype/ttgxvar.c (ft_var_load_gvar): Use better limit check
+	for `tupleCount'.
+
+2018-09-12  Werner Lemberg  <wl@gnu.org>
+
+	* src/truetype/ttgxvar.c (ft_var_load_gvar): Check `glyphoffsets'.
+
+2018-09-10  Armin Hasitzka  <prince.cherusker@gmail.com>
+
+	* src/pshinter/pshrec.c (t2_hints_stems): Mask numeric overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10215
+
+2018-09-09  Ben Wagner  <bungeman@google.com>
+
+	* builds/freetype.mk (refdoc-venv): Ensure python version (#54631).
+
+2018-09-07  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Fix assertion failure.
+
+	Triggered by
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10212
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Reintroduce
+	`opened_frame' (removed in a change from 2018-08-26) to handle
+	deallocation of the second frame.
+
+2018-09-05  Werner Lemberg  <wl@gnu.org>
+
+	Synchronize `ftdebug.c' files.
+
+	* builds/amiga/src/base/ftdebug.c, builds/wince/ftdebug.c,
+	builds/windows/ftdebug.c: Synchronize with `src/base/ftdebug.c'.
+
+2018-09-05  Nikhil Ramakrishnan  <ramakrishnan.nikhil@gmail.com>
+
+	Add documentation guidelines file.
+
+	* docs/DOCGUIDE: New file.
+
+2018-09-04  Werner Lemberg  <wl@gnu.org>
+
+	* devel/ftoption.h: Synchronize with master `ftoption.h'.
+
+2018-09-03  Nikhil Ramakrishnan  <ramakrishnan.nikhil@gmail.com>
+
+	[docwriter] Don't break code snippets accross lines.
+
+	Reported as
+
+	  https://lists.nongnu.org/archive/html/freetype-devel/2018-08/msg00124.html
+
+	* docs/reference/markdown/stylesheets/extra.css (.md-typeset code):
+	Add rule `white-space'.
+
+2018-09-03  Werner Lemberg  <wl@gnu.org>
+
+	*/*: s/PSNames/psnames/.
+
+	Only tracing messages are affected.
+
+2018-09-03  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Fix heap buffer overflow in CPAL handling.
+
+	* src/sfnt/ttcpal.c (tt_face_palette_set): Fix boundary test.
+	(tt_face_load_cpal): Updated.
+
+2018-09-01  Werner Lemberg  <wl@gnu.org>
+
+	Remove `FT_Outline_{New,Done}_Internal'.
+
+	These public API functions(!) were always undocumented and have
+	escaped all clean-up efforts until now.
+
+	* include/freetype/ftoutln.h (FT_Outline_New_Internal,
+	FT_Outline_Done_Internal): Removed.
+
+	* src/base/ftoutln.h (FT_Outline_New_Internal,
+	FT_Outline_Done_Internal): Merge into...
+	(FT_Outline_New, FT_Outline_Done): ... these functions.
+
+	* docs/README: Updated.
+
+2018-08-30  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Check glyph format.
+
+2018-08-31  Armin Hasitzka  <prince.cherusker@gmail.com>
+
+	[errors] Refine the macro logic surrounding `FT_Error_String'.
+
+	* include/freetype/fterrors.h (FT_INCLUDE_ERR_PROTOS,
+	FT_ERR_PROTOS_DEFINED): Undefine `FT_INCLUDE_ERR_PROTOS' after
+	checking it and introduce a new macro that takes proper care of
+	multiple-inclusion protection.
+
+2018-08-31  Werner Lemberg  <wl@gnu.org>
+
+	* src/base/ftdebug.c (FT_Throw): Restore missing `FT_UNUSED' calls.
+
+2018-08-31  Werner Lemberg  <wl@gnu.org>
+
+	* src/base/ftdebug.c (FT_Throw): Reduce chattiness.
+
+2018-08-31  Werner Lemberg  <wl@gnu.org>
+
+	* src/autofit/afhints.c (af_glyph_hints_reload): Add initialization.
+
+2018-08-30  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	Consolidate bitmap presetting and size assessment.
+
+	* include/freetype/internal/ftobjs.h (ft_glyphslot_preset_bitmap):
+	Change return type.
+	* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Return the bitmap
+	size assessment.
+
+	* src/raster/ftrend1.c (ft_raster1_render): Use it to refuse the
+	rendering of enourmous or far-fetched outlines.
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Ditto.
+
+2018-08-30  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Correct mono.
+
+2018-08-30  Armin Hasitzka  <prince.cherusker@gmail.com>
+
+	[errors] Introduce a macro to control `FT_Error_String'.
+
+	* devel/ftoption.h (FT_CONFIG_OPTION_ERROR_STRINGS),
+	include/freetype/config/ftoption.h (FT_CONFIG_OPTION_ERROR_STRINGS):
+	New macro.
+
+2018-08-30  Armin Hasitzka  <prince.cherusker@gmail.com>
+
+	[errors] Introduce `FT_Error_String'.
+
+	* include/freetype/fterrors.h (FT_Error_String),
+	src/base/fterrors.c (FT_Error_String): Implement `FT_Error_String'.
+
+	* src/base/ftbase.c, src/base/Jamfile (_source),
+	src/base/rules.mk (BASE_SRC): Add `fterrors.c' to the build logic.
+
+	* src/base/ftdebug.c (FT_Throw): Use `FT_Error_String'.
+
+2018-08-30  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Trace `before' and `after' edges of strong points.
+
+	* src/autofit/afhints.h (AF_PointRec) [FT_DEBUG_AUTOFIT]: New arrays
+	`before' and `after'.
+
+	* src/autofit/afhints.c (af_get_strong_edge_index): New auxiliary
+	function.
+	(af_glyph_hints_dump_points): Trace `before' and `after' edges.
+	(af_glyph_hints_align_strong_points) [FT_DEBUG_AUTOFIT]: Set
+	`before' and `after' information.
+
+2018-08-30  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Overflow-resistant bitmap presetting.
+
+	* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Implement it.
+
+2018-08-29  Armin Hasitzka  <prince.cherusker@gmail.com>
+
+	Fix numeric overflows.
+
+	* src/pshint/pshalgo.c (psh_hint_align, psh_hint_align_light,
+	psh_hint_table_find_strong_points): Fix numeric overflows.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10083
+
+2018-08-29  Werner Lemberg  <wl@gnu.org>
+
+	[cff] Fix handling of `roll' op in old engine.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10080
+
+	* src/psaux/cffdecode.c (cff_decoder_parse_charstrings) <cff_op_roll>
+	[CFF_CONFIG_OPTION_OLD_ENGINE]: Use modulo for loop count, as
+	documented in the specification.
+
+2018-08-26  Werner Lemberg  <wl@gnu.org>
+
+	* src/truetype/ttobjs.c (tt_size_read_bytecode): Trace CVT values.
+
+2018-08-26  Nikhil Ramakrishnan  <ramakrishnan.nikhil@gmail.com>
+
+	* configure: Copy assets required by docwriter.
+
+	Copy directory `docs/reference/markdown' when FreeType is compiled in a
+	different directory.
+
+	Fixes `make refdoc' if builddir != srcdir.
+
+	Reported as
+
+	  https://lists.nongnu.org/archive/html/freetype-devel/2018-08/msg00083.html
+
+2018-08-26  Werner Lemberg  <wl@gnu.org>
+
+	* src/pshint/pshalgo.c (psh_hint_overlap): Fix numeric overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10057
+
+2018-08-26  Werner Lemberg  <wl@gnu.org>
+
+	Minor tracing adjustments.
+
+	* src/base/ftstream.c (FT_Stream_EnterFrame, FT_Stream_ExitFrame):
+	Trace.
+
+	* src/truetype/ttgload.c (TT_Access_Glyph_Frame): Remove tracing.
+
+2018-08-26  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Avoid nested frames.
+
+	Triggered by
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10054
+
+	* src/truetype/ttgload.c (load_truetype_glyph): Don't use variable
+	`opened_frame' to trace whether a frame must be closed at the end of
+	function: This fails because `TT_Vary_Apply_Glyph_Deltas' (which
+	gets called for space glyphs) uses a frame by itself.  Instead,
+	close the frame after loading the header, then use another frame for
+	the remaining part of the glyph later on.
+
+	Also avoid calling `tt_get_metrics' twice under some circumstances.
+
+2018-08-26  Werner Lemberg  <wl@gnu.org>
+
+	Various minor clean-ups.
+
+	* src/base/ftapi.c: Remove.  Unused.
+	* src/base/Jamfile (_sources): Updated.
+
+	* src/base/ftstream.c (FT_Stream_ReleaseFrame): Remove redundant
+	code.
+
+2018-08-25  Nikhil Ramakrishnan  <ramakrishnan.nikhil@gmail.com>
+
+	Convert documentation markup to Markdown.
+
+	It is the result of a GSoC 2018 project; this separate ChangeLog
+	commit covers the last four commits
+
+	  ae5d1a4cec37557f31aec270332cfe886a62f9a0
+	  53c69ce04faed3dcc68ca0f54cb8d703d8babf69
+	  195728d5ba38f34fb2c2c20807c01656f2f59b66
+	  c962db28ea59225f0105c03d907d4a9b71765687
+
+	* docs/reference/markdown/images/favico.ico,
+	docs/reference/markdown/javascripts/extra.js,
+	docs/reference/markdown/stylesheets/extra.css: New files.
+
+	* docs/reference/.gitignore, docs/reference/README: Updated.
+
+	* src/tools/docmaker/*: Removed.  It has been replaced with
+	`docwriter', a python package available at
+
+	  https://pypi.org/project/docwriter/
+
+	* Jamfile: Updated.
+	* builds/ansi/ansi-def.mk, builds/beos/beos-def.mk,
+	builds/dos/dos-def.mk, builds/os2/os2-def.mk (BIN),
+	builds/unix/unixddef.mk, builds/windows/win32-def.mk: New variable.
+
+	* builds/unix/configure.raw: Check for `python' and `pip'.
+	If not present, warn that `make refdoc' will fail.
+	* builds/unix/unix-def.in (PYTHON, PIP, BIN): New variables.
+
+	* builds/freetype.mk (PYTHON, PIP, VENV_NAME, VENV_DIR, ENV_PYTHON,
+	ENV_PIP): New variables.
+	(refdoc): Updated.
+	(refdoc-venv): New target.
+	(.PHONY): Updated.
+
+2018-08-23  Werner Lemberg  <wl@gnu.org>
+
+	Add macros for handling over-/underflowing `FT_Int64' values.
+
+	* include/freetype/internal/ftcalc.h (ADD_INT64, SUB_INT64,
+	MUL_INT64, DIV_INT64) [FT_LONG64]: New macros.
+
+	* src/base/ftcalc.c (ft_corner_orientation) [FT_LONG64]: Use
+	`SUB_INT64' and `MUL_INT64'.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10028
+
+2018-08-22  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Improve legibility of `glyf' parsing.
+
+	* src/truetype/ttgload.c (ON_CURVE_POINT, X_SHORT_VECTOR,
+	Y_SHORT_VECTOR, REPEAT_FLAG, X_POSITIVE, SAME_X, Y_POSITIVE, SAME_Y,
+	OVERLAP_SIMPLE): New macros.
+	(TT_Load_Simple_Glyph): Use new macros to make code more readable.
+	Remove useless adjustment of `outline->tags' elements.
+
+2018-08-21  Werner Lemberg  <wl@gnu.org>
+
+	* src/sfnt/ttcpal.c (tt_face_load_cpal): Add missing safety check.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9981
+
+2018-08-18  Werner Lemberg  <wl@gnu.org>
+
+	[psaux] Avoid slow PS font parsing in case of error.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9955
+
+	* src/psaux/psobjs.c (ps_parser_to_bytes): Set `parser->cursor' even
+	in case of error to avoid potential re-scanning.
+
+2018-08-18  Werner Lemberg  <wl@gnu.org>
+
+	[cff] Fix heap buffer overflow in old engine.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9967
+
+	* src/psaux/cffdecode.c (cff_decoder_parse_charstrings)
+	<cff_op_blend> [CFF_CONFIG_OPTION_OLD_ENGINE]: `num_designs' must be
+	non-zero.
+
+2018-08-16  Young Xiao  <yangx92@hotmail.com>
+
+	* builds/mac/ftmac.c (parse_fond): Fix buffer overrun.
+
+	Reported as bug #54515, duplicate of #43540.
+
+2018-08-16  Werner Lemberg  <wl@gnu.org>
+
+	* builds/*/ftsystem.c (FT_COMPONENT): Updated also.
+
+2018-08-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[bdf] Don't track duplicate encodings.
+
+	There is no harm except some umbiguity in broken fonts with duplicate
+	encodings.
+
+	* src/bdf/bdflib.c (_bdf_parse_glyphs): Remove duplicate tracking.
+	(_bdf_parse_t): Remove large `have' bitfield.
+
+2018-08-15  Werner Lemberg  <wl@gnu.org>
+
+	Don't use `trace_' prefix for FT_COMPONENT arguments.
+
+	* include/freetype/internal/ftdebug.h (FT_TRACE_COMP,
+	FT_TRACE_COMP_): New auxiliary macros to add `trace_' prefix.
+	(FT_TRACE): Use `FT_TRACE_COMP'.
+
+	*/* (FT_COMPONENT): Updated.
+
+2018-08-14  Werner Lemberg  <wl@gnu.org>
+
+	Use formatting string in FT_TRACEX calls for non-simple arguments.
+
+	* src/psaux/cffdecode.c (cff_decoder_parse_charstrings)
+	<cff_op_hstem, cff_op_hintmask, cff_op_hlineto, cff_op_vhcurveto>:
+	Do it.
+
+	* src/psaux/pshints.c (cf2_hintmap_build): Ditto.
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString) <cf2_cmdHSTEM,
+	cf2_cmdVSTEM, cf2_cmdHLINETO, cf2_cmdRRCURVETO, cf2_cmdCALLSUBR,
+	cf2_escHSTEM3, cf2_cmdHINTMASK, cf2_cmdHVCURVETO>: Ditto.
+
+	* src/truetype/ttinterp.c (TT_RunIns): Ditto.
+
+2018-08-14  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[bdf] Remove unused fields.
+
+	* src/bdf/bdf.h (bdf_font_t): Remove `nmod', `umod', and `modified',
+	which were set but never used.
+	* src/bdf/bdflib.c (_bdf_parse_{glyphs,properties}, bdf_load_font):
+	Updated accordingly.
+
+2018-08-14  Werner Lemberg  <wl@gnu.org>
+
+	[cff] Fix another segv in old engine.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9872
+
+	* src/psaux/cffdecode.c (cff_decoder_parse_charstrings)
+	[CFF_CONFIG_OPTION_OLD_ENGINE]: Disallow invalid T1 opcodes in
+	dictionaries.
+
+2018-08-14  Werner Lemberg  <wl@gnu.org>
+
+	[cff] Fix missing error handling.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9865
+
+	* src/psaux/cffparse.c (cff_parser_run)
+	[CFF_CONFIG_OPTION_OLD_ENGINE]: Don't ignore return value of
+	`parse_charstrings_old'.
+
+2018-08-14  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[bdf] Remove unused overflow storage.
+
+	* src/bdf/bdf.h (bdf_glyphlist_t): Remove this type.
+	(bdf_font_t): Remove `overflow' field.
+	* src/bdf/bdflib.c (bdf_free_font): Remove `overflow' freeing.
+
+2018-08-14  Werner Lemberg  <wl@gnu.org>
+
+	[cff] Fix segv in old engine.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9864
+
+	* src/psaux/cffdecode.c (cff_decoder_parse_charstrings)
+	<cff_op_random> [CFF_CONFIG_OPTION_OLD_ENGINE]: Use top dict's
+	`random' field directly if parsing dictionaries.
+
+2018-08-13  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[bdf] Use unsigned types.
+
+	* src/bdf/bdf.h (bdf_glyph_t): Unsign `encoding'.
+	(bdf_font_t): Unsign `default_char'.
+	* src/bdf/bdfdrivr.h (BDF_encoding_el): Unsign `enc'.
+
+	* src/bdf/bdflib.c (_bdf_add_property, _bdf_parse_glyphs,
+	_bdf_parse_start): Updated accordingly.
+	* src/bdf/bdfdrivr.c (bdf_cmap_char_{index,next}): Ditto.
+
+2018-08-13  Werner Lemberg  <wl@gnu.org>
+
+	* src/type42/t42parse.c (t42_parse_sfnts): One more format check.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9832
+
+2018-08-11  Werner Lemberg  <wl@gnu.org>
+
+	* src/base/ftcalc.c (FT_Matrix_Check): Fix integer overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9811
+
+2018-08-10  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/sfnt/ttsbit.c (tt_sbit_decoder_load_compound): Follow specs.
+
+2018-08-10  Ben Wagner  <bungeman@google.com>
+
+	* src/sfnt/sfobjs.c (sfnt_done_face): Fix memory leak (#54435).
+
+2018-08-10  Werner Lemberg  <wl@gnu.org>
+
+	* src/base/ftobjs.c (FT_Render_Glyph_Internal): Improve tracing.
+
+2018-08-10  Werner Lemberg  <wl@gnu.org>
+
+	Fix clang warnings.
+
+	* src/base/ftdebug.c (ft_trace_level_enabled,
+	ft_trace_level_disabled): Add `static' keyword.
+
+2018-08-09  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[raster, smooth] Reinstate bitmap size limits.
+
+	This again moves outline and bitmap size checks one level up.
+
+	* src/base/ftoutln.c (FT_Outline_Render): Explicitly reject enormous
+	outlines.
+	* src/raster/ftrend1.c (ft_raster1_render): Reject enormous bitmaps
+	and, therefore, outlines that require them.
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Ditto.
+
+	* src/raster/ftraster.c (ft_black_render): Remove outline size checks.
+	* src/smooth/ftgrays.c (gray_raster_render): Ditto.
+	[STANDALONE]: Remove `FT_Outline_Get_CBox' copy.
+
+2018-08-08  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[pcf] Revert massive unsigning.
+
+2018-08-08  Werner Lemberg  <wl@gnu.org>
+
+	[smooth] Improve tracing.
+
+	* src/smooth/ftgrays.c (gray_convert_glyph_inner): Only use tracing
+	if called the first time.
+	(gray_convert_glyph): Updated.
+
+2018-08-08  Werner Lemberg  <wl@gnu.org>
+
+	Add internal functions `FT_Trace_Disable' and `FT_Trace_Enable'.
+
+	It sometimes makes sense to suppress tracing informations, for
+	example, if it outputs identical messages again and again.
+
+	* include/freetype/internal/ftdebug.h: Make `ft_trace_levels' a
+	pointer.
+	(FT_Trace_Disable, FT_Trace_Enable): New declarations.
+
+	* src/base/ftdebug.c (ft_trace_levels): Rename to...
+	(ft_trace_levels_enabled): ... this.
+	(ft_trace_levels_disabled): New array.
+	(ft_trace_levels): New pointer.
+	(FT_Trace_Disable, FT_Trace_Enable): Implement.
+	(ft_debug_init): Updated.
+
+2018-08-08  Werner Lemberg  <wl@gnu.org>
+
+	Debugging improvements.
+
+	* src/base/ftobjs.c (pixel_modes): Move this array to top level
+	from ...
+	(FT_Load_Glyph): ... here.
+	(FT_Render_Glyph_Internal): Use `width' x `height' in trace message.
+	Use `pixel_modes'.
+
+2018-08-08  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[pcf] Massive unsigning (part 2).
+
+	Treat all size related properties as unsigned values.
+
+	* src/pcf/pcf.h (PCF_ParsePropertyRec): Use unsigned `name' and
+	`value'.
+	* src/pcf/pcfread.c (pcf_get_properties, pcf_load_font): Updated
+	parsing code and handling of AVERAGE_WIDTH, POINT_SIZE, PIXEL_SIZE,
+	RESOLUTION_X and RESOLUTION_Y.
+
+2018-08-08  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[pcf] Massive unsigning (part 1).
+
+	Unofficial specifications hesitate to use unsigned 32-bit integers.
+	Negative values caused a lot of trouble in the past and it is safer
+	and easier to treat some properties as unsigned.
+
+	* src/pcf/pcf.h (PCF_AccelRec): Use unsigned values for `fontAscent',
+	`fontDescent', and `maxOverlap'.
+	* src/pcf/pcfread.c (pcf_load_font, pcf_get_accel): Updated.
+	* src/pcf/pcfdrivr.c (PCF_Glyph_Load, PCF_Size_Select,
+	PCF_Size_Request): Updated.
+
+2018-08-07  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/pcf/pcfread.c (pcf_get_bitmaps): Unsign `offsets' and
+	`bitmapSizes'.
+
+2018-08-06  Werner Lemberg  <wl@gnu.org>
+
+	* devel/ftoption.h: Synchronize with main `ftoption.h'.
+
+2018-08-06  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[pcf] Use unsigned types.
+
+	* src/pcf/pcf.h (PCF_Encoding): Use unsigned `enc'.
+	* src/pcf/pcfdrivr.c (pcf_cmap_char_{index,next}): Ditto.
+	* src/pcf/pcfread.c (pcf_get_encodings): Use unsigned types.
+
+2018-08-05  Werner Lemberg  <wl@gnu.org>
+
+	* src/truetype/ttgload.c (compute_glyph_metrics): Fix overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/chromium/issues/detail?id=777151
+
+2018-08-04  Werner Lemberg  <wl@gnu.org>
+
+	* src/truetype/ttinterp.c (opcode_name): Fix typos.
+
+2018-08-04  Werner Lemberg  <wl@gnu.org>
+
+	Fix clang warnings.
+
+	* src/base/ftoutln.c (FT_Outline_EmboldenXY): Fix type of
+	`orientation'.
+
+	* src/gxvalid/gxvcommn.c (gx_lookup_value_read): Fix signature.
+
+	* src/pcf/pcfread.c (pcf_get_encodings): Fix type of some variables.
+	Add cast.
+
+	* src/type1/t1load.c (parse_weight_vector): Fix cast.
+
+2018-07-31  Werner Lemberg  <wl@gnu.org>
+
+	* src/cid/cidtoken.h: Handle `XUID' keyword.
+
+2018-07-31  Werner Lemberg  <wl@gnu.org>
+
+	[cid] Trace PostScript dictionaries.
+
+	* src/cid/cidload.c: Include FT_INTERNAL_POSTSCRIPT_AUX_H.
+	(cid_load_keyword, cid_parse_font_matrix, parse_fd_array,
+	parse_expansion_factor, cid_parse_dict): Add tracing calls.
+	(parse_font_name): New function to trace `/FontName' keywords in
+	/FDArray dict.
+	(cid_field_records): Register `parse_font_name'.
+
+2018-07-30  Werner Lemberg  <wl@gnu.org>
+
+	[cff] Fix typo.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9409
+
+	* src/cff/cffdrivr.c (cff_get_cid_from_glyph_index): Fix boundary
+	check.
+
+2018-07-29  Werner Lemberg  <wl@gnu.org>
+
+	* src/pcf/pcfread.c (pcf_get_encodings): Another thinko.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9608
+
+2018-07-28  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[smooth] Fix Harmony memory management.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9501
+
+	* src/smooth/ftgrays.c (ft_smooth_render_generic): Restore buffer
+	after each rendering in case of failure.
+
+2018-07-28  Werner Lemberg  <wl@gnu.org>
+
+	[type1] Avoid segfaults with `FT_Get_PS_Font_Value'.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9610
+
+	* src/type1/t1driver.c (t1_ps_get_font_value): Protect against NULL.
+
+2018-07-27  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Make `TT_Set_MM_Blend' idempotent (#54388).
+
+	* src/truetype/ttgxvar.c (tt_set_mm_blend): Correctly set
+	`face->doblend' if the current call to the function yields the same
+	blend coordinates as the previous call.
+
+2018-07-27  Werner Lemberg  <wl@gnu.org>
+
+	[psaux, type1]: More tracing improvements.
+
+	* src/psaux/psintrp.c (cf2_interpT2CharString): Trace skipped
+	outline commands.
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstring): Fix
+	missing case.
+	(t1_decoder_parse_metrics): Make tracing output more compact.
+
+	* src/type1/t1gload.c (T1_Compute_Max_Advance): Be less verbose.
+	(T1_Get_Advances): Add tracing.
+
+2018-07-25  Werner Lemberg  <wl@gnu.org>
+
+	[psaux, type1] Trace PostScript dictionaries and other things.
+
+	The tracing of /Encoding, /Subrs, and /Charstrings is rudimentary
+	right now.
+
+	* src/psaux/psobjs.c (ps_parser_load_field,
+	ps_parser_load_field_table): Add tracing calls.
+
+	* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Make tracing
+	output more compact.
+
+	* src/type1/t1gload.c (T1_Compute_Max_Advance, T1_Get_Advances): Add
+	tracing messages.
+
+	* src/type1/t1load.c (parse_blend_axis_types,
+	parse_blend_design_positions, parse_blend_design_map,
+	parse_weight_vector, t1_load_keyword, t1_parse_font_matrix,
+	parse_encoding, parse_subrs, parse_charstrings, T1_Open_Face): Add
+	tracing calls.
+
+	* src/type1/t1objs.c (T1_Face_Init): Add tracing call.
+
+	* src/sfnt/sfobjs.c (sfnt_init_face): Make tracing message more
+	verbose.
+
+2018-07-25  Werner Lemberg  <wl@gnu.org>
+
+	Fix minor ASAN run-time warnings.
+
+	* src/base/ftutil.c (ft_mem_alloc, ft_mem_realloc): Only call
+	`FT_MEM_ZERO' if we actually have a buffer.
+	(ft_mem_dup): Only call `ft_memcpy' if we actually have a buffer.
+
+2018-07-24  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[build] Fortify dllexport/dllimport attributes (#53969,#54330).
+
+	We no longer use predefined _DLL, which can be defined for static
+	builds too with /MD. We use DLL_EXPORT and DLL_IMPORT instead,
+	following libtool convention.
+
+	* CMakeLists.txt [WIN32], builds/windows/vc2010/freetype.vcxproj:
+	Define DLL_EXPORT manually.
+
+	* include/freetype/config/ftconfig.h, builds/unix/ftconfig.in,
+	builds/vms/ftconfig.h, builds/windows/vc2010/index.html,
+	src/base/ftver.rc: /_DLL/d, s/FT2_DLLIMPORT/DLL_IMPORT/.
+
+2018-07-24  Werner Lemberg  <wl@gnu.org>
+
+	[type1] Check relationship between number of axes and designs.
+
+	For Multiple Masters fonts we don't support intermediate designs;
+	this implies that
+
+	  number_of_designs == 2 ^^ number_of_axes
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9557
+
+	* src/type1/t1load.c (T1_Open_Face): Ensure above constraint.
+	(T1_Get_MM_Var): Remove now redundant test.
+
+2018-07-24  Hin-Tak Leung  <htl10@users.sourceforge.net>
+
+	[truetype] Match ttdebug's naming of instruction mnemonics.
+
+	* src/truetype/ttinterp.c: The form used in ttdebug,
+	"MDRP[G,B,W,?]", etc., is slightly more readable than
+	"MDRP[00,01,02,03]".
+
+2018-07-24  Werner Lemberg  <wl@gnu.org>
+
+	* src/pcf/pcfread.c (pcf_get_encodings): Thinko.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9561
+
+2018-07-22  Werner Lemberg  <wl@gnu.org>
+
+	* src/pcf/pcfread.c (pcf_get_encodings): Check index of defaultChar.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9527
+
+2018-07-22  Werner Lemberg  <wl@gnu.org>
+
+	* src/pcf/pcfread.c (pcf_load_font): Fix number of glyphs.
+
+	This is an oversight of the module change 2018-07-21.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9524
+
+2018-07-22  Werner Lemberg  <wl@gnu.org>
+
+	[cid] Sanitize `BlueShift' and `BlueFuzz'.
+
+	This code is taken from the type1 module.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9510
+
+	* src/cid/cidload.c (parse_fd_array): Set some private dict default
+	values.
+	(cid_face_open): Do the sanitizing.
+	Fix some tracing messages.
+
+2018-07-21  Werner Lemberg  <wl@gnu.org>
+
+	[pcf] Fix handling of the undefined glyph.
+
+	This change makes the driver use the `defaultChar' property of PCF
+	files.
+
+	* src/pcf/pcf.h (PCF_FaceRec): Change type of `defaultChar' to
+	unsigned.
+
+	* src/pcf/pcfread.c (pcf_get_encodings): Read `defaultChar' as
+	unsigned.
+	Validate `defaultChar'.
+	If `defaultChar' doesn't point to glyph index zero, swap glyphs with
+	index zero and index `defaultChar' and adjust the encodings
+	accordingly.
+
+	* src/pcf/pcfdrivr.c (pcf_cmap_char_index, pcf_cmap_char_next,
+	PCF_Glyph_Load): Undo change from 2002-06-16 which always enforced
+	the first character in the font to be the default character.
+
+2018-07-20  Armin Hasitzka  <prince.cherusker@gmail.com>
+
+	Move the legacy fuzz target to the `freetype-testing' repository.
+
+	It can now be found at
+
+	  https://github.com/freetype/freetype2-testing/tree/master/fuzzing/src/legacy
+
+	* src/tools/ftfuzzer: Remove this folder and its contents from the
+	repository.
+
+2018-07-20  Werner Lemberg  <wl@gnu.org>
+
+	[cff] Avoid left-shift of negative numbers (#54322).
+
+	* src/cff/cffgload.c (cff_slot_load): Use multiplication.
+
+2018-07-17  Werner Lemberg  <wl@gnu.org>
+
+	Allow FT_ENCODING_NONE for `FT_Select_Charmap'.
+
+	This is a valid encoding tag for BDF, PCF, and Windows FNT, and
+	there is no reason to disallow it for these formats.
+
+	* src/base/ftobjs.c (FT_Select_Charmap): Implement it.
+
+2018-07-17  Werner Lemberg  <wl@gnu.org>
+
+	* src/pcf/pcfread.c (pcf_get_encodings): Trace `defaultChar'.
+
+2018-07-16  Armin Hasitzka  <prince.cherusker@gmail.com>
+
+	* include/freetype/internal/ftcalc.h: Add macros for handling
+	harmless over-/underflowing `FT_Int' values.
+
+	* src/sfnt/sfdriver.c (fixed2float): Fix negation of
+	`(int)(-2147483648)'.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9423
+
+2018-07-16  Werner Lemberg  <wl@gnu.org>
+
+	* src/truetype/ttgxvar.c (tt_set_mm_blend): Fix off-by-one error.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9412
+
+2018-07-12  Werner Lemberg  <wl@gnu.org>
+
+	* src/base/ftoutln.c (FT_Outline_Get_Orientation): Init `cbox'.
+
+	Taken from patch #9667, written by Steve Langasek
+	<vorlon@debian.org>.
+
+	This fixes a build failure (most probably a bug in gcc) on ppc64el
+	when building with -O3.
+
+2018-07-05  Werner Lemberg  <wl@gnu.org>
+
+	Fix typo (#54238).
+
+	* src/base/ftcolor.c (FT_Palette_Set_Foreground_Color)
+	[!TT_CONFIG_OPTION_COLOR_LAYERS]: Add return value.
+
+2018-07-05  Werner Lemberg  <wl@gnu.org>
+
+	Adjust table size comparisons (#54242).
+
+	* src/sfnt/ttcpal.c (tt_face_load_cpal): Implement it.
+
+2018-07-05  Werner Lemberg  <wl@gnu.org>
+
+	Fix more 32bit issues (#54208).
+
+	* src/cff/cffload.c (cff_blend_build_vector): Convert assertion into
+	run-time error.
+
+	* src/truetype/ttgxvar.c (ft_var_to_normalized): Protect against
+	numeric overflow.
+
+2018-07-04  Werner Lemberg  <wl@gnu.org>
+
+	Fix 32bit build warnings (#54239).
+
+	* src/base/ftbitmap.c (FT_Bitmap_Blend): Add casts to avoid signed
+	vs. unsigned comparisons.
+
+	* srb/sfnt/ttcolr.c (tt_face_get_colr_layer): Ditto.
+
+2018-07-02  Jeff Carey  <Jeff.Carey@monotype.com>
+
+	* src/psnames/psmodule.c (ps_unicodes_init): Fix alloc debugging.
+
+2018-07-02  Werner Lemberg  <wl@gnu.org>
+
+	s/palette_types/palette_flags/.
+
+	Suggested by Behdad.
+
+2018-07-02  Werner Lemberg  <wl@gnu.org>
+
+	Make `FT_Get_Color_Glyph_Layer' return FT_Bool.
+
+	* include/freetype/freetype.h, src/base/ftobjs.c
+	(FT_Get_Color_Glyph_Layer, FT_Render_Glyph_Internal): Updated.
+
+	* include/freetype/internal/sfnt.h (TT_Get_Colr_Layer_Func),
+	src/sfnt/ttcolr.h, src/sfnt/ttcolr.c (tt_face_get_colr_layer):
+	Updated.
+
+2018-07-01  Werner Lemberg  <wl@gnu.org>
+
+	* src/base/ftobjs.c (FT_Get_Color_Glyph_Layer): Guard SFNT function.
+
+	Reported by Behdad.
+
+2018-06-28  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/base/fttrigon.c (FT_Tan): Improve accuracy.
+	(FT_Vector_Rotate): Simplify.
+
+2018-06-28  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* src/base/ftobjs.c (FT_Set_Charmap): Robustify.
+
+2018-06-25  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Fix memory leak.
+
+	* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Add initializers.
+	Fix typo in `goto' destination.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9071
+
+2018-06-25  Werner Lemberg  <wl@gnu.org>
+
+	* src/truetype/ttgxvar.c (tt_face_vary_cvt): Add initializers.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9070
+
+2018-06-24  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Increase precision while applying VF deltas.
+
+	It turned out that we incorrectly round CVT and glyph point deltas
+	before accumulation, leading to severe positioning errors if there
+	are many delta values to sum up.
+
+	Problem reported by Akiem Helmling <akiem@underware.nl> and analyzed
+	by Behdad.
+
+	* src/truetype/ttgxvar.c (ft_var_readpackeddelta): Return deltas in
+	16.16 format.
+	(tt_face_var_cvt): Collect deltas in `cvt_deltas', which is a 16.16
+	format array, and add the accumulated values to the CVT at the end
+	of the function.
+	(TT_Vary_Apply_Glyph_Deltas): Store data in `points_org' and
+	`points_out' in 16.16 format.
+	Collect deltas in `point_deltas_x' and `point_deltas_y', which are
+	16.16 format arrays, and add the accumulated values to the glyph
+	coordinates at the end of the function.
+
+2018-06-24  Werner Lemberg  <wl@gnu.org>
+
+	New base function `FT_Matrix_Check' (#54019).
+
+	* src/base/ftcalc.c (FT_Matrix_Check): New base function to properly
+	reject degenerate font matrices.
+
+	* include/freetype/internal/ftcalc.h: Updated.
+
+	* src/cff/cffparse.c (cff_parse_font_matrix), src/cid/cidload.c
+	(cid_parse_font_matrix), src/type1/t1load.c (t1_parse_font_matrix),
+	src/type42/t42parse.c (t42_parse_font_matrix): Use
+	`FT_Matrix_Check'.
+
+2018-06-23  Werner Lemberg  <wl@gnu.org>
+
+	Fix typo.
+
+	Reported by Behdad.
+
+	* src/base/ftcolor.c (FT_Palette_Data_Get)
+	[!TT_CONFIG_OPTION_COLOR_LAYERS]: s/apalette/apalette_data/.
+
+2018-06-21  Werner Lemberg  <wl@gnu.org>
+
+	s/FT_PALETTE_USABLE_WITH_/FT_PALETTE_FOR_/.
+
+	* include/freetype/ftcolor.h, include/freetype/internal/sfnt.h,
+	src/sfnt/ttcolr.c: Do it.
+
+2018-06-19  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Fix CPAL heap buffer overflow.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8968
+
+	* src/sfnt/ttcpal.c (tt_face_load_cpal): Guard CPAL version 1
+	offsets.
+
+2018-06-19  Werner Lemberg  <wl@gnu.org>
+
+	Doh.  Don't use CPAL or COLR data if tables are missing.
+
+	Reported by Alexei.
+
+	* src/sfnt/ttcolr.c (tt_face_get_colr_layer): Return immediately if
+	`colr' is NULL.
+
+	* src/sfnt/ttcpal.c (tt_face_palette_set): Return immediately, if
+	`cpal' is NULL.
+
+2018-06-17  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Introduce `FT_New_Glyph'.
+
+	This function facilitates access to full capabilities of FreeType
+	rendering engine for custom glyphs. This can be quite useful for
+	consistent rendering of mathematical and chemical formulas, e.g.
+
+	  https://bugs.chromium.org/p/chromium/issues/detail?id=757078
+
+	* include/freetype/ftglyph.h, src/base/ftglyph.c (FT_New_Glyph): New
+	function.
+
+2018-06-17  Armin Hasitzka  <prince.cherusker@gmail.com>
+
+	[bdf] Fix underflow of an unsigned value.
+
+	bdflib.c:1562 could be reached with `font->glyphs_used == 0'.  That
+	caused an underflow of the unsigned value which results in undefined
+	behaviour.
+
+	* src/bdf/bdflib.c (_bdf_parse_glyphs): Bail out earlier than before
+	if the `ENCODING' keyword cannot be found.
+
+2018-06-17  Werner Lemberg  <wl@gnu.org>
+
+	[base] Add tracing for `FT_Bitmap_Blend'.
+
+	* include/freetype/internal/fttrace.h (trace_bitmap): New
+	enumeration.
+
+	* src/base/ftbitmap.c (FT_COMPONENT): Define.
+	(FT_Bitmap_Blend): Add `FT_TRACE5' calls.
+
+2018-06-17  Werner Lemberg  <wl@gnu.org>
+
+	s/trace_bitmap/trace_checksum/.
+
+	* include/freetype/internal/fttrace.h: s/bitmap/checksum/.
+
+	* src/base/ftobjs.c (FT_COMPONENT): s/trace_bitmap/trace_checksum/.
+	Adjust code.
+
+2018-06-16  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Fix color glyph layer loading.
+
+	* src/sfnt/ttcolr.c (Colr): Add `table_size' field.
+	(tt_face_load_colr): Set it.
+	(tt_face_get_colr_layer): Check pointer limit for layer entries.
+
+2018-06-16  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Fix color palette loading.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8933
+
+	* src/sfnt/ttcpal.c (Cpal): Add `table_size' field.
+	(tt_face_load_cpal): Set it.
+	(tt_face_palette_set): Check pointer limit for color entries.
+
+2018-06-16  Werner Lemberg  <wl@gnu.org>
+
+	* src/base/ftbitmap.c (FT_Bitmap_Blend): Avoid integer overflow.
+
+2018-06-16  Werner Lemberg  <wl@gnu.org>
+
+	Add `FT_Bitmap_Blend' API.
+
+	Still missing: Support for negative bitmap pitch and subpixel offset
+	of source bitmap.
+
+	* include/freetype/ftbitmap.h, src/base/ftbitmap.c
+	(FT_Bitmap_Blend): New function.
+
+2018-06-14  Werner Lemberg  <wl@gnu.org>
+
+	Replace `FT_Get_GlyphLayers' with `FT_Get_Color_Glyph_Layer'.
+
+	This avoids any additional allocation of COLR related structures in
+	a glyph slot.
+
+	* include/freetype/freetype.h (FT_Glyph_Layer, FT_Glyph_LayerRec,
+	FT_Get_GlyphLayers): Removed.
+
+	* include/freetype/internal/ftobjs.h (FT_Colr_InternalRec): Removed.
+	(FT_Slot_InternalRec): Remove `color_layers'.
+
+	* include/freetype/internal/sfnt.h (TT_Load_Colr_Layer_Func):
+	Removed.
+	(SFNT_Interface, FT_DEFINE_SFNT_INTERFACE): Remove
+	`load_colr_layer'.
+
+	* src/base/ftobjs.c (ft_glyph_slot_done): Updated.
+	(FT_Render_Glyph_Internal): Use `FT_Get_Color_Glyph_Layer'.
+	(FT_Get_GlyphLayers): Removed.
+
+	* src/sfnt/sfdriver.c (sfnt_interface): Updated.
+
+	* src/sfnt/ttcolr.c (tt_face_load_colr_layers): Removed.
+	* src/sfnt/ttcolr.h: Updated.
+
+	* src/truetype/ttgload.c (TT_Load_Glyph): Updated.
+
+2018-06-14  Werner Lemberg  <wl@gnu.org>
+
+	Provide iterative API to access `COLR' data.
+
+	This solution doesn't store any data in an `FT_GlyphSlot' object.
+
+	* include/freetype/freetype.h (FT_LayerIterator): New structure.
+	(FT_Get_Color_Glyph_Layer): New function.
+
+	* include/freetype/internal/sfnt.h (TT_Get_Colr_Layer_Func): New
+	function type.
+	(SFNT_Interface, FT_DEFINE_SFNT_INTERFACE): Add it.
+
+	* src/base/ftobjs.c (FT_Get_Color_Glyph_Layer): Implement it.
+
+	* src/sfnt/ttcolr.c (tt_face_get_colr_layer): New function.
+	* src/sfnt/ttcolr.h: Updated.
+
+	* src/sfnt/sfdriver.c (sfnt_interface): Updated.
+
+2018-06-14  Werner Lemberg  <wl@gnu.org>
+
+	Add glyph index and glyph load flags to glyph slot.
+
+	* include/freetype/freetype.h (FT_GlyphSlotRec): Rename unused
+	`reserved' field to `glyph_index'.
+
+	* include/freetype/internal/ftobjs.h (FT_Slot_InternalRec): Add
+	`load_flags' field.
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Set new fields.
+
+2018-06-14  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Move `CPAL' stuff into separate files.
+
+	* src/sfnt/sfdriver.c: Include `ttcpal.h'.
+	* src/sfnt/sfnt.c: Include `ttcpal.c'.
+
+	* src/sfnt/ttcolr.c, src/sfnt/ttcolr.h: Move CPAL stuff to ...
+	* src/sfnt/ttcpal.c, src/sfnt/ttcpal.c: ... these new files.
+
+	* src/sfnt/Jamfile (_sources), src/sfnt/rules.mk (SFNT_DRV_SRC):
+	Updated.
+
+	* include/freetype/internal/fttrace.h: Add support for `colr' and
+	`cpal'.
+	Sort entries.
+
+2018-06-13  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Separate `CPAL' and `COLR' table handling.
+
+	Later on we want to support the `SVG' table also, which needs `CPAL'
+	(but not `COLR').
+
+	* include/freetype/internal/sfnt.h (SFNT_Interface): Add `load_cpal'
+	and `free_cpal' fields.
+	(FT_DEFINE_SFNT_INTERFACE): Updated.
+
+	* include/freetype/internal/tttypes.h (TT_FaceRec): Replace
+	`colr_and_cpal' fields with `cpal' and `colr'.
+
+	* src/sfnt/sfdriver.c (sfnt_interface): Updated.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face, sfnt_done_face): Updated.
+
+	* src/sfnt/ttcolr.c (Colr, Cpal): Add `table' field.
+	(ColrCpal): Removed.
+	(tt_face_load_colr): Split off CPAL handling into...
+	(tt_face_load_cpal): ... this new function.
+	(tt_face_free_colr): Split off CPAL handling into...
+	(tt_face_free_cpal): ... this new function.
+	(tt_face_load_colr_layers, tt_face_palette_set): Updated.
+
+	* src/sfnt/ttcolr.h: Updated.
+
+	* src/truetype/ttgload.c (TT_Load_Glyph): Updated.
+
+2018-06-12  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Fix `sizeof' thinko.
+
+	* src/sfnt/ttcolr.c (tt_face_load_colr, tt_face_palette_set): Don't
+	use `sizeof' for computing array limit.
+
+2018-06-12  Werner Lemberg  <wl@gnu.org>
+
+	Finish CPAL/COLR support (4/4).
+
+	* src/sfnt/ttcolr.c (tt_face_find_color): Removed.
+	(tt_face_colr_blend_layer): Use `face->palette' instead of calling
+	`tt_face_find_color'.
+	Use and set text foreground color.
+
+2018-06-12  Werner Lemberg  <wl@gnu.org>
+
+	Finish CPAL/COLR support (3/4).
+
+	* src/base/ftcolor.c: Include FT_INTERNAL_SFNT_H.
+	(FT_Palette_Select, FT_Palette_Set_Foreground_Color): Implement
+	functions.
+
+2018-06-12  Werner Lemberg  <wl@gnu.org>
+
+	Finish CPAL/COLR support (2/4).
+
+	* src/sfnt/ttcolr.c (tt_face_palette_set): New function.
+	(tt_face_load_colr): Allocate `face->palette' and call
+	`tt_face_palette_set'.
+	Adjust return error code in case of error.
+
+	* src/sfnt/ttcolr.h: Updated.
+
+	* include/freetype/internal/sfnt.h (TT_Set_Palette_Func): New
+	function type.
+	(SFNT_Interface, FT_DEFINE_SFNT_INTERFACE): Add it.
+
+	* src/sfnt/sfdriver.c (sfnt_interface), src/sfnt/sfobjs.c
+	(sfnt_done_face): Updated.
+
+2018-06-12  Werner Lemberg  <wl@gnu.org>
+
+	Finish CPAL/COLR support (1/4).
+
+	* include/freetype/internal/tttypes.h (TT_FaceRec): New fields
+	`palette_index', `palette', `have_foreground_color' and
+	`foreground_color'.
+
+2018-06-12  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Minor.
+
+	* src/sfnt/ttcolr.c (tt_face_load_colr_layers):
+	s/palette_index/palette_entry_index/ for consistency.
+	Adjust return error code in case of error.
+
+2018-06-11  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[raster] Clean up.
+
+	* src/raster/ftraster.c (black_TWorker, SCALED, Set_High_Precision):
+	Clean up after 5-level gray removal (8dc8635874).
+	(Vertical_Sweep_Span): Be brief.
+
+2018-06-10  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Fix compiler warnings.
+
+	* src/sfnt/ttcolr.c (tt_face_load_colr, tt_face_load_colr_layers,
+	tt_face_colr_blend_layer): Add `NULL' initializers.
+
+2018-06-10  Werner Lemberg  <wl@gnu.org>
+
+	s/FT_Palette/FT_Palette_Data/, s/palette/palette_data/.
+
+	* include/freetype/ftcolor.h, include/freetype/internal/tttypes.h,
+	src/base/ftcolor.c, src/sfnt/sfobjs.c, src/sfnt/ttcolr.c: Updated.
+
+2018-06-10  Nikolaus Waxweiler  <madigens@gmail.com>
+
+	CMakeLists: also accept IOS_PLATFORM=SIMULATOR64
+
+	This might be needed to build FreeType for the iOS simulator. See
+	https://savannah.nongnu.org/bugs/index.php?54048. Patch contributed
+	by Steve Robinson.
+
+	* CMakeLists.txt: Accept IOS_PLATFORM=SIMULATOR64
+
+2018-06-10  Werner Lemberg  <wl@gnu.org>
+
+	Implement `FT_Palette_Get'.
+
+	* src/base/ftcolor.c: New file.
+
+	* src/base/Jamefile (_sources), src/base/rules.mk (BASE_SRC),
+	src/base/ftbase.c: Add `ftcolor.c'.
+
+2018-06-10  Werner Lemberg  <wl@gnu.org>
+
+	* src/sfnt/ttcolr.c (tt_face_load_colr): Improve overflow checks.
+
+2018-06-09  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[raster] Deal with pitch sign earlier.
+
+	* src/raster/ftraster.c (black_TWorker): Remove unused `traceG',
+	s/bTarget/bOrigin/.
+	(Render_Glyph): Set `ras.bOrigin' at the bottom-left corner.
+	(Vertical_Sweep_Init, {Vertical,Horizontal}_Sweep_{Span,Drop}):
+	Updated accordingly.
+
+2018-06-09  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Read `CPAL' version 1 tables.
+
+	* include/freetype/internal.tttypes.h: Include FT_COLOR_H.
+	(TT_FaceRec): Add `palette' field.
+
+	* src/sfnt/ttcolr.c: Include FT_COLOR_H.
+	(Cpal): Remove all data covered by the new `palette' field in
+	`TT_FaceRec'.
+	(tt_face_load_colr): Updated.
+	Read `CPAL' version 1 data.
+	(tt_face_load_colr_layers, tt_face_find_color): Updated.
+
+	* src/sfnt/sfobjs.c (sfnt_done_face): Free glyph color palette data.
+
+2018-06-07  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] API for Harmony LCD rendering.
+
+	This introduces `FT_Library_SetLcdGeometry' for setting up arbitrary
+	LCD subpixel geometry including non-striped patterns.
+
+	* src/base/ftlcdfil.c (FT_Library_SetLcdGeometry): New function.
+	* include/freetype/ftlcdfil.h: Document it.
+	* include/freetype/freetype.h: Minor.
+	* include/freetype/ftchapters.h: Minor.
+
+2018-06-06  Werner Lemberg  <wl@gnu.org>
+
+	ftcolor.h: Redesign API.
+
+	While going to implement it I noticed that I need access to most of
+	the `CPAL' elements; I thus plan to add a `cpal' field to
+	`TT_FaceRec', which makes most of the previously suggested API
+	functions obsolete because the fields will be directly accessible.
+
+2018-06-06  Parth Wazurkar  <parthwazurkar@gmail.com>
+
+	[bdf, pcf] Remove deprecated FT_FACE_FLAG_FAST_GLYPHS flag.
+
+	* src/bdf/bdfdrivr.c (BDF_Face_Init): Remove deprecated
+	FT_FACE_FLAG_FAST_GLYPHS flag.
+
+	* src/pcf/pcfread.c (pcf_load_font): Remove deprecated
+	FT_FACE_FLAG_FAST_GLYPHS flag.
+
+2018-06-06  Werner Lemberg  <wl@gnu.org>
+
+	[smooth, raster] Limit bitmap size (#54019).
+
+	* src/raster/ftraster.c [STANDALONE] (FT_Outline_Get_CBox): Add
+	function.
+	[!STANDALONE]: Include FT_OUTLINE_H.
+	(ft_black_render): Compute CBox and reject glyphs larger than
+	0xFFFF x 0xFFFF.
+
+	* src/smooth/ftgrays.c (gray_raster_render): Reject glyphs larger
+	than 0xFFFF x 0xFFFF.
+
+2018-06-03  Armin Hasitzka  <prince.cherusker@gmail.com>
+
+	* src/smooth/ftgrays.c (gray_convert_glyph): Remove unused variables.
+
+2018-06-03  Werner Lemberg  <wl@gnu.org>
+
+	* src/tools/glnames.py (main): Emit header in `light' comment style.
+
+2018-06-02  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[smooth] Attempt to mitigate bug #54019.
+
+	The robust rendering of estra large glyphs came with unbearable cost.
+	The old way of bisecting should fail but fail faster.
+
+	* src/smooth/ftgrays.c (gray_convert_glyph): Switch back to bisecting
+	in y-direction.
+
+2018-06-02  Werner Lemberg  <wl@gnu.org>
+
+	* src/truetype/ttinterp.c (Ins_MIRP): Use SUB_LONG; avoid FT_ABS.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8706
+
+2018-06-02  Werner Lemberg  <wl@gnu.org>
+
+	* src/autofit/afwarp.h: Use AF_CONFIG_OPTION_USE_WARPER (#54033).
+
+2018-05-31  Werner Lemberg  <wl@gnu.org>
+
+	* src/raster/ftraster.c (black_TWorker_): Remove `gTarget' field.
+
+	This is no longer used.
+
+2018-05-31  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Get colors from `CPAL' table in right order (#54015).
+
+	* src/sfnt/ttcolr.c (tt_face_find_color): Fix it.
+
+2018-05-30  Werner Lemberg  <wl@gnu.org>
+
+	ftcolor.h: Improve API design, fix typos (#54011, #54014).
+
+	* include/freetype/ftcolor.h (FT_Palette_Get_Names): Replace with...
+	(FT_Palette_Get_Name_IDs): ... this function.
+	(FT_Palette_Get_Entry_Names): Replace with...
+	(FT_Palette_Get_Entry_Name_IDs): ... this function
+	s/FT_Palette_Set_Foreground_COlor/FT_Palette_Set_Foreground_Color/.
+
+2018-05-30  Armin Hasitzka  <prince.cherusker@gmail.com>
+
+	Beautify a3cfed5e87232c933bdc64f43e8ebebcfd18b41b.
+
+	* src/autofit/afloader.c (af_loader_load_glyph): Move the
+	initialisationand declaration of variables into the if-block.
+
+2018-05-30  Armin Hasitzka  <prince.cherusker@gmail.com>
+
+	Fix pointer underflow.
+
+	The declaration of `edge2' can be reached with `edge1 == NULL' and
+	`axis->edges == 0' which results in undefined behaviour.
+
+	* src/autofit/afloader.c (af_loader_load_glyph): Initialise `edge2'
+	after checking `axis->num_edges > 1'.  `edge1 != NULL' can be assumed.
+
+2018-05-30  Werner Lemberg  <wl@gnu.org>
+
+	Various minor color fixes.
+
+	* include/freetype/config/ftheader.h (FT_COLOR_H): New macro.
+
+	* include/freetype/internal/ftobjs.h (FT_Colr_Internal): Change
+	type of `load_flags' to `FT_Int32'.
+
+	* include/freetype/internal/sfnt.h (TT_Load_Colr_Layer_Func): Change
+	type of `idx' to `FT_UInt'.
+	(TT_Blend_Colr_Func): Change type of `color_index' to `FT_UInt'.
+
+	* src/base/ftobjs.c (FT_Render_Glyph_Internal): Change type of
+	`load_flags' to `FT_Int32'.
+
+	* src/sfnt/ttcolr.c (find_base_glyph_record,
+	tt_face_load_colr_layers): Change type of `glyph_id' to `FT_UInt'.
+	(tt_face_find_color, tt_face_colr_blend_layer): Change type of
+	`color_index' to `FT_UInt'.
+	Fix signedness and type issues.
+
+	* src/sfnt/ttcolr.h: Updated.
+
+2018-05-25  Nikhil Ramakrishnan  <ramakrishnan.nikhil@gmail.com>
+
+	[docmaker] Fix missing `Defined in (...)' under Windows/Cygwin.
+
+	This platform uses backslashes for paths, which docmaker didn't
+	understand correctly.
+
+	* src/tools/docmaker/tohtml.py (HtmlFormatter::blockEnter): Use
+	`os.path.normpath' to normalize the path for the platform being
+	used.
+
+2018-05-24  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[smooth] Formalize Harmony LCD rendering.
+
+	This generalizes magic outline shifts that make Harmony LCD
+	rendering work in terms of precise two-dimensional RGB subpixel
+	positions. These coordinates are now set in time of the `smooth'
+	module initialization and later used to shift a glyph outline for
+	rendering. FT_RENDER_MODE_LCD and FT_RENDER_MODE_LCD_V use the same
+	coordinates. The letter, however, rotates them before using.
+	The LCD bitmap padding is also calculated using these coordinates.
+
+	* include/freetype/internal/ftobjs.h (FT_LibraryRec): New array field
+	`lcd_geometry'.
+	* src/base/ftlcdfil.c (ft_lcd_padding): Reworked.
+	* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Updated accordingly.
+
+	* src/smooth/ftsmooth.c [!FT_CONFIG_OPTION_SUBPIXEL_RENDERING]
+	(ft_smooth_init): Initialize `lcd_geometry'.
+	(ft_smooth_render_generic): Formalize outline shifts.
+
+2018-05-22  Werner Lemberg  <wl@gnu.org>
+
+	[truetype] Reject elements of composites with invalid glyph indices.
+
+	Reported as
+
+	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8413
+
+	* src/truetype/ttgload.c (TT_Load_Composite_Glyph): Implement it.
+
+2018-05-22  Werner Lemberg  <wl@gnu.org>
+
+	* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Trace # of points.
+
+2018-05-20  Werner Lemberg  <wl@gnu.org>
+
+	* include/freetype/ftcolor.h: New file.
+
+	This is an interface to the `CPAL' OpenType table.  No
+	implementation yet.
+
+2018-05-18  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	* include/freetype/internal/ftcalc.h (FT_MSB): Verified `_MSC_VER'.
+
+	Actually `_BitScanReverse' is available since VS2005.
+
+2018-05-18  Werner Lemberg  <wl@gnu.org>
+
+	* include/freetype/internal/ftcalc.h (FT_MSB): Use `_MSC_VER' value.
+
+	Older VC versions don't provide `_BitScanReverse'.  We test for VC
+	2013.
+
+	Reported by John Emmas <john@creativepost.co.uk>.
+
+2018-05-17  Werner Lemberg  <wl@gnu.org>
+
+	s/inline/__inline/ for MSVC.
+
+	Reported by John Emmas <john@creativepost.co.uk>.
+
+	* include/freetype/internal/ftcalc.h (FT_MSB) [_MSC_VER]: Do it.
+
+2018-05-16  Werner Lemberg  <wl@gnu.org>
+
+	Add function `FT_Get_GlyphLayers' to access `COLR' table data.
+
+	* include/freetype/internal/ftobjs.h (FT_Glyph_LayerRec): Move this
+	structure to...
+	* include/freetype/freetype.h (FT_Glyph_LayerRec): ... this
+	header file.
+	(FT_Glyph_Layer): New typedef.
+	Update code to use it where appropriate.
+
+	* src/base/ftobjs.c (FT_Get_GlyphLayers): New function.
+
+2018-05-15  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[base] Fix mono bitmap presetting (#53896).
+
+	It is rather fundamental to set monochrome bitmap based on rounded
+	CBox because the b/w rasterizer turns on pixels when their centers are
+	inside the glyph outline. The dropout control is unpredictable and can
+	distort narrow glyphs if the bitmap is too wide.
+
+	Reported by Chris Liddell.
+
+	* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): If BBox boundaries
+	are too close, adjust them before rounding.
+
+2018-05-15  Werner Lemberg  <wl@gnu.org>
+
+	[psaux] Fix compiler warning (#53915).
+
+	* src/psaux/psft.c (cf2_freeT1SeacComponent): Do it.
+
+2018-05-15  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Fix memory leak in handling `COLR' data.
+
+	* src/truetype/ttgload.c (TT_Load_Glyph): Free old `layers' array
+	before reassigning allocated memory.
+	Only allocate `color_layers' if we don't have one already.
+
+2018-05-15  Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] If `COLR' is present, don't assume that all glyphs use it.
+
+	* src/sfnt/ttcolr.c (tt_face_load_colr_layers): Return FT_Err_Ok if
+	current glyph is not a `COLR' base glyph.
+
+	* src/truetype/ttgload.c (TT_Load_Glyph): Don't allocate
+	`color_layers' if there are no color layers.
+
+2018-05-14  Werner Lemberg  <wl@gnu.org>
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Fix signature of `pixel_modes'.
+
+2018-05-14  Werner Lemberg  <wl@gnu.org>
+
+	Provide dummy functions if `TT_CONFIG_OPTION_SFNT_NAMES' is not set.
+
+	* src/base/ftsnames.c [!TT_CONFIG_OPTION_SFNT_NAMES]: Implement it.
+
+2018-05-13  Werner Lemberg  <wl@gnu.org>
+
+	* src/base/ftobjs.c (FT_Load_Glyph): Improve tracing.
+
+2018-05-13  Shao Yu Zhang  <shaozhang@fb.com>
+	    Werner Lemberg  <wl@gnu.org>
+
+	[sfnt] Preliminary support of coloured layer outlines (#44689).
+
+	This commit enables OpenType's COLR/CPAL table handling; a typical
+	application are color emojis that can be scaled to any size.
+
+	If the color palette does not exist or is invalid, the rendering
+	step rasterizes the outline instead.  The current implementation
+	assumes that the foreground is black.
+
+	Enable this by defining option TT_CONFIG_OPTION_COLOR_LAYERS.
+
+	There are still some issues with metrics; additionally, an API to
+	fetch color layers is missing.
+
+	* devel/ftoption.h, include/freetype/config/ftoption.h
+	(TT_CONFIG_OPTION_COLOR_LAYERS): New macro.
+
+	* include/freetype/internal/ftobjs.h (FT_Glyph_LayerRec,
+	FT_Colr_InternalRec): New structures.
+	(FT_Slot_InternalRec): Add `color_layers' field.
+
+	* include/freetype/internal/sfnt.h (TT_Load_Colr_Layer_Func,
+	TT_Blend_Colr_Func): New function types.
+	(SFNT_Interface): Add `load_colr', `free_colr', `load_colr_layer',
+	and `colr_blend' fields.
+
+	* include/freetype/internal/tttypes.h (TT_FaceRec): Add
+	`colr_and_cpal' field.
+
+	* include/freetype/internal/tttags. (TTAG_COLR, TTAG_CPAL): New
+	macros.
+
+	* src/sfnt/ttcolr.c, src/sfnt/ttcolr.h: New files.
+
+	* src/base/ftobjs.c (ft_glyphslot_done, FT_Render_Glyph_Internal):
+	Handle glyph color layers.
+
+	* src/sfnt/Jamfile (_sources), src/sfnt/rules.mk (SFNT_DRV_SRC): Add
+	`ttcolr.c'.
+
+	* src/sfnt/sfdriver.c: Include `ttcolr.h'.
+	(PUT_COLOR_LAYERS): New macro.
+	Update call to `FT_DEFINE_SFNT_INTERFACE'.
+
+	* src/sfnt/sfnt.c: Include `ttcolr.c'.
+
+	* src/sfnt/sfobjs.c (sfnt_load_face): Load `COLR' and `CPAL' tables.
+	(sfnt_done_face): Updated.
+
+	* src/truetype/ttgload.c (TT_Load_Glyph): Handle color layers.
+
+2018-05-12  Arkady Shapkin  <arkady.shapkin@gmail.com>
+
+	Use MS VC++'s _BitScanReverse to calculate MSB (patch #9636).
+
+	* include/freetype/internal/ftcalc.h (FT_MSB) [_MSC_VER]: Implement
+	it.
+
+2018-05-10  Alan Coopersmith  <alan.coopersmith@oracle.com>
+
+	Fix DLL compilation on Solaris.
+
+	AC_COMPILE_IFELSE only tries to compile a `*.c' to a `*.o'.  The
+	Solaris Studio 12.1 through 12.5 compilers see the
+	`-fvisibility=hidden' flag, but ignore it with a warning of:
+
+	  cc: Warning: Option -fvisibility=hidden passed to ld,
+	               if ld is invoked, ignored otherwise
+
+	AC_LINK_IFELSE does the compile and then tries to link the result,
+	at which point the Solaris linker will issue an error:
+
+	  ld: fatal: option '-fvisibility=hidden' is incompatible with
+	      building a dynamic executable
+
+	If we don't use AC_LINK_IFELSE to catch the error, then configure
+	will fail further tests which attempt to link, such as those testing
+	dependencies like `libbz2'.
+
+	Also, don't try adding `-fvisibility' if we have already added
+	`-xldscope', just use one of them, since Sun Studio 12 and earlier
+	compilers only issue a warning, and don't try passing through to the
+	linker to generate an error, so AC_LINK_IFELSE doesn't catch them.
+
+	Tested on Solaris 11.4 beta with compiler versions:
+
+	  Sun Studio 8 (Sun C 5.5)
+	  Sun Studio 10 (Sun C 5.7)
+	  Sun Studio 11 (Sun C 5.8)
+	  Sun Studio 12 (Sun C 5.9)
+	  Sun Studio 12.1 (Sun C 5.10)
+	  Oracle Solaris Studio 12.2 (Sun C 5.11)
+	  Oracle Solaris Studio 12.3 (Sun C 5.12)
+	  Oracle Solaris Studio 12.4 (Sun C 5.13)
+	  Oracle Developer Studio 12.5 (Sun C 5.14)
+	  Oracle Developer Studio 12.6 (Sun C 5.15)
+	  gcc 5.5.0
+	  gcc 7.3.0
+
+	and verified the libfreetype.so.6 generated by each of those
+	compilers exported the same set of symbols.
+
+	* builds/unix/configure.raw: Implement it.
+
+2018-05-08  Werner Lemberg  <wl@gnu.org>
+
+	[autofit] Avoid potential SEGV if running out of memory.
+
+	Problem reported by Shailesh Mistry <shailesh.mistry@hotmail.co.uk>.
+
+	* src/autofit/afshaper.c (af_shaper_buf_create,
+	af_shaper_buf_destroy) [!FT_CONFIG_OPTION_USE_HARFBUZZ]: Don't
+	allocate and free a four-byte buffer.  Instead, make those functions
+	no-ops; the calling functions will provide a pointer to a buffer
+	instead.
+
+	* src/autofit/afcjk.c (af_cjk_metrics_init_widths,
+	af_cjk_metrics_init_blues, af_cjk_metrics_check_digits),
+	src/autofit/aflatin.c (af_latin_metrics_init_widths,
+	af_latin_metrics_init_blues, af_latin_metrics_check_digits)
+	[!FT_CONFIG_OPTION_USE_HARFBUZZ]: Use pointer to local variable for
+	`shaper_buf'.
+
+2018-05-07  Nikolaus Waxweiler  <madigens@gmail.com>
+
+	[cmake] Allow using project as subfolder in other project.
+
+	* CMakeLists.txt: Test for CMake build directory being different
+	from source directory.  Provide other parts of the build system
+	access the full include directory.
+
+2018-05-07  Werner Lemberg  <wl@gnu.org>
+
+	[build] Suppress configure's `nothing to be done' message.
+
+	This is due to calling the configure script via `make' (within the
+	top-level `configure' wrapper script).  The same can happen for all
+	other secondary make targets that are used to only modify the
+	primary one, e.g., `make setup devel'.
+
+	* builds/dos/detect.mk (emx, turboc, watcom, borlandc, borlandc16),
+	builds/os2/detect (visualage, watcom, borlandc, devel),
+	builds/unix/detect.mk (devel, lcc, unix), builds/windows/detect.mk
+	(visualc, watcom, visualage, lcc, mingw32, bcc32, devel-bcc,
+	devel-gcc): Use no-op recipe.
+
+2018-05-04  suzuki toshiya  <mpsuzuki@hiroshima-u.ac.jp>
+
+	Support symbol visibility features of Sun / Oracle C compilers.
+
+	Reported by Kiyoshi Kanazawa:
+	https://lists.gnu.org/archive/html/freetype-devel/2018-05/msg00008.html
+	Thanks to the suggestions by Alexei and Alan Coopersmith.
+
+	* builds/unix/configure.raw: Check if "-xldscope=hidden" is
+	accepted, and if so, it is added to CFLAGS.  This is the option
+	making Sun / Oracle C compilers hide the symbols from global
+	scope.
+	* include/freetype/config/ftconfig.h: Use "__global" prefix
+	for FT_EXPORT() macro, if SunPro C is newer than Sun ONE
+	Studio 8 (2003).
+	* builds/unix/ftconfig.in: Ditto.
+	* builds/vms/ftconfig.h: Ditto.
+
+2018-05-02  Nikolaus Waxweiler  <madigens@gmail.com>
+
+	Unbreak CMake Windows installation
+
+	* CMakeLists.txt: Generate ftconfig.h on non-UNIX.
+
+2018-05-02  Werner Lemberg  <wl@gnu.org>
+
+	Remove FT_CONFIG_OPTION_PIC and related code.
+
+	*/* [FT_CONFIG_OPTION_PIC]: Remove all code guarded by this
+	preprocessor symbol.
+
+	*/*: Replace `XXX_GET' macros (which could be either a function in
+	PIC mode or an array in non-PIC mode) with `xxx' arrays.
+
+	* include/freetype/internal/ftpic.h, src/autofit/afpic.c,
+	src/autofit/afpic.h, src/base/basepic.c, src/base/basepic.h,
+	src/base/ftpic.c, src/cff/cffpic.c, src/cff/cffpic.h,
+	src/pshinter/pshpic.c, src/pshinter/pshpic.h, src/psnames/pspic.c,
+	src/psnames/pspic.h, src/raster/rastpic.c, src/raster/rastpic.h,
+	src/sfnt/sfntpic.c, src/sfnt/sfntpic.h, src/smooth/ftspic.c,
+	src/smooth/ftspic.h, src/truetype/ttpic.c, src/truetype/ttpic.h:
+	Removed.
+
 2018-05-01  Werner Lemberg  <wl@gnu.org>
 
 	* Version 2.9.1 released.
 	=========================
 
 
 	Tag sources with `VER-2-9-1'.
 
@@ -194,17 +2721,17 @@ 2018-04-10  Nikolaus Waxweiler  <madigen
 	External dependencies are expressed as option()s and will turn up as such
 	in cmake-gui.
 
 	Internal: Properties such as dependencies and include directories are now
 	privately set on the freetype library instead of globally.
 
 	The CPack definitions have been cleaned up, the `make dist' has been
 	removed. Source packages generated with CPack don't contain Autotools
-	files and aren't used by the maintainters anyway.
+	files and aren't used by the maintainers anyway.
 
 	On Windows, src/base/ftver.rc is compiled to decorate the library with
 	version and copyright information.
 
 	A pkg-config file is now generated and installed.
 
 2018-04-09  Werner Lemberg  <wl@gnu.org>
 
@@ -1409,17 +3936,17 @@ 2017-10-04  John Tytgat  <John.Tytgat@es
 2017-09-30  Alexei Podtelezhnikov  <apodtele@gmail.com>
 
 	Signedness fixes in bitmap presetting.
 
 	Reported as
 
 	  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3514.
 
-	* src/raster/ftrend1.c (ft_raster1_render): Exlicitly signed height.
+	* src/raster/ftrend1.c (ft_raster1_render): Explicitly signed height.
 	* src/smooth/ftsmooth.c (ft_smooth_render_generic): Ditto.
 	* src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Explicitly unsigned
 	subtraction.
 
 2017-09-29  Alexei Podtelezhnikov  <apodtele@gmail.com>
 
 	Bitmap metrics presetting [2/2].
 
@@ -2331,17 +4858,17 @@ 2017-09-18  Alexei Podtelezhnikov  <apod
 	[build] Declutter Visual C++ 2010-2017 project.
 
 	* build/windows/vc2010/freetype.vcxproj: Use MaxSpeed (/02)
 	optimization for Release configuration throughout the project.
 
 
 ----------------------------------------------------------------------------
 
-Copyright 2017-2018 by
+Copyright (C) 2017-2019 by
 David Turner, Robert Wilhelm, and Werner Lemberg.
 
 This file is part of the FreeType project, and may only be used, modified,
 and distributed under the terms of the FreeType project license,
 LICENSE.TXT.  By continuing to use, modify, or distribute this file you
 indicate that you have read the license and understand and accept it
 fully.
 
--- a/modules/freetype2/ChangeLog.20
+++ b/modules/freetype2/ChangeLog.20
@@ -1683,17 +1683,17 @@ 2001-04-05  Werner Lemberg  <wl@gnu.org>