Bug 174402 - [patch] www/chromium: add Wi-Fi geolocation provider
Summary: [patch] www/chromium: add Wi-Fi geolocation provider
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-chromium (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-12-12 19:10 UTC by J.R. Oldroyd
Modified: 2013-01-11 01:26 UTC (History)
0 users

See Also:


Attachments
file.diff (11.08 KB, patch)
2012-12-12 19:10 UTC, J.R. Oldroyd
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description J.R. Oldroyd 2012-12-12 19:10:00 UTC
This patch adds a FreeBSD Wi-Fi geolocation provider to enable precise position
look-up using Google Location Services.  The absence of this forces chromium to
do position look-up using IP addresses which is often inaccurate for IPv4 and
extremely inaccurate for IPv6.  The existing chromium code already has Wi-Fi
geolocation providers for Windows, Mac and Linux.

This patch was discused and given a week of CFT time here:

http://lists.freebsd.org/pipermail/freebsd-chromium/2012-December/000599.html

How-To-Repeat: n/a
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2012-12-12 19:10:09 UTC
Responsible Changed
From-To: freebsd-ports-bugs->freebsd-chromium

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 Rene Ladan freebsd_committer freebsd_triage 2012-12-28 13:22:59 UTC
State Changed
From-To: open->patched

Patch applied and tested in version 24 which sould be released soon.
Comment 3 dfilter service freebsd_committer freebsd_triage 2013-01-11 01:15:38 UTC
Author: rene
Date: Fri Jan 11 01:14:52 2013
New Revision: 310215
URL: http://svnweb.freebsd.org/changeset/ports/310215

Log:
  Update to 24.0.1312.52, which add support for MathML.
  
  FreeBSD-specific improvements:
  - working WiFi geolocation [1] (can be turned off in preferences)
  - fix build with clang (use external libvpx)
  - use SysV SHM model and where possible OS_BSD, which saves some patches
  - no need to use ZygoteProcess switch
  
  HTML5 audio is currently broken.
  
  PR:		ports/174402 [1]
  Submitted by:	J.R. Oldroyd <fbsd@opal.com> [1]
  Security:	http://www.vuxml.org/freebsd/46bd747b-5b84-11e2-b06d-00262d5ed8ee.html

Added:
  head/www/chromium/files/patch-chrome__app__chrome_main_delegate.cc   (contents, props changed)
  head/www/chromium/files/patch-content__browser__geolocation__empty_device_data_provider.cc   (contents, props changed)
  head/www/chromium/files/patch-content__browser__geolocation__wifi_data_provider_freebsd.cc   (contents, props changed)
  head/www/chromium/files/patch-content__browser__geolocation__wifi_data_provider_freebsd.h   (contents, props changed)
  head/www/chromium/files/patch-content__content_tests.gypi   (contents, props changed)
  head/www/chromium/files/patch-content__public__test__browser_test_base.cc   (contents, props changed)
  head/www/chromium/files/patch-media__audio__audio_input_volume_unittest.cc   (contents, props changed)
  head/www/chromium/files/patch-media__audio__audio_low_latency_input_output_unittest.cc   (contents, props changed)
  head/www/chromium/files/patch-third_party__WebKit__Source__ThirdParty__gyp__test__additional-targets__src__dir1__actions.gyp   (contents, props changed)
  head/www/chromium/files/patch-third_party__WebKit__Source__ThirdParty__gyp__test__library__src__library.gyp   (contents, props changed)
Deleted:
  head/www/chromium/files/patch-chrome__browser__shell_integration_linux.cc
  head/www/chromium/files/patch-content__browser__renderer_host__backing_store_gtk.cc
  head/www/chromium/files/patch-content__browser__renderer_host__render_message_filter.cc
  head/www/chromium/files/patch-content__browser__renderer_host__render_process_host_impl.cc
  head/www/chromium/files/patch-content__browser__renderer_host__render_widget_helper.cc
  head/www/chromium/files/patch-content__browser__renderer_host__render_widget_helper.h
  head/www/chromium/files/patch-content__common__plugin_messages.h
  head/www/chromium/files/patch-content__common__view_messages.h
  head/www/chromium/files/patch-content__public__common__common_param_traits.h
  head/www/chromium/files/patch-content__public__test__mock_render_process_host.cc
  head/www/chromium/files/patch-content__renderer__pepper__pepper_platform_image_2d_impl.cc
  head/www/chromium/files/patch-content__renderer__render_view_impl.cc
  head/www/chromium/files/patch-content__renderer__render_view_impl.h
  head/www/chromium/files/patch-content__renderer__render_widget.cc
  head/www/chromium/files/patch-content__renderer__webplugin_delegate_proxy.cc
  head/www/chromium/files/patch-content__renderer__webplugin_delegate_proxy.h
  head/www/chromium/files/patch-ppapi__proxy__ppb_image_data_proxy.cc
  head/www/chromium/files/patch-ppapi__proxy__serialized_structs.h
  head/www/chromium/files/patch-third_party__protobuf__src__google__protobuf__compiler__main.cc
  head/www/chromium/files/patch-tools__gyp__test__additional-targets__src__dir1__actions.gyp
  head/www/chromium/files/patch-tools__gyp__test__library__src__library.gyp
  head/www/chromium/files/patch-ui__base__x__x11_util.cc
  head/www/chromium/files/patch-ui__surface__surface.gyp
  head/www/chromium/files/patch-ui__surface__transport_dib.h
  head/www/chromium/files/patch-ui__surface__transport_dib_freebsd.cc
Modified:
  head/www/chromium/Makefile
  head/www/chromium/distinfo
  head/www/chromium/files/patch-base__sys_info_freebsd.cc
  head/www/chromium/files/patch-chrome__browser__ui__webui__chrome_web_ui_controller_factory.cc   (contents, props changed)
  head/www/chromium/files/patch-chrome__chrome_browser.gypi
  head/www/chromium/files/patch-content__app__content_main_runner.cc
  head/www/chromium/files/patch-content__browser__child_process_launcher.cc
  head/www/chromium/files/patch-content__browser__geolocation__location_provider.cc   (contents, props changed)
  head/www/chromium/files/patch-content__content_browser.gypi
  head/www/chromium/files/patch-content__content_common.gypi
  head/www/chromium/files/patch-content__content_gpu.gypi
  head/www/chromium/files/patch-content__plugin__plugin_main_linux.cc   (contents, props changed)
  head/www/chromium/files/patch-content__renderer__render_process_impl.cc   (contents, props changed)
  head/www/chromium/files/patch-content__renderer__renderer_main_platform_delegate_linux.cc
  head/www/chromium/files/patch-media__media.gyp   (contents, props changed)
  head/www/chromium/files/patch-tools__gyp__pylib__gyp__generator__make.py
  head/www/chromium/files/patch-ui__base__l10n__l10n_util.cc   (contents, props changed)
  head/www/chromium/pkg-plist

Modified: head/www/chromium/Makefile
==============================================================================
--- head/www/chromium/Makefile	Fri Jan 11 00:56:23 2013	(r310214)
+++ head/www/chromium/Makefile	Fri Jan 11 01:14:52 2013	(r310215)
@@ -3,12 +3,11 @@
 
 PORTNAME=	chromium
 DISTVERSIONPREFIX=	courgette-redacted-
-DISTVERSION=	23.0.1271.97
+DISTVERSION=	24.0.1312.52
 CATEGORIES=	www
 MASTER_SITES=	http://download.goodking.org/downloads/ \
 		ftp://rene-ladan.nl/pub/distfiles/ \
-		http://files.etoilebsd.net/goodking/ \
-		http://distfiles.cybertron.gr/
+		http://files.etoilebsd.net/goodking/
 
 MAINTAINER=	chromium@FreeBSD.org
 COMMENT=	A mostly BSD-licensed web browser based on WebKit and Gtk+
@@ -34,6 +33,7 @@ LIB_DEPENDS=	execinfo:${PORTSDIR}/devel/
 		gnome-keyring:${PORTSDIR}/security/libgnome-keyring \
 		cups:${PORTSDIR}/print/cups-client \
 		event-1:${PORTSDIR}/devel/libevent \
+		vpx:${PORTSDIR}/multimedia/libvpx \
 		gcrypt:${PORTSDIR}/security/libgcrypt
 
 RUN_DEPENDS=	${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:${PORTSDIR}/audio/alsa-plugins \
@@ -62,6 +62,7 @@ GYP_DEFINES+=	use_cups=1 \
 		use_system_ffmpeg=0 \
 		use_system_libusb=1 \
 		use_system_libevent=1 \
+		use_system_libvpx=1 \
 		linux_strip_binary=1 \
 		linux_use_tcmalloc=0 \
 		linux_use_heapchecker=0 \
@@ -70,6 +71,7 @@ GYP_DEFINES+=	use_cups=1 \
 		enable_webrtc=0 \
 		enable_openmax=1 \
 		enable_one_click_signin=1 \
+		no_gc_sections=1 \
 		os_ver=${OSVERSION} \
 		prefix_dir=${LOCALBASE} \
 		python_ver=${PYTHON_VER}
@@ -140,7 +142,6 @@ BUILDTYPE=	Release
 
 MAKE_ENV+=	BUILDTYPE=${BUILDTYPE} \
 		GPERF=${LOCALBASE}/bin/gperf
-CONFIGURE_ENV+=	LD=${CC}
 MAKE_JOBS_SAFE=	yes
 
 .include <bsd.port.pre.mk>
@@ -188,4 +189,10 @@ do-install:
 		${COPYTREE_SHARE} "locales resources" ${DATADIR}
 	${LN} -sf ${DATADIR}/chrome ${PREFIX}/bin
 
+post-install:
+	@${ECHO_MSG} "========================================================" 
+	@${ECHO_MSG} "For best performance please enable shared memory support" 
+	@${ECHO_MSG} "in chromium by setting kern.ipc.shm_allow_removed=1"
+	@${ECHO_MSG} "========================================================" 
+
 .include <bsd.port.post.mk>

Modified: head/www/chromium/distinfo
==============================================================================
--- head/www/chromium/distinfo	Fri Jan 11 00:56:23 2013	(r310214)
+++ head/www/chromium/distinfo	Fri Jan 11 01:14:52 2013	(r310215)
@@ -1,2 +1,2 @@
-SHA256 (chromium-courgette-redacted-23.0.1271.97.tar.xz) = a41a9511bc7f3f4d8336a3bd3c8b309c7ebad6bff2e02fce081bb194349c6a36
-SIZE (chromium-courgette-redacted-23.0.1271.97.tar.xz) = 179510640
+SHA256 (chromium-courgette-redacted-24.0.1312.52.tar.xz) = bdb6b9aa205a16cf0daf941220b8bf7cebf6f1ad7339958403bbc98a5c9a53d3
+SIZE (chromium-courgette-redacted-24.0.1312.52.tar.xz) = 150640564

Modified: head/www/chromium/files/patch-base__sys_info_freebsd.cc
==============================================================================
--- head/www/chromium/files/patch-base__sys_info_freebsd.cc	Fri Jan 11 00:56:23 2013	(r310214)
+++ head/www/chromium/files/patch-base__sys_info_freebsd.cc	Fri Jan 11 01:14:52 2013	(r310215)
@@ -1,6 +1,26 @@
---- base/sys_info_freebsd.cc.orig	2012-10-31 21:02:04.000000000 +0200
-+++ base/sys_info_freebsd.cc	2012-11-07 17:49:20.000000000 +0200
-@@ -33,4 +33,25 @@
+--- base/sys_info_freebsd.cc.orig	2012-11-27 10:01:52.000000000 +0200
++++ base/sys_info_freebsd.cc	2012-12-09 18:04:30.000000000 +0200
+@@ -23,6 +23,19 @@
+ }
+ 
+ // static
++int64 SysInfo::AmountOfAvailablePhysicalMemory() {
++  int available_pages, page_size;
++  size_t size = sizeof(available_pages);
++  sysctlbyname("vm.stats.vm.v_free_count", &available_pages, &size, NULL, 0);
++  sysctlbyname("vm.stats.vm.v_page_size", &page_size, &size, NULL, 0);
++  if (available_pages == -1 || page_size == -1) {
++    NOTREACHED();
++    return 0;
++  }
++  return static_cast<int64>(available_pages) * page_size;
++}
++
++// static
+ size_t SysInfo::MaxSharedMemorySize() {
+   size_t limit;
+   size_t size = sizeof(limit);
+@@ -33,4 +46,25 @@
    return limit;
  }
  

Added: head/www/chromium/files/patch-chrome__app__chrome_main_delegate.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/chromium/files/patch-chrome__app__chrome_main_delegate.cc	Fri Jan 11 01:14:52 2013	(r310215)
@@ -0,0 +1,11 @@
+--- chrome/app/chrome_main_delegate.cc.orig	2012-12-04 23:34:32.000000000 +0200
++++ chrome/app/chrome_main_delegate.cc	2012-12-04 23:35:37.000000000 +0200
+@@ -264,7 +264,7 @@
+       // Mac needs them for the plugin process name.
+       process_type == switches::kPluginProcess ||
+ #endif
+-#if defined(OS_POSIX) && !defined(OS_MACOSX)
++#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
+       // The zygote process opens the resources for the renderers.
+       process_type == switches::kZygoteProcess ||
+ #endif

Modified: head/www/chromium/files/patch-chrome__browser__ui__webui__chrome_web_ui_controller_factory.cc
==============================================================================
--- head/www/chromium/files/patch-chrome__browser__ui__webui__chrome_web_ui_controller_factory.cc	Fri Jan 11 00:56:23 2013	(r310214)
+++ head/www/chromium/files/patch-chrome__browser__ui__webui__chrome_web_ui_controller_factory.cc	Fri Jan 11 01:14:52 2013	(r310215)
@@ -1,9 +1,9 @@
---- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig	2012-05-30 10:01:56.000000000 +0300
-+++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc	2012-06-05 21:58:25.000000000 +0300
-@@ -320,7 +320,7 @@
+--- chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc.orig	2012-11-27 10:02:11.000000000 +0200
++++ chrome/browser/ui/webui/chrome_web_ui_controller_factory.cc	2012-11-28 21:02:24.000000000 +0200
+@@ -366,7 +366,7 @@
+       url.host() == chrome::kChromeUIMemoryRedirectHost ||
        url.host() == chrome::kChromeUIStatsHost ||
-       url.host() == chrome::kChromeUITermsHost ||
-       url.host() == chrome::kChromeUIVersionHost
+       url.host() == chrome::kChromeUITermsHost
 -#if defined(OS_LINUX) || defined(OS_OPENBSD)
 +#if defined(OS_LINUX) || defined(OS_BSD)
        || url.host() == chrome::kChromeUILinuxProxyConfigHost

Modified: head/www/chromium/files/patch-chrome__chrome_browser.gypi
==============================================================================
--- head/www/chromium/files/patch-chrome__chrome_browser.gypi	Fri Jan 11 00:56:23 2013	(r310214)
+++ head/www/chromium/files/patch-chrome__chrome_browser.gypi	Fri Jan 11 01:14:52 2013	(r310215)
@@ -1,15 +1,19 @@
---- chrome/chrome_browser.gypi.orig	2012-10-31 21:02:48.000000000 +0200
-+++ chrome/chrome_browser.gypi	2012-11-07 16:06:11.000000000 +0200
-@@ -2531,6 +2531,14 @@
+--- chrome/chrome_browser.gypi.orig	2012-11-27 10:02:39.000000000 +0200
++++ chrome/chrome_browser.gypi	2012-11-29 22:30:15.798669580 +0200
+@@ -2633,6 +2633,18 @@
              ['exclude', '^browser/usb/'],
            ],
          }],
 +        ['os_bsd==1', {
 +          'sources!': [
-+            'browser/media_gallery/media_device_notifications_linux.cc',
-+            'browser/media_gallery/media_device_notifications_linux.h',
++            'browser/chrome_browser_main_linux.cc',
++            'browser/chrome_browser_main_linux.h',
++            'browser/media_gallery/mtp_device_delegate_impl_linux.cc',
++            'browser/media_gallery/mtp_device_delegate_impl_linux.h',
++            'browser/system_monitor/media_transfer_protocol_device_observer_linux.cc',
++            'browser/system_monitor/media_transfer_protocol_device_observer_linux.h',
 +            'browser/system_monitor/removable_device_notifications_linux.cc',
-+            'browser/system_monitor/removable_device_notifications_linux.h'
++            'browser/system_monitor/removable_device_notifications_linux.h',
 +          ],
 +        }],
          ['OS=="mac"', {

Modified: head/www/chromium/files/patch-content__app__content_main_runner.cc
==============================================================================
--- head/www/chromium/files/patch-content__app__content_main_runner.cc	Fri Jan 11 00:56:23 2013	(r310214)
+++ head/www/chromium/files/patch-content__app__content_main_runner.cc	Fri Jan 11 01:14:52 2013	(r310215)
@@ -1,15 +1,15 @@
---- content/app/content_main_runner.cc.orig	2012-10-31 21:01:34.000000000 +0200
-+++ content/app/content_main_runner.cc	2012-11-07 17:25:10.000000000 +0200
-@@ -91,7 +91,7 @@
+--- content/app/content_main_runner.cc.orig	2012-11-27 10:01:23.000000000 +0200
++++ content/app/content_main_runner.cc	2012-12-09 16:57:51.000000000 +0200
+@@ -99,7 +99,7 @@
  extern int RendererMain(const content::MainFunctionParams&);
- extern int WorkerMain(const content::MainFunctionParams&);
- extern int UtilityMain(const content::MainFunctionParams&);
+ extern int UtilityMain(const MainFunctionParams&);
+ extern int WorkerMain(const MainFunctionParams&);
 -#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
 +#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
- namespace content {
  extern int ZygoteMain(const MainFunctionParams&,
                        ZygoteForkDelegate* forkdelegate);
-@@ -333,7 +333,7 @@
+ #endif
+@@ -344,7 +344,7 @@
    int (*function)(const MainFunctionParams&);
  };
  
@@ -18,7 +18,7 @@
  // On platforms that use the zygote, we have a special subset of
  // subprocesses that are launched via the zygote.  This function
  // fills in some process-launching bits around ZygoteMain().
-@@ -438,7 +438,7 @@
+@@ -449,7 +449,7 @@
      }
    }
  
