Merge mozilla-central to autoland
authorDorel Luca <dluca@mozilla.com>
Sun, 10 Jun 2018 01:07:15 +0300
changeset 478820 a1e447f4886c8f98057c5e8264b494f1cd3b531b
parent 478819 7ac5e24fb3cfccf96263c95b5677c60f85372e24 (current diff)
parent 478814 874dedd55599e4b87fe37a497a968c079f1cca69 (diff)
child 478821 3f96430462f8fa2c5d5d487471dada6591a8ba67
push id1757
push userffxbld-merge
push dateFri, 24 Aug 2018 17:02:43 +0000
treeherdermozilla-release@736023aebdb1 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
milestone62.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Merge mozilla-central to autoland
--- a/gfx/thebes/gfxFcPlatformFontList.cpp
+++ b/gfx/thebes/gfxFcPlatformFontList.cpp
@@ -36,17 +36,17 @@
 #include <gdk/gdk.h>
 #include "gfxPlatformGtk.h"
 #endif
 
 #ifdef MOZ_X11
 #include "mozilla/X11Util.h"
 #endif
 
-#ifdef MOZ_CONTENT_SANDBOX
+#if defined(MOZ_CONTENT_SANDBOX) && defined (XP_LINUX)
 #include "mozilla/SandboxBrokerPolicyFactory.h"
 #include "mozilla/SandboxSettings.h"
 #endif
 
 #include FT_MULTIPLE_MASTERS_H
 
 using namespace mozilla;
 using namespace mozilla::gfx;
--- a/gfx/thebes/gfxFcPlatformFontList.h
+++ b/gfx/thebes/gfxFcPlatformFontList.h
@@ -18,17 +18,17 @@
 #include <fontconfig/fontconfig.h>
 #include "ft2build.h"
 #include FT_FREETYPE_H
 #include FT_TRUETYPE_TABLES_H
 #include FT_MULTIPLE_MASTERS_H
 #include <cairo.h>
 #include <cairo-ft.h>
 
-#ifdef MOZ_CONTENT_SANDBOX
+#if defined(MOZ_CONTENT_SANDBOX) && defined (XP_LINUX)
 #include "mozilla/SandboxBroker.h"
 #endif
 
 namespace mozilla {
     namespace dom {
         class SystemFontListEntry;
     };
 };
new file mode 100644
--- /dev/null
+++ b/layout/style/crashtests/635153.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+
+function boom()
+{
+  var r = document.documentElement;
+  document.__proto__ = document.createTextNode("text");
+  r.style.counterReset = "a";
+}
+
+</script>
+</head>
+<body onload="boom();"></body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/style/crashtests/653675.html
@@ -0,0 +1,1 @@
+<body style="-moz-transform: rotate(520327040619807469187028288680706778649deg); position:fixed;"> <body text=black>
new file mode 100644
--- /dev/null
+++ b/layout/style/crashtests/694775.html
@@ -0,0 +1,7 @@
+<!DOCTYPE html>
+<script>
+
+document.documentElement.style.direction = "rtl";
+document.__proto__ = null;
+
+</script>
new file mode 100644
--- /dev/null
+++ b/layout/style/crashtests/822877.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+
+function boom()
+{
+  document.documentElement.style.transitionDelay = "10s";
+  document.documentElement.style.borderBottomLeftRadius = "999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999%";
+}
+
+</script>
+</head>
+<body onload="boom();"></body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/style/crashtests/827220.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html style="font-size: 8em; clip: rect(auto, 3em, 0, 0); transition-timing-function: cubic-bezier(1, 1152921504606847000, 1, 1); transition-duration: 1s">
+<body onload="document.documentElement.style.fontSize = '';">
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/style/crashtests/873260-1.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+
+function boom()
+{
+    var r = document.documentElement;
+    r.style.transitionDelay = "60s";
+    r.style.borderRadius = "9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999%";
+}
+
+</script>
+</head>
+<body onload="boom();"></body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/style/crashtests/873260-2.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="UTF-8">
+<script>
+
+function boom()
+{
+  document.documentElement.style.transitionDelay = "1ms";
+  document.documentElement.style.marginRight = "calc(-999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999*-140737488355327px + 1%)";
+}
+
+</script>
+</head>
+<body onload="boom();"></body>
+</html>
--- a/layout/style/crashtests/crashtests.list
+++ b/layout/style/crashtests/crashtests.list
@@ -69,42 +69,49 @@ load 585185-1.html
 load 588627-1.html
 load 592698-1.html
 load 601437-1.html
 load 601439-1.html
 load 605689-1.html
 load 611922-1.html
 load 621596-1.html
 load 622314-1.xhtml
