aboutsummaryrefslogtreecommitdiff
path: root/www/chromium/files
diff options
context:
space:
mode:
authorRene Ladan <rene@FreeBSD.org>2012-02-09 12:53:00 +0000
committerRene Ladan <rene@FreeBSD.org>2012-02-09 12:53:00 +0000
commita71930e2d98159f8096fd848dbc2f91a11bf2ed5 (patch)
tree13b26094f9b010645218f8e27cec640890893aca /www/chromium/files
parentb6bea61efb01707070977edd7ecdae077bd33896 (diff)
downloadports-a71930e2d98159f8096fd848dbc2f91a11bf2ed5.tar.gz
ports-a71930e2d98159f8096fd848dbc2f91a11bf2ed5.zip
Update to 17.0.963.46
Obtained from: Chromium Chruetertee development repository Security: http://www.vuxml.org/freebsd/fe1976c2-5317-11e1-9e99-00262d5ed8ee.html
Notes
Notes: svn path=/head/; revision=290785
Diffstat (limited to 'www/chromium/files')
-rw-r--r--www/chromium/files/patch-base__base.gypi60
-rw-r--r--www/chromium/files/patch-base__debug__debugger_posix.cc45
-rw-r--r--www/chromium/files/patch-base__file_util_posix.cc14
-rw-r--r--www/chromium/files/patch-base__files__file_path_watcher_freebsd.cc476
-rw-r--r--www/chromium/files/patch-base__process_util.h37
-rw-r--r--www/chromium/files/patch-base__process_util_freebsd.cc326
-rw-r--r--www/chromium/files/patch-base__process_util_posix.cc33
-rw-r--r--www/chromium/files/patch-build__common.gypi20
-rw-r--r--www/chromium/files/patch-chrome__browser__about_flags.cc10
-rw-r--r--www/chromium/files/patch-chrome__browser__browser_about_handler.cc46
-rw-r--r--www/chromium/files/patch-chrome__browser__chrome_content_browser_client.cc95
-rw-r--r--www/chromium/files/patch-chrome__browser__extensions__process_map.cc11
-rw-r--r--www/chromium/files/patch-chrome__browser__net__connection_tester.cc10
-rw-r--r--www/chromium/files/patch-chrome__browser__process_singleton.h38
-rw-r--r--www/chromium/files/patch-chrome__browser__ui__webui__about_ui.cc38
-rw-r--r--www/chromium/files/patch-chrome__common__child_process_logging.h10
-rw-r--r--www/chromium/files/patch-chrome__common__multi_process_lock.h11
-rw-r--r--www/chromium/files/patch-chrome__common__url_constants.cc12
-rw-r--r--www/chromium/files/patch-chrome__common__url_constants.h12
-rw-r--r--www/chromium/files/patch-chrome__nacl.gypi22
-rw-r--r--www/chromium/files/patch-chrome__renderer__chrome_ppb_pdf_impl.cc29
-rw-r--r--www/chromium/files/patch-content__app__content_main.cc11
-rw-r--r--www/chromium/files/patch-content__browser__browser_main.cc29
-rw-r--r--www/chromium/files/patch-content__browser__browser_main_loop.cc29
-rw-r--r--www/chromium/files/patch-content__browser__gpu__gpu_blacklist.cc11
-rw-r--r--www/chromium/files/patch-content__browser__gpu__gpu_blacklist_unittest.cc11
-rw-r--r--www/chromium/files/patch-content__browser__renderer_host__browser_render_process_host.cc11
-rw-r--r--www/chromium/files/patch-content__browser__renderer_host__render_process_host_impl.cc11
-rw-r--r--www/chromium/files/patch-content__browser__tab_contents__tab_contents.cc14
-rw-r--r--www/chromium/files/patch-content__browser__zygote_host_linux.cc22
-rw-r--r--www/chromium/files/patch-content__common__gpu__gpu_command_buffer_stub.cc11
-rw-r--r--www/chromium/files/patch-content__common__seccomp_sandbox.h13
-rw-r--r--www/chromium/files/patch-content__public__common__common_param_traits.h (renamed from www/chromium/files/patch-content__common__common_param_traits.h)4
-rw-r--r--www/chromium/files/patch-content__renderer__render_process_impl.cc20
-rw-r--r--www/chromium/files/patch-crypto__encryptor.cc18
-rw-r--r--www/chromium/files/patch-gpu__gpu.gyp10
-rw-r--r--www/chromium/files/patch-ipc__ipc_channel_posix.cc10
-rw-r--r--www/chromium/files/patch-media__audio__pulse__pulse_output.cc11
-rw-r--r--www/chromium/files/patch-media__audio__pulse__pulse_output.h11
-rw-r--r--www/chromium/files/patch-media__media.gyp24
-rw-r--r--www/chromium/files/patch-net__base__dnsrr_resolver.cc24
-rw-r--r--www/chromium/files/patch-net__dns__dns_config_service_posix.h14
-rw-r--r--www/chromium/files/patch-net__net.gyp33
-rw-r--r--www/chromium/files/patch-skia__ext__vector_platform_device_skia.cc8
-rw-r--r--www/chromium/files/patch-skia__ext__vector_platform_device_skia.h22
-rw-r--r--www/chromium/files/patch-third_party__iccjpeg__iccjpeg.h11
-rw-r--r--www/chromium/files/patch-third_party__leveldatabase__env_chromium.cc17
-rw-r--r--www/chromium/files/patch-third_party__libjingle__source__talk__base__ipaddress.h12
-rw-r--r--www/chromium/files/patch-third_party__libvpx__libvpx.gyp45
-rw-r--r--www/chromium/files/patch-third_party__openssl__openssl.gyp11
-rw-r--r--www/chromium/files/patch-third_party__skia__include__core__SkPreConfig.h11
-rw-r--r--www/chromium/files/patch-third_party__yasm__yasm_compile.gypi18
-rw-r--r--www/chromium/files/patch-tools__gyp__pylib__gyp____init__.py11
53 files changed, 380 insertions, 1493 deletions
diff --git a/www/chromium/files/patch-base__base.gypi b/www/chromium/files/patch-base__base.gypi
deleted file mode 100644
index a50815fbc02f..000000000000
--- a/www/chromium/files/patch-base__base.gypi
+++ /dev/null
@@ -1,60 +0,0 @@
---- base/base.gypi.orig 2011-11-10 16:01:46.000000000 +0200
-+++ base/base.gypi 2011-11-28 21:48:00.000000000 +0200
-@@ -115,6 +115,7 @@
- 'files/file_path_watcher_mac.cc',
- 'files/file_path_watcher_stub.cc',
- 'files/file_path_watcher_win.cc',
-+ 'files/file_path_watcher_freebsd.cc',
- 'float_util.h',
- 'format_macros.h',
- 'global_descriptors_posix.cc',
-@@ -216,6 +217,7 @@
- 'process_posix.cc',
- 'process_util.cc',
- 'process_util.h',
-+ 'process_util_freebsd.cc',
- 'process_util_linux.cc',
- 'process_util_mac.mm',
- 'process_util_openbsd.cc',
-@@ -425,7 +427,7 @@
- 'sources!' : [ 'message_pump_gtk.cc', ],
- 'sources/' : [ [ 'include', 'message_pump_x.cc', ] ],
- }],
-- [ 'OS != "linux"', {
-+ [ 'OS != "linux" and OS != "freebsd"', {
- 'sources!': [
- # Not automatically excluded by the *linux.cc rules.
- 'linux_util.cc',
-@@ -498,6 +500,18 @@
- 'files/file_path_watcher_stub.cc',
- ],
- }],
-+ [ 'OS == "freebsd" and os_ver >= 801000', {
-+ 'sources!': [
-+ 'files/file_path_watcher_stub.cc',
-+ 'files/file_path_watcher_linux.cc',
-+ ],
-+ }],
-+ [ 'OS == "freebsd" and os_ver < 801000', {
-+ 'sources!': [
-+ 'files/file_path_watcher_linux.cc',
-+ 'files/file_path_watcher_freebsd.cc',
-+ ],
-+ }],
- [ 'OS == "openbsd"', {
- 'sources/': [
- ['include', '^base_paths_linux\\.cc$'],
-@@ -600,6 +614,13 @@
- ],
- }],
- [ 'OS == "freebsd" or OS == "openbsd"', {
-+ # XXX rene: maybe this chunk should go one day
-+ 'sources!': [
-+ 'file_util_linux.cc',
-+ 'process_linux.cc',
-+ 'process_util_linux.cc',
-+ 'files/file_path_watcher_linux.cc',
-+ ],
- 'include_dirs': [
- '/usr/local/include',
- ],
diff --git a/www/chromium/files/patch-base__debug__debugger_posix.cc b/www/chromium/files/patch-base__debug__debugger_posix.cc
deleted file mode 100644
index 50c834945b45..000000000000
--- a/www/chromium/files/patch-base__debug__debugger_posix.cc
+++ /dev/null
@@ -1,45 +0,0 @@
---- base/debug/debugger_posix.cc.orig 2011-07-28 11:01:28.000000000 +0300
-+++ base/debug/debugger_posix.cc 2011-08-28 20:25:41.000000000 +0300
-@@ -13,6 +13,7 @@
- #include <sys/param.h>
- #include <sys/stat.h>
- #include <sys/types.h>
-+#include <sys/user.h>
- #include <unistd.h>
-
- #include <string>
-@@ -57,7 +58,7 @@
- return false;
- }
-
--#if defined(OS_MACOSX)
-+#if defined(OS_MACOSX) || defined(OS_FREEBSD)
-
- // Based on Apple's recommended method as described in
- // http://developer.apple.com/qa/qa2004/qa1361.html
-@@ -95,7 +96,11 @@
-
- // This process is being debugged if the P_TRACED flag is set.
- is_set = true;
-+#if defined(OS_FREEBSD)
-+ being_debugged = (info.ki_flag & P_TRACED) != 0;
-+#else
- being_debugged = (info.kp_proc.p_flag & P_TRACED) != 0;
-+#endif
- return being_debugged;
- }
-
-@@ -145,12 +150,11 @@
- #else
-
- bool BeingDebugged() {
-- // TODO(benl): can we determine this under FreeBSD?
- NOTIMPLEMENTED();
- return false;
- }
-
--#endif // defined(OS_FREEBSD)
-+#endif
-
- // We want to break into the debugger in Debug mode, and cause a crash dump in
- // Release mode. Breakpad behaves as follows:
diff --git a/www/chromium/files/patch-base__file_util_posix.cc b/www/chromium/files/patch-base__file_util_posix.cc
deleted file mode 100644
index 231f6541e48b..000000000000
--- a/www/chromium/files/patch-base__file_util_posix.cc
+++ /dev/null
@@ -1,14 +0,0 @@
---- ./base/file_util_posix.cc.orig 2010-12-16 02:11:49.000000000 +0100
-+++ ./base/file_util_posix.cc 2010-12-20 20:15:07.000000000 +0100
-@@ -815,7 +815,11 @@
- }
-
- bool GetShmemTempDir(FilePath* path) {
-+#if defined(OS_LINUX)
- *path = FilePath("/dev/shm");
-+#else
-+ *path = FilePath("/tmp");
-+#endif
- return true;
- }
-
diff --git a/www/chromium/files/patch-base__files__file_path_watcher_freebsd.cc b/www/chromium/files/patch-base__files__file_path_watcher_freebsd.cc
deleted file mode 100644
index 512e3a695c23..000000000000
--- a/www/chromium/files/patch-base__files__file_path_watcher_freebsd.cc
+++ /dev/null
@@ -1,476 +0,0 @@
---- /dev/null 2011-10-09 00:44:00.000000000 +0300
-+++ base/files/file_path_watcher_freebsd.cc 2011-10-09 00:49:08.473941731 +0300
-@@ -0,0 +1,473 @@
-+// Copyright (c) 2011 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.
-+
-+#include "base/files/file_path_watcher.h"
-+
-+#include <fcntl.h>
-+#include <sys/event.h>
-+#include <sys/param.h>
-+
-+#include <vector>
-+
-+#include "base/file_util.h"
-+#include "base/message_loop.h"
-+#include "base/message_loop_proxy.h"
-+#include "base/stringprintf.h"
-+
-+namespace base {
-+namespace files {
-+
-+namespace {
-+
-+class FilePathWatcherImpl : public FilePathWatcher::PlatformDelegate,
-+ public MessageLoopForIO::Watcher,
-+ public MessageLoop::DestructionObserver {
-+ public:
-+ FilePathWatcherImpl() : kqueue_(-1) {}
-+ virtual ~FilePathWatcherImpl() {}
-+
-+ // MessageLoopForIO::Watcher overrides.
-+ virtual void OnFileCanReadWithoutBlocking(int fd) OVERRIDE;
-+ virtual void OnFileCanWriteWithoutBlocking(int fd) OVERRIDE;
-+
-+ // MessageLoop::DestructionObserver overrides.
-+ virtual void WillDestroyCurrentMessageLoop() OVERRIDE;
-+
-+ // FilePathWatcher::PlatformDelegate overrides.
-+ virtual bool Watch(const FilePath& path,
-+ FilePathWatcher::Delegate* delegate) OVERRIDE;
-+ virtual void Cancel() OVERRIDE;
-+
-+ private:
-+ class EventData {
-+ public:
-+ EventData(const FilePath& path, const FilePath::StringType& subdir)
-+ : path_(path), subdir_(subdir) { }
-+ FilePath path_; // Full path to this item.
-+ FilePath::StringType subdir_; // Path to any sub item.
-+ };
-+ typedef std::vector<struct kevent> EventVector;
-+
-+ // Can only be called on |io_message_loop_|'s thread.
-+ virtual void CancelOnMessageLoopThread() OVERRIDE;
-+
-+ // Returns true if the kevent values are error free.
-+ bool AreKeventValuesValid(struct kevent* kevents, int count);
-+
-+ // Respond to a change of attributes of the path component represented by
-+ // |event|. Sets |target_file_affected| to true if |target_| is affected.
-+ // Sets |update_watches| to true if |events_| need to be updated.
-+ void HandleAttributesChange(const EventVector::iterator& event,
-+ bool* target_file_affected,
-+ bool* update_watches);
-+
-+ // Respond to a move of deletion of the path component represented by
-+ // |event|. Sets |target_file_affected| to true if |target_| is affected.
-+ // Sets |update_watches| to true if |events_| need to be updated.
-+ void HandleDeleteOrMoveChange(const EventVector::iterator& event,
-+ bool* target_file_affected,
-+ bool* update_watches);
-+
-+ // Respond to a creation of an item in the path component represented by
-+ // |event|. Sets |target_file_affected| to true if |target_| is affected.
-+ // Sets |update_watches| to true if |events_| need to be updated.
-+ void HandleCreateItemChange(const EventVector::iterator& event,
-+ bool* target_file_affected,
-+ bool* update_watches);
-+
-+ // Update |events_| with the current status of the system.
-+ // Sets |target_file_affected| to true if |target_| is affected.
-+ // Returns false if an error occurs.
-+ bool UpdateWatches(bool* target_file_affected);
-+
-+ // Fills |events| with one kevent per component in |path|.
-+ // Returns the number of valid events created where a valid event is
-+ // defined as one that has a ident (file descriptor) field != -1.
-+ static int EventsForPath(FilePath path, EventVector *events);
-+
-+ // Release a kevent generated by EventsForPath.
-+ static void ReleaseEvent(struct kevent& event);
-+
-+ // Returns a file descriptor that will not block the system from deleting
-+ // the file it references.
-+ static int FileDescriptorForPath(const FilePath& path);
-+
-+ // Closes |*fd| and sets |*fd| to -1.
-+ static void CloseFileDescriptor(int* fd);
-+
-+ // Returns true if kevent has open file descriptor.
-+ static bool IsKeventFileDescriptorOpen(const struct kevent& event) {
-+ return event.ident != static_cast<uintptr_t>(-1);
-+ }
-+
-+ static EventData* EventDataForKevent(const struct kevent& event) {
-+ return reinterpret_cast<EventData*>(event.udata);
-+ }
-+
-+ EventVector events_;
-+ scoped_refptr<base::MessageLoopProxy> io_message_loop_;
-+ MessageLoopForIO::FileDescriptorWatcher kqueue_watcher_;
-+ scoped_refptr<FilePathWatcher::Delegate> delegate_;
-+ FilePath target_;
-+ int kqueue_;
-+
-+ DISALLOW_COPY_AND_ASSIGN(FilePathWatcherImpl);
-+};
-+
-+void FilePathWatcherImpl::ReleaseEvent(struct kevent& event) {
-+ CloseFileDescriptor(reinterpret_cast<int*>(&event.ident));
-+ EventData* entry = EventDataForKevent(event);
-+ delete entry;
-+ event.udata = NULL;
-+}
-+
-+int FilePathWatcherImpl::EventsForPath(FilePath path, EventVector* events) {
-+ DCHECK(MessageLoopForIO::current());
-+ // Make sure that we are working with a clean slate.
-+ DCHECK(events->empty());
-+
-+ std::vector<FilePath::StringType> components;
-+ path.GetComponents(&components);
-+
-+ if (components.size() < 1) {
-+ return -1;
-+ }
-+
-+ int last_existing_entry = 0;
-+ FilePath built_path;
-+ bool path_still_exists = true;
-+ for(std::vector<FilePath::StringType>::iterator i = components.begin();
-+ i != components.end(); ++i) {
-+ if (i == components.begin()) {
-+ built_path = FilePath(*i);
-+ } else {
-+ built_path = built_path.Append(*i);
-+ }
-+ int fd = -1;
-+ if (path_still_exists) {
-+ fd = FileDescriptorForPath(built_path);
-+ if (fd == -1) {
-+ path_still_exists = false;
-+ } else {
-+ ++last_existing_entry;
-+ }
-+ }
-+ FilePath::StringType subdir = (i != (components.end() - 1)) ? *(i + 1) : "";
-+ EventData* data = new EventData(built_path, subdir);
-+ struct kevent event;
-+ EV_SET(&event, fd, EVFILT_VNODE, (EV_ADD | EV_CLEAR | EV_RECEIPT),
-+ (NOTE_DELETE | NOTE_WRITE | NOTE_ATTRIB |
-+ NOTE_RENAME | NOTE_REVOKE | NOTE_EXTEND), 0, data);
-+ events->push_back(event);
-+ }
-+ return last_existing_entry;
-+}
-+
-+int FilePathWatcherImpl::FileDescriptorForPath(const FilePath& path) {
-+ return HANDLE_EINTR(open(path.value().c_str(), O_RDONLY));
-+}
-+
-+void FilePathWatcherImpl::CloseFileDescriptor(int *fd) {
-+ if (*fd == -1) {
-+ return;
-+ }
-+
-+ if (HANDLE_EINTR(close(*fd)) != 0) {
-+ PLOG(ERROR) << "close";
-+ }
-+ *fd = -1;
-+}
-+
-+bool FilePathWatcherImpl::AreKeventValuesValid(struct kevent* kevents,
-+ int count) {
-+ if (count < 0) {
-+ PLOG(ERROR) << "kevent";
-+ return false;
-+ }
-+ bool valid = true;
-+ for (int i = 0; i < count; ++i) {
-+ if (kevents[i].flags & EV_ERROR && kevents[i].data) {
-+ // Find the kevent in |events_| that matches the kevent with the error.
-+ EventVector::iterator event = events_.begin();
-+ for (; event != events_.end(); ++event) {
-+ if (event->ident == kevents[i].ident) {
-+ break;
-+ }
-+ }
-+ std::string path_name;
-+ if (event != events_.end()) {
-+ EventData* event_data = EventDataForKevent(*event);
-+ if (event_data != NULL) {
-+ path_name = event_data->path_.value();
-+ }
-+ }
-+ if (path_name.empty()) {
-+ path_name = base::StringPrintf(
-+ "fd %d", *reinterpret_cast<int*>(&kevents[i].ident));
-+ }
-+ LOG(ERROR) << "Error: " << kevents[i].data << " for " << path_name;
-+ valid = false;
-+ }
-+ }
-+ return valid;
-+}
-+
-+void FilePathWatcherImpl::HandleAttributesChange(
-+ const EventVector::iterator& event,
-+ bool* target_file_affected,
-+ bool* update_watches) {
-+ EventVector::iterator next_event = event + 1;
-+ EventData* next_event_data = EventDataForKevent(*next_event);
-+ // Check to see if the next item in path is still accessible.
-+ int have_access = FileDescriptorForPath(next_event_data->path_);
-+ if (have_access == -1) {
-+ *target_file_affected = true;
-+ *update_watches = true;
-+ EventVector::iterator local_event(event);
-+ for (; local_event != events_.end(); ++local_event) {
-+ // Close all nodes from the event down. This has the side effect of
-+ // potentially rendering other events in |updates| invalid.
-+ // There is no need to remove the events from |kqueue_| because this
-+ // happens as a side effect of closing the file descriptor.
-+ CloseFileDescriptor(reinterpret_cast<int*>(&local_event->ident));
-+ }
-+ } else {
-+ CloseFileDescriptor(&have_access);
-+ }
-+}
-+
-+void FilePathWatcherImpl::HandleDeleteOrMoveChange(
-+ const EventVector::iterator& event,
-+ bool* target_file_affected,
-+ bool* update_watches) {
-+ *target_file_affected = true;
-+ *update_watches = true;
-+ EventVector::iterator local_event(event);
-+ for (; local_event != events_.end(); ++local_event) {
-+ // Close all nodes from the event down. This has the side effect of
-+ // potentially rendering other events in |updates| invalid.
-+ // There is no need to remove the events from |kqueue_| because this
-+ // happens as a side effect of closing the file descriptor.
-+ CloseFileDescriptor(reinterpret_cast<int*>(&local_event->ident));
-+ }
-+}
-+
-+void FilePathWatcherImpl::HandleCreateItemChange(
-+ const EventVector::iterator& event,
-+ bool* target_file_affected,
-+ bool* update_watches) {
-+ // Get the next item in the path.
-+ EventVector::iterator next_event = event + 1;
-+ EventData* next_event_data = EventDataForKevent(*next_event);
-+
-+ // Check to see if it already has a valid file descriptor.
-+ if (!IsKeventFileDescriptorOpen(*next_event)) {
-+ // If not, attempt to open a file descriptor for it.
-+ next_event->ident = FileDescriptorForPath(next_event_data->path_);
-+ if (IsKeventFileDescriptorOpen(*next_event)) {
-+ *update_watches = true;
-+ if (next_event_data->subdir_.empty()) {
-+ *target_file_affected = true;
-+ }
-+ }
-+ }
-+}
-+
-+bool FilePathWatcherImpl::UpdateWatches(bool* target_file_affected) {
-+ // Iterate over events adding kevents for items that exist to the kqueue.
-+ // Then check to see if new components in the path have been created.
-+ // Repeat until no new components in the path are detected.
-+ // This is to get around races in directory creation in a watched path.
-+ bool update_watches = true;
-+ while (update_watches) {
-+ size_t valid;
-+ for (valid = 0; valid < events_.size(); ++valid) {
-+ if (!IsKeventFileDescriptorOpen(events_[valid])) {
-+ break;
-+ }
-+ }
-+ if (valid == 0) {
-+ // The root of the file path is inaccessible?
-+ return false;
-+ }
-+
-+ EventVector updates(valid);
-+ int count = HANDLE_EINTR(kevent(kqueue_, &events_[0], valid, &updates[0],
-+ valid, NULL));
-+ if (!AreKeventValuesValid(&updates[0], count)) {
-+ return false;
-+ }
-+ update_watches = false;
-+ for (; valid < events_.size(); ++valid) {
-+ EventData* event_data = EventDataForKevent(events_[valid]);
-+ events_[valid].ident = FileDescriptorForPath(event_data->path_);
-+ if (IsKeventFileDescriptorOpen(events_[valid])) {
-+ update_watches = true;
-+ if (event_data->subdir_.empty()) {
-+ *target_file_affected = true;
-+ }
-+ } else {
-+ break;
-+ }
-+ }
-+ }
-+ return true;
-+}
-+
-+void FilePathWatcherImpl::OnFileCanReadWithoutBlocking(int fd) {
-+ DCHECK(MessageLoopForIO::current());
-+ CHECK_EQ(fd, kqueue_);
-+ CHECK(events_.size());
-+
-+ // Request the file system update notifications that have occurred and return
-+ // them in |updates|. |count| will contain the number of updates that have
-+ // occurred.
-+ EventVector updates(events_.size());
-+ struct timespec timeout = {0, 0};
-+ int count = HANDLE_EINTR(kevent(kqueue_, NULL, 0, &updates[0], updates.size(),
-+ &timeout));
-+
-+ // Error values are stored within updates, so check to make sure that no
-+ // errors occurred.
-+ if (!AreKeventValuesValid(&updates[0], count)) {
-+ delegate_->OnFilePathError(target_);
-+ Cancel();
-+ return;
-+ }
-+
-+ bool update_watches = false;
-+ bool send_notification = false;
-+
-+ // Iterate through each of the updates and react to them.
-+ for (int i = 0; i < count; ++i) {
-+ // Find our kevent record that matches the update notification.
-+ EventVector::iterator event = events_.begin();
-+ for (; event != events_.end(); ++event) {
-+ if (!IsKeventFileDescriptorOpen(*event) ||
-+ event->ident == updates[i].ident) {
-+ break;
-+ }
-+ }
-+ if (!IsKeventFileDescriptorOpen(*event) || event == events_.end()) {
-+ // The event may no longer exist in |events_| because another event
-+ // modified |events_| in such a way to make it invalid. For example if
-+ // the path is /foo/bar/bam and foo is deleted, NOTE_DELETE events for
-+ // foo, bar and bam will be sent. If foo is processed first, then
-+ // the file descriptors for bar and bam will already be closed and set
-+ // to -1 before they get a chance to be processed.
-+ continue;
-+ }
-+
-+ EventData* event_data = EventDataForKevent(*event);
-+
-+ // If the subdir is empty, this is the last item on the path and is the
-+ // target file.
-+ bool target_file_affected = event_data->subdir_.empty();
-+ if ((updates[i].fflags & NOTE_ATTRIB) && !target_file_affected) {
-+ HandleAttributesChange(event, &target_file_affected, &update_watches);
-+ }
-+ if (updates[i].fflags & (NOTE_DELETE | NOTE_REVOKE | NOTE_RENAME)) {
-+ HandleDeleteOrMoveChange(event, &target_file_affected, &update_watches);
-+ }
-+ if ((updates[i].fflags & NOTE_WRITE) && !target_file_affected) {
-+ HandleCreateItemChange(event, &target_file_affected, &update_watches);
-+ }
-+ send_notification |= target_file_affected;
-+ }
-+
-+ if (update_watches) {
-+ if (!UpdateWatches(&send_notification)) {
-+ delegate_->OnFilePathError(target_);
-+ Cancel();
-+ }
-+ }
-+
-+ if (send_notification) {
-+ delegate_->OnFilePathChanged(target_);
-+ }
-+}
-+
-+void FilePathWatcherImpl::OnFileCanWriteWithoutBlocking(int fd) {
-+ NOTREACHED();
-+}
-+
-+void FilePathWatcherImpl::WillDestroyCurrentMessageLoop() {
-+ CancelOnMessageLoopThread();
-+}
-+
-+bool FilePathWatcherImpl::Watch(const FilePath& path,
-+ FilePathWatcher::Delegate* delegate) {
-+ DCHECK(MessageLoopForIO::current());
-+ DCHECK(target_.value().empty()); // Can only watch one path.
-+ DCHECK(delegate);
-+ DCHECK_EQ(kqueue_, -1);
-+
-+ delegate_ = delegate;
-+ target_ = path;
-+
-+ MessageLoop::current()->AddDestructionObserver(this);
-+ io_message_loop_ = base::MessageLoopProxy::current();
-+
-+ kqueue_ = kqueue();
-+ if (kqueue_ == -1) {
-+ PLOG(ERROR) << "kqueue";
-+ return false;
-+ }
-+
-+ int last_entry = EventsForPath(target_, &events_);
-+ CHECK_NE(last_entry, 0);
-+
-+ EventVector responses(last_entry);
-+
-+ int count = HANDLE_EINTR(kevent(kqueue_, &events_[0], last_entry,
-+ &responses[0], last_entry, NULL));
-+ if (!AreKeventValuesValid(&responses[0], count)) {
-+ // Calling Cancel() here to close any file descriptors that were opened.
-+ // This would happen in the destructor anyways, but FilePathWatchers tend to
-+ // be long lived, and if an error has occurred, there is no reason to waste
-+ // the file descriptors.
-+ Cancel();
-+ return false;
-+ }
-+
-+ return MessageLoopForIO::current()->WatchFileDescriptor(
-+ kqueue_, true, MessageLoopForIO::WATCH_READ, &kqueue_watcher_, this);
-+}
-+
-+void FilePathWatcherImpl::Cancel() {
-+ base::MessageLoopProxy* proxy = io_message_loop_.get();
-+ if (!proxy) {
-+ set_cancelled();
-+ return;
-+ }
-+ if (!proxy->BelongsToCurrentThread()) {
-+ proxy->PostTask(FROM_HERE,
-+ NewRunnableMethod(this, &FilePathWatcherImpl::Cancel));
-+ return;
-+ }
-+ CancelOnMessageLoopThread();
-+}
-+
-+void FilePathWatcherImpl::CancelOnMessageLoopThread() {
-+ DCHECK(MessageLoopForIO::current());
-+ if (!is_cancelled()) {
-+ set_cancelled();
-+ kqueue_watcher_.StopWatchingFileDescriptor();
-+ CloseFileDescriptor(&kqueue_);
-+ std::for_each(events_.begin(), events_.end(), ReleaseEvent);
-+ events_.clear();
-+ io_message_loop_ = NULL;
-+ MessageLoop::current()->RemoveDestructionObserver(this);
-+ delegate_ = NULL;
-+ }
-+}
-+
-+} // namespace
-+
-+FilePathWatcher::FilePathWatcher() {
-+ impl_ = new FilePathWatcherImpl();
-+}
-+
-+} // namespace files
-+} // namespace base
diff --git a/www/chromium/files/patch-base__process_util.h b/www/chromium/files/patch-base__process_util.h
deleted file mode 100644
index 770449ec8fb9..000000000000
--- a/www/chromium/files/patch-base__process_util.h
+++ /dev/null
@@ -1,37 +0,0 @@
---- base/process_util.h.orig 2011-11-01 10:42:54.000000000 +0200
-+++ base/process_util.h 2011-11-21 23:05:53.000000000 +0200
-@@ -14,14 +14,14 @@
- #if defined(OS_WIN)
- #include <windows.h>
- #include <tlhelp32.h>
--#elif defined(OS_MACOSX) || defined(OS_OPENBSD)
-+#elif defined(OS_MACOSX) || defined(OS_OPENBSD) || defined(OS_FREEBSD)
- // kinfo_proc is defined in <sys/sysctl.h>, but this forward declaration
- // is sufficient for the vector<kinfo_proc> below.
- struct kinfo_proc;
- // malloc_zone_t is defined in <malloc/malloc.h>, but this forward declaration
- // is sufficient for GetPurgeableZone() below.
- typedef struct _malloc_zone_t malloc_zone_t;
--#if !defined(OS_OPENBSD)
-+#if !defined(OS_OPENBSD) && !defined(OS_FREEBSD)
- #include <mach/mach.h>
- #endif
- #elif defined(OS_POSIX)
-@@ -166,7 +166,7 @@
- // Win XP SP1 as well.
- BASE_EXPORT ProcessId GetProcId(ProcessHandle process);
-
--#if defined(OS_LINUX) || defined(OS_ANDROID)
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD)
- // Returns the path to the executable of the given process.
- BASE_EXPORT FilePath GetProcessExecutablePath(ProcessHandle process);
-
-@@ -528,7 +528,7 @@
- #if defined(OS_WIN)
- HANDLE snapshot_;
- bool started_iteration_;
--#elif defined(OS_MACOSX) || defined(OS_OPENBSD)
-+#elif defined(OS_MACOSX) || defined(OS_OPENBSD) || defined(OS_FREEBSD)
- std::vector<kinfo_proc> kinfo_procs_;
- size_t index_of_kinfo_proc_;
- #elif defined(OS_POSIX)
diff --git a/www/chromium/files/patch-base__process_util_freebsd.cc b/www/chromium/files/patch-base__process_util_freebsd.cc
deleted file mode 100644
index 6dd4127d396d..000000000000
--- a/www/chromium/files/patch-base__process_util_freebsd.cc
+++ /dev/null
@@ -1,326 +0,0 @@
---- base/process_util_freebsd.cc.orig 2011-10-08 23:30:09.938179749 +0300
-+++ base/process_util_freebsd.cc 2011-10-09 14:30:52.108006527 +0300
-@@ -0,0 +1,323 @@
-+// Copyright (c) 2009 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.
-+
-+#include "base/process_util.h"
-+
-+#include <ctype.h>
-+#include <dirent.h>
-+#include <dlfcn.h>
-+#include <errno.h>
-+#include <fcntl.h>
-+#include <sys/time.h>
-+#include <sys/types.h>
-+#include <sys/wait.h>
-+#include <sys/sysctl.h>
-+#include <sys/user.h>
-+#include <time.h>
-+#include <unistd.h>
-+
-+#include "base/file_util.h"
-+#include "base/logging.h"
-+#include "base/string_number_conversions.h"
-+#include "base/string_split.h"
-+#include "base/string_tokenizer.h"
-+#include "base/string_util.h"
-+#include "base/sys_info.h"
-+//#include "base/thread_restrictions.h"
-+
-+namespace base {
-+
-+ProcessId GetParentProcessId(ProcessHandle process) {
-+ struct kinfo_proc info;
-+ int mib[4];
-+ size_t info_size = sizeof(info);
-+
-+ mib[0] = CTL_KERN;
-+ mib[1] = KERN_PROC;
-+ mib[2] = KERN_PROC_PID;
-+ mib[3] = process;
-+
-+ if (sysctl(mib, 4, &info, &info_size, NULL, 0) < 0)
-+ return -1;
-+
-+ return info.ki_ppid;
-+}
-+
-+FilePath GetProcessExecutablePath(ProcessHandle process) {
-+ char pathname[PATH_MAX];
-+ int mib[4];
-+ size_t len;
-+
-+ mib[0] = CTL_KERN;
-+ mib[1] = KERN_PROC;
-+ mib[2] = KERN_PROC_PATHNAME;
-+ mib[3] = process;
-+
-+ len = sizeof(pathname);
-+
-+ if (sysctl(mib, 4, pathname, &len, NULL, 0) < 0 || len == 0)
-+ return FilePath();
-+
-+ return FilePath(std::string(pathname));
-+}
-+
-+ProcessIterator::ProcessIterator(const ProcessFilter* filter)
-+ : index_of_kinfo_proc_(),
-+ filter_(filter) {
-+
-+ int mib[4];
-+
-+ mib[0] = CTL_KERN;
-+ mib[1] = KERN_PROC;
-+ mib[2] = KERN_PROC_UID;
-+ mib[3] = getuid();
-+
-+ bool done = false;
-+ int try_num = 1;
-+ const int max_tries = 10;
-+
-+ do {
-+ size_t len = 0;
-+ if (sysctl(mib, 4, NULL, &len, NULL, 0) <0 ){
-+ LOG(ERROR) << "failed to get the size needed for the process list";
-+ kinfo_procs_.resize(0);
-+ done = true;
-+ } else {
-+ size_t num_of_kinfo_proc = len / sizeof(struct kinfo_proc);
-+ // Leave some spare room for process table growth (more could show up
-+ // between when we check and now)
-+ num_of_kinfo_proc += 16;
-+ kinfo_procs_.resize(num_of_kinfo_proc);
-+ len = num_of_kinfo_proc * sizeof(struct kinfo_proc);
-+ if (sysctl(mib, 4, &kinfo_procs_[0], &len, NULL, 0) <0) {
-+ // If we get a mem error, it just means we need a bigger buffer, so
-+ // loop around again. Anything else is a real error and give up.
-+ if (errno != ENOMEM) {
-+ LOG(ERROR) << "failed to get the process list";
-+ kinfo_procs_.resize(0);
-+ done = true;
-+ }
-+ } else {
-+ // Got the list, just make sure we're sized exactly right
-+ size_t num_of_kinfo_proc = len / sizeof(struct kinfo_proc);
-+ kinfo_procs_.resize(num_of_kinfo_proc);
-+ done = true;
-+ }
-+ }
-+ } while (!done && (try_num++ < max_tries));
-+
-+ if (!done) {
-+ LOG(ERROR) << "failed to collect the process list in a few tries";
-+ kinfo_procs_.resize(0);
-+ }
-+}
-+
-+ProcessIterator::~ProcessIterator() {
-+}
-+
-+bool ProcessIterator::CheckForNextProcess() {
-+ std::string data;
-+
-+ for (; index_of_kinfo_proc_ < kinfo_procs_.size(); ++ index_of_kinfo_proc_) {
-+ int mib[3];
-+ size_t len;
-+ struct kinfo_proc kinfo = kinfo_procs_[index_of_kinfo_proc_];
-+
-+ if ((kinfo.ki_pid > 0) && (kinfo.ki_stat == SZOMB))
-+ continue;
-+
-+ mib[0] = CTL_KERN;
-+ mib[1] = KERN_PROC_ARGS;
-+ mib[2] = kinfo.ki_pid;
-+
-+ len = 0;
-+ if (sysctl(mib, 3, NULL, &len, NULL, 0) < 0) {
-+ LOG(ERROR) << "failed to figure out the buffer size for a command line";
-+ continue;
-+ }
-+
-+ data.resize(len);
-+
-+ if (sysctl(mib, 3, &data[0], &len, NULL, 0) < 0) {
-+ LOG(ERROR) << "failed to fetch a commandline";
-+ continue;
-+ }
-+
-+ std::string delimiters;
-+ delimiters.push_back('\0');
-+ Tokenize(data, delimiters, &entry_.cmd_line_args_);
-+
-+ size_t exec_name_end = data.find('\0');
-+ if (exec_name_end == std::string::npos) {
-+ LOG(ERROR) << "command line data didn't match expected format";
-+ continue;
-+ }
-+
-+ entry_.pid_ = kinfo.ki_pid;
-+ entry_.ppid_ = kinfo.ki_ppid;
-+ entry_.gid_ = kinfo.ki_pgid;
-+
-+ size_t last_slash = data.rfind('/', exec_name_end);
-+ if (last_slash == std::string::npos)
-+ entry_.exe_file_.assign(data, 0, exec_name_end);
-+ else
-+ entry_.exe_file_.assign(data, last_slash + 1,
-+ exec_name_end - last_slash - 1);
-+
-+ // Start w/ the next entry next time through
-+ ++index_of_kinfo_proc_;
-+
-+ return true;
-+ }
-+ return false;
-+}
-+
-+bool NamedProcessIterator::IncludeEntry() {
-+ if(executable_name_ != entry().exe_file())
-+ return false;
-+
-+ return ProcessIterator::IncludeEntry();
-+}
-+
-+
-+ProcessMetrics::ProcessMetrics(ProcessHandle process)
-+ : process_(process),
-+ last_time_(0),
-+ last_system_time_(0),
-+ last_cpu_(0) {
-+ processor_count_ = base::SysInfo::NumberOfProcessors();
-+}
-+
-+// static
-+ProcessMetrics* ProcessMetrics::CreateProcessMetrics(ProcessHandle process) {
-+ return new ProcessMetrics(process);
-+}
-+
-+size_t ProcessMetrics::GetPagefileUsage() const {
-+ struct kinfo_proc info;
-+ int mib[4];
-+ size_t info_size = sizeof(info);
-+
-+ mib[0] = CTL_KERN;
-+ mib[1] = KERN_PROC;
-+ mib[2] = KERN_PROC_PID;
-+ mib[3] = process_;
-+
-+ if (sysctl(mib, 4, &info, &info_size, NULL, 0) < 0)
-+ return 0;
-+
-+ return info.ki_size;
-+}
-+
-+size_t ProcessMetrics::GetPeakPagefileUsage() const {
-+ return 0;
-+}
-+
-+size_t ProcessMetrics::GetWorkingSetSize() const {
-+ struct kinfo_proc info;
-+ int mib[4];
-+ size_t info_size = sizeof(info);
-+
-+ mib[0] = CTL_KERN;
-+ mib[1] = KERN_PROC;
-+ mib[2] = KERN_PROC_PID;
-+ mib[3] = process_;
-+
-+ if (sysctl(mib, 4, &info, &info_size, NULL, 0) < 0)
-+ return 0;
-+
-+ return info.ki_rssize * getpagesize();
-+}
-+
-+size_t ProcessMetrics::GetPeakWorkingSetSize() const {
-+ return 0;
-+}
-+
-+bool ProcessMetrics::GetMemoryBytes(size_t* private_bytes,
-+ size_t* shared_bytes) {
-+ WorkingSetKBytes ws_usage;
-+ if (!GetWorkingSetKBytes(&ws_usage))
-+ return false;
-+
-+ if (private_bytes)
-+ *private_bytes = ws_usage.priv << 10;
-+
-+ if (shared_bytes)
-+ *shared_bytes = ws_usage.shared * 1024;
-+
-+ return true;
-+}
-+
-+bool ProcessMetrics::GetWorkingSetKBytes(WorkingSetKBytes* ws_usage) const {
-+// TODO(bapt) be sure we can't be precise
-+ size_t priv = GetWorkingSetSize();
-+ if (!priv)
-+ return false;
-+ ws_usage->priv = priv / 1024;
-+ ws_usage->shareable = 0;
-+ ws_usage->shared = 0;
-+
-+ return true;
-+}
-+
-+bool ProcessMetrics::GetIOCounters(IoCounters* io_counters) const {
-+ return false;
-+}
-+
-+double ProcessMetrics::GetCPUUsage() {
-+ struct kinfo_proc info;
-+ int mib[4];
-+ size_t info_size = sizeof(info);
-+
-+ struct timeval now;
-+ int retval = gettimeofday(&now, NULL);
-+ if (retval)
-+ return 0;
-+
-+ mib[0] = CTL_KERN;
-+ mib[1] = KERN_PROC;
-+ mib[2] = KERN_PROC_PID;
-+ mib[3] = process_;
-+
-+ if (sysctl(mib, 4, &info, &info_size, NULL, 0) < 0)
-+ return 0;
-+
-+ return (info.ki_pctcpu / FSCALE) * 100.0;
-+}
-+
-+size_t GetSystemCommitCharge() {
-+ int mib[2], pagesize;
-+ unsigned long mem_total, mem_free, mem_inactive;
-+ size_t len = sizeof(mem_total);
-+
-+ if (sysctl(mib, 2, &mem_total, &len, NULL, 0) < 0)
-+ return 0;
-+
-+ len = sizeof(mem_free);
-+ if (sysctlbyname("vm.stats.vm.v_free_count", &mem_free, &len, NULL, 0) < 0)
-+ return 0;
-+
-+ len = sizeof(mem_inactive);
-+ if (sysctlbyname("vm.stats.vm.v_inactive_count", &mem_inactive, &len, NULL, 0) < 0)
-+ return 0;
-+
-+ pagesize = getpagesize();
-+
-+ return mem_total - (mem_free*pagesize) - (mem_inactive*pagesize);
-+}
-+
-+void EnableTerminationOnOutOfMemory() {
-+ DLOG(WARNING) << "Not feasible.";
-+}
-+
-+void EnableTerminationOnHeapCorruption() {
-+ // Nothing to do.
-+}
-+
-+bool AdjustOOMScore(ProcessId process, int score) {
-+ NOTIMPLEMENTED();
-+ return false;
-+}
-+
-+} // namespace base
diff --git a/www/chromium/files/patch-base__process_util_posix.cc b/www/chromium/files/patch-base__process_util_posix.cc
index 98ff3dde62ca..13ef35f0fb51 100644
--- a/www/chromium/files/patch-base__process_util_posix.cc
+++ b/www/chromium/files/patch-base__process_util_posix.cc
@@ -1,31 +1,17 @@
---- base/process_util_posix.cc.orig 2011-09-12 11:35:34.000000000 +0300
-+++ base/process_util_posix.cc 2011-09-15 02:07:17.000000000 +0300
-@@ -33,6 +33,11 @@
- #include "base/threading/thread_restrictions.h"
- #include "base/time.h"
-
-+#if defined(OS_FREEBSD)
-+#include <sys/event.h>
-+#include <sys/ucontext.h>
-+#endif
-+
- #if defined(OS_MACOSX)
- #include <crt_externs.h>
- #include <sys/event.h>
-@@ -767,8 +772,8 @@
+--- base/process_util_posix.cc.orig 2012-01-29 14:28:45.000000000 +0200
++++ base/process_util_posix.cc 2012-01-29 14:29:58.000000000 +0200
+@@ -886,7 +886,7 @@
return false;
}
-#if defined(OS_MACOSX)
--// Using kqueue on Mac so that we can wait on non-child processes.
+#if defined(OS_MACOSX) || defined(OS_FREEBSD)
-+// Using kqueue on BSD so that we can wait on non-child processes.
+ // Using kqueue on Mac so that we can wait on non-child processes.
// We can't use kqueues on child processes because we need to reap
// our own children using wait.
- static bool WaitForSingleNonChildProcess(ProcessHandle handle,
-@@ -826,19 +831,19 @@
- }
- }
+@@ -976,19 +976,19 @@
+
+ return true;
}
-#endif // OS_MACOSX
+#endif // OS_MACOSX || OS_FREEBSD
@@ -35,9 +21,8 @@
ProcessHandle our_pid = Process::Current().handle();
if (parent_pid != our_pid) {
-#if defined(OS_MACOSX)
-- // On Mac we can wait on non child processes.
+#if defined(OS_MACOSX) || defined(OS_FREEBSD)
-+ // On BSD we can wait on non child processes.
+ // On Mac we can wait on non child processes.
return WaitForSingleNonChildProcess(handle, wait_milliseconds);
#else
// Currently on Linux we can't handle non child processes.
@@ -45,5 +30,5 @@
-#endif // OS_MACOSX
+#endif // OS_MACOSX || OS_FREEBSD
}
+
bool waitpid_success;
- int status;
diff --git a/www/chromium/files/patch-build__common.gypi b/www/chromium/files/patch-build__common.gypi
index 999c648f72ae..0af828d5170b 100644
--- a/www/chromium/files/patch-build__common.gypi
+++ b/www/chromium/files/patch-build__common.gypi
@@ -1,17 +1,18 @@
---- build/common.gypi.orig 2011-11-10 16:01:45.000000000 +0200
-+++ build/common.gypi 2011-12-01 00:10:48.000000000 +0200
-@@ -403,6 +403,10 @@
+--- build/common.gypi.orig 2012-01-25 10:01:56.000000000 +0200
++++ build/common.gypi 2012-01-29 21:49:50.000000000 +0200
+@@ -406,6 +406,11 @@
# able to turn it off for remote debugging on Chromium OS
'linux_disable_pie%': 0,
+ 'os_ver%': 0,
+ 'prefix_dir%': '/usr',
+ 'use_system_tcmalloc%': 0,
++ 'use_system_libjpeg%': 0,
+
# The release channel that this build targets. This is used to restrict
# channel-specific build options, like which installer packages to create.
# The default is 'all', which does no channel-specific filtering.
-@@ -615,7 +619,7 @@
+@@ -632,7 +637,7 @@
# This is used to tweak build flags for gcc 4.4.
'gcc_version%': '<!(python <(DEPTH)/build/compiler_version.py)',
# Figure out the python architecture to decide if we build pyauto.
@@ -20,16 +21,7 @@
'conditions': [
['branding=="Chrome"', {
'linux_breakpad%': 1,
-@@ -1242,7 +1246,7 @@
- ['exclude', '(^|/)(wayland)_[^/]*\\.(h|cc)$'],
- ],
- }],
-- ['OS!="linux"', {
-+ ['OS!="linux" and OS!="freebsd"', {
- 'sources/': [
- ['exclude', '_linux(_unittest)?\\.(h|cc)$'],
- ['exclude', '(^|/)linux/'],
-@@ -1911,6 +1915,22 @@
+@@ -1973,6 +1978,22 @@
'ldflags': [
'-Wl,--no-keep-memory',
],
diff --git a/www/chromium/files/patch-chrome__browser__about_flags.cc b/www/chromium/files/patch-chrome__browser__about_flags.cc
index fd6b76f2b5f2..718c713918bd 100644
--- a/www/chromium/files/patch-chrome__browser__about_flags.cc
+++ b/www/chromium/files/patch-chrome__browser__about_flags.cc
@@ -1,11 +1,11 @@
---- chrome/browser/about_flags.cc.orig 2011-03-20 22:02:04.388735857 +0200
-+++ chrome/browser/about_flags.cc 2011-03-20 22:02:04.492737343 +0200
-@@ -503,7 +503,7 @@
+--- chrome/browser/about_flags.cc.orig 2012-01-18 11:12:44.000000000 +0200
++++ chrome/browser/about_flags.cc 2012-01-29 14:51:40.000000000 +0200
+@@ -674,7 +674,7 @@
return kOsWin;
#elif defined(OS_CHROMEOS) // Needs to be before the OS_LINUX check.
return kOsCrOS;
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_FREEBSD)
+-#elif defined(OS_LINUX) || defined(OS_OPENBSD)
++#elif defined(OS_LINUX) || defined(OS_BSD)
return kOsLinux;
#else
#error Unknown platform
diff --git a/www/chromium/files/patch-chrome__browser__browser_about_handler.cc b/www/chromium/files/patch-chrome__browser__browser_about_handler.cc
index 8f3030e3b4d2..1317e8795eba 100644
--- a/www/chromium/files/patch-chrome__browser__browser_about_handler.cc
+++ b/www/chromium/files/patch-chrome__browser__browser_about_handler.cc
@@ -1,47 +1,11 @@
---- chrome/browser/browser_about_handler.cc.orig 2011-11-01 10:43:20.000000000 +0200
-+++ chrome/browser/browser_about_handler.cc 2011-11-19 19:05:28.000000000 +0200
-@@ -79,7 +79,7 @@
- #include "chrome/browser/chromeos/version_loader.h"
- #include "chrome/browser/oom_priority_manager.h"
- #include "content/browser/zygote_host_linux.h"
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_FREEBSD)
- #include "content/browser/zygote_host_linux.h"
- #endif
-
-@@ -152,7 +152,7 @@
+--- chrome/browser/browser_about_handler.cc.orig 2012-01-18 11:12:44.000000000 +0200
++++ chrome/browser/browser_about_handler.cc 2012-01-29 15:07:44.000000000 +0200
+@@ -63,7 +63,7 @@
#if defined(OS_WIN)
chrome::kChromeUIConflictsHost,
#endif
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_FREEBSD)
- chrome::kChromeUILinuxProxyConfigHost,
- chrome::kChromeUISandboxHost,
- #endif
-@@ -190,7 +190,7 @@
- #if defined(USE_TCMALLOC)
- chrome::kChromeUITCMallocHost,
- #endif
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_FREEBSD)
+-#if defined(OS_LINUX) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
chrome::kChromeUILinuxProxyConfigHost,
chrome::kChromeUISandboxHost,
#endif
-@@ -1062,7 +1062,7 @@
- return data;
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_FREEBSD)
- std::string AboutLinuxProxyConfig() {
- std::string data;
- AppendHeader(&data, 0,
-@@ -1447,7 +1447,7 @@
- return;
- } else if (host == chrome::kChromeUIHistogramsHost) {
- response = AboutHistograms(path);
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_FREEBSD)
- } else if (host == chrome::kChromeUILinuxProxyConfigHost) {
- response = AboutLinuxProxyConfig();
- #endif
diff --git a/www/chromium/files/patch-chrome__browser__chrome_content_browser_client.cc b/www/chromium/files/patch-chrome__browser__chrome_content_browser_client.cc
index 090c13997ffd..b0653e1b8b35 100644
--- a/www/chromium/files/patch-chrome__browser__chrome_content_browser_client.cc
+++ b/www/chromium/files/patch-chrome__browser__chrome_content_browser_client.cc
@@ -1,78 +1,29 @@
---- chrome/browser/chrome_content_browser_client.cc.orig 2011-11-01 10:43:20.000000000 +0200
-+++ chrome/browser/chrome_content_browser_client.cc 2011-11-19 19:22:29.000000000 +0200
-@@ -81,18 +81,18 @@
- #include "chrome/browser/chrome_browser_main_win.h"
- #elif defined(OS_MACOSX)
+--- chrome/browser/chrome_content_browser_client.cc.orig 2012-01-18 11:12:43.000000000 +0200
++++ chrome/browser/chrome_content_browser_client.cc 2012-01-29 15:16:06.000000000 +0200
+@@ -87,7 +87,7 @@
#include "chrome/browser/chrome_browser_main_mac.h"
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_FREEBSD)
- #include "chrome/browser/chrome_browser_main_gtk.h"
+ #elif defined(OS_CHROMEOS)
+ #include "chrome/browser/chromeos/chrome_browser_main_chromeos.h"
+-#elif defined(OS_LINUX) || defined(OS_OPENBSD)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ #include "chrome/browser/chrome_browser_main_linux.h"
+ #elif defined(OS_POSIX)
+ #include "chrome/browser/chrome_browser_main_posix.h"
+@@ -105,7 +105,7 @@
+ #include "chrome/browser/chrome_browser_main_extra_parts_aura.h"
#endif
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_FREEBSD)
+-#if defined(OS_LINUX) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
#include "base/linux_util.h"
#include "chrome/browser/crash_handler_host_linux.h"
#endif
-
- #if defined(TOOLKIT_VIEWS)
- #include "chrome/browser/ui/views/tab_contents/tab_contents_view_views.h"
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_FREEBSD)
- #include "chrome/browser/tab_contents/tab_contents_view_gtk.h"
- #elif defined(OS_MACOSX)
- #include "chrome/browser/tab_contents/tab_contents_view_mac.h"
-@@ -108,7 +108,7 @@
- #elif defined(OS_WIN)
- #include "chrome/browser/renderer_host/render_widget_host_view_views.h"
- #include "content/browser/renderer_host/render_widget_host_view_win.h"
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_FREEBSD)
- #include "content/browser/renderer_host/render_widget_host_view_gtk.h"
- #elif defined(OS_MACOSX)
- #include "content/browser/renderer_host/render_widget_host_view_mac.h"
-@@ -195,7 +195,7 @@
- return new ChromeBrowserMainPartsWin(parameters);
- #elif defined(OS_MACOSX)
- return new ChromeBrowserMainPartsMac(parameters);
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_FREEBSD)
- return new ChromeBrowserMainPartsGtk(parameters);
- #else
- return NULL;
-@@ -210,7 +210,7 @@
- if (views::Widget::IsPureViews())
- return new RenderWidgetHostViewViews(widget);
- return new RenderWidgetHostViewWin(widget);
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_FREEBSD)
- return new RenderWidgetHostViewGtk(widget);
- #elif defined(OS_MACOSX)
- return render_widget_host_view_mac::CreateRenderWidgetHostView(widget);
-@@ -223,7 +223,7 @@
- TabContents* tab_contents) {
- #if defined(TOOLKIT_VIEWS)
- return new TabContentsViewViews(tab_contents);
--#elif defined(OS_LINUX)
-+#elif defined(OS_LINUX) || defined(OS_FREEBSD)
- return new TabContentsViewGtk(tab_contents);
- #elif defined(OS_MACOSX)
- return tab_contents_view_mac::CreateTabContentsView(tab_contents);
-@@ -911,7 +911,7 @@
- return download_util::GetDefaultDownloadDirectory();
- }
-
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_FREEBSD)
- int ChromeContentBrowserClient::GetCrashSignalFD(
- const CommandLine& command_line) {
- if (command_line.HasSwitch(switches::kExtensionProcess)) {
-@@ -937,7 +937,7 @@
-
- return -1;
- }
--#endif // defined(OS_LINUX)
-+#endif // defined(OS_LINUX) || defined(OS_FREEBSD)
-
- #if defined(OS_WIN)
- const wchar_t* ChromeContentBrowserClient::GetResourceDllName() {
+@@ -264,7 +264,7 @@
+ main_parts = new ChromeBrowserMainPartsMac(parameters);
+ #elif defined(OS_CHROMEOS)
+ main_parts = new ChromeBrowserMainPartsChromeos(parameters);
+-#elif defined(OS_LINUX) || defined(OS_OPENBSD)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ main_parts = new ChromeBrowserMainPartsLinux(parameters);
+ #elif defined(OS_POSIX)
+ main_parts = new ChromeBrowserMainPartsPosix(parameters);
diff --git a/www/chromium/files/patch-chrome__browser__extensions__process_map.cc b/www/chromium/files/patch-chrome__browser__extensions__process_map.cc
new file mode 100644
index 000000000000..66c9cff41152
--- /dev/null
+++ b/www/chromium/files/patch-chrome__browser__extensions__process_map.cc
@@ -0,0 +1,11 @@
+--- chrome/browser/extensions/process_map.cc.orig 2012-01-31 21:06:11.000000000 +0200
++++ chrome/browser/extensions/process_map.cc 2012-01-31 21:06:50.000000000 +0200
+@@ -11,7 +11,7 @@
+ Item() {
+ }
+
+- explicit Item(const ProcessMap::Item& other)
++ Item(const ProcessMap::Item& other)
+ : extension_id(other.extension_id),
+ process_id(other.process_id),
+ site_instance_id(other.site_instance_id) {
diff --git a/www/chromium/files/patch-chrome__browser__net__connection_tester.cc b/www/chromium/files/patch-chrome__browser__net__connection_tester.cc
index edd73f2e7322..594398cb0f73 100644
--- a/www/chromium/files/patch-chrome__browser__net__connection_tester.cc
+++ b/www/chromium/files/patch-chrome__browser__net__connection_tester.cc
@@ -1,11 +1,11 @@
---- ./chrome/browser/net/connection_tester.cc.orig 2010-12-16 02:11:55.000000000 +0100
-+++ ./chrome/browser/net/connection_tester.cc 2010-12-20 20:15:08.000000000 +0100
-@@ -179,7 +179,7 @@
+--- chrome/browser/net/connection_tester.cc.orig 2012-01-18 11:12:39.000000000 +0200
++++ chrome/browser/net/connection_tester.cc 2012-01-29 15:24:02.000000000 +0200
+@@ -212,7 +212,7 @@
// Otherwise returns a network error code.
int CreateSystemProxyConfigService(
scoped_ptr<net::ProxyConfigService>* config_service) {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(FREEBSD)
+-#if defined(OS_LINUX) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
// TODO(eroman): This is not supported on Linux yet, because of how
// construction needs ot happen on the UI thread.
return net::ERR_NOT_IMPLEMENTED;
diff --git a/www/chromium/files/patch-chrome__browser__process_singleton.h b/www/chromium/files/patch-chrome__browser__process_singleton.h
index cb9884bf65e0..cce87ca06552 100644
--- a/www/chromium/files/patch-chrome__browser__process_singleton.h
+++ b/www/chromium/files/patch-chrome__browser__process_singleton.h
@@ -1,11 +1,41 @@
---- chrome/browser/process_singleton.h.orig 2011-03-20 22:02:04.272739829 +0200
-+++ chrome/browser/process_singleton.h 2011-03-20 22:02:04.444737667 +0200
+--- chrome/browser/process_singleton.h.orig 2012-01-18 11:12:43.000000000 +0200
++++ chrome/browser/process_singleton.h 2012-01-29 15:27:59.000000000 +0200
+@@ -22,9 +22,9 @@
+ #include "base/file_path.h"
+ #endif // defined(OS_POSIX)
+
+-#if defined(OS_LINUX) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #include "base/scoped_temp_dir.h"
+-#endif // defined(OS_LINUX) || defined(OS_OPENBSD)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+
+ class CommandLine;
+ class FilePath;
@@ -67,7 +67,7 @@
// instance.
NotifyResult NotifyOtherProcessOrCreate();
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_FREEBSD)
+-#if defined(OS_LINUX) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
// Exposed for testing. We use a timeout on Linux, and in tests we want
// this timeout to be short.
NotifyResult NotifyOtherProcessWithTimeout(const CommandLine& command_line,
+@@ -76,7 +76,7 @@
+ NotifyResult NotifyOtherProcessWithTimeoutOrCreate(
+ const CommandLine& command_line,
+ int timeout_seconds);
+-#endif // defined(OS_LINUX) || defined(OS_OPENBSD)
++#endif // defined(OS_LINUX) || defined(OS_BSD)
+
+ #if defined(OS_WIN) && !defined(USE_AURA)
+ // Used in specific cases to let us know that there is an existing instance
+@@ -151,7 +151,7 @@
+ HWND remote_window_; // The HWND_MESSAGE of another browser.
+ HWND window_; // The HWND_MESSAGE window.
+ bool is_virtualized_; // Stuck inside Microsoft Softricity VM environment.
+-#elif defined(OS_LINUX) || defined(OS_OPENBSD)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ // Path in file system to the socket.
+ FilePath socket_path_;
+
diff --git a/www/chromium/files/patch-chrome__browser__ui__webui__about_ui.cc b/www/chromium/files/patch-chrome__browser__ui__webui__about_ui.cc
new file mode 100644
index 000000000000..31cd2a46c9f4
--- /dev/null
+++ b/www/chromium/files/patch-chrome__browser__ui__webui__about_ui.cc
@@ -0,0 +1,38 @@
+--- chrome/browser/ui/webui/about_ui.cc.orig 2012-02-01 20:07:00.000000000 +0200
++++ chrome/browser/ui/webui/about_ui.cc 2012-02-01 20:07:54.000000000 +0200
+@@ -81,7 +81,7 @@
+ #include "chrome/browser/chromeos/version_loader.h"
+ #include "chrome/browser/oom_priority_manager.h"
+ #include "content/browser/zygote_host_linux.h"
+-#elif defined(OS_LINUX) || defined(OS_OPENBSD)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ #include "content/browser/zygote_host_linux.h"
+ #endif
+
+@@ -920,7 +920,7 @@
+ return data;
+ }
+
+-#if defined(OS_LINUX) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ std::string AboutLinuxProxyConfig() {
+ std::string data;
+ AppendHeader(&data, 0,
+@@ -1306,7 +1306,7 @@
+ return;
+ } else if (host == chrome::kChromeUIHistogramsHost) {
+ response = AboutHistograms(path);
+-#if defined(OS_LINUX) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ } else if (host == chrome::kChromeUILinuxProxyConfigHost) {
+ response = AboutLinuxProxyConfig();
+ #endif
+@@ -1322,7 +1322,7 @@
+ response = ResourceBundle::GetSharedInstance().GetRawDataResource(
+ IDR_OS_CREDITS_HTML).as_string();
+ #endif
+-#if defined(OS_LINUX) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ } else if (host == chrome::kChromeUISandboxHost) {
+ response = AboutSandbox();
+ #endif
diff --git a/www/chromium/files/patch-chrome__common__child_process_logging.h b/www/chromium/files/patch-chrome__common__child_process_logging.h
index 97564f5986e5..2997f797bdf7 100644
--- a/www/chromium/files/patch-chrome__common__child_process_logging.h
+++ b/www/chromium/files/patch-chrome__common__child_process_logging.h
@@ -1,11 +1,11 @@
---- chrome/common/child_process_logging.h.orig 2011-11-22 01:03:45.000000000 +0200
-+++ chrome/common/child_process_logging.h 2011-11-22 01:03:57.000000000 +0200
-@@ -30,7 +30,7 @@
+--- chrome/common/child_process_logging.h.orig 2012-01-18 11:13:17.000000000 +0200
++++ chrome/common/child_process_logging.h 2012-01-29 15:30:03.000000000 +0200
+@@ -33,7 +33,7 @@
namespace child_process_logging {
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_FREEBSD)
+-#if defined(OS_LINUX) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
// These are declared here so the crash reporter can access them directly in
// compromised context without going through the standard library.
extern char g_active_url[];
diff --git a/www/chromium/files/patch-chrome__common__multi_process_lock.h b/www/chromium/files/patch-chrome__common__multi_process_lock.h
deleted file mode 100644
index 11d4a362bc1a..000000000000
--- a/www/chromium/files/patch-chrome__common__multi_process_lock.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- chrome/common/multi_process_lock.h.orig 2011-03-20 22:02:04.375736719 +0200
-+++ chrome/common/multi_process_lock.h 2011-03-20 22:02:04.485737571 +0200
-@@ -18,7 +18,7 @@
- // The length of a multi-process lock name is limited on Linux, so
- // it is limited it on all platforms for consistency. This length does
- // not include a terminator.
-- static const size_t MULTI_PROCESS_LOCK_NAME_MAX_LEN = 106;
-+ static const size_t MULTI_PROCESS_LOCK_NAME_MAX_LEN = 102;
-
- // Factory method for creating a multi-process lock.
- // |name| is the name of the lock. The name has special meaning on Windows
diff --git a/www/chromium/files/patch-chrome__common__url_constants.cc b/www/chromium/files/patch-chrome__common__url_constants.cc
index 48aca293ccb5..32614d1703a2 100644
--- a/www/chromium/files/patch-chrome__common__url_constants.cc
+++ b/www/chromium/files/patch-chrome__common__url_constants.cc
@@ -1,11 +1,11 @@
---- chrome/common/url_constants.cc.orig 2011-09-10 15:16:44.000000000 +0300
-+++ chrome/common/url_constants.cc 2011-09-10 15:17:50.000000000 +0300
-@@ -158,7 +158,7 @@
+--- chrome/common/url_constants.cc.orig 2012-01-18 11:13:17.000000000 +0200
++++ chrome/common/url_constants.cc 2012-01-29 15:33:57.000000000 +0200
+@@ -186,7 +186,7 @@
+ const char kChromeUIScreenshotPath[] = "screenshots";
const char kChromeUIThemePath[] = "theme";
- const char kChromeUIThumbnailPath[] = "thumb";
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_FREEBSD)
+-#if defined(OS_LINUX) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
const char kChromeUILinuxProxyConfigHost[] = "linux-proxy-config";
const char kChromeUISandboxHost[] = "sandbox";
#endif
diff --git a/www/chromium/files/patch-chrome__common__url_constants.h b/www/chromium/files/patch-chrome__common__url_constants.h
index fb8e8ac9892a..345785e87c8b 100644
--- a/www/chromium/files/patch-chrome__common__url_constants.h
+++ b/www/chromium/files/patch-chrome__common__url_constants.h
@@ -1,11 +1,11 @@
---- chrome/common/url_constants.h.orig 2011-09-10 15:16:51.000000000 +0300
-+++ chrome/common/url_constants.h 2011-09-10 15:17:26.000000000 +0300
-@@ -156,7 +156,7 @@
+--- chrome/common/url_constants.h.orig 2012-01-18 11:13:17.000000000 +0200
++++ chrome/common/url_constants.h 2012-01-29 15:35:17.000000000 +0200
+@@ -178,7 +178,7 @@
+ extern const char kChromeUIScreenshotPath[];
extern const char kChromeUIThemePath[];
- extern const char kChromeUIThumbnailPath[];
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_FREEBSD)
+-#if defined(OS_LINUX) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
extern const char kChromeUILinuxProxyConfigHost[];
extern const char kChromeUISandboxHost[];
#endif
diff --git a/www/chromium/files/patch-chrome__nacl.gypi b/www/chromium/files/patch-chrome__nacl.gypi
deleted file mode 100644
index 07da0980dcbf..000000000000
--- a/www/chromium/files/patch-chrome__nacl.gypi
+++ /dev/null
@@ -1,22 +0,0 @@
---- chrome/nacl.gypi.orig 2011-11-01 10:43:23.000000000 +0200
-+++ chrome/nacl.gypi 2011-11-19 19:26:48.000000000 +0200
-@@ -102,8 +102,8 @@
- ],
- },
- ],
-- }],
-- ['OS!="win" and target_arch=="ia32"', {
-+ }], # Disable nacl on freebsd for now.
-+ ['OS!="win" and OS!="freebsd" and target_arch=="ia32"', {
- # Linux-x86-32 and OSX need only the x86-32 IRT.
- 'actions': [
- {
-@@ -119,7 +119,7 @@
- },
- ],
- }],
-- ['OS!="win" and target_arch=="x64"', {
-+ ['OS!="win" and OS!="freebsd" and target_arch=="x64"', {
- # Linux-x86-64 needs only the x86-64 IRT.
- 'actions': [
- {
diff --git a/www/chromium/files/patch-chrome__renderer__chrome_ppb_pdf_impl.cc b/www/chromium/files/patch-chrome__renderer__chrome_ppb_pdf_impl.cc
new file mode 100644
index 000000000000..d4477ce14b0e
--- /dev/null
+++ b/www/chromium/files/patch-chrome__renderer__chrome_ppb_pdf_impl.cc
@@ -0,0 +1,29 @@
+--- chrome/renderer/chrome_ppb_pdf_impl.cc.orig 2012-02-01 21:17:28.000000000 +0200
++++ chrome/renderer/chrome_ppb_pdf_impl.cc 2012-02-01 21:18:02.000000000 +0200
+@@ -43,7 +43,7 @@
+
+ namespace chrome {
+
+-#if defined(OS_LINUX) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ class PrivateFontFile : public ppapi::Resource {
+ public:
+ PrivateFontFile(PP_Instance instance, int fd) : Resource(instance), fd_(fd) {
+@@ -187,7 +187,7 @@
+ PP_Instance instance_id,
+ const PP_FontDescription_Dev* description,
+ PP_PrivateFontCharset charset) {
+-#if defined(OS_LINUX) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // Validate the instance before using it below.
+ if (!HostGlobals::Get()->GetInstance(instance_id))
+ return 0;
+@@ -219,7 +219,7 @@
+ uint32_t table,
+ void* output,
+ uint32_t* output_length) {
+-#if defined(OS_LINUX) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ ppapi::Resource* resource =
+ PpapiGlobals::Get()->GetResourceTracker()->GetResource(font_file);
+ if (!resource)
diff --git a/www/chromium/files/patch-content__app__content_main.cc b/www/chromium/files/patch-content__app__content_main.cc
new file mode 100644
index 000000000000..2e04b134dafe
--- /dev/null
+++ b/www/chromium/files/patch-content__app__content_main.cc
@@ -0,0 +1,11 @@
+--- content/app/content_main.cc.orig 2012-02-01 21:47:17.000000000 +0200
++++ content/app/content_main.cc 2012-02-01 21:47:28.000000000 +0200
+@@ -316,7 +316,7 @@
+ base::GlobalDescriptors* g_fds = base::GlobalDescriptors::GetInstance();
+ g_fds->Set(kPrimaryIPCChannel,
+ kPrimaryIPCChannel + base::GlobalDescriptors::kBaseDescriptor);
+-#if defined(OS_LINUX) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ g_fds->Set(kCrashDumpSignal,
+ kCrashDumpSignal + base::GlobalDescriptors::kBaseDescriptor);
+ #endif
diff --git a/www/chromium/files/patch-content__browser__browser_main.cc b/www/chromium/files/patch-content__browser__browser_main.cc
deleted file mode 100644
index a9b17f980444..000000000000
--- a/www/chromium/files/patch-content__browser__browser_main.cc
+++ /dev/null
@@ -1,29 +0,0 @@
---- content/browser/browser_main.cc.orig 2011-11-30 22:55:59.687176328 +0200
-+++ content/browser/browser_main.cc 2011-11-30 22:56:18.705178000 +0200
-@@ -39,7 +39,7 @@
- #include "ui/base/l10n/l10n_util_win.h"
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(TOOLKIT_USES_GTK)
- #include <glib-object.h>
- #endif
-
-@@ -109,7 +109,7 @@
- }
- #endif
-
--#if defined(OS_LINUX)
-+#if defined(TOOLKIT_USES_GTK)
- static void GLibLogHandler(const gchar* log_domain,
- GLogLevelFlags log_level,
- const gchar* message,
-@@ -288,7 +288,7 @@
- // of intersecting ifdefs we have. To keep it easy to follow, there
- // are no #else branches on any #ifs.
-
--#if defined(OS_LINUX)
-+#if defined(TOOLKIT_USES_GTK)
- // We want to call g_thread_init(), but in some codepaths (tests) it
- // is possible it has already been called. In older versions of
- // GTK, it is an error to call g_thread_init twice; unfortunately,
diff --git a/www/chromium/files/patch-content__browser__browser_main_loop.cc b/www/chromium/files/patch-content__browser__browser_main_loop.cc
new file mode 100644
index 000000000000..90ba548041d4
--- /dev/null
+++ b/www/chromium/files/patch-content__browser__browser_main_loop.cc
@@ -0,0 +1,29 @@
+--- content/browser/browser_main_loop.cc.orig 2012-01-30 22:18:23.000000000 +0200
++++ content/browser/browser_main_loop.cc 2012-01-30 22:19:06.000000000 +0200
+@@ -39,7 +39,7 @@
+ #include "net/base/winsock_init.h"
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ #include <glib-object.h>
+ #endif
+
+@@ -89,7 +89,7 @@
+ }
+ #endif
+
+-#if defined(OS_LINUX) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ static void GLibLogHandler(const gchar* log_domain,
+ GLogLevelFlags log_level,
+ const gchar* message,
+@@ -518,7 +518,7 @@
+ // are no #else branches on any #ifs.
+ // TODO(stevenjb): Move platform specific code into platform specific Parts
+ // (Need to add InitializeToolkit stage to BrowserParts).
+-#if defined(OS_LINUX) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
+ // Glib type system initialization. Needed at least for gconf,
+ // used in net/proxy/proxy_config_service_linux.cc. Most likely
+ // this is superfluous as gtk_init() ought to do this. It's
diff --git a/www/chromium/files/patch-content__browser__gpu__gpu_blacklist.cc b/www/chromium/files/patch-content__browser__gpu__gpu_blacklist.cc
new file mode 100644
index 000000000000..61a7bad87f4c
--- /dev/null
+++ b/www/chromium/files/patch-content__browser__gpu__gpu_blacklist.cc
@@ -0,0 +1,11 @@
+--- content/browser/gpu/gpu_blacklist.cc.orig 2012-02-01 21:23:10.000000000 +0200
++++ content/browser/gpu/gpu_blacklist.cc 2012-02-01 21:23:18.000000000 +0200
+@@ -817,7 +817,7 @@
+ return kOsChromeOS;
+ #elif defined(OS_WIN)
+ return kOsWin;
+-#elif defined(OS_LINUX) || defined(OS_OPENBSD)
++#elif defined(OS_LINUX) || defined(OS_BSD)
+ return kOsLinux;
+ #elif defined(OS_MACOSX)
+ return kOsMacosx;
diff --git a/www/chromium/files/patch-content__browser__gpu__gpu_blacklist_unittest.cc b/www/chromium/files/patch-content__browser__gpu__gpu_blacklist_unittest.cc
new file mode 100644
index 000000000000..8198de3e96bd
--- /dev/null
+++ b/www/chromium/files/patch-content__browser__gpu__gpu_blacklist_unittest.cc
@@ -0,0 +1,11 @@
+--- content/browser/gpu/gpu_blacklist_unittest.cc.orig 2012-02-01 21:51:33.000000000 +0200
++++ content/browser/gpu/gpu_blacklist_unittest.cc 2012-02-01 21:52:45.000000000 +0200
+@@ -191,7 +191,7 @@
+ EXPECT_EQ(flags.flags(),
+ static_cast<uint32>(GpuFeatureFlags::kGpuFeatureWebgl));
+ #if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX) || \
+- defined(OS_OPENBSD)
++ defined(OS_BSD)
+ // Blacklist entries will be filtered to the current OS only upon loading.
+ EXPECT_TRUE(
+ blacklist.LoadGpuBlacklist(vendor_json, GpuBlacklist::kCurrentOsOnly));
diff --git a/www/chromium/files/patch-content__browser__renderer_host__browser_render_process_host.cc b/www/chromium/files/patch-content__browser__renderer_host__browser_render_process_host.cc
deleted file mode 100644
index 6060f7250042..000000000000
--- a/www/chromium/files/patch-content__browser__renderer_host__browser_render_process_host.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/browser/renderer_host/browser_render_process_host.cc.orig 2011-03-20 22:02:04.283738713 +0200
-+++ content/browser/renderer_host/browser_render_process_host.cc 2011-03-20 22:02:04.448747953 +0200
-@@ -886,7 +886,7 @@
- HANDLE section = app::win::GetSectionFromProcess(
- dib_id.handle, GetHandle(), false /* read write */);
- return TransportDIB::Map(section);
--#elif defined(OS_MACOSX)
-+#elif defined(OS_MACOSX) || defined(OS_FREEBSD)
- // On OSX, the browser allocates all DIBs and keeps a file descriptor around
- // for each.
- return widget_helper_->MapTransportDIB(dib_id);
diff --git a/www/chromium/files/patch-content__browser__renderer_host__render_process_host_impl.cc b/www/chromium/files/patch-content__browser__renderer_host__render_process_host_impl.cc
new file mode 100644
index 000000000000..158ca9aca61a
--- /dev/null
+++ b/www/chromium/files/patch-content__browser__renderer_host__render_process_host_impl.cc
@@ -0,0 +1,11 @@
+--- content/browser/renderer_host/render_process_host_impl.cc.orig 2012-01-29 16:19:50.000000000 +0200
++++ content/browser/renderer_host/render_process_host_impl.cc 2012-01-29 16:20:14.000000000 +0200
+@@ -806,7 +806,7 @@
+ STANDARD_RIGHTS_REQUIRED | FILE_MAP_READ | FILE_MAP_WRITE,
+ FALSE, 0);
+ return TransportDIB::Map(section);
+-#elif defined(OS_MACOSX)
++#elif defined(OS_MACOSX) || defined(OS_FREEBSD)
+ // On OSX, the browser allocates all DIBs and keeps a file descriptor around
+ // for each.
+ return widget_helper_->MapTransportDIB(dib_id);
diff --git a/www/chromium/files/patch-content__browser__tab_contents__tab_contents.cc b/www/chromium/files/patch-content__browser__tab_contents__tab_contents.cc
index 49abbe99c1c3..93feae4c29c9 100644
--- a/www/chromium/files/patch-content__browser__tab_contents__tab_contents.cc
+++ b/www/chromium/files/patch-content__browser__tab_contents__tab_contents.cc
@@ -1,11 +1,11 @@
---- content/browser/tab_contents/tab_contents.cc.orig 2011-06-24 11:30:32.000000000 +0300
-+++ content/browser/tab_contents/tab_contents.cc 2011-06-26 21:18:24.774780173 +0300
-@@ -1822,7 +1822,7 @@
- if (!render_view_host->CreateRenderView(string16()))
+--- content/browser/tab_contents/tab_contents.cc.orig 2012-01-18 11:11:38.000000000 +0200
++++ content/browser/tab_contents/tab_contents.cc 2012-01-29 16:23:41.000000000 +0200
+@@ -2021,7 +2021,7 @@
+ if (!render_view_host->CreateRenderView(string16(), max_page_id))
return false;
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_FREEBSD)
+-#if defined(OS_LINUX) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
// Force a ViewMsg_Resize to be sent, needed to make plugins show up on
// linux. See crbug.com/83941.
- if (RenderWidgetHost* render_widget_host = rwh_view->GetRenderWidgetHost())
+ if (rwh_view) {
diff --git a/www/chromium/files/patch-content__browser__zygote_host_linux.cc b/www/chromium/files/patch-content__browser__zygote_host_linux.cc
index 83b2c1a15b50..0eae94587359 100644
--- a/www/chromium/files/patch-content__browser__zygote_host_linux.cc
+++ b/www/chromium/files/patch-content__browser__zygote_host_linux.cc
@@ -1,18 +1,20 @@
---- content/browser/zygote_host_linux.cc.orig 2011-10-07 11:31:44.000000000 +0300
-+++ content/browser/zygote_host_linux.cc 2011-10-08 22:10:14.930730097 +0300
-@@ -271,6 +271,7 @@
+--- content/browser/zygote_host_linux.cc.orig 2012-01-18 11:11:40.000000000 +0200
++++ content/browser/zygote_host_linux.cc 2012-01-29 16:31:59.000000000 +0200
+@@ -305,7 +305,7 @@
return base::kNullProcessHandle;
}
-+#if !defined(OS_FREEBSD)
+-#if !defined(OS_OPENBSD)
++#if !defined(OS_BSD)
// This is just a starting score for a renderer or extension (the
// only types of processes that will be started this way). It will
// get adjusted as time goes on. (This is the same value as
-@@ -278,6 +279,7 @@
- // that's not something we can include here.)
- const int kLowestRendererOomScore = 300;
- AdjustRendererOOMScore(pid, kLowestRendererOomScore);
-+#endif
-
+@@ -318,7 +318,7 @@
return pid;
}
+
+-#if !defined(OS_OPENBSD)
++#if !defined(OS_BSD)
+ void ZygoteHost::AdjustRendererOOMScore(base::ProcessHandle pid, int score) {
+ // 1) You can't change the oom_score_adj of a non-dumpable process
+ // (EPERM) unless you're root. Because of this, we can't set the
diff --git a/www/chromium/files/patch-content__common__gpu__gpu_command_buffer_stub.cc b/www/chromium/files/patch-content__common__gpu__gpu_command_buffer_stub.cc
deleted file mode 100644
index 3bece6f46162..000000000000
--- a/www/chromium/files/patch-content__common__gpu__gpu_command_buffer_stub.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- content/common/gpu/gpu_command_buffer_stub.cc.orig 2011-11-30 21:36:25.000000000 +0200
-+++ content/common/gpu/gpu_command_buffer_stub.cc 2011-11-30 21:36:49.000000000 +0200
-@@ -193,7 +193,7 @@
- renderer_id_,
- route_id_,
- handle_);
--#elif defined(OS_WIN) || defined(OS_LINUX)
-+#elif defined(OS_WIN) || defined(OS_LINUX) || defined(OS_FREEBSD)
- surface_ = gfx::GLSurface::CreateViewGLSurface(software_, handle_);
- #endif
- } else {
diff --git a/www/chromium/files/patch-content__common__seccomp_sandbox.h b/www/chromium/files/patch-content__common__seccomp_sandbox.h
index e96e28b7018d..b9cc340a6df7 100644
--- a/www/chromium/files/patch-content__common__seccomp_sandbox.h
+++ b/www/chromium/files/patch-content__common__seccomp_sandbox.h
@@ -1,12 +1,11 @@
---- content/common/seccomp_sandbox.h.orig 2011-10-10 20:30:54.487723398 +0000
-+++ content/common/seccomp_sandbox.h 2011-10-10 20:31:27.083734776 +0000
-@@ -18,7 +18,8 @@
- #include "content/common/content_switches.h"
+--- content/common/seccomp_sandbox.h.orig 2012-01-18 11:11:41.000000000 +0200
++++ content/common/seccomp_sandbox.h 2012-01-29 17:00:42.000000000 +0200
+@@ -19,7 +19,7 @@
#if defined(ARCH_CPU_X86_FAMILY) && !defined(CHROMIUM_SELINUX) && \
-- !defined(__clang__) && !defined(OS_CHROMEOS) && !defined(TOOLKIT_VIEWS)
-+ !defined(__clang__) && !defined(OS_CHROMEOS) && !defined(TOOLKIT_VIEWS) && \
-+ !defined(OS_FREEBSD)
+ !defined(__clang__) && !defined(OS_CHROMEOS) && !defined(TOOLKIT_VIEWS) && \
+- !defined(OS_OPENBSD)
++ !defined(OS_BSD)
#define SECCOMP_SANDBOX
#include "seccompsandbox/sandbox.h"
#endif
diff --git a/www/chromium/files/patch-content__common__common_param_traits.h b/www/chromium/files/patch-content__public__common__common_param_traits.h
index 1cb5579ec583..b4eec6c3d9c3 100644
--- a/www/chromium/files/patch-content__common__common_param_traits.h
+++ b/www/chromium/files/patch-content__public__common__common_param_traits.h
@@ -1,5 +1,5 @@
---- content/common/common_param_traits.h.orig 2011-06-06 00:08:49.215163238 +0300
-+++ content/common/common_param_traits.h 2011-06-06 00:09:04.929165157 +0300
+--- content/public/common/common_param_traits.h.orig 2011-06-06 00:08:49.215163238 +0300
++++ content/public/common/common_param_traits.h 2011-06-06 00:09:04.929165157 +0300
@@ -187,7 +187,7 @@
};
#endif
diff --git a/www/chromium/files/patch-content__renderer__render_process_impl.cc b/www/chromium/files/patch-content__renderer__render_process_impl.cc
index cb310856542e..b4fe93d7dfec 100644
--- a/www/chromium/files/patch-content__renderer__render_process_impl.cc
+++ b/www/chromium/files/patch-content__renderer__render_process_impl.cc
@@ -1,15 +1,15 @@
---- content/renderer/render_process_impl.cc.orig 2010-12-16 02:11:59.000000000 +0100
-+++ content/renderer/render_process_impl.cc 2010-12-20 20:15:08.000000000 +0100
-@@ -243,7 +243,7 @@
- #if defined(OS_WIN) || defined(OS_LINUX)
+--- 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)
// Windows and Linux create transport DIBs inside the renderer
return TransportDIB::Create(size, transport_dib_next_sequence_number_++);
--#elif defined(OS_MACOSX) // defined(OS_WIN) || defined(OS_LINUX)
-+#elif defined(OS_MACOSX) || defined(OS_FREEBSD) // defined(OS_WIN) || defined(OS_LINUX)
+-#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;
-@@ -260,7 +260,7 @@
+@@ -122,7 +122,7 @@
if (!dib)
return;
@@ -18,12 +18,12 @@
// 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());
-@@ -278,7 +278,7 @@
+@@ -140,7 +140,7 @@
int width = rect.width();
int height = rect.height();
const size_t stride = skia::PlatformCanvas::StrideForWidth(rect.width());
--#if defined(OS_LINUX)
-+#if defined(OS_LINUX) || defined(OS_FREEBSD)
+-#if defined(OS_LINUX) || defined(OS_OPENBSD)
++#if defined(OS_LINUX) || defined(OS_BSD)
const size_t max_size = base::SysInfo::MaxSharedMemorySize();
#else
const size_t max_size = 0;
diff --git a/www/chromium/files/patch-crypto__encryptor.cc b/www/chromium/files/patch-crypto__encryptor.cc
index b0e3fb84e00b..fb552ab688c6 100644
--- a/www/chromium/files/patch-crypto__encryptor.cc
+++ b/www/chromium/files/patch-crypto__encryptor.cc
@@ -1,14 +1,14 @@
---- crypto/encryptor.cc.orig 2011-09-09 01:49:35.000000000 +0300
-+++ crypto/encryptor.cc 2011-09-09 01:56:01.000000000 +0300
-@@ -18,6 +18,11 @@
- #define bswap_16(x) OSSwapInt16(x)
- #define bswap_32(x) OSSwapInt32(x)
- #define bswap_64(x) OSSwapInt64(x)
+--- crypto/encryptor.cc.orig 2012-01-18 11:11:42.000000000 +0200
++++ crypto/encryptor.cc 2012-01-29 17:11:33.000000000 +0200
+@@ -13,6 +13,11 @@
+ #define bswap_16(x) _byteswap_ushort(x)
+ #define bswap_32(x) _byteswap_ulong(x)
+ #define bswap_64(x) _byteswap_uint64(x)
+#elif defined(OS_FREEBSD)
+#include <sys/endian.h>
+#define bswap_16(x) bswap16(x)
+#define bswap_32(x) bswap32(x)
+#define bswap_64(x) bswap64(x)
- #else
- #include <byteswap.h>
- #endif
+ #elif defined(OS_MACOSX)
+ #include <libkern/OSByteOrder.h>
+ #define bswap_16(x) OSSwapInt16(x)
diff --git a/www/chromium/files/patch-gpu__gpu.gyp b/www/chromium/files/patch-gpu__gpu.gyp
deleted file mode 100644
index 4e4552be6575..000000000000
--- a/www/chromium/files/patch-gpu__gpu.gyp
+++ /dev/null
@@ -1,10 +0,0 @@
---- gpu/gpu.gyp.orig 2011-09-14 00:37:31.000000000 +0300
-+++ gpu/gpu.gyp 2011-09-14 00:36:48.000000000 +0300
-@@ -328,6 +328,7 @@
- ],
- 'include_dirs': [
- '..',
-+ '<(prefix_dir)/include',
- ],
- 'sources': [
- 'command_buffer/common/gl_mock.h',
diff --git a/www/chromium/files/patch-ipc__ipc_channel_posix.cc b/www/chromium/files/patch-ipc__ipc_channel_posix.cc
index 3bf5d4dae636..81d1f6d279de 100644
--- a/www/chromium/files/patch-ipc__ipc_channel_posix.cc
+++ b/www/chromium/files/patch-ipc__ipc_channel_posix.cc
@@ -1,11 +1,11 @@
---- ipc/ipc_channel_posix.cc.orig 2011-06-06 00:13:54.367162724 +0300
-+++ ipc/ipc_channel_posix.cc 2011-06-06 00:14:09.016163924 +0300
-@@ -927,7 +927,7 @@
+--- ipc/ipc_channel_posix.cc.orig 2012-01-18 11:12:21.000000000 +0200
++++ ipc/ipc_channel_posix.cc 2012-01-29 17:17:10.000000000 +0200
+@@ -948,7 +948,7 @@
bool Channel::ChannelImpl::GetClientEuid(uid_t* client_euid) const {
DCHECK(HasAcceptedConnection());
--#if defined(OS_MACOSX)
-+#if defined(OS_MACOSX) || defined(OS_FREEBSD)
+-#if defined(OS_MACOSX) || defined(OS_OPENBSD)
++#if defined(OS_MACOSX) || defined(OS_BSD)
uid_t peer_euid;
gid_t peer_gid;
if (getpeereid(pipe_, &peer_euid, &peer_gid) != 0) {
diff --git a/www/chromium/files/patch-media__audio__pulse__pulse_output.cc b/www/chromium/files/patch-media__audio__pulse__pulse_output.cc
new file mode 100644
index 000000000000..3681ab4efc54
--- /dev/null
+++ b/www/chromium/files/patch-media__audio__pulse__pulse_output.cc
@@ -0,0 +1,11 @@
+--- media/audio/pulse/pulse_output.cc.orig 2012-02-05 15:13:12.000000000 +0200
++++ media/audio/pulse/pulse_output.cc 2012-02-05 15:13:41.000000000 +0200
+@@ -8,7 +8,7 @@
+ #include "base/message_loop.h"
+ #include "media/audio/audio_parameters.h"
+ #include "media/audio/audio_util.h"
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_FREEBSD)
+ #include "media/audio/linux/audio_manager_linux.h"
+ #elif defined(OS_OPENBSD)
+ #include "media/audio/openbsd/audio_manager_openbsd.h"
diff --git a/www/chromium/files/patch-media__audio__pulse__pulse_output.h b/www/chromium/files/patch-media__audio__pulse__pulse_output.h
new file mode 100644
index 000000000000..bf26f491e24d
--- /dev/null
+++ b/www/chromium/files/patch-media__audio__pulse__pulse_output.h
@@ -0,0 +1,11 @@
+--- media/audio/pulse/pulse_output.h.orig 2012-02-05 15:04:15.000000000 +0200
++++ media/audio/pulse/pulse_output.h 2012-02-05 15:11:25.000000000 +0200
+@@ -31,7 +31,7 @@
+ class SeekableBuffer;
+ }
+
+-#if defined(OS_LINUX)
++#if defined(OS_LINUX) || defined(OS_FREEBSD)
+ class AudioManagerLinux;
+ typedef AudioManagerLinux AudioManagerPulse;
+ #elif defined(OS_OPENBSD)
diff --git a/www/chromium/files/patch-media__media.gyp b/www/chromium/files/patch-media__media.gyp
index fe8882cf8506..897b0ce85ae9 100644
--- a/www/chromium/files/patch-media__media.gyp
+++ b/www/chromium/files/patch-media__media.gyp
@@ -1,24 +1,6 @@
---- media/media.gyp.orig 2011-11-01 10:42:28.000000000 +0200
-+++ media/media.gyp 2011-11-22 00:34:45.000000000 +0200
-@@ -293,7 +293,7 @@
- ],
- },
- 'conditions': [
-- ['OS=="linux"', {
-+ ['OS=="linux" or OS=="freebsd"', {
- 'conditions': [
- ['use_pulseaudio == 1', {
- 'link_settings': {
-@@ -479,7 +479,7 @@
- ],
- },
- }],
-- [ 'OS=="linux"', {
-+ [ 'OS=="linux" or OS=="freebsd"', {
- 'variables': {
- 'conditions': [
- [ 'target_arch=="ia32"', {
-@@ -765,7 +765,7 @@
+--- media/media.gyp.orig 2012-01-18 11:11:21.000000000 +0200
++++ media/media.gyp 2012-01-29 19:28:14.000000000 +0200
+@@ -804,7 +804,7 @@
},
],
}],
diff --git a/www/chromium/files/patch-net__base__dnsrr_resolver.cc b/www/chromium/files/patch-net__base__dnsrr_resolver.cc
deleted file mode 100644
index 7218a4ba66d5..000000000000
--- a/www/chromium/files/patch-net__base__dnsrr_resolver.cc
+++ /dev/null
@@ -1,24 +0,0 @@
---- net/base/dnsrr_resolver.cc.orig 2011-01-19 12:11:29.000000000 +0100
-+++ net/base/dnsrr_resolver.cc 2011-01-21 20:49:12.000000000 +0100
-@@ -4,10 +4,6 @@
-
- #include "net/base/dnsrr_resolver.h"
-
--#if defined(OS_POSIX)
--#include <resolv.h>
--#endif
--
- #if defined(OS_WIN)
- #include <windns.h>
- #endif
-@@ -23,6 +19,10 @@
- #include "net/base/dns_reload_timer.h"
- #include "net/base/dns_util.h"
- #include "net/base/net_errors.h"
-+#if defined(OS_POSIX)
-+#include <netinet/in.h>
-+#include <resolv.h>
-+#endif
-
- // Life of a query:
- //
diff --git a/www/chromium/files/patch-net__dns__dns_config_service_posix.h b/www/chromium/files/patch-net__dns__dns_config_service_posix.h
deleted file mode 100644
index 453e13168f5d..000000000000
--- a/www/chromium/files/patch-net__dns__dns_config_service_posix.h
+++ /dev/null
@@ -1,14 +0,0 @@
---- net/dns/dns_config_service_posix.h.orig 2011-10-09 01:34:20.846923374 +0300
-+++ net/dns/dns_config_service_posix.h 2011-10-09 01:35:52.752414016 +0300
-@@ -6,6 +6,11 @@
- #define NET_DNS_DNS_CONFIG_SERVICE_POSIX_H_
- #pragma once
-
-+#include "build/build_config.h"
-+
-+#if defined(OS_FREEBSD)
-+#include <netinet/in.h>
-+#endif
- #include <resolv.h>
-
- #include "base/compiler_specific.h"
diff --git a/www/chromium/files/patch-net__net.gyp b/www/chromium/files/patch-net__net.gyp
index ff0ed42aeaad..6fc5be208ed5 100644
--- a/www/chromium/files/patch-net__net.gyp
+++ b/www/chromium/files/patch-net__net.gyp
@@ -1,22 +1,11 @@
---- net/net.gyp.orig 2011-06-24 11:30:36.000000000 +0300
-+++ net/net.gyp 2011-06-28 20:55:27.155810165 +0300
-@@ -149,8 +149,8 @@
- 'base/network_change_notifier_linux.h',
- 'base/network_change_notifier_mac.cc',
- 'base/network_change_notifier_mac.h',
-- 'base/network_change_notifier_netlink_linux.cc',
-- 'base/network_change_notifier_netlink_linux.h',
-+ #'base/network_change_notifier_netlink_linux.cc',
-+ #'base/network_change_notifier_netlink_linux.h',
- 'base/network_change_notifier_win.cc',
- 'base/network_change_notifier_win.h',
- 'base/network_config_watcher_mac.cc',
-@@ -731,7 +731,7 @@
- '../build/linux/system.gyp:gconf',
- '../build/linux/system.gyp:gdk',
- '../build/linux/system.gyp:gio',
-- '../build/linux/system.gyp:libresolv',
-+ #'../build/linux/system.gyp:libresolv',
- ],
- 'conditions': [
- ['use_openssl==1', {
+--- net/net.gyp.orig 2012-01-30 23:30:30.000000000 +0200
++++ net/net.gyp 2012-01-30 23:30:57.000000000 +0200
+@@ -853,7 +853,7 @@
+ 'sources!': [
+ 'base/network_change_notifier_linux.cc',
+ 'base/network_change_notifier_netlink_linux.cc',
+- 'proxy/proxy_config_service_linux.cc',
++# 'proxy/proxy_config_service_linux.cc',
+ ],
+ },{
+ 'dependencies': [
diff --git a/www/chromium/files/patch-skia__ext__vector_platform_device_skia.cc b/www/chromium/files/patch-skia__ext__vector_platform_device_skia.cc
index e484481fd263..cfe232815f60 100644
--- a/www/chromium/files/patch-skia__ext__vector_platform_device_skia.cc
+++ b/www/chromium/files/patch-skia__ext__vector_platform_device_skia.cc
@@ -1,11 +1,11 @@
---- skia/ext/vector_platform_device_skia.cc.orig 2011-11-01 10:42:37.000000000 +0200
-+++ skia/ext/vector_platform_device_skia.cc 2011-11-21 22:28:09.000000000 +0200
+--- skia/ext/vector_platform_device_skia.cc.orig 2012-01-18 11:11:53.000000000 +0200
++++ skia/ext/vector_platform_device_skia.cc 2012-01-29 19:42:26.000000000 +0200
@@ -88,7 +88,7 @@
SkASSERT(false);
return NULL;
}
--#elif defined(OS_LINUX) || defined(OS_ANDROID)
-+#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD)
+-#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_OPENBSD)
++#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
void VectorPlatformDeviceSkia::DrawToNativeContext(
PlatformSurface surface, int x, int y, const PlatformRect* src_rect) {
// Should never be called on Linux.
diff --git a/www/chromium/files/patch-skia__ext__vector_platform_device_skia.h b/www/chromium/files/patch-skia__ext__vector_platform_device_skia.h
index af55ab138cc5..6155ea6eee52 100644
--- a/www/chromium/files/patch-skia__ext__vector_platform_device_skia.h
+++ b/www/chromium/files/patch-skia__ext__vector_platform_device_skia.h
@@ -1,11 +1,11 @@
---- skia/ext/vector_platform_device_skia.h.orig 2011-11-01 10:42:37.000000000 +0200
-+++ skia/ext/vector_platform_device_skia.h 2011-11-21 22:29:46.000000000 +0200
-@@ -40,7 +40,7 @@
- virtual void DrawToNativeContext(CGContext* context, int x, int y,
- const CGRect* src_rect);
- virtual CGContextRef GetBitmapContext();
--#elif defined(OS_LINUX) || defined(OS_ANDROID)
-+#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD)
- virtual void DrawToNativeContext(PlatformSurface surface, int x, int y,
- const PlatformRect* src_rect);
- #endif
+--- skia/ext/vector_platform_device_skia.h.orig 2012-01-18 11:11:53.000000000 +0200
++++ skia/ext/vector_platform_device_skia.h 2012-01-29 19:44:49.000000000 +0200
+@@ -43,7 +43,7 @@
+ int y,
+ const CGRect* src_rect) OVERRIDE;
+ virtual CGContextRef GetBitmapContext() OVERRIDE;
+-#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_OPENBSD)
++#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_BSD)
+ virtual void DrawToNativeContext(PlatformSurface surface,
+ int x,
+ int y,
diff --git a/www/chromium/files/patch-third_party__iccjpeg__iccjpeg.h b/www/chromium/files/patch-third_party__iccjpeg__iccjpeg.h
deleted file mode 100644
index 340b34a72875..000000000000
--- a/www/chromium/files/patch-third_party__iccjpeg__iccjpeg.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./third_party/iccjpeg/iccjpeg.h.orig 2010-12-16 02:11:35.000000000 +0100
-+++ ./third_party/iccjpeg/iccjpeg.h 2010-12-20 20:15:08.000000000 +0100
-@@ -17,7 +17,7 @@
- */
-
- #include <stdio.h> /* needed to define "FILE", "NULL" */
--#include "jpeglib.h"
-+#include "../libjpeg/jpeglib.h"
-
-
- /*
diff --git a/www/chromium/files/patch-third_party__leveldatabase__env_chromium.cc b/www/chromium/files/patch-third_party__leveldatabase__env_chromium.cc
index d8e8850da54e..6e6d4490174a 100644
--- a/www/chromium/files/patch-third_party__leveldatabase__env_chromium.cc
+++ b/www/chromium/files/patch-third_party__leveldatabase__env_chromium.cc
@@ -1,12 +1,11 @@
---- third_party/leveldatabase/env_chromium.cc.orig 2011-10-09 00:31:40.173746519 +0300
-+++ third_party/leveldatabase/env_chromium.cc 2011-10-09 00:33:07.446263098 +0300
-@@ -30,7 +30,8 @@
- #include "base/win/win_util.h"
- #endif
+--- third_party/leveldatabase/env_chromium.cc.orig 2012-01-18 11:12:19.000000000 +0200
++++ third_party/leveldatabase/env_chromium.cc 2012-01-29 19:48:55.000000000 +0200
+@@ -33,7 +33,7 @@
+ namespace {
--#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_ANDROID)
-+#if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_ANDROID) \
-+ || defined(OS_FREEBSD)
+ #if defined(OS_MACOSX) || defined(OS_WIN) || defined(OS_ANDROID) || \
+- defined(OS_OPENBSD)
++ defined(OS_BSD)
// The following are glibc-specific
- namespace {
+ size_t fread_unlocked(void *ptr, size_t size, size_t n, FILE *file) {
diff --git a/www/chromium/files/patch-third_party__libjingle__source__talk__base__ipaddress.h b/www/chromium/files/patch-third_party__libjingle__source__talk__base__ipaddress.h
new file mode 100644
index 000000000000..d6deec652d6c
--- /dev/null
+++ b/www/chromium/files/patch-third_party__libjingle__source__talk__base__ipaddress.h
@@ -0,0 +1,12 @@
+--- third_party/libjingle/source/talk/base/ipaddress.h.orig 2012-01-30 22:44:57.000000000 +0200
++++ third_party/libjingle/source/talk/base/ipaddress.h 2012-01-30 22:47:28.000000000 +0200
+@@ -33,6 +33,9 @@
+ #include <arpa/inet.h>
+ #include <netdb.h>
+ #endif
++#ifdef BSD
++#include <sys/socket.h>
++#endif
+ #ifdef WIN32
+ #include <winsock2.h>
+ #include <ws2tcpip.h>
diff --git a/www/chromium/files/patch-third_party__libvpx__libvpx.gyp b/www/chromium/files/patch-third_party__libvpx__libvpx.gyp
index 2ea73b11547e..f98fffd89d02 100644
--- a/www/chromium/files/patch-third_party__libvpx__libvpx.gyp
+++ b/www/chromium/files/patch-third_party__libvpx__libvpx.gyp
@@ -1,15 +1,6 @@
---- third_party/libvpx/libvpx.gyp.orig 2011-10-09 00:08:25.368469771 +0300
-+++ third_party/libvpx/libvpx.gyp 2011-10-10 21:41:31.622025374 +0300
-@@ -77,7 +77,7 @@
- 'source/libvpx/vpx_scale/generic/yv12extend.c',
- ],
- 'conditions': [
-- ['OS=="mac" or OS=="linux"', {
-+ ['OS=="mac" or OS=="linux" or OS=="freebsd"', {
- 'asm_obj_extension': 'o',
- }],
- ['OS=="win"', {
-@@ -86,7 +86,7 @@
+--- third_party/libvpx/libvpx.gyp.orig 2012-01-29 21:54:54.000000000 +0200
++++ third_party/libvpx/libvpx.gyp 2012-01-29 21:55:14.000000000 +0200
+@@ -13,7 +13,7 @@
],
},
'conditions': [
@@ -18,33 +9,3 @@
'targets': [
{
# This libvpx target contains both encoder and decoder.
-@@ -98,7 +98,7 @@
- '<(SHARED_INTERMEDIATE_DIR)/third_party/libvpx',
- 'yasm_path': '<(PRODUCT_DIR)/yasm',
- 'conditions': [
-- [ 'OS=="linux" and target_arch=="ia32"', {
-+ [ '(OS=="linux" or OS=="freebsd") and target_arch=="ia32"', {
- 'yasm_flags': [
- '-felf32',
- '-m', 'x86',
-@@ -106,7 +106,7 @@
- '-I', 'source/libvpx',
- ],
- }],
-- [ 'OS=="linux" and target_arch=="x64"', {
-+ [ '(OS=="linux" or OS=="freebsd") and target_arch=="x64"', {
- 'yasm_flags': [
- '-felf64',
- '-m', 'amd64',
-@@ -482,6 +482,11 @@
- 'libvpx_path': 'lib/linux/arm',
- },
- }],
-+ ['OS=="freebsd"', {
-+ 'variables': {
-+ 'libvpx_path': '/usr/local/lib',
-+ },
-+ }],
- ['OS=="win"', {
- 'variables': {
- 'libvpx_path': 'lib/win/ia32',
diff --git a/www/chromium/files/patch-third_party__openssl__openssl.gyp b/www/chromium/files/patch-third_party__openssl__openssl.gyp
deleted file mode 100644
index 32af0c66abe8..000000000000
--- a/www/chromium/files/patch-third_party__openssl__openssl.gyp
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/openssl/openssl.gyp.orig 2011-11-21 22:53:37.000000000 +0200
-+++ third_party/openssl/openssl.gyp 2011-11-21 22:54:53.000000000 +0200
-@@ -576,7 +576,7 @@
- 'openssl/engines/e_ubsec.c',
- ],
- 'conditions': [
-- ['OS=="linux"', {
-+ ['OS=="linux" or OS=="freebsd"', {
- 'defines': [
- # ENGINESDIR must be defined if OPENSSLDIR is.
- 'ENGINESDIR="/dev/null"',
diff --git a/www/chromium/files/patch-third_party__skia__include__core__SkPreConfig.h b/www/chromium/files/patch-third_party__skia__include__core__SkPreConfig.h
deleted file mode 100644
index 0bd62274d153..000000000000
--- a/www/chromium/files/patch-third_party__skia__include__core__SkPreConfig.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- third_party/skia/include/core/SkPreConfig.h.orig 2011-11-01 10:43:44.000000000 +0200
-+++ third_party/skia/include/core/SkPreConfig.h 2011-11-21 22:31:26.000000000 +0200
-@@ -30,7 +30,7 @@
- #define SK_BUILD_FOR_WIN32
- #elif defined(__SYMBIAN32__)
- #define SK_BUILD_FOR_WIN32
-- #elif defined(linux) || defined(__OpenBSD_)
-+ #elif defined(linux) || defined(__OpenBSD_) || defined(__FreeBSD__)
- #define SK_BUILD_FOR_UNIX
- #elif TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
- #define SK_BUILD_FOR_IOS
diff --git a/www/chromium/files/patch-third_party__yasm__yasm_compile.gypi b/www/chromium/files/patch-third_party__yasm__yasm_compile.gypi
deleted file mode 100644
index 9c2ef743b273..000000000000
--- a/www/chromium/files/patch-third_party__yasm__yasm_compile.gypi
+++ /dev/null
@@ -1,18 +0,0 @@
---- third_party/yasm/yasm_compile.gypi.orig 2011-11-22 00:07:26.000000000 +0200
-+++ third_party/yasm/yasm_compile.gypi 2011-11-22 00:08:10.000000000 +0200
-@@ -36,13 +36,13 @@
- }],
-
- # Define yasm_flags that pass into YASM.
-- [ 'OS=="linux" and target_arch=="ia32"', {
-+ [ '(OS=="linux" or OS=="freebsd") and target_arch=="ia32"', {
- 'yasm_flags': [
- '-felf32',
- '-m', 'x86',
- ],
- }],
-- [ 'OS=="linux" and target_arch=="x64"', {
-+ [ '(OS=="linux" or OS=="freebsd") and target_arch=="x64"', {
- 'yasm_flags': [
- '-DPIC',
- '-felf64',
diff --git a/www/chromium/files/patch-tools__gyp__pylib__gyp____init__.py b/www/chromium/files/patch-tools__gyp__pylib__gyp____init__.py
deleted file mode 100644
index 9b0e67c9e0f4..000000000000
--- a/www/chromium/files/patch-tools__gyp__pylib__gyp____init__.py
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/gyp/pylib/gyp/__init__.py.orig 2011-09-30 10:20:48.000000000 +0200
-+++ tools/gyp/pylib/gyp/__init__.py 2011-10-06 00:20:12.000000000 +0200
-@@ -332,6 +332,8 @@
- 'cygwin': 'msvs',
- 'freebsd7': 'make',
- 'freebsd8': 'make',
-+ 'freebsd9': 'make',
-+ 'freebsd10': 'make',
- 'linux2': 'make',
- 'linux3': 'make',
- 'openbsd4': 'make',