@@ -27,12 +27,3 @@
    // Zygote startup is special -- see RunZygote comments above
    // for why we don't use ZygoteMain directly.
    if (process_type == switches::kZygoteProcess)
-@@ -548,7 +548,7 @@
-                kPrimaryIPCChannel + base::GlobalDescriptors::kBaseDescriptor);
- #endif  // !OS_ANDROID && !OS_IOS
- 
--#if defined(OS_LINUX) || defined(OS_OPENBSD)
-+#if defined(OS_LINUX) || defined(OS_BSD)
-     g_fds->Set(kCrashDumpSignal,
-                kCrashDumpSignal + base::GlobalDescriptors::kBaseDescriptor);
- #endif

Modified: head/www/chromium/files/patch-content__browser__child_process_launcher.cc
==============================================================================
--- head/www/chromium/files/patch-content__browser__child_process_launcher.cc	Fri Jan 11 00:56:23 2013	(r310214)
+++ head/www/chromium/files/patch-content__browser__child_process_launcher.cc	Fri Jan 11 01:14:52 2013	(r310215)
@@ -1,25 +1,25 @@
---- content/browser/child_process_launcher.cc.orig	2012-10-31 21:01:35.000000000 +0200
-+++ content/browser/child_process_launcher.cc	2012-11-19 22:35:00.000000000 +0200
-@@ -52,7 +52,7 @@
+--- content/browser/child_process_launcher.cc.orig	2012-11-27 10:01:25.000000000 +0200
++++ content/browser/child_process_launcher.cc	2012-12-09 17:02:22.000000000 +0200
+@@ -53,7 +53,7 @@
          termination_status_(base::TERMINATION_STATUS_NORMAL_TERMINATION),
