Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE
authorCosmin Sabou <csabou@mozilla.com>
Sat, 20 Jan 2018 04:12:28 +0200
changeset 454377 f448a063c158e51c5f7145197865696105b2d617
parent 454300 2648e1488e607d5f91e86008b6bbe9ca5d6a4e76 (current diff)
parent 454287 6bb6f3b25f9fe7ae1ef5092496776a891250cbb6 (diff)
child 454378 e505be75720dc5b2ee5f03d1392c33e51b4c9435
push id1648
push usermtabara@mozilla.com
push dateThu, 01 Mar 2018 12:45:47 +0000
treeherdermozilla-release@cbb9688c2eeb [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmerge
milestone59.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 mozilla-inbound. a=merge on a CLOSED TREE
--- a/build/valgrind/x86_64-redhat-linux-gnu.sup
+++ b/build/valgrind/x86_64-redhat-linux-gnu.sup
@@ -286,17 +286,17 @@
 
 # Conditional jump or move depends on uninitialised value(s)
 #    at 0x118720EA: <core::slice::Iter<'a, T> as core::iter::iterator::Iterator>::all::{{closure}} (mod.rs:1173)
 #    by 0x11871EF6: style::media_queries::MediaList::evaluate (mod.rs:1277)
 {
   Bug 1430608 nsMediaFeatures, January 2018
 	Memcheck:Cond
 	fun:_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all*
-	fun:_ZN5style13media_queries9MediaList8evaluate17he4027f6becef129cE
+	fun:_ZN5style13media_queries9MediaList8evaluate*
 }
 
 ###################################################
 #  For valgrind-mochitest ("tc-M-V [tier 2]") runs on taskcluster.
 #  See bug 1248365.
 #  These are specific to Ubuntu 12.04.5, 64-bit.
 ###################################################
 
--- a/gfx/webrender_bindings/WebRenderAPI.cpp
+++ b/gfx/webrender_bindings/WebRenderAPI.cpp
@@ -304,19 +304,30 @@ WebRenderAPI::~WebRenderAPI()
     RenderThread::Get()->SetDestroyed(GetId());
 
     layers::SynchronousTask task("Destroy WebRenderAPI");
     auto event = MakeUnique<RemoveRenderer>(&task);
     RunOnRenderThread(Move(event));
     task.Wait();
   }
 
+  // wr_api_get_namespace cannot be marked destructor-safe because it has a
+  // return value, and we can't call it if MOZ_BUILD_WEBRENDER is not defined
+  // because it's not destructor-safe. So let's just ifdef around it. This is
+  // basically a hack to get around compile-time warnings, this code never runs
+  // unless MOZ_BUILD_WEBRENDER is defined anyway.
+#ifdef MOZ_BUILD_WEBRENDER
+  wr::WrIdNamespace ns = GetNamespace();
+#else
+  wr::WrIdNamespace ns{0};
+#endif
+
   // Clean up any resources the blob image renderer is holding onto that
   // can no longer be used once this WR API instance goes away.
