summaryrefslogtreecommitdiff
path: root/www
diff options
context:
space:
mode:
authorryoon <ryoon>2015-04-05 12:54:11 +0000
committerryoon <ryoon>2015-04-05 12:54:11 +0000
commiteb48a9ff729804b1c98769ac67314bfccd603f29 (patch)
tree96a8224378500947a834930607fa4a9c8f70fe5b /www
parent88dc6b82204455e3b9649739e5a68ad1da1a493c (diff)
downloadpkgsrc-eb48a9ff729804b1c98769ac67314bfccd603f29.tar.gz
Update to 37.0
* Bump nspr requirement. Changelog: New Heartbeat user rating system - your feedback about Firefox New Yandex set as default search provider for the Turkish locale New Bing search now uses HTTPS for secure searching New Improved protection against site impersonation via OneCRL centralized certificate revocation New Opportunistically encrypt HTTP traffic where the server supports HTTP/2 AltSvc Changed Disabled insecure TLS version fallback for site security Changed Extended SSL error reporting for reporting non-certificate errors Changed TLS False Start optimization now requires a cipher suite using AEAD construction Changed Improved certificate and TLS communication security by removing support for DSA Changed Improved performance of WebGL rendering on Windows HTML5 Implemented a subset of the Media Source Extensions (MSE) API to allow native HTML5 playback on YouTube (Windows only) HTML5 Added support for CSS display:contents HTML5 IndexedDB now accessible from worker threads HTML5 New SDP/JSEP implementation in WebRTC Developer Debug tabs opened in Chrome Desktop, Chrome for Android, and Safari for iOS Developer New Inspector animations panel to control element animations Developer New Security Panel included in Network Panel Developer Debugger panel support for chrome:// and about:// URIs Developer Added logging of weak ciphers to the web console Fixed Various security fixes Fixed in Firefox 37 2015-42 Windows can retain access to privileged content on navigation to unprivileged pages 2015-41 PRNG weakness allows for DNS poisoning on Android 2015-40 Same-origin bypass through anchor navigation 2015-39 Use-after-free due to type confusion flaws 2015-38 Memory corruption crashes in Off Main Thread Compositing 2015-37 CORS requests should not follow 30x redirections after preflight 2015-36 Incorrect memory management for simple-type arrays in WebRTC 2015-35 Cursor clickjacking with flash and images 2015-34 Out of bounds read in QCMS library 2015-33 resource:// documents can load privileged pages 2015-32 Add-on lightweight theme installation approval bypassed through MITM attack 2015-31 Use-after-free when using the Fluendo MP3 GStreamer plugin 2015-30 Miscellaneous memory safety hazards (rv:37.0 / rv:31.6)
Diffstat (limited to 'www')
-rw-r--r--www/firefox/Makefile7
-rw-r--r--www/firefox/PLIST71
-rw-r--r--www/firefox/distinfo59
-rw-r--r--www/firefox/mozilla-common.mk4
-rw-r--r--www/firefox/patches/patch-aa144
-rw-r--r--www/firefox/patches/patch-accessible_atk_Platform.cpp97
-rw-r--r--www/firefox/patches/patch-config_external_moz.build16
-rw-r--r--www/firefox/patches/patch-config_system-headers26
-rw-r--r--www/firefox/patches/patch-dom_media_moz.build8
-rw-r--r--www/firefox/patches/patch-dom_plugins_ipc_PluginModuleChild.cpp16
-rw-r--r--www/firefox/patches/patch-extensions_spellcheck_hunspell_src_mozHunspell.cpp16
-rw-r--r--www/firefox/patches/patch-gfx_layers_basic_BasicCompositor.cpp64
-rw-r--r--www/firefox/patches/patch-gfx_layers_basic_BasicLayerManager.cpp64
-rw-r--r--www/firefox/patches/patch-intl_unicharutil_util_moz.build12
-rw-r--r--www/firefox/patches/patch-js_src_dtoa.c12
-rw-r--r--www/firefox/patches/patch-js_src_jit_MIR.cpp10
-rw-r--r--www/firefox/patches/patch-js_src_jit_none_Lowering-none.h14
-rw-r--r--www/firefox/patches/patch-media_libcubeb_src_cubeb__alsa.c108
-rw-r--r--www/firefox/patches/patch-media_webrtc_signaling_signaling.gyp20
-rw-r--r--www/firefox/patches/patch-media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp10
-rw-r--r--www/firefox/patches/patch-memory_build_mozjemalloc__compat.c44
-rw-r--r--www/firefox/patches/patch-memory_jemalloc_src_configure36
-rw-r--r--www/firefox/patches/patch-memory_mozalloc_VolatileBufferOSX.cpp22
-rw-r--r--www/firefox/patches/patch-memory_volatile_VolatileBufferOSX.cpp19
-rw-r--r--www/firefox/patches/patch-mfbt_Attributes.h20
-rw-r--r--www/firefox/patches/patch-netwerk_wifi_moz.build13
-rw-r--r--www/firefox/patches/patch-netwerk_wifi_nsWifiScannerFreeBSD.cpp16
-rw-r--r--www/firefox/patches/patch-toolkit_modules_GMPInstallManager.jsm14
-rw-r--r--www/firefox/patches/patch-toolkit_mozapps_extensions_internal_GMPProvider.jsm126
-rw-r--r--www/firefox/patches/patch-toolkit_mozapps_extensions_internal_OpenH264Provider.jsm118
-rw-r--r--www/firefox/patches/patch-widget_gtk_gtk2drawing.c22
-rw-r--r--www/firefox/patches/patch-widget_gtk_gtk3drawing.c528
-rw-r--r--www/firefox/patches/patch-widget_gtk_gtkdrawing.h41
-rw-r--r--www/firefox/patches/patch-widget_gtk_nsLookAndFeel.cpp207
-rw-r--r--www/firefox/patches/patch-widget_gtk_nsLookAndFeel.h32
-rw-r--r--www/firefox/patches/patch-widget_gtk_nsNativeThemeGTK.cpp21
-rw-r--r--www/firefox/patches/patch-xpcom_reflect_xptcall_md_unix_moz.build18
37 files changed, 1165 insertions, 910 deletions
diff --git a/www/firefox/Makefile b/www/firefox/Makefile
index d89a715a926..53eeefcb932 100644
--- a/www/firefox/Makefile
+++ b/www/firefox/Makefile
@@ -1,12 +1,11 @@
-# $NetBSD: Makefile,v 1.203 2015/03/31 10:59:43 martin Exp $
+# $NetBSD: Makefile,v 1.204 2015/04/05 12:54:11 ryoon Exp $
FIREFOX_VER= ${MOZ_BRANCH}${MOZ_BRANCH_MINOR}
-MOZ_BRANCH= 36.0
-MOZ_BRANCH_MINOR= .4
+MOZ_BRANCH= 37.0
+MOZ_BRANCH_MINOR=
DISTNAME= firefox-${FIREFOX_VER}.source
PKGNAME= firefox-${MOZ_BRANCH}${MOZ_BRANCH_MINOR:S/b/beta/:S/esr//}
-PKGREVISION= 1
CATEGORIES= www
MASTER_SITES= ${MASTER_SITE_MOZILLA:=firefox/releases/${FIREFOX_VER}/source/}
MASTER_SITES+= ${MASTER_SITE_MOZILLA_ALL:=firefox/releases/${FIREFOX_VER}/source/}
diff --git a/www/firefox/PLIST b/www/firefox/PLIST
index 73d8423174c..111d432a8dd 100644
--- a/www/firefox/PLIST
+++ b/www/firefox/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.93 2015/02/28 04:30:55 ryoon Exp $
+@comment $NetBSD: PLIST,v 1.94 2015/04/05 12:54:11 ryoon Exp $
bin/firefox
lib/firefox/application.ini
lib/firefox/browser/blocklist.xml
@@ -76,6 +76,7 @@ lib/firefox/browser/chrome/browser/content/browser/blockedSite.xhtml
lib/firefox/browser/chrome/browser/content/browser/bookmarks/bookmarksPanel.js
lib/firefox/browser/chrome/browser/content/browser/bookmarks/bookmarksPanel.xul
lib/firefox/browser/chrome/browser/content/browser/bookmarks/sidebarUtils.js
+lib/firefox/browser/chrome/browser/content/browser/browser-eme.properties
lib/firefox/browser/chrome/browser/content/browser/browser-tabPreviews.xml
lib/firefox/browser/chrome/browser/content/browser/browser.css
lib/firefox/browser/chrome/browser/content/browser/browser.js
@@ -112,6 +113,9 @@ lib/firefox/browser/chrome/browser/content/browser/defaultthemes/5.header.png
lib/firefox/browser/chrome/browser/content/browser/defaultthemes/5.icon.jpg
lib/firefox/browser/chrome/browser/content/browser/defaultthemes/5.preview.jpg
lib/firefox/browser/chrome/browser/content/browser/devtools/NetworkPanel.xhtml
+lib/firefox/browser/chrome/browser/content/browser/devtools/animationinspector/animation-controller.js
+lib/firefox/browser/chrome/browser/content/browser/devtools/animationinspector/animation-inspector.xhtml
+lib/firefox/browser/chrome/browser/content/browser/devtools/animationinspector/animation-panel.js
lib/firefox/browser/chrome/browser/content/browser/devtools/app-manager/connection-footer.js
lib/firefox/browser/chrome/browser/content/browser/devtools/app-manager/connection-footer.xhtml
lib/firefox/browser/chrome/browser/content/browser/devtools/app-manager/device.js
@@ -257,6 +261,8 @@ lib/firefox/browser/chrome/browser/content/browser/hiddenWindow.xul
lib/firefox/browser/chrome/browser/content/browser/history/history-panel.xul
lib/firefox/browser/chrome/browser/content/browser/license.html
lib/firefox/browser/chrome/browser/content/browser/loop/conversation.html
+lib/firefox/browser/chrome/browser/content/browser/loop/css/contacts.css
+lib/firefox/browser/chrome/browser/content/browser/loop/css/panel.css
lib/firefox/browser/chrome/browser/content/browser/loop/js/client.js
lib/firefox/browser/chrome/browser/content/browser/loop/js/contacts.js
lib/firefox/browser/chrome/browser/content/browser/loop/js/conversation.js
@@ -284,9 +290,7 @@ lib/firefox/browser/chrome/browser/content/browser/loop/sdk-content/images/rtc/s
lib/firefox/browser/chrome/browser/content/browser/loop/sdk-content/images/rtc/speaker-on.png
lib/firefox/browser/chrome/browser/content/browser/loop/sdk-content/js/dynamic_config.min.js
lib/firefox/browser/chrome/browser/content/browser/loop/shared/css/common.css
-lib/firefox/browser/chrome/browser/content/browser/loop/shared/css/contacts.css
lib/firefox/browser/chrome/browser/content/browser/loop/shared/css/conversation.css
-lib/firefox/browser/chrome/browser/content/browser/loop/shared/css/panel.css
lib/firefox/browser/chrome/browser/content/browser/loop/shared/css/reset.css
lib/firefox/browser/chrome/browser/content/browser/loop/shared/img/02.png
lib/firefox/browser/chrome/browser/content/browser/loop/shared/img/02@2x.png
@@ -331,9 +335,11 @@ lib/firefox/browser/chrome/browser/content/browser/loop/shared/js/dispatcher.js
lib/firefox/browser/chrome/browser/content/browser/loop/shared/js/feedbackApiClient.js
lib/firefox/browser/chrome/browser/content/browser/loop/shared/js/feedbackStore.js
lib/firefox/browser/chrome/browser/content/browser/loop/shared/js/feedbackViews.js
+lib/firefox/browser/chrome/browser/content/browser/loop/shared/js/fxOSActiveRoomStore.js
lib/firefox/browser/chrome/browser/content/browser/loop/shared/js/mixins.js
lib/firefox/browser/chrome/browser/content/browser/loop/shared/js/models.js
lib/firefox/browser/chrome/browser/content/browser/loop/shared/js/otSdkDriver.js
+lib/firefox/browser/chrome/browser/content/browser/loop/shared/js/roomStates.js
lib/firefox/browser/chrome/browser/content/browser/loop/shared/js/roomStore.js
lib/firefox/browser/chrome/browser/content/browser/loop/shared/js/store.js
lib/firefox/browser/chrome/browser/content/browser/loop/shared/js/utils.js
@@ -343,7 +349,7 @@ lib/firefox/browser/chrome/browser/content/browser/loop/shared/js/websocket.js
lib/firefox/browser/chrome/browser/content/browser/loop/shared/libs/backbone-1.1.2.js
lib/firefox/browser/chrome/browser/content/browser/loop/shared/libs/jquery-2.1.0.js
lib/firefox/browser/chrome/browser/content/browser/loop/shared/libs/lodash-2.4.1.js
-lib/firefox/browser/chrome/browser/content/browser/loop/shared/libs/react-0.11.2.js
+lib/firefox/browser/chrome/browser/content/browser/loop/shared/libs/react-0.12.2.js
lib/firefox/browser/chrome/browser/content/browser/loop/shared/sounds/connected.ogg
lib/firefox/browser/chrome/browser/content/browser/loop/shared/sounds/connecting.ogg
lib/firefox/browser/chrome/browser/content/browser/loop/shared/sounds/failure.ogg
@@ -521,6 +527,7 @@ lib/firefox/browser/chrome/browser/skin/classic/browser/aboutTabCrashed.css
lib/firefox/browser/chrome/browser/skin/classic/browser/aboutWelcomeBack.css
lib/firefox/browser/chrome/browser/skin/classic/browser/actionicon-tab.png
lib/firefox/browser/chrome/browser/skin/classic/browser/bad-content-blocked-16.png
+lib/firefox/browser/chrome/browser/skin/classic/browser/bad-content-blocked-16@2x.png
lib/firefox/browser/chrome/browser/skin/classic/browser/bad-content-blocked-64.png
lib/firefox/browser/chrome/browser/skin/classic/browser/bad-content-unblocked-16.png
lib/firefox/browser/chrome/browser/skin/classic/browser/bad-content-unblocked-64.png
@@ -551,6 +558,7 @@ lib/firefox/browser/chrome/browser/skin/classic/browser/devedition/search.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/devedition/urlbar-history-dropmarker.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/alerticon-warning.png
lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/alerticon-warning@2x.png
+lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/animationinspector.css
lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/app-manager/add.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/app-manager/connection-footer.css
lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/app-manager/default-app-icon.png
@@ -658,6 +666,7 @@ lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/newtab-inverted
lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/newtab.png
lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/newtab@2x.png
lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/noise.png
+lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/performance-icons.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/performance.css
lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/profiler-stopwatch-checked.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/profiler-stopwatch.svg
@@ -682,6 +691,7 @@ lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/shadereditor.cs
lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/splitview.css
lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/storage.css
lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/styleeditor.css
+lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/timeline-filter.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/timeline.css
lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/toggle-tools.png
lib/firefox/browser/chrome/browser/skin/classic/browser/devtools/toggle-tools@2x.png
@@ -731,6 +741,7 @@ lib/firefox/browser/chrome/browser/skin/classic/browser/downloads/download-notif
lib/firefox/browser/chrome/browser/skin/classic/browser/downloads/download-notification-start.png
lib/firefox/browser/chrome/browser/skin/classic/browser/downloads/download-summary.png
lib/firefox/browser/chrome/browser/skin/classic/browser/downloads/downloads.css
+lib/firefox/browser/chrome/browser/skin/classic/browser/drm-icon.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/engineManager.css
lib/firefox/browser/chrome/browser/skin/classic/browser/feeds/audioFeedIcon.png
lib/firefox/browser/chrome/browser/skin/classic/browser/feeds/audioFeedIcon16.png
@@ -741,6 +752,9 @@ lib/firefox/browser/chrome/browser/skin/classic/browser/feeds/subscribe.css
lib/firefox/browser/chrome/browser/skin/classic/browser/feeds/videoFeedIcon.png
lib/firefox/browser/chrome/browser/skin/classic/browser/feeds/videoFeedIcon16.png
lib/firefox/browser/chrome/browser/skin/classic/browser/fullscreen-darknoise.png
+lib/firefox/browser/chrome/browser/skin/classic/browser/heartbeat-icon.svg
+lib/firefox/browser/chrome/browser/skin/classic/browser/heartbeat-star-lit.svg
+lib/firefox/browser/chrome/browser/skin/classic/browser/heartbeat-star-off.svg
lib/firefox/browser/chrome/browser/skin/classic/browser/identity-icons-generic.png
lib/firefox/browser/chrome/browser/skin/classic/browser/identity-icons-https-ev.png
lib/firefox/browser/chrome/browser/skin/classic/browser/identity-icons-https-mixed-active.png
@@ -800,8 +814,6 @@ lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/Options.png
lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/aboutPermissions.css
lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/alwaysAsk.png
lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/applications.css
-lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/in-content/check.png
-lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/in-content/check@2x.png
lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/in-content/dialog.css
lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/in-content/favicon.ico
lib/firefox/browser/chrome/browser/skin/classic/browser/preferences/in-content/icons.png
@@ -876,6 +888,8 @@ lib/firefox/browser/chrome/browser/skin/classic/browser/translation-16.png
lib/firefox/browser/chrome/browser/skin/classic/browser/translation-16@2x.png
lib/firefox/browser/chrome/browser/skin/classic/browser/undoCloseTab.png
lib/firefox/browser/chrome/browser/skin/classic/browser/urlbar-arrow.png
+lib/firefox/browser/chrome/browser/skin/classic/browser/warning16.png
+lib/firefox/browser/chrome/browser/skin/classic/browser/warning16@2x.png
lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-camera-white-16.png
lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-indicator.css
lib/firefox/browser/chrome/browser/skin/classic/browser/webRTC-microphone-white-16.png
@@ -905,12 +919,15 @@ lib/firefox/browser/chrome/en-US/locale/browser/aboutPrivateBrowsing.properties
lib/firefox/browser/chrome/en-US/locale/browser/aboutRobots.dtd
lib/firefox/browser/chrome/en-US/locale/browser/aboutSessionRestore.dtd
lib/firefox/browser/chrome/en-US/locale/browser/aboutSyncTabs.dtd
+lib/firefox/browser/chrome/en-US/locale/browser/accounts.properties
lib/firefox/browser/chrome/en-US/locale/browser/appstrings.properties
lib/firefox/browser/chrome/en-US/locale/browser/baseMenuOverlay.dtd
lib/firefox/browser/chrome/en-US/locale/browser/browser.dtd
lib/firefox/browser/chrome/en-US/locale/browser/browser.properties
lib/firefox/browser/chrome/en-US/locale/browser/customizableui/customizableWidgets.properties
lib/firefox/browser/chrome/en-US/locale/browser/devtools/VariablesView.dtd
+lib/firefox/browser/chrome/en-US/locale/browser/devtools/animationinspector.dtd
+lib/firefox/browser/chrome/en-US/locale/browser/devtools/animationinspector.properties
lib/firefox/browser/chrome/en-US/locale/browser/devtools/app-manager.dtd
lib/firefox/browser/chrome/en-US/locale/browser/devtools/app-manager.properties
lib/firefox/browser/chrome/en-US/locale/browser/devtools/appcacheutils.properties
@@ -1325,7 +1342,6 @@ lib/firefox/browser/chrome/webide/skin/throbber.svg
lib/firefox/browser/chrome/webide/skin/webide.css
lib/firefox/browser/components/ChromeProfileMigrator.js
lib/firefox/browser/components/DownloadsStartup.js
-lib/firefox/browser/components/DownloadsUI.js
lib/firefox/browser/components/ExperimentsService.js
lib/firefox/browser/components/FeedConverter.js
lib/firefox/browser/components/FeedWriter.js
@@ -1360,11 +1376,11 @@ lib/firefox/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/icon.png
lib/firefox/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/install.rdf
lib/firefox/browser/icons/mozicon128.png
lib/firefox/browser/modules/AboutHome.jsm
-lib/firefox/browser/modules/BrowserNewTabPreloader.jsm
lib/firefox/browser/modules/BrowserUITelemetry.jsm
lib/firefox/browser/modules/CastingApps.jsm
lib/firefox/browser/modules/Chat.jsm
lib/firefox/browser/modules/ContentLinkHandler.jsm
+lib/firefox/browser/modules/ContentObservers.jsm
lib/firefox/browser/modules/ContentSearch.jsm
lib/firefox/browser/modules/ContentWebRTC.jsm
lib/firefox/browser/modules/CustomizableUI.jsm
@@ -1380,6 +1396,7 @@ lib/firefox/browser/modules/E10SUtils.jsm
lib/firefox/browser/modules/Feeds.jsm
lib/firefox/browser/modules/FormSubmitObserver.jsm
lib/firefox/browser/modules/FormValidationHandler.jsm
+lib/firefox/browser/modules/HiddenFrame.jsm
lib/firefox/browser/modules/MigrationUtils.jsm
lib/firefox/browser/modules/NetworkPrioritizer.jsm
lib/firefox/browser/modules/PanelFrame.jsm
@@ -1389,6 +1406,7 @@ lib/firefox/browser/modules/PluginContent.jsm
lib/firefox/browser/modules/RecentWindow.jsm
lib/firefox/browser/modules/RemotePrompt.jsm
lib/firefox/browser/modules/ScrollbarSampler.jsm
+lib/firefox/browser/modules/SelfSupportBackend.jsm
lib/firefox/browser/modules/SitePermissions.jsm
lib/firefox/browser/modules/Social.jsm
lib/firefox/browser/modules/TabCrashReporter.jsm
@@ -1401,8 +1419,10 @@ lib/firefox/browser/modules/devtools/Chart.jsm
lib/firefox/browser/modules/devtools/Curl.jsm
lib/firefox/browser/modules/devtools/DOMHelpers.jsm
lib/firefox/browser/modules/devtools/DeveloperToolbar.jsm
+lib/firefox/browser/modules/devtools/FlameGraph.jsm
lib/firefox/browser/modules/devtools/FloatingScrollbars.jsm
lib/firefox/browser/modules/devtools/Graphs.jsm
+lib/firefox/browser/modules/devtools/GraphsWorker.js
lib/firefox/browser/modules/devtools/Jsbeautify.jsm
lib/firefox/browser/modules/devtools/Parser.jsm
lib/firefox/browser/modules/devtools/SideMenuWidget.jsm
@@ -1466,6 +1486,7 @@ lib/firefox/browser/modules/devtools/projecteditor/plugins/image-view/image-edit
lib/firefox/browser/modules/devtools/projecteditor/plugins/image-view/plugin.js
lib/firefox/browser/modules/devtools/projecteditor/plugins/logging/logging.js
lib/firefox/browser/modules/devtools/projecteditor/plugins/new/new.js
+lib/firefox/browser/modules/devtools/projecteditor/plugins/rename/rename.js
lib/firefox/browser/modules/devtools/projecteditor/plugins/save/save.js
lib/firefox/browser/modules/devtools/projecteditor/plugins/status-bar/plugin.js
lib/firefox/browser/modules/devtools/projecteditor/project.js
@@ -1489,6 +1510,7 @@ lib/firefox/browser/modules/devtools/shared/inplace-editor.js
lib/firefox/browser/modules/devtools/shared/observable-object.js
lib/firefox/browser/modules/devtools/shared/telemetry.js
lib/firefox/browser/modules/devtools/shared/theme-switching.js
+lib/firefox/browser/modules/devtools/shared/theme.js
lib/firefox/browser/modules/devtools/shared/undo.js
lib/firefox/browser/modules/devtools/shared/widgets/CubicBezierWidget.js
lib/firefox/browser/modules/devtools/shared/widgets/FastListWidget.js
@@ -1535,6 +1557,7 @@ lib/firefox/browser/modules/devtools/webconsole/panel.js
lib/firefox/browser/modules/devtools/webconsole/webconsole.js
lib/firefox/browser/modules/devtools/webide/addons.js
lib/firefox/browser/modules/devtools/webide/app-manager.js
+lib/firefox/browser/modules/devtools/webide/build.js
lib/firefox/browser/modules/devtools/webide/remote-resources.js
lib/firefox/browser/modules/devtools/webide/runtimes.js
lib/firefox/browser/modules/devtools/webide/tab-store.js
@@ -1613,6 +1636,7 @@ lib/firefox/chrome/en-US/locale/en-US/global/AccessFu.properties
lib/firefox/chrome/en-US/locale/en-US/global/about.dtd
lib/firefox/chrome/en-US/locale/en-US/global/aboutAbout.dtd
lib/firefox/chrome/en-US/locale/en-US/global/aboutNetworking.dtd
+lib/firefox/chrome/en-US/locale/en-US/global/aboutReader.properties
lib/firefox/chrome/en-US/locale/en-US/global/aboutRights.dtd
lib/firefox/chrome/en-US/locale/en-US/global/aboutSupport.dtd
lib/firefox/chrome/en-US/locale/en-US/global/aboutSupport.properties
@@ -1824,8 +1848,6 @@ lib/firefox/chrome/toolkit/content/global/aboutAbout.js
lib/firefox/chrome/toolkit/content/global/aboutAbout.xhtml
lib/firefox/chrome/toolkit/content/global/aboutCache.js
lib/firefox/chrome/toolkit/content/global/aboutCompartments.xhtml
-lib/firefox/chrome/toolkit/content/global/aboutMedia.js
-lib/firefox/chrome/toolkit/content/global/aboutMedia.xhtml
lib/firefox/chrome/toolkit/content/global/aboutMemory.css
lib/firefox/chrome/toolkit/content/global/aboutMemory.js
lib/firefox/chrome/toolkit/content/global/aboutMemory.xhtml
@@ -1937,6 +1959,7 @@ lib/firefox/chrome/toolkit/content/global/nsUserSettings.js
lib/firefox/chrome/toolkit/content/global/platformHTMLBindings.xml
lib/firefox/chrome/toolkit/content/global/plugins.css
lib/firefox/chrome/toolkit/content/global/plugins.html
+lib/firefox/chrome/toolkit/content/global/post-fork-preload.js
lib/firefox/chrome/toolkit/content/global/preload.js
lib/firefox/chrome/toolkit/content/global/printPageSetup.js
lib/firefox/chrome/toolkit/content/global/printPageSetup.xul
@@ -1950,6 +1973,11 @@ lib/firefox/chrome/toolkit/content/global/printdialog.js
lib/firefox/chrome/toolkit/content/global/printdialog.xul
lib/firefox/chrome/toolkit/content/global/printjoboptions.js
lib/firefox/chrome/toolkit/content/global/printjoboptions.xul
+lib/firefox/chrome/toolkit/content/global/reader/JSDOMParser.js
+lib/firefox/chrome/toolkit/content/global/reader/Readability.js
+lib/firefox/chrome/toolkit/content/global/reader/aboutReader.html
+lib/firefox/chrome/toolkit/content/global/reader/aboutReader.js
+lib/firefox/chrome/toolkit/content/global/reader/readerWorker.js
lib/firefox/chrome/toolkit/content/global/remote-test-ipc.js
lib/firefox/chrome/toolkit/content/global/resetProfile.css
lib/firefox/chrome/toolkit/content/global/resetProfile.js
@@ -1997,11 +2025,11 @@ lib/firefox/chrome/toolkit/content/mozapps/extensions/extensions.css
lib/firefox/chrome/toolkit/content/mozapps/extensions/extensions.js
lib/firefox/chrome/toolkit/content/mozapps/extensions/extensions.xml
lib/firefox/chrome/toolkit/content/mozapps/extensions/extensions.xul
+lib/firefox/chrome/toolkit/content/mozapps/extensions/gmpPrefs.xul
lib/firefox/chrome/toolkit/content/mozapps/extensions/list.js
lib/firefox/chrome/toolkit/content/mozapps/extensions/list.xul
lib/firefox/chrome/toolkit/content/mozapps/extensions/newaddon.js
lib/firefox/chrome/toolkit/content/mozapps/extensions/newaddon.xul
-lib/firefox/chrome/toolkit/content/mozapps/extensions/openH264Prefs.xul
lib/firefox/chrome/toolkit/content/mozapps/extensions/pluginPrefs.xul
lib/firefox/chrome/toolkit/content/mozapps/extensions/selectAddons.css
lib/firefox/chrome/toolkit/content/mozapps/extensions/selectAddons.js
@@ -2066,6 +2094,7 @@ lib/firefox/chrome/toolkit/skin/classic/global/about.css
lib/firefox/chrome/toolkit/skin/classic/global/aboutCache.css
lib/firefox/chrome/toolkit/skin/classic/global/aboutCacheEntry.css
lib/firefox/chrome/toolkit/skin/classic/global/aboutMemory.css
+lib/firefox/chrome/toolkit/skin/classic/global/aboutReader.css
lib/firefox/chrome/toolkit/skin/classic/global/aboutSupport.css
lib/firefox/chrome/toolkit/skin/classic/global/alerts/alert.css
lib/firefox/chrome/toolkit/skin/classic/global/alerts/notification-48.png
@@ -2178,11 +2207,11 @@ lib/firefox/chrome/toolkit/skin/classic/global/icons/webapps-16.png
lib/firefox/chrome/toolkit/skin/classic/global/icons/webapps-64.png
lib/firefox/chrome/toolkit/skin/classic/global/icons/windowControls.png
lib/firefox/chrome/toolkit/skin/classic/global/icons/wrap.png
-lib/firefox/chrome/toolkit/skin/classic/global/in-content/check.png
-lib/firefox/chrome/toolkit/skin/classic/global/in-content/check@2x.png
+lib/firefox/chrome/toolkit/skin/classic/global/in-content/check.svg
lib/firefox/chrome/toolkit/skin/classic/global/in-content/common.css
lib/firefox/chrome/toolkit/skin/classic/global/in-content/dropdown.svg
lib/firefox/chrome/toolkit/skin/classic/global/in-content/help-glyph.svg
+lib/firefox/chrome/toolkit/skin/classic/global/in-content/radio.svg
lib/firefox/chrome/toolkit/skin/classic/global/in-content/sorter.png
lib/firefox/chrome/toolkit/skin/classic/global/in-content/sorter@2x.png
lib/firefox/chrome/toolkit/skin/classic/global/inContentUI.css
@@ -2385,6 +2414,7 @@ lib/firefox/components/amWebInstallListener.js
lib/firefox/components/components.manifest
lib/firefox/components/contentAreaDropListener.js
lib/firefox/components/crypto-SDR.js
+lib/firefox/components/htmlMenuBuilder.js
lib/firefox/components/interfaces.xpt
lib/firefox/components/jsconsole-clhandler.js
${PLIST.gnome}lib/firefox/components/libdbusservice.so
@@ -2400,7 +2430,6 @@ lib/firefox/components/nsContentPrefService.js
lib/firefox/components/nsCrashMonitor.js
lib/firefox/components/nsDOMIdentity.js
lib/firefox/components/nsDefaultCLH.js
-lib/firefox/components/nsDownloadManagerUI.js
lib/firefox/components/nsFilePicker.js
lib/firefox/components/nsFormAutoComplete.js
lib/firefox/components/nsFormHistory.js
@@ -2482,6 +2511,7 @@ lib/firefox/libmozalloc.so
${PLIST.mozglue}lib/firefox/libmozglue.so
lib/firefox/libmozjs.so
lib/firefox/libxul.so
+lib/firefox/modules/AboutReader.jsm
lib/firefox/modules/ActivitiesService.jsm
lib/firefox/modules/ActivitiesServiceFilter.jsm
lib/firefox/modules/AddonManager.jsm
@@ -2617,6 +2647,7 @@ lib/firefox/modules/PlacesUtils.jsm
lib/firefox/modules/PluralForm.jsm
lib/firefox/modules/PopupNotifications.jsm
lib/firefox/modules/Preferences.jsm
+lib/firefox/modules/Prefetcher.jsm
lib/firefox/modules/PrivateBrowsingUtils.jsm
lib/firefox/modules/Promise-backend.js
lib/firefox/modules/Promise.jsm
@@ -2624,6 +2655,7 @@ lib/firefox/modules/PromiseUtils.jsm
lib/firefox/modules/PromiseWorker.jsm
lib/firefox/modules/PropertyListUtils.jsm
lib/firefox/modules/PushService.jsm
+lib/firefox/modules/ReaderMode.jsm
lib/firefox/modules/RemoteAddonsChild.jsm
lib/firefox/modules/RemoteAddonsParent.jsm
lib/firefox/modules/RemoteController.jsm
@@ -2669,6 +2701,7 @@ lib/firefox/modules/UITelemetry.jsm
lib/firefox/modules/UpdateChannel.jsm
lib/firefox/modules/UserAgentOverrides.jsm
lib/firefox/modules/UserAgentUpdates.jsm
+lib/firefox/modules/UserCustomizations.jsm
lib/firefox/modules/WebChannel.jsm
lib/firefox/modules/WebappOSUtils.jsm
lib/firefox/modules/Webapps.jsm
@@ -2693,8 +2726,8 @@ lib/firefox/modules/addons/AddonRepository.jsm
lib/firefox/modules/addons/AddonRepository_SQLiteMigrator.jsm
lib/firefox/modules/addons/AddonUpdateChecker.jsm
lib/firefox/modules/addons/Content.js
+lib/firefox/modules/addons/GMPProvider.jsm
lib/firefox/modules/addons/LightweightThemeImageOptimizer.jsm
-lib/firefox/modules/addons/OpenH264Provider.jsm
lib/firefox/modules/addons/PluginProvider.jsm
lib/firefox/modules/addons/SpellCheckDictionaryBootstrap.js
lib/firefox/modules/addons/XPIProvider.jsm
@@ -3074,7 +3107,10 @@ lib/firefox/modules/devtools/pretty-fast.js
lib/firefox/modules/devtools/qrcode/decoder/index.js
lib/firefox/modules/devtools/qrcode/encoder/index.js
lib/firefox/modules/devtools/qrcode/index.js
+lib/firefox/modules/devtools/security/cert.js
+lib/firefox/modules/devtools/security/socket.js
lib/firefox/modules/devtools/server/actors/actor-registry.js
+lib/firefox/modules/devtools/server/actors/animation.js
lib/firefox/modules/devtools/server/actors/call-watcher.js
lib/firefox/modules/devtools/server/actors/canvas.js
lib/firefox/modules/devtools/server/actors/child-process.js
@@ -3103,8 +3139,12 @@ lib/firefox/modules/devtools/server/actors/styles.js
lib/firefox/modules/devtools/server/actors/stylesheets.js
lib/firefox/modules/devtools/server/actors/timeline.js
lib/firefox/modules/devtools/server/actors/tracer.js
+lib/firefox/modules/devtools/server/actors/utils/ScriptStore.js
+lib/firefox/modules/devtools/server/actors/utils/actor-registry-utils.js
+lib/firefox/modules/devtools/server/actors/utils/automation-timeline.js
lib/firefox/modules/devtools/server/actors/utils/make-debugger.js
lib/firefox/modules/devtools/server/actors/utils/map-uri-to-addon-id.js
+lib/firefox/modules/devtools/server/actors/utils/stack.js
lib/firefox/modules/devtools/server/actors/webapps.js
lib/firefox/modules/devtools/server/actors/webaudio.js
lib/firefox/modules/devtools/server/actors/webbrowser.js
@@ -3180,6 +3220,7 @@ lib/firefox/modules/services-common/tokenserverclient.js
lib/firefox/modules/services-common/utils.js
lib/firefox/modules/services-crypto/WeaveCrypto.js
lib/firefox/modules/services-crypto/utils.js
+lib/firefox/modules/services-sync/FxaMigrator.jsm
lib/firefox/modules/services-sync/addonsreconciler.js
lib/firefox/modules/services-sync/addonutils.js
lib/firefox/modules/services-sync/browserid_identity.js
diff --git a/www/firefox/distinfo b/www/firefox/distinfo
index e452d8b8ab2..c63ec3ee888 100644
--- a/www/firefox/distinfo
+++ b/www/firefox/distinfo
@@ -1,9 +1,10 @@
-$NetBSD: distinfo,v 1.197 2015/03/31 10:59:43 martin Exp $
+$NetBSD: distinfo,v 1.198 2015/04/05 12:54:11 ryoon Exp $
-SHA1 (firefox-36.0.4.source.tar.bz2) = ccd8fb7881dcb9ae07a47ceeea561e50b80d55ea
-RMD160 (firefox-36.0.4.source.tar.bz2) = 75d10ff454f9169a16243cb08397cd4710926f9f
-Size (firefox-36.0.4.source.tar.bz2) = 179307558 bytes
-SHA1 (patch-aa) = 4af7ee0e63ca4b1a7584199561e9ecf0528d03aa
+SHA1 (firefox-37.0.source.tar.bz2) = c23a3d36603edd9d2fbac51afe7a4825c0ac15d8
+RMD160 (firefox-37.0.source.tar.bz2) = b222c30ae0b74e532cf95350de0a4c40e21a0a58
+Size (firefox-37.0.source.tar.bz2) = 178736413 bytes
+SHA1 (patch-aa) = bfaa1b50d7547a9d5c82b66d7ac76df4906d956b
+SHA1 (patch-accessible_atk_Platform.cpp) = 0f957996759f8b81f6d3a833977b5cee9af65208
SHA1 (patch-ak) = ebbb0c0c6e7923acc056f15ebd11307726ec65dc
SHA1 (patch-al) = cca5df21d018bb9f428ad26d00718f33afe88ec5
SHA1 (patch-ao) = ca7e6723a10b9f6e3306cd12557e1856727edee9
@@ -20,27 +21,27 @@ SHA1 (patch-build_gyp.mozbuild) = 201715e30e20090e9a9ef54cb981d283c9aabf8f
SHA1 (patch-build_pgo_profileserver.py) = 8666187258e47c037f2065a19a5b38946fdc0f6c
SHA1 (patch-config_Makefile.in) = 296bd3bc33346cfcfa658fe641c2ee2ac67549f1
SHA1 (patch-config_baseconfig.mk) = 07c295fbfbaeb969b336def32d8924729e332075
-SHA1 (patch-config_external_moz.build) = f5503242184fe0936c044b3c57c217ef5d3c7255
+SHA1 (patch-config_external_moz.build) = 52c5e14de86468eb66647f241c5758d5640d853d
SHA1 (patch-config_rules.mk) = d7f7060b246092eae3d7a792e43b14e462a37abd
SHA1 (patch-config_stl__wrappers_ios) = 00d723e2f2f252485350ede5833f0bb84c1235c1
SHA1 (patch-config_stl__wrappers_ostream) = 7be7fe36704ffbdc070a113b46b4f391a598206b
-SHA1 (patch-config_system-headers) = 923e9f6e4adbb8af4686e5c07cb4520e6f981f93
+SHA1 (patch-config_system-headers) = 7022e73a4f61e82c5319ff06c8ce0e2a63a6a9e5
SHA1 (patch-config_system__wrappers_unwind.h) = b3bdac0710179b9c8f8eabd824216d0114504491
SHA1 (patch-dom_base_moz.build) = 8b59c33958b7037c4c051742c64f1455096ced46
SHA1 (patch-dom_media_AudioStream.h) = 96b5a1a2b1c930cfcfa77a125d47b6eb93fac1c6
SHA1 (patch-dom_media_gmp_GMPChild.cpp) = 534a2c921a2d4d5b71d5ab75b8484ee792329460
SHA1 (patch-dom_media_gmp_GMPParent.cpp) = 8129d70855cd7d04dc9d909c689db3cdbafb5914
SHA1 (patch-dom_media_gstreamer_GStreamerAllocator.cpp) = 4685a646a76282619d7c42fac43500e0065f067d
-SHA1 (patch-dom_media_moz.build) = dffb6c009b6bcc70340535283a8ce5929c4c5713
-SHA1 (patch-dom_plugins_ipc_PluginModuleChild.cpp) = 8d3d6bc0e7bfae55dce75ca1995f8c688e290f57
+SHA1 (patch-dom_media_moz.build) = a89695c9557f59e00b42c60742f27a82de0f77fb
+SHA1 (patch-dom_plugins_ipc_PluginModuleChild.cpp) = 6219ce1b3f2893c1d53453fcb5568d081b72e106
SHA1 (patch-dom_plugins_ipc_PluginModuleChild.h) = 0a7f3167e939822013ae6195406657453578453e
SHA1 (patch-dom_plugins_ipc_PluginProcessChild.cpp) = 0d10aa4c913d431fb8fa5f995f6e40cb364f069e
SHA1 (patch-dom_system_OSFileConstants.cpp) = 4fe5d4ecf6116c7163ee6d2322db8b1b783fe5ec
-SHA1 (patch-extensions_spellcheck_hunspell_src_mozHunspell.cpp) = 11f6e6f64e1d2515854a5704b896e402daaec0b9
+SHA1 (patch-extensions_spellcheck_hunspell_src_mozHunspell.cpp) = f3193c0d2c7022a1a2c0796ebd09ff8595b819ce
SHA1 (patch-gfx_graphite2_moz-gr-update.sh) = b987dad1bd4513b8a04fb280bd1c5280a03af746
SHA1 (patch-gfx_graphite2_src_Bidi.cpp) = 5e80b4a32a47ae44d237fec69ea87bdd612a76ce
-SHA1 (patch-gfx_layers_basic_BasicCompositor.cpp) = 10d825f91d4160abbbaeecb018db8921e00727a2
-SHA1 (patch-gfx_layers_basic_BasicLayerManager.cpp) = cd4300bdef4de3cdd11487921f2c051041d87359
+SHA1 (patch-gfx_layers_basic_BasicCompositor.cpp) = 5f556e261838aa75d1745ca534037dbb0d315554
+SHA1 (patch-gfx_layers_basic_BasicLayerManager.cpp) = b6e51da9afcf55564118383f0fe5aab1f30dfb2f
SHA1 (patch-gfx_moz.build) = a98bda4727538f4a0f09a20b84f9dd883edaf7d9
SHA1 (patch-gfx_skia_generate__mozbuild.py) = e0bf45842ae74f896678b1c29d97606165cf5914
SHA1 (patch-gfx_skia_moz.build) = ce83717ec6e386d52af75a0f5592fa866b83b3bc
@@ -49,7 +50,7 @@ SHA1 (patch-gfx_ycbcr_moz.build) = 121386ef62ff7425e6f93bc624555199f2ac3485
SHA1 (patch-gfx_ycbcr_yuv__row__arm.S) = f9909ded72762b2c3547dd002707db43745f2b9d
SHA1 (patch-image_decoders_nsJPEGDecoder.cpp) = ca9598104c54d9ea64652d6f3cdc872d2226f5fa
SHA1 (patch-intl_hyphenation_hnjalloc.h) = 5b5ac622ed2dd8711f00be0af59c95ebc86a8a78
-SHA1 (patch-intl_unicharutil_util_moz.build) = d8e4f9c0b013e4b0c9fdb41eaf65336963c2d633
+SHA1 (patch-intl_unicharutil_util_moz.build) = 1e8eb1f6e66ed80a1689e2205a7d04efe5243d5b
SHA1 (patch-ipc_chromium_Makefile.in) = edd85b79cd3879f7595b932442bb0e93505d5506
SHA1 (patch-ipc_chromium_moz.build) = de12255865e45cfdf0f7dc57ce101be75ac8ad54
SHA1 (patch-ipc_chromium_src_base_atomicops.h) = 24b63a6e51d9ab27f2788ee02f2ffa7e1c36f29a
@@ -77,15 +78,13 @@ SHA1 (patch-js__src__vm__SPSProfiler.cpp) = 989ba25e4c5308d21d07baa802decce13609
SHA1 (patch-js_src_Makefile.in) = 77d2e7cb651b9f30ebf6458fd07678416cdecbcc
SHA1 (patch-js_src_asmjs_AsmJSSignalHandlers.cpp) = 367ad8cba3053867e3c7403845fff756f07a69bd
SHA1 (patch-js_src_ctypes_CTypes.h) = 768a084239f92a424c1c7dc9eaaf9be9456ca9f0
-SHA1 (patch-js_src_dtoa.c) = e4050e94664960617c311f924b34979ba2e2aba4
SHA1 (patch-js_src_frontend_ParseMaps.cpp) = c00117d79b78904bc50a1d664a8fc0e4e339bfbc
SHA1 (patch-js_src_gc_Memory.cpp) = f2ee54f0a05d870651a3235b95bbb346586f3c3c
SHA1 (patch-js_src_gc_Statistics.cpp) = 227d047f5befeff2a619e8bec9e98d69a78adf5c
SHA1 (patch-js_src_jit-LIR.cpp) = 4231ab9271b12ca712492e2cdbd4e1e82e108b68
SHA1 (patch-js_src_jit_ExecutableAllocator.h) = cfcf810b25adeeb13eaed8c1405ed286565941cd
-SHA1 (patch-js_src_jit_MIR.cpp) = 64071494d1aac905e95d25046f0cf1f9f96b74e9
+SHA1 (patch-js_src_jit_MIR.cpp) = eccbc91f2ea6b872bbb3bb7f41c3873177a7b0ad
SHA1 (patch-js_src_jit_arm_Architecture-arm.cpp) = 7352da6b9850bbfef68893d9a120c9e513492518
-SHA1 (patch-js_src_jit_none_Lowering-none.h) = 0cbbaae57ddea272b442b6298ee562c412f552f3
SHA1 (patch-js_src_jsapi.cpp) = 16269342723fe9420909ea17e19d02b23ad1a70b
SHA1 (patch-js_src_jsdate.cpp) = 0e577aefa24693c7941ead0365c58b2b4b41dc8c
SHA1 (patch-js_src_jskwgen.cpp) = 34d3b92e13366d4b43ff755ad54f392c116d5c59
@@ -95,7 +94,7 @@ SHA1 (patch-js_xpconnect_src_XPCConvert.cpp) = 915777e9bb5366be41866cdb6ea0ad2b1
SHA1 (patch-js_xpconnect_src_xpcprivate.h) = 8a15ff542c9d3fce448d9ec63706f7dfb411d926
SHA1 (patch-media_libcubeb_AUTHORS) = 3db32086f98c2bbe16e9394bb5121d7a95cdb4af
SHA1 (patch-media_libcubeb_src_cubeb.c) = effe8771e42adddb478ecb302352ef003bdd01db
-SHA1 (patch-media_libcubeb_src_cubeb__alsa.c) = 6c393966b3778f9a8d80ca1f56509096e50e0105
+SHA1 (patch-media_libcubeb_src_cubeb__alsa.c) = 3374e68df3d6fb9c0ff40aa0e5d164cb89c3f38a
SHA1 (patch-media_libcubeb_src_cubeb__oss.c) = 54e2a210411c7083bc395033fbf519d581bc4a62
SHA1 (patch-media_libcubeb_src_moz.build) = a793f0dd1bd90d9a9a967dbef8da1183cd909b7c
SHA1 (patch-media_libpng_pngpriv.h) = c9cefd1b5dd85fbd0c875c3f9bc108975398fe3a
@@ -114,7 +113,6 @@ SHA1 (patch-media_libvorbis_moz.build) = 927f7848305eb2341c9efa96800d30b4a1b8eaa
SHA1 (patch-media_libyuv_include_libyuv_scale__row.h) = 503b6f2065e9d548a1f01f7158d65874f4886c78
SHA1 (patch-media_mtransport_third__party_nICEr_src_util_mbslen.c) = 087e8788c72b96d2059ca82ce4282d78aed546da
SHA1 (patch-media_mtransport_third__party_nrappkit_src_port_generic_include_sys_queue.h) = de7055f891387f96f8fd32366c7189d480354e9e
-SHA1 (patch-media_webrtc_signaling_signaling.gyp) = 91d5fcc2409b1398c84dedc9697107f815de48fc
SHA1 (patch-media_webrtc_signaling_test_moz.build) = 2de45866c1c41f8a186586264fad3be90e30ba3b
SHA1 (patch-media_webrtc_trunk_webrtc_build_common.gypi) = 4ff5796e15d9aa6adb8495d6f2e5a7f0445a0fac
SHA1 (patch-media_webrtc_trunk_webrtc_modules_audio__coding_codecs_opus_opus.gypi) = ae0fcc32f7d146d2a494b42a58a9fcbb73c2a74c
@@ -124,14 +122,14 @@ SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_device__info_
SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__capture_linux_video__capture__linux.cc) = ffc1d956e826a0005b76285596ba24a2f4a3806c
SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__capture_video__capture.gypi) = d310cf4ebf4701d25a1865c7e651829be6d63b8c
SHA1 (patch-media_webrtc_trunk_webrtc_modules_video__coding_main_source_receiver.cc) = fba725b4cf0108bda503c33dbafa57c3ab1f4145
-SHA1 (patch-media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp) = 5b48bc7d172ef8b6601628cf097153c6c47c50c5
-SHA1 (patch-memory_build_mozjemalloc__compat.c) = ed02cd5d24ce4087de6ffe6fdb6eaa874195d2a9
+SHA1 (patch-media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp) = c09f0d234f70d48403b3b12866647c4cbc752396
+SHA1 (patch-memory_build_mozjemalloc__compat.c) = e43a0f593a524db1b325e0b6141f2630d63b9a5c
SHA1 (patch-memory_jemalloc_Makefile.in) = 772e996c8da254f952d0f3a0c9325a177c838543
-SHA1 (patch-memory_jemalloc_src_configure) = 563834e1a0dc0eba17b4f263de26787672ff9200
-SHA1 (patch-memory_mozalloc_VolatileBufferOSX.cpp) = 3ee53fd4213b6dab8bdce02b4c2f14cef7caaca8
+SHA1 (patch-memory_jemalloc_src_configure) = d1e27220b223266f7a7d362dca1621012f8d9d7f
SHA1 (patch-memory_mozalloc_mozalloc__abort.cpp) = 44cb29dac1e8032c3f58149227bfe5ad94e8edb9
+SHA1 (patch-memory_volatile_VolatileBufferOSX.cpp) = ebea8a615443206376cb4264ed43b5c74e029b7d
SHA1 (patch-mfbt_Alignment.h) = 9ebc9892fd11eba7105974979b54f4f8759b7749
-SHA1 (patch-mfbt_Attributes.h) = 0cf62084c0220a3fa46226714cea5c30b1b155e9
+SHA1 (patch-mfbt_Attributes.h) = 7ed4317e067d9f6dcd7faf39d6089e853fee1d6e
SHA1 (patch-mfbt_Poison.cpp) = f502581db96b3e5eca25a9aa9035f436e9167503
SHA1 (patch-mobile_android_installer_Makefile.in) = 3d6b7ea3fc6249f2f8ebc88f15f34495a0ef41d6
SHA1 (patch-mobile_android_installer_package-manifest.in) = 5826a6585e76eecad46e8c8bf3a9c4ded61b5748
@@ -140,8 +138,6 @@ SHA1 (patch-netwerk_base_public_nsNetUtil.h) = 764c6b776f7f9b38d260fb866eddf15f3
SHA1 (patch-netwerk_dns_Makefile.in) = b6bd9814d909dd6f7cff10dbeac3bedd79c2508e
SHA1 (patch-netwerk_dns_moz.build) = 01dd7d9094ddaeffbcd6cfa296e28fb56681b0e6
SHA1 (patch-netwerk_protocol_http_Http2Session.cpp) = 40f4a64657ea2dd0ddc6434cafcd181763ac31b6
-SHA1 (patch-netwerk_wifi_moz.build) = 7c84003d442f698b030f3fef91fea2f5537b404c
-SHA1 (patch-netwerk_wifi_nsWifiScannerFreeBSD.cpp) = d43961a396bccc6bbe1dba2b4c1f97d5017c6d6d
SHA1 (patch-pb) = 97c9b2e4cefd524dc6ba825f71c3da2a761aa1f4
SHA1 (patch-pc) = 8b2baa88f0983a2fef4f801cf6b1ae425f6c813a
SHA1 (patch-rc) = 2733724442a2cb49c5091146fd7e6001af686121
@@ -149,21 +145,22 @@ SHA1 (patch-security_manager_ssl_src_nsNSSComponent.cpp) = 28d216fb8dcb5968c1ff6
SHA1 (patch-toolkit_components_osfile_modules_osfile__unix__back.jsm) = 6b926ccd793391ad7bd7101635f4b3eefe3db130
SHA1 (patch-toolkit_components_osfile_modules_osfile__unix__front.jsm) = f5adba2137f2d7fd4d4a6a1e8ef8625866513890
SHA1 (patch-toolkit_library_moz.build) = 4a87e3a7eef8286a46b971fbc783c89ee4f769fa
-SHA1 (patch-toolkit_modules_GMPInstallManager.jsm) = 7e410806f44e7f20109260bef96cd13101c27664
-SHA1 (patch-toolkit_mozapps_extensions_internal_OpenH264Provider.jsm) = 75647c1b705bcac8b64064e1eea26cb15b435613
+SHA1 (patch-toolkit_modules_GMPInstallManager.jsm) = 9e7e7fcedb5c39b8312f63aa2dd5acd8a56d583a
+SHA1 (patch-toolkit_mozapps_extensions_internal_GMPProvider.jsm) = 93a6c4a3ccc42ecaf0e24b94b66bdd52ad8bbf4a
SHA1 (patch-toolkit_xre_nsAppRunner.cpp) = f335d64cb0e1d248fd2c41a167ee1874218e7db6
SHA1 (patch-toolkit_xre_nsEmbedFunctions.cpp) = 6ee6fba04a3ecc6596f8aed67f752a1075901fa8
SHA1 (patch-webapprt_moz.build) = 177468d5e12c49db1ad5376f0f3df34fa9df070c
-SHA1 (patch-widget_gtk_gtk3drawing.c) = 35f849793b8051b88921987bc07062a2b1619092
-SHA1 (patch-widget_gtk_nsLookAndFeel.cpp) = 34e87c51284cec254344993bfddbd6699bbc6117
-SHA1 (patch-widget_gtk_nsLookAndFeel.h) = a639562ca57e1353160b306c8b5805349b130a8a
+SHA1 (patch-widget_gtk_gtk2drawing.c) = dd63fd368a86aef1b9568ae625904ffd9542a874
+SHA1 (patch-widget_gtk_gtk3drawing.c) = 208fcd4a7804627bc34d220a1c2f21c5209c93a5
+SHA1 (patch-widget_gtk_gtkdrawing.h) = ca582ba4f09c4a31600dcb630a7997ed5db7a7b4
+SHA1 (patch-widget_gtk_nsNativeThemeGTK.cpp) = 12131a7e78f0bd6e9e1b8b98d5ac2a08c64be893
SHA1 (patch-xpcom_base_nsStackWalk.cpp) = b1a4587c193ac84a3159add1de1e6aa9c13f2f53
SHA1 (patch-xpcom_base_nscore.h) = f4fe66cc9e714a2101a4d1287359d1c300574438
SHA1 (patch-xpcom_build_PoisonIOInterposer.h) = b0a53ec580bf5c2277d19618c1240a447575ae68
SHA1 (patch-xpcom_build_XPCOMInit.cpp) = 9c0d4c7f937ccc127974a80c826316bfae9920f9
SHA1 (patch-xpcom_glue_standalone_nsXPCOMGlue.cpp) = a6ef7f490d52037d2a72d3d52d834a182a29eccb
SHA1 (patch-xpcom_reflect_xptcall_md_unix_Makefile.in) = 1e4d71a06b34556fa9339f97b75a065539baa511
-SHA1 (patch-xpcom_reflect_xptcall_md_unix_moz.build) = f213960ea7c0a55565a02d8b5c8215cb72f97714
+SHA1 (patch-xpcom_reflect_xptcall_md_unix_moz.build) = 2e6fbc64d78a3f035c6f9db9fffd0f1097420b58
SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__arm__netbsd.cpp) = 493d1433ae72bbd0c65ab3f51de43fb864a6f58d
SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__mips.S) = f310105510bb5fa6c6de122ebdebbfa18423d8d3
SHA1 (patch-xpcom_reflect_xptcall_md_unix_xptcinvoke__asm__ppc__netbsd.s) = 8e367d4d0baf24714ee80449fc8d6849ff08ca1c
diff --git a/www/firefox/mozilla-common.mk b/www/firefox/mozilla-common.mk
index d2c589362f4..301ab2b8ba0 100644
--- a/www/firefox/mozilla-common.mk
+++ b/www/firefox/mozilla-common.mk
@@ -1,4 +1,4 @@
-# $NetBSD: mozilla-common.mk,v 1.51 2015/03/17 03:19:08 ryoon Exp $
+# $NetBSD: mozilla-common.mk,v 1.52 2015/04/05 12:54:11 ryoon Exp $
#
# common Makefile fragment for mozilla packages based on gecko 2.0.
#
@@ -214,7 +214,7 @@ CONFIGURE_ENV+= ac_cv_sqlite_secure_delete=yes # c.f. patches/patch-al
BUILDLINK_API_DEPENDS.libevent+= libevent>=1.1
.include "../../devel/libevent/buildlink3.mk"
.include "../../devel/libffi/buildlink3.mk"
-BUILDLINK_API_DEPENDS.nspr+= nspr>=4.10.6
+BUILDLINK_API_DEPENDS.nspr+= nspr>=4.10.8
.include "../../devel/nspr/buildlink3.mk"
.include "../../textproc/icu/buildlink3.mk"
BUILDLINK_API_DEPENDS.nss+= nss>=3.17.4
diff --git a/www/firefox/patches/patch-aa b/www/firefox/patches/patch-aa
index df487907e98..28ca4efbc2a 100644
--- a/www/firefox/patches/patch-aa
+++ b/www/firefox/patches/patch-aa
@@ -1,4 +1,4 @@
-$NetBSD: patch-aa,v 1.35 2015/02/28 04:30:55 ryoon Exp $
+$NetBSD: patch-aa,v 1.36 2015/04/05 12:54:11 ryoon Exp $
* The profiler does not support Darwin/PPC so don't try to enable it
on that platform.
@@ -13,9 +13,9 @@ $NetBSD: patch-aa,v 1.35 2015/02/28 04:30:55 ryoon Exp $
heavy patching. Ideally they should be fixed individually but that
will be an extremely hard work, so don't define XP_MACOSX for now.
---- configure.in.orig 2015-02-17 21:40:40.000000000 +0000
+--- configure.in.orig 2015-03-27 02:20:20.000000000 +0000
+++ configure.in
-@@ -1766,7 +1766,13 @@ Linux)
+@@ -1767,7 +1767,13 @@ Linux)
MOZ_ENABLE_PROFILER_SPS=
esac
;;
@@ -30,7 +30,7 @@ $NetBSD: patch-aa,v 1.35 2015/02/28 04:30:55 ryoon Exp $
*)
MOZ_ENABLE_PROFILER_SPS=
;;
-@@ -1870,7 +1876,7 @@ case "$host" in
+@@ -1871,7 +1877,7 @@ case "$host" in
;;
*-darwin*)
@@ -39,7 +39,7 @@ $NetBSD: patch-aa,v 1.35 2015/02/28 04:30:55 ryoon Exp $
HOST_NSPR_MDCPUCFG='\"md/_darwin.cfg\"'
HOST_OPTIMIZE_FLAGS="${HOST_OPTIMIZE_FLAGS=-O3}"
;;
-@@ -2002,7 +2008,6 @@ case "$target" in
+@@ -1995,7 +2001,6 @@ case "$target" in
AC_DEFINE(XP_DARWIN)
_PLATFORM_DEFAULT_TOOLKIT='cairo-uikit'
else
@@ -47,7 +47,7 @@ $NetBSD: patch-aa,v 1.35 2015/02/28 04:30:55 ryoon Exp $
AC_DEFINE(XP_DARWIN)
_PLATFORM_DEFAULT_TOOLKIT='cairo-cocoa'
# The ExceptionHandling framework is needed for Objective-C exception
-@@ -2622,8 +2627,7 @@ MOZ_CXX11
+@@ -2615,8 +2620,7 @@ MOZ_CXX11
AC_LANG_C
@@ -57,7 +57,7 @@ $NetBSD: patch-aa,v 1.35 2015/02/28 04:30:55 ryoon Exp $
dnl ===============================================================
if test "$GNU_CC" -a "$OS_TARGET" != WINNT; then
AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE)
-@@ -3645,6 +3649,14 @@ if test -n "$YASM"; then
+@@ -3648,6 +3652,14 @@ if test -n "$YASM"; then
_YASM_BUILD=` echo ${YASM_VERSION} | $AWK -F\. '{ print $4 }'`
fi
@@ -72,7 +72,7 @@ $NetBSD: patch-aa,v 1.35 2015/02/28 04:30:55 ryoon Exp $
if test -z "$SKIP_LIBRARY_CHECKS"; then
dnl system JPEG support
dnl ========================================================
-@@ -3672,11 +3684,7 @@ if test "$MOZ_NATIVE_JPEG" = 1; then
+@@ -3675,11 +3687,7 @@ if test "$MOZ_NATIVE_JPEG" = 1; then
#include <jpeglib.h> ],
[ #if JPEG_LIB_VERSION < $MOZJPEG
#error "Insufficient JPEG library version ($MOZJPEG required)."
@@ -85,7 +85,7 @@ $NetBSD: patch-aa,v 1.35 2015/02/28 04:30:55 ryoon Exp $
MOZ_NATIVE_JPEG=1,
AC_MSG_ERROR([Insufficient JPEG library version for --with-system-jpeg]))
fi
-@@ -4391,6 +4399,10 @@ cairo-gonk)
+@@ -4392,6 +4400,10 @@ cairo-gonk)
esac
@@ -96,7 +96,16 @@ $NetBSD: patch-aa,v 1.35 2015/02/28 04:30:55 ryoon Exp $
AC_SUBST(MOZ_PDF_PRINTING)
if test "$MOZ_PDF_PRINTING"; then
PDF_SURFACE_FEATURE="#define CAIRO_HAS_PDF_SURFACE 1"
-@@ -5131,6 +5143,9 @@ if test -n "$MOZ_WEBRTC"; then
+@@ -4408,7 +4420,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
+@@ -5137,6 +5149,9 @@ if test -n "$MOZ_WEBRTC"; then
MOZ_VPX=1
MOZ_VPX_ERROR_CONCEALMENT=1
@@ -106,7 +115,7 @@ $NetBSD: patch-aa,v 1.35 2015/02/28 04:30:55 ryoon Exp $
dnl enable once Signaling lands
MOZ_WEBRTC_SIGNALING=1
AC_DEFINE(MOZ_WEBRTC_SIGNALING)
-@@ -5234,6 +5249,57 @@ if test "${ac_cv_c_attribute_aligned}" !
+@@ -5240,6 +5255,223 @@ if test "${ac_cv_c_attribute_aligned}" !
fi
dnl ========================================================
@@ -140,7 +149,7 @@ $NetBSD: patch-aa,v 1.35 2015/02/28 04:30:55 ryoon Exp $
+MOZ_NATIVE_VORBIS=)
+
+if test -n "$MOZ_NATIVE_VORBIS"; then
-+ PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.4)
++ PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.5)
+fi
+
+AC_SUBST(MOZ_NATIVE_VORBIS)
@@ -161,13 +170,89 @@ $NetBSD: patch-aa,v 1.35 2015/02/28 04:30:55 ryoon Exp $
+AC_SUBST(MOZ_NATIVE_TREMOR)
+
+dnl ========================================================
- dnl = Disable Opus audio codec support
- dnl ========================================================
- MOZ_ARG_DISABLE_BOOL(opus,
-@@ -5242,6 +5308,89 @@ MOZ_ARG_DISABLE_BOOL(opus,
- MOZ_OPUS=1)
-
- dnl ========================================================
++dnl Check for libopus
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-opus,
++[ --with-system-opus Use system libopus (located with pkgconfig)],
++MOZ_NATIVE_OPUS=1,
++MOZ_NATIVE_OPUS=)
++
++if test -n "$MOZ_NATIVE_OPUS"; then
++ PKG_CHECK_MODULES(MOZ_OPUS, opus >= 1.1)
++else
++ MOZ_OPUS_CFLAGS='-I$(topsrcdir)/media/libopus/include'
++fi
++
++AC_SUBST(MOZ_NATIVE_OPUS)
++
++dnl ========================================================
++dnl Check for libtheora
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-theora,
++[ --with-system-theora Use system libtheora (located with pkgconfig)],
++MOZ_NATIVE_THEORA=1,
++MOZ_NATIVE_THEORA=)
++
++if test -n "$MOZ_NATIVE_THEORA"; then
++ PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2)
++fi
++
++AC_SUBST(MOZ_NATIVE_THEORA)
++
++dnl ========================================================
++dnl Check for libspeex resampler
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-speex,
++[ --with-system-speex Use system libspeex (located with pkgconfig)],
++MOZ_NATIVE_SPEEX=1,
++MOZ_NATIVE_SPEEX=)
++
++if test -n "$MOZ_NATIVE_SPEEX"; then
++ PKG_CHECK_MODULES(MOZ_SPEEX, speexdsp >= 1.2)
++fi
++
++AC_SUBST(MOZ_NATIVE_SPEEX)
++
++dnl ========================================================
++dnl Check for libsoundtouch
++dnl ========================================================
++
++MOZ_ARG_WITH_BOOL(system-soundtouch,
++[ --with-system-soundtouch Use system libsoundtouch (located with pkgconfig)],
++MOZ_NATIVE_SOUNDTOUCH=1,
++MOZ_NATIVE_SOUNDTOUCH=)
++
++if test -n "$MOZ_NATIVE_SOUNDTOUCH"; then
++ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.8.0)
++
++ AC_LANG_SAVE
++ AC_LANG_CPLUSPLUS
++ _SAVE_CXXFLAGS=$CXXFLAGS
++ CXXFLAGS="$CXXFLAGS $MOZ_SOUNDTOUCH_CFLAGS"
++ AC_CACHE_CHECK(for soundtouch sample type,
++ ac_cv_soundtouch_sample_type,
++ [AC_TRY_COMPILE([#include <SoundTouch.h>
++ #ifndef SOUNDTOUCH_INTEGER_SAMPLES
++ #error soundtouch expects float samples
++ #endif],
++ [],
++ [ac_cv_soundtouch_sample_type=short],
++ [ac_cv_soundtouch_sample_type=float])])
++ CXXFLAGS=$_SAVE_CXXFLAGS
++ AC_LANG_RESTORE
++
++ if test \( -n "$MOZ_SAMPLE_TYPE_S16" -a "$ac_cv_soundtouch_sample_type" != short \) \
++ -o \( -n "$MOZ_SAMPLE_TYPE_FLOAT32" -a "$ac_cv_soundtouch_sample_type" != float \) ; then
++ AC_MSG_ERROR([SoundTouch library is built with incompatible sample type. Either rebuild the library with/without --enable-integer-samples, chase default Mozilla sample type or remove --with-system-soundtouch.])
++ fi
++fi
++
++AC_SUBST(MOZ_NATIVE_SOUNDTOUCH)
++
++dnl ========================================================
+dnl Check for libopus
+dnl ========================================================
+
@@ -254,7 +339,7 @@ $NetBSD: patch-aa,v 1.35 2015/02/28 04:30:55 ryoon Exp $
dnl = Disable VP8 decoder support
dnl ========================================================
MOZ_ARG_DISABLE_BOOL(webm,
-@@ -5600,6 +5749,67 @@ fi
+@@ -5594,6 +5826,67 @@ fi
AC_SUBST(MOZ_WEBM_ENCODER)
dnl ==================================
@@ -322,7 +407,7 @@ $NetBSD: patch-aa,v 1.35 2015/02/28 04:30:55 ryoon Exp $
dnl = Check alsa availability on Linux
dnl ==================================
-@@ -5613,12 +5823,23 @@ MOZ_ARG_ENABLE_BOOL(alsa,
+@@ -5607,12 +5900,23 @@ MOZ_ARG_ENABLE_BOOL(alsa,
MOZ_ALSA=1,
MOZ_ALSA=)
@@ -346,7 +431,7 @@ $NetBSD: patch-aa,v 1.35 2015/02/28 04:30:55 ryoon Exp $
AC_SUBST(MOZ_ALSA)
dnl ========================================================
-@@ -6046,7 +6267,9 @@ MOZ_ARG_DISABLE_BOOL(gamepad,
+@@ -6036,7 +6340,9 @@ MOZ_ARG_DISABLE_BOOL(gamepad,
if test "$MOZ_GAMEPAD"; then
case "$OS_TARGET" in
Darwin)
@@ -356,8 +441,8 @@ $NetBSD: patch-aa,v 1.35 2015/02/28 04:30:55 ryoon Exp $
+ fi
;;
WINNT)
- case "$MOZ_WINSDK_MAXVER" in
-@@ -8089,6 +8312,49 @@ if test "$USE_FC_FREETYPE"; then
+ MOZ_GAMEPAD_BACKEND=windows
+@@ -8033,6 +8339,49 @@ if test "$USE_FC_FREETYPE"; then
fi
dnl ========================================================
@@ -370,7 +455,7 @@ $NetBSD: patch-aa,v 1.35 2015/02/28 04:30:55 ryoon Exp $
+MOZ_NATIVE_HARFBUZZ=)
+
+if test -n "$MOZ_NATIVE_HARFBUZZ"; then
-+ PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 0.9.25)
++ PKG_CHECK_MODULES(MOZ_HARFBUZZ, harfbuzz >= 0.9.34)
+fi
+
+AC_SUBST(MOZ_NATIVE_HARFBUZZ)
@@ -407,12 +492,3 @@ $NetBSD: patch-aa,v 1.35 2015/02/28 04:30:55 ryoon Exp $
dnl Check for pixman and cairo
dnl ========================================================
-@@ -8344,7 +8610,7 @@ case "$OS_TARGET" in
- NECKO_WIFI=1
- fi
- ;;
-- Darwin|FreeBSD|SunOS|WINNT)
-+ Darwin|DragonFly|FreeBSD|SunOS|WINNT)
- NECKO_WIFI=1
- ;;
- Linux)
diff --git a/www/firefox/patches/patch-accessible_atk_Platform.cpp b/www/firefox/patches/patch-accessible_atk_Platform.cpp
new file mode 100644
index 00000000000..72942452792
--- /dev/null
+++ b/www/firefox/patches/patch-accessible_atk_Platform.cpp
@@ -0,0 +1,97 @@
+$NetBSD: patch-accessible_atk_Platform.cpp,v 1.1 2015/04/05 12:54:11 ryoon Exp $
+
+--- accessible/atk/Platform.cpp.orig 2015-03-27 02:20:15.000000000 +0000
++++ 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 sAtkBrid
+ "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&
+ 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&
+ }
+ return NS_OK;
+ }
+-#endif // (MOZ_WIDGET_GTK == 2)
+
+ void
+ a11y::PlatformInit()
+@@ -175,13 +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)();
++#if (MOZ_WIDGET_GTK == 3)
++ if (atk_bridge_adaptor_init) {
++ atk_bridge_adaptor_init(nullptr, nullptr);
++ } else {
++#endif
++ rv = LoadGtkModule(sAtkBridge);
++ if (NS_SUCCEEDED(rv)) {
++ (*sAtkBridge.init)();
++ }
++#if (MOZ_WIDGET_GTK == 3)
+ }
+-#else
+- atk_bridge_adaptor_init(nullptr, nullptr);
+ #endif
+
+ if (!sToplevel_event_hook_added) {
+@@ -210,7 +219,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 +229,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 a/www/firefox/patches/patch-config_external_moz.build b/www/firefox/patches/patch-config_external_moz.build
index fc1c5fdef34..4f92a331101 100644
--- a/www/firefox/patches/patch-config_external_moz.build
+++ b/www/firefox/patches/patch-config_external_moz.build
@@ -1,8 +1,8 @@
-$NetBSD: patch-config_external_moz.build,v 1.6 2015/01/16 22:42:09 ryoon Exp $
+$NetBSD: patch-config_external_moz.build,v 1.7 2015/04/05 12:54:11 ryoon Exp $
---- config/external/moz.build.orig 2015-01-09 04:38:18.000000000 +0000
+--- config/external/moz.build.orig 2015-03-27 02:20:20.000000000 +0000
+++ config/external/moz.build
-@@ -19,13 +19,19 @@ if CONFIG['MOZ_UPDATER']:
+@@ -19,10 +19,19 @@ if CONFIG['MOZ_UPDATER']:
# There's no "native brotli" yet, but probably in the future...
external_dirs += ['modules/brotli']
@@ -10,6 +10,9 @@ $NetBSD: patch-config_external_moz.build,v 1.6 2015/01/16 22:42:09 ryoon Exp $
+if not CONFIG['MOZ_NATIVE_OGG']:
+ external_dirs += ['media/libogg']
+
++if not CONFIG['MOZ_NATIVE_OPUS']:
++ external_dirs += ['media/libopus']
++
+if not CONFIG['MOZ_NATIVE_THEORA']:
+ external_dirs += ['media/libtheora']
+
@@ -20,12 +23,8 @@ $NetBSD: patch-config_external_moz.build,v 1.6 2015/01/16 22:42:09 ryoon Exp $
+if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_NATIVE_TREMOR']:
external_dirs += ['media/libtremor']
--if CONFIG['MOZ_OPUS']:
-+if CONFIG['MOZ_OPUS'] and not CONFIG['MOZ_NATIVE_OPUS']:
- external_dirs += ['media/libopus']
-
if CONFIG['MOZ_WEBM']:
-@@ -40,14 +46,16 @@ if CONFIG['MOZ_VPX'] and not CONFIG['MOZ
+@@ -37,15 +46,16 @@ if CONFIG['MOZ_VPX'] and not CONFIG['MOZ
if not CONFIG['MOZ_NATIVE_PNG']:
external_dirs += ['media/libpng']
@@ -39,6 +38,7 @@ $NetBSD: patch-config_external_moz.build,v 1.6 2015/01/16 22:42:09 ryoon Exp $
'media/kiss_fft',
'media/libcubeb',
- 'media/libogg',
+- 'media/libopus',
- 'media/libtheora',
- 'media/libspeex_resampler',
'media/libstagefright',
diff --git a/www/firefox/patches/patch-config_system-headers b/www/firefox/patches/patch-config_system-headers
index aabd1fea784..3d149be4be7 100644
--- a/www/firefox/patches/patch-config_system-headers
+++ b/www/firefox/patches/patch-config_system-headers
@@ -1,8 +1,24 @@
-$NetBSD: patch-config_system-headers,v 1.11 2014/12/01 18:11:14 ryoon Exp $
+$NetBSD: patch-config_system-headers,v 1.12 2015/04/05 12:54:11 ryoon Exp $
---- config/system-headers.orig 2014-11-21 03:37:23.000000000 +0000
+--- config/system-headers.orig 2015-03-27 02:20:20.000000000 +0000
+++ config/system-headers
-@@ -1267,7 +1267,6 @@ X11/Xlocale.h
+@@ -189,7 +189,6 @@ asm/signal.h
+ ASRegistry.h
+ assert.h
+ atk/atk.h
+-atk-bridge.h
+ atlcom.h
+ atlconv.h
+ atlctl.cpp
+@@ -636,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
++libv4l2.h
+ lib$routines.h
+ limits
+ limits.h
+@@ -1266,7 +1266,6 @@ X11/Xlocale.h
X11/Xos.h
X11/Xutil.h
zmouse.h
@@ -10,7 +26,7 @@ $NetBSD: patch-config_system-headers,v 1.11 2014/12/01 18:11:14 ryoon Exp $
#if MOZ_NATIVE_PNG==1
png.h
#endif
-@@ -1329,10 +1328,13 @@ vorbis/codec.h
+@@ -1328,10 +1327,13 @@ vorbis/codec.h
theora/theoradec.h
tremor/ivorbiscodec.h
speex/speex_resampler.h
@@ -24,7 +40,7 @@ $NetBSD: patch-config_system-headers,v 1.11 2014/12/01 18:11:14 ryoon Exp $
#endif
gst/gst.h
gst/app/gstappsink.h
-@@ -1361,3 +1363,37 @@ unicode/utypes.h
+@@ -1360,3 +1362,37 @@ unicode/utypes.h
#endif
libutil.h
unwind.h
diff --git a/www/firefox/patches/patch-dom_media_moz.build b/www/firefox/patches/patch-dom_media_moz.build
index efc6e78fa99..73c361f69f2 100644
--- a/www/firefox/patches/patch-dom_media_moz.build
+++ b/www/firefox/patches/patch-dom_media_moz.build
@@ -1,8 +1,8 @@
-$NetBSD: patch-dom_media_moz.build,v 1.1 2015/02/28 04:30:55 ryoon Exp $
+$NetBSD: patch-dom_media_moz.build,v 1.2 2015/04/05 12:54:11 ryoon Exp $
---- dom/media/moz.build.orig 2015-02-17 21:40:44.000000000 +0000
+--- dom/media/moz.build.orig 2015-03-27 02:20:26.000000000 +0000
+++ dom/media/moz.build
-@@ -270,6 +270,27 @@ if CONFIG['ANDROID_VERSION'] > '15':
+@@ -276,6 +276,27 @@ if CONFIG['ANDROID_VERSION'] > '15':
CFLAGS += CONFIG['GSTREAMER_CFLAGS']
CXXFLAGS += CONFIG['GSTREAMER_CFLAGS']
@@ -29,4 +29,4 @@ $NetBSD: patch-dom_media_moz.build,v 1.1 2015/02/28 04:30:55 ryoon Exp $
+
include('/ipc/chromium/chromium-config.mozbuild')
- FINAL_LIBRARY = 'xul'
+ # Suppress some GCC warnings being treated as errors:
diff --git a/www/firefox/patches/patch-dom_plugins_ipc_PluginModuleChild.cpp b/www/firefox/patches/patch-dom_plugins_ipc_PluginModuleChild.cpp
index 3c2fa7a73b0..43a34cb3089 100644
--- a/www/firefox/patches/patch-dom_plugins_ipc_PluginModuleChild.cpp
+++ b/www/firefox/patches/patch-dom_plugins_ipc_PluginModuleChild.cpp
@@ -1,8 +1,8 @@
-$NetBSD: patch-dom_plugins_ipc_PluginModuleChild.cpp,v 1.6 2015/02/28 04:30:55 ryoon Exp $
+$NetBSD: patch-dom_plugins_ipc_PluginModuleChild.cpp,v 1.7 2015/04/05 12:54:11 ryoon Exp $
---- dom/plugins/ipc/PluginModuleChild.cpp.orig 2015-02-17 21:40:45.000000000 +0000
+--- dom/plugins/ipc/PluginModuleChild.cpp.orig 2015-03-27 02:20:27.000000000 +0000
+++ dom/plugins/ipc/PluginModuleChild.cpp
-@@ -307,7 +307,7 @@ PluginModuleChild::InitForChrome(const s
+@@ -320,7 +320,7 @@ PluginModuleChild::InitForChrome(const s
// TODO: use PluginPRLibrary here
@@ -11,7 +11,7 @@ $NetBSD: patch-dom_plugins_ipc_PluginModuleChild.cpp,v 1.6 2015/02/28 04:30:55 r
mShutdownFunc =
(NP_PLUGINSHUTDOWN) PR_FindFunctionSymbol(mLibrary, "NP_Shutdown");
-@@ -1869,7 +1869,7 @@ PluginModuleChild::AnswerNP_GetEntryPoin
+@@ -1882,7 +1882,7 @@ PluginModuleChild::AnswerNP_GetEntryPoin
AssertPluginThread();
MOZ_ASSERT(mIsChrome);
@@ -20,12 +20,12 @@ $NetBSD: patch-dom_plugins_ipc_PluginModuleChild.cpp,v 1.6 2015/02/28 04:30:55 r
return true;
#elif defined(OS_WIN) || defined(OS_MACOSX)
*_retval = mGetEntryPointsFunc(&mFunctions);
-@@ -1899,7 +1899,7 @@ PluginModuleChild::AnswerNP_Initialize(c
- SendBackUpXResources(FileDescriptor(xSocketFd));
+@@ -1927,7 +1927,7 @@ PluginModuleChild::DoNP_Initialize(const
#endif
+ NPError result;
-#if defined(OS_LINUX) || defined(OS_BSD)
+#if defined(OS_LINUX) || defined(OS_BSD) || defined(OS_SOLARIS)
- *_retval = mInitializeFunc(&sBrowserFuncs, &mFunctions);
- return true;
+ result = mInitializeFunc(&sBrowserFuncs, &mFunctions);
#elif defined(OS_WIN) || defined(OS_MACOSX)
+ result = mInitializeFunc(&sBrowserFuncs);
diff --git a/www/firefox/patches/patch-extensions_spellcheck_hunspell_src_mozHunspell.cpp b/www/firefox/patches/patch-extensions_spellcheck_hunspell_src_mozHunspell.cpp
index 022dec7330c..58ec2c7d1c1 100644
--- a/www/firefox/patches/patch-extensions_spellcheck_hunspell_src_mozHunspell.cpp
+++ b/www/firefox/patches/patch-extensions_spellcheck_hunspell_src_mozHunspell.cpp
@@ -1,18 +1,20 @@
-$NetBSD: patch-extensions_spellcheck_hunspell_src_mozHunspell.cpp,v 1.8 2015/02/28 04:30:55 ryoon Exp $
+$NetBSD: patch-extensions_spellcheck_hunspell_src_mozHunspell.cpp,v 1.9 2015/04/05 12:54:11 ryoon Exp $
Load system hunspell dictionaries.
---- extensions/spellcheck/hunspell/src/mozHunspell.cpp.orig 2015-02-17 21:40:49.000000000 +0000
+--- extensions/spellcheck/hunspell/src/mozHunspell.cpp.orig 2015-03-27 02:20:32.000000000 +0000
+++ extensions/spellcheck/hunspell/src/mozHunspell.cpp
-@@ -400,6 +400,12 @@ mozHunspell::LoadDictionaryList(bool aNo
+@@ -400,6 +400,14 @@ mozHunspell::LoadDictionaryList(bool aNo
}
}
+ // load system hunspell dictionaries
-+ nsIFile* hunDir;
-+ NS_NewNativeLocalFile(NS_LITERAL_CSTRING("@PREFIX@/share/hunspell"),
-+ true, &hunDir);
-+ LoadDictionariesFromDir(hunDir);
++ nsCOMPtr<nsIFile> hunDir;
++ NS_NewNativeLocalFile(NS_LITERAL_CSTRING("/usr/pkg/share/hunspell"),
++ true, getter_AddRefs(hunDir));
++ if (hunDir) {
++ LoadDictionariesFromDir(hunDir);
++ }
+
// find dictionaries from extensions requiring restart
nsCOMPtr<nsISimpleEnumerator> dictDirs;
diff --git a/www/firefox/patches/patch-gfx_layers_basic_BasicCompositor.cpp b/www/firefox/patches/patch-gfx_layers_basic_BasicCompositor.cpp
index 03da1b19fcb..2be1d68a7c1 100644
--- a/www/firefox/patches/patch-gfx_layers_basic_BasicCompositor.cpp
+++ b/www/firefox/patches/patch-gfx_layers_basic_BasicCompositor.cpp
@@ -1,16 +1,11 @@
-$NetBSD: patch-gfx_layers_basic_BasicCompositor.cpp,v 1.1 2015/03/20 10:13:57 martin Exp $
+$NetBSD: patch-gfx_layers_basic_BasicCompositor.cpp,v 1.2 2015/04/05 12:54:11 ryoon Exp $
Part of the patch in https://bugzilla.mozilla.org/show_bug.cgi?id=1105087
diff -git a/gfx/layers/basic/BasicCompositor.cpp b/gfx/layers/basic/BasicCompositor.cpp
---- gfx/layers/basic/BasicCompositor.cpp
+--- gfx/layers/basic/BasicCompositor.cpp.orig 2015-03-27 02:20:33.000000000 +0000
+++ gfx/layers/basic/BasicCompositor.cpp
-@@ -12,18 +12,23 @@
- #include "gfx2DGlue.h"
- #include "mozilla/gfx/2D.h"
- #include "mozilla/gfx/Helpers.h"
- #include "gfxUtils.h"
- #include "YCbCrUtils.h"
+@@ -17,8 +17,13 @@
#include <algorithm>
#include "ImageContainer.h"
#include "gfxPrefs.h"
@@ -24,17 +19,7 @@ diff -git a/gfx/layers/basic/BasicCompositor.cpp b/gfx/layers/basic/BasicComposi
namespace mozilla {
using namespace mozilla::gfx;
-
- namespace layers {
-
- class DataTextureSourceBasic : public DataTextureSource
- , public TextureSourceBasic
-@@ -163,16 +168,17 @@ DrawSurfaceWithTextureCoords(DrawTarget
- // Only use REPEAT if aTextureCoords is outside (0, 0, 1, 1).
- gfx::Rect unitRect(0, 0, 1, 1);
- ExtendMode mode = unitRect.Contains(aTextureCoords) ? ExtendMode::CLAMP : ExtendMode::REPEAT;
-
- FillRectWithMask(aDest, aDestRect, aSource, aFilter, DrawOptions(aOpacity),
+@@ -177,6 +182,7 @@ DrawSurfaceWithTextureCoords(DrawTarget
mode, aMask, aMaskTransform, &matrix);
}
@@ -42,17 +27,7 @@ diff -git a/gfx/layers/basic/BasicCompositor.cpp b/gfx/layers/basic/BasicComposi
static SkMatrix
Matrix3DToSkia(const gfx3DMatrix& aMatrix)
{
- SkMatrix transform;
- transform.setAll(aMatrix._11,
- aMatrix._21,
- aMatrix._41,
- aMatrix._12,
-@@ -181,17 +187,17 @@ Matrix3DToSkia(const gfx3DMatrix& aMatri
- aMatrix._14,
- aMatrix._24,
- aMatrix._44);
-
- return transform;
+@@ -195,7 +201,7 @@ Matrix3DToSkia(const gfx3DMatrix& aMatri
}
static void
@@ -61,17 +36,7 @@ diff -git a/gfx/layers/basic/BasicCompositor.cpp b/gfx/layers/basic/BasicComposi
DataSourceSurface* aSource,
const gfx3DMatrix& aTransform,
const Point& aDestOffset)
- {
- if (aTransform.IsSingular()) {
- return;
- }
-
-@@ -220,16 +226,90 @@ SkiaTransform(DataSourceSurface* aDest,
-
- SkPaint paint;
- paint.setXfermodeMode(SkXfermode::kSrc_Mode);
- paint.setAntiAlias(true);
- paint.setFilterLevel(SkPaint::kLow_FilterLevel);
+@@ -234,6 +240,80 @@ SkiaTransform(DataSourceSurface* aDest,
SkRect destRect = SkRect::MakeXYWH(0, 0, srcSize.width, srcSize.height);
destCanvas.drawBitmapRectToRect(src, nullptr, destRect, &paint);
}
@@ -152,17 +117,7 @@ diff -git a/gfx/layers/basic/BasicCompositor.cpp b/gfx/layers/basic/BasicComposi
static inline IntRect
RoundOut(Rect r)
- {
- r.RoundOut();
- return IntRect(r.x, r.y, r.width, r.height);
- }
-
-@@ -364,17 +444,17 @@ BasicCompositor::DrawQuad(const gfx::Rec
- RefPtr<SourceSurface> snapshot = dest->Snapshot();
- RefPtr<DataSourceSurface> source = snapshot->GetDataSurface();
- RefPtr<DataSourceSurface> temp =
- Factory::CreateDataSourceSurface(RoundOut(transformBounds).Size(), SurfaceFormat::B8G8R8A8, true);
- if (NS_WARN_IF(!temp)) {
+@@ -378,7 +458,7 @@ BasicCompositor::DrawQuad(const gfx::Rec
return;
}
@@ -171,8 +126,3 @@ diff -git a/gfx/layers/basic/BasicCompositor.cpp b/gfx/layers/basic/BasicComposi
transformBounds.MoveTo(0, 0);
buffer->DrawSurface(temp, transformBounds, transformBounds);
- }
-
- buffer->PopClip();
- }
-
diff --git a/www/firefox/patches/patch-gfx_layers_basic_BasicLayerManager.cpp b/www/firefox/patches/patch-gfx_layers_basic_BasicLayerManager.cpp
index c92863fb109..72f5f691d98 100644
--- a/www/firefox/patches/patch-gfx_layers_basic_BasicLayerManager.cpp
+++ b/www/firefox/patches/patch-gfx_layers_basic_BasicLayerManager.cpp
@@ -1,17 +1,12 @@
-$NetBSD: patch-gfx_layers_basic_BasicLayerManager.cpp,v 1.1 2015/03/20 10:13:57 martin Exp $
+$NetBSD: patch-gfx_layers_basic_BasicLayerManager.cpp,v 1.2 2015/04/05 12:54:11 ryoon Exp $
Part of the patch in https://bugzilla.mozilla.org/show_bug.cgi?id=1105087
(sligthly modified to fix a compile error: PixmanTransform -> DrawTransform)
diff --git a/gfx/layers/basic/BasicLayerManager.cpp b/gfx/layers/basic/BasicLayerManager.cpp
---- gfx/layers/basic/BasicLayerManager.cpp.orig
+--- gfx/layers/basic/BasicLayerManager.cpp.orig 2015-03-27 02:20:33.000000000 +0000
+++ gfx/layers/basic/BasicLayerManager.cpp
-@@ -41,18 +41,23 @@
- #include "nsAutoPtr.h" // for nsRefPtr
- #include "nsCOMPtr.h" // for already_AddRefed
- #include "nsDebug.h" // for NS_ASSERTION, etc
- #include "nsISupportsImpl.h" // for gfxContext::Release, etc
- #include "nsPoint.h" // for nsIntPoint
+@@ -46,8 +46,13 @@
#include "nsRect.h" // for nsIntRect
#include "nsRegion.h" // for nsIntRegion, etc
#include "nsTArray.h" // for nsAutoTArray
@@ -25,17 +20,7 @@ diff --git a/gfx/layers/basic/BasicLayerManager.cpp b/gfx/layers/basic/BasicLaye
class nsIWidget;
namespace mozilla {
- namespace layers {
-
- using namespace mozilla::gfx;
-
- /**
-@@ -596,16 +601,17 @@ void
- BasicLayerManager::SetRoot(Layer* aLayer)
- {
- NS_ASSERTION(aLayer, "Root can't be null");
- NS_ASSERTION(aLayer->Manager() == this, "Wrong manager");
- NS_ASSERTION(InConstruction(), "Only allowed in construction phase");
+@@ -606,6 +611,7 @@ BasicLayerManager::SetRoot(Layer* aLayer
mRoot = aLayer;
}
@@ -43,17 +28,7 @@ diff --git a/gfx/layers/basic/BasicLayerManager.cpp b/gfx/layers/basic/BasicLaye
static SkMatrix
BasicLayerManager_Matrix3DToSkia(const gfx3DMatrix& aMatrix)
{
- SkMatrix transform;
- transform.setAll(aMatrix._11,
- aMatrix._21,
- aMatrix._41,
- aMatrix._12,
-@@ -614,17 +620,17 @@ BasicLayerManager_Matrix3DToSkia(const g
- aMatrix._14,
- aMatrix._24,
- aMatrix._44);
-
- return transform;
+@@ -624,7 +630,7 @@ BasicLayerManager_Matrix3DToSkia(const g
}
static void
@@ -62,17 +37,7 @@ diff --git a/gfx/layers/basic/BasicLayerManager.cpp b/gfx/layers/basic/BasicLaye
RefPtr<DataSourceSurface> aSrc,
const gfx3DMatrix& aTransform,
gfxPoint aDestOffset)
- {
- if (aTransform.IsSingular()) {
- return;
- }
-
-@@ -653,16 +659,89 @@ SkiaTransform(const gfxImageSurface* aDe
-
- SkPaint paint;
- paint.setXfermodeMode(SkXfermode::kSrc_Mode);
- paint.setAntiAlias(true);
- paint.setFilterLevel(SkPaint::kLow_FilterLevel);
+@@ -663,6 +669,79 @@ SkiaTransform(const gfxImageSurface* aDe
SkRect destRect = SkRect::MakeXYWH(0, 0, srcSize.width, srcSize.height);
destCanvas.drawBitmapRectToRect(src, nullptr, destRect, &paint);
}
@@ -152,17 +117,7 @@ diff --git a/gfx/layers/basic/BasicLayerManager.cpp b/gfx/layers/basic/BasicLaye
/**
* Transform a surface using a gfx3DMatrix and blit to the destination if
- * it is efficient to do so.
- *
- * @param aSource Source surface.
- * @param aDest Desintation context.
- * @param aBounds Area represented by aSource.
-@@ -694,17 +773,17 @@ Transform3D(RefPtr<SourceSurface> aSourc
- aDestRect.height),
- gfxImageFormat::ARGB32);
- gfxPoint offset = aDestRect.TopLeft();
-
- // Include a translation to the correct origin.
+@@ -704,7 +783,7 @@ Transform3D(RefPtr<SourceSurface> aSourc
gfx3DMatrix translation = gfx3DMatrix::Translation(aBounds.x, aBounds.y, 0);
// Transform the content and offset it such that the content begins at the origin.
@@ -171,8 +126,3 @@ diff --git a/gfx/layers/basic/BasicLayerManager.cpp b/gfx/layers/basic/BasicLaye
// If we haven't actually drawn to aDest then return our temporary image so
// that the caller can do this.
- return destImage.forget();
- }
-
- void
- BasicLayerManager::PaintSelfOrChildren(PaintLayerContext& aPaintContext,
diff --git a/www/firefox/patches/patch-intl_unicharutil_util_moz.build b/www/firefox/patches/patch-intl_unicharutil_util_moz.build
index 7fb76239f8c..5dea25dd9b7 100644
--- a/www/firefox/patches/patch-intl_unicharutil_util_moz.build
+++ b/www/firefox/patches/patch-intl_unicharutil_util_moz.build
@@ -1,11 +1,13 @@
-$NetBSD: patch-intl_unicharutil_util_moz.build,v 1.1 2014/12/01 18:11:14 ryoon Exp $
+$NetBSD: patch-intl_unicharutil_util_moz.build,v 1.2 2015/04/05 12:54:11 ryoon Exp $
---- intl/unicharutil/util/moz.build.orig 2014-11-21 03:37:32.000000000 +0000
+--- intl/unicharutil/util/moz.build.orig 2015-03-27 02:20:20.000000000 +0000
+++ intl/unicharutil/util/moz.build
-@@ -37,3 +37,6 @@ if CONFIG['_MSC_VER']:
-
+@@ -38,5 +38,8 @@ 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 a/www/firefox/patches/patch-js_src_dtoa.c b/www/firefox/patches/patch-js_src_dtoa.c
deleted file mode 100644
index 61eb150ae89..00000000000
--- a/www/firefox/patches/patch-js_src_dtoa.c
+++ /dev/null
@@ -1,12 +0,0 @@
-$NetBSD: patch-js_src_dtoa.c,v 1.1 2015/03/20 10:13:57 martin Exp $
-
-Fix Bug 1111395
-
---- js/src/dtoa.c.orig 2015-03-20 10:50:05.000000000 +0100
-+++ js/src/dtoa.c 2015-03-20 10:53:36.000000000 +0100
-@@ -3246,3 +3246,5 @@
- *rve = s;
- return s0;
- }
-+#undef CONST
-+
diff --git a/www/firefox/patches/patch-js_src_jit_MIR.cpp b/www/firefox/patches/patch-js_src_jit_MIR.cpp
index 46e1bf287d6..71bbf16bde6 100644
--- a/www/firefox/patches/patch-js_src_jit_MIR.cpp
+++ b/www/firefox/patches/patch-js_src_jit_MIR.cpp
@@ -1,8 +1,8 @@
-$NetBSD: patch-js_src_jit_MIR.cpp,v 1.1 2015/02/16 16:16:17 bad Exp $
+$NetBSD: patch-js_src_jit_MIR.cpp,v 1.2 2015/04/05 12:54:11 ryoon Exp $
---- js/src/jit/MIR.cpp.orig 2015-01-23 06:00:01.000000000 +0000
-+++ js/src/jit/MIR.cpp 2015-02-05 12:06:56.000000000 +0000
-@@ -68,7 +68,7 @@
+--- js/src/jit/MIR.cpp.orig 2015-03-27 02:20:25.000000000 +0000
++++ js/src/jit/MIR.cpp
+@@ -71,7 +71,7 @@ MDefinition::PrintOpcodeName(FILE *fp, M
const char *name = names[op];
size_t len = strlen(name);
for (size_t i = 0; i < len; i++)
@@ -10,4 +10,4 @@ $NetBSD: patch-js_src_jit_MIR.cpp,v 1.1 2015/02/16 16:16:17 bad Exp $
+ fprintf(fp, "%c", tolower(((unsigned char)name[i])));
}
- static MConstant *
+ const Value &
diff --git a/www/firefox/patches/patch-js_src_jit_none_Lowering-none.h b/www/firefox/patches/patch-js_src_jit_none_Lowering-none.h
deleted file mode 100644
index 7a1820538fe..00000000000
--- a/www/firefox/patches/patch-js_src_jit_none_Lowering-none.h
+++ /dev/null
@@ -1,14 +0,0 @@
-$NetBSD: patch-js_src_jit_none_Lowering-none.h,v 1.1 2015/03/20 10:13:57 martin Exp $
-
-Fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1145014
-
---- js/src/jit/none/Lowering-none.h.orig 2015-03-05 11:28:17.000000000 +0100
-+++ js/src/jit/none/Lowering-none.h 2015-03-20 10:21:36.000000000 +0100
-@@ -83,6 +83,7 @@
- bool visitCompareExchangeTypedArrayElement(MCompareExchangeTypedArrayElement *ins) { MOZ_CRASH(); }
- bool visitAsmJSCompareExchangeHeap(MAsmJSCompareExchangeHeap *ins) { MOZ_CRASH(); }
- bool visitAsmJSAtomicBinopHeap(MAsmJSAtomicBinopHeap *ins) { MOZ_CRASH(); }
-+ bool visitSubstr(MSubstr *ins) { MOZ_CRASH(); }
-
- LTableSwitch *newLTableSwitch(LAllocation, LDefinition, MTableSwitch *) { MOZ_CRASH(); }
- LTableSwitchV *newLTableSwitchV(MTableSwitch *) { MOZ_CRASH(); }
diff --git a/www/firefox/patches/patch-media_libcubeb_src_cubeb__alsa.c b/www/firefox/patches/patch-media_libcubeb_src_cubeb__alsa.c
index 06f42ff1992..5f5c7adefc3 100644
--- a/www/firefox/patches/patch-media_libcubeb_src_cubeb__alsa.c
+++ b/www/firefox/patches/patch-media_libcubeb_src_cubeb__alsa.c
@@ -1,10 +1,10 @@
-$NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon Exp $
+$NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.9 2015/04/05 12:54:11 ryoon Exp $
---- media/libcubeb/src/cubeb_alsa.c.orig 2015-02-17 21:40:41.000000000 +0000
+--- media/libcubeb/src/cubeb_alsa.c.orig 2015-03-27 02:20:23.000000000 +0000
+++ media/libcubeb/src/cubeb_alsa.c
-@@ -6,12 +6,18 @@
- */
+@@ -7,12 +7,18 @@
#undef NDEBUG
+ #define _DEFAULT_SOURCE
#define _BSD_SOURCE
+#if defined(__NetBSD__)
+#define _NETBSD_SOURCE
@@ -21,7 +21,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
#include <unistd.h>
#include <alsa/asoundlib.h>
#include "cubeb/cubeb.h"
-@@ -24,6 +30,51 @@
+@@ -25,6 +31,51 @@
#define ALSA_PA_PLUGIN "ALSA <-> PulseAudio PCM I/O Plugin"
@@ -73,7 +73,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
/* ALSA is not thread-safe. snd_pcm_t instances are individually protected
by the owning cubeb_stream's mutex. snd_pcm_t creation and destruction
is not thread-safe until ALSA 1.0.24 (see alsa-lib.git commit 91c9c8f1),
-@@ -64,6 +115,8 @@ struct cubeb {
+@@ -65,6 +116,8 @@ struct cubeb {
workaround is not required. */
snd_config_t * local_config;
int is_pa;
@@ -82,7 +82,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
};
enum stream_state {
-@@ -257,32 +310,35 @@ alsa_refill_stream(cubeb_stream * stm)
+@@ -258,32 +311,35 @@ alsa_refill_stream(cubeb_stream * stm)
long got;
void * p;
int draining;
@@ -137,7 +137,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
/* This should never happen. */
if ((unsigned int) avail > stm->buffer_size) {
-@@ -293,8 +349,8 @@ alsa_refill_stream(cubeb_stream * stm)
+@@ -294,8 +350,8 @@ alsa_refill_stream(cubeb_stream * stm)
available to write. If avail is still zero here, the stream must be in
a funky state, so recover and try again. */
if (avail == 0) {
@@ -148,7 +148,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
if (avail <= 0) {
pthread_mutex_unlock(&stm->mutex);
stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
-@@ -302,7 +358,7 @@ alsa_refill_stream(cubeb_stream * stm)
+@@ -303,7 +359,7 @@ alsa_refill_stream(cubeb_stream * stm)
}
}
@@ -157,7 +157,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
assert(p);
pthread_mutex_unlock(&stm->mutex);
-@@ -311,10 +367,11 @@ alsa_refill_stream(cubeb_stream * stm)
+@@ -312,10 +368,11 @@ alsa_refill_stream(cubeb_stream * stm)
if (got < 0) {
pthread_mutex_unlock(&stm->mutex);
stm->state_callback(stm, stm->user_ptr, CUBEB_STATE_ERROR);
@@ -170,7 +170,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
if (stm->params.format == CUBEB_SAMPLE_FLOAT32NE) {
float * b = (float *) p;
-@@ -327,14 +384,62 @@ alsa_refill_stream(cubeb_stream * stm)
+@@ -328,14 +385,62 @@ alsa_refill_stream(cubeb_stream * stm)
b[i] *= stm->volume;
}
}
@@ -241,7 +241,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
}
if (got != avail) {
long buffer_fill = stm->buffer_size - (avail - got);
-@@ -342,7 +447,7 @@ alsa_refill_stream(cubeb_stream * stm)
+@@ -343,7 +448,7 @@ alsa_refill_stream(cubeb_stream * stm)
/* Fill the remaining buffer with silence to guarantee one full period
has been written. */
@@ -250,7 +250,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
set_timeout(&stm->drain_timeout, buffer_time * 1000);
-@@ -453,26 +558,26 @@ get_slave_pcm_node(snd_config_t * lconf,
+@@ -454,26 +559,26 @@ get_slave_pcm_node(snd_config_t * lconf,
slave_def = NULL;
@@ -282,7 +282,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
if (r < 0) {
break;
}
-@@ -481,7 +586,7 @@ get_slave_pcm_node(snd_config_t * lconf,
+@@ -482,7 +587,7 @@ get_slave_pcm_node(snd_config_t * lconf,
if (r < 0 || r > (int) sizeof(node_name)) {
break;
}
@@ -291,7 +291,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
if (r < 0) {
break;
}
-@@ -490,7 +595,7 @@ get_slave_pcm_node(snd_config_t * lconf,
+@@ -491,7 +596,7 @@ get_slave_pcm_node(snd_config_t * lconf,
} while (0);
if (slave_def) {
@@ -300,7 +300,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
}
return NULL;
-@@ -513,22 +618,22 @@ init_local_config_with_workaround(char c
+@@ -514,22 +619,22 @@ init_local_config_with_workaround(char c
lconf = NULL;
@@ -327,7 +327,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
if (r < 0) {
break;
}
-@@ -537,7 +642,7 @@ init_local_config_with_workaround(char c
+@@ -538,7 +643,7 @@ init_local_config_with_workaround(char c
if (r < 0 || r > (int) sizeof(node_name)) {
break;
}
@@ -336,7 +336,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
if (r < 0) {
break;
}
-@@ -548,12 +653,12 @@ init_local_config_with_workaround(char c
+@@ -549,12 +654,12 @@ init_local_config_with_workaround(char c
}
/* Fetch the PCM node's type, and bail out if it's not the PulseAudio plugin. */
@@ -351,7 +351,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
if (r < 0) {
break;
}
-@@ -564,18 +669,18 @@ init_local_config_with_workaround(char c
+@@ -565,18 +670,18 @@ init_local_config_with_workaround(char c
/* Don't clobber an explicit existing handle_underrun value, set it only
if it doesn't already exist. */
@@ -373,7 +373,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
if (r < 0) {
break;
}
-@@ -583,7 +688,7 @@ init_local_config_with_workaround(char c
+@@ -584,7 +689,7 @@ init_local_config_with_workaround(char c
return lconf;
} while (0);
@@ -382,7 +382,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
return NULL;
}
-@@ -595,9 +700,9 @@ alsa_locked_pcm_open(snd_pcm_t ** pcm, s
+@@ -596,9 +701,9 @@ alsa_locked_pcm_open(snd_pcm_t ** pcm, s
pthread_mutex_lock(&cubeb_alsa_mutex);
if (local_config) {
@@ -394,7 +394,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
}
pthread_mutex_unlock(&cubeb_alsa_mutex);
-@@ -610,7 +715,7 @@ alsa_locked_pcm_close(snd_pcm_t * pcm)
+@@ -611,7 +716,7 @@ alsa_locked_pcm_close(snd_pcm_t * pcm)
int r;
pthread_mutex_lock(&cubeb_alsa_mutex);
@@ -403,7 +403,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
pthread_mutex_unlock(&cubeb_alsa_mutex);
return r;
-@@ -667,12 +772,65 @@ alsa_init(cubeb ** context, char const *
+@@ -668,12 +773,65 @@ alsa_init(cubeb ** context, char const *
pthread_attr_t attr;
snd_pcm_t * dummy;
@@ -470,7 +470,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
cubeb_alsa_error_handler_set = 1;
}
pthread_mutex_unlock(&cubeb_alsa_mutex);
-@@ -680,6 +838,8 @@ alsa_init(cubeb ** context, char const *
+@@ -681,6 +839,8 @@ alsa_init(cubeb ** context, char const *
ctx = calloc(1, sizeof(*ctx));
assert(ctx);
@@ -479,7 +479,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
ctx->ops = &alsa_ops;
r = pthread_mutex_init(&ctx->mutex, NULL);
-@@ -729,7 +889,7 @@ alsa_init(cubeb ** context, char const *
+@@ -730,7 +890,7 @@ alsa_init(cubeb ** context, char const *
config fails with EINVAL, the PA PCM is too old for this workaround. */
if (r == -EINVAL) {
pthread_mutex_lock(&cubeb_alsa_mutex);
@@ -488,7 +488,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
pthread_mutex_unlock(&cubeb_alsa_mutex);
ctx->local_config = NULL;
} else if (r >= 0) {
-@@ -768,9 +928,13 @@ alsa_destroy(cubeb * ctx)
+@@ -769,9 +929,13 @@ alsa_destroy(cubeb * ctx)
pthread_mutex_destroy(&ctx->mutex);
free(ctx->fds);
@@ -503,7 +503,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
pthread_mutex_unlock(&cubeb_alsa_mutex);
}
-@@ -838,7 +1002,7 @@ alsa_stream_init(cubeb * ctx, cubeb_stre
+@@ -839,7 +1003,7 @@ alsa_stream_init(cubeb * ctx, cubeb_stre
return CUBEB_ERROR;
}
@@ -512,7 +512,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
assert(r == 0);
/* Ugly hack: the PA ALSA plugin allows buffer configurations that can't
-@@ -848,23 +1012,23 @@ alsa_stream_init(cubeb * ctx, cubeb_stre
+@@ -849,23 +1013,23 @@ alsa_stream_init(cubeb * ctx, cubeb_stre
latency = latency < 500 ? 500 : latency;
}
@@ -542,7 +542,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
assert((nfds_t) r == stm->nfds);
r = pthread_cond_init(&stm->cond, NULL);
-@@ -895,7 +1059,7 @@ alsa_stream_destroy(cubeb_stream * stm)
+@@ -896,7 +1060,7 @@ alsa_stream_destroy(cubeb_stream * stm)
pthread_mutex_lock(&stm->mutex);
if (stm->pcm) {
if (stm->state == DRAINING) {
@@ -551,7 +551,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
}
alsa_locked_pcm_close(stm->pcm);
stm->pcm = NULL;
-@@ -905,7 +1069,10 @@ alsa_stream_destroy(cubeb_stream * stm)
+@@ -906,7 +1070,10 @@ alsa_stream_destroy(cubeb_stream * stm)
pthread_mutex_destroy(&stm->mutex);
r = pthread_cond_destroy(&stm->cond);
@@ -563,42 +563,42 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
alsa_unregister_stream(stm);
-@@ -937,12 +1104,12 @@ alsa_get_max_channel_count(cubeb * ctx,
+@@ -938,12 +1105,12 @@ alsa_get_max_channel_count(cubeb * ctx,
return CUBEB_ERROR;
}
-- rv = snd_pcm_hw_params_any(stm->pcm, hw_params);
-+ rv = WRAP(snd_pcm_hw_params_any)(stm->pcm, hw_params);
- if (rv < 0) {
+- r = snd_pcm_hw_params_any(stm->pcm, hw_params);
++ r = WRAP(snd_pcm_hw_params_any)(stm->pcm, hw_params);
+ if (r < 0) {
return CUBEB_ERROR;
}
-- rv = snd_pcm_hw_params_get_channels_max(hw_params, max_channels);
-+ rv = WRAP(snd_pcm_hw_params_get_channels_max)(hw_params, max_channels);
- if (rv < 0) {
+- r = snd_pcm_hw_params_get_channels_max(hw_params, max_channels);
++ r = WRAP(snd_pcm_hw_params_get_channels_max)(hw_params, max_channels);
+ if (r < 0) {
return CUBEB_ERROR;
}
-@@ -962,34 +1129,34 @@ alsa_get_preferred_sample_rate(cubeb * c
+@@ -963,34 +1130,34 @@ alsa_get_preferred_sample_rate(cubeb * c
/* get a pcm, disabling resampling, so we get a rate the
* hardware/dmix/pulse/etc. supports. */
-- rv = snd_pcm_open(&pcm, "", SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0);
-+ rv = WRAP(snd_pcm_open)(&pcm, "", SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0);
- if (rv < 0) {
+- r = snd_pcm_open(&pcm, "default", SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0);
++ r = WRAP(snd_pcm_open)(&pcm, "default", SND_PCM_STREAM_PLAYBACK | SND_PCM_NO_AUTO_RESAMPLE, 0);
+ if (r < 0) {
return CUBEB_ERROR;
}
-- rv = snd_pcm_hw_params_any(pcm, hw_params);
-+ rv = WRAP(snd_pcm_hw_params_any)(pcm, hw_params);
- if (rv < 0) {
+- r = snd_pcm_hw_params_any(pcm, hw_params);
++ r = WRAP(snd_pcm_hw_params_any)(pcm, hw_params);
+ if (r < 0) {
- snd_pcm_close(pcm);
+ WRAP(snd_pcm_close)(pcm);
return CUBEB_ERROR;
}
-- rv = snd_pcm_hw_params_get_rate(hw_params, rate, &dir);
-+ rv = WRAP(snd_pcm_hw_params_get_rate)(hw_params, rate, &dir);
- if (rv >= 0) {
+- r = snd_pcm_hw_params_get_rate(hw_params, rate, &dir);
++ r = WRAP(snd_pcm_hw_params_get_rate)(hw_params, rate, &dir);
+ if (r >= 0) {
/* There is a default rate: use it. */
- snd_pcm_close(pcm);
+ WRAP(snd_pcm_close)(pcm);
@@ -608,9 +608,9 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
/* Use a common rate, alsa may adjust it based on hw/etc. capabilities. */
*rate = 44100;
-- rv = snd_pcm_hw_params_set_rate_near(pcm, hw_params, rate, NULL);
-+ rv = WRAP(snd_pcm_hw_params_set_rate_near)(pcm, hw_params, rate, NULL);
- if (rv < 0) {
+- r = snd_pcm_hw_params_set_rate_near(pcm, hw_params, rate, NULL);
++ r = WRAP(snd_pcm_hw_params_set_rate_near)(pcm, hw_params, rate, NULL);
+ if (r < 0) {
- snd_pcm_close(pcm);
+ WRAP(snd_pcm_close)(pcm);
return CUBEB_ERROR;
@@ -621,7 +621,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
return CUBEB_OK;
}
-@@ -1013,7 +1180,7 @@ alsa_stream_start(cubeb_stream * stm)
+@@ -1014,7 +1181,7 @@ alsa_stream_start(cubeb_stream * stm)
ctx = stm->context;
pthread_mutex_lock(&stm->mutex);
@@ -630,7 +630,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
gettimeofday(&stm->last_activity, NULL);
pthread_mutex_unlock(&stm->mutex);
-@@ -1047,7 +1214,7 @@ alsa_stream_stop(cubeb_stream * stm)
+@@ -1048,7 +1215,7 @@ alsa_stream_stop(cubeb_stream * stm)
pthread_mutex_unlock(&ctx->mutex);
pthread_mutex_lock(&stm->mutex);
@@ -639,7 +639,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
pthread_mutex_unlock(&stm->mutex);
return CUBEB_OK;
-@@ -1063,14 +1230,17 @@ alsa_stream_get_position(cubeb_stream *
+@@ -1064,14 +1231,17 @@ alsa_stream_get_position(cubeb_stream *
pthread_mutex_lock(&stm->mutex);
delay = -1;
@@ -660,7 +660,7 @@ $NetBSD: patch-media_libcubeb_src_cubeb__alsa.c,v 1.8 2015/02/28 04:30:55 ryoon
*position = 0;
if (stm->write_position >= (snd_pcm_uframes_t) delay) {
-@@ -1089,7 +1259,7 @@ alsa_stream_get_latency(cubeb_stream * s
+@@ -1090,7 +1260,7 @@ alsa_stream_get_latency(cubeb_stream * s
snd_pcm_sframes_t delay;
/* This function returns the delay in frames until a frame written using
snd_pcm_writei is sent to the DAC. The DAC delay should be < 1ms anyways. */
diff --git a/www/firefox/patches/patch-media_webrtc_signaling_signaling.gyp b/www/firefox/patches/patch-media_webrtc_signaling_signaling.gyp
deleted file mode 100644
index fbd19cf4aec..00000000000
--- a/www/firefox/patches/patch-media_webrtc_signaling_signaling.gyp
+++ /dev/null
@@ -1,20 +0,0 @@
-$NetBSD: patch-media_webrtc_signaling_signaling.gyp,v 1.5 2014/04/30 15:07:18 ryoon Exp $
-
---- media/webrtc/signaling/signaling.gyp.orig 2014-04-18 02:03:50.000000000 +0000
-+++ media/webrtc/signaling/signaling.gyp
-@@ -825,14 +825,13 @@
- ['OS=="mac"', {
- 'defines' : [
- 'SIP_OS_OSX',
-- '_POSIX_SOURCE',
-+ # using BSD extensions, leave _POSIX_SOURCE undefined
- 'CPR_MEMORY_LITTLE_ENDIAN',
- 'NO_SOCKET_POLLING',
- 'USE_TIMER_SELECT_BASED',
- 'FULL_BUILD',
- 'STUBBED_OUT',
- 'USE_PRINTF',
-- '_DARWIN_C_SOURCE',
- 'NO_NSPR_10_SUPPORT',
- ],
- }],
diff --git a/www/firefox/patches/patch-media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp b/www/firefox/patches/patch-media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp
index 81b664254df..b3e211451c4 100644
--- a/www/firefox/patches/patch-media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp
+++ b/www/firefox/patches/patch-media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp
@@ -1,6 +1,6 @@
-$NetBSD: patch-media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp,v 1.6 2015/01/16 22:42:09 ryoon Exp $
+$NetBSD: patch-media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_spreadsort.hpp,v 1.7 2015/04/05 12:54:12 ryoon Exp $
---- media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp.orig 2015-01-09 04:38:22.000000000 +0000
+--- media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp.orig 2015-03-27 02:20:26.000000000 +0000
+++ media/webrtc/trunk/webrtc/system_wrappers/source/spreadsortlib/spreadsort.hpp
@@ -14,6 +14,13 @@ Cygwin fix provided by:
Scott McMurray
@@ -27,6 +27,6 @@ $NetBSD: patch-media_webrtc_trunk_webrtc_system__wrappers_source_spreadsortlib_s
+# endif
+#endif
+
- namespace boost {
- namespace detail {
- //This only works on unsigned data types
+ #ifdef getchar
+ #undef getchar
+ #endif
diff --git a/www/firefox/patches/patch-memory_build_mozjemalloc__compat.c b/www/firefox/patches/patch-memory_build_mozjemalloc__compat.c
index 0fb4c02e0d4..df18141c18c 100644
--- a/www/firefox/patches/patch-memory_build_mozjemalloc__compat.c
+++ b/www/firefox/patches/patch-memory_build_mozjemalloc__compat.c
@@ -1,35 +1,9 @@
-$NetBSD: patch-memory_build_mozjemalloc__compat.c,v 1.2 2015/02/28 04:30:55 ryoon Exp $
+$NetBSD: patch-memory_build_mozjemalloc__compat.c,v 1.3 2015/04/05 12:54:12 ryoon Exp $
---- memory/build/mozjemalloc_compat.c.orig 2015-02-17 21:40:46.000000000 +0000
+--- memory/build/mozjemalloc_compat.c.orig 2015-03-27 02:20:26.000000000 +0000
+++ memory/build/mozjemalloc_compat.c
-@@ -12,6 +12,8 @@
- #include "jemalloc_types.h"
- #include "mozilla/Types.h"
-
-+#include <stdbool.h>
-+
- #if defined(MOZ_NATIVE_JEMALLOC)
-
- MOZ_IMPORT_API int
-@@ -47,6 +49,16 @@ je_(nallocm)(size_t *rsize, size_t size,
- je_(mallctlbymib)(mib, miblen, &v, &sz, NULL, 0); \
- } while (0)
-
-+#define CTL_IJ_GET(n, v, i, j) do { \
-+ size_t mib[6]; \
-+ size_t miblen = sizeof(mib) / sizeof(mib[0]); \
-+ size_t sz = sizeof(v); \
-+ je_(mallctlnametomib)(n, mib, &miblen); \
-+ mib[2] = i; \
-+ mib[4] = j; \
-+ je_(mallctlbymib)(mib, miblen, &v, &sz, NULL, 0); \
-+} while (0)
-+
- MOZ_MEMORY_API size_t
- malloc_good_size_impl(size_t size)
- {
-@@ -61,6 +73,48 @@ malloc_good_size_impl(size_t size)
- return size;
+@@ -131,6 +131,48 @@ compute_bin_unused(unsigned int narenas)
+ return bin_unused;
}
+static size_t
@@ -77,13 +51,3 @@ $NetBSD: patch-memory_build_mozjemalloc__compat.c,v 1.2 2015/02/28 04:30:55 ryoo
MOZ_JEMALLOC_API void
jemalloc_stats_impl(jemalloc_stats_t *stats)
{
-@@ -93,7 +147,8 @@ jemalloc_stats_impl(jemalloc_stats_t *st
- // We could get this value out of base.c::base_pages, but that really should
- // be an upstream change, so don't worry about it for now.
- stats->bookkeeping = 0;
-- stats->bin_unused = 0;
-+
-+ stats->bin_unused = compute_bin_unused(narenas);
- }
-
- MOZ_JEMALLOC_API void
diff --git a/www/firefox/patches/patch-memory_jemalloc_src_configure b/www/firefox/patches/patch-memory_jemalloc_src_configure
index 8633d61d0bd..ccb02695371 100644
--- a/www/firefox/patches/patch-memory_jemalloc_src_configure
+++ b/www/firefox/patches/patch-memory_jemalloc_src_configure
@@ -1,31 +1,13 @@
-$NetBSD: patch-memory_jemalloc_src_configure,v 1.1 2014/10/05 01:59:08 ryoon Exp $
+$NetBSD: patch-memory_jemalloc_src_configure,v 1.2 2015/04/05 12:54:12 ryoon Exp $
---- memory/jemalloc/src/configure.orig 2014-09-24 01:05:32.000000000 +0000
+--- memory/jemalloc/src/configure.orig 2015-03-27 02:20:26.000000000 +0000
+++ memory/jemalloc/src/configure
-@@ -6344,7 +6344,7 @@ else
+@@ -6566,7 +6566,7 @@ else
+ LG_PAGE="detect"
fi
- if test "x$have_sbrk" = "x1" ; then
-- if test "x$sbrk_deprecated" == "x1" ; then
-+ if test "x$sbrk_deprecated" = "x1" ; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling dss allocation because sbrk is deprecated" >&5
- $as_echo "Disabling dss allocation because sbrk is deprecated" >&6; }
- enable_dss="0"
-@@ -6945,7 +6945,7 @@ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $je_cv_gcc_builtin_ffsl" >&5
- $as_echo "$je_cv_gcc_builtin_ffsl" >&6; }
-
--if test "x${je_cv_gcc_builtin_ffsl}" == "xyes" ; then
-+if test "x${je_cv_gcc_builtin_ffsl}" = "xyes" ; then
- $as_echo "#define JEMALLOC_INTERNAL_FFSL __builtin_ffsl" >>confdefs.h
-
- $as_echo "#define JEMALLOC_INTERNAL_FFS __builtin_ffs" >>confdefs.h
-@@ -6988,7 +6988,7 @@ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $je_cv_function_ffsl" >&5
- $as_echo "$je_cv_function_ffsl" >&6; }
-
-- if test "x${je_cv_function_ffsl}" == "xyes" ; then
-+ if test "x${je_cv_function_ffsl}" = "xyes" ; then
- $as_echo "#define JEMALLOC_INTERNAL_FFSL ffsl" >>confdefs.h
-
- $as_echo "#define JEMALLOC_INTERNAL_FFS ffs" >>confdefs.h
+-if test "x$LG_PAGE" == "xdetect"; then
++if test "x$LG_PAGE" = "xdetect"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking LG_PAGE" >&5
+ $as_echo_n "checking LG_PAGE... " >&6; }
+ if ${je_cv_lg_page+:} false; then :
diff --git a/www/firefox/patches/patch-memory_mozalloc_VolatileBufferOSX.cpp b/www/firefox/patches/patch-memory_mozalloc_VolatileBufferOSX.cpp
deleted file mode 100644
index 9f8c940a74f..00000000000
--- a/www/firefox/patches/patch-memory_mozalloc_VolatileBufferOSX.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD: patch-memory_mozalloc_VolatileBufferOSX.cpp,v 1.1 2015/01/30 07:32:24 pho Exp $
-
-Try to fallback to valloc(3) if posix_memalign(3) is not avialble. It
-has been added since MacOS 10.6.
-
---- memory/mozalloc/VolatileBufferOSX.cpp.orig 2015-01-28 23:40:15.000000000 +0000
-+++ memory/mozalloc/VolatileBufferOSX.cpp
-@@ -46,7 +46,14 @@ VolatileBuffer::Init(size_t aSize, size_
- }
-
- heap_alloc:
-+#if defined(HAVE_POSIX_MEMALIGN)
- (void)moz_posix_memalign(&mBuf, aAlignment, aSize);
-+#else
-+ MOZ_RELEASE_ASSERT(
-+ !(aAlignment > (size_t)getpagesize()),
-+ "Cannot fallback to valloc(3): alignment is larger than the page size");
-+ mBuf = valloc(aSize);
-+#endif
- mHeap = true;
- return !!mBuf;
- }
diff --git a/www/firefox/patches/patch-memory_volatile_VolatileBufferOSX.cpp b/www/firefox/patches/patch-memory_volatile_VolatileBufferOSX.cpp
new file mode 100644
index 00000000000..351093c491c
--- /dev/null
+++ b/www/firefox/patches/patch-memory_volatile_VolatileBufferOSX.cpp
@@ -0,0 +1,19 @@
+$NetBSD: patch-memory_volatile_VolatileBufferOSX.cpp,v 1.1 2015/04/05 12:54:12 ryoon Exp $
+
+--- memory/volatile/VolatileBufferOSX.cpp.orig 2015-03-27 02:20:26.000000000 +0000
++++ memory/volatile/VolatileBufferOSX.cpp
+@@ -47,7 +47,14 @@ VolatileBuffer::Init(size_t aSize, size_
+ }
+
+ heap_alloc:
++#if defined(HAVE_POSIX_MEMALIGN)
+ (void)moz_posix_memalign(&mBuf, aAlignment, aSize);
++#else
++ MOZ_RELEASE_ASSERT(
++ !(aAlignment > (size_t)getpagesize()),
++ "Cannot fallback to valloc(3): alignment is larger than the page size");
++ mBuf = valloc(aSize);
++#endif
+ mHeap = true;
+ return !!mBuf;
+ }
diff --git a/www/firefox/patches/patch-mfbt_Attributes.h b/www/firefox/patches/patch-mfbt_Attributes.h
index 58636ab1292..cb258b11cff 100644
--- a/www/firefox/patches/patch-mfbt_Attributes.h
+++ b/www/firefox/patches/patch-mfbt_Attributes.h
@@ -1,16 +1,16 @@
-$NetBSD: patch-mfbt_Attributes.h,v 1.2 2014/10/15 13:07:07 ryoon Exp $
+$NetBSD: patch-mfbt_Attributes.h,v 1.3 2015/04/05 12:54:12 ryoon Exp $
---- mfbt/Attributes.h.orig 2014-10-11 09:06:41.000000000 +0000
+--- mfbt/Attributes.h.orig 2015-03-27 02:20:26.000000000 +0000
+++ mfbt/Attributes.h
-@@ -51,6 +51,7 @@
+@@ -50,6 +50,7 @@
+ * don't indicate support for them here, due to
* http://stackoverflow.com/questions/20498142/visual-studio-2013-explicit-keyword-bug
*/
- # if _MSC_VER >= 1800
-+# define MOZ_HAVE_CXX11_ALIGNAS
- # define MOZ_HAVE_CXX11_DELETE
- # endif
- # if _MSC_VER >= 1700
-@@ -74,6 +75,9 @@
++# define MOZ_HAVE_CXX11_ALIGNAS
+ # define MOZ_HAVE_CXX11_FINAL final
+ # define MOZ_HAVE_CXX11_OVERRIDE
+ # define MOZ_HAVE_NEVER_INLINE __declspec(noinline)
+@@ -72,6 +73,9 @@
# ifndef __has_extension
# define __has_extension __has_feature /* compatibility, for older versions of clang */
# endif
@@ -20,7 +20,7 @@ $NetBSD: patch-mfbt_Attributes.h,v 1.2 2014/10/15 13:07:07 ryoon Exp $
# if __has_extension(cxx_constexpr)
# define MOZ_HAVE_CXX11_CONSTEXPR
# endif
-@@ -95,6 +99,9 @@
+@@ -90,6 +94,9 @@
# endif
#elif defined(__GNUC__)
# if defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L
diff --git a/www/firefox/patches/patch-netwerk_wifi_moz.build b/www/firefox/patches/patch-netwerk_wifi_moz.build
deleted file mode 100644
index 4a0aa840959..00000000000
--- a/www/firefox/patches/patch-netwerk_wifi_moz.build
+++ /dev/null
@@ -1,13 +0,0 @@
-$NetBSD: patch-netwerk_wifi_moz.build,v 1.8 2014/12/01 18:11:14 ryoon Exp $
-
---- netwerk/wifi/moz.build.orig 2014-11-21 03:37:47.000000000 +0000
-+++ netwerk/wifi/moz.build
-@@ -35,7 +35,7 @@ if CONFIG['OS_ARCH'] == 'Darwin':
- UNIFIED_SOURCES += [
- 'osx_corewlan.mm',
- ]
--elif CONFIG['OS_ARCH'] == 'FreeBSD':
-+elif CONFIG['OS_ARCH'] in ('DragonFly', 'FreeBSD'):
- UNIFIED_SOURCES += [
- 'nsWifiScannerFreeBSD.cpp',
- ]
diff --git a/www/firefox/patches/patch-netwerk_wifi_nsWifiScannerFreeBSD.cpp b/www/firefox/patches/patch-netwerk_wifi_nsWifiScannerFreeBSD.cpp
deleted file mode 100644
index 60db2b90e0b..00000000000
--- a/www/firefox/patches/patch-netwerk_wifi_nsWifiScannerFreeBSD.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-$NetBSD: patch-netwerk_wifi_nsWifiScannerFreeBSD.cpp,v 1.6 2014/12/01 18:11:14 ryoon Exp $
-
---- netwerk/wifi/nsWifiScannerFreeBSD.cpp.orig 2014-11-21 03:37:47.000000000 +0000
-+++ netwerk/wifi/nsWifiScannerFreeBSD.cpp
-@@ -13,7 +13,11 @@
- #include <sys/socket.h>
- #include <net/if.h>
- #include <net/if_media.h>
-+#ifdef __DragonFly__
-+#include <netproto/802_11/ieee80211_ioctl.h>
-+#else
- #include <net80211/ieee80211_ioctl.h>
-+#endif
-
- #include <ifaddrs.h>
- #include <string.h>
diff --git a/www/firefox/patches/patch-toolkit_modules_GMPInstallManager.jsm b/www/firefox/patches/patch-toolkit_modules_GMPInstallManager.jsm
index c343f4a3676..716c37ac0be 100644
--- a/www/firefox/patches/patch-toolkit_modules_GMPInstallManager.jsm
+++ b/www/firefox/patches/patch-toolkit_modules_GMPInstallManager.jsm
@@ -1,16 +1,16 @@
-$NetBSD: patch-toolkit_modules_GMPInstallManager.jsm,v 1.1 2014/10/15 13:43:32 ryoon Exp $
+$NetBSD: patch-toolkit_modules_GMPInstallManager.jsm,v 1.2 2015/04/05 12:54:12 ryoon Exp $
---- toolkit/modules/GMPInstallManager.jsm.orig 2014-10-11 09:06:48.000000000 +0000
+--- toolkit/modules/GMPInstallManager.jsm.orig 2015-03-27 02:20:31.000000000 +0000
+++ toolkit/modules/GMPInstallManager.jsm
-@@ -107,6 +107,7 @@ let GMPPrefs = {
+@@ -111,6 +111,7 @@ let GMPPrefs = {
*/
- KEY_LOG_ENABLED: "media.gmp-manager.log",
+ KEY_ADDON_ENABLED: "media.{0}.enabled",
KEY_ADDON_LAST_UPDATE: "media.{0}.lastUpdate",
+ KEY_ADDON_PATH: "media.{0}.path",
KEY_ADDON_VERSION: "media.{0}.version",
KEY_ADDON_AUTOUPDATE: "media.{0}.autoupdate",
- KEY_URL: "media.gmp-manager.url",
-@@ -888,9 +889,7 @@ GMPDownloader.prototype = {
+ KEY_ADDON_HIDDEN: "media.{0}.hidden",
+@@ -933,9 +934,7 @@ GMPDownloader.prototype = {
let gmpAddon = this._gmpAddon;
let installToDirPath = Cc["@mozilla.org/file/local;1"].
createInstance(Ci.nsIFile);
@@ -21,7 +21,7 @@ $NetBSD: patch-toolkit_modules_GMPInstallManager.jsm,v 1.1 2014/10/15 13:43:32 r
installToDirPath.initWithPath(path);
log.info("install to directory path: " + installToDirPath.path);
let gmpInstaller = new GMPExtractor(zipPath, installToDirPath.path);
-@@ -899,10 +898,12 @@ GMPDownloader.prototype = {
+@@ -944,10 +943,12 @@ GMPDownloader.prototype = {
// Success, set the prefs
let now = Math.round(Date.now() / 1000);
GMPPrefs.set(GMPPrefs.KEY_ADDON_LAST_UPDATE, now, gmpAddon.id);
diff --git a/www/firefox/patches/patch-toolkit_mozapps_extensions_internal_GMPProvider.jsm b/www/firefox/patches/patch-toolkit_mozapps_extensions_internal_GMPProvider.jsm
new file mode 100644
index 00000000000..7414c117140
--- /dev/null
+++ b/www/firefox/patches/patch-toolkit_mozapps_extensions_internal_GMPProvider.jsm
@@ -0,0 +1,126 @@
+$NetBSD: patch-toolkit_mozapps_extensions_internal_GMPProvider.jsm,v 1.1 2015/04/05 12:54:12 ryoon Exp $
+
+--- toolkit/mozapps/extensions/internal/GMPProvider.jsm.orig 2015-03-27 02:20:31.000000000 +0000
++++ toolkit/mozapps/extensions/internal/GMPProvider.jsm
+@@ -40,6 +40,7 @@ const KEY_LOGGING_LEVEL = KEY_LOG_B
+ const KEY_LOGGING_DUMP = KEY_LOG_BASE + "dump";
+ const KEY_EME_ENABLED = "media.eme.enabled"; // Global pref to enable/disable all EME plugins
+ const KEY_PLUGIN_ENABLED = "media.{0}.enabled";
++const KEY_PLUGIN_PATH = "media.{0}.path";
+ const KEY_PLUGIN_LAST_UPDATE = "media.{0}.lastUpdate";
+ const KEY_PLUGIN_VERSION = "media.{0}.version";
+ const KEY_PLUGIN_AUTOUPDATE = "media.{0}.autoupdate";
+@@ -165,8 +166,8 @@ function GMPWrapper(aPluginInfo) {
+ this._plugin.id + ") ");
+ Preferences.observe(GMPPrefs.getPrefKey(KEY_PLUGIN_ENABLED, this._plugin.id),
+ this.onPrefEnabledChanged, this);
+- Preferences.observe(GMPPrefs.getPrefKey(KEY_PLUGIN_VERSION, this._plugin.id),
+- this.onPrefVersionChanged, this);
++ Preferences.observe(GMPPrefs.getPrefKey(KEY_PLUGIN_PATH, this._plugin.id),
++ this.onPrefPathChanged, this);
+ if (this._plugin.isEME) {
+ Preferences.observe(GMPPrefs.getPrefKey(KEY_EME_ENABLED, this._plugin.id),
+ this.onPrefEnabledChanged, this);
+@@ -183,11 +184,8 @@ GMPWrapper.prototype = {
+
+ set gmpPath(aPath) { this._gmpPath = aPath; },
+ get gmpPath() {
+- if (!this._gmpPath && this.isInstalled) {
+- this._gmpPath = OS.Path.join(OS.Constants.Path.profileDir,
+- this._plugin.id,
+- GMPPrefs.get(KEY_PLUGIN_VERSION, null,
+- this._plugin.id));
++ if (!this._gmpPath) {
++ this._gmpPath = GMPPrefs.get(KEY_PLUGIN_PATH, null, this._plugin.id);
+ }
+ return this._gmpPath;
+ },
+@@ -202,8 +200,13 @@ GMPWrapper.prototype = {
+ get description() { return this._plugin.description; },
+ get fullDescription() { return this._plugin.fullDescription; },
+
+- get version() { return GMPPrefs.get(KEY_PLUGIN_VERSION, null,
+- this._plugin.id); },
++ get version() {
++ if (this.isInstalled) {
++ return GMPPrefs.get(KEY_PLUGIN_VERSION, null,
++ this._plugin.id);
++ }
++ return null;
++ },
+
+ get isActive() { return !this.userDisabled; },
+ get appDisabled() { return false; },
+@@ -346,24 +349,17 @@ GMPWrapper.prototype = {
+
+ get pluginMimeTypes() { return []; },
+ get pluginLibraries() {
+- if (this.isInstalled) {
+- let path = this.version;
+- return [path];
+- }
+- return [];
++ let path = GMPPrefs.get(KEY_PLUGIN_PATH, null, this._plugin.id);
++ return path && path.length ? [OS.Path.basename(path)] : [];
+ },
+ get pluginFullpath() {
+- if (this.isInstalled) {
+- let path = OS.Path.join(OS.Constants.Path.profileDir,
+- this._plugin.id,
+- this.version);
+- return [path];
+- }
+- return [];
++ let path = GMPPrefs.get(KEY_PLUGIN_PATH, null, this._plugin.id);
++ return path && path.length ? [path] : [];
+ },
+
+ get isInstalled() {
+- return this.version && this.version.length > 0;
++ let path = GMPPrefs.get(KEY_PLUGIN_PATH, null, this._plugin.id);
++ return path && path.length > 0;
+ },
+
+ onPrefEnabledChanged: function() {
+@@ -386,10 +382,10 @@ GMPWrapper.prototype = {
+ this);
+ },
+
+- onPrefVersionChanged: function() {
++ onPrefPathChanged: function() {
+ AddonManagerPrivate.callAddonListeners("onUninstalling", this, false);
+ if (this._gmpPath) {
+- this._log.info("onPrefVersionChanged() - unregistering gmp directory " +
++ this._log.info("onPrefPathChanged() - unregistering gmp directory " +
+ this._gmpPath);
+ gmpService.removePluginDirectory(this._gmpPath);
+ }
+@@ -397,15 +393,9 @@ GMPWrapper.prototype = {
+
+ AddonManagerPrivate.callInstallListeners("onExternalInstall", null, this,
+ null, false);
+- this._gmpPath = null;
+- if (this.isInstalled) {
+- this._gmpPath = OS.Path.join(OS.Constants.Path.profileDir,
+- this._plugin.id,
+- GMPPrefs.get(KEY_PLUGIN_VERSION, null,
+- this._plugin.id));
+- }
++ this._gmpPath = GMPPrefs.get(KEY_PLUGIN_PATH, null, this._plugin.id);
+ if (this._gmpPath && this.isActive) {
+- this._log.info("onPrefVersionChanged() - registering gmp directory " +
++ this._log.info("onPrefPathChanged() - registering gmp directory " +
+ this._gmpPath);
+ gmpService.addPluginDirectory(this._gmpPath);
+ }
+@@ -415,8 +405,8 @@ GMPWrapper.prototype = {
+ shutdown: function() {
+ Preferences.ignore(GMPPrefs.getPrefKey(KEY_PLUGIN_ENABLED, this._plugin.id),
+ this.onPrefEnabledChanged, this);
+- Preferences.ignore(GMPPrefs.getPrefKey(KEY_PLUGIN_VERSION, this._plugin.id),
+- this.onPrefVersionChanged, this);
++ Preferences.ignore(GMPPrefs.getPrefKey(KEY_PLUGIN_PATH, this._plugin.id),
++ this.onPrefPathChanged, this);
+ if (this._isEME) {
+ Preferences.ignore(GMPPrefs.getPrefKey(KEY_EME_ENABLED, this._plugin.id),
+ this.onPrefEnabledChanged, this);
diff --git a/www/firefox/patches/patch-toolkit_mozapps_extensions_internal_OpenH264Provider.jsm b/www/firefox/patches/patch-toolkit_mozapps_extensions_internal_OpenH264Provider.jsm
deleted file mode 100644
index 8d32150d664..00000000000
--- a/www/firefox/patches/patch-toolkit_mozapps_extensions_internal_OpenH264Provider.jsm
+++ /dev/null
@@ -1,118 +0,0 @@
-$NetBSD: patch-toolkit_mozapps_extensions_internal_OpenH264Provider.jsm,v 1.1 2014/10/15 13:43:32 ryoon Exp $
-
---- toolkit/mozapps/extensions/internal/OpenH264Provider.jsm.orig 2014-10-11 09:06:49.000000000 +0000
-+++ toolkit/mozapps/extensions/internal/OpenH264Provider.jsm
-@@ -29,6 +29,7 @@ const SEC_IN_A_DAY = 24 * 6
- const OPENH264_PLUGIN_ID = "gmp-gmpopenh264";
- const OPENH264_PREF_BRANCH = "media." + OPENH264_PLUGIN_ID + ".";
- const OPENH264_PREF_ENABLED = "enabled";
-+const OPENH264_PREF_PATH = "path";
- const OPENH264_PREF_VERSION = "version";
- const OPENH264_PREF_LASTUPDATE = "lastUpdate";
- const OPENH264_PREF_AUTOUPDATE = "autoupdate";
-@@ -99,7 +100,12 @@ let OpenH264Wrapper = {
- get description() { return pluginsBundle.GetStringFromName("openH264_description"); },
- get fullDescription() { return OPENH264_FULLDESCRIPTION; },
-
-- get version() { return prefs.get(OPENH264_PREF_VERSION, ""); },
-+ get version() {
-+ if (this.isInstalled) {
-+ return prefs.get(OPENH264_PREF_VERSION, "");
-+ }
-+ return "";
-+ },
-
- get isActive() { return !this.userDisabled; },
- get appDisabled() { return false; },
-@@ -223,24 +229,17 @@ let OpenH264Wrapper = {
-
- get pluginMimeTypes() { return []; },
- get pluginLibraries() {
-- if (this.isInstalled) {
-- let path = this.version;
-- return [path];
-- }
-- return [];
-+ let path = prefs.get(OPENH264_PREF_PATH, null);
-+ return path && path.length ? [OS.Path.basename(path)] : [];
- },
- get pluginFullpath() {
-- if (this.isInstalled) {
-- let path = OS.Path.join(OS.Constants.Path.profileDir,
-- OPENH264_PLUGIN_ID,
-- this.version);
-- return [path];
-- }
-- return [];
-+ let path = prefs.get(OPENH264_PREF_PATH, null);
-+ return path && path.length ? [path] : [];
- },
-
- get isInstalled() {
-- return this.version.length > 0;
-+ let path = prefs.get(OPENH264_PREF_PATH, "");
-+ return path.length > 0;
- },
- };
-
-@@ -251,19 +250,14 @@ let OpenH264Provider = {
- "OpenH264Provider" + "::");
- OpenH264Wrapper._log = Log.repository.getLoggerWithMessagePrefix("Toolkit.OpenH264Provider",
- "OpenH264Wrapper" + "::");
-- this.gmpPath = null;
-- if (OpenH264Wrapper.isInstalled) {
-- this.gmpPath = OS.Path.join(OS.Constants.Path.profileDir,
-- OPENH264_PLUGIN_ID,
-- prefs.get(OPENH264_PREF_VERSION, null));
-- }
-+ this.gmpPath = prefs.get(OPENH264_PREF_PATH, null);
- let enabled = prefs.get(OPENH264_PREF_ENABLED, true);
- this._log.trace("startup() - enabled=" + enabled + ", gmpPath="+this.gmpPath);
-
-
- Services.obs.addObserver(this, AddonManager.OPTIONS_NOTIFICATION_DISPLAYED, false);
- prefs.observe(OPENH264_PREF_ENABLED, this.onPrefEnabledChanged, this);
-- prefs.observe(OPENH264_PREF_VERSION, this.onPrefVersionChanged, this);
-+ prefs.observe(OPENH264_PREF_PATH, this.onPrefPathChanged, this);
- prefs.observe(OPENH264_PREF_LOGGING, configureLogging);
-
- if (this.gmpPath && enabled) {
-@@ -280,7 +274,7 @@ let OpenH264Provider = {
- this._log.trace("shutdown()");
- Services.obs.removeObserver(this, AddonManager.OPTIONS_NOTIFICATION_DISPLAYED);
- prefs.ignore(OPENH264_PREF_ENABLED, this.onPrefEnabledChanged, this);
-- prefs.ignore(OPENH264_PREF_VERSION, this.onPrefVersionChanged, this);
-+ prefs.ignore(OPENH264_PREF_PATH, this.onPrefPathChanged, this);
- prefs.ignore(OPENH264_PREF_LOGGING, configureLogging);
-
- return OpenH264Wrapper._updateTask;
-@@ -306,25 +300,20 @@ let OpenH264Provider = {
- wrapper);
- },
-
-- onPrefVersionChanged: function() {
-+ onPrefPathChanged: function() {
- let wrapper = OpenH264Wrapper;
-
- AddonManagerPrivate.callAddonListeners("onUninstalling", wrapper, false);
- if (this.gmpPath) {
-- this._log.info("onPrefVersionChanged() - unregistering gmp directory " + this.gmpPath);
-+ this._log.info("onPrefPathChanged() - removing gmp directory " + this.gmpPath);
- gmpService.removePluginDirectory(this.gmpPath);
- }
- AddonManagerPrivate.callAddonListeners("onUninstalled", wrapper);
-
- AddonManagerPrivate.callInstallListeners("onExternalInstall", null, wrapper, null, false);
-- this.gmpPath = null;
-- if (OpenH264Wrapper.isInstalled) {
-- this.gmpPath = OS.Path.join(OS.Constants.Path.profileDir,
-- OPENH264_PLUGIN_ID,
-- prefs.get(OPENH264_PREF_VERSION, null));
-- }
-+ this.gmpPath = prefs.get(OPENH264_PREF_PATH, null);
- if (this.gmpPath && wrapper.isActive) {
-- this._log.info("onPrefVersionChanged() - registering gmp directory " + this.gmpPath);
-+ this._log.info("onPrefPathChanged() - adding gmp directory " + this.gmpPath);
- gmpService.addPluginDirectory(this.gmpPath);
- }
- AddonManagerPrivate.callAddonListeners("onInstalled", wrapper);
diff --git a/www/firefox/patches/patch-widget_gtk_gtk2drawing.c b/www/firefox/patches/patch-widget_gtk_gtk2drawing.c
new file mode 100644
index 00000000000..1b339e7dca8
--- /dev/null
+++ b/www/firefox/patches/patch-widget_gtk_gtk2drawing.c
@@ -0,0 +1,22 @@
+$NetBSD: patch-widget_gtk_gtk2drawing.c,v 1.3 2015/04/05 12:54:12 ryoon Exp $
+
+--- widget/gtk/gtk2drawing.c.orig 2015-03-27 02:20:33.000000000 +0000
++++ widget/gtk/gtk2drawing.c
+@@ -831,7 +831,7 @@ moz_gtk_get_focus_outline_size(gint* foc
+ 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 orient
+ 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 };
diff --git a/www/firefox/patches/patch-widget_gtk_gtk3drawing.c b/www/firefox/patches/patch-widget_gtk_gtk3drawing.c
index bbfde46ed3d..e398c2b4d52 100644
--- a/www/firefox/patches/patch-widget_gtk_gtk3drawing.c
+++ b/www/firefox/patches/patch-widget_gtk_gtk3drawing.c
@@ -1,69 +1,481 @@
-$NetBSD: patch-widget_gtk_gtk3drawing.c,v 1.2 2015/01/16 22:42:09 ryoon Exp $
+$NetBSD: patch-widget_gtk_gtk3drawing.c,v 1.3 2015/04/05 12:54:12 ryoon Exp $
---- widget/gtk/gtk3drawing.c.orig 2015-01-09 04:38:28.000000000 +0000
+--- widget/gtk/gtk3drawing.c.orig 2015-03-27 02:20:33.000000000 +0000
+++ widget/gtk/gtk3drawing.c
-@@ -64,6 +64,7 @@ static GtkWidget* gScrolledWindowWidget;
+@@ -762,37 +762,17 @@ moz_gtk_radio_get_metrics(gint* indicato
+ 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;
- static style_prop_t style_prop_func;
- static gboolean have_arrow_scaling;
-+static gboolean checkbox_check_state;
- static gboolean is_initialized;
+ 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);
- #define ARROW_UP 0
-@@ -71,6 +72,10 @@ static gboolean is_initialized;
- #define ARROW_RIGHT G_PI_2
- #define ARROW_LEFT (G_PI+G_PI_2)
++ 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;
+ }
-+#if !GTK_CHECK_VERSION(3,14,0)
-+#define GTK_STATE_FLAG_CHECKED (1 << 11)
-+#endif
-+
- static GtkStateFlags
- GetStateFlagsFromGtkWidgetState(GtkWidgetState* state)
+@@ -880,24 +860,6 @@ moz_gtk_splitter_get_metrics(gint orient
+ 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, GdkRec
+ 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, GdkRec
+ }
+
+ 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* b
+ GtkTextDirection direction,
+ gboolean ignore_focus)
{
-@@ -714,6 +719,11 @@ moz_gtk_init()
- is_initialized = TRUE;
- have_arrow_scaling = (gtk_major_version > 2 ||
- (gtk_major_version == 2 && gtk_minor_version >= 12));
-+ if (gtk_major_version > 3 ||
-+ (gtk_major_version == 3 && gtk_minor_version >= 14))
-+ checkbox_check_state = GTK_STATE_FLAG_CHECKED;
-+ else
-+ checkbox_check_state = GTK_STATE_FLAG_ACTIVE;
-
- /* Add style property to GtkEntry.
- * Adding the style property to the normal GtkEntry class means that it
-@@ -1004,10 +1014,10 @@ moz_gtk_toggle_paint(cairo_t *cr, GdkRec
- gtk_widget_set_sensitive(w, !state->disabled);
- gtk_widget_set_direction(w, direction);
+- 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;
+ }
+@@ -1230,6 +1163,7 @@ moz_gtk_scrollbar_thumb_paint(GtkThemeWi
+ GtkStyleContext* style;
+ GtkScrollbar *scrollbar;
+ GtkAdjustment *adj;
++ GtkBorder margin;
+
+ ensure_scrollbar_widget();
+
+@@ -1239,15 +1173,20 @@ moz_gtk_scrollbar_thumb_paint(GtkThemeWi
+ 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);
--
+-
+
- if (isradio) {
- gtk_style_context_add_class(style, GTK_STYLE_CLASS_RADIO);
-- gtk_style_context_set_state(style, selected ? GTK_STATE_FLAG_ACTIVE :
-+ gtk_style_context_set_state(style, selected ? checkbox_check_state :
- GTK_STATE_FLAG_NORMAL);
- gtk_render_option(style, cr, x, y, width, height);
- if (state->focused) {
-@@ -1025,7 +1035,7 @@ moz_gtk_toggle_paint(cairo_t *cr, GdkRec
- gtk_style_context_set_state(style, GTK_STATE_FLAG_INCONSISTENT);
- gtk_toggle_button_set_inconsistent(GTK_TOGGLE_BUTTON(gCheckboxWidget), TRUE);
- } else if (selected) {
-- gtk_style_context_set_state(style, GTK_STATE_FLAG_ACTIVE);
-+ gtk_style_context_set_state(style, checkbox_check_state);
- } else {
- gtk_toggle_button_set_inconsistent(GTK_TOGGLE_BUTTON(gCheckboxWidget), FALSE);
- }
-@@ -2588,8 +2598,9 @@ moz_gtk_check_menu_item_paint(cairo_t *c
- gtk_style_context_add_class(style, GTK_STYLE_CLASS_CHECK);
+ 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);
+
+@@ -1451,19 +1390,12 @@ moz_gtk_entry_paint(cairo_t *cr, GdkRect
+ {
+ 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;
+@@ -1495,14 +1427,6 @@ moz_gtk_entry_paint(cairo_t *cr, GdkRect
+ /* 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) {
+@@ -1514,11 +1438,6 @@ moz_gtk_entry_paint(cairo_t *cr, GdkRect
}
+ gtk_render_frame(style, cr, x, y, width, height);
-- if (checked)
-- state_flags |= GTK_STATE_FLAG_ACTIVE;
-+ if (checked) {
-+ state_flags |= checkbox_check_state;
-+ }
-
+- 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;
+@@ -1823,8 +1742,6 @@ moz_gtk_container_paint(cairo_t *cr, Gdk
+ GtkStateFlags state_flags = GetStateFlagsFromGtkWidgetState(state);
+ GtkStyleContext* style;
+ GtkWidget *widget;
+- gboolean interior_focus;
+- gint focus_width, focus_pad;
+
+ if (isradio) {
+ ensure_radiobutton_widget();
+@@ -1837,7 +1754,6 @@ moz_gtk_container_paint(cairo_t *cr, Gdk
+
+ 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);
- gtk_style_context_get_padding(style, state_flags, &padding);
+
+ /* this is for drawing a prelight box */
+@@ -1846,10 +1762,6 @@ moz_gtk_container_paint(cairo_t *cr, Gdk
+ 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;
+@@ -1862,7 +1774,6 @@ moz_gtk_toggle_label_paint(cairo_t *cr,
+ {
+ GtkStyleContext *style;
+ GtkWidget *widget;
+- gboolean interior_focus;
+
+ if (!state->focused)
+ return MOZ_GTK_SUCCESS;
+@@ -1883,10 +1794,6 @@ moz_gtk_toggle_label_paint(cairo_t *cr,
+ }
+ 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);
+@@ -2684,26 +2591,18 @@ moz_gtk_get_widget_border(GtkThemeWidget
+ 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:
+@@ -2711,7 +2610,13 @@ moz_gtk_get_widget_border(GtkThemeWidget
+ 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:
+@@ -2731,23 +2636,15 @@ moz_gtk_get_widget_border(GtkThemeWidget
+ * 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:
+@@ -2767,29 +2664,23 @@ moz_gtk_get_widget_border(GtkThemeWidget
+ /* 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;
+@@ -2841,60 +2732,23 @@ moz_gtk_get_widget_border(GtkThemeWidget
+ 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:
+@@ -2921,6 +2775,8 @@ moz_gtk_get_widget_border(GtkThemeWidget
+ 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:
diff --git a/www/firefox/patches/patch-widget_gtk_gtkdrawing.h b/www/firefox/patches/patch-widget_gtk_gtkdrawing.h
new file mode 100644
index 00000000000..fe0b7acba6c
--- /dev/null
+++ b/www/firefox/patches/patch-widget_gtk_gtkdrawing.h
@@ -0,0 +1,41 @@
+$NetBSD: patch-widget_gtk_gtkdrawing.h,v 1.3 2015/04/05 12:54:12 ryoon Exp $
+
+--- widget/gtk/gtkdrawing.h.orig 2015-03-27 02:20:33.000000000 +0000
++++ widget/gtk/gtkdrawing.h
+@@ -293,16 +293,6 @@ moz_gtk_checkbox_get_metrics(gint* indic
+ 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(GtkWidge
+ 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 a/www/firefox/patches/patch-widget_gtk_nsLookAndFeel.cpp b/www/firefox/patches/patch-widget_gtk_nsLookAndFeel.cpp
deleted file mode 100644
index 2d21f9abfbf..00000000000
--- a/www/firefox/patches/patch-widget_gtk_nsLookAndFeel.cpp
+++ /dev/null
@@ -1,207 +0,0 @@
-$NetBSD: patch-widget_gtk_nsLookAndFeel.cpp,v 1.1 2015/01/16 22:42:09 ryoon Exp $
-
---- widget/gtk/nsLookAndFeel.cpp.orig 2015-01-09 04:38:28.000000000 +0000
-+++ widget/gtk/nsLookAndFeel.cpp
-@@ -38,7 +38,6 @@ nsLookAndFeel::nsLookAndFeel()
- mStyle(nullptr),
- #else
- mBackgroundStyle(nullptr),
-- mViewStyle(nullptr),
- mButtonStyle(nullptr),
- #endif
- mDefaultFontCached(false), mButtonFontCached(false),
-@@ -53,7 +52,6 @@ nsLookAndFeel::~nsLookAndFeel()
- g_object_unref(mStyle);
- #else
- g_object_unref(mBackgroundStyle);
-- g_object_unref(mViewStyle);
- g_object_unref(mButtonStyle);
- #endif
- }
-@@ -114,13 +112,19 @@ nsLookAndFeel::NativeGetColor(ColorID aI
- case eColorID_IMESelectedRawTextBackground:
- case eColorID_IMESelectedConvertedTextBackground:
- case eColorID__moz_dragtargetzone:
-- aColor = sMozWindowSelectedBackground;
-+ case eColorID__moz_cellhighlight:
-+ case eColorID__moz_html_cellhighlight:
-+ case eColorID_highlight: // preference selected item,
-+ aColor = sTextSelectedBackground;
- break;
- case eColorID_WidgetSelectForeground:
- case eColorID_TextSelectForeground:
- case eColorID_IMESelectedRawTextForeground:
- case eColorID_IMESelectedConvertedTextForeground:
-- aColor = sMozWindowSelectedText;
-+ case eColorID_highlighttext:
-+ case eColorID__moz_cellhighlighttext:
-+ case eColorID__moz_html_cellhighlighttext:
-+ aColor = sTextSelectedText;
- break;
- #endif
- case eColorID_Widget3DHighlight:
-@@ -238,19 +242,6 @@ nsLookAndFeel::NativeGetColor(ColorID aI
- GTK_STATE_FLAG_INSENSITIVE, &gdk_color);
- aColor = GDK_RGBA_TO_NS_RGBA(gdk_color);
- break;
-- case eColorID_highlight: // preference selected item,
-- // background of selected item
-- gtk_style_context_get_background_color(mViewStyle,
-- GTK_STATE_FLAG_SELECTED,
-- &gdk_color);
-- aColor = GDK_RGBA_TO_NS_RGBA(gdk_color);
-- break;
-- case eColorID_highlighttext:
-- // text of selected item
-- gtk_style_context_get_color(mViewStyle,
-- GTK_STATE_FLAG_SELECTED, &gdk_color);
-- aColor = GDK_RGBA_TO_NS_RGBA(gdk_color);
-- break;
- case eColorID_inactivecaption:
- // inactive window caption
- gtk_style_context_get_background_color(mBackgroundStyle,
-@@ -284,10 +275,17 @@ nsLookAndFeel::NativeGetColor(ColorID aI
- #endif
- break;
-
-+ case eColorID_threedlightshadow:
-+ // 3-D highlighted inner edge color
-+ // always same as background in GTK code
- case eColorID_threedface:
- case eColorID_buttonface:
- // 3-D face color
-- aColor = sFrameBackground;
-+#if (MOZ_WIDGET_GTK == 3)
-+ aColor = sMozWindowBackground;
-+#else
-+ aColor = sButtonBackground;
-+#endif
- break;
-
- case eColorID_buttontext:
-@@ -302,11 +300,6 @@ nsLookAndFeel::NativeGetColor(ColorID aI
- aColor = sFrameOuterLightBorder;
- break;
-
-- case eColorID_threedlightshadow:
-- // 3-D highlighted inner edge color
-- aColor = sFrameBackground; // always same as background in GTK code
-- break;
--
- case eColorID_buttonshadow:
- // 3-D shadow edge color
- case eColorID_threedshadow:
-@@ -391,19 +384,6 @@ nsLookAndFeel::NativeGetColor(ColorID aI
- case eColorID__moz_buttonhovertext:
- aColor = sButtonHoverText;
- break;
-- case eColorID__moz_cellhighlight:
-- case eColorID__moz_html_cellhighlight:
-- gtk_style_context_get_background_color(mViewStyle,
-- GTK_STATE_FLAG_SELECTED,
-- &gdk_color);
-- aColor = GDK_RGBA_TO_NS_RGBA(gdk_color);
-- break;
-- case eColorID__moz_cellhighlighttext:
-- case eColorID__moz_html_cellhighlighttext:
-- gtk_style_context_get_color(mViewStyle,
-- GTK_STATE_FLAG_SELECTED, &gdk_color);
-- aColor = GDK_RGBA_TO_NS_RGBA(gdk_color);
-- break;
- #endif
- case eColorID__moz_menuhover:
- aColor = sMenuHover;
-@@ -965,7 +945,7 @@ nsLookAndFeel::Init()
- GtkStyleContext *style;
-
- // Gtk manages a screen's CSS in the settings object so we
-- // ask Gtk to create it explicitly. Otherwise we may end up
-+ // ask Gtk to create it explicitly. Otherwise we may end up
- // with wrong color theme, see Bug 972382
- (void)gtk_settings_get_for_screen(gdk_screen_get_default());
-
-@@ -975,9 +955,6 @@ nsLookAndFeel::Init()
- mBackgroundStyle = create_context(path);
- gtk_style_context_add_class(mBackgroundStyle, GTK_STYLE_CLASS_BACKGROUND);
-
-- mViewStyle = create_context(path);
-- gtk_style_context_add_class(mViewStyle, GTK_STYLE_CLASS_VIEW);
--
- mButtonStyle = create_context(path);
- gtk_style_context_add_class(mButtonStyle, GTK_STYLE_CLASS_BUTTON);
-
-@@ -990,11 +967,24 @@ nsLookAndFeel::Init()
- g_object_unref(style);
-
- // Text colors
-- gtk_style_context_get_background_color(mViewStyle, GTK_STATE_FLAG_NORMAL, &color);
-+ style = create_context(path);
-+ gtk_style_context_add_class(style, GTK_STYLE_CLASS_VIEW);
-+ gtk_style_context_get_background_color(style, GTK_STATE_FLAG_NORMAL, &color);
- sMozFieldBackground = GDK_RGBA_TO_NS_RGBA(color);
-- gtk_style_context_get_color(mViewStyle, GTK_STATE_FLAG_NORMAL, &color);
-+ gtk_style_context_get_color(style, GTK_STATE_FLAG_NORMAL, &color);
- sMozFieldText = GDK_RGBA_TO_NS_RGBA(color);
-
-+ // Selected text and background
-+ gtk_style_context_get_background_color(style,
-+ static_cast<GtkStateFlags>(GTK_STATE_FLAG_FOCUSED|GTK_STATE_FLAG_SELECTED),
-+ &color);
-+ sTextSelectedBackground = GDK_RGBA_TO_NS_RGBA(color);
-+ gtk_style_context_get_color(style,
-+ static_cast<GtkStateFlags>(GTK_STATE_FLAG_FOCUSED|GTK_STATE_FLAG_SELECTED),
-+ &color);
-+ sTextSelectedText = GDK_RGBA_TO_NS_RGBA(color);
-+ g_object_unref(style);
-+
- // Window colors
- style = create_context(path);
- gtk_style_context_save(style);
-@@ -1003,12 +993,6 @@ nsLookAndFeel::Init()
- sMozWindowBackground = GDK_RGBA_TO_NS_RGBA(color);
- gtk_style_context_get_color(style, GTK_STATE_FLAG_NORMAL, &color);
- sMozWindowText = GDK_RGBA_TO_NS_RGBA(color);
--
-- // Selected text and background
-- gtk_style_context_get_background_color(style, GTK_STATE_FLAG_SELECTED, &color);
-- sMozWindowSelectedBackground = GDK_RGBA_TO_NS_RGBA(color);
-- gtk_style_context_get_color(style, GTK_STATE_FLAG_SELECTED, &color);
-- sMozWindowSelectedText = GDK_RGBA_TO_NS_RGBA(color);
- gtk_style_context_restore(style);
-
- // tooltip foreground and background
-@@ -1141,7 +1125,7 @@ nsLookAndFeel::Init()
-
- style = gtk_widget_get_style(button);
- if (style) {
-- sFrameBackground = GDK_COLOR_TO_NS_RGB(style->bg[GTK_STATE_NORMAL]);
-+ sButtonBackground = GDK_COLOR_TO_NS_RGB(style->bg[GTK_STATE_NORMAL]);
- sFrameOuterLightBorder =
- GDK_COLOR_TO_NS_RGB(style->light[GTK_STATE_NORMAL]);
- sFrameInnerDarkBorder =
-@@ -1189,12 +1173,9 @@ nsLookAndFeel::Init()
- GtkWidget *frame = gtk_frame_new(nullptr);
- gtk_container_add(GTK_CONTAINER(parent), frame);
-
-- style = gtk_widget_get_style_context(frame);
-- gtk_style_context_get_background_color(style, GTK_STATE_FLAG_NORMAL, &color);
-- sFrameBackground = GDK_RGBA_TO_NS_RGBA(color);
--
- // TODO GTK3 - update sFrameOuterLightBorder
- // for GTK_BORDER_STYLE_INSET/OUTSET/GROVE/RIDGE border styles (Bug 978172).
-+ style = gtk_widget_get_style_context(frame);
- gtk_style_context_get_border_color(style, GTK_STATE_FLAG_NORMAL, &color);
- sFrameInnerDarkBorder = sFrameOuterLightBorder = GDK_RGBA_TO_NS_RGBA(color);
- #endif
-@@ -1257,11 +1238,9 @@ nsLookAndFeel::RefreshImpl()
- mStyle = nullptr;
- #else
- g_object_unref(mBackgroundStyle);
-- g_object_unref(mViewStyle);
- g_object_unref(mButtonStyle);
-
- mBackgroundStyle = nullptr;
-- mViewStyle = nullptr;
- mButtonStyle = nullptr;
- #endif
-
diff --git a/www/firefox/patches/patch-widget_gtk_nsLookAndFeel.h b/www/firefox/patches/patch-widget_gtk_nsLookAndFeel.h
deleted file mode 100644
index 28d674fc903..00000000000
--- a/www/firefox/patches/patch-widget_gtk_nsLookAndFeel.h
+++ /dev/null
@@ -1,32 +0,0 @@
-$NetBSD: patch-widget_gtk_nsLookAndFeel.h,v 1.1 2015/01/16 22:42:09 ryoon Exp $
-
---- widget/gtk/nsLookAndFeel.h.orig 2015-01-09 04:38:28.000000000 +0000
-+++ widget/gtk/nsLookAndFeel.h
-@@ -35,7 +35,6 @@ protected:
- struct _GtkStyle *mStyle;
- #else
- struct _GtkStyleContext *mBackgroundStyle;
-- struct _GtkStyleContext *mViewStyle;
- struct _GtkStyleContext *mButtonStyle;
- #endif
-
-@@ -64,7 +63,7 @@ protected:
- nscolor sMenuHoverText;
- nscolor sButtonText;
- nscolor sButtonHoverText;
-- nscolor sFrameBackground;
-+ nscolor sButtonBackground;
- nscolor sFrameOuterLightBorder;
- nscolor sFrameInnerDarkBorder;
- nscolor sOddCellBackground;
-@@ -75,8 +74,8 @@ protected:
- nscolor sMozFieldBackground;
- nscolor sMozWindowText;
- nscolor sMozWindowBackground;
-- nscolor sMozWindowSelectedText;
-- nscolor sMozWindowSelectedBackground;
-+ nscolor sTextSelectedText;
-+ nscolor sTextSelectedBackground;
- nscolor sMozScrollbar;
- char16_t sInvisibleCharacter;
- float sCaretRatio;
diff --git a/www/firefox/patches/patch-widget_gtk_nsNativeThemeGTK.cpp b/www/firefox/patches/patch-widget_gtk_nsNativeThemeGTK.cpp
new file mode 100644
index 00000000000..6f4f6fcc03e
--- /dev/null
+++ b/www/firefox/patches/patch-widget_gtk_nsNativeThemeGTK.cpp
@@ -0,0 +1,21 @@
+$NetBSD: patch-widget_gtk_nsNativeThemeGTK.cpp,v 1.3 2015/04/05 12:54:12 ryoon Exp $
+
+--- widget/gtk/nsNativeThemeGTK.cpp.orig 2015-03-27 02:20:33.000000000 +0000
++++ widget/gtk/nsNativeThemeGTK.cpp
+@@ -1528,9 +1528,15 @@ nsNativeThemeGTK::GetWidgetTransparency(
+ 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/patches/patch-xpcom_reflect_xptcall_md_unix_moz.build b/www/firefox/patches/patch-xpcom_reflect_xptcall_md_unix_moz.build
index 4216743d535..e6100860a1f 100644
--- a/www/firefox/patches/patch-xpcom_reflect_xptcall_md_unix_moz.build
+++ b/www/firefox/patches/patch-xpcom_reflect_xptcall_md_unix_moz.build
@@ -1,6 +1,6 @@
-$NetBSD: patch-xpcom_reflect_xptcall_md_unix_moz.build,v 1.2 2015/02/28 04:30:55 ryoon Exp $
+$NetBSD: patch-xpcom_reflect_xptcall_md_unix_moz.build,v 1.3 2015/04/05 12:54:12 ryoon Exp $
---- xpcom/reflect/xptcall/md/unix/moz.build.orig 2015-02-17 21:40:51.000000000 +0000
+--- xpcom/reflect/xptcall/md/unix/moz.build.orig 2015-03-27 02:20:33.000000000 +0000
+++ xpcom/reflect/xptcall/md/unix/moz.build
@@ -9,7 +9,7 @@ if CONFIG['OS_ARCH'] == 'Darwin':
'xptcinvoke_darwin.cpp',
@@ -11,20 +11,12 @@ $NetBSD: patch-xpcom_reflect_xptcall_md_unix_moz.build,v 1.2 2015/02/28 04:30:55
SOURCES += [
'xptcinvoke_asm_ppc_rhapsody.s',
]
-@@ -19,14 +19,14 @@ if CONFIG['OS_ARCH'] == 'Darwin':
- if '86' in CONFIG['OS_TEST'] and CONFIG['OS_TEST'] != 'x86_64':
- DEFINES['MOZ_NEED_LEADING_UNDERSCORE'] = True
-
--if CONFIG['OS_ARCH'] in ('NetBSD', 'GNU'):
-+if CONFIG['OS_ARCH'] in ('OpenBSD', 'GNU'):
- if CONFIG['CPU_ARCH'] == 'x86':
- SOURCES += [
- 'xptcinvoke_gcc_x86_unix.cpp',
+@@ -26,7 +26,7 @@ if CONFIG['OS_ARCH'] == 'GNU':
'xptcstubs_gcc_x86_unix.cpp'
]
--if CONFIG['OS_ARCH'] in ('Linux', 'FreeBSD', 'OpenBSD') or \
-+if CONFIG['OS_ARCH'] in ('Linux', 'FreeBSD', 'NetBSD', 'DragonFly') or \
+-if CONFIG['OS_ARCH'] in ('Linux', 'FreeBSD', 'NetBSD', 'OpenBSD') or \
++if CONFIG['OS_ARCH'] in ('Linux', 'FreeBSD', 'NetBSD', 'OpenBSD', 'DragonFly') or \
CONFIG['OS_ARCH'].startswith('GNU_'):
if CONFIG['OS_TEST'] == 'x86_64':
SOURCES += [