-         exit_code_(content::RESULT_CODE_NORMAL_EXIT),
+         exit_code_(RESULT_CODE_NORMAL_EXIT),
          starting_(true)
 -#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
 +#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
          , zygote_(false)
  #endif
          {
-@@ -188,7 +188,7 @@
-     base::GlobalDescriptors::Mapping files_to_register;
-     files_to_register.push_back(std::pair<base::GlobalDescriptors::Key, int>(
-         kPrimaryIPCChannel, ipcfd));
+@@ -196,7 +196,7 @@
+         FileDescriptorInfo(kPrimaryIPCChannel,
+                                     base::FileDescriptor(ipcfd, false)));
+ 
 -#if !defined(OS_MACOSX)
 +#if !defined(OS_MACOSX) && !defined(OS_BSD)
-     content::GetContentClient()->browser()->
-         GetAdditionalMappedFilesForChildProcess(*cmd_line, &files_to_register);
-     if (use_zygote) {
-@@ -209,7 +209,7 @@
-             id_file.first + base::GlobalDescriptors::kBaseDescriptor));
+     GetContentClient()->browser()->
+         GetAdditionalMappedFilesForChildProcess(*cmd_line, child_process_id,
+                                                 &files_to_register);
+@@ -217,7 +217,7 @@
+                 base::GlobalDescriptors::kBaseDescriptor));
        }
  
 -#if !defined(OS_MACOSX)
@@ -27,7 +27,7 @@
        if (process_type == switches::kRendererProcess) {
          const int sandbox_fd =
              RenderSandboxHostLinux::GetInstance()->GetRendererSocket();
-@@ -261,7 +261,7 @@
+@@ -269,7 +269,7 @@
        base::Bind(
            &Context::Notify,
            this_object.get(),
@@ -36,7 +36,7 @@
            use_zygote,
  #endif
            handle));
