aboutsummaryrefslogtreecommitdiffstats
path: root/www/firefox
diff options
context:
space:
mode:
authorjbeich <jbeich@FreeBSD.org>2015-08-07 20:02:41 +0800
committerjbeich <jbeich@FreeBSD.org>2015-08-07 20:02:41 +0800
commit38d2f168ce694b50454c27e5fe7417235a269628 (patch)
tree36a5f5226e42147f53e3be8dd0a8d76899d98ece /www/firefox
parent21566c8a107d54e9cd5ffda780ce1b489f275a3a (diff)
downloadfreebsd-ports-gnome-38d2f168ce694b50454c27e5fe7417235a269628.tar.gz
freebsd-ports-gnome-38d2f168ce694b50454c27e5fe7417235a269628.tar.zst
freebsd-ports-gnome-38d2f168ce694b50454c27e5fe7417235a269628.zip
- Update Firefox to 40.0
- Update Firefox ESR and libxul to 38.2.0 Changes: https://www.mozilla.org/firefox/40.0/releasenotes/ Changes: https://www.mozilla.org/firefox/38.2.0/releasenotes/ MFH: 2015Q3
Diffstat (limited to 'www/firefox')
-rw-r--r--www/firefox/Makefile4
-rw-r--r--www/firefox/distinfo4
-rw-r--r--www/firefox/files/patch-bug10217618
-rw-r--r--www/firefox/files/patch-bug1073117383
-rw-r--r--www/firefox/files/patch-bug82698512
-rw-r--r--www/firefox/files/patch-bug84756845
-rw-r--r--www/firefox/files/patch-ijg-libjpeg5
-rw-r--r--www/firefox/files/patch-system-openh26423
-rw-r--r--www/firefox/files/patch-z-bug51742218
9 files changed, 61 insertions, 441 deletions
diff --git a/www/firefox/Makefile b/www/firefox/Makefile
index a5037b5d089d..2e4abc6d23e8 100644
--- a/www/firefox/Makefile
+++ b/www/firefox/Makefile
@@ -2,12 +2,12 @@
# $FreeBSD$
PORTNAME= firefox
-DISTVERSION= 39.0
+DISTVERSION= 40.0
DISTVERSIONSUFFIX=.source
PORTEPOCH= 1
CATEGORIES= www ipv6
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
- MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build6/source
+ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build4/source
MAINTAINER= gecko@FreeBSD.org
COMMENT= Web browser based on the browser portion of Mozilla
diff --git a/www/firefox/distinfo b/www/firefox/distinfo
index 23af59ab8247..439795e69cfb 100644
--- a/www/firefox/distinfo
+++ b/www/firefox/distinfo
@@ -1,2 +1,2 @@
-SHA256 (firefox-39.0.source.tar.bz2) = 7e25014deb926df9220c3ab40ac6816c13a04c4cf7bd89b08fc1743307df1096
-SIZE (firefox-39.0.source.tar.bz2) = 182881881
+SHA256 (firefox-40.0.source.tar.bz2) = 85890be28de9e4af047fd79ce2c4616488a2a1f5c9845a03f861b24cbeb169d1
+SIZE (firefox-40.0.source.tar.bz2) = 178284401
diff --git a/www/firefox/files/patch-bug1021761 b/www/firefox/files/patch-bug1021761
index 253327b733a7..3f84eca482a3 100644
--- a/www/firefox/files/patch-bug1021761
+++ b/www/firefox/files/patch-bug1021761
@@ -1070,11 +1070,11 @@ index 8b7a0dd..31212ce 100644
+CFLAGS += CONFIG['MOZ_OSS_CFLAGS']
CFLAGS += CONFIG['MOZ_ALSA_CFLAGS']
CFLAGS += CONFIG['MOZ_PULSEAUDIO_CFLAGS']
-diff --git media/webrtc/signaling/test/moz.build media/webrtc/signaling/test/moz.build
+diff --git media/webrtc/signaling/test/common.build media/webrtc/signaling/test/common.build
index 991f03f..3d99eb5 100644
---- media/webrtc/signaling/test/moz.build
-+++ media/webrtc/signaling/test/moz.build
-@@ -112,8 +112,8 @@ if CONFIG['JS_SHARED_LIBRARY']:
+--- media/webrtc/signaling/test/common.build
++++ media/webrtc/signaling/test/common.build
+@@ -102,8 +102,8 @@ USE_LIBS += ['mozglue']
OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS']
OS_LIBS += CONFIG['REALTIME_LIBS']
diff --git a/www/firefox/files/patch-bug1073117 b/www/firefox/files/patch-bug1073117
deleted file mode 100644
index 191aed376527..000000000000
--- a/www/firefox/files/patch-bug1073117
+++ /dev/null
@@ -1,383 +0,0 @@
-commit 27ead4e
-Author: Martin Stransky <stransky@redhat.com>
-Date: Thu Apr 30 01:31:00 2015 -0400
-
- Bug 1073117 - Add support for has_tab_gap notebook style. r=karlt
-
- --HG--
- extra : rebase_source : 1755623794079eb9fa8b4c7a17bd07f6f10a0dfe
----
- widget/gtk/gtk3drawing.c | 289 +++++++++++++++++++++-------------------
- widget/gtk/nsNativeThemeGTK.cpp | 2 +
- 2 files changed, 153 insertions(+), 138 deletions(-)
-
-diff --git widget/gtk/gtk3drawing.c widget/gtk/gtk3drawing.c
-index 7fef6fa..a691316 100644
---- widget/gtk/gtk3drawing.c
-+++ widget/gtk/gtk3drawing.c
-@@ -65,6 +65,7 @@ static GtkWidget* gScrolledWindowWidget;
- static style_prop_t style_prop_func;
- static gboolean have_arrow_scaling;
- static gboolean checkbox_check_state;
-+static gboolean notebook_has_tab_gap;
- static gboolean is_initialized;
-
- #define ARROW_UP 0
-@@ -725,6 +726,14 @@ moz_gtk_init()
- else
- checkbox_check_state = GTK_STATE_FLAG_ACTIVE;
-
-+ if(!gtk_check_version(3, 12, 0)) {
-+ ensure_tab_widget();
-+ gtk_widget_style_get(gTabWidget, "has-tab-gap", &notebook_has_tab_gap, NULL);
-+ }
-+ else {
-+ notebook_has_tab_gap = TRUE;
-+ }
-+
- /* Add style property to GtkEntry.
- * Adding the style property to the normal GtkEntry class means that it
- * will work without issues inside GtkComboBox and for Spinbuttons. */
-@@ -2012,6 +2021,9 @@ moz_gtk_get_tab_thickness(void)
- GtkStyleContext * style;
-
- ensure_tab_widget();
-+ if (!notebook_has_tab_gap)
-+ return 0; /* tabs do not overdraw the tabpanel border with "no gap" style */
-+
- style = gtk_widget_get_style_context(gTabWidget);
- gtk_style_context_add_class(style, GTK_STYLE_CLASS_NOTEBOOK);
- gtk_style_context_get_border(style, 0, &border);
-@@ -2057,7 +2069,7 @@ moz_gtk_tab_paint(cairo_t *cr, GdkRectangle* rect,
- ensure_tab_widget();
- gtk_widget_set_direction(gTabWidget, direction);
-
-- style = gtk_widget_get_style_context(gTabWidget);
-+ style = gtk_widget_get_style_context(gTabWidget);
- gtk_style_context_save(style);
- moz_gtk_tab_prepare_style_context(style, flags);
-
-@@ -2074,143 +2086,155 @@ moz_gtk_tab_paint(cairo_t *cr, GdkRectangle* rect,
-
- focusRect = backRect = tabRect;
-
-- if ((flags & MOZ_GTK_TAB_SELECTED) == 0) {
-- /* Only draw the tab */
-- gtk_render_extension(style, cr,
-- tabRect.x, tabRect.y, tabRect.width, tabRect.height,
-- (flags & MOZ_GTK_TAB_BOTTOM) ?
-- GTK_POS_TOP : GTK_POS_BOTTOM );
-- } else {
-- /* Draw the tab and the gap
-- * We want the gap to be positioned exactly on the tabpanel top
-- * border; since tabbox.css may set a negative margin so that the tab
-- * frame rect already overlaps the tabpanel frame rect, we need to take
-- * that into account when drawing. To that effect, nsNativeThemeGTK
-- * passes us this negative margin (bmargin in the graphic below) in the
-- * lowest bits of |flags|. We use it to set gap_voffset, the distance
-- * between the top of the gap and the bottom of the tab (resp. the
-- * bottom of the gap and the top of the tab when we draw a bottom tab),
-- * while ensuring that the gap always touches the border of the tab,
-- * i.e. 0 <= gap_voffset <= gap_height, to avoid surprinsing results
-- * with big negative or positive margins.
-- * Here is a graphical explanation in the case of top tabs:
-- * ___________________________
-- * / \
-- * | T A B |
-- * ----------|. . . . . . . . . . . . . . .|----- top of tabpanel
-- * : ^ bmargin : ^
-- * : | (-negative margin, : |
-- * bottom : v passed in flags) : | gap_height
-- * of -> :.............................: | (the size of the
-- * the tab . part of the gap . | tabpanel top border)
-- * . outside of the tab . v
-- * ----------------------------------------------
-- *
-- * To draw the gap, we use gtk_paint_box_gap(), see comment in
-- * moz_gtk_tabpanels_paint(). This box_gap is made 3 * gap_height tall,
-- * which should suffice to ensure that the only visible border is the
-- * pierced one. If the tab is in the middle, we make the box_gap begin
-- * a bit to the left of the tab and end a bit to the right, adjusting
-- * the gap position so it still is under the tab, because we want the
-- * rendering of a gap in the middle of a tabpanel. This is the role of
-- * the gints gap_{l,r}_offset. On the contrary, if the tab is the
-- * first, we align the start border of the box_gap with the start
-- * border of the tab (left if LTR, right if RTL), by setting the
-- * appropriate offset to 0.*/
-- gint gap_loffset, gap_roffset, gap_voffset, gap_height;
--
-- /* Get height needed by the gap */
-- gap_height = moz_gtk_get_tab_thickness();
--
-- /* Extract gap_voffset from the first bits of flags */
-- gap_voffset = flags & MOZ_GTK_TAB_MARGIN_MASK;
-- if (gap_voffset > gap_height)
-- gap_voffset = gap_height;
--
-- /* Set gap_{l,r}_offset to appropriate values */
-- gap_loffset = gap_roffset = 20; /* should be enough */
-- if (flags & MOZ_GTK_TAB_FIRST) {
-- if (direction == GTK_TEXT_DIR_RTL)
-- gap_roffset = initial_gap;
-- else
-- gap_loffset = initial_gap;
-- }
--
-- if (flags & MOZ_GTK_TAB_BOTTOM) {
-- /* Draw the tab on bottom */
-- focusRect.y += gap_voffset;
-- focusRect.height -= gap_voffset;
--
-+ if (notebook_has_tab_gap) {
-+ if ((flags & MOZ_GTK_TAB_SELECTED) == 0) {
-+ /* Only draw the tab */
- gtk_render_extension(style, cr,
-- tabRect.x, tabRect.y + gap_voffset, tabRect.width,
-- tabRect.height - gap_voffset, GTK_POS_TOP);
--
-- gtk_style_context_remove_region(style, GTK_STYLE_REGION_TAB);
--
-- backRect.y += (gap_voffset - gap_height);
-- backRect.height = gap_height;
--
-- /* Draw the gap; erase with background color before painting in
-- * case theme does not */
-- gtk_render_background(style, cr, backRect.x, backRect.y,
-- backRect.width, backRect.height);
-- cairo_save(cr);
-- cairo_rectangle(cr, backRect.x, backRect.y, backRect.width, backRect.height);
-- cairo_clip(cr);
--
-- gtk_render_frame_gap(style, cr,
-- tabRect.x - gap_loffset,
-- tabRect.y + gap_voffset - 3 * gap_height,
-- tabRect.width + gap_loffset + gap_roffset,
-- 3 * gap_height, GTK_POS_BOTTOM,
-- gap_loffset, gap_loffset + tabRect.width);
-- cairo_restore(cr);
-+ tabRect.x, tabRect.y, tabRect.width, tabRect.height,
-+ (flags & MOZ_GTK_TAB_BOTTOM) ?
-+ GTK_POS_TOP : GTK_POS_BOTTOM );
- } else {
-- /* Draw the tab on top */
-- focusRect.height -= gap_voffset;
-- gtk_render_extension(style, cr,
-- tabRect.x, tabRect.y, tabRect.width,
-- tabRect.height - gap_voffset, GTK_POS_BOTTOM);
--
-- gtk_style_context_remove_region(style, GTK_STYLE_REGION_TAB);
--
-- backRect.y += (tabRect.height - gap_voffset);
-- backRect.height = gap_height;
--
-- /* Draw the gap; erase with background color before painting in
-- * case theme does not */
-- gtk_render_background(style, cr, backRect.x, backRect.y,
-- backRect.width, backRect.height);
--
-- cairo_save(cr);
-- cairo_rectangle(cr, backRect.x, backRect.y, backRect.width, backRect.height);
-- cairo_clip(cr);
--
-- gtk_render_frame_gap(style, cr,
-- tabRect.x - gap_loffset,
-- tabRect.y + tabRect.height - gap_voffset,
-- tabRect.width + gap_loffset + gap_roffset,
-- 3 * gap_height, GTK_POS_TOP,
-- gap_loffset, gap_loffset + tabRect.width);
-- cairo_restore(cr);
-+ /* Draw the tab and the gap
-+ * We want the gap to be positioned exactly on the tabpanel top
-+ * border; since tabbox.css may set a negative margin so that the tab
-+ * frame rect already overlaps the tabpanel frame rect, we need to take
-+ * that into account when drawing. To that effect, nsNativeThemeGTK
-+ * passes us this negative margin (bmargin in the graphic below) in the
-+ * lowest bits of |flags|. We use it to set gap_voffset, the distance
-+ * between the top of the gap and the bottom of the tab (resp. the
-+ * bottom of the gap and the top of the tab when we draw a bottom tab),
-+ * while ensuring that the gap always touches the border of the tab,
-+ * i.e. 0 <= gap_voffset <= gap_height, to avoid surprinsing results
-+ * with big negative or positive margins.
-+ * Here is a graphical explanation in the case of top tabs:
-+ * ___________________________
-+ * / \
-+ * | T A B |
-+ * ----------|. . . . . . . . . . . . . . .|----- top of tabpanel
-+ * : ^ bmargin : ^
-+ * : | (-negative margin, : |
-+ * bottom : v passed in flags) : | gap_height
-+ * of -> :.............................: | (the size of the
-+ * the tab . part of the gap . | tabpanel top border)
-+ * . outside of the tab . v
-+ * ----------------------------------------------
-+ *
-+ * To draw the gap, we use gtk_paint_box_gap(), see comment in
-+ * moz_gtk_tabpanels_paint(). This box_gap is made 3 * gap_height tall,
-+ * which should suffice to ensure that the only visible border is the
-+ * pierced one. If the tab is in the middle, we make the box_gap begin
-+ * a bit to the left of the tab and end a bit to the right, adjusting
-+ * the gap position so it still is under the tab, because we want the
-+ * rendering of a gap in the middle of a tabpanel. This is the role of
-+ * the gints gap_{l,r}_offset. On the contrary, if the tab is the
-+ * first, we align the start border of the box_gap with the start
-+ * border of the tab (left if LTR, right if RTL), by setting the
-+ * appropriate offset to 0.*/
-+ gint gap_loffset, gap_roffset, gap_voffset, gap_height;
-+
-+ /* Get height needed by the gap */
-+ gap_height = moz_gtk_get_tab_thickness();
-+
-+ /* Extract gap_voffset from the first bits of flags */
-+ gap_voffset = flags & MOZ_GTK_TAB_MARGIN_MASK;
-+ if (gap_voffset > gap_height)
-+ gap_voffset = gap_height;
-+
-+ /* Set gap_{l,r}_offset to appropriate values */
-+ gap_loffset = gap_roffset = 20; /* should be enough */
-+ if (flags & MOZ_GTK_TAB_FIRST) {
-+ if (direction == GTK_TEXT_DIR_RTL)
-+ gap_roffset = initial_gap;
-+ else
-+ gap_loffset = initial_gap;
-+ }
-+
-+ if (flags & MOZ_GTK_TAB_BOTTOM) {
-+ /* Draw the tab on bottom */
-+ focusRect.y += gap_voffset;
-+ focusRect.height -= gap_voffset;
-+
-+ gtk_render_extension(style, cr,
-+ tabRect.x, tabRect.y + gap_voffset, tabRect.width,
-+ tabRect.height - gap_voffset, GTK_POS_TOP);
-+
-+ gtk_style_context_remove_region(style, GTK_STYLE_REGION_TAB);
-+
-+ backRect.y += (gap_voffset - gap_height);
-+ backRect.height = gap_height;
-+
-+ /* Draw the gap; erase with background color before painting in
-+ * case theme does not */
-+ gtk_render_background(style, cr, backRect.x, backRect.y,
-+ backRect.width, backRect.height);
-+ cairo_save(cr);
-+ cairo_rectangle(cr, backRect.x, backRect.y, backRect.width, backRect.height);
-+ cairo_clip(cr);
-+
-+ gtk_render_frame_gap(style, cr,
-+ tabRect.x - gap_loffset,
-+ tabRect.y + gap_voffset - 3 * gap_height,
-+ tabRect.width + gap_loffset + gap_roffset,
-+ 3 * gap_height, GTK_POS_BOTTOM,
-+ gap_loffset, gap_loffset + tabRect.width);
-+ cairo_restore(cr);
-+ } else {
-+ /* Draw the tab on top */
-+ focusRect.height -= gap_voffset;
-+ gtk_render_extension(style, cr,
-+ tabRect.x, tabRect.y, tabRect.width,
-+ tabRect.height - gap_voffset, GTK_POS_BOTTOM);
-+
-+ gtk_style_context_remove_region(style, GTK_STYLE_REGION_TAB);
-+
-+ backRect.y += (tabRect.height - gap_voffset);
-+ backRect.height = gap_height;
-+
-+ /* Draw the gap; erase with background color before painting in
-+ * case theme does not */
-+ gtk_render_background(style, cr, backRect.x, backRect.y,
-+ backRect.width, backRect.height);
-+
-+ cairo_save(cr);
-+ cairo_rectangle(cr, backRect.x, backRect.y, backRect.width, backRect.height);
-+ cairo_clip(cr);
-+
-+ gtk_render_frame_gap(style, cr,
-+ tabRect.x - gap_loffset,
-+ tabRect.y + tabRect.height - gap_voffset,
-+ tabRect.width + gap_loffset + gap_roffset,
-+ 3 * gap_height, GTK_POS_TOP,
-+ gap_loffset, gap_loffset + tabRect.width);
-+ cairo_restore(cr);
-+ }
- }
-+ } else {
-+ gtk_render_background(style, cr, tabRect.x, tabRect.y, tabRect.width, tabRect.height);
-+ gtk_render_frame(style, cr, tabRect.x, tabRect.y, tabRect.width, tabRect.height);
- }
-
-+ gtk_style_context_restore(style);
-+
- if (state->focused) {
- /* Paint the focus ring */
-- GtkBorder border;
-- gtk_style_context_get_border(style, GetStateFlagsFromGtkWidgetState(state), &border);
-+ GtkBorder padding;
-
-- focusRect.x += border.left;
-- focusRect.width -= (border.left + border.right);
-- focusRect.y += border.top;
-- focusRect.height -= (border.top + border.bottom);
-+ gtk_style_context_save(style);
-+ moz_gtk_tab_prepare_style_context(style, flags);
-+
-+ gtk_style_context_get_padding(style, GetStateFlagsFromGtkWidgetState(state), &padding);
-+
-+ focusRect.x += padding.left;
-+ focusRect.width -= (padding.left + padding.right);
-+ focusRect.y += padding.top;
-+ focusRect.height -= (padding.top + padding.bottom);
-
- gtk_render_focus(style, cr,
- focusRect.x, focusRect.y, focusRect.width, focusRect.height);
-+
-+ gtk_style_context_restore(style);
- }
-
-- gtk_style_context_restore(style);
-
- return MOZ_GTK_SUCCESS;
- }
-@@ -2831,11 +2855,7 @@ moz_gtk_get_tab_border(gint* left, gint* top, gint* right, gint* bottom,
- gtk_style_context_save(style);
- moz_gtk_tab_prepare_style_context(style, flags);
-
-- // TODO add_style_border() should be replaced
-- // with focus-line-width and focus-padding
-- // see Bug 877605
- *left = *top = *right = *bottom = 0;
-- moz_gtk_add_style_border(style, left, top, right, bottom);
- moz_gtk_add_style_padding(style, left, top, right, bottom);
-
- gtk_widget_style_get (gTabWidget, "tab-curvature", &tab_curvature, NULL);
-@@ -2846,16 +2866,9 @@ moz_gtk_get_tab_border(gint* left, gint* top, gint* right, gint* bottom,
- int initial_gap;
- gtk_widget_style_get (gTabWidget, "initial-gap", &initial_gap, NULL);
- if (direction == GTK_TEXT_DIR_RTL)
-- *right += initial_gap;
-+ *right += initial_gap;
- else
-- *left += initial_gap;
-- }
--
-- // Top tabs have no bottom border, bottom tabs have no top border
-- if (flags & MOZ_GTK_TAB_BOTTOM) {
-- *top = 0;
-- } else {
-- *bottom = 0;
-+ *left += initial_gap;
- }
-
- gtk_style_context_restore(style);
-diff --git widget/gtk/nsNativeThemeGTK.cpp widget/gtk/nsNativeThemeGTK.cpp
-index 9dedd76..779eceb 100644
---- widget/gtk/nsNativeThemeGTK.cpp
-+++ widget/gtk/nsNativeThemeGTK.cpp
-@@ -765,6 +765,8 @@ nsNativeThemeGTK::GetExtraSizeForWidget(nsIFrame* aFrame, uint8_t aWidgetType,
- return false;
-
- gint gap_height = moz_gtk_get_tab_thickness();
-+ if (!gap_height)
-+ return false;
-
- int32_t extra = gap_height - GetTabMarginPixels(aFrame);
- if (extra <= 0)
diff --git a/www/firefox/files/patch-bug826985 b/www/firefox/files/patch-bug826985
index b8cd0de206e4..e165441bc15a 100644
--- a/www/firefox/files/patch-bug826985
+++ b/www/firefox/files/patch-bug826985
@@ -51,13 +51,13 @@ index b483cd1..f1dd1f0 100644
# basic stuff for everything
'include_internal_video_render': 0,
'clang_use_chrome_plugins': 0,
-diff --git media/webrtc/signaling/test/moz.build media/webrtc/signaling/test/moz.build
+diff --git media/webrtc/signaling/test/common.build media/webrtc/signaling/test/common.build
index b483cd1..f1dd1f0 100644
---- media/webrtc/signaling/test/moz.build
-+++ media/webrtc/signaling/test/moz.build
-@@ -122,6 +122,7 @@ if CONFIG['JS_SHARED_LIBRARY']:
- 'js',
- ]
+--- media/webrtc/signaling/test/common.build
++++ media/webrtc/signaling/test/common.build
+@@ -99,6 +99,7 @@ if CONFIG['JS_SHARED_LIBRARY']:
+
+ USE_LIBS += ['mozglue']
+OS_LIBS += CONFIG['MOZ_LIBV4L2_LIBS']
OS_LIBS += CONFIG['MOZ_WEBRTC_X11_LIBS']
diff --git a/www/firefox/files/patch-bug847568 b/www/firefox/files/patch-bug847568
index 59bef6d9651a..0a8740073e93 100644
--- a/www/firefox/files/patch-bug847568
+++ b/www/firefox/files/patch-bug847568
@@ -87,16 +87,16 @@ diff --git dom/base/moz.build dom/base/moz.build
index a660ba4..6b2f602 100644
--- dom/base/moz.build
+++ dom/base/moz.build
-@@ -196,6 +196,9 @@ SOURCES += [
- 'nsObjectLoadingContent.cpp',
- ]
+@@ -375,6 +375,9 @@ if CONFIG['INTEL_ARCHITECTURE']:
+ SOURCES += ['nsTextFragmentSSE2.cpp']
+ SOURCES['nsTextFragmentSSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
+if CONFIG['MOZ_NATIVE_HARFBUZZ']:
+ SOURCES['nsContentUtils.cpp'].flags += CONFIG['MOZ_HARFBUZZ_CFLAGS']
+
EXTRA_COMPONENTS += [
- 'contentAreaDropListener.js',
- 'contentAreaDropListener.manifest',
+ 'ConsoleAPI.manifest',
+ 'ConsoleAPIStorage.js',
diff --git gfx/graphite2/moz-gr-update.sh gfx/graphite2/moz-gr-update.sh
index f3d76ea..a9e7fb6 100644
--- gfx/graphite2/moz-gr-update.sh
@@ -121,10 +121,10 @@ diff --git gfx/harfbuzz/README-mozilla gfx/harfbuzz/README-mozilla
index ca57d16..1ce21fe 100644
--- gfx/harfbuzz/README-mozilla
+++ gfx/harfbuzz/README-mozilla
-@@ -21,3 +21,8 @@ In addition, the src/Makefile.in file here is NOT from upstream, nor is it
+@@ -18,3 +18,8 @@ the mozilla tree.
+ In addition, the src/Makefile.in file here is NOT from upstream, nor is it
generated from src/Makefile.am (the original harfbuzz version); it is a mozilla-
- specific makefile that is maintained by hand. It should only need updating when
- new source files or exported headers are added in harfbuzz.
+ specific makefile that is maintained by hand.
+
+The in-tree copy may be omitted during build by --with-system-harfbuzz.
+Make sure to keep pkg-config version check within configure.in in sync
@@ -160,9 +160,9 @@ diff --git gfx/skia/generate_mozbuild.py gfx/skia/generate_mozbuild.py
index 28fa6b5..240dced 100755
--- gfx/skia/generate_mozbuild.py
+++ gfx/skia/generate_mozbuild.py
-@@ -140,6 +140,9 @@ if CONFIG['GNU_CXX']:
- if not CONFIG['CLANG_CXX']:
- CXXFLAGS += ['-Wno-logical-op']
+@@ -142,6 +142,9 @@ if CONFIG['GNU_CXX']:
+ if CONFIG['CPU_ARCH'] == 'arm':
+ SOURCES['trunk/src/opts/SkBlitRow_opts_arm.cpp'].flags += ['-fomit-frame-pointer']
+if CONFIG['MOZ_NATIVE_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
@@ -174,9 +174,9 @@ diff --git gfx/skia/moz.build gfx/skia/moz.build
index 1d0c2f9..adb8941 100644
--- gfx/skia/moz.build
+++ gfx/skia/moz.build
-@@ -968,6 +968,9 @@ if CONFIG['GNU_CXX']:
- if not CONFIG['CLANG_CXX']:
- CXXFLAGS += ['-Wno-logical-op']
+@@ -970,6 +970,9 @@ if CONFIG['GNU_CXX']:
+ if CONFIG['CPU_ARCH'] == 'arm':
+ SOURCES['trunk/src/opts/SkBlitRow_opts_arm.cpp'].flags += ['-fomit-frame-pointer']
+if CONFIG['MOZ_NATIVE_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
@@ -205,24 +205,29 @@ diff --git intl/unicharutil/util/moz.build intl/unicharutil/util/moz.build
index d736943..41a931f 100644
--- intl/unicharutil/util/moz.build
+++ intl/unicharutil/util/moz.build
-@@ -37,3 +37,6 @@ if CONFIG['_MSC_VER']:
-
+@@ -42,6 +42,9 @@ if CONFIG['_MSC_VER']:
if CONFIG['ENABLE_INTL_API']:
CXXFLAGS += CONFIG['MOZ_ICU_CFLAGS']
-+
+
+if CONFIG['MOZ_NATIVE_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
+ if CONFIG['GNU_CXX']:
+ FAIL_ON_WARNINGS = True
+
diff --git netwerk/dns/moz.build netwerk/dns/moz.build
index 0b0717a..2e665c9 100644
--- netwerk/dns/moz.build
+++ netwerk/dns/moz.build
-@@ -64,3 +64,6 @@ GENERATED_FILES = [
- LOCAL_INCLUDES += [
+@@ -66,5 +66,8 @@ LOCAL_INCLUDES += [
'/netwerk/base',
]
-+
+
+if CONFIG['MOZ_NATIVE_HARFBUZZ']:
+ CXXFLAGS += CONFIG['MOZ_HARFBUZZ_CFLAGS']
++
+ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk' and CONFIG['ANDROID_VERSION'] > '19':
+ CXXFLAGS += ['-I%s/bionic/libc/dns/include' % CONFIG['ANDROID_SOURCE']]
diff --git toolkit/library/moz.build toolkit/library/moz.build
index 67f0db9..d42137a 100644
--- toolkit/library/moz.build
diff --git a/www/firefox/files/patch-ijg-libjpeg b/www/firefox/files/patch-ijg-libjpeg
index f3378046dd32..074297aaa618 100644
--- a/www/firefox/files/patch-ijg-libjpeg
+++ b/www/firefox/files/patch-ijg-libjpeg
@@ -69,7 +69,7 @@ index 8fa8200..1d2a259 100644
break;
case JCS_CMYK:
case JCS_YCCK:
-@@ -433,6 +452,15 @@ nsJPEGDecoder::WriteInternal(const char*
+@@ -448,6 +467,16 @@ nsJPEGDecoder::WriteInternal(const char*
return; // I/O suspension
}
@@ -82,9 +82,10 @@ index 8fa8200..1d2a259 100644
+ mInfo.cconvert->color_convert = ycc_rgb_convert_argb;
+ }
+#endif
-
++
// If this is a progressive JPEG ...
mState = mInfo.buffered_image ?
+ JPEG_DECOMPRESS_PROGRESSIVE : JPEG_DECOMPRESS_SEQUENTIAL;
@@ -605,7 +633,11 @@ nsJPEGDecoder::OutputScanlines(bool* sus
uint32_t* imageRow = ((uint32_t*)mImageData) +
(mInfo.output_scanline * mInfo.output_width);
diff --git a/www/firefox/files/patch-system-openh264 b/www/firefox/files/patch-system-openh264
index 9bf447c54abe..f2f8a9e796bf 100644
--- a/www/firefox/files/patch-system-openh264
+++ b/www/firefox/files/patch-system-openh264
@@ -77,7 +77,7 @@ index 9593492..470384b 100644
installToDirPath.initWithPath(path);
log.info("install to directory path: " + installToDirPath.path);
let gmpInstaller = new GMPExtractor(zipPath, installToDirPath.path);
-@@ -885,10 +883,12 @@
+@@ -895,10 +893,12 @@ GMPDownloader.prototype = {
// Success, set the prefs
let now = Math.round(Date.now() / 1000);
GMPPrefs.set(GMPPrefs.KEY_PLUGIN_LAST_UPDATE, now, gmpAddon.id);
@@ -89,9 +89,9 @@ index 9593492..470384b 100644
gmpAddon.id);
+ GMPPrefs.set(GMPPrefs.KEY_PLUGIN_PATH,
+ installToDirPath.path, gmpAddon.id);
- this._deferred.resolve(extractedPaths);
- }, err => {
- this._deferred.reject(err);
+ // Reset the trial create pref, so that Gecko knows to do a test
+ // run before reporting that the GMP works to content.
+ GMPPrefs.reset(GMPPrefs.KEY_PLUGIN_TRIAL_CREATE, gmpAddon.version,
diff --git toolkit/modules/GMPUtils.jsm toolkit/modules/GMPUtils.jsm
index 1f3a0b1..93517be 100644
--- toolkit/modules/GMPUtils.jsm
@@ -124,11 +124,8 @@ index 1f3a0b1..93517be 100644
if (this._plugin.isEME) {
Preferences.observe(GMPPrefs.KEY_EME_ENABLED,
this.onPrefEMEGlobalEnabledChanged, this);
-@@ -134,17 +133,14 @@
- optionsType: AddonManager.OPTIONS_TYPE_INLINE,
- get optionsURL() { return this._plugin.optionsURL; },
+@@ -135,11 +134,8 @@ GMPWrapper.prototype = {
-+
set gmpPath(aPath) { this._gmpPath = aPath; },
get gmpPath() {
- if (!this._gmpPath && this.isInstalled) {
@@ -141,11 +138,7 @@ index 1f3a0b1..93517be 100644
}
return this._gmpPath;
},
--
- get missingKey() {
- return this._plugin.missingKey;
- },
-@@ -141,8 +137,13 @@
+@@ -158,8 +154,13 @@ GMPWrapper.prototype = {
get description() { return this._plugin.description; },
get fullDescription() { return this._plugin.fullDescription; },
@@ -203,9 +196,9 @@ index 1f3a0b1..93517be 100644
- this._log.info("onPrefVersionChanged() - unregistering gmp directory " +
+ this._log.info("onPrefPathChanged() - unregistering gmp directory " +
this._gmpPath);
- gmpService.removePluginDirectory(this._gmpPath);
+ gmpService.removeAndDeletePluginDirectory(this._gmpPath, true /* can defer */);
}
-@@ -374,15 +368,10 @@
+@@ -415,15 +409,10 @@ GMPWrapper.prototype = {
AddonManagerPrivate.callInstallListeners("onExternalInstall", null, this,
null, false);
AddonManagerPrivate.callAddonListeners("onInstalling", this, false);
diff --git a/www/firefox/files/patch-z-bug517422 b/www/firefox/files/patch-z-bug517422
index 0137e4858cf8..025f1cc9f75b 100644
--- a/www/firefox/files/patch-z-bug517422
+++ b/www/firefox/files/patch-z-bug517422
@@ -399,12 +399,16 @@ diff --git media/libtheora/moz.build media/libtheora/moz.build
index 14265b1..3069e99 100644
--- media/libtheora/moz.build
+++ media/libtheora/moz.build
-@@ -93,3 +93,5 @@ if CONFIG['GNU_AS']:
- if CONFIG['OS_TARGET'] == 'Android':
- DEFINES['__linux__'] = True
+@@ -21,6 +21,9 @@ if CONFIG['GKMEDIAS_SHARED_LIBRARY']:
+ # The encoder is currently not included.
+ DEFINES['THEORA_DISABLE_ENCODE'] = True
+if CONFIG['MOZ_NATIVE_OGG']:
+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
++
+ # Suppress warnings in third-party code.
+ if CONFIG['GNU_CC']:
+ CFLAGS += ['-Wno-type-limits']
diff --git media/libtremor/README_MOZILLA media/libtremor/README_MOZILLA
index ee67b53..3f34a09 100644
--- media/libtremor/README_MOZILLA
@@ -448,11 +452,11 @@ index 919b99e..cc776f7 100644
+
+if CONFIG['MOZ_NATIVE_OGG']:
+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
-diff --git media/webrtc/signaling/test/moz.build media/webrtc/signaling/test/moz.build
+diff --git media/webrtc/signaling/test/common.build media/webrtc/signaling/test/common.build
index bbc971c..6ed7e41 100644
---- media/webrtc/signaling/test/moz.build
-+++ media/webrtc/signaling/test/moz.build
-@@ -127,6 +127,9 @@ if CONFIG['MOZ_ALSA']:
+--- media/webrtc/signaling/test/common.build
++++ media/webrtc/signaling/test/common.build
+@@ -108,6 +109,9 @@ if CONFIG['MOZ_OSS']:
if CONFIG['MOZ_NATIVE_JPEG']:
OS_LIBS += CONFIG['MOZ_JPEG_LIBS']