summaryrefslogtreecommitdiff
path: root/www/firefox
diff options
context:
space:
mode:
Diffstat (limited to 'www/firefox')
-rw-r--r--www/firefox/Makefile8
-rw-r--r--www/firefox/distinfo4
-rw-r--r--www/firefox/files/patch-bug101388210
-rw-r--r--www/firefox/files/patch-bug1073117542
-rw-r--r--www/firefox/files/patch-bug1138845134
-rw-r--r--www/firefox/files/patch-bug114341127
-rw-r--r--www/firefox/files/patch-bug114368646
-rw-r--r--www/firefox/files/patch-bug114464333
-rw-r--r--www/firefox/files/patch-bug77971314
-rw-r--r--www/firefox/files/patch-bug8269858
-rw-r--r--www/firefox/files/patch-system-openh26425
11 files changed, 57 insertions, 794 deletions
diff --git a/www/firefox/Makefile b/www/firefox/Makefile
index 1dfc52139fc6..3ff38b79ecec 100644
--- a/www/firefox/Makefile
+++ b/www/firefox/Makefile
@@ -2,18 +2,18 @@
# $FreeBSD$
PORTNAME= firefox
-DISTVERSION= 38.0.6
+DISTVERSION= 39.0
DISTVERSIONSUFFIX=.source
PORTEPOCH= 1
CATEGORIES= www ipv6
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
- MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source
+ MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build6/source
MAINTAINER= gecko@FreeBSD.org
COMMENT= Web browser based on the browser portion of Mozilla
BUILD_DEPENDS= nspr>=4.10.8:${PORTSDIR}/devel/nspr \
- nss>=3.18.1:${PORTSDIR}/security/nss \
+ nss>=3.19.2:${PORTSDIR}/security/nss \
libevent2>=2.0.21_2:${PORTSDIR}/devel/libevent2 \
cairo>=1.12.16_1,2:${PORTSDIR}/graphics/cairo \
soundtouch>=1.8.0:${PORTSDIR}/audio/soundtouch \
@@ -32,7 +32,7 @@ BUILD_DEPENDS= nspr>=4.10.8:${PORTSDIR}/devel/nspr \
LIB_DEPENDS= libv4l2.so:${PORTSDIR}/multimedia/libv4l
USE_GECKO= gecko
-CONFLICTS= firefox-esr-31.* firefox-esr-24.* firefox-esr-17.*
+CONFLICTS_INSTALL= firefox-esr-31.* firefox-esr-24.* firefox-esr-17.*
MOZ_PKGCONFIG_FILES= # empty
USE_MOZILLA= -opus
MOZILLA_NAME= Firefox
diff --git a/www/firefox/distinfo b/www/firefox/distinfo
index 8288af78302b..23af59ab8247 100644
--- a/www/firefox/distinfo
+++ b/www/firefox/distinfo
@@ -1,2 +1,2 @@
-SHA256 (firefox-38.0.6.source.tar.bz2) = 379a83c45c606aa046bf543a95f806024089e8794ee3001efd1ba2f7067e2c4d
-SIZE (firefox-38.0.6.source.tar.bz2) = 180322743
+SHA256 (firefox-39.0.source.tar.bz2) = 7e25014deb926df9220c3ab40ac6816c13a04c4cf7bd89b08fc1743307df1096
+SIZE (firefox-39.0.source.tar.bz2) = 182881881
diff --git a/www/firefox/files/patch-bug1013882 b/www/firefox/files/patch-bug1013882
index b3177989a39e..53b7b0b52d56 100644
--- a/www/firefox/files/patch-bug1013882
+++ b/www/firefox/files/patch-bug1013882
@@ -17,14 +17,14 @@ diff --git b2g/installer/package-manifest.in b2g/installer/package-manifest.in
index 17d433c..0416187 100644
--- b2g/installer/package-manifest.in
+++ b2g/installer/package-manifest.in
-@@ -576,7 +576,7 @@
- @BINPATH@/components/MozKeyboard.js
- @BINPATH@/components/InputMethod.manifest
+@@ -660,7 +660,7 @@
+ @RESPATH@/components/EngineeringModeAPI.js
+ @RESPATH@/components/EngineeringModeService.js
-#ifdef MOZ_DEBUG
+#if defined(ENABLE_TESTS) && defined(MOZ_DEBUG)
- @BINPATH@/components/TestInterfaceJS.js
- @BINPATH@/components/TestInterfaceJS.manifest
+ @RESPATH@/components/TestInterfaceJS.js
+ @RESPATH@/components/TestInterfaceJS.manifest
#endif
diff --git browser/installer/package-manifest.in browser/installer/package-manifest.in
index b509fd4..195345c 100644
diff --git a/www/firefox/files/patch-bug1073117 b/www/firefox/files/patch-bug1073117
index 7708023aee70..191aed376527 100644
--- a/www/firefox/files/patch-bug1073117
+++ b/www/firefox/files/patch-bug1073117
@@ -1,27 +1,18 @@
-diff --git widget/gtk/gtk2drawing.c widget/gtk/gtk2drawing.c
-index 34f22af..1b950ab 100644
---- widget/gtk/gtk2drawing.c
-+++ widget/gtk/gtk2drawing.c
-@@ -831,7 +831,7 @@ moz_gtk_get_focus_outline_size(gint* focus_h_width, gint* focus_v_width)
- return MOZ_GTK_SUCCESS;
- }
-
--gint
-+static gint
- moz_gtk_widget_get_focus(GtkWidget* widget, gboolean* interior_focus,
- gint* focus_width, gint* focus_pad)
- {
-@@ -928,7 +928,7 @@ moz_gtk_splitter_get_metrics(gint orientation, gint* size)
- return MOZ_GTK_SUCCESS;
- }
-
--gint
-+static gint
- moz_gtk_button_get_inner_border(GtkWidget* widget, GtkBorder* inner_border)
- {
- static const GtkBorder default_inner_border = { 1, 1, 1, 1 };
+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 08a58d6..7fef6fa 100644
+index 7fef6fa..a691316 100644
--- widget/gtk/gtk3drawing.c
+++ widget/gtk/gtk3drawing.c
@@ -65,6 +65,7 @@ static GtkWidget* gScrolledWindowWidget;
@@ -47,263 +38,7 @@ index 08a58d6..7fef6fa 100644
/* 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. */
-@@ -762,37 +771,17 @@ moz_gtk_radio_get_metrics(gint* indicator_size, gint* indicator_spacing)
- gint
- moz_gtk_get_focus_outline_size(gint* focus_h_width, gint* focus_v_width)
- {
-- gboolean interior_focus;
-- gint focus_width = 0;
-+ GtkBorder border;
-+ GtkBorder padding;
-+ GtkStyleContext *style;
-
- ensure_entry_widget();
-- gtk_widget_style_get(gEntryWidget,
-- "interior-focus", &interior_focus,
-- "focus-line-width", &focus_width,
-- NULL);
-- if (interior_focus) {
-- GtkBorder border;
-- GtkStyleContext *style = gtk_widget_get_style_context(gEntryWidget);
-- gtk_style_context_get_border(style, 0, &border);
-- *focus_h_width = border.left + focus_width;
-- *focus_v_width = border.top + focus_width;
-- } else {
-- *focus_h_width = focus_width;
-- *focus_v_width = focus_width;
-- }
-- return MOZ_GTK_SUCCESS;
--}
--
--gint
--moz_gtk_widget_get_focus(GtkWidget* widget, gboolean* interior_focus,
-- gint* focus_width, gint* focus_pad)
--{
-- gtk_widget_style_get (widget,
-- "interior-focus", interior_focus,
-- "focus-line-width", focus_width,
-- "focus-padding", focus_pad,
-- NULL);
-+ style = gtk_widget_get_style_context(gEntryWidget);
-
-+ gtk_style_context_get_border(style, 0, &border);
-+ gtk_style_context_get_padding(style, 0, &padding);
-+ *focus_h_width = border.left + padding.left;
-+ *focus_v_width = border.top + padding.top;
- return MOZ_GTK_SUCCESS;
- }
-
-@@ -880,24 +860,6 @@ moz_gtk_splitter_get_metrics(gint orientation, gint* size)
- return MOZ_GTK_SUCCESS;
- }
-
--gint
--moz_gtk_button_get_inner_border(GtkWidget* widget, GtkBorder* inner_border)
--{
-- static const GtkBorder default_inner_border = { 1, 1, 1, 1 };
-- GtkBorder *tmp_border;
--
-- gtk_widget_style_get (widget, "inner-border", &tmp_border, NULL);
--
-- if (tmp_border) {
-- *inner_border = *tmp_border;
-- gtk_border_free(tmp_border);
-- }
-- else
-- *inner_border = default_inner_border;
--
-- return MOZ_GTK_SUCCESS;
--}
--
- static gint
- moz_gtk_button_paint(cairo_t *cr, GdkRectangle* rect,
- GtkWidgetState* state,
-@@ -908,19 +870,8 @@ moz_gtk_button_paint(cairo_t *cr, GdkRectangle* rect,
- GtkStyleContext* style = gtk_widget_get_style_context(widget);
- gint x = rect->x, y=rect->y, width=rect->width, height=rect->height;
-
-- gboolean interior_focus;
-- gint focus_width, focus_pad;
--
-- moz_gtk_widget_get_focus(widget, &interior_focus, &focus_width, &focus_pad);
- gtk_widget_set_direction(widget, direction);
--
-- if (!interior_focus && state->focused) {
-- x += focus_width + focus_pad;
-- y += focus_width + focus_pad;
-- width -= 2 * (focus_width + focus_pad);
-- height -= 2 * (focus_width + focus_pad);
-- }
--
-+
- gtk_style_context_save(style);
- gtk_style_context_set_state(style, state_flags);
-
-@@ -953,20 +904,12 @@ moz_gtk_button_paint(cairo_t *cr, GdkRectangle* rect,
- }
-
- if (state->focused) {
-- if (interior_focus) {
-- GtkBorder border;
-- gtk_style_context_get_border(style, state_flags, &border);
-- x += border.left + focus_pad;
-- y += border.top + focus_pad;
-- width -= 2 * (border.left + focus_pad);
-- height -= 2 * (border.top + focus_pad);
-- } else {
-- x -= focus_width + focus_pad;
-- y -= focus_width + focus_pad;
-- width += 2 * (focus_width + focus_pad);
-- height += 2 * (focus_width + focus_pad);
-- }
--
-+ GtkBorder border;
-+ gtk_style_context_get_border(style, state_flags, &border);
-+ x += border.left;
-+ y += border.top;
-+ width -= (border.left + border.right);
-+ height -= (border.top + border.bottom);
- gtk_render_focus(style, cr, x, y, width, height);
- }
- gtk_style_context_restore(style);
-@@ -1056,33 +999,23 @@ calculate_button_inner_rect(GtkWidget* button, GdkRectangle* rect,
- GtkTextDirection direction,
- gboolean ignore_focus)
- {
-- GtkBorder inner_border;
-- gboolean interior_focus;
-- gint focus_width, focus_pad;
- GtkStyleContext* style;
- GtkBorder border;
-+ GtkBorder padding = {0, 0, 0, 0};
-
- style = gtk_widget_get_style_context(button);
-
- /* This mirrors gtkbutton's child positioning */
-- moz_gtk_button_get_inner_border(button, &inner_border);
-- moz_gtk_widget_get_focus(button, &interior_focus,
-- &focus_width, &focus_pad);
--
-- if (ignore_focus)
-- focus_width = focus_pad = 0;
--
- gtk_style_context_get_border(style, 0, &border);
-+ if (!ignore_focus)
-+ gtk_style_context_get_padding(style, 0, &padding);
-
-- inner_rect->x = rect->x + border.left + focus_width + focus_pad;
-- inner_rect->x += direction == GTK_TEXT_DIR_LTR ?
-- inner_border.left : inner_border.right;
-- inner_rect->y = rect->y + inner_border.top + border.top +
-- focus_width + focus_pad;
-- inner_rect->width = MAX(1, rect->width - inner_border.left -
-- inner_border.right - (border.left + focus_pad + focus_width) * 2);
-- inner_rect->height = MAX(1, rect->height - inner_border.top -
-- inner_border.bottom - (border.top + focus_pad + focus_width) * 2);
-+ inner_rect->x = rect->x + border.left + padding.left;
-+ inner_rect->y = rect->y + padding.top + border.top;
-+ inner_rect->width = MAX(1, rect->width - padding.left -
-+ padding.right - border.left * 2);
-+ inner_rect->height = MAX(1, rect->height - padding.top -
-+ padding.bottom - border.top * 2);
-
- return MOZ_GTK_SUCCESS;
- }
-@@ -1457,19 +1390,12 @@ moz_gtk_entry_paint(cairo_t *cr, GdkRectangle* rect,
- {
- gint x = rect->x, y = rect->y, width = rect->width, height = rect->height;
- GtkStyleContext* style;
-- gboolean interior_focus;
-- gint focus_width;
- int draw_focus_outline_only = state->depressed; // NS_THEME_FOCUS_OUTLINE
-
- gtk_widget_set_direction(widget, direction);
-
- style = gtk_widget_get_style_context(widget);
-
-- gtk_widget_style_get(widget,
-- "interior-focus", &interior_focus,
-- "focus-line-width", &focus_width,
-- NULL);
--
- if (draw_focus_outline_only) {
- // Inflate the given 'rect' with the focus outline size.
- gint h, v;
-@@ -1501,14 +1427,6 @@ moz_gtk_entry_paint(cairo_t *cr, GdkRectangle* rect,
- /* This will get us the lit borders that focused textboxes enjoy on
- * some themes. */
- gtk_style_context_set_state(style, GTK_STATE_FLAG_FOCUSED);
-- if (!interior_focus) {
-- /* Indent the border a little bit if we have exterior focus
-- (this is what GTK does to draw native entries) */
-- x += focus_width;
-- y += focus_width;
-- width -= 2 * focus_width;
-- height -= 2 * focus_width;
-- }
- }
-
- if (state->disabled) {
-@@ -1520,11 +1438,6 @@ moz_gtk_entry_paint(cairo_t *cr, GdkRectangle* rect,
- }
- gtk_render_frame(style, cr, x, y, width, height);
-
-- if (state->focused && !state->disabled) {
-- if (!interior_focus) {
-- gtk_render_focus(style, cr, rect->x, rect->y, rect->width, rect->height);
-- }
-- }
- gtk_style_context_restore(style);
-
- return MOZ_GTK_SUCCESS;
-@@ -1829,8 +1742,6 @@ moz_gtk_container_paint(cairo_t *cr, GdkRectangle* rect,
- GtkStateFlags state_flags = GetStateFlagsFromGtkWidgetState(state);
- GtkStyleContext* style;
- GtkWidget *widget;
-- gboolean interior_focus;
-- gint focus_width, focus_pad;
-
- if (isradio) {
- ensure_radiobutton_widget();
-@@ -1843,7 +1754,6 @@ moz_gtk_container_paint(cairo_t *cr, GdkRectangle* rect,
-
- style = gtk_widget_get_style_context(widget);
- gtk_style_context_save(style);
-- moz_gtk_widget_get_focus(widget, &interior_focus, &focus_width, &focus_pad);
- gtk_style_context_set_state(style, state_flags);
-
- /* this is for drawing a prelight box */
-@@ -1852,10 +1762,6 @@ moz_gtk_container_paint(cairo_t *cr, GdkRectangle* rect,
- rect->x, rect->y, rect->width, rect->height);
- }
-
-- if (state->focused && !interior_focus) {
-- gtk_render_focus(style, cr,
-- rect->x, rect->y, rect->width, rect->height);
-- }
- gtk_style_context_restore(style);
-
- return MOZ_GTK_SUCCESS;
-@@ -1868,7 +1774,6 @@ moz_gtk_toggle_label_paint(cairo_t *cr, GdkRectangle* rect,
- {
- GtkStyleContext *style;
- GtkWidget *widget;
-- gboolean interior_focus;
-
- if (!state->focused)
- return MOZ_GTK_SUCCESS;
-@@ -1889,10 +1794,6 @@ moz_gtk_toggle_label_paint(cairo_t *cr, GdkRectangle* rect,
- }
- gtk_widget_set_direction(widget, direction);
-
-- gtk_widget_style_get(widget, "interior-focus", &interior_focus, NULL);
-- if (!interior_focus)
-- return MOZ_GTK_SUCCESS;
--
- gtk_style_context_set_state(style, GetStateFlagsFromGtkWidgetState(state));
- gtk_render_focus(style, cr,
- rect->x, rect->y, rect->width, rect->height);
-@@ -2105,6 +2015,9 @@ moz_gtk_get_tab_thickness(void)
+@@ -2012,6 +2021,9 @@ moz_gtk_get_tab_thickness(void)
GtkStyleContext * style;
ensure_tab_widget();
@@ -313,7 +48,7 @@ index 08a58d6..7fef6fa 100644
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);
-@@ -2150,7 +2063,7 @@ moz_gtk_tab_paint(cairo_t *cr, GdkRectangle* rect,
+@@ -2057,7 +2069,7 @@ moz_gtk_tab_paint(cairo_t *cr, GdkRectangle* rect,
ensure_tab_widget();
gtk_widget_set_direction(gTabWidget, direction);
@@ -322,7 +57,7 @@ index 08a58d6..7fef6fa 100644
gtk_style_context_save(style);
moz_gtk_tab_prepare_style_context(style, flags);
-@@ -2167,143 +2080,155 @@ moz_gtk_tab_paint(cairo_t *cr, GdkRectangle* rect,
+@@ -2074,143 +2086,155 @@ moz_gtk_tab_paint(cairo_t *cr, GdkRectangle* rect,
focusRect = backRect = tabRect;
@@ -577,14 +312,14 @@ index 08a58d6..7fef6fa 100644
- GtkBorder border;
- gtk_style_context_get_border(style, GetStateFlagsFromGtkWidgetState(state), &border);
+ GtkBorder padding;
-+
-+ gtk_style_context_save(style);
-+ moz_gtk_tab_prepare_style_context(style, flags);
- 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;
@@ -602,195 +337,7 @@ index 08a58d6..7fef6fa 100644
return MOZ_GTK_SUCCESS;
}
-@@ -2684,26 +2609,18 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top,
- switch (widget) {
- case MOZ_GTK_BUTTON:
- {
-- GtkBorder inner_border;
-- gboolean interior_focus;
-- gint focus_width, focus_pad;
--
- ensure_button_widget();
-+ style = gtk_widget_get_style_context(gButtonWidget);
-+
- *left = *top = *right = *bottom = gtk_container_get_border_width(GTK_CONTAINER(gButtonWidget));
-
- /* Don't add this padding in HTML, otherwise the buttons will
- become too big and stuff the layout. */
- if (!inhtml) {
-- moz_gtk_widget_get_focus(gButtonWidget, &interior_focus, &focus_width, &focus_pad);
-- moz_gtk_button_get_inner_border(gButtonWidget, &inner_border);
-- *left += focus_width + focus_pad + inner_border.left;
-- *right += focus_width + focus_pad + inner_border.right;
-- *top += focus_width + focus_pad + inner_border.top;
-- *bottom += focus_width + focus_pad + inner_border.bottom;
-+ moz_gtk_add_style_padding(style, left, top, right, bottom);
- }
-
-- moz_gtk_add_style_border(gtk_widget_get_style_context(gButtonWidget),
-- left, top, right, bottom);
-+ moz_gtk_add_style_border(style, left, top, right, bottom);
- return MOZ_GTK_SUCCESS;
- }
- case MOZ_GTK_ENTRY:
-@@ -2717,7 +2610,13 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top,
- ensure_entry_widget();
- style = gtk_widget_get_style_context(gEntryWidget);
- moz_gtk_add_style_border(style, left, top, right, bottom);
-- moz_gtk_add_style_padding(style, left, top, right, bottom);
-+
-+ /* Use the document padding in HTML
-+ and GTK style padding in XUL. */
-+ if (!inhtml) {
-+ moz_gtk_add_style_padding(style, left, top, right, bottom);
-+ }
-+
- return MOZ_GTK_SUCCESS;
- }
- case MOZ_GTK_TREEVIEW:
-@@ -2737,23 +2636,15 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top,
- * assigned.
- * That is why the following code is the same as for MOZ_GTK_BUTTON.
- * */
--
-- GtkBorder inner_border;
-- gboolean interior_focus;
-- gint focus_width, focus_pad;
-+ GtkStyleContext *style;
-
- ensure_tree_header_cell_widget();
- *left = *top = *right = *bottom = gtk_container_get_border_width(GTK_CONTAINER(gTreeHeaderCellWidget));
-
-- moz_gtk_widget_get_focus(gTreeHeaderCellWidget, &interior_focus, &focus_width, &focus_pad);
-- moz_gtk_button_get_inner_border(gTreeHeaderCellWidget, &inner_border);
-- *left += focus_width + focus_pad + inner_border.left;
-- *right += focus_width + focus_pad + inner_border.right;
-- *top += focus_width + focus_pad + inner_border.top;
-- *bottom += focus_width + focus_pad + inner_border.bottom;
--
-- moz_gtk_add_style_border(gtk_widget_get_style_context(gTreeHeaderCellWidget),
-- left, top, right, bottom);
-+ style = gtk_widget_get_style_context(gTreeHeaderCellWidget);
-+
-+ moz_gtk_add_style_border(style, left, top, right, bottom);
-+ moz_gtk_add_style_padding(style, left, top, right, bottom);
- return MOZ_GTK_SUCCESS;
- }
- case MOZ_GTK_TREE_HEADER_SORTARROW:
-@@ -2773,29 +2664,23 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top,
- /* We need to account for the arrow on the dropdown, so text
- * doesn't come too close to the arrow, or in some cases spill
- * into the arrow. */
-- gboolean ignored_interior_focus, wide_separators;
-- gint focus_width, focus_pad, separator_width;
-+ gboolean wide_separators;
-+ gint separator_width;
- GtkRequisition arrow_req;
- GtkBorder border;
-
- ensure_combo_box_widgets();
-
-- *left = gtk_container_get_border_width(GTK_CONTAINER(gComboBoxButtonWidget));
-+ *left = *top = *right = *bottom =
-+ gtk_container_get_border_width(GTK_CONTAINER(gComboBoxButtonWidget));
-+
-+ style = gtk_widget_get_style_context(gComboBoxButtonWidget);
-
- if (!inhtml) {
-- moz_gtk_widget_get_focus(gComboBoxButtonWidget,
-- &ignored_interior_focus,
-- &focus_width, &focus_pad);
-- *left += focus_width + focus_pad;
-+ moz_gtk_add_style_padding(style, left, top, right, bottom);
- }
-
-- style = gtk_widget_get_style_context(gComboBoxButtonWidget);
-- gtk_style_context_get_border(style, 0, &border);
--
-- *top = *left + border.top;
-- *left += border.left;
--
-- *right = *left; *bottom = *top;
-+ moz_gtk_add_style_border(style, left, top, right, bottom);
-
- /* If there is no separator, don't try to count its width. */
- separator_width = 0;
-@@ -2847,60 +2732,23 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top,
- ensure_frame_widget();
- w = gFrameWidget;
- break;
-- case MOZ_GTK_CHECKBUTTON_LABEL:
-- case MOZ_GTK_RADIOBUTTON_LABEL:
-- {
-- gboolean interior_focus;
-- gint focus_width, focus_pad;
--
-- /* If the focus is interior, then the label has a border of
-- (focus_width + focus_pad). */
-- if (widget == MOZ_GTK_CHECKBUTTON_LABEL) {
-- ensure_checkbox_widget();
-- moz_gtk_widget_get_focus(gCheckboxWidget, &interior_focus,
-- &focus_width, &focus_pad);
-- }
-- else {
-- ensure_radiobutton_widget();
-- moz_gtk_widget_get_focus(gRadiobuttonWidget, &interior_focus,
-- &focus_width, &focus_pad);
-- }
--
-- if (interior_focus)
-- *left = *top = *right = *bottom = (focus_width + focus_pad);
--
-- return MOZ_GTK_SUCCESS;
-- }
--
- case MOZ_GTK_CHECKBUTTON_CONTAINER:
- case MOZ_GTK_RADIOBUTTON_CONTAINER:
- {
-- gboolean interior_focus;
-- gint focus_width, focus_pad;
--
-- /* If the focus is _not_ interior, then the container has a border
-- of (focus_width + focus_pad). */
- if (widget == MOZ_GTK_CHECKBUTTON_CONTAINER) {
- ensure_checkbox_widget();
-- moz_gtk_widget_get_focus(gCheckboxWidget, &interior_focus,
-- &focus_width, &focus_pad);
- w = gCheckboxWidget;
- } else {
- ensure_radiobutton_widget();
-- moz_gtk_widget_get_focus(gRadiobuttonWidget, &interior_focus,
-- &focus_width, &focus_pad);
- w = gRadiobuttonWidget;
- }
-+ style = gtk_widget_get_style_context(w);
-
- *left = *top = *right = *bottom = gtk_container_get_border_width(GTK_CONTAINER(w));
--
-- if (!interior_focus) {
-- *left += (focus_width + focus_pad);
-- *right += (focus_width + focus_pad);
-- *top += (focus_width + focus_pad);
-- *bottom += (focus_width + focus_pad);
-- }
--
-+ moz_gtk_add_style_border(style,
-+ left, top, right, bottom);
-+ moz_gtk_add_style_padding(style,
-+ left, top, right, bottom);
- return MOZ_GTK_SUCCESS;
- }
- case MOZ_GTK_MENUPOPUP:
-@@ -2927,6 +2775,8 @@ moz_gtk_get_widget_border(GtkThemeWidgetType widget, gint* left, gint* top,
- return MOZ_GTK_SUCCESS;
- }
- /* These widgets have no borders, since they are not containers. */
-+ case MOZ_GTK_CHECKBUTTON_LABEL:
-+ case MOZ_GTK_RADIOBUTTON_LABEL:
- case MOZ_GTK_SPLITTER_HORIZONTAL:
- case MOZ_GTK_SPLITTER_VERTICAL:
- case MOZ_GTK_CHECKBUTTON:
-@@ -2975,11 +2849,7 @@ moz_gtk_get_tab_border(gint* left, gint* top, gint* right, gint* bottom,
+@@ -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);
@@ -802,7 +349,7 @@ index 08a58d6..7fef6fa 100644
moz_gtk_add_style_padding(style, left, top, right, bottom);
gtk_widget_style_get (gTabWidget, "tab-curvature", &tab_curvature, NULL);
-@@ -2990,16 +2860,9 @@ moz_gtk_get_tab_border(gint* left, gint* top, gint* right, gint* bottom,
+@@ -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)
@@ -821,52 +368,11 @@ index 08a58d6..7fef6fa 100644
}
gtk_style_context_restore(style);
-diff --git widget/gtk/gtkdrawing.h widget/gtk/gtkdrawing.h
-index 1938e8f..5f71cfd 100644
---- widget/gtk/gtkdrawing.h
-+++ widget/gtk/gtkdrawing.h
-@@ -293,16 +293,6 @@ moz_gtk_checkbox_get_metrics(gint* indicator_size, gint* indicator_spacing);
- gint
- moz_gtk_radio_get_metrics(gint* indicator_size, gint* indicator_spacing);
-
--/**
-- * Get the inner-border value for a GtkButton widget (button or tree header)
-- * widget: [IN] the widget to get the border value for
-- * inner_border: [OUT] the inner border
-- *
-- * returns: MOZ_GTK_SUCCESS if there was no error, an error code otherwise
-- */
--gint
--moz_gtk_button_get_inner_border(GtkWidget* widget, GtkBorder* inner_border);
--
- /** Get the extra size for the focus ring for outline:auto.
- * widget: [IN] the widget to get the focus metrics for
- * focus_h_width: [OUT] the horizontal width
-@@ -313,19 +303,6 @@ moz_gtk_button_get_inner_border(GtkWidget* widget, GtkBorder* inner_border);
- gint
- moz_gtk_get_focus_outline_size(gint* focus_h_width, gint* focus_v_width);
-
--/** Get the focus metrics for a treeheadercell, button, checkbox, or radio button.
-- * widget: [IN] the widget to get the focus metrics for
-- * interior_focus: [OUT] whether the focus is drawn around the
-- * label (TRUE) or around the whole container (FALSE)
-- * focus_width: [OUT] the width of the focus line
-- * focus_pad: [OUT] the padding between the focus line and children
-- *
-- * returns: MOZ_GTK_SUCCESS if there was no error, an error code otherwise
-- */
--gint
--moz_gtk_widget_get_focus(GtkWidget* widget, gboolean* interior_focus,
-- gint* focus_width, gint* focus_pad);
--
- /** Get the horizontal padding for the menuitem widget or checkmenuitem widget.
- * horizontal_padding: [OUT] The left and right padding of the menuitem or checkmenuitem
- *
diff --git widget/gtk/nsNativeThemeGTK.cpp widget/gtk/nsNativeThemeGTK.cpp
-index e5e1867..76d28e3 100644
+index 9dedd76..779eceb 100644
--- widget/gtk/nsNativeThemeGTK.cpp
+++ widget/gtk/nsNativeThemeGTK.cpp
-@@ -761,6 +761,8 @@ nsNativeThemeGTK::GetExtraSizeForWidget(nsIFrame* aFrame, uint8_t aWidgetType,
+@@ -765,6 +765,8 @@ nsNativeThemeGTK::GetExtraSizeForWidget(nsIFrame* aFrame, uint8_t aWidgetType,
return false;
gint gap_height = moz_gtk_get_tab_thickness();
diff --git a/www/firefox/files/patch-bug1138845 b/www/firefox/files/patch-bug1138845
deleted file mode 100644
index 12a9542f538f..000000000000
--- a/www/firefox/files/patch-bug1138845
+++ /dev/null
@@ -1,134 +0,0 @@
-commit 4b5b332
-Author: Mike Hommey <mh+mozilla@glandium.org>
-Date: Tue Mar 3 18:41:13 2015 +0900
-
- Bug 1138845 - Don't require atk-bridge for gtk+3 builds. r=tbsaunde
----
- accessible/atk/Platform.cpp | 29 +++++++++++++++++++----------
- config/system-headers | 1 -
- configure.in | 2 +-
- 3 files changed, 20 insertions(+), 12 deletions(-)
-
-diff --git accessible/atk/Platform.cpp accessible/atk/Platform.cpp
-index a2afd96..2ed5e0b 100644
---- accessible/atk/Platform.cpp
-+++ accessible/atk/Platform.cpp
-@@ -18,8 +18,9 @@
- #include <dbus/dbus.h>
- #endif
- #include <gtk/gtk.h>
-+
- #if (MOZ_WIDGET_GTK == 3)
--#include <atk-bridge.h>
-+extern "C" __attribute__((weak,visibility("default"))) int atk_bridge_adaptor_init(int*, char **[]);
- #endif
-
- using namespace mozilla;
-@@ -46,7 +47,6 @@ static gulong sToplevel_hide_hook = 0;
-
- GType g_atk_hyperlink_impl_type = G_TYPE_INVALID;
-
--#if (MOZ_WIDGET_GTK == 2)
- struct GnomeAccessibilityModule
- {
- const char *libName;
-@@ -67,11 +67,13 @@ static GnomeAccessibilityModule sAtkBridge = {
- "gnome_accessibility_module_shutdown", nullptr
- };
-
-+#if (MOZ_WIDGET_GTK == 2)
- static GnomeAccessibilityModule sGail = {
- "libgail.so", nullptr,
- "gnome_accessibility_module_init", nullptr,
- "gnome_accessibility_module_shutdown", nullptr
- };
-+#endif
-
- static nsresult
- LoadGtkModule(GnomeAccessibilityModule& aModule)
-@@ -98,7 +100,11 @@ LoadGtkModule(GnomeAccessibilityModule& aModule)
- else
- subLen = loc2 - loc1;
- nsAutoCString sub(Substring(libPath, loc1, subLen));
-+#if (MOZ_WIDGET_GTK == 2)
- sub.AppendLiteral("/gtk-2.0/modules/");
-+#else
-+ sub.AppendLiteral("/gtk-3.0/modules/");
-+#endif
- sub.Append(aModule.libName);
- aModule.lib = PR_LoadLibrary(sub.get());
- if (aModule.lib)
-@@ -123,7 +129,6 @@ LoadGtkModule(GnomeAccessibilityModule& aModule)
- }
- return NS_OK;
- }
--#endif // (MOZ_WIDGET_GTK == 2)
-
- void
- a11y::PlatformInit()
-@@ -175,14 +180,17 @@ a11y::PlatformInit()
-
- // Init atk-bridge now
- PR_SetEnv("NO_AT_BRIDGE=0");
--#if (MOZ_WIDGET_GTK == 2)
-- rv = LoadGtkModule(sAtkBridge);
-- if (NS_SUCCEEDED(rv)) {
-- (*sAtkBridge.init)();
-- }
--#else
-- atk_bridge_adaptor_init(nullptr, nullptr);
-+#if (MOZ_WIDGET_GTK == 3)
-+ if (atk_bridge_adaptor_init) {
-+ atk_bridge_adaptor_init(nullptr, nullptr);
-+ } else
- #endif
-+ {
-+ nsresult rv = LoadGtkModule(sAtkBridge);
-+ if (NS_SUCCEEDED(rv)) {
-+ (*sAtkBridge.init)();
-+ }
-+ }
-
- if (!sToplevel_event_hook_added) {
- sToplevel_event_hook_added = true;
-@@ -210,7 +218,6 @@ a11y::PlatformShutdown()
- sToplevel_hide_hook);
- }
-
--#if (MOZ_WIDGET_GTK == 2)
- if (sAtkBridge.lib) {
- // Do not shutdown/unload atk-bridge,
- // an exit function registered will take care of it
-@@ -221,6 +228,7 @@ a11y::PlatformShutdown()
- sAtkBridge.init = nullptr;
- sAtkBridge.shutdown = nullptr;
- }
-+#if (MOZ_WIDGET_GTK == 2)
- if (sGail.lib) {
- // Do not shutdown gail because
- // 1) Maybe it's not init-ed by us. e.g. GtkEmbed
-diff --git config/system-headers config/system-headers
-index 2c94a7d..cf01775 100644
---- config/system-headers
-+++ config/system-headers
-@@ -189,7 +189,6 @@ asm/signal.h
- ASRegistry.h
- assert.h
- atk/atk.h
--atk-bridge.h
- atlcom.h
- atlconv.h
- atlctl.cpp
-diff --git configure.in configure.in
-index 0bd1eb7..f3b3365 100644
---- configure.in
-+++ configure.in
-@@ -4408,7 +4408,7 @@ fi
-
- if test "$COMPILE_ENVIRONMENT"; then
- if test "$MOZ_ENABLE_GTK3"; then
-- PKG_CHECK_MODULES(MOZ_GTK3, gtk+-3.0 >= $GTK3_VERSION gtk+-unix-print-3.0 glib-2.0 gobject-2.0 atk-bridge-2.0 $GDK_PACKAGES)
-+ PKG_CHECK_MODULES(MOZ_GTK3, gtk+-3.0 >= $GTK3_VERSION gtk+-unix-print-3.0 glib-2.0 gobject-2.0 $GDK_PACKAGES)
- MOZ_GTK3_CFLAGS="-I${_topsrcdir}/widget/gtk/compat-gtk3 $MOZ_GTK3_CFLAGS"
- dnl Contrary to MOZ_GTK2_LIBS, MOZ_GTK3_LIBS needs to be literally added to TK_LIBS instead
- dnl of a make reference because of how TK_LIBS is mangled in toolkit/library/moz.build
diff --git a/www/firefox/files/patch-bug1143411 b/www/firefox/files/patch-bug1143411
deleted file mode 100644
index 6c14d2275543..000000000000
--- a/www/firefox/files/patch-bug1143411
+++ /dev/null
@@ -1,27 +0,0 @@
-https://bugzilla.mozilla.org/show_bug.cgi?id=1143411
-
-diff --git a/config/system-headers b/config/system-headers
---- config/system-headers
-+++ config/system-headers
-@@ -465,16 +465,17 @@ freetype/tttables.h
- freetype/t1tables.h
- freetype/ftlcdfil.h
- freetype/ftsizes.h
- freetype/ftadvanc.h
- freetype/ftbitmap.h
- freetype/ftxf86.h
- freetype.h
- ftcache.h
-+ftfntfmt.h
- ftglyph.h
- ftsynth.h
- ftoutln.h
- ttnameid.h
- tttables.h
- t1tables.h
- ftlcdfil.h
- ftsizes.h
-
-
-
-
diff --git a/www/firefox/files/patch-bug1143686 b/www/firefox/files/patch-bug1143686
deleted file mode 100644
index d4cc2834d67e..000000000000
--- a/www/firefox/files/patch-bug1143686
+++ /dev/null
@@ -1,46 +0,0 @@
-commit e50e738
-Author: Martin Stransky <stransky@redhat.com>
-Date: Mon Mar 16 08:00:00 2015 -0400
-
- Bug 1143686 - Gtk3 - Render scrollbar thumb with margin. r=karlt
----
- widget/gtk/gtk3drawing.c | 14 ++++++++++----
- 1 file changed, 10 insertions(+), 4 deletions(-)
-
-diff --git widget/gtk/gtk3drawing.c widget/gtk/gtk3drawing.c
-index 17f46ab..08a58d6 100644
---- widget/gtk/gtk3drawing.c
-+++ widget/gtk/gtk3drawing.c
-@@ -1230,6 +1230,7 @@ moz_gtk_scrollbar_thumb_paint(GtkThemeWidgetType widget,
- GtkStyleContext* style;
- GtkScrollbar *scrollbar;
- GtkAdjustment *adj;
-+ GtkBorder margin;
-
- ensure_scrollbar_widget();
-
-@@ -1239,15 +1240,20 @@ moz_gtk_scrollbar_thumb_paint(GtkThemeWidgetType widget,
- scrollbar = GTK_SCROLLBAR(gVertScrollbarWidget);
-
- gtk_widget_set_direction(GTK_WIDGET(scrollbar), direction);
--
-+
- style = gtk_widget_get_style_context(GTK_WIDGET(scrollbar));
- gtk_style_context_save(style);
--
-+
- gtk_style_context_add_class(style, GTK_STYLE_CLASS_SLIDER);
- gtk_style_context_set_state(style, state_flags);
-
-- gtk_render_slider(style, cr, rect->x, rect->y,
-- rect->width, rect->height,
-+ gtk_style_context_get_margin (style, state_flags, &margin);
-+
-+ gtk_render_slider(style, cr,
-+ rect->x + margin.left,
-+ rect->y + margin.top,
-+ rect->width - margin.left - margin.right,
-+ rect->height - margin.top - margin.bottom,
- (widget == MOZ_GTK_SCROLLBAR_THUMB_HORIZONTAL) ?
- GTK_ORIENTATION_HORIZONTAL : GTK_ORIENTATION_VERTICAL);
-
diff --git a/www/firefox/files/patch-bug1144643 b/www/firefox/files/patch-bug1144643
deleted file mode 100644
index fe8150ba182c..000000000000
--- a/www/firefox/files/patch-bug1144643
+++ /dev/null
@@ -1,33 +0,0 @@
-commit a0ccc19
-Author: Martin Stransky <stransky@redhat.com>
-Date: Wed Mar 18 07:14:00 2015 -0400
-
- Bug 1144643 - Render tooltips as transparent on Gtk3. r=karlt
-
- --HG--
- extra : rebase_source : 23085532b27350ca71cbe18db071628388003f33
----
- widget/gtk/nsNativeThemeGTK.cpp | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git widget/gtk/nsNativeThemeGTK.cpp widget/gtk/nsNativeThemeGTK.cpp
-index e5e1867..26d13a5 100644
---- widget/gtk/nsNativeThemeGTK.cpp
-+++ widget/gtk/nsNativeThemeGTK.cpp
-@@ -1528,9 +1528,15 @@ nsNativeThemeGTK::GetWidgetTransparency(nsIFrame* aFrame, uint8_t aWidgetType)
- case NS_THEME_MENUPOPUP:
- case NS_THEME_WINDOW:
- case NS_THEME_DIALOG:
-- // Tooltips use gtk_paint_flat_box().
-+ return eOpaque;
-+ // Tooltips use gtk_paint_flat_box() on Gtk2
-+ // but are shaped on Gtk3
- case NS_THEME_TOOLTIP:
-+#if (MOZ_WIDGET_GTK == 2)
- return eOpaque;
-+#else
-+ return eTransparent;
-+#endif
- }
-
- return eUnknownTransparency;
diff --git a/www/firefox/files/patch-bug779713 b/www/firefox/files/patch-bug779713
index cbf73d463db0..82909e824d66 100644
--- a/www/firefox/files/patch-bug779713
+++ b/www/firefox/files/patch-bug779713
@@ -65,13 +65,11 @@ index d317766..ddb13da 100644
# if __has_extension(cxx_constexpr)
# define MOZ_HAVE_CXX11_CONSTEXPR
# endif
-@@ -84,6 +88,9 @@
- # endif
- #elif defined(__GNUC__)
+@@ -86,6 +90,7 @@
# if defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L
-+# if MOZ_GCC_VERSION_AT_LEAST(4, 8, 0)
+ # define MOZ_HAVE_CXX11_CONSTEXPR
+ # if MOZ_GCC_VERSION_AT_LEAST(4, 8, 0)
+# define MOZ_HAVE_CXX11_ALIGNAS
-+# endif
- # define MOZ_HAVE_CXX11_CONSTEXPR
- # define MOZ_HAVE_EXPLICIT_CONVERSION
- # endif
+ # define MOZ_HAVE_CXX11_CONSTEXPR_IN_TEMPLATES
+ # endif
+ # define MOZ_HAVE_EXPLICIT_CONVERSION
diff --git a/www/firefox/files/patch-bug826985 b/www/firefox/files/patch-bug826985
index 4fb4dde7bd4d..b8cd0de206e4 100644
--- a/www/firefox/files/patch-bug826985
+++ b/www/firefox/files/patch-bug826985
@@ -17,10 +17,10 @@ diff --git config/system-headers config/system-headers
index 55e4cd1..76567b3 100644
--- config/system-headers
+++ config/system-headers
-@@ -635,6 +635,7 @@ libgnomevfs/gnome-vfs-mime-handlers.h
- libgnomevfs/gnome-vfs-mime-utils.h
- libgnomevfs/gnome-vfs-ops.h
- libgnomevfs/gnome-vfs-standard-callbacks.h
+@@ -627,6 +627,7 @@ libgnome/libgnome.h
+ libgnomeui/gnome-icon-lookup.h
+ libgnomeui/gnome-icon-theme.h
+ libgnomeui/gnome-ui-init.h
+libv4l2.h
lib$routines.h
limits
diff --git a/www/firefox/files/patch-system-openh264 b/www/firefox/files/patch-system-openh264
index e694b28f436e..9bf447c54abe 100644
--- a/www/firefox/files/patch-system-openh264
+++ b/www/firefox/files/patch-system-openh264
@@ -34,7 +34,7 @@ diff --git dom/media/gmp/GMPParent.cpp dom/media/gmp/GMPParent.cpp
index aa60acf..90878ca 100644
--- dom/media/gmp/GMPParent.cpp
+++ dom/media/gmp/GMPParent.cpp
-@@ -90,23 +90,16 @@
+@@ -93,22 +93,15 @@
mService = aService;
mDirectory = aPluginDir;
@@ -42,19 +42,18 @@ index aa60acf..90878ca 100644
- // where <gmp-plugin-id> should be gmp-gmpopenh264
- nsCOMPtr<nsIFile> parent;
- nsresult rv = aPluginDir->GetParent(getter_AddRefs(parent));
-- if (NS_FAILED(rv)) {
-- return rv;
-- }
-- nsAutoString parentLeafName;
-- rv = parent->GetLeafName(parentLeafName);
+ nsAutoString leafname;
+ nsresult rv = aPluginDir->GetLeafName(leafname);
if (NS_FAILED(rv)) {
return rv;
}
- LOGD(("%s::%s: %p for %s", __CLASS__, __FUNCTION__, this,
-- NS_LossyConvertUTF16toASCII(parentLeafName).get()));
-+ NS_LossyConvertUTF16toASCII(leafname).get()));
+- nsAutoString parentLeafName;
+- rv = parent->GetLeafName(parentLeafName);
+- if (NS_FAILED(rv)) {
+- return rv;
+- }
+- LOGD("%s: for %s", __FUNCTION__, NS_LossyConvertUTF16toASCII(parentLeafName).get());
++ LOGD("%s: for %s", __FUNCTION__, NS_LossyConvertUTF16toASCII(leafname).get());
- MOZ_ASSERT(parentLeafName.Length() > 4);
- mName = Substring(parentLeafName, 4);
@@ -125,7 +124,7 @@ index 1f3a0b1..93517be 100644
if (this._plugin.isEME) {
Preferences.observe(GMPPrefs.KEY_EME_ENABLED,
this.onPrefEMEGlobalEnabledChanged, this);
-@@ -120,17 +119,14 @@
+@@ -134,17 +133,14 @@
optionsType: AddonManager.OPTIONS_TYPE_INLINE,
get optionsURL() { return this._plugin.optionsURL; },
@@ -143,9 +142,9 @@ index 1f3a0b1..93517be 100644
return this._gmpPath;
},
-
- get id() { return this._plugin.id; },
- get type() { return "plugin"; },
- get isGMPlugin() { return true; },
+ get missingKey() {
+ return this._plugin.missingKey;
+ },
@@ -141,8 +137,13 @@
get description() { return this._plugin.description; },
get fullDescription() { return this._plugin.fullDescription; },