-@@ -269,7 +269,7 @@
+@@ -277,7 +277,7 @@
    }
  
    void Notify(
@@ -45,7 +45,7 @@
        bool zygote,
  #endif
        base::ProcessHandle handle) {
-@@ -282,7 +282,7 @@
+@@ -290,7 +290,7 @@
      if (!handle)
        LOG(ERROR) << "Failed to launch child process";
  
@@ -54,7 +54,7 @@
      zygote_ = zygote;
  #endif
      if (client_) {
-@@ -305,7 +305,7 @@
+@@ -313,7 +313,7 @@
          BrowserThread::PROCESS_LAUNCHER, FROM_HERE,
          base::Bind(
              &Context::TerminateInternal,
@@ -63,7 +63,7 @@
              zygote_,
  #endif
              process_.handle()));
-@@ -319,7 +319,7 @@
+@@ -327,7 +327,7 @@
    }
  
    static void TerminateInternal(
@@ -72,8 +72,8 @@
        bool zygote,
  #endif
        base::ProcessHandle handle) {
-@@ -333,7 +333,7 @@
-     process.Terminate(content::RESULT_CODE_NORMAL_EXIT);
+@@ -341,7 +341,7 @@
+     process.Terminate(RESULT_CODE_NORMAL_EXIT);
      // On POSIX, we must additionally reap the child.
  #if defined(OS_POSIX)
 -#if !defined(OS_MACOSX)
@@ -81,7 +81,7 @@
      if (zygote) {
        // If the renderer was created via a zygote, we have to proxy the reaping
        // through the zygote process.
-@@ -360,7 +360,7 @@
+@@ -368,7 +368,7 @@
  #if defined(OS_ANDROID)
    // The fd to close after creating the process.
    int ipcfd_;
@@ -90,7 +90,7 @@
    bool zygote_;
  #endif
  };
-@@ -413,7 +413,7 @@
+@@ -423,7 +423,7 @@
        *exit_code = context_->exit_code_;
      return context_->termination_status_;
    }

Added: head/www/chromium/files/patch-content__browser__geolocation__empty_device_data_provider.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/chromium/files/patch-content__browser__geolocation__empty_device_data_provider.cc	Fri Jan 11 01:14:52 2013	(r310215)
@@ -0,0 +1,11 @@
+--- content/browser/geolocation/empty_device_data_provider.cc.orig	2012-11-27 21:01:24.000000000 -0500
++++ content/browser/geolocation/empty_device_data_provider.cc	2012-12-06 15:40:02.698863304 -0500
+@@ -5,7 +5,7 @@
+ #include "content/browser/geolocation/empty_device_data_provider.h"
+ 
+ // Only define for platforms that lack a real wifi data provider.
+-#if !defined(OS_WIN) && !defined(OS_MACOSX) && !defined(OS_LINUX)
++#if !defined(OS_WIN) && !defined(OS_MACOSX) && !defined(OS_LINUX) && !defined(OS_FREEBSD)
+ // static
+ template<>
+ WifiDataProviderImplBase* WifiDataProvider::DefaultFactoryFunction() {

Modified: head/www/chromium/files/patch-content__browser__geolocation__location_provider.cc
==============================================================================
--- head/www/chromium/files/patch-content__browser__geolocation__location_provider.cc	Fri Jan 11 00:56:23 2013	(r310214)
+++ head/www/chromium/files/patch-content__browser__geolocation__location_provider.cc	Fri Jan 11 01:14:52 2013	(r310215)
@@ -5,7 +5,7 @@
  }
  
 -#if !defined(OS_LINUX) && !defined(OS_MACOSX) && !defined(OS_WIN) && !defined OS_ANDROID
-+#if !defined(OS_LINUX) && !defined(OS_MACOSX) && !defined(OS_WIN) && !defined OS_ANDROID && !defined(OS_FREEBSD)
++#if !defined(OS_LINUX) && !defined(OS_MACOSX) && !defined(OS_WIN) && !defined(OS_ANDROID) && !defined(OS_FREEBSD)
  LocationProviderBase* NewSystemLocationProvider() {
    return NULL;
  }

Added: head/www/chromium/files/patch-content__browser__geolocation__wifi_data_provider_freebsd.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/chromium/files/patch-content__browser__geolocation__wifi_data_provider_freebsd.cc	Fri Jan 11 01:14:52 2013	(r310215)
@@ -0,0 +1,204 @@
+--- content/browser/geolocation/wifi_data_provider_freebsd.cc.orig	2012-12-27 23:17:38.000000000 +0100
++++ content/browser/geolocation/wifi_data_provider_freebsd.cc	2012-12-28 12:28:16.000000000 +0100
+@@ -0,0 +1,201 @@
++// Copyright (c) 2010 The Chromium Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
++// For FreeBSD we use the getifaddrs(3) to obtain the list of interfaces
++// and then check for those with an 802.11 media type and able to return
++// a list of stations.  This is similar to ifconfig(8).
++
++#include "content/browser/geolocation/wifi_data_provider_freebsd.h"
++
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <sys/types.h>
++#include <sys/socket.h>
++#include <sys/sockio.h>
++#include <net/if.h>
++#include <net/if_media.h>
++#include <ifaddrs.h>
++#include <net80211/ieee80211_ioctl.h>
++#include <net/ethernet.h>
++
++#include "base/utf_string_conversions.h"
++#include "content/browser/geolocation/wifi_data_provider_common.h"
++
++namespace content {
++namespace {
++// The time periods, in milliseconds, between successive polls of the wifi data.
++const int kDefaultPollingInterval = 120000;  // 2 mins
++const int kNoChangePollingInterval = 300000;  // 5 mins
++const int kTwoNoChangePollingInterval = 600000;  // 10 mins
++const int kNoWifiPollingIntervalMilliseconds = 20 * 1000; // 20s
++
++// Convert a wifi frequency to the corresponding channel.
++// Taken from wifi_data_provider_linux.cc where it says this was
++// adapted from geolocaiton/wifilib.cc in googleclient (internal to google).
++int frquency_to_channel(int frequency_Mhz) {
++	if (frequency_Mhz >= 2412 && frequency_Mhz <= 2472)  // Channels 1-13.
++		return (frequency_Mhz - 2407) / 5;
++	if (frequency_Mhz == 2484)
++		return 14;
++	if (frequency_Mhz > 5000 && frequency_Mhz < 6000)  // .11a bands.
++		return (frequency_Mhz - 5000) / 5;
++	// Ignore everything else.
++	return AccessPointData().channel;  // invalid channel
++}
++
++// Provides the wifi API binding for FreeBSD.
++class FreeBSDAccessPointData : public WifiDataProviderCommon::WlanApiInterface {
++public:
++	FreeBSDAccessPointData();
++	~FreeBSDAccessPointData();
++
++	// this does nothing
++	bool Init();
++
++	// get the AP data
++	virtual bool GetAccessPointData(WifiData::AccessPointDataSet* data);
++
++private:
++	DISALLOW_COPY_AND_ASSIGN(FreeBSDAccessPointData);
++};
++
++FreeBSDAccessPointData::FreeBSDAccessPointData() {
++}
++
++FreeBSDAccessPointData::~FreeBSDAccessPointData() {
++}
++
++bool FreeBSDAccessPointData::Init() {
++	return true;
++}
++
++bool FreeBSDAccessPointData::GetAccessPointData(WifiData::AccessPointDataSet* data) {
++	bool			res;
++	char			*dupn;
++	struct ifaddrs		*ifal, *ifa;
++	struct ifreq		ifr;
++	struct ifmediareq	ifmr;
++	struct ieee80211req 	i802r;
++	int			s;
++	char			iscanbuf[32*1024], *vsr;
++	unsigned		len;
++	AccessPointData		apd;
++
++	res = false;
++	if (getifaddrs(&ifal) < 0)
++		return res;
++
++	dupn = NULL;
++	for (ifa = ifal; ifa; ifa = ifa->ifa_next) {
++		memset(&ifr, 0, sizeof(ifr));
++
++		if (dupn != NULL && strcmp(dupn, ifa->ifa_name) == 0)
++			continue;
++		dupn = ifa->ifa_name;
++
++		strncpy(ifr.ifr_name, ifa->ifa_name, sizeof(ifr.ifr_name));
++		ifr.ifr_addr.sa_family = AF_LOCAL;
++                 
++		if ((s = socket(ifr.ifr_addr.sa_family, SOCK_DGRAM, 0)) < 0)
++			continue;
++
++		(void) memset(&ifmr, 0, sizeof(ifmr));
++		(void) strncpy(ifmr.ifm_name, ifa->ifa_name, sizeof(ifmr.ifm_name));
++
++		if (ioctl(s, SIOCGIFMEDIA, (caddr_t)&ifmr) < 0) {
++			close(s);
++			continue;
++		}
++		if (IFM_TYPE(ifmr.ifm_active) != IFM_IEEE80211) {
++			close(s);
++			continue;
++		}
++
++		(void) memset(&i802r, 0, sizeof(i802r));
++		(void) strncpy(i802r.i_name, ifa->ifa_name, sizeof(i802r.i_name));
++		i802r.i_type = IEEE80211_IOC_SCAN_RESULTS;
++		i802r.i_data = iscanbuf;
++		i802r.i_len = sizeof(iscanbuf);
++		if (ioctl(s, SIOCG80211, &i802r) < 0) {
++			close(s);
++			continue;
++		}
++
++		close(s);
++
++		vsr = (char *) i802r.i_data;
++		len = i802r.i_len;
++		while (len >= sizeof(struct ieee80211req_scan_result)) {
++			struct ieee80211req_scan_result *isr;
++			char		*id;
++			int		idlen;
++			char		ssid[IEEE80211_NWID_LEN+1];
++
++			isr = (struct ieee80211req_scan_result *) vsr;
++
++			if (isr->isr_meshid_len) {
++				id = vsr + isr->isr_ie_off + isr->isr_ssid_len;
++				idlen = isr->isr_meshid_len;
++			}
++			else {
++				id = vsr + isr->isr_ie_off;
++				idlen = isr->isr_ssid_len;
++			}
++			strncpy(ssid, id, idlen);
++			ssid[idlen] = '\0';
++			apd.ssid = UTF8ToUTF16(ssid);
++			apd.mac_address = MacAddressAsString16(isr->isr_bssid);
++			apd.radio_signal_strength = (isr->isr_rssi/2) + isr->isr_noise;
++			apd.signal_to_noise = apd.radio_signal_strength - isr->isr_noise;
++			apd.channel = frquency_to_channel(isr->isr_freq);
++			VLOG(1) << "FreeBSD access point: "
++				<< "SSID: " << apd.ssid << ", "
++				<< "MAC: " << apd.mac_address << ", "
++				<< "Strength: " << apd.radio_signal_strength << ":"
++					        << apd.signal_to_noise << ", "
++				<< "Channel: " << apd.channel;
++			data->insert(apd);
++			res = true;
++			len -= isr->isr_len;
++			vsr += isr->isr_len;
++		}
++        }
++
++	freeifaddrs(ifal);
++
++	return res;
++}
++
++}  // namespace
++
++// static
++template<>
++WifiDataProviderImplBase* WifiDataProvider::DefaultFactoryFunction() {
++	return new FreeBSDWifiDataProvider();
++}
++
++FreeBSDWifiDataProvider::FreeBSDWifiDataProvider() {
++}
++
++FreeBSDWifiDataProvider::~FreeBSDWifiDataProvider() {
++}
++
++WifiDataProviderCommon::WlanApiInterface* FreeBSDWifiDataProvider::NewWlanApi() {
++
++	scoped_ptr<FreeBSDAccessPointData> wlan_api(new FreeBSDAccessPointData);
++	if (wlan_api->Init())
++		return wlan_api.release();
++
++	return NULL;
++}
++
++PollingPolicyInterface* FreeBSDWifiDataProvider::NewPollingPolicy() {
++	return new GenericPollingPolicy<kDefaultPollingInterval,
++	    kNoChangePollingInterval,
++	    kTwoNoChangePollingInterval,
++	    kNoWifiPollingIntervalMilliseconds>;
++}
++
++} // namespace content