-  ClearBlobImageResources(GetNamespace());
+  ClearBlobImageResources(ns);
 
   wr_api_delete(mDocHandle);
 }
 
 void
 WebRenderAPI::SendTransaction(TransactionBuilder& aTxn)
 {
   wr_api_send_transaction(mDocHandle, aTxn.Raw());
--- a/gfx/webrender_bindings/src/bindings.rs
+++ b/gfx/webrender_bindings/src/bindings.rs
@@ -2050,16 +2050,17 @@ pub extern "C" fn wr_api_hit_test(dh: &m
 pub type VecU8 = Vec<u8>;
 pub type ArcVecU8 = Arc<VecU8>;
 
 #[no_mangle]
 pub extern "C" fn wr_add_ref_arc(arc: &ArcVecU8) -> *const VecU8 {
     Arc::into_raw(arc.clone())
 }
 
+/// cbindgen:postfix=WR_DESTRUCTOR_SAFE_FUNC
 #[no_mangle]
 pub unsafe extern "C" fn wr_dec_ref_arc(arc: *const VecU8) {
     Arc::from_raw(arc);
 }
 
 // TODO: nical
 // Update for the new blob image interface changes.
 //
--- a/gfx/webrender_bindings/webrender_ffi_generated.h
+++ b/gfx/webrender_bindings/webrender_ffi_generated.h
@@ -1017,17 +1017,17 @@ void wr_api_send_transaction(DocumentHan
 WR_FUNC;
 
 WR_INLINE
 void wr_clear_item_tag(WrState *aState)
 WR_FUNC;
 
 WR_INLINE
 void wr_dec_ref_arc(const VecU8 *aArc)
-WR_FUNC;
+WR_DESTRUCTOR_SAFE_FUNC;
 
 WR_INLINE
 void wr_dp_clear_save(WrState *aState)
 WR_FUNC;
 
 WR_INLINE
 uint64_t wr_dp_define_clip(WrState *aState,
                            const uint64_t *aAncestorScrollId,
--- a/layout/reftests/css-break/reftest.list
+++ b/layout/reftests/css-break/reftest.list
@@ -1,12 +1,12 @@
 default-preferences pref(layout.css.box-decoration-break.enabled,true)
 
 == box-decoration-break-1.html box-decoration-break-1-ref.html
-fuzzy(1,20) fuzzy-if(skiaContent,1,700) fuzzy-if(webrender,6-6,8796-8796) == box-decoration-break-with-inset-box-shadow-1.html box-decoration-break-with-inset-box-shadow-1-ref.html
+fuzzy(1,20) fuzzy-if(skiaContent,1,700) fuzzy-if(webrender,6-6,8644-8796) == box-decoration-break-with-inset-box-shadow-1.html box-decoration-break-with-inset-box-shadow-1-ref.html
 fuzzy(45,460) fuzzy-if(skiaContent,57,439) fuzzy-if(Android,57,1330) fuzzy-if(styloVsGecko,45,1410) == box-decoration-break-with-outset-box-shadow-1.html box-decoration-break-with-outset-box-shadow-1-ref.html # Bug 1386543
 random-if(!gtkWidget) == box-decoration-break-border-image.html box-decoration-break-border-image-ref.html
 == box-decoration-break-block-border-padding.html box-decoration-break-block-border-padding-ref.html
 == box-decoration-break-block-margin.html box-decoration-break-block-margin-ref.html
 fuzzy-if(!Android,1,62) fuzzy-if(Android,8,6627) == box-decoration-break-first-letter.html box-decoration-break-first-letter-ref.html #Bug 1313773
 == box-decoration-break-with-bidi.html box-decoration-break-with-bidi-ref.html
 == box-decoration-break-bug-1235152.html box-decoration-break-bug-1235152-ref.html
 == box-decoration-break-bug-1249913.html box-decoration-break-bug-1249913-ref.html
--- a/layout/reftests/css-ui-valid/select/reftest.list
+++ b/layout/reftests/css-ui-valid/select/reftest.list
@@ -7,12 +7,12 @@ fuzzy-if(skiaContent,1,3) needs-focus ==
 fuzzy-if(skiaContent,2,5) needs-focus == select-required-invalid.html select-required-ref.html
 fuzzy-if(skiaContent,2,5) needs-focus == select-required-valid-1.html select-required-ref.html
 fuzzy-if(skiaContent,2,5) needs-focus == select-required-valid-2.html select-required-ref.html
 fuzzy-if(skiaContent,2,5) needs-focus == select-required-valid-changed-1.html select-required-ref.html
 fuzzy-if(skiaContent,2,5) needs-focus == select-required-valid-changed-2.html select-required-ref.html
 needs-focus == select-required-multiple-invalid.html select-required-multiple-ref.html
 needs-focus == select-required-multiple-valid.html select-required-multiple-ref.html
 fuzzy(64,4) fuzzy-if(asyncPan&&layersGPUAccelerated,84,77) fuzzy-if(skiaContent,1,1000) needs-focus == select-required-multiple-valid-changed.html select-required-multiple-ref.html
-needs-focus == select-disabled-fieldset-1.html select-fieldset-ref.html
+fuzzy-if(Android,8,1) needs-focus == select-disabled-fieldset-1.html select-fieldset-ref.html
 fuzzy-if(skiaContent&&!Android,2,10) needs-focus == select-disabled-fieldset-2.html select-fieldset-ref.html
 fuzzy-if(skiaContent,2,10) needs-focus == select-fieldset-legend.html select-fieldset-legend-ref.html
 fuzzy-if(skiaContent,2,5) needs-focus == select-novalidate.html select-required-ref.html