+load 635153.html
 load 637242.xhtml
 load 645142.html
 load 652976-1.svg
+load 653675.html
 load 665209-1.html
 load 671799-1.html
 load 671799-2.html
 load 690990-1.html
+load 694775.html
 load 696188-1.html
 load 696869-1.html
 load 700116.html
 load 729126-1.html
 load 729126-2.html
 load 786108-1.html
 load 786108-2.html
 load 788836.html
 load 806310-1.html
 load 809762.html
 load 812824.html
 load 822766-1.html
+load 822877.html
+load 827220.html
 load 827591-1.html
 load 829817.html
 load 842134.html
 load 861489-1.html
 load 862113.html
 load 867487.html
 load 873222.html
+load 873260-1.html
+load 873260-2.html
 load 880862.html
 load 894245-1.html
 load 915440.html
 load 927734-1.html
 load 930270-1.html
 load 930270-2.html
 load 945048-1.html
 load 972199-1.html
--- a/media/webrtc/trunk/webrtc/modules/video_coding/rtp_frame_reference_finder.cc
+++ b/media/webrtc/trunk/webrtc/modules/video_coding/rtp_frame_reference_finder.cc
@@ -429,18 +429,21 @@ void RtpFrameReferenceFinder::ManageFram
   gof_info_.erase(gof_info_.begin(), clean_gof_info_to);
 
   if (frame->frame_type() == kVideoFrameKey) {
     // When using GOF all keyframes must include the scalability structure.
     if (!codec_header.ss_data_available)
       LOG(LS_WARNING) << "Received keyframe without scalability structure";
 
     frame->num_references = 0;
-    GofInfo info = gof_info_.find(codec_header.tl0_pic_idx)->second;
-    FrameReceivedVp9(frame->picture_id, &info);
+    auto gof_info_it = gof_info_.find(codec_header.tl0_pic_idx);
+    if (gof_info_it == gof_info_.end())
+      return;
+
+    FrameReceivedVp9(frame->picture_id, &gof_info_it->second);
     CompletedFrameVp9(std::move(frame));
     return;
   }
 
   auto gof_info_it = gof_info_.find(
       (codec_header.temporal_idx == 0 && !codec_header.ss_data_available)
           ? codec_header.tl0_pic_idx - 1
           : codec_header.tl0_pic_idx);
@@ -503,16 +506,22 @@ void RtpFrameReferenceFinder::ManageFram
 
 bool RtpFrameReferenceFinder::MissingRequiredFrameVp9(uint16_t picture_id,
                                                       const GofInfo& info) {
   size_t diff =
       ForwardDiff<uint16_t, kPicIdLength>(info.gof->pid_start, picture_id);
   size_t gof_idx = diff % info.gof->num_frames_in_gof;
   size_t temporal_idx = info.gof->temporal_idx[gof_idx];
 
+  if (temporal_idx >= kMaxTemporalLayers) {
+    LOG(LS_WARNING) << "At most " << kMaxTemporalLayers << " temporal "
+                    << "layers are supported.";
+    return true;
+  }
+
   // For every reference this frame has, check if there is a frame missing in
   // the interval (|ref_pid|, |picture_id|) in any of the lower temporal
   // layers. If so, we are missing a required frame.
   uint8_t num_references = info.gof->num_ref_pics[gof_idx];
   for (size_t i = 0; i < num_references; ++i) {
     uint16_t ref_pid =
         Subtract<kPicIdLength>(picture_id, info.gof->pid_diff[gof_idx][i]);
     for (size_t l = 0; l < temporal_idx; ++l) {