Added: head/www/chromium/files/patch-content__browser__geolocation__wifi_data_provider_freebsd.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/chromium/files/patch-content__browser__geolocation__wifi_data_provider_freebsd.h	Fri Jan 11 01:14:52 2013	(r310215)
@@ -0,0 +1,32 @@
+--- content/browser/geolocation/wifi_data_provider_freebsd.h.orig	2012-12-27 23:17:38.000000000 +0100
++++ content/browser/geolocation/wifi_data_provider_freebsd.h	2012-12-28 12:31:07.000000000 +0100
+@@ -0,0 +1,29 @@
++// Copyright (c) 2012 The Chromium Authors. All rights reserved.
++// Use of this source code is governed by a BSD-style license that can be
++// found in the LICENSE file.
++
++#ifndef CONTENT_BROWSER_GEOLOCATION_WIFI_DATA_PROVIDER_FREEBSD_H_
++#define CONTENT_BROWSER_GEOLOCATION_WIFI_DATA_PROVIDER_FREEBSD_H_
++
++#include "content/browser/geolocation/wifi_data_provider_common.h"
++
++namespace content {
++
++// Implementation of the wifi data provider for FreeBSD.
++class CONTENT_EXPORT FreeBSDWifiDataProvider : public WifiDataProviderCommon {
++public:
++	FreeBSDWifiDataProvider();
++
++private:
++	virtual ~FreeBSDWifiDataProvider();
++
++	// WifiDataProviderCommon
++	virtual WlanApiInterface* NewWlanApi() OVERRIDE;
++	virtual PollingPolicyInterface* NewPollingPolicy() OVERRIDE;
++
++	DISALLOW_COPY_AND_ASSIGN(FreeBSDWifiDataProvider);
++};
++
++} // namespace content
++
++#endif  // CONTENT_BROWSER_GEOLOCATION_WIFI_DATA_PROVIDER_FREEBSD_H_

