From 9f7ae77fe287d7856718c5dfd60891be9b561b1d Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 13 Oct 2015 15:56:32 -0400 Subject: gnu: icecat: Update to 38.3.0-gnu1. * gnu/packages/patches/icecat-CVE-2015-4473-partial.patch, gnu/packages/patches/icecat-CVE-2015-4482.patch, gnu/packages/patches/icecat-CVE-2015-4488.patch, gnu/packages/patches/icecat-CVE-2015-4489.patch, gnu/packages/patches/icecat-CVE-2015-4491.patch, gnu/packages/patches/icecat-CVE-2015-4492.patch, gnu/packages/patches/icecat-CVE-2015-4495.patch, gnu/packages/patches/icecat-enable-acceleration-and-webgl.patch, gnu/packages/patches/icecat-libvpx-1.4.patch: Delete files. * gnu/packages/patches/icecat-avoid-bundled-includes.patch: New file. * gnu-system.am (dist_patch_DATA): Add new patch. Remove the deleted ones. * gnu/packages/gnuzilla.scm (icecat): Update to 38.3.0-gnu1. [source]: Add new patch. Remove the deleted ones. [inputs]: Add libxcomposite. [arguments]: Add 'ensure-no-mtimes-pre-1980' phase. Adapt 'remove-h264parse-from-blacklist' and 'arrange-to-link-libxul-with-libraries-it-might-dlopen' phases to the new version. --- gnu-system.am | 10 +- gnu/packages/gnuzilla.scm | 46 ++++---- .../patches/icecat-CVE-2015-4473-partial.patch | 120 --------------------- gnu/packages/patches/icecat-CVE-2015-4482.patch | 28 ----- gnu/packages/patches/icecat-CVE-2015-4488.patch | 21 ---- gnu/packages/patches/icecat-CVE-2015-4489.patch | 21 ---- gnu/packages/patches/icecat-CVE-2015-4491.patch | 41 ------- gnu/packages/patches/icecat-CVE-2015-4492.patch | 81 -------------- gnu/packages/patches/icecat-CVE-2015-4495.patch | 28 ----- .../patches/icecat-avoid-bundled-includes.patch | 35 ++++++ .../icecat-enable-acceleration-and-webgl.patch | 12 --- gnu/packages/patches/icecat-libvpx-1.4.patch | 78 -------------- 12 files changed, 62 insertions(+), 459 deletions(-) delete mode 100644 gnu/packages/patches/icecat-CVE-2015-4473-partial.patch delete mode 100644 gnu/packages/patches/icecat-CVE-2015-4482.patch delete mode 100644 gnu/packages/patches/icecat-CVE-2015-4488.patch delete mode 100644 gnu/packages/patches/icecat-CVE-2015-4489.patch delete mode 100644 gnu/packages/patches/icecat-CVE-2015-4491.patch delete mode 100644 gnu/packages/patches/icecat-CVE-2015-4492.patch delete mode 100644 gnu/packages/patches/icecat-CVE-2015-4495.patch create mode 100644 gnu/packages/patches/icecat-avoid-bundled-includes.patch delete mode 100644 gnu/packages/patches/icecat-enable-acceleration-and-webgl.patch delete mode 100644 gnu/packages/patches/icecat-libvpx-1.4.patch diff --git a/gnu-system.am b/gnu-system.am index 35b3235005..d846bcecde 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -500,16 +500,8 @@ dist_patch_DATA = \ gnu/packages/patches/hwloc-gather-topology-lstopo.patch \ gnu/packages/patches/hydra-automake-1.15.patch \ gnu/packages/patches/hydra-disable-darcs-test.patch \ - gnu/packages/patches/icecat-CVE-2015-4473-partial.patch \ - gnu/packages/patches/icecat-CVE-2015-4482.patch \ - gnu/packages/patches/icecat-CVE-2015-4488.patch \ - gnu/packages/patches/icecat-CVE-2015-4489.patch \ - gnu/packages/patches/icecat-CVE-2015-4491.patch \ - gnu/packages/patches/icecat-CVE-2015-4492.patch \ - gnu/packages/patches/icecat-CVE-2015-4495.patch \ - gnu/packages/patches/icecat-enable-acceleration-and-webgl.patch \ + gnu/packages/patches/icecat-avoid-bundled-includes.patch \ gnu/packages/patches/icecat-freetype-2.6.patch \ - gnu/packages/patches/icecat-libvpx-1.4.patch \ gnu/packages/patches/icu4c-CVE-2014-6585.patch \ gnu/packages/patches/icu4c-CVE-2015-1270.patch \ gnu/packages/patches/icu4c-CVE-2015-4760.patch \ diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 53e6ea7787..3e933e7ec5 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -228,7 +228,7 @@ (define-public nss (define-public icecat (package (name "icecat") - (version "31.8.0-gnu1") + (version "38.3.0-gnu1") (source (origin (method url-fetch) @@ -237,17 +237,9 @@ (define-public icecat name "-" version ".tar.bz2")) (sha256 (base32 - "11wx29mb5pcg4mgk07a6vjwh52ca90k0x4m9wv0v3y5dmp88f01p")) - (patches (map search-patch '("icecat-CVE-2015-4473-partial.patch" - "icecat-CVE-2015-4482.patch" - "icecat-CVE-2015-4488.patch" - "icecat-CVE-2015-4489.patch" - "icecat-CVE-2015-4491.patch" - "icecat-CVE-2015-4492.patch" - "icecat-CVE-2015-4495.patch" - "icecat-enable-acceleration-and-webgl.patch" - "icecat-freetype-2.6.patch" - "icecat-libvpx-1.4.patch"))) + "0vm6f7f1i5vkq2713mgzjdfnm8rpz9l0q8sv4s123vsam0j9gzh8")) + (patches (map search-patch '("icecat-avoid-bundled-includes.patch" + "icecat-freetype-2.6.patch"))) (modules '((guix build utils))) (snippet '(begin @@ -307,6 +299,7 @@ (define-public icecat ("libevent" ,libevent) ("libxinerama" ,libxinerama) ("libxscrnsaver" ,libxscrnsaver) + ("libxcomposite" ,libxcomposite) ("libxt" ,libxt) ("libffi" ,libffi) ("libvpx" ,libvpx) @@ -393,8 +386,22 @@ (define-public icecat ;; "--with-system-jpeg" ) + #:modules ((ice-9 ftw) + ,@%gnu-build-system-modules) #:phases (modify-phases %standard-phases + (add-after + 'unpack 'ensure-no-mtimes-pre-1980 + (lambda _ + ;; Without this, the 'source/test/addons/packed.xpi' and + ;; 'source/test/addons/simple-prefs.xpi' targets fail while trying + ;; to create zip archives. + (let ((early-1980 315619200)) ; 1980-01-02 UTC + (ftw "." (lambda (file stat flag) + (unless (<= early-1980 (stat:mtime stat)) + (utime file early-1980 early-1980)) + #t)) + #t))) (add-after 'unpack 'remove-h264parse-from-blacklist (lambda _ @@ -402,7 +409,7 @@ (define-public icecat ;; was put there to work around a bug in a pre-1.0 version of ;; gstreamer. See: ;; https://www.mozilla.org/en-US/security/advisories/mfsa2015-47/ - (substitute* "content/media/gstreamer/GStreamerFormatHelper.cpp" + (substitute* "dom/media/gstreamer/GStreamerFormatHelper.cpp" (("^ \"h264parse\",\n") "")) #t)) (add-after @@ -414,13 +421,12 @@ (define-public icecat ;; TODO: It might be preferable to patch in absolute file names in ;; calls to dlopen or PR_LoadLibrary, but that didn't seem to ;; work. More investigation is needed. - (let ((p (open-file "toolkit/library/libxul.mk" "a"))) - (display "\nOS_LIBS += -lGL -lgnome-2 -lcanberra -lXss \\ - -lcups -lgssapi_krb5 -lgstreamer-1.0 \\ - -lgstapp-1.0 -lgstvideo-1.0\n" - p) - (close-port p) - #t))) + (substitute* "toolkit/library/moz.build" + (("^# This needs to be last") + "OS_LIBS += [ + 'GL', 'gnome-2', 'canberra', 'Xss', 'cups', 'gssapi_krb5', + 'gstreamer-1.0', 'gstapp-1.0', 'gstvideo-1.0' ]\n\n")) + #t)) (replace 'configure ;; configure does not work followed by both "SHELL=..." and diff --git a/gnu/packages/patches/icecat-CVE-2015-4473-partial.patch b/gnu/packages/patches/icecat-CVE-2015-4473-partial.patch deleted file mode 100644 index 184a8c5092..0000000000 --- a/gnu/packages/patches/icecat-CVE-2015-4473-partial.patch +++ /dev/null @@ -1,120 +0,0 @@ -Backported to icecat-31.8 from the upstream esr38 branch. - -From 1a7eac06fab3b8ffca09936498887f99e233bcba Mon Sep 17 00:00:00 2001 -From: Randell Jesup -Date: Thu, 9 Jul 2015 20:18:34 -0400 -Subject: [PATCH] Bug 1178890 - Update timer arrays after sleep to account for - time sleeping. r=bwc, r=froydnj, a=sledru - ---- icecat-31.8.0/xpcom/threads/TimerThread.cpp.orig 1969-12-31 19:00:00.000000000 -0500 -+++ icecat-31.8.0/xpcom/threads/TimerThread.cpp 2015-08-12 16:38:11.789371171 -0400 -@@ -28,7 +28,8 @@ - mShutdown(false), - mWaiting(false), - mNotified(false), -- mSleeping(false) -+ mSleeping(false), -+ mLastTimerEventLoopRun(TimeStamp::Now()) - { - } - -@@ -222,6 +223,7 @@ - } else { - waitFor = PR_INTERVAL_NO_TIMEOUT; - TimeStamp now = TimeStamp::Now(); -+ mLastTimerEventLoopRun = now; - nsTimerImpl *timer = nullptr; - - if (!mTimers.IsEmpty()) { -@@ -411,6 +413,7 @@ - // This function must be called from within a lock - int32_t TimerThread::AddTimerInternal(nsTimerImpl *aTimer) - { -+ mMonitor.AssertCurrentThreadOwns(); - if (mShutdown) - return -1; - -@@ -434,6 +437,7 @@ - - bool TimerThread::RemoveTimerInternal(nsTimerImpl *aTimer) - { -+ mMonitor.AssertCurrentThreadOwns(); - if (!mTimers.RemoveElement(aTimer)) - return false; - -@@ -443,6 +447,10 @@ - - void TimerThread::ReleaseTimerInternal(nsTimerImpl *aTimer) - { -+ if (!mShutdown) { -+ // copied to a local array before releasing in shutdown -+ mMonitor.AssertCurrentThreadOwns(); -+ } - // Order is crucial here -- see nsTimerImpl::Release. - aTimer->mArmed = false; - NS_RELEASE(aTimer); -@@ -450,21 +458,39 @@ - - void TimerThread::DoBeforeSleep() - { -+ // Mainthread -+ MonitorAutoLock lock(mMonitor); -+ mLastTimerEventLoopRun = TimeStamp::Now(); - mSleeping = true; - } - -+// Note: wake may be notified without preceding sleep notification - void TimerThread::DoAfterSleep() - { -- mSleeping = true; // wake may be notified without preceding sleep notification -+ // Mainthread -+ TimeStamp now = TimeStamp::Now(); -+ -+ MonitorAutoLock lock(mMonitor); -+ -+ // an over-estimate of time slept, usually small -+ TimeDuration slept = now - mLastTimerEventLoopRun; -+ -+ // Adjust all old timers to expire roughly similar times in the future -+ // compared to when we went to sleep, by adding the time we slept to the -+ // target time. It's slightly possible a few will end up slightly in the -+ // past and fire immediately, but ordering should be preserved. All -+ // timers retain the exact same order (and relative times) as before -+ // going to sleep. - for (uint32_t i = 0; i < mTimers.Length(); i ++) { - nsTimerImpl *timer = mTimers[i]; -- // get and set the delay to cause its timeout to be recomputed -- uint32_t delay; -- timer->GetDelay(&delay); -- timer->SetDelay(delay); -+ timer->mTimeout += slept; - } -- - mSleeping = false; -+ mLastTimerEventLoopRun = now; -+ -+ // Wake up the timer thread to process the updated array -+ mNotified = true; -+ mMonitor.Notify(); - } - - ---- icecat-31.8.0/xpcom/threads/TimerThread.h.orig 1969-12-31 19:00:00.000000000 -0500 -+++ icecat-31.8.0/xpcom/threads/TimerThread.h 2015-08-12 16:38:38.542408062 -0400 -@@ -59,7 +59,7 @@ - mozilla::Atomic mInitInProgress; - bool mInitialized; - -- // These two internal helper methods must be called while mLock is held. -+ // These two internal helper methods must be called while mMonitor is held. - // AddTimerInternal returns the position where the timer was added in the - // list, or -1 if it failed. - int32_t AddTimerInternal(nsTimerImpl *aTimer); -@@ -73,6 +73,7 @@ - bool mWaiting; - bool mNotified; - bool mSleeping; -+ TimeStamp mLastTimerEventLoopRun; - - nsTArray mTimers; - }; diff --git a/gnu/packages/patches/icecat-CVE-2015-4482.patch b/gnu/packages/patches/icecat-CVE-2015-4482.patch deleted file mode 100644 index 41f0a3d0fc..0000000000 --- a/gnu/packages/patches/icecat-CVE-2015-4482.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 932a017c745d40d661602f6145c95c9226d8450d Mon Sep 17 00:00:00 2001 -From: Stephen Pohl -Date: Sat, 18 Jul 2015 18:42:15 -0700 -Subject: [PATCH] Bug 1184500 - Improve handling of index names in MAR files. - r=rstrong, a=lmandel - ---- - modules/libmar/src/mar_read.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/modules/libmar/src/mar_read.c b/modules/libmar/src/mar_read.c -index c647370..2013b0f 100644 ---- a/modules/libmar/src/mar_read.c -+++ b/modules/libmar/src/mar_read.c -@@ -96,6 +96,10 @@ static int mar_consume_index(MarFile *mar, char **buf, const char *buf_end) { - ++(*buf); - } - namelen = (*buf - name); -+ /* must ensure that namelen is valid */ -+ if (namelen < 0) { -+ return -1; -+ } - /* consume null byte */ - if (*buf == buf_end) - return -1; --- -2.4.3 - diff --git a/gnu/packages/patches/icecat-CVE-2015-4488.patch b/gnu/packages/patches/icecat-CVE-2015-4488.patch deleted file mode 100644 index cee0905be0..0000000000 --- a/gnu/packages/patches/icecat-CVE-2015-4488.patch +++ /dev/null @@ -1,21 +0,0 @@ -Backported to icecat-31.8 from the upstream esr38 branch. - -From 103fb14ff54753305508448ba0e374247a463552 Mon Sep 17 00:00:00 2001 -From: Daniel Holbert -Date: Fri, 19 Jun 2015 15:56:12 -0700 -Subject: [PATCH] Bug 1176270 - Handle self-assignment in - StyleAnimationValue::operator=. r=dbaron, a=sledru - ---- icecat-31.8.0/layout/style/nsStyleAnimation.cpp.orig 1969-12-31 19:00:00.000000000 -0500 -+++ icecat-31.8.0/layout/style/nsStyleAnimation.cpp 2015-08-12 16:00:39.418122049 -0400 -@@ -3517,6 +3517,10 @@ - nsStyleAnimation::Value& - nsStyleAnimation::Value::operator=(const Value& aOther) - { -+ if (this == &aOther) { -+ return *this; -+ } -+ - FreeValue(); - - mUnit = aOther.mUnit; diff --git a/gnu/packages/patches/icecat-CVE-2015-4489.patch b/gnu/packages/patches/icecat-CVE-2015-4489.patch deleted file mode 100644 index 4140891e3a..0000000000 --- a/gnu/packages/patches/icecat-CVE-2015-4489.patch +++ /dev/null @@ -1,21 +0,0 @@ -Backported to icecat-31.8 from the upstream esr38 branch. - -From 95231c1bca9c9495393b795513bea71a21a6ec2f Mon Sep 17 00:00:00 2001 -From: Birunthan Mohanathas -Date: Tue, 21 Jul 2015 09:42:58 -0700 -Subject: [PATCH] Bug 1182723 - Properly handle self-assignment in - nsTArray::operator=. r=mccr8, a=abillings - ---- icecat-31.8.0/xpcom/glue/nsTArray.h.orig 2015-08-12 16:03:56.353746969 -0400 -+++ icecat-31.8.0/xpcom/glue/nsTArray.h 2015-08-12 16:06:52.144553848 -0400 -@@ -811,7 +811,9 @@ - // array. It is optimized to reuse existing storage if possible. - // @param other The array object to copy. - self_type& operator=(const self_type& other) { -- ReplaceElementsAt(0, Length(), other.Elements(), other.Length()); -+ if (this != &other) { -+ ReplaceElementsAt(0, Length(), other.Elements(), other.Length()); -+ } - return *this; - } - diff --git a/gnu/packages/patches/icecat-CVE-2015-4491.patch b/gnu/packages/patches/icecat-CVE-2015-4491.patch deleted file mode 100644 index c16885cfc7..0000000000 --- a/gnu/packages/patches/icecat-CVE-2015-4491.patch +++ /dev/null @@ -1,41 +0,0 @@ -From c154557bc0aa7e310824717f3e829dd82e6726e4 Mon Sep 17 00:00:00 2001 -From: Lee Salzman -Date: Tue, 21 Jul 2015 13:16:44 -0400 -Subject: [PATCH] Bug 1184009 - Limit image preview sizes. r=acomminos, - a=lmandel - ---HG-- -extra : transplant_source : %9B%86%13%60%B2%97%F1%8Fb%CB%9C%8D%FBWo%C9%EBPs1 ---- - widget/gtk/nsFilePicker.cpp | 13 ++++++++----- - 1 file changed, 8 insertions(+), 5 deletions(-) - -diff --git a/widget/gtk/nsFilePicker.cpp b/widget/gtk/nsFilePicker.cpp -index 0b5a8dc..3c0d543 100644 ---- a/widget/gtk/nsFilePicker.cpp -+++ b/widget/gtk/nsFilePicker.cpp -@@ -101,13 +101,16 @@ UpdateFilePreviewWidget(GtkFileChooser *file_chooser, - return; - } - -- GdkPixbuf *preview_pixbuf; -+ GdkPixbuf *preview_pixbuf = nullptr; - // Only scale down images that are too big - if (preview_width > MAX_PREVIEW_SIZE || preview_height > MAX_PREVIEW_SIZE) { -- preview_pixbuf = gdk_pixbuf_new_from_file_at_size(image_filename, -- MAX_PREVIEW_SIZE, -- MAX_PREVIEW_SIZE, -- nullptr); -+ if (ceil(preview_width / double(MAX_PREVIEW_SIZE) + 1.0) * -+ ceil(preview_height / double(MAX_PREVIEW_SIZE) + 1.0) < 0x7FFFFF) { -+ preview_pixbuf = gdk_pixbuf_new_from_file_at_size(image_filename, -+ MAX_PREVIEW_SIZE, -+ MAX_PREVIEW_SIZE, -+ nullptr); -+ } - } - else { - preview_pixbuf = gdk_pixbuf_new_from_file(image_filename, nullptr); --- -2.4.3 - diff --git a/gnu/packages/patches/icecat-CVE-2015-4492.patch b/gnu/packages/patches/icecat-CVE-2015-4492.patch deleted file mode 100644 index 5d401f5a32..0000000000 --- a/gnu/packages/patches/icecat-CVE-2015-4492.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 9d5f21ee3a754d20bca4513f55553ea6694a7b25 Mon Sep 17 00:00:00 2001 -From: Andrea Marchesini -Date: Wed, 29 Jul 2015 16:10:15 -0400 -Subject: [PATCH] Bug 1185820 - XMLHttpRequest::Open() in worker should count - the recursion using a uint32_t and not a boolean. r=khuey, a=lmandel - ---HG-- -extra : transplant_source : %8F%89%24%FF%A1%F7d%5B%BE%E9%FC3%C6%E1%AC%27r%5Eq%16 -extra : histedit_source : 5857f0cedf1cfb5361e6f404a094719814a2b415 ---- - dom/workers/XMLHttpRequest.cpp | 20 +++++++++++--------- - 1 file changed, 11 insertions(+), 9 deletions(-) - -diff --git a/dom/workers/XMLHttpRequest.cpp b/dom/workers/XMLHttpRequest.cpp -index aac97ab..7099279 100644 ---- a/dom/workers/XMLHttpRequest.cpp -+++ b/dom/workers/XMLHttpRequest.cpp -@@ -100,6 +100,7 @@ public: - // Only touched on the worker thread. - uint32_t mOuterEventStreamId; - uint32_t mOuterChannelId; -+ uint32_t mOpenCount; - uint64_t mLastLoaded; - uint64_t mLastTotal; - uint64_t mLastUploadLoaded; -@@ -109,7 +110,6 @@ public: - bool mLastUploadLengthComputable; - bool mSeenLoadStart; - bool mSeenUploadLoadStart; -- bool mOpening; - - // Only touched on the main thread. - bool mUploadEventListenersAttached; -@@ -122,10 +122,10 @@ public: - : mWorkerPrivate(nullptr), mXMLHttpRequestPrivate(aXHRPrivate), - mMozAnon(aMozAnon), mMozSystem(aMozSystem), - mInnerEventStreamId(0), mInnerChannelId(0), mOutstandingSendCount(0), -- mOuterEventStreamId(0), mOuterChannelId(0), mLastLoaded(0), mLastTotal(0), -- mLastUploadLoaded(0), mLastUploadTotal(0), mIsSyncXHR(false), -+ mOuterEventStreamId(0), mOuterChannelId(0), mOpenCount(0), mLastLoaded(0), -+ mLastTotal(0), mLastUploadLoaded(0), mLastUploadTotal(0), mIsSyncXHR(false), - mLastLengthComputable(false), mLastUploadLengthComputable(false), -- mSeenLoadStart(false), mSeenUploadLoadStart(false), mOpening(false), -+ mSeenLoadStart(false), mSeenUploadLoadStart(false), - mUploadEventListenersAttached(false), mMainThreadSeenLoadStart(false), - mInOpen(false), mArrayBufferResponseWasTransferred(false) - { } -@@ -1850,7 +1850,7 @@ XMLHttpRequest::SendInternal(const nsAString& aStringBody, - mWorkerPrivate->AssertIsOnWorkerThread(); - - // No send() calls when open is running. -- if (mProxy->mOpening) { -+ if (mProxy->mOpenCount) { - aRv.Throw(NS_ERROR_FAILURE); - return; - } -@@ -1945,15 +1945,17 @@ XMLHttpRequest::Open(const nsACString& aMethod, const nsAString& aUrl, - mBackgroundRequest, mWithCredentials, - mTimeout); - -- mProxy->mOpening = true; -+ ++mProxy->mOpenCount; - if (!runnable->Dispatch(mWorkerPrivate->GetJSContext())) { -- mProxy->mOpening = false; -- ReleaseProxy(); -+ if (!--mProxy->mOpenCount) { -+ ReleaseProxy(); -+ } -+ - aRv.Throw(NS_ERROR_FAILURE); - return; - } - -- mProxy->mOpening = false; -+ --mProxy->mOpenCount; - mProxy->mIsSyncXHR = !aAsync; - } - --- -2.4.3 - diff --git a/gnu/packages/patches/icecat-CVE-2015-4495.patch b/gnu/packages/patches/icecat-CVE-2015-4495.patch deleted file mode 100644 index e7514d9a5e..0000000000 --- a/gnu/packages/patches/icecat-CVE-2015-4495.patch +++ /dev/null @@ -1,28 +0,0 @@ -Backported from upstream commits labelled "Bug 1178058" from the esr38 branch -by Boris Zbarsky and Bobby Holley . - ---- icecat-31.8.0/docshell/base/nsDocShell.cpp -+++ icecat-31.8.0/docshell/base/nsDocShell.cpp -@@ -1546,12 +1546,21 @@ - - if (owner && mItemType != typeChrome) { - nsCOMPtr ownerPrincipal = do_QueryInterface(owner); -- if (nsContentUtils::IsSystemOrExpandedPrincipal(ownerPrincipal)) { -+ if (nsContentUtils::IsSystemPrincipal(ownerPrincipal)) { - if (ownerIsExplicit) { - return NS_ERROR_DOM_SECURITY_ERR; - } - owner = nullptr; - inheritOwner = true; -+ } else if (nsContentUtils::IsExpandedPrincipal(ownerPrincipal)) { -+ if (ownerIsExplicit) { -+ return NS_ERROR_DOM_SECURITY_ERR; -+ } -+ // Don't inherit from the current page. Just do the safe thing -+ // and pretend that we were loaded by a nullprincipal. -+ owner = do_CreateInstance("@mozilla.org/nullprincipal;1"); -+ NS_ENSURE_TRUE(owner, NS_ERROR_FAILURE); -+ inheritOwner = false; - } - } - if (!owner && !inheritOwner && !ownerIsExplicit) { diff --git a/gnu/packages/patches/icecat-avoid-bundled-includes.patch b/gnu/packages/patches/icecat-avoid-bundled-includes.patch new file mode 100644 index 0000000000..d11b528b8e --- /dev/null +++ b/gnu/packages/patches/icecat-avoid-bundled-includes.patch @@ -0,0 +1,35 @@ +Do not use headers from bundled libraries. + +--- icecat-38.3.0/xpcom/build/moz.build.orig 2015-10-12 19:33:43.000000000 -0400 ++++ icecat-38.3.0/xpcom/build/moz.build 2015-10-13 16:37:28.693224858 -0400 +@@ -92,10 +92,5 @@ + '/docshell/base', + ] + +-if CONFIG['MOZ_VPX']: +- LOCAL_INCLUDES += [ +- '/media/libvpx', +- ] +- + if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': + CXXFLAGS += CONFIG['TK_CFLAGS'] +--- icecat-38.3.0/storage/src/moz.build.orig 2015-10-12 19:34:45.000000000 -0400 ++++ icecat-38.3.0/storage/src/moz.build 2015-10-13 18:48:26.584724518 -0400 +@@ -66,7 +66,6 @@ + DEFINES['SQLITE_MAX_LIKE_PATTERN_LENGTH'] = 50000 + + LOCAL_INCLUDES += [ +- '/db/sqlite3/src', + '/dom/base', + ] + +--- icecat-38.3.0/dom/indexedDB/moz.build.orig 2015-10-12 19:35:00.000000000 -0400 ++++ icecat-38.3.0/dom/indexedDB/moz.build 2015-10-13 19:10:10.528756487 -0400 +@@ -91,7 +91,6 @@ + FAIL_ON_WARNINGS = True + + LOCAL_INCLUDES += [ +- '/db/sqlite3/src', + '/dom/base', + '/dom/storage', + '/dom/workers', diff --git a/gnu/packages/patches/icecat-enable-acceleration-and-webgl.patch b/gnu/packages/patches/icecat-enable-acceleration-and-webgl.patch deleted file mode 100644 index 3d3c4c592a..0000000000 --- a/gnu/packages/patches/icecat-enable-acceleration-and-webgl.patch +++ /dev/null @@ -1,12 +0,0 @@ -Re-enable hardware acceleration and WebGL. - ---- icecat-31.8.0/browser/app/profile/icecat.js.orig 2015-07-13 18:14:27.000000000 -0400 -+++ icecat-31.8.0/browser/app/profile/icecat.js 2015-07-15 13:55:39.273124982 -0400 -@@ -1756,7 +1756,3 @@ - pref("security.ssl3.dhe_rsa_aes_256_sha", false); - pref("security.ssl3.dhe_dss_aes_128_sha", false); - pref("security.ssl3.dhe_rsa_des_ede3_sha", false); -- --// Disable hardware acceleration and WebGL --pref("layers.acceleration.disabled", true); --pref("webgl.disabled", true); diff --git a/gnu/packages/patches/icecat-libvpx-1.4.patch b/gnu/packages/patches/icecat-libvpx-1.4.patch deleted file mode 100644 index 94b2b3a5a1..0000000000 --- a/gnu/packages/patches/icecat-libvpx-1.4.patch +++ /dev/null @@ -1,78 +0,0 @@ -The libvpx package 1.4.0 brings new names for various constants. - -Based on a patch by Carsten Schoenert . - ---- a/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc -+++ b/media/webrtc/trunk/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc -@@ -180,7 +180,7 @@ int VP8EncoderImpl::InitEncode(const VideoCodec* inst, - // Creating a wrapper to the image - setting image data to NULL. Actual - // pointer will be set in encode. Setting align to 1, as it is meaningless - // (actual memory is not allocated). -- raw_ = vpx_img_wrap(NULL, IMG_FMT_I420, codec_.width, codec_.height, -+ raw_ = vpx_img_wrap(NULL, VPX_IMG_FMT_I420, codec_.width, codec_.height, - 1, NULL); - // populate encoder configuration with default values - if (vpx_codec_enc_config_default(vpx_codec_vp8_cx(), config_, 0)) { -@@ -349,9 +349,9 @@ int VP8EncoderImpl::Encode(const I420VideoFrame& input_image, - } - // Image in vpx_image_t format. - // Input image is const. VP8's raw image is not defined as const. -- raw_->planes[PLANE_Y] = const_cast(input_image.buffer(kYPlane)); -- raw_->planes[PLANE_U] = const_cast(input_image.buffer(kUPlane)); -- raw_->planes[PLANE_V] = const_cast(input_image.buffer(kVPlane)); -+ raw_->planes[VPX_PLANE_Y] = const_cast(input_image.buffer(kYPlane)); -+ raw_->planes[VPX_PLANE_U] = const_cast(input_image.buffer(kUPlane)); -+ raw_->planes[VPX_PLANE_V] = const_cast(input_image.buffer(kVPlane)); - // TODO(mikhal): Stride should be set in initialization. - raw_->stride[VPX_PLANE_Y] = input_image.stride(kYPlane); - raw_->stride[VPX_PLANE_U] = input_image.stride(kUPlane); ---- a/content/media/encoder/VP8TrackEncoder.cpp -+++ b/content/media/encoder/VP8TrackEncoder.cpp -@@ -84,7 +84,7 @@ - // Creating a wrapper to the image - setting image data to NULL. Actual - // pointer will be set in encode. Setting align to 1, as it is meaningless - // (actual memory is not allocated). -- vpx_img_wrap(mVPXImageWrapper, IMG_FMT_I420, -+ vpx_img_wrap(mVPXImageWrapper, VPX_IMG_FMT_I420, - mFrameWidth, mFrameHeight, 1, nullptr); - - config.g_w = mFrameWidth; -@@ -239,9 +239,9 @@ - uint8_t *cb = mMuteFrame.Elements() + yPlaneSize; - uint8_t *cr = mMuteFrame.Elements() + yPlaneSize + uvPlaneSize; - -- mVPXImageWrapper->planes[PLANE_Y] = y; -- mVPXImageWrapper->planes[PLANE_U] = cb; -- mVPXImageWrapper->planes[PLANE_V] = cr; -+ mVPXImageWrapper->planes[VPX_PLANE_Y] = y; -+ mVPXImageWrapper->planes[VPX_PLANE_U] = cb; -+ mVPXImageWrapper->planes[VPX_PLANE_V] = cr; - mVPXImageWrapper->stride[VPX_PLANE_Y] = mFrameWidth; - mVPXImageWrapper->stride[VPX_PLANE_U] = halfWidth; - mVPXImageWrapper->stride[VPX_PLANE_V] = halfWidth; -@@ -297,9 +297,9 @@ - const PlanarYCbCrImage::Data *data = yuv->GetData(); - - if (isYUV420(data) && !data->mCbSkip) { // 420 planar -- mVPXImageWrapper->planes[PLANE_Y] = data->mYChannel; -- mVPXImageWrapper->planes[PLANE_U] = data->mCbChannel; -- mVPXImageWrapper->planes[PLANE_V] = data->mCrChannel; -+ mVPXImageWrapper->planes[VPX_PLANE_Y] = data->mYChannel; -+ mVPXImageWrapper->planes[VPX_PLANE_U] = data->mCbChannel; -+ mVPXImageWrapper->planes[VPX_PLANE_V] = data->mCrChannel; - mVPXImageWrapper->stride[VPX_PLANE_Y] = data->mYStride; - mVPXImageWrapper->stride[VPX_PLANE_U] = data->mCbCrStride; - mVPXImageWrapper->stride[VPX_PLANE_V] = data->mCbCrStride; -@@ -355,9 +355,9 @@ - return NS_ERROR_NOT_IMPLEMENTED; - } - -- mVPXImageWrapper->planes[PLANE_Y] = y; -- mVPXImageWrapper->planes[PLANE_U] = cb; -- mVPXImageWrapper->planes[PLANE_V] = cr; -+ mVPXImageWrapper->planes[VPX_PLANE_Y] = y; -+ mVPXImageWrapper->planes[VPX_PLANE_U] = cb; -+ mVPXImageWrapper->planes[VPX_PLANE_V] = cr; - mVPXImageWrapper->stride[VPX_PLANE_Y] = mFrameWidth; - mVPXImageWrapper->stride[VPX_PLANE_U] = halfWidth; - mVPXImageWrapper->stride[VPX_PLANE_V] = halfWidth; -- cgit v1.2.3