Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 11 Jan 2013 01:20:01 GMT
From:      dfilter@FreeBSD.ORG (dfilter service)
To:        freebsd-chromium@FreeBSD.org
Subject:   Re: ports/174402: commit references a PR
Message-ID:  <201301110120.r0B1K1Vc052442@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/174402; it has been noted by GNATS.

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/174402: commit references a PR
Date: Fri, 11 Jan 2013 01:15:38 +0000 (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"
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201301110120.r0B1K1Vc052442>