Modified: head/www/chromium/files/patch-content__content_browser.gypi
==============================================================================
--- head/www/chromium/files/patch-content__content_browser.gypi	Fri Jan 11 00:56:23 2013	(r310214)
+++ head/www/chromium/files/patch-content__content_browser.gypi	Fri Jan 11 01:14:52 2013	(r310215)
@@ -1,20 +1,33 @@
---- content/content_browser.gypi.orig	2012-10-31 21:01:37.000000000 +0200
-+++ content/content_browser.gypi	2012-11-07 13:18:40.000000000 +0200
-@@ -995,8 +995,17 @@
+--- content/content_browser.gypi.orig	2012-11-27 10:01:27.000000000 +0200
++++ content/content_browser.gypi	2012-12-10 22:21:14.000000000 +0200
+@@ -409,6 +409,8 @@
+     'browser/geolocation/wifi_data_provider_common_win.cc',
+     'browser/geolocation/wifi_data_provider_common_win.h',
+     'browser/geolocation/wifi_data_provider_corewlan_mac.mm',
++    'browser/geolocation/wifi_data_provider_freebsd.cc',
++    'browser/geolocation/wifi_data_provider_freebsd.h',
+     'browser/geolocation/wifi_data_provider_linux.cc',
+     'browser/geolocation/wifi_data_provider_linux.h',
+     'browser/geolocation/wifi_data_provider_mac.cc',
+@@ -1056,9 +1056,18 @@
+       ],
      }],
      ['os_bsd==1', {
-       'sources/': [
-+        ['exclude', 'public/browser/zygote_host_linux\\.h$'],
-+        ['exclude', 'browser/zygote_host/zygote_host_impl_linux\\.cc$'],
-+        ['exclude', 'browser/zygote_host/zygote_host_impl_linux\\.h$'],
-+        ['exclude', 'zygote/zygote_linux\\.cc$'],
-+        ['exclude', 'zygote/zygote_linux\\.h$'],
-+        ['exclude', 'zygote/zygote_main_linux\\.cc$'],
-+        ['exclude', '^browser/device_monitor_linux\\.cc$'],
-+        ['exclude', '^browser/download/file_metadata_linux\\.cc$'],
-         ['exclude', '^browser/gamepad/gamepad_platform_data_fetcher_linux\\.cc$'],
-         ['exclude', '^browser/geolocation/wifi_data_provider_linux\\.cc$'],
-+        ['exclude', '^browser/udev_linux\\.cc$'],
+-      'sources/': [
+-        ['exclude', '^browser/gamepad/gamepad_platform_data_fetcher_linux\\.cc$'],
+-        ['exclude', '^browser/geolocation/wifi_data_provider_linux\\.cc$'],
++      'sources!': [
++        'public/browser/zygote_host_linux.h',
++        'browser/zygote_host/zygote_host_impl_linux.cc',
++        'browser/zygote_host/zygote_host_impl_linux.h',
++        'zygote/zygote_linux.cc',
++        'zygote/zygote_linux.h',
++        'zygote/zygote_main_linux.cc',
++        'browser/device_monitor_linux.cc',
++        'browser/download/file_metadata_linux.cc',
++        'browser/gamepad/gamepad_platform_data_fetcher_linux.cc',
++        'browser/geolocation/wifi_data_provider_linux.cc',
++        'browser/udev_linux.cc',
        ],
      }],
-     ['use_aura==1', {
+     ['use_aura!=1 and OS!="win"', {

Modified: head/www/chromium/files/patch-content__content_common.gypi
==============================================================================
--- head/www/chromium/files/patch-content__content_common.gypi	Fri Jan 11 00:56:23 2013	(r310214)
+++ head/www/chromium/files/patch-content__content_common.gypi	Fri Jan 11 01:14:52 2013	(r310215)
@@ -1,11 +1,17 @@
---- content/content_common.gypi.orig	2012-11-07 15:08:50.000000000 +0200
-+++ content/content_common.gypi	2012-11-07 15:09:05.000000000 +0200
-@@ -330,8 +330,6 @@
-     'common/sandbox_linux.cc',
-     'common/sandbox_policy.cc',
-     'common/sandbox_policy.h',
--    'common/sandbox_seccomp_bpf_linux.cc',
--    'common/sandbox_seccomp_bpf_linux.h',
-     'common/savable_url_schemes.cc',
-     'common/savable_url_schemes.h',
-     'common/set_process_title.cc',
+--- content/content_common.gypi.orig	2012-11-27 10:01:27.000000000 +0200
++++ content/content_common.gypi	2012-12-10 22:16:37.000000000 +0200
+@@ -436,6 +436,14 @@
+         'content.gyp:common_aidl',
+       ],
+     }],
++    ['os_bsd==1', {
++      'sources!': [
++        'common/sandbox_linux.cc',
++        'common/sandbox_linux.h',
++        'common/sandbox_seccomp_bpf_linux.cc',
++        'common/sandbox_seccomp_bpf_linux.h',
++      ],
++    }],
+     ['toolkit_uses_gtk == 1', {
+       'dependencies': [
+         '../build/linux/system.gyp:gtk',

Modified: head/www/chromium/files/patch-content__content_gpu.gypi
==============================================================================
--- head/www/chromium/files/patch-content__content_gpu.gypi	Fri Jan 11 00:56:23 2013	(r310214)
+++ head/www/chromium/files/patch-content__content_gpu.gypi	Fri Jan 11 01:14:52 2013	(r310215)
@@ -1,11 +1,11 @@
---- content/content_gpu.gypi.orig	2012-10-01 20:45:02.000000000 +0300
-+++ content/content_gpu.gypi	2012-10-01 20:45:37.000000000 +0300
+--- content/content_gpu.gypi.orig	2012-11-28 04:01:27.000000000 +0200
++++ content/content_gpu.gypi	2012-12-04 22:06:17.000000000 +0200
 @@ -95,7 +95,7 @@
          '../third_party/amd/amd_videocard_info_win.cc',
        ],
      }],
 -    ['OS=="linux"', {
-+    ['OS=="linux" or OS=="freebsd"', {
++    ['OS=="linux" or os_bsd==1', {
        'dependencies': [
          '../third_party/libXNVCtrl/libXNVCtrl.gyp:libXNVCtrl',
        ],

Added: head/www/chromium/files/patch-content__content_tests.gypi
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/chromium/files/patch-content__content_tests.gypi	Fri Jan 11 01:14:52 2013	(r310215)
@@ -0,0 +1,18 @@
+--- content/content_tests.gypi.orig	2013-01-08 23:49:55.890245836 +0200
++++ content/content_tests.gypi	2013-01-08 23:52:52.374246102 +0200
+@@ -585,6 +585,15 @@
+             'browser/geolocation/wifi_data_provider_linux_unittest.cc',
+           ],
+         }],
++        ['OS == "freebsd"', {
++          'sources!': [
++            'browser/download/file_metadata_unittest_linux.cc',
++            'browser/geolocation/wifi_data_provider_linux_unittest.cc',
++            'browser/renderer_host/media/media_stream_dispatcher_host_unittest.cc',
++            'browser/renderer_host/media/media_stream_manager_unittest.cc',
++            'browser/renderer_host/media/media_stream_ui_controller_unittest.cc',
++          ],
++        }],
+         ['OS != "android" and OS != "ios"', {
+           'dependencies': [
+             '../third_party/libvpx/libvpx.gyp:libvpx',

Modified: head/www/chromium/files/patch-content__plugin__plugin_main_linux.cc
==============================================================================
--- head/www/chromium/files/patch-content__plugin__plugin_main_linux.cc	Fri Jan 11 00:56:23 2013	(r310214)
+++ head/www/chromium/files/patch-content__plugin__plugin_main_linux.cc	Fri Jan 11 01:14:52 2013	(r310215)
@@ -1,5 +1,5 @@
---- content/plugin/plugin_main_linux.cc.orig	2010-12-16 02:11:58.000000000 +0100
-+++ content/plugin/plugin_main_linux.cc	2010-12-20 20:15:08.000000000 +0100
+--- content/plugin/plugin_main_linux.cc.orig	2012-11-28 04:01:26.000000000 +0200
++++ content/plugin/plugin_main_linux.cc	2012-12-04 22:14:32.000000000 +0200
 @@ -5,13 +5,13 @@
  #include <signal.h>
  #include <string.h>
@@ -12,7 +12,7 @@
  
  // This whole file is only useful on 64-bit architectures.
 -#if defined(ARCH_CPU_64_BITS)
-+#if defined(ARCH_CPU_64_BITS) && !defined(OS_FREEBSD)
++#if defined(ARCH_CPU_64_BITS) && !defined(OS_BSD)
  
  namespace {
  

Added: head/www/chromium/files/patch-content__public__test__browser_test_base.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/chromium/files/patch-content__public__test__browser_test_base.cc	Fri Jan 11 01:14:52 2013	(r310215)
@@ -0,0 +1,13 @@
+--- content/public/test/browser_test_base.cc.orig	2013-01-08 23:22:25.608704051 +0200
++++ content/public/test/browser_test_base.cc	2013-01-08 23:24:45.354245363 +0200
+@@ -4,6 +4,10 @@
+ 
+ #include "content/public/test/browser_test_base.h"
+ 
++#if defined(OS_FREEBSD)
++#include <sys/signal.h>
++#endif
++
+ #include "base/bind.h"
+ #include "base/command_line.h"
+ #include "base/debug/stack_trace.h"

Modified: head/www/chromium/files/patch-content__renderer__render_process_impl.cc
==============================================================================
--- head/www/chromium/files/patch-content__renderer__render_process_impl.cc	Fri Jan 11 00:56:23 2013	(r310214)
+++ head/www/chromium/files/patch-content__renderer__render_process_impl.cc	Fri Jan 11 01:14:52 2013	(r310215)
@@ -1,24 +1,24 @@
---- content/renderer/render_process_impl.cc.orig	2012-01-18 11:11:41.000000000 +0200
-+++ content/renderer/render_process_impl.cc	2012-01-29 17:05:58.000000000 +0200
-@@ -105,7 +105,7 @@
- #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_OPENBSD)
+--- content/renderer/render_process_impl.cc.orig	2012-11-14 04:01:35.000000000 +0200
++++ content/renderer/render_process_impl.cc	2012-12-03 23:25:17.000000000 +0200
+@@ -87,7 +87,7 @@
+ 
+ bool RenderProcessImpl::InProcessPlugins() {
+   const CommandLine& command_line = *CommandLine::ForCurrentProcess();
+-#if defined(OS_LINUX) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
+   // Plugin processes require a UI message loop, and the Linux message loop
+   // implementation only allows one UI loop per process.
+   if (command_line.HasSwitch(switches::kInProcessPlugins))
+@@ -112,7 +112,7 @@
+ 
+ TransportDIB* RenderProcessImpl::CreateTransportDIB(size_t size) {
+ #if defined(OS_WIN) || defined(OS_LINUX) || \
+-    defined(OS_OPENBSD) || defined(OS_ANDROID)
++    defined(OS_BSD) || defined(OS_ANDROID)
    // Windows and Linux create transport DIBs inside the renderer
    return TransportDIB::Create(size, transport_dib_next_sequence_number_++);
--#elif defined(OS_MACOSX)
-+#elif defined(OS_MACOSX) || defined(OS_FREEBSD)
-   // Mac creates transport DIBs in the browser, so we need to do a sync IPC to
-   // get one.  The TransportDIB is cached in the browser.
-   TransportDIB::Handle handle;
-@@ -122,7 +122,7 @@
-   if (!dib)
-     return;
- 
--#if defined(OS_MACOSX)
-+#if defined(OS_MACOSX) || defined(OS_FREEBSD)
-   // On Mac we need to tell the browser that it can drop a reference to the
-   // shared memory.
-   IPC::Message* msg = new ViewHostMsg_FreeTransportDIB(dib->id());
-@@ -140,7 +140,7 @@
+ #elif defined(OS_MACOSX)
+@@ -150,7 +150,7 @@
    int width = rect.width();
    int height = rect.height();
    const size_t stride = skia::PlatformCanvas::StrideForWidth(rect.width());

Modified: head/www/chromium/files/patch-content__renderer__renderer_main_platform_delegate_linux.cc
==============================================================================
--- head/www/chromium/files/patch-content__renderer__renderer_main_platform_delegate_linux.cc	Fri Jan 11 00:56:23 2013	(r310214)
+++ head/www/chromium/files/patch-content__renderer__renderer_main_platform_delegate_linux.cc	Fri Jan 11 01:14:52 2013	(r310215)
@@ -1,12 +1,25 @@
---- content/renderer/renderer_main_platform_delegate_linux.cc.orig	2012-10-31 21:01:36.000000000 +0200
-+++ content/renderer/renderer_main_platform_delegate_linux.cc	2012-11-07 17:38:32.000000000 +0200
-@@ -34,7 +34,9 @@
+--- content/renderer/renderer_main_platform_delegate_linux.cc.orig	2012-11-27 10:01:25.000000000 +0200
++++ content/renderer/renderer_main_platform_delegate_linux.cc	2012-12-10 22:47:50.000000000 +0200
+@@ -42,11 +42,14 @@
    //
    // The seccomp sandbox mode 1 (sandbox/linux/seccomp-legacy) and mode 2
    // (sandbox/linux/seccomp-bpf) are started in InitializeSandbox().
 +#if !defined(OS_BSD)
-   content::InitializeSandbox();
+   InitializeSandbox();
 +#endif
    return true;
  }
  
+ void RendererMainPlatformDelegate::RunSandboxTests(bool no_sandbox) {
++#if !defined(OS_BSD)
+   // The LinuxSandbox class requires going through initialization before
+   // GetStatus() and others can be used.  When we are not launched through the
+   // Zygote, this initialization will only happen in the renderer process if
+@@ -81,6 +84,7 @@
+     CHECK_EQ(errno, EPERM);
+   }
+ #endif  // __x86_64__
++#endif
+ }
+ 
+ }  // namespace content

Added: head/www/chromium/files/patch-media__audio__audio_input_volume_unittest.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/chromium/files/patch-media__audio__audio_input_volume_unittest.cc	Fri Jan 11 01:14:52 2013	(r310215)
@@ -0,0 +1,20 @@
+--- media/audio/audio_input_volume_unittest.cc.orig	2013-01-08 22:03:03.389246512 +0200
++++ media/audio/audio_input_volume_unittest.cc	2013-01-08 22:03:51.071246007 +0200
+@@ -59,7 +59,7 @@
+     int samples_per_packet = 0;
+ #if defined(OS_MACOSX)
+     samples_per_packet = (sample_rate / 100);
+-#elif defined(OS_LINUX) || defined(OS_OPENBSD)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+     samples_per_packet = (sample_rate / 100);
+ #elif defined(OS_WIN)
+     if (sample_rate == 44100)
+@@ -75,7 +75,7 @@
+         device_id);
+     EXPECT_TRUE(NULL != ais);
+ 
+-#if defined(OS_LINUX) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
+     // Some linux devices do not support our settings, we may fail to open
+     // those devices.
+     if (!ais->Open()) {

Added: head/www/chromium/files/patch-media__audio__audio_low_latency_input_output_unittest.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/chromium/files/patch-media__audio__audio_low_latency_input_output_unittest.cc	Fri Jan 11 01:14:52 2013	(r310215)
@@ -0,0 +1,29 @@
+--- media/audio/audio_low_latency_input_output_unittest.cc.orig	2013-01-08 22:05:58.175309674 +0200
++++ media/audio/audio_low_latency_input_output_unittest.cc	2013-01-08 22:06:40.328246386 +0200
+@@ -19,7 +19,7 @@
+ #include "testing/gmock/include/gmock/gmock.h"
+ #include "testing/gtest/include/gtest/gtest.h"
+ 
+-#if defined(OS_LINUX) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #include "media/audio/linux/audio_manager_linux.h"
+ #elif defined(OS_MACOSX)
+ #include "media/audio/mac/audio_manager_mac.h"
+@@ -32,7 +32,7 @@
+ 
+ namespace media {
+ 
+-#if defined(OS_LINUX) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ typedef AudioManagerLinux AudioManagerAnyPlatform;
+ #elif defined(OS_MACOSX)
+ typedef AudioManagerMac AudioManagerAnyPlatform;
+@@ -338,7 +338,7 @@
+ #if defined(OS_MACOSX)
+     // 10ms buffer size works well for 44.1, 48, 96 and 192kHz.
+     samples_per_packet_ = (sample_rate_ / 100);
+-#elif defined(OS_LINUX) || defined(OS_OPENBSD)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+     // 10ms buffer size works well for 44.1, 48, 96 and 192kHz.
+     samples_per_packet_ = (sample_rate_ / 100);
+ #elif defined(OS_WIN)

Modified: head/www/chromium/files/patch-media__media.gyp
==============================================================================
--- head/www/chromium/files/patch-media__media.gyp	Fri Jan 11 00:56:23 2013	(r310214)
+++ head/www/chromium/files/patch-media__media.gyp	Fri Jan 11 01:14:52 2013	(r310215)
@@ -1,6 +1,6 @@
---- media/media.gyp.orig	2012-04-25 10:01:21.000000000 +0300
-+++ media/media.gyp	2012-04-30 00:26:41.000000000 +0300
-@@ -341,7 +341,7 @@
+--- media/media.gyp.orig	2012-11-27 10:01:14.000000000 +0200
++++ media/media.gyp	2012-11-28 22:11:36.000000000 +0200
+@@ -470,7 +470,7 @@
              'audio/openbsd/audio_manager_openbsd.h',
            ],
          }],
@@ -9,12 +9,12 @@
            'variables': {
              'conditions': [
                ['sysroot!=""', {
-@@ -858,7 +858,7 @@
+@@ -1101,7 +1101,7 @@
          },
        ],
      }],
--    ['OS == "linux" and target_arch != "arm"', {
-+    ['(OS == "linux" or OS == "freebsd") and target_arch != "arm"', {
+-    ['OS == "linux" and target_arch != "arm" and target_arch != "mipsel"', {
++    ['(OS == "linux" or OS == "freebsd") and target_arch != "arm" and target_arch != "mipsel"', {
        'targets': [
          {
            'target_name': 'tile_render_bench',

Added: head/www/chromium/files/patch-third_party__WebKit__Source__ThirdParty__gyp__test__additional-targets__src__dir1__actions.gyp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/chromium/files/patch-third_party__WebKit__Source__ThirdParty__gyp__test__additional-targets__src__dir1__actions.gyp	Fri Jan 11 01:14:52 2013	(r310215)
@@ -0,0 +1,11 @@
+--- third_party/WebKit/Source/ThirdParty/gyp/test/additional-targets/src/dir1/actions.gyp.orig	2010-12-16 02:33:31.000000000 +0100
++++ third_party/WebKit/Source/ThirdParty/gyp/test/additional-targets/src/dir1/actions.gyp	2010-12-20 20:15:08.000000000 +0100
+@@ -47,7 +47,7 @@
+     },
+   ],
+   'conditions': [
+-    ['OS=="linux"', {
++    ['OS=="linux" or OS=="freebsd"', {
+       'target_defaults': {
+         'cflags': ['-fPIC'],
+       },

Added: head/www/chromium/files/patch-third_party__WebKit__Source__ThirdParty__gyp__test__library__src__library.gyp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/chromium/files/patch-third_party__WebKit__Source__ThirdParty__gyp__test__library__src__library.gyp	Fri Jan 11 01:14:52 2013	(r310215)
@@ -0,0 +1,11 @@
+--- third_party/WebKit/Source/ThirdParty/gyp/test/library/src/library.gyp.orig	2010-12-16 02:33:32.000000000 +0100
++++ third_party/WebKit/Source/ThirdParty/gyp/test/library/src/library.gyp	2010-12-20 20:15:08.000000000 +0100
+@@ -48,7 +48,7 @@
+     },
+   ],
+   'conditions': [
+-    ['OS=="linux"', {
++    ['OS=="linux" or OS=="freebsd"', {
+       'target_defaults': {
+         # Support 64-bit shared libs (also works fine for 32-bit).
+         'cflags': ['-fPIC'],

Modified: head/www/chromium/files/patch-tools__gyp__pylib__gyp__generator__make.py
==============================================================================
--- head/www/chromium/files/patch-tools__gyp__pylib__gyp__generator__make.py	Fri Jan 11 00:56:23 2013	(r310214)
+++ head/www/chromium/files/patch-tools__gyp__pylib__gyp__generator__make.py	Fri Jan 11 01:14:52 2013	(r310215)
@@ -1,6 +1,6 @@
---- tools/gyp/pylib/gyp/generator/make.py.orig	2012-10-31 21:04:03.000000000 +0200
-+++ tools/gyp/pylib/gyp/generator/make.py	2012-11-07 15:22:38.000000000 +0200
-@@ -87,7 +87,7 @@
+--- tools/gyp/pylib/gyp/generator/make.py.orig	2012-11-27 10:03:58.000000000 +0200
++++ tools/gyp/pylib/gyp/generator/make.py	2012-12-10 22:26:33.000000000 +0200
+@@ -86,7 +86,7 @@
    else:
      operating_system = flavor
      if flavor == 'android':
@@ -9,8 +9,15 @@
      default_variables.setdefault('OS', operating_system)
      default_variables.setdefault('SHARED_LIB_SUFFIX', '.so')
      default_variables.setdefault('SHARED_LIB_DIR','$(builddir)/lib.$(TOOLSET)')
-@@ -269,13 +269,13 @@
- # in gyp's make.py where ARFLAGS.host etc. is computed.
+@@ -265,19 +265,19 @@
+ CFLAGS.target ?= $(CFLAGS)
+ CXX.target ?= %(CXX.target)s
+ CXXFLAGS.target ?= $(CXXFLAGS)
+-LINK.target ?= %(LINK.target)s
++LINK.target ?= %(CXX.target)s
+ LDFLAGS.target ?= $(LDFLAGS)
+ AR.target ?= $(AR)
+ 
  # TODO(evan): move all cross-compilation logic to gyp-time so we don't need
  # to replicate this environment fallback in make as well.
 -CC.host ?= %(CC.host)s
@@ -24,13 +31,13 @@
 +CFLAGS.host ?= $(CFLAGS)
 +CXX.host ?= $(CXX)
 +CXXFLAGS.host ?= $(CXXFLAGS)
-+LINK.host ?= $(LINK)
++LINK.host ?= $(CXX)
 +LDFLAGS.host ?= $(LDFLAGS)
 +AR.host ?= $(AR)
- ARFLAGS.host := %(ARFLAGS.host)s
  
  # Define a dir function that can handle spaces.
-@@ -1770,7 +1770,7 @@
+ # http://www.gnu.org/software/make/manual/make.html#Syntax-of-Functions
+@@ -1782,7 +1782,7 @@
        return modules
  
      # Retrieve the default value of 'SHARED_LIB_SUFFIX'

Modified: head/www/chromium/files/patch-ui__base__l10n__l10n_util.cc
==============================================================================
--- head/www/chromium/files/patch-ui__base__l10n__l10n_util.cc	Fri Jan 11 00:56:23 2013	(r310214)
+++ head/www/chromium/files/patch-ui__base__l10n__l10n_util.cc	Fri Jan 11 01:14:52 2013	(r310215)
@@ -1,20 +1,20 @@
---- ui/base/l10n/l10n_util.cc.orig	2012-06-05 23:55:13.000000000 +0300
-+++ ui/base/l10n/l10n_util.cc	2012-06-06 00:00:11.000000000 +0300
+--- ui/base/l10n/l10n_util.cc.orig	2012-11-28 04:02:47.000000000 +0200
++++ ui/base/l10n/l10n_util.cc	2012-12-04 22:11:25.000000000 +0200
 @@ -33,7 +33,7 @@
  #include "base/android/locale_utils.h"
  #endif
  
 -#if defined(OS_LINUX)
-+#if defined(TOOLKIT_GTK)
++#if defined(OS_LINUX) || defined(OS_BSD)
  #include <glib.h>
  #endif
  
-@@ -417,7 +417,7 @@
+@@ -419,7 +419,7 @@
    if (!pref_locale.empty())
      candidates.push_back(pref_locale);

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 4 Rene Ladan freebsd_committer freebsd_triage 2013-01-11 01:25:52 UTC
State Changed
From-To: patched->closed

Committed, thanks