Update to 13.0.782.107
- default H.264 codecs to on [1] - drop ibus dependency, no longer needed [1] Submitted by: George Liaskos (patch updates, [1]) Obtained from: Chromium development repository Security: http://www.vuxml.org/freebsd/6887828f-0229-11e0-b84d-00262d5ed8ee.html
This commit is contained in:
parent
f760c11728
commit
aae7b01c27
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=278830
100 changed files with 960 additions and 2122 deletions
|
@ -7,7 +7,7 @@
|
|||
|
||||
PORTNAME= chromium
|
||||
DISTVERSIONPREFIX= courgette-redacted-
|
||||
DISTVERSION= 12.0.742.124
|
||||
DISTVERSION= 13.0.782.107
|
||||
CATEGORIES= www
|
||||
MASTER_SITES= http://download.goodking.org/downloads/ \
|
||||
ftp://rene-ladan.nl/pub/distfiles/ \
|
||||
|
@ -23,6 +23,7 @@ BUILD_DEPENDS= ${LOCALBASE}/bin/flex:${PORTSDIR}/textproc/flex \
|
|||
${LOCALBASE}/bin/gperf:${PORTSDIR}/devel/gperf \
|
||||
bash:${PORTSDIR}/shells/bash \
|
||||
yasm:${PORTSDIR}/devel/yasm \
|
||||
v4l_compat>=1.0.20110603:${PORTSDIR}/multimedia/v4l_compat \
|
||||
nss>=3.12:${PORTSDIR}/security/nss
|
||||
# minimal version of nss, LIB_DEPENDS does not enforce this
|
||||
|
||||
|
@ -34,7 +35,6 @@ LIB_DEPENDS= execinfo.1:${PORTSDIR}/devel/libexecinfo \
|
|||
freetype.9:${PORTSDIR}/print/freetype2 \
|
||||
nss3.1:${PORTSDIR}/security/nss \
|
||||
gnome-keyring.0:${PORTSDIR}/security/libgnome-keyring \
|
||||
ibus.2:${PORTSDIR}/textproc/ibus \
|
||||
cups.2:${PORTSDIR}/print/cups-client
|
||||
|
||||
RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:${PORTSDIR}/audio/alsa-plugins \
|
||||
|
@ -57,7 +57,6 @@ DESKTOP_ENTRIES="Chromium" "${COMMENT}" "${DATADIR}/product_logo_48.png" \
|
|||
ALL_TARGET= chrome
|
||||
|
||||
#user tunables showing defaults, some won't compile if changed
|
||||
#GYP_DEFINES+= target_arch=ia32 #or x64, should be detected automatically
|
||||
#GYP_DEFINES+= use_system_bzip2=1
|
||||
#GYP_DEFINES+= use_system_libevent=0
|
||||
#GYP_DEFINES+= use_system_libjpeg=1
|
||||
|
@ -68,8 +67,12 @@ GYP_DEFINES+= use_system_ffmpeg=0
|
|||
GYP_DEFINES+= use_system_yasm=1
|
||||
#GYP_DEFINES+= use_system_zlib=1
|
||||
GYP_DEFINES+= python_ver=${PYTHON_VER}
|
||||
GYP_DEFINES+= disable_nacl=1
|
||||
GYP_DEFINES+= linux_use_heapchecker=1
|
||||
GYP_DEFINES+= linux_link_gsettings=1
|
||||
GYP_DEFINES+= linux_link_gnome_keyring=1
|
||||
|
||||
OPTIONS= CODECS "Compile and enable patented codecs like H.264" off \
|
||||
OPTIONS= CODECS "Compile and enable patented codecs like H.264" on \
|
||||
GCONF "Use GConf2 for preferences" on \
|
||||
VPX "Use system libvpx for VP8 codec" on
|
||||
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
SHA256 (chromium-courgette-redacted-12.0.742.124.tar.xz) = 7ac6edc3bc4072e32105a10d5c0a4e83d1321d68088b246e53fb2b403cd5e002
|
||||
SIZE (chromium-courgette-redacted-12.0.742.124.tar.xz) = 120422220
|
||||
SHA256 (chromium-courgette-redacted-13.0.782.107.tar.xz) = 09bea92a6fec2325d6bb28a55c1f225b79ceacb7ec119d3f1af57f6421c52f2a
|
||||
SIZE (chromium-courgette-redacted-13.0.782.107.tar.xz) = 123793692
|
||||
|
|
|
@ -1,14 +1,5 @@
|
|||
--- app/app_base.gypi.orig 2011-05-06 12:02:51.000000000 +0300
|
||||
+++ app/app_base.gypi 2011-06-05 20:27:30.437162962 +0300
|
||||
@@ -268,7 +268,7 @@
|
||||
['exclude', '^win/*'],
|
||||
],
|
||||
}],
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd" or OS=="openbsd"', {
|
||||
'sources!': [
|
||||
'../ui/base/keycodes/keyboard_code_conversion_mac.mm',
|
||||
'../ui/base/keycodes/keyboard_code_conversion_mac.h',
|
||||
@@ -281,7 +281,6 @@
|
||||
'link_settings': {
|
||||
'libraries': [
|
||||
|
|
|
@ -1,6 +1,14 @@
|
|||
--- base/base.gypi.orig 2011-05-06 12:03:16.000000000 +0300
|
||||
+++ base/base.gypi 2011-06-05 19:27:52.717164750 +0300
|
||||
@@ -190,6 +190,7 @@
|
||||
--- base/base.gypi.orig 2011-06-28 22:44:26.635806924 +0300
|
||||
+++ base/base.gypi 2011-06-28 23:21:49.321810313 +0300
|
||||
@@ -94,6 +94,7 @@
|
||||
'files/file_path_watcher_linux.cc',
|
||||
'files/file_path_watcher_mac.cc',
|
||||
'files/file_path_watcher_win.cc',
|
||||
+ 'files/file_path_watcher_freebsd.cc',
|
||||
'fix_wp64.h',
|
||||
'float_util.h',
|
||||
'global_descriptors_posix.cc',
|
||||
@@ -189,6 +190,7 @@
|
||||
'process_posix.cc',
|
||||
'process_util.cc',
|
||||
'process_util.h',
|
||||
|
@ -8,7 +16,7 @@
|
|||
'process_util_linux.cc',
|
||||
'process_util_mac.mm',
|
||||
'process_util_posix.cc',
|
||||
@@ -363,11 +364,9 @@
|
||||
@@ -371,11 +373,9 @@
|
||||
'message_pump_glib_x.cc',
|
||||
],
|
||||
}],
|
||||
|
@ -21,20 +29,16 @@
|
|||
'linux_util.cc',
|
||||
],
|
||||
},
|
||||
@@ -408,10 +407,10 @@
|
||||
@@ -413,7 +413,7 @@
|
||||
'string16.cc',
|
||||
],
|
||||
},],
|
||||
['OS=="freebsd" or OS=="openbsd"', {
|
||||
- ['os_posix==1 and OS!="linux" and OS!="mac"', {
|
||||
+ ['os_posix==1 and OS!="linux" and OS!="mac" and OS!="freebsd"', {
|
||||
'sources!': [
|
||||
- 'base/files/file_path_watcher_linux.cc',
|
||||
+ 'files/file_path_watcher_linux.cc',
|
||||
'files/file_path_watcher_linux.cc',
|
||||
],
|
||||
'sources': [
|
||||
- 'base/files/file_path_watcher_stub.cc',
|
||||
+ 'files/file_path_watcher_stub.cc',
|
||||
],
|
||||
}],
|
||||
],
|
||||
@@ -481,6 +480,12 @@
|
||||
@@ -491,6 +491,13 @@
|
||||
],
|
||||
}],
|
||||
[ 'OS == "freebsd" or OS == "openbsd"', {
|
||||
|
@ -43,6 +47,7 @@
|
|||
+ 'file_util_linux.cc',
|
||||
+ 'process_linux.cc',
|
||||
+ 'process_util_linux.cc',
|
||||
+ 'files/file_path_watcher_linux.cc',
|
||||
+ ],
|
||||
'link_settings': {
|
||||
'libraries': [
|
||||
|
|
|
@ -0,0 +1,476 @@
|
|||
--- /dev/null 2011-06-28 22:00:00.000000000 +0300
|
||||
+++ base/files/file_path_watcher_freebsd.cc 2011-06-28 22:03:34.898806831 +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::CreateForCurrentThread();
|
||||
+
|
||||
+ 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
|
|
@ -1,5 +1,5 @@
|
|||
--- base/process_util.h.orig 2011-04-15 11:01:37.000000000 +0300
|
||||
+++ base/process_util.h 2011-04-15 21:36:54.331640613 +0300
|
||||
--- base/process_util.h.orig 2011-06-24 11:30:52.000000000 +0300
|
||||
+++ base/process_util.h 2011-06-26 16:55:34.997784494 +0300
|
||||
@@ -28,6 +28,10 @@
|
||||
#include <sys/types.h>
|
||||
#endif
|
||||
|
@ -11,18 +11,18 @@
|
|||
#include <list>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
@@ -161,7 +165,7 @@
|
||||
@@ -163,7 +167,7 @@
|
||||
// Win XP SP1 as well.
|
||||
ProcessId GetProcId(ProcessHandle process);
|
||||
BASE_API ProcessId GetProcId(ProcessHandle process);
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
// Returns the path to the executable of the given process.
|
||||
FilePath GetProcessExecutablePath(ProcessHandle process);
|
||||
BASE_API FilePath GetProcessExecutablePath(ProcessHandle process);
|
||||
|
||||
@@ -170,13 +174,14 @@
|
||||
@@ -172,13 +176,14 @@
|
||||
// Exposed for testing.
|
||||
int ParseProcStatCPU(const std::string& input);
|
||||
BASE_API int ParseProcStatCPU(const std::string& input);
|
||||
|
||||
+#elif defined(OS_LINUX)
|
||||
static const char kAdjustOOMScoreSwitch[] = "--adjust-oom-score";
|
||||
|
@ -30,13 +30,13 @@
|
|||
// This adjusts /proc/process/oom_adj so the Linux OOM killer will prefer
|
||||
// certain process types over others. The range for the adjustment is
|
||||
// [-17,15], with [0,15] being user accessible.
|
||||
bool AdjustOOMScore(ProcessId process, int score);
|
||||
BASE_API bool AdjustOOMScore(ProcessId process, int score);
|
||||
-#endif
|
||||
+#endif /* defined(OS_LINUX) || defined(OS_FREEBSD) */
|
||||
+#endif /* defined(OS_LINUX) || defined(OS_FREEBSD) */
|
||||
|
||||
#if defined(OS_POSIX)
|
||||
// Returns the ID for the parent of the given process.
|
||||
@@ -439,7 +444,7 @@
|
||||
@@ -447,7 +452,7 @@
|
||||
#if defined(OS_WIN)
|
||||
HANDLE snapshot_;
|
||||
bool started_iteration_;
|
||||
|
|
|
@ -1,71 +1,15 @@
|
|||
--- build/common.gypi.orig 2011-05-06 12:03:15.000000000 +0300
|
||||
+++ build/common.gypi 2011-06-05 22:52:31.690163552 +0300
|
||||
@@ -95,7 +95,7 @@
|
||||
'file_manager_extension%': 0,
|
||||
|
||||
# Python version.
|
||||
- 'python_ver%': '2.5',
|
||||
+ 'python_ver%': '2.6',
|
||||
|
||||
# Set ARM-v7 compilation flags
|
||||
'armv7%': 0,
|
||||
@@ -256,7 +256,7 @@
|
||||
|
||||
# Whether proprietary audio/video codecs are assumed to be included with
|
||||
# this build (only meaningful if branding!=Chrome).
|
||||
- 'proprietary_codecs%': 0,
|
||||
+ 'proprietary_codecs%': 1,
|
||||
|
||||
# TODO(bradnelson): eliminate this when possible.
|
||||
# To allow local gyp files to prevent release.vsprops from being included.
|
||||
@@ -321,8 +321,8 @@
|
||||
# Disable TCMalloc's debugallocation.
|
||||
'linux_use_debugallocation%': 0,
|
||||
|
||||
- # Disable TCMalloc's heapchecker.
|
||||
- 'linux_use_heapchecker%': 0,
|
||||
+ # Enable TCMalloc's heapchecker.
|
||||
+ 'linux_use_heapchecker%': 1,
|
||||
|
||||
# Disable shadow stack keeping used by heapcheck to unwind the stacks
|
||||
# better.
|
||||
@@ -337,7 +337,7 @@
|
||||
|
||||
# Used to disable Native Client at compile time, for platforms where it
|
||||
# isn't supported
|
||||
- 'disable_nacl%': 0,
|
||||
+ 'disable_nacl%': 1,
|
||||
|
||||
# Set Thumb compilation flags.
|
||||
'arm_thumb%': 0,
|
||||
@@ -368,7 +368,7 @@
|
||||
# Set to 1 to compile with the built in pdf viewer.
|
||||
'internal_pdf%': 0,
|
||||
|
||||
- # This allows to use libcros from the current system, ie. /usr/lib/
|
||||
+ # This allows to use libcros from the current system, ie. /usr/local/lib/
|
||||
# The cros_api will be pulled in as a static library, and all headers
|
||||
# from the system include dirs.
|
||||
'system_libcros%': 0,
|
||||
@@ -405,7 +405,7 @@
|
||||
--- build/common.gypi.orig 2011-06-26 17:27:43.439782011 +0300
|
||||
+++ build/common.gypi 2011-06-26 17:27:57.372781037 +0300
|
||||
@@ -445,7 +445,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.
|
||||
- 'python_arch%': '<!(<(DEPTH)/build/linux/python_arch.sh <(sysroot)/usr/lib/libpython<(python_ver).so.1.0)',
|
||||
+ 'python_arch%': '<!(<(DEPTH)/build/linux/python_arch.sh <(sysroot)/usr/local/lib/libpython<(python_ver).so.1)',
|
||||
+ 'python_arch%': '<!(<(DEPTH)/build/linux/python_arch.sh <(sysroot)/usr/local/lib/libpython<(python_ver).so.1.0)',
|
||||
'conditions': [
|
||||
['branding=="Chrome"', {
|
||||
'linux_breakpad%': 1,
|
||||
@@ -478,7 +478,7 @@
|
||||
],
|
||||
}],
|
||||
|
||||
- ['OS=="mac" or (OS=="linux" and chromeos==0 and target_arch!="arm")', {
|
||||
+ ['OS=="mac" or OS=="freebsd" or (OS=="linux" and chromeos==0 and target_arch!="arm")', {
|
||||
'use_cups%': 1,
|
||||
}, {
|
||||
'use_cups%': 0,
|
||||
@@ -779,7 +779,7 @@
|
||||
@@ -850,7 +850,7 @@
|
||||
['exclude', '(^|/)(gtk|x11)_[^/]*\\.(h|cc)$'],
|
||||
],
|
||||
}],
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
--- ./build/features_override.gypi.orig 2010-12-16 02:11:47.000000000 +0100
|
||||
+++ ./build/features_override.gypi 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -70,7 +70,7 @@
|
||||
'enable_svg%': '<(enable_svg)',
|
||||
'enable_touch_events%': '<(enable_touch_events)',
|
||||
'conditions': [
|
||||
- ['(OS=="win" or OS=="linux" or OS=="mac") and use_accelerated_compositing==1', {
|
||||
+ ['(OS=="win" or OS=="linux" or OS=="mac" or OS=="freebsd") and use_accelerated_compositing==1', {
|
||||
--- build/features_override.gypi.orig 2011-06-24 11:30:52.000000000 +0300
|
||||
+++ build/features_override.gypi 2011-06-26 17:35:55.815781753 +0300
|
||||
@@ -110,7 +110,7 @@
|
||||
# TODO(crogers): For the moment Windows is only enabled for
|
||||
# Google-branded build, since the FFmpeg DLLs need to be re-built
|
||||
# for chromium.
|
||||
- ['OS=="mac" or OS=="linux" or (OS=="win" and branding=="Chrome")', {
|
||||
+ ['OS=="mac" or OS=="linux" or OS=="freebsd" or (OS=="win" and branding=="Chrome")', {
|
||||
'feature_defines': [
|
||||
'WTF_USE_ACCELERATED_COMPOSITING=1',
|
||||
'ENABLE_3D_RENDERING=1',
|
||||
'ENABLE_WEB_AUDIO=1',
|
||||
],
|
||||
|
|
|
@ -1,14 +1,6 @@
|
|||
--- chrome/app/chrome_exe_main_gtk.cc.orig 2011-05-06 12:03:31.000000000 +0300
|
||||
+++ chrome/app/chrome_exe_main_gtk.cc 2011-06-03 23:30:58.238403064 +0300
|
||||
@@ -18,14 +18,16 @@
|
||||
extern "C" {
|
||||
int ChromeMain(int argc, const char** argv);
|
||||
|
||||
-#if defined(OS_LINUX) && defined(USE_TCMALLOC)
|
||||
+#if (defined(OS_LINUX) || defined(OS_FREEBSD)) && defined(USE_TCMALLOC)
|
||||
int tc_set_new_mode(int mode);
|
||||
#endif
|
||||
}
|
||||
--- chrome/app/chrome_exe_main_gtk.cc.orig 2011-06-24 11:31:08.000000000 +0300
|
||||
+++ chrome/app/chrome_exe_main_gtk.cc 2011-06-26 17:42:52.610782235 +0300
|
||||
@@ -25,7 +25,9 @@
|
||||
|
||||
int main(int argc, const char** argv) {
|
||||
base::EnableTerminationOnHeapCorruption();
|
||||
|
@ -18,12 +10,3 @@
|
|||
|
||||
// NOTE(willchan): One might ask why this call is done here rather than in
|
||||
// process_util_linux.cc with the definition of
|
||||
@@ -33,7 +35,7 @@
|
||||
// dependency on TCMalloc. Really, we ought to have our allocator shim code
|
||||
// implement this EnableTerminationOnOutOfMemory() function. Whateverz. This
|
||||
// works for now.
|
||||
-#if defined(OS_LINUX) && defined(USE_TCMALLOC)
|
||||
+#if (defined(OS_LINUX) || defined(OS_FREEBSD)) && defined(USE_TCMALLOC)
|
||||
// For tcmalloc, we need to tell it to behave like new.
|
||||
tc_set_new_mode(1);
|
||||
#endif
|
||||
|
|
|
@ -1,38 +0,0 @@
|
|||
--- chrome/app/generated_resources.grd.orig 2011-05-06 12:03:31.000000000 +0300
|
||||
+++ chrome/app/generated_resources.grd 2011-06-05 19:45:04.234163139 +0300
|
||||
@@ -1000,7 +1000,7 @@
|
||||
Preferences...
|
||||
</message>
|
||||
</if>
|
||||
- <if expr="os == 'linux2'">
|
||||
+ <if expr="os == 'linux2' or os.find('bsd') != -1">
|
||||
<message name="IDS_PREFERENCES" desc="The text label of the Preferences menu item.">
|
||||
Preferences
|
||||
</message>
|
||||
@@ -7124,7 +7124,7 @@
|
||||
</message>
|
||||
</if>
|
||||
|
||||
- <if expr="os == 'darwin' or (os =='linux2' and not pp_ifdef('chromeos'))">
|
||||
+ <if expr="os == 'darwin' or os.find('bsd') != -1 or (os =='linux2' and not pp_ifdef('chromeos'))">
|
||||
<message name="IDS_AUTOFILL_OPTIONS_TITLE" desc="The title of the Autofill dialog.">
|
||||
Autofill Preferences
|
||||
</message>
|
||||
@@ -9416,7 +9416,7 @@
|
||||
</if> <!-- os == 'darwin' -->
|
||||
|
||||
<!-- Linux Global Menubar Menus -->
|
||||
- <if expr="os == 'linux2'">
|
||||
+ <if expr="os == 'linux2' or os.find('bsd') != -1">
|
||||
<!-- Unity and some other GNOME configurations now have a permanent,
|
||||
Mac-like menu bar that lives outside the window at the top of the
|
||||
screen. The following strings should be in Linux style, not Mac
|
||||
@@ -12115,7 +12115,7 @@
|
||||
Import bookmarks now...
|
||||
</message>
|
||||
|
||||
- <if expr="os == 'linux2' or os == 'openbsd4' or os=='freebsd6'">
|
||||
+ <if expr="os == 'linux2' or os.find('bsd') != -1">
|
||||
<!-- Linux proxy configuration fallback help -->
|
||||
<message name="IDS_ABOUT_LINUX_PROXY_CONFIG_TITLE" desc="Title of HTML page shown on systems where system proxy configuration is unsupported.">
|
||||
Proxy Configuration Help
|
|
@ -1,22 +0,0 @@
|
|||
--- chrome/browser/browser_main_posix.cc.orig 2011-05-06 12:03:38.000000000 +0300
|
||||
+++ chrome/browser/browser_main_posix.cc 2011-06-03 23:58:29.518404852 +0300
|
||||
@@ -20,7 +20,7 @@
|
||||
#include "chrome/common/chrome_switches.h"
|
||||
#include "content/browser/browser_thread.h"
|
||||
|
||||
-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
|
||||
+#if (defined(OS_LINUX) || defined(OS_FREEBSD)) && !defined(OS_CHROMEOS)
|
||||
#include "chrome/browser/printing/print_dialog_gtk.h"
|
||||
#endif
|
||||
|
||||
@@ -230,8 +230,8 @@
|
||||
}
|
||||
}
|
||||
|
||||
-#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
|
||||
+#if (defined(OS_LINUX) || defined(OS_FREEBSD)) && !defined(OS_CHROMEOS)
|
||||
printing::PrintingContextCairo::SetCreatePrintDialogFunction(
|
||||
&PrintDialogGtk::CreatePrintDialog);
|
||||
-#endif // defined(OS_LINUX) && !defined(OS_CHROMEOS)
|
||||
+#endif // (defined(OS_LINUX) || defined(OS_FREEBSD)) && !defined(OS_CHROMEOS)
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
--- chrome/browser/chrome_content_browser_client.cc.orig 2011-06-29 20:38:10.627569565 +0300
|
||||
+++ chrome/browser/chrome_content_browser_client.cc 2011-06-29 20:38:47.261569975 +0300
|
||||
@@ -48,7 +48,7 @@
|
||||
#include "net/base/cookie_monster.h"
|
||||
#include "net/base/cookie_options.h"
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
#include "base/linux_util.h"
|
||||
#include "chrome/browser/crash_handler_host_linux.h"
|
||||
#endif
|
||||
@@ -323,7 +323,7 @@
|
||||
#endif
|
||||
}
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
int ChromeContentBrowserClient::GetCrashSignalFD(
|
||||
const std::string& process_type) {
|
||||
if (process_type == switches::kRendererProcess)
|
|
@ -1,29 +0,0 @@
|
|||
--- chrome/browser/memory_details.cc.orig 2011-04-15 11:01:47.000000000 +0300
|
||||
+++ chrome/browser/memory_details.cc 2011-04-15 22:31:00.350640234 +0300
|
||||
@@ -25,7 +25,7 @@
|
||||
#include "grit/generated_resources.h"
|
||||
#include "ui/base/l10n/l10n_util.h"
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
#include "content/browser/zygote_host_linux.h"
|
||||
#include "content/browser/renderer_host/render_sandbox_host_linux.h"
|
||||
#endif
|
||||
@@ -109,7 +109,7 @@
|
||||
void MemoryDetails::CollectChildInfoOnUIThread() {
|
||||
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
const pid_t zygote_pid = ZygoteHost::GetInstance()->pid();
|
||||
const pid_t sandbox_helper_pid = RenderSandboxHostLinux::GetInstance()->pid();
|
||||
#endif
|
||||
@@ -236,7 +236,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
if (process.pid == zygote_pid) {
|
||||
process.type = ChildProcessInfo::ZYGOTE_PROCESS;
|
||||
} else if (process.pid == sandbox_helper_pid) {
|
|
@ -1,11 +0,0 @@
|
|||
--- ./chrome/browser/memory_purger.cc.orig 2010-12-16 02:11:58.000000000 +0100
|
||||
+++ ./chrome/browser/memory_purger.cc 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -135,7 +135,7 @@
|
||||
// * Purge AppCache memory. Not yet implemented sufficiently.
|
||||
// * Browser-side DatabaseTracker. Not implemented sufficiently.
|
||||
|
||||
-#if (defined(OS_WIN) || defined(OS_LINUX)) && defined(USE_TCMALLOC)
|
||||
+#if (defined(OS_WIN) || defined(OS_LINUX) || defined(OS_FREEBSD)) && defined(USE_TCMALLOC)
|
||||
// Tell tcmalloc to release any free pages it's still holding.
|
||||
//
|
||||
// TODO(pkasting): A lot of the above calls kick off actions on other threads.
|
|
@ -1,11 +0,0 @@
|
|||
--- ./chrome/browser/notifications/balloon_collection_impl.h.orig 2010-12-16 02:11:58.000000000 +0100
|
||||
+++ ./chrome/browser/notifications/balloon_collection_impl.h 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -56,7 +56,7 @@
|
||||
virtual void WillProcessMessage(const MSG& event) {}
|
||||
virtual void DidProcessMessage(const MSG& event);
|
||||
#endif
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(TOOLKIT_USES_GTK)
|
||||
virtual void WillProcessEvent(GdkEvent* event) {}
|
||||
virtual void DidProcessEvent(GdkEvent* event);
|
||||
#endif
|
|
@ -1,19 +0,0 @@
|
|||
--- ./chrome/browser/shell_integration_unittest.cc.orig 2010-12-16 02:11:58.000000000 +0100
|
||||
+++ ./chrome/browser/shell_integration_unittest.cc 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -21,13 +21,13 @@
|
||||
|
||||
#if defined(OS_WIN)
|
||||
#include "chrome/installer/util/browser_distribution.h"
|
||||
-#elif defined(OS_LINUX)
|
||||
+#elif defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
#include "base/environment.h"
|
||||
-#endif // defined(OS_LINUX)
|
||||
+#endif // defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
|
||||
#define FPL FILE_PATH_LITERAL
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
namespace {
|
||||
|
||||
// Provides mock environment variables values based on a stored map.
|
|
@ -1,11 +0,0 @@
|
|||
--- ./chrome/browser/task_manager/task_manager_resource_providers.cc.orig 2010-12-16 02:11:54.000000000 +0100
|
||||
+++ ./chrome/browser/task_manager/task_manager_resource_providers.cc 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -1198,7 +1198,7 @@
|
||||
default_icon_ = IconUtil::CreateSkBitmapFromHICON(icon, icon_size);
|
||||
}
|
||||
}
|
||||
-#elif defined(OS_LINUX)
|
||||
+#elif defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
if (!default_icon_) {
|
||||
ResourceBundle& rb = ResourceBundle::GetSharedInstance();
|
||||
default_icon_ = rb.GetBitmapNamed(IDR_PRODUCT_LOGO_16);
|
|
@ -1,47 +0,0 @@
|
|||
--- ./chrome/browser/ui/browser.cc.orig 2010-12-16 02:11:56.000000000 +0100
|
||||
+++ ./chrome/browser/ui/browser.cc 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -271,7 +271,7 @@
|
||||
|
||||
BrowserList::RemoveBrowser(this);
|
||||
|
||||
-#if defined(OS_WIN) || defined(OS_LINUX)
|
||||
+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
if (!BrowserList::HasBrowserWithProfile(profile_)) {
|
||||
// We're the last browser window with this profile. We need to nuke the
|
||||
// TabRestoreService, which will start the shutdown of the
|
||||
@@ -799,7 +799,7 @@
|
||||
// On Mac or ChromeOS, we don't want to suffix the page title with
|
||||
// the application name.
|
||||
return title;
|
||||
-#elif defined(OS_WIN) || defined(OS_LINUX)
|
||||
+#elif defined(OS_WIN) || defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
int string_id = IDS_BROWSER_WINDOW_TITLE_FORMAT;
|
||||
// Don't append the app name to window titles on app frames and app popups
|
||||
if (type_ & TYPE_APP)
|
||||
@@ -1445,7 +1445,7 @@
|
||||
window_->SetFullscreen(!window_->IsFullscreen());
|
||||
// On Linux, setting fullscreen mode is an async call to the X server, which
|
||||
// may or may not support fullscreen mode.
|
||||
-#if !defined(OS_LINUX)
|
||||
+#if !defined(OS_LINUX) && !defined(OS_FREEBSD)
|
||||
UpdateCommandsForFullscreenMode(window_->IsFullscreen());
|
||||
#endif
|
||||
}
|
||||
@@ -1700,7 +1700,7 @@
|
||||
|
||||
void Browser::OpenCreateShortcutsDialog() {
|
||||
UserMetrics::RecordAction(UserMetricsAction("CreateShortcut"), profile_);
|
||||
-#if defined(OS_WIN) || defined(OS_LINUX)
|
||||
+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
TabContentsWrapper* current_tab = GetSelectedTabContentsWrapper();
|
||||
DCHECK(current_tab &&
|
||||
web_app::IsValidUrl(current_tab->tab_contents()->GetURL())) <<
|
||||
@@ -2500,7 +2500,7 @@
|
||||
}
|
||||
|
||||
void Browser::CloseFrameAfterDragSession() {
|
||||
-#if defined(OS_WIN) || defined(OS_LINUX)
|
||||
+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
// This is scheduled to run after we return to the message loop because
|
||||
// otherwise the frame will think the drag session is still active and ignore
|
||||
// the request.
|
|
@ -1,20 +0,0 @@
|
|||
--- ./chrome/browser/ui/toolbar/wrench_menu_model.cc.orig 2010-12-16 02:11:56.000000000 +0100
|
||||
+++ ./chrome/browser/ui/toolbar/wrench_menu_model.cc 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -391,7 +391,7 @@
|
||||
IDS_NEW_INCOGNITO_WINDOW);
|
||||
|
||||
AddSeparator();
|
||||
-#if defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(TOOLKIT_VIEWS))
|
||||
+#if defined(OS_POSIX) && !defined(TOOLKIT_VIEWS)
|
||||
// WARNING: Mac does not use the ButtonMenuItemModel, but instead defines the
|
||||
// layout for this menu item in Toolbar.xib. It does, however, use the
|
||||
// command_id value from AddButtonItem() to identify this special item.
|
||||
@@ -406,7 +406,7 @@
|
||||
#endif
|
||||
|
||||
AddSeparator();
|
||||
-#if defined(OS_MACOSX) || (defined(OS_LINUX) && !defined(TOOLKIT_VIEWS))
|
||||
+#if defined(OS_POSIX) && !defined(TOOLKIT_VIEWS)
|
||||
// WARNING: See above comment.
|
||||
zoom_menu_item_model_.reset(
|
||||
new menus::ButtonMenuItemModel(IDS_ZOOM_MENU, this));
|
|
@ -1,11 +0,0 @@
|
|||
--- ./chrome/browser/ui/views/create_application_shortcut_view.cc.orig 2010-12-16 02:11:56.000000000 +0100
|
||||
+++ ./chrome/browser/ui/views/create_application_shortcut_view.cc 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -260,7 +260,7 @@
|
||||
l10n_util::GetString(IDS_PIN_TO_TASKBAR_CHKBOX) :
|
||||
l10n_util::GetString(IDS_CREATE_SHORTCUTS_QUICK_LAUNCH_BAR_CHKBOX),
|
||||
profile_->GetPrefs()->GetBoolean(prefs::kWebAppCreateInQuickLaunchBar));
|
||||
-#elif defined(OS_LINUX)
|
||||
+#elif defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
menu_check_box_ = AddCheckbox(
|
||||
l10n_util::GetString(IDS_CREATE_SHORTCUTS_MENU_CHKBOX),
|
||||
profile_->GetPrefs()->GetBoolean(prefs::kWebAppCreateInAppsMenu));
|
|
@ -1,20 +0,0 @@
|
|||
--- chrome/browser/ui/views/download/download_item_view.cc.orig 2011-04-15 11:01:46.000000000 +0300
|
||||
+++ chrome/browser/ui/views/download/download_item_view.cc 2011-04-15 22:56:06.858645022 +0300
|
||||
@@ -261,7 +261,7 @@
|
||||
|
||||
// Extract the file extension (if any).
|
||||
FilePath filename(download->target_name());
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
string16 extension = WideToUTF16(base::SysNativeMBToWide(
|
||||
filename.Extension()));
|
||||
#else
|
||||
@@ -271,7 +271,7 @@
|
||||
// Remove leading '.'
|
||||
if (extension.length() > 0)
|
||||
extension = extension.substr(1);
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
string16 rootname = WideToUTF16(base::SysNativeMBToWide(
|
||||
filename.RemoveExtension().value()));
|
||||
#else
|
|
@ -1,20 +0,0 @@
|
|||
--- chrome/browser/ui/views/dropdown_bar_host.cc.orig 2011-01-26 10:30:51.000000000 +0100
|
||||
+++ chrome/browser/ui/views/dropdown_bar_host.cc 2011-01-30 14:07:11.000000000 +0100
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
#if defined(OS_WIN)
|
||||
#include "base/win/scoped_gdi_object.h"
|
||||
-#elif defined(OS_LINUX)
|
||||
+#elif defined(TOOLKIT_GTK)
|
||||
#include "ui/base/gtk/scoped_handle_gtk.h"
|
||||
#endif
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
#if defined(OS_WIN)
|
||||
typedef base::win::ScopedRegion ScopedPlatformRegion;
|
||||
-#elif defined(OS_LINUX)
|
||||
+#elif defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
typedef ui::ScopedRegion ScopedPlatformRegion;
|
||||
#endif
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
--- chrome/browser/ui/views/extensions/extension_popup.cc.orig 2011-05-06 12:03:37.000000000 +0300
|
||||
+++ chrome/browser/ui/views/extensions/extension_popup.cc 2011-06-04 00:14:39.536404067 +0300
|
||||
@@ -23,7 +23,7 @@
|
||||
#include "views/widget/root_view.h"
|
||||
#include "views/window/window.h"
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(TOOLKIT_GTK)
|
||||
#include "views/widget/widget_gtk.h"
|
||||
#endif
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
--- ./chrome/browser/ui/views/extensions/extension_view.cc.orig 2010-12-16 02:11:56.000000000 +0100
|
||||
+++ ./chrome/browser/ui/views/extensions/extension_view.cc 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -14,7 +14,7 @@
|
||||
#include "chrome/browser/renderer_host/render_widget_host_view_win.h"
|
||||
#elif defined(TOUCH_UI)
|
||||
#include "chrome/browser/renderer_host/render_widget_host_view_views.h"
|
||||
-#elif defined(OS_LINUX)
|
||||
+#elif defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
#include "chrome/browser/renderer_host/render_widget_host_view_gtk.h"
|
||||
#endif
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
--- ./chrome/browser/ui/views/frame/app_panel_browser_frame_view.cc.orig 2010-12-16 02:11:56.000000000 +0100
|
||||
+++ ./chrome/browser/ui/views/frame/app_panel_browser_frame_view.cc 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -21,7 +21,7 @@
|
||||
#include "views/window/window.h"
|
||||
#include "views/window/window_resources.h"
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
#include "views/window/hit_test.h"
|
||||
#endif
|
||||
|
|
@ -1,56 +0,0 @@
|
|||
--- chrome/browser/ui/views/frame/browser_view.cc.orig 2011-05-06 12:03:37.000000000 +0300
|
||||
+++ chrome/browser/ui/views/frame/browser_view.cc 2011-06-04 00:29:37.489403401 +0300
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
#include "chrome/browser/ui/views/frame/browser_view.h"
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(TOOLKIT_GTK)
|
||||
#include <gtk/gtk.h>
|
||||
#endif
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
#include "ui/base/message_box_win.h"
|
||||
#include "ui/base/view_prop.h"
|
||||
#include "views/window/window_win.h"
|
||||
-#elif defined(OS_LINUX)
|
||||
+#elif defined(TOOLKIT_GTK)
|
||||
#include "chrome/browser/ui/views/accelerator_table_gtk.h"
|
||||
#include "views/window/hit_test.h"
|
||||
#include "views/window/window_gtk.h"
|
||||
@@ -1079,7 +1079,7 @@
|
||||
views::FocusManager* focus_manager = GetFocusManager();
|
||||
DCHECK(focus_manager);
|
||||
|
||||
-#if defined(OS_LINUX) && !defined(TOUCH_UI)
|
||||
+#if (defined(OS_LINUX) || defined(OS_FREEBSD)) && !defined(TOUCH_UI)
|
||||
// Views and WebKit use different tables for GdkEventKey -> views::KeyEvent
|
||||
// conversion. We need to use View's conversion table here to keep consistent
|
||||
// behavior with views::FocusManager::OnKeyEvent() method.
|
||||
@@ -1126,7 +1126,7 @@
|
||||
return false;
|
||||
|
||||
// Executing the command may cause |this| object to be destroyed.
|
||||
-#if defined(OS_LINUX) && !defined(TOUCH_UI)
|
||||
+#if (defined(OS_LINUX) || defined(OS_FREEBSD)) && !defined(TOUCH_UI)
|
||||
if (browser_->IsReservedCommandOrKey(id, event) &&
|
||||
!event.match_edit_command) {
|
||||
#else
|
||||
@@ -1143,7 +1143,7 @@
|
||||
}
|
||||
|
||||
void BrowserView::HandleKeyboardEvent(const NativeWebKeyboardEvent& event) {
|
||||
-#if defined(OS_LINUX) && !defined(TOUCH_UI)
|
||||
+#if (defined(OS_LINUX) || defined(OS_FREEBSD)) && !defined(TOUCH_UI)
|
||||
views::Window* window = GetWidget()->GetWindow();
|
||||
if (window && event.os_event && !event.skip_in_browser) {
|
||||
views::KeyEvent views_event(reinterpret_cast<GdkEvent*>(event.os_event));
|
||||
@@ -2135,7 +2135,7 @@
|
||||
#endif // No need to invoke SetFullscreen for linux as this code is executed
|
||||
// once we're already fullscreen on linux.
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
// Updating of commands for fullscreen mode is called from SetFullScreen on
|
||||
// Wndows (see just above), but for ChromeOS, this method (ProcessFullScreen)
|
||||
// is called after full screen has happened successfully (via GTK's
|
|
@ -1,11 +0,0 @@
|
|||
--- ./chrome/browser/ui/views/frame/browser_view_layout.cc.orig 2010-12-16 02:11:56.000000000 +0100
|
||||
+++ ./chrome/browser/ui/views/frame/browser_view_layout.cc 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -19,7 +19,7 @@
|
||||
#include "gfx/scrollbar_size.h"
|
||||
#include "views/window/window.h"
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
#include "views/window/hit_test.h"
|
||||
#endif
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
--- ./chrome/browser/ui/views/frame/opaque_browser_frame_view.cc.orig 2010-12-16 02:11:56.000000000 +0100
|
||||
+++ ./chrome/browser/ui/views/frame/opaque_browser_frame_view.cc 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -28,7 +28,7 @@
|
||||
#include "views/window/window_resources.h"
|
||||
#include "views/window/window_shape.h"
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
#include "views/window/hit_test.h"
|
||||
#endif
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
--- chrome/browser/ui/views/fullscreen_exit_bubble.cc.orig 2011-05-06 12:03:37.000000000 +0300
|
||||
+++ chrome/browser/ui/views/fullscreen_exit_bubble.cc 2011-06-04 00:31:52.427403621 +0300
|
||||
@@ -19,7 +19,7 @@
|
||||
#if defined(OS_WIN)
|
||||
#include "ui/base/l10n/l10n_util_win.h"
|
||||
#include "views/widget/widget_win.h"
|
||||
-#elif defined(OS_LINUX)
|
||||
+#elif defined(TOOLKIT_GTK)
|
||||
#include "views/widget/widget_gtk.h"
|
||||
#endif
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
--- chrome/browser/ui/views/fullscreen_exit_bubble.h.orig 2011-05-06 12:03:37.000000000 +0300
|
||||
+++ chrome/browser/ui/views/fullscreen_exit_bubble.h 2011-06-04 00:35:54.816403061 +0300
|
||||
@@ -16,7 +16,7 @@
|
||||
class SlideAnimation;
|
||||
}
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(TOOLKIT_GTK)
|
||||
namespace views {
|
||||
class WidgetGtk;
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
--- ./chrome/browser/ui/views/location_bar/location_bar_view.cc.orig 2010-12-16 02:11:56.000000000 +0100
|
||||
+++ ./chrome/browser/ui/views/location_bar/location_bar_view.cc 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
#include "chrome/browser/views/location_bar/location_bar_view.h"
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(TOOLKIT_USES_GTK)
|
||||
#include <gtk/gtk.h>
|
||||
#endif
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
--- ./chrome/browser/ui/views/notifications/balloon_view.cc.orig 2010-12-16 02:11:56.000000000 +0100
|
||||
+++ ./chrome/browser/ui/views/notifications/balloon_view.cc 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -39,7 +39,7 @@
|
||||
#if defined(OS_WIN)
|
||||
#include "views/widget/widget_win.h"
|
||||
#endif
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(TOOLKIT_GTK)
|
||||
#include "views/widget/widget_gtk.h"
|
||||
#endif
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
--- ./chrome/browser/ui/views/notifications/balloon_view_host.cc.orig 2010-12-16 02:11:56.000000000 +0100
|
||||
+++ ./chrome/browser/ui/views/notifications/balloon_view_host.cc 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -10,7 +10,7 @@
|
||||
#if defined(OS_WIN)
|
||||
#include "chrome/browser/renderer_host/render_widget_host_view_win.h"
|
||||
#endif
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
#if defined(TOUCH_UI)
|
||||
#include "chrome/browser/renderer_host/render_widget_host_view_views.h"
|
||||
#else
|
||||
@@ -21,7 +21,7 @@
|
||||
#if defined(OS_WIN)
|
||||
#include "views/widget/widget_win.h"
|
||||
#endif
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(TOOLKIT_GTK)
|
||||
#include "views/widget/widget_gtk.h"
|
||||
#endif
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
HWND hwnd = view_win->Create(parent_native_view_);
|
||||
view_win->ShowWindow(SW_SHOW);
|
||||
native_host_->Attach(hwnd);
|
||||
-#elif defined(OS_LINUX)
|
||||
+#elif defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
#if defined(TOUCH_UI)
|
||||
RenderWidgetHostViewViews* view_views =
|
||||
static_cast<RenderWidgetHostViewViews*>(render_widget_host_view_);
|
|
@ -1,11 +0,0 @@
|
|||
--- ./chrome/browser/ui/views/tabs/dragged_tab_view.cc.orig 2010-12-16 02:11:56.000000000 +0100
|
||||
+++ ./chrome/browser/ui/views/tabs/dragged_tab_view.cc 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
#if defined(OS_WIN)
|
||||
#include "views/widget/widget_win.h"
|
||||
-#elif defined(OS_LINUX)
|
||||
+#elif defined(TOOLKIT_GTK)
|
||||
#include "views/widget/widget_gtk.h"
|
||||
#endif
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
--- ./chrome/browser/ui/views/tabs/tab_strip.cc.orig 2010-12-16 02:11:56.000000000 +0100
|
||||
+++ ./chrome/browser/ui/views/tabs/tab_strip.cc 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -30,7 +30,7 @@
|
||||
#if defined(OS_WIN)
|
||||
#include "app/win_util.h"
|
||||
#include "views/widget/widget_win.h"
|
||||
-#elif defined(OS_LINUX)
|
||||
+#elif defined(TOOLKIT_GTK)
|
||||
#include "views/widget/widget_gtk.h"
|
||||
#endif
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
--- ./chrome/browser/ui/views/tabs/tab_strip.h.orig 2010-12-16 02:11:56.000000000 +0100
|
||||
+++ ./chrome/browser/ui/views/tabs/tab_strip.h 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
namespace views {
|
||||
class ImageView;
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(TOOLKIT_GTK)
|
||||
class WidgetGtk;
|
||||
#elif defined(OS_WIN)
|
||||
class WidgetWin;
|
|
@ -1,23 +0,0 @@
|
|||
--- ./chrome/browser/web_applications/web_app.cc.orig 2010-12-16 02:11:54.000000000 +0100
|
||||
+++ ./chrome/browser/web_applications/web_app.cc 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -34,9 +34,9 @@
|
||||
#include "chrome/common/url_constants.h"
|
||||
#include "chrome/common/web_apps.h"
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
#include "base/environment.h"
|
||||
-#endif // defined(OS_LINUX)
|
||||
+#endif // defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
|
||||
#if defined(OS_WIN)
|
||||
#include "base/win_util.h"
|
||||
@@ -261,7 +261,7 @@
|
||||
bool CreateShortcutTask::CreateShortcut() {
|
||||
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE));
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
scoped_ptr<base::Environment> env(base::Environment::Create());
|
||||
|
||||
std::string shortcut_template;
|
|
@ -1,31 +0,0 @@
|
|||
--- chrome/chrome.gyp.orig 2011-05-06 12:03:42.000000000 +0300
|
||||
+++ chrome/chrome.gyp 2011-06-04 00:41:46.403404482 +0300
|
||||
@@ -72,6 +72,10 @@
|
||||
}],
|
||||
],
|
||||
},],
|
||||
+ ['OS=="freebsd" or OS=="openbsd"', {
|
||||
+ 'platform_locale_settings_grd':
|
||||
+ 'app/resources/locale_settings_linux.grd',
|
||||
+ },],
|
||||
['OS=="mac"', {
|
||||
'tweak_info_plist_path': 'tools/build/mac/tweak_info_plist',
|
||||
'nacl_defines': [
|
||||
@@ -419,7 +423,7 @@
|
||||
'..',
|
||||
],
|
||||
'conditions': [
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd"', {
|
||||
'dependencies': [
|
||||
'../build/linux/system.gyp:gtk',
|
||||
],
|
||||
@@ -769,7 +773,7 @@
|
||||
'service/cloud_print/print_system_win.cc',
|
||||
],
|
||||
}],
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd"', {
|
||||
'dependencies': [
|
||||
'../build/linux/system.gyp:gtk',
|
||||
],
|
|
@ -1,15 +1,6 @@
|
|||
--- chrome/chrome_browser.gypi.orig 2011-04-16 11:02:00.000000000 +0300
|
||||
+++ chrome/chrome_browser.gypi 2011-04-21 21:49:54.625558694 +0300
|
||||
@@ -3455,7 +3455,7 @@
|
||||
['exclude', '^browser/views/tab_contents/tab_contents_view_gtk.h'],
|
||||
],
|
||||
}],
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd"', {
|
||||
'dependencies': [
|
||||
'../build/linux/system.gyp:dbus-glib',
|
||||
'../build/linux/system.gyp:gconf',
|
||||
@@ -3465,12 +3465,6 @@
|
||||
--- chrome/chrome_browser.gypi.orig 2011-06-24 11:31:19.000000000 +0300
|
||||
+++ chrome/chrome_browser.gypi 2011-06-26 20:14:19.677781532 +0300
|
||||
@@ -3679,12 +3679,6 @@
|
||||
'../build/linux/system.gyp:x11',
|
||||
'../third_party/undoview/undoview.gyp:undoview',
|
||||
],
|
||||
|
@ -22,21 +13,3 @@
|
|||
'sources!': [
|
||||
'browser/ui/views/extensions/extension_view.cc',
|
||||
'browser/ui/views/extensions/extension_view.h',
|
||||
@@ -4118,7 +4112,7 @@
|
||||
],
|
||||
}],
|
||||
# GTK build only
|
||||
- ['OS=="linux" and toolkit_views==0', {
|
||||
+ ['(OS=="linux" or OS=="freebsd") and toolkit_views==0', {
|
||||
'sources/': [
|
||||
['include', '^browser/printing/print_dialog_gtk.cc'],
|
||||
['include', '^browser/printing/print_dialog_gtk.h'],
|
||||
@@ -4196,7 +4190,7 @@
|
||||
},
|
||||
],
|
||||
}],
|
||||
- ['OS=="linux" and gcc_version==45', {
|
||||
+ ['(OS=="linux" or OS=="freebsd") and gcc_version==45', {
|
||||
# Avoid gcc 4.5 miscompilation of template_url.cc
|
||||
# as per http://crbug.com/41887
|
||||
'cflags': [
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
--- ./chrome/chrome_renderer.gypi.orig 2010-12-16 02:12:13.000000000 +0100
|
||||
+++ ./chrome/chrome_renderer.gypi 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -285,6 +285,14 @@
|
||||
}],
|
||||
# BSD-specific rules.
|
||||
['OS=="openbsd" or OS=="freebsd"', {
|
||||
+ 'conditions': [
|
||||
+ [ 'linux_use_tcmalloc==1', {
|
||||
+ 'dependencies': [
|
||||
+ '../base/allocator/allocator.gyp:allocator',
|
||||
+ ],
|
||||
+ },
|
||||
+ ],
|
||||
+ ],
|
||||
'dependencies': [
|
||||
'../build/linux/system.gyp:gtk',
|
||||
],
|
|
@ -1,60 +1,7 @@
|
|||
--- chrome/chrome_tests.gypi.orig 2011-05-06 12:03:42.000000000 +0300
|
||||
+++ chrome/chrome_tests.gypi 2011-06-04 00:50:16.731405108 +0300
|
||||
@@ -191,7 +191,7 @@
|
||||
'../content/common/notification_observer_mock.h',
|
||||
],
|
||||
'conditions': [
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd"', {
|
||||
'dependencies': [
|
||||
'../build/linux/system.gyp:gtk',
|
||||
'../build/linux/system.gyp:nss',
|
||||
@@ -245,7 +245,7 @@
|
||||
'chrome.gyp:crash_service', # run time dependency
|
||||
],
|
||||
}],
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd"', {
|
||||
'dependencies': [
|
||||
'../build/linux/system.gyp:gtk',
|
||||
],
|
||||
@@ -330,7 +330,7 @@
|
||||
'test/unit/run_all_unittests.cc',
|
||||
],
|
||||
'conditions': [
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd"', {
|
||||
'dependencies': [
|
||||
# Needed for the following #include chain:
|
||||
# test/unit/run_all_unittests.cc
|
||||
@@ -376,7 +376,7 @@
|
||||
},
|
||||
},
|
||||
},],
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd"', {
|
||||
'dependencies': [
|
||||
'../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
|
||||
],
|
||||
@@ -449,14 +449,14 @@
|
||||
'test/unit/chrome_test_suite.h',
|
||||
],
|
||||
'conditions': [
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd"', {
|
||||
'dependencies': [
|
||||
'../build/linux/system.gyp:gtk',
|
||||
'../build/linux/system.gyp:nss',
|
||||
'../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
|
||||
],
|
||||
}],
|
||||
- ['OS=="linux" and toolkit_views==0', {
|
||||
+ ['(OS=="linux" or OS=="freebsd") and toolkit_views==0', {
|
||||
'sources!': [
|
||||
# TODO(port)
|
||||
'browser/ui/views/bookmarks/bookmark_bar_view_test.cc',
|
||||
@@ -657,12 +657,12 @@
|
||||
'../webkit/webkit.gyp:copy_npapi_test_plugin',
|
||||
--- chrome/chrome_tests.gypi.orig 2011-06-24 11:31:19.000000000 +0300
|
||||
+++ chrome/chrome_tests.gypi 2011-06-26 20:25:42.958784006 +0300
|
||||
@@ -2963,7 +2963,7 @@
|
||||
'../third_party/WebKit/Source/WebCore/WebCore.gyp/WebCore.gyp:webcore',
|
||||
],
|
||||
}],
|
||||
- ['OS=="linux"', {
|
||||
|
@ -62,130 +9,7 @@
|
|||
'dependencies': [
|
||||
'../build/linux/system.gyp:gtk',
|
||||
'../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
|
||||
],
|
||||
- }, { # else: OS != "linux"
|
||||
+ }, { # else: OS != "linux" and OS != "freebsd"
|
||||
'sources!': [
|
||||
'browser/process_singleton_linux_uitest.cc',
|
||||
],
|
||||
@@ -837,7 +837,7 @@
|
||||
'test/webdriver/commands/webelement_commands.cc',
|
||||
],
|
||||
'conditions': [
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd"', {
|
||||
'dependencies': [
|
||||
'../build/linux/system.gyp:gtk',
|
||||
'../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
|
||||
@@ -1946,7 +1946,7 @@
|
||||
['exclude', '^browser/ui/webui/chromeos/login'],
|
||||
],
|
||||
}],
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd"', {
|
||||
'conditions': [
|
||||
['gcc_version==44', {
|
||||
# Avoid gcc 4.4 strict aliasing issues in stl_tree.h when
|
||||
@@ -1983,7 +1983,7 @@
|
||||
'sources!': [
|
||||
'browser/printing/print_job_unittest.cc',
|
||||
],
|
||||
- }, { # else: OS != "linux"
|
||||
+ }, { # else: OS != "linux" and OS != "freebsd"
|
||||
'sources!': [
|
||||
'browser/ui/gtk/tabs/tab_renderer_gtk_unittest.cc',
|
||||
'browser/renderer_host/gtk_key_bindings_handler_unittest.cc',
|
||||
@@ -2481,7 +2481,7 @@
|
||||
'../content/browser/child_process_security_policy_browsertest.cc',
|
||||
],
|
||||
}],
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd"', {
|
||||
'dependencies': [
|
||||
'../build/linux/system.gyp:gtk',
|
||||
'../build/linux/system.gyp:nss',
|
||||
@@ -2650,7 +2650,7 @@
|
||||
},
|
||||
},
|
||||
},],
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd"', {
|
||||
'dependencies': [
|
||||
'../build/linux/system.gyp:gtk',
|
||||
'../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
|
||||
@@ -2751,7 +2751,7 @@
|
||||
},
|
||||
},
|
||||
},],
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd"', {
|
||||
'dependencies': [
|
||||
'../build/linux/system.gyp:gtk',
|
||||
],
|
||||
@@ -2788,7 +2788,7 @@
|
||||
},
|
||||
},
|
||||
},],
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd"', {
|
||||
'dependencies': [
|
||||
'../build/linux/system.gyp:gtk',
|
||||
'../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
|
||||
@@ -2825,7 +2825,7 @@
|
||||
'test/tab_switching/tab_switching_test.cc',
|
||||
],
|
||||
'conditions': [
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd"', {
|
||||
'dependencies': [
|
||||
'../build/linux/system.gyp:gtk',
|
||||
'../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
|
||||
@@ -2859,7 +2859,7 @@
|
||||
'test/memory_test/memory_test.cc',
|
||||
],
|
||||
'conditions': [
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd"', {
|
||||
'dependencies': [
|
||||
'../build/linux/system.gyp:gtk',
|
||||
'../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
|
||||
@@ -3025,7 +3025,7 @@
|
||||
'browser/sync/util/data_encryption_unittest.cc',
|
||||
],
|
||||
}],
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd"', {
|
||||
'dependencies': [
|
||||
'../build/linux/system.gyp:gtk',
|
||||
'../build/linux/system.gyp:nss',
|
||||
@@ -3139,7 +3139,7 @@
|
||||
'test/data/resource.rc',
|
||||
],
|
||||
'conditions': [
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd"', {
|
||||
'dependencies': [
|
||||
'../build/linux/system.gyp:gtk',
|
||||
'../build/linux/system.gyp:nss',
|
||||
@@ -3285,7 +3285,7 @@
|
||||
# See comments about "xcode_settings" elsewhere in this file.
|
||||
'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-ObjC']},
|
||||
}],
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd"', {
|
||||
'dependencies': [
|
||||
'../build/linux/system.gyp:gtk',
|
||||
'../build/linux/system.gyp:nss',
|
||||
@@ -3399,7 +3399,7 @@
|
||||
'test/perf/url_parse_perftest.cc',
|
||||
],
|
||||
'conditions': [
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd"', {
|
||||
'dependencies': [
|
||||
'../build/linux/system.gyp:gtk',
|
||||
'../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
|
||||
@@ -3780,7 +3780,7 @@
|
||||
@@ -3964,7 +3964,7 @@
|
||||
'../courgette/courgette.gyp:courgette_unittests',
|
||||
'browser_tests',
|
||||
]}],
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
--- ./chrome/common/chrome_paths.cc.orig 2010-12-16 02:12:13.000000000 +0100
|
||||
+++ ./chrome/common/chrome_paths.cc 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -164,7 +164,7 @@
|
||||
cur = cur.Append(FILE_PATH_LITERAL("inspector"));
|
||||
break;
|
||||
case chrome::DIR_APP_DICTIONARIES:
|
||||
-#if defined(OS_LINUX) || defined(OS_MACOSX)
|
||||
+#if defined(OS_POSIX)
|
||||
// We can't write into the EXE dir on Linux, so keep dictionaries
|
||||
// alongside the safe browsing database in the user data dir.
|
||||
// And we don't want to write into the bundle on the Mac, so push
|
|
@ -1,11 +0,0 @@
|
|||
--- ./chrome/common/chrome_switches.cc.orig 2010-12-16 02:12:13.000000000 +0100
|
||||
+++ ./chrome/common/chrome_switches.cc 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -1273,7 +1273,7 @@
|
||||
const char kEnableAdvancedFileSystem[] = "enable-advanced-fs";
|
||||
#endif
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
// Specify the amount the trackpad should scroll by.
|
||||
const char kScrollPixels[] = "scroll-pixels";
|
||||
#endif
|
|
@ -1,11 +0,0 @@
|
|||
--- ./chrome/common/chrome_switches.h.orig 2010-12-16 02:12:13.000000000 +0100
|
||||
+++ ./chrome/common/chrome_switches.h 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -361,7 +361,7 @@
|
||||
extern const char kEnableAdvancedFileSystem[];
|
||||
#endif
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
extern const char kScrollPixels[];
|
||||
#endif
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
--- chrome/common/service_process_util_posix.h.orig 2011-04-21 20:57:02.534558581 +0300
|
||||
+++ chrome/common/service_process_util_posix.h 2011-04-21 20:57:16.326558123 +0300
|
||||
@@ -14,10 +14,10 @@
|
||||
#include "base/message_pump_libevent.h"
|
||||
#include "base/scoped_ptr.h"
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
#include "chrome/common/multi_process_lock.h"
|
||||
MultiProcessLock* TakeServiceRunningLock(bool waiting);
|
||||
-#endif // OS_LINUX
|
||||
+#endif // OS_LINUX || OS_FREEBSD
|
||||
|
||||
#if defined(OS_MACOSX)
|
||||
#include "base/mac/scoped_cftyperef.h"
|
||||
@@ -65,10 +65,10 @@
|
||||
FilePathWatcher executable_watcher_;
|
||||
ServiceProcessState* state_;
|
||||
#endif // OS_MACOSX
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
scoped_ptr<MultiProcessLock> initializing_lock_;
|
||||
scoped_ptr<MultiProcessLock> running_lock_;
|
||||
-#endif // OS_LINUX
|
||||
+#endif // OS_LINUX || OS_FREEBSD
|
||||
scoped_ptr<ServiceProcessShutdownMonitor> shut_down_monitor_;
|
||||
base::MessagePumpLibevent::FileDescriptorWatcher watcher_;
|
||||
int sockets_[2];
|
|
@ -1,11 +0,0 @@
|
|||
--- ./chrome/default_plugin/default_plugin.gyp.orig 2010-12-16 02:12:13.000000000 +0100
|
||||
+++ ./chrome/default_plugin/default_plugin.gyp 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -53,7 +53,7 @@
|
||||
'plugin_install_job_monitor.h',
|
||||
],
|
||||
}],
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd"', {
|
||||
'dependencies': [
|
||||
'<(DEPTH)/build/linux/system.gyp:gtk',
|
||||
],
|
|
@ -1,14 +0,0 @@
|
|||
--- ./content/browser/browser_child_process_host.cc.orig 2010-12-16 02:11:58.000000000 +0100
|
||||
+++ ./content/browser/browser_child_process_host.cc 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -27,9 +27,9 @@
|
||||
#include "chrome/common/result_codes.h"
|
||||
#include "chrome/installer/util/google_update_settings.h"
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
#include "base/linux_util.h"
|
||||
-#endif // OS_LINUX
|
||||
+#endif // OS_LINUX || OS_FREEBSD
|
||||
|
||||
namespace {
|
||||
|
|
@ -1,123 +0,0 @@
|
|||
--- content/browser/child_process_launcher.cc.orig 2011-05-06 12:02:54.000000000 +0300
|
||||
+++ content/browser/child_process_launcher.cc 2011-06-04 15:13:25.939378747 +0300
|
||||
@@ -20,7 +20,7 @@
|
||||
#if defined(OS_WIN)
|
||||
#include "base/file_path.h"
|
||||
#include "chrome/common/sandbox_policy.h"
|
||||
-#elif defined(OS_LINUX)
|
||||
+#elif defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
#include "base/memory/singleton.h"
|
||||
#include "chrome/browser/crash_handler_host_linux.h"
|
||||
#include "content/browser/zygote_host_linux.h"
|
||||
@@ -45,7 +45,7 @@
|
||||
: client_(NULL),
|
||||
client_thread_id_(BrowserThread::UI),
|
||||
starting_(true)
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
, zygote_(false)
|
||||
#endif
|
||||
{
|
||||
@@ -110,7 +110,7 @@
|
||||
handle = sandbox::StartProcessWithAccess(cmd_line, exposed_dir);
|
||||
#elif defined(OS_POSIX)
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
// On Linux, we need to add some extra file descriptors for crash handling.
|
||||
std::string process_type =
|
||||
cmd_line->GetSwitchValueASCII(switches::kProcessType);
|
||||
@@ -151,7 +151,7 @@
|
||||
ipcfd,
|
||||
kPrimaryIPCChannel + base::GlobalDescriptors::kBaseDescriptor));
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
if (crash_signal_fd >= 0) {
|
||||
fds_to_map.push_back(std::make_pair(
|
||||
crash_signal_fd,
|
||||
@@ -164,7 +164,7 @@
|
||||
sandbox_fd,
|
||||
kSandboxIPCChannel + base::GlobalDescriptors::kBaseDescriptor));
|
||||
}
|
||||
-#endif // defined(OS_LINUX)
|
||||
+#endif // defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
|
||||
bool launched = false;
|
||||
#if defined(OS_MACOSX)
|
||||
@@ -200,20 +200,20 @@
|
||||
NewRunnableMethod(
|
||||
this,
|
||||
&ChildProcessLauncher::Context::Notify,
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
use_zygote,
|
||||
#endif
|
||||
handle));
|
||||
}
|
||||
|
||||
void Notify(
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
bool zygote,
|
||||
#endif
|
||||
base::ProcessHandle handle) {
|
||||
starting_ = false;
|
||||
process_.set_handle(handle);
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
zygote_ = zygote;
|
||||
#endif
|
||||
if (client_) {
|
||||
@@ -233,7 +233,7 @@
|
||||
BrowserThread::PROCESS_LAUNCHER, FROM_HERE,
|
||||
NewRunnableFunction(
|
||||
&ChildProcessLauncher::Context::TerminateInternal,
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
zygote_,
|
||||
#endif
|
||||
process_.handle()));
|
||||
@@ -246,7 +246,7 @@
|
||||
}
|
||||
|
||||
static void TerminateInternal(
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
bool zygote,
|
||||
#endif
|
||||
base::ProcessHandle handle) {
|
||||
@@ -256,13 +256,13 @@
|
||||
process.Terminate(ResultCodes::NORMAL_EXIT);
|
||||
// On POSIX, we must additionally reap the child.
|
||||
#if defined(OS_POSIX)
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
if (zygote) {
|
||||
// If the renderer was created via a zygote, we have to proxy the reaping
|
||||
// through the zygote process.
|
||||
ZygoteHost::GetInstance()->EnsureProcessTerminated(handle);
|
||||
} else
|
||||
-#endif // OS_LINUX
|
||||
+#endif // OS_LINUX || OS_FREEBSD
|
||||
{
|
||||
ProcessWatcher::EnsureProcessTerminated(handle);
|
||||
}
|
||||
@@ -275,7 +275,7 @@
|
||||
base::Process process_;
|
||||
bool starting_;
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
bool zygote_;
|
||||
#endif
|
||||
};
|
||||
@@ -321,7 +321,7 @@
|
||||
int* exit_code) {
|
||||
base::TerminationStatus status;
|
||||
base::ProcessHandle handle = context_->process_.handle();
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
if (context_->zygote_) {
|
||||
status = ZygoteHost::GetInstance()->GetTerminationStatus(handle, exit_code);
|
||||
} else
|
|
@ -1,16 +1,16 @@
|
|||
--- content/browser/renderer_host/render_message_filter.cc.orig 2011-05-06 12:02:54.000000000 +0300
|
||||
+++ content/browser/renderer_host/render_message_filter.cc 2011-06-04 15:22:29.321379253 +0300
|
||||
@@ -365,7 +365,7 @@
|
||||
--- content/browser/renderer_host/render_message_filter.cc.orig 2011-06-24 11:30:32.000000000 +0300
|
||||
+++ content/browser/renderer_host/render_message_filter.cc 2011-06-26 20:58:31.256783053 +0300
|
||||
@@ -360,7 +360,7 @@
|
||||
OnCheckNotificationPermission)
|
||||
IPC_MESSAGE_HANDLER(ViewHostMsg_AllocateSharedMemoryBuffer,
|
||||
OnAllocateSharedMemoryBuffer)
|
||||
IPC_MESSAGE_HANDLER(ViewHostMsg_DidZoomURL, OnDidZoomURL)
|
||||
-#if defined(OS_MACOSX)
|
||||
+#if defined(OS_MACOSX) || defined(OS_FREEBSD)
|
||||
IPC_MESSAGE_HANDLER(ViewHostMsg_AllocTransportDIB, OnAllocTransportDIB)
|
||||
IPC_MESSAGE_HANDLER(ViewHostMsg_FreeTransportDIB, OnFreeTransportDIB)
|
||||
#endif
|
||||
@@ -740,7 +740,7 @@
|
||||
context_getter->GetURLRequestContext());
|
||||
@@ -647,7 +647,7 @@
|
||||
return context_getter->GetURLRequestContext();
|
||||
}
|
||||
|
||||
-#if defined(OS_MACOSX)
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
--- content/browser/renderer_host/render_sandbox_host_linux.cc.orig 2011-04-16 11:01:10.000000000 +0300
|
||||
+++ content/browser/renderer_host/render_sandbox_host_linux.cc 2011-04-27 00:17:53.236984447 +0300
|
||||
@@ -13,6 +13,9 @@
|
||||
#include <sys/socket.h>
|
||||
#include <sys/poll.h>
|
||||
#include <time.h>
|
||||
+#if defined(OS_FREEBSD)
|
||||
+#include <sys/param.h>
|
||||
+#endif
|
||||
|
||||
#include <vector>
|
||||
|
||||
@@ -665,7 +668,11 @@
|
||||
// inherit some sockets. With PF_UNIX+SOCK_DGRAM, it can call sendmsg to send
|
||||
// a datagram to any (abstract) socket on the same system. With
|
||||
// SOCK_SEQPACKET, this is prevented.
|
||||
+#if defined(OS_FREEBSD) && (__FreeBSD_version < 900030)
|
||||
+ CHECK(socketpair(AF_UNIX, SOCK_DGRAM, 0, fds) == 0);
|
||||
+#else
|
||||
CHECK(socketpair(AF_UNIX, SOCK_SEQPACKET, 0, fds) == 0);
|
||||
+#endif
|
||||
|
||||
renderer_socket_ = fds[0];
|
||||
const int browser_socket = fds[1];
|
|
@ -1,11 +0,0 @@
|
|||
--- content/browser/renderer_host/render_widget_host_unittest.cc.orig 2010-12-16 02:11:57.000000000 +0100
|
||||
+++ content/browser/renderer_host/render_widget_host_unittest.cc 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -407,7 +407,7 @@
|
||||
|
||||
// Tests setting custom background
|
||||
TEST_F(RenderWidgetHostTest, Background) {
|
||||
-#if defined(OS_WIN) || defined(OS_LINUX)
|
||||
+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
scoped_ptr<RenderWidgetHostView> view(
|
||||
RenderWidgetHostView::CreateViewForWidget(host_.get()));
|
||||
host_->set_view(view.get());
|
|
@ -1,20 +1,11 @@
|
|||
--- content/browser/tab_contents/tab_contents.cc.orig 2010-12-16 02:11:56.000000000 +0100
|
||||
+++ content/browser/tab_contents/tab_contents.cc 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -407,7 +407,7 @@
|
||||
NotificationService::AllSources());
|
||||
registrar_.Add(this, NotificationType::RENDER_WIDGET_HOST_DESTROYED,
|
||||
NotificationService::AllSources());
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(TOOLKIT_GTK)
|
||||
registrar_.Add(this, NotificationType::BROWSER_THEME_CHANGED,
|
||||
NotificationService::AllSources());
|
||||
#endif
|
||||
@@ -3181,7 +3181,7 @@
|
||||
break;
|
||||
}
|
||||
--- 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()))
|
||||
return false;
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(TOOLKIT_GTK)
|
||||
case NotificationType::BROWSER_THEME_CHANGED: {
|
||||
renderer_preferences_util::UpdateFromSystemSettings(
|
||||
&renderer_preferences_, profile());
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
// 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())
|
||||
|
|
|
@ -1,16 +1,6 @@
|
|||
--- content/browser/zygote_host_linux.cc.orig 2011-04-16 11:01:10.000000000 +0300
|
||||
+++ content/browser/zygote_host_linux.cc 2011-04-27 00:55:54.430982567 +0300
|
||||
@@ -8,6 +8,9 @@
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
+#if defined(OS_FREEBSD)
|
||||
+#include <sys/param.h>
|
||||
+#endif
|
||||
|
||||
#include "base/command_line.h"
|
||||
#include "base/eintr_wrapper.h"
|
||||
@@ -61,8 +64,16 @@
|
||||
--- content/browser/zygote_host_linux.cc.orig 2011-06-24 11:30:33.000000000 +0300
|
||||
+++ content/browser/zygote_host_linux.cc 2011-06-26 21:23:29.109780851 +0300
|
||||
@@ -61,8 +61,16 @@
|
||||
}
|
||||
|
||||
ZygoteHost::~ZygoteHost() {
|
||||
|
@ -28,19 +18,7 @@
|
|||
}
|
||||
|
||||
// static
|
||||
@@ -81,7 +92,11 @@
|
||||
cmd_line.AppendSwitchASCII(switches::kProcessType, switches::kZygoteProcess);
|
||||
|
||||
int fds[2];
|
||||
+#if defined(OS_FREEBSD) && (__FreeBSD_version < 900030)
|
||||
+ CHECK(socketpair(AF_UNIX, SOCK_DGRAM, 0, fds) == 0);
|
||||
+#else
|
||||
CHECK(socketpair(PF_UNIX, SOCK_SEQPACKET, 0, fds) == 0);
|
||||
+#endif
|
||||
base::file_handle_mapping_vector fds_to_map;
|
||||
fds_to_map.push_back(std::make_pair(fds[1], 3));
|
||||
|
||||
@@ -149,6 +164,7 @@
|
||||
@@ -160,6 +168,7 @@
|
||||
// We need to look for it.
|
||||
// But first, wait for the zygote to tell us it's running.
|
||||
// The sending code is in chrome/browser/zygote_main_linux.cc.
|
||||
|
@ -48,7 +26,7 @@
|
|||
std::vector<int> fds_vec;
|
||||
const int kExpectedLength = sizeof(kZygoteMagic);
|
||||
char buf[kExpectedLength];
|
||||
@@ -179,6 +195,7 @@
|
||||
@@ -190,6 +199,7 @@
|
||||
// Reap the sandbox.
|
||||
ProcessWatcher::EnsureProcessGetsReaped(process);
|
||||
}
|
||||
|
@ -56,7 +34,7 @@
|
|||
} else {
|
||||
// Not using the SUID sandbox.
|
||||
pid_ = process;
|
||||
@@ -245,9 +262,11 @@
|
||||
@@ -256,9 +266,11 @@
|
||||
if (pid <= 0)
|
||||
return base::kNullProcessHandle;
|
||||
}
|
||||
|
@ -69,7 +47,7 @@
|
|||
|
||||
return pid;
|
||||
}
|
||||
@@ -285,6 +304,7 @@
|
||||
@@ -296,6 +308,7 @@
|
||||
selinux_valid = true;
|
||||
}
|
||||
|
||||
|
@ -77,7 +55,7 @@
|
|||
if (using_suid_sandbox_ && !selinux) {
|
||||
base::ProcessHandle sandbox_helper_process;
|
||||
std::vector<std::string> adj_oom_score_cmdline;
|
||||
@@ -302,6 +322,7 @@
|
||||
@@ -313,6 +326,7 @@
|
||||
if (!base::AdjustOOMScore(pid, score))
|
||||
PLOG(ERROR) << "Failed to adjust OOM score of renderer with pid " << pid;
|
||||
}
|
||||
|
|
|
@ -1,26 +1,7 @@
|
|||
--- content/browser/zygote_main_linux.cc.orig 2011-04-15 11:01:10.000000000 +0300
|
||||
+++ content/browser/zygote_main_linux.cc 2011-04-16 21:45:54.101069128 +0300
|
||||
@@ -2,12 +2,18 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
+#include "build/build_config.h"
|
||||
+
|
||||
#include <dlfcn.h>
|
||||
#include <fcntl.h>
|
||||
#include <pthread.h>
|
||||
+#if defined(OS_FREEBSD)
|
||||
+#include <signal.h>
|
||||
+#else
|
||||
#include <sys/epoll.h>
|
||||
#include <sys/prctl.h>
|
||||
#include <sys/signal.h>
|
||||
+#endif
|
||||
#include <sys/socket.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
@@ -51,7 +57,7 @@
|
||||
#include "unicode/timezone.h"
|
||||
--- content/browser/zygote_main_linux.cc.orig 2011-06-24 11:30:33.000000000 +0300
|
||||
+++ content/browser/zygote_main_linux.cc 2011-06-26 21:25:52.734780676 +0300
|
||||
@@ -58,7 +58,7 @@
|
||||
#endif
|
||||
|
||||
#if defined(ARCH_CPU_X86_FAMILY) && !defined(CHROMIUM_SELINUX) && \
|
||||
- !defined(__clang__)
|
||||
|
@ -28,7 +9,7 @@
|
|||
// The seccomp sandbox is enabled on all ia32 and x86-64 processor as long as
|
||||
// we aren't using SELinux or clang.
|
||||
#define SECCOMP_SANDBOX
|
||||
@@ -174,6 +180,11 @@
|
||||
@@ -181,6 +181,11 @@
|
||||
case ZygoteHost::kCmdGetSandboxStatus:
|
||||
HandleGetSandboxStatus(fd, pickle, iter);
|
||||
return false;
|
||||
|
@ -40,7 +21,7 @@
|
|||
default:
|
||||
NOTREACHED();
|
||||
break;
|
||||
@@ -648,7 +659,7 @@
|
||||
@@ -667,7 +672,7 @@
|
||||
|
||||
SkiaFontConfigSetImplementation(
|
||||
new FontConfigIPC(kMagicSandboxIPCDescriptor));
|
||||
|
@ -49,7 +30,7 @@
|
|||
// Previously, we required that the binary be non-readable. This causes the
|
||||
// kernel to mark the process as non-dumpable at startup. The thinking was
|
||||
// that, although we were putting the renderers into a PID namespace (with
|
||||
@@ -674,6 +685,7 @@
|
||||
@@ -693,6 +698,7 @@
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
--- content/common/gpu/x_util.h.orig 2010-12-16 02:11:58.000000000 +0100
|
||||
+++ content/common/gpu/x_util.h 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -12,7 +12,7 @@
|
||||
#include "build/build_config.h"
|
||||
#include "chrome/gpu/gpu_config.h"
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(USE_X11)
|
||||
|
||||
// Forward declares ------------------------------------------------------------
|
||||
//
|
||||
@@ -42,6 +42,6 @@
|
||||
void operator()(void* x) const;
|
||||
};
|
||||
|
||||
-#endif // OS_LINUX
|
||||
+#endif // USE_X11
|
||||
|
||||
#endif // CHROME_GPU_X_UTIL_H_
|
|
@ -1,20 +0,0 @@
|
|||
--- content/common/gpu_messages.h.orig 2011-05-06 12:02:55.000000000 +0300
|
||||
+++ content/common/gpu_messages.h 2011-06-04 01:15:56.427405297 +0300
|
||||
@@ -161,7 +161,7 @@
|
||||
// information.
|
||||
IPC_MESSAGE_CONTROL0(GpuMsg_CollectGraphicsInfo)
|
||||
|
||||
-#if defined(OS_LINUX) && !defined(TOUCH_UI) || defined(OS_WIN)
|
||||
+#if (defined(OS_LINUX) || defined(OS_FREEBSD)) && !defined(TOUCH_UI) || defined(OS_WIN)
|
||||
// Tells the GPU process that the browser process has finished resizing the
|
||||
// view.
|
||||
IPC_MESSAGE_CONTROL2(GpuMsg_ResizeViewACK,
|
||||
@@ -250,7 +250,7 @@
|
||||
// Response from GPU to a GpuMsg_Synchronize message.
|
||||
IPC_MESSAGE_CONTROL0(GpuHostMsg_SynchronizeReply)
|
||||
|
||||
-#if defined(OS_LINUX) && !defined(TOUCH_UI) || defined(OS_WIN)
|
||||
+#if (defined(OS_LINUX) || defined(OS_FREEBSD)) && !defined(TOUCH_UI) || defined(OS_WIN)
|
||||
// Resize the window that is being drawn into. It's important that this
|
||||
// resize be synchronized with the swapping of the front and back buffers.
|
||||
IPC_MESSAGE_CONTROL4(GpuHostMsg_ResizeView,
|
|
@ -1,11 +0,0 @@
|
|||
--- content/common/native_web_keyboard_event.h.orig 2011-03-20 22:02:04.188736136 +0200
|
||||
+++ content/common/native_web_keyboard_event.h 2011-03-20 22:02:04.394737178 +0200
|
||||
@@ -60,7 +60,7 @@
|
||||
// Currently, it's only used by Linux and Mac ports.
|
||||
bool skip_in_browser;
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
// True if the key event matches an edit command. In order to ensure the edit
|
||||
// command always work in web page, the browser should not pre-handle this key
|
||||
// event as a reserved accelerator. See http://crbug.com/54573
|
|
@ -1,15 +1,6 @@
|
|||
--- content/content_browser.gypi.orig 2011-04-22 01:35:50.895187096 +0300
|
||||
+++ content/content_browser.gypi 2011-04-22 01:43:35.628663558 +0300
|
||||
@@ -324,7 +324,7 @@
|
||||
['OS=="win"', {
|
||||
'msvs_guid': '639DB58D-32C2-435A-A711-65A12F62E442',
|
||||
}],
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd"', {
|
||||
'dependencies': [
|
||||
'../build/linux/system.gyp:dbus-glib',
|
||||
# For FcLangSetAdd call in render_sandbox_host_linux.cc
|
||||
@@ -346,6 +346,14 @@
|
||||
--- content/content_browser.gypi.orig 2011-06-24 11:30:33.000000000 +0300
|
||||
+++ content/content_browser.gypi 2011-06-26 21:57:25.042787140 +0300
|
||||
@@ -393,6 +393,14 @@
|
||||
['exclude', '^browser/geolocation/wifi_data_provider_linux.h'],
|
||||
]
|
||||
}],
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
--- content/plugin/plugin_thread.cc.orig 2010-12-16 02:11:58.000000000 +0100
|
||||
+++ content/plugin/plugin_thread.cc 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
#include "build/build_config.h"
|
||||
|
||||
-#if defined(USE_X11)
|
||||
+#if defined(TOOLKIT_USES_GTK)
|
||||
#include <gtk/gtk.h>
|
||||
#elif defined(OS_MACOSX)
|
||||
#include <CoreFoundation/CoreFoundation.h>
|
||||
@@ -57,7 +57,7 @@
|
||||
switches::kPluginPath);
|
||||
|
||||
lazy_tls.Pointer()->Set(this);
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(TOOLKIT_GTK)
|
||||
{
|
||||
// XEmbed plugins assume they are hosted in a Gtk application, so we need
|
||||
// to initialize Gtk in the plugin process.
|
|
@ -1,11 +0,0 @@
|
|||
--- content/renderer/render_thread.cc.orig 2011-05-06 12:02:55.000000000 +0300
|
||||
+++ content/renderer/render_thread.cc 2011-06-04 15:55:04.481380035 +0300
|
||||
@@ -607,7 +607,7 @@
|
||||
}
|
||||
|
||||
void RenderThread::IdleHandler() {
|
||||
-#if (defined(OS_WIN) || defined(OS_LINUX)) && defined(USE_TCMALLOC)
|
||||
+#if !defined(OS_MACOSX) && defined(USE_TCMALLOC)
|
||||
MallocExtension::instance()->ReleaseFreeMemory();
|
||||
#endif
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
--- content/renderer/render_view.h.orig 2010-12-16 02:11:59.000000000 +0100
|
||||
+++ content/renderer/render_view.h 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -1114,7 +1114,7 @@
|
||||
// periodic timer so we don't send too many messages.
|
||||
void SyncNavigationState();
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
void UpdateFontRenderingFromRendererPrefs();
|
||||
#else
|
||||
void UpdateFontRenderingFromRendererPrefs() {}
|
|
@ -1,15 +1,15 @@
|
|||
--- content/renderer/renderer_glue.cc.orig 2011-05-06 12:02:55.000000000 +0300
|
||||
+++ content/renderer/renderer_glue.cc 2011-06-04 16:01:20.943412500 +0300
|
||||
--- content/renderer/renderer_glue.cc.orig 2011-06-24 11:30:33.000000000 +0300
|
||||
+++ content/renderer/renderer_glue.cc 2011-06-26 22:17:27.417781169 +0300
|
||||
@@ -34,7 +34,7 @@
|
||||
#include "webkit/glue/webkit_glue.h"
|
||||
#include "webkit/glue/websocketstreamhandle_bridge.h"
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
#include "content/renderer/renderer_sandbox_support_linux.h"
|
||||
#include "content/common/child_process_sandbox_support_linux.h"
|
||||
#endif
|
||||
|
||||
@@ -259,7 +259,7 @@
|
||||
@@ -255,7 +255,7 @@
|
||||
RenderThread::current()->EnableSpdy(enable);
|
||||
}
|
||||
|
||||
|
@ -17,4 +17,4 @@
|
|||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
int MatchFontWithFallback(const std::string& face, bool bold,
|
||||
bool italic, int charset) {
|
||||
return renderer_sandbox_support::MatchFontWithFallback(
|
||||
return child_process_sandbox_support::MatchFontWithFallback(
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
--- content/renderer/renderer_main.cc.orig 2011-03-20 22:02:04.303357408 +0200
|
||||
+++ content/renderer/renderer_main.cc 2011-03-20 22:02:04.457737643 +0200
|
||||
@@ -272,7 +272,7 @@
|
||||
PepperPluginRegistry::GetInstance();
|
||||
|
||||
{
|
||||
-#if !defined(OS_LINUX)
|
||||
+#if !defined(OS_LINUX) && !defined(OS_FREEBSD)
|
||||
// TODO(markus): Check if it is OK to unconditionally move this
|
||||
// instruction down.
|
||||
RenderProcessImpl render_process;
|
||||
@@ -284,7 +284,7 @@
|
||||
} else {
|
||||
LOG(ERROR) << "Running without renderer sandbox";
|
||||
}
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
RenderProcessImpl render_process;
|
||||
render_process.set_main_thread(new RenderThread());
|
||||
#endif
|
|
@ -1,29 +0,0 @@
|
|||
--- content/renderer/renderer_webkitclient_impl.cc.orig 2011-03-20 22:02:04.310852495 +0200
|
||||
+++ content/renderer/renderer_webkitclient_impl.cc 2011-03-20 22:02:04.460737466 +0200
|
||||
@@ -55,7 +55,7 @@
|
||||
#include "third_party/WebKit/Source/WebKit/chromium/public/mac/WebSandboxSupport.h"
|
||||
#endif
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
#include <string>
|
||||
#include <map>
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
virtual bool ensureFontLoaded(HFONT);
|
||||
#elif defined(OS_MACOSX)
|
||||
virtual bool loadFont(NSFont* srcFont, ATSFontContainerRef* out);
|
||||
-#elif defined(OS_LINUX)
|
||||
+#elif defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
virtual WebKit::WebString getFontFamilyForCharacters(
|
||||
const WebKit::WebUChar* characters, size_t numCharacters);
|
||||
virtual void getRenderStyleForStrike(
|
||||
@@ -419,7 +419,7 @@
|
||||
return RenderThread::current()->Send(new ViewHostMsg_PreCacheFont(logfont));
|
||||
}
|
||||
|
||||
-#elif defined(OS_LINUX)
|
||||
+#elif defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
|
||||
WebString RendererWebKitClientImpl::SandboxSupport::getFontFamilyForCharacters(
|
||||
const WebKit::WebUChar* characters, size_t num_characters) {
|
|
@ -1,13 +0,0 @@
|
|||
--- content/worker/worker_uitest.cc.orig 2011-01-11 10:01:47.000000000 +0100
|
||||
+++ content/worker/worker_uitest.cc 2011-01-15 22:46:56.000000000 +0100
|
||||
@@ -85,8 +85,8 @@
|
||||
// The 1 is for the browser process.
|
||||
int number_of_processes = 1 + workers +
|
||||
(ProxyLauncher::in_process_renderer() ? 0 : tabs);
|
||||
-#if defined(OS_LINUX)
|
||||
- // On Linux, we also have a zygote process and a sandbox host process.
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
+ // On Linux and FreeBSD, we also have a zygote process and a sandbox host process.
|
||||
number_of_processes += 2;
|
||||
#endif
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
--- ./gpu/demos/demos.gyp.orig 2010-12-16 02:11:23.000000000 +0100
|
||||
+++ ./gpu/demos/demos.gyp 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -11,7 +11,7 @@
|
||||
--- gpu/demos/demos.gyp.orig 2011-06-24 11:30:31.000000000 +0300
|
||||
+++ gpu/demos/demos.gyp 2011-06-26 22:43:26.842781274 +0300
|
||||
@@ -14,7 +14,7 @@
|
||||
# also be compiled with -fPIC flag. Setting GYP_DEFINES="linux_fpic=1"
|
||||
# compiles everything with -fPIC. Disable pepper demos on linux/x64
|
||||
# unless linux_fpic is 1.
|
||||
|
@ -9,16 +9,7 @@
|
|||
'enable_pepper_demos%': 0,
|
||||
}, {
|
||||
'enable_pepper_demos%': 1,
|
||||
@@ -53,7 +53,7 @@
|
||||
'framework/window.h',
|
||||
],
|
||||
'conditions': [
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd"', {
|
||||
'dependencies': ['../../build/linux/system.gyp:gtk'],
|
||||
}],
|
||||
],
|
||||
@@ -172,7 +172,7 @@
|
||||
@@ -107,7 +107,7 @@
|
||||
],
|
||||
},
|
||||
'conditions': [
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
--- ./gpu/gpu.gyp.orig 2010-12-16 02:11:23.000000000 +0100
|
||||
+++ ./gpu/gpu.gyp 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -180,7 +180,7 @@
|
||||
'command_buffer/service/texture_manager.cc',
|
||||
],
|
||||
'conditions': [
|
||||
- ['OS == "linux"', {
|
||||
+ ['OS == "linux" or OS=="freebsd"', {
|
||||
'dependencies': [
|
||||
'../build/linux/system.gyp:gtk',
|
||||
],
|
|
@ -1,11 +0,0 @@
|
|||
--- ./ipc/ipc.gyp.orig 2010-12-16 02:11:49.000000000 +0100
|
||||
+++ ./ipc/ipc.gyp 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -62,7 +62,7 @@
|
||||
'../build/linux/system.gyp:gtk',
|
||||
],
|
||||
}],
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd"', {
|
||||
'conditions': [
|
||||
['linux_use_tcmalloc==1', {
|
||||
'dependencies': [
|
|
@ -1,18 +0,0 @@
|
|||
--- media/media.gyp.orig 2011-04-21 21:52:13.846559129 +0300
|
||||
+++ media/media.gyp 2011-04-21 21:52:29.930558911 +0300
|
||||
@@ -612,7 +612,6 @@
|
||||
],
|
||||
'libraries': [
|
||||
'-lGL',
|
||||
- '-ldl',
|
||||
],
|
||||
'sources': [
|
||||
'tools/tile_render_bench/tile_render_bench.cc',
|
||||
@@ -692,7 +691,6 @@
|
||||
],
|
||||
'link_settings': {
|
||||
'libraries': [
|
||||
- '-ldl',
|
||||
'-lX11',
|
||||
'-lXrender',
|
||||
'-lXext',
|
|
@ -1,6 +1,6 @@
|
|||
--- net/net.gyp.orig 2011-04-26 11:01:16.000000000 +0300
|
||||
+++ net/net.gyp 2011-05-03 21:16:49.479149025 +0300
|
||||
@@ -138,8 +138,8 @@
|
||||
--- 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',
|
||||
|
@ -11,30 +11,12 @@
|
|||
'base/network_change_notifier_win.cc',
|
||||
'base/network_change_notifier_win.h',
|
||||
'base/network_config_watcher_mac.cc',
|
||||
@@ -245,7 +245,7 @@
|
||||
'dependencies': [
|
||||
@@ -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', {
|
||||
@@ -1023,7 +1023,7 @@
|
||||
],
|
||||
}
|
||||
],
|
||||
- [ 'OS == "linux"', {
|
||||
+ [ 'OS == "linux" or OS=="freebsd"', {
|
||||
'conditions': [
|
||||
['linux_use_tcmalloc==1', {
|
||||
'dependencies': [
|
||||
@@ -1196,7 +1196,7 @@
|
||||
}],
|
||||
],
|
||||
}],
|
||||
- ['OS == "linux"', {
|
||||
+ ['OS == "linux" or OS=="freebsd"', {
|
||||
'conditions': [
|
||||
['linux_use_tcmalloc==1', {
|
||||
'dependencies': [
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
--- net/proxy/proxy_config_service_linux.cc.orig 2011-04-26 11:01:15.000000000 +0300
|
||||
+++ net/proxy/proxy_config_service_linux.cc 2011-05-04 23:52:01.546273478 +0300
|
||||
@@ -12,7 +12,13 @@
|
||||
--- net/proxy/proxy_config_service_linux.cc.orig 2011-07-01 00:30:51.106692749 +0300
|
||||
+++ net/proxy/proxy_config_service_linux.cc 2011-07-01 01:15:28.391693775 +0300
|
||||
@@ -18,7 +18,13 @@
|
||||
#include <limits.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
@ -14,189 +14,142 @@
|
|||
#include <unistd.h>
|
||||
|
||||
#include <map>
|
||||
@@ -433,7 +439,7 @@
|
||||
public base::MessagePumpLibevent::Watcher {
|
||||
@@ -861,9 +867,10 @@
|
||||
public base::MessagePumpLibevent::Watcher {
|
||||
public:
|
||||
explicit GConfSettingGetterImplKDE(base::Environment* env_var_getter)
|
||||
explicit SettingGetterImplKDE(base::Environment* env_var_getter)
|
||||
- : inotify_fd_(-1), notify_delegate_(NULL), indirect_manual_(false),
|
||||
+ : notify_fd_(-1), notify_delegate_(NULL), indirect_manual_(false),
|
||||
auto_no_pac_(false), reversed_bypass_list_(false),
|
||||
env_var_getter_(env_var_getter), file_loop_(NULL) {
|
||||
- auto_no_pac_(false), reversed_bypass_list_(false),
|
||||
- env_var_getter_(env_var_getter), file_loop_(NULL) {
|
||||
+ : config_fd_(-1), inotify_fd_(-1), notify_delegate_(NULL),
|
||||
+ indirect_manual_(false), auto_no_pac_(false),
|
||||
+ reversed_bypass_list_(false), env_var_getter_(env_var_getter),
|
||||
+ file_loop_(NULL) {
|
||||
// This has to be called on the UI thread (http://crbug.com/69057).
|
||||
@@ -492,35 +498,43 @@
|
||||
}
|
||||
base::ThreadRestrictions::ScopedAllowIO allow_io;
|
||||
|
||||
virtual ~GConfSettingGetterImplKDE() {
|
||||
- // inotify_fd_ should have been closed before now, from
|
||||
+ // notify_fd_ should have been closed before now, from
|
||||
// Delegate::OnDestroy(), while running on the file thread. However
|
||||
// on exiting the process, it may happen that Delegate::OnDestroy()
|
||||
@@ -926,9 +933,14 @@
|
||||
// task is left pending on the file loop after the loop was quit,
|
||||
// and pending tasks may then be deleted without being run.
|
||||
// Here in the KDE version, we can safely close the file descriptor
|
||||
// anyway. (Not that it really matters; the process is exiting.)
|
||||
- if (inotify_fd_ >= 0)
|
||||
+ if (notify_fd_ >= 0)
|
||||
Shutdown();
|
||||
- DCHECK(inotify_fd_ < 0);
|
||||
+ DCHECK(notify_fd_ < 0);
|
||||
- // anyway. (Not that it really matters; the process is exiting.)
|
||||
+ // anyway. (Not that it really matters; the process is exiting.)
|
||||
+ if(config_fd_ >= 0) {
|
||||
+ close(config_fd_);
|
||||
+ config_fd_ = -1;
|
||||
+ }
|
||||
if (inotify_fd_ >= 0)
|
||||
ShutDown();
|
||||
+ DCHECK(config_fd_ < 0);
|
||||
DCHECK(inotify_fd_ < 0);
|
||||
}
|
||||
|
||||
virtual bool Init(MessageLoop* glib_default_loop,
|
||||
MessageLoopForIO* file_loop) {
|
||||
@@ -937,18 +949,25 @@
|
||||
// This has to be called on the UI thread (http://crbug.com/69057).
|
||||
base::ThreadRestrictions::ScopedAllowIO allow_io;
|
||||
- DCHECK(inotify_fd_ < 0);
|
||||
- inotify_fd_ = inotify_init();
|
||||
- if (inotify_fd_ < 0) {
|
||||
+ DCHECK(notify_fd_ < 0);
|
||||
DCHECK(inotify_fd_ < 0);
|
||||
+#if defined(OS_FREEBSD)
|
||||
+ notify_fd_ = kqueue();
|
||||
+ inotify_fd_ = kqueue();
|
||||
+#else
|
||||
+ notify_fd_ = inotify_init();
|
||||
inotify_fd_ = inotify_init();
|
||||
+#endif
|
||||
+ if (notify_fd_ < 0) {
|
||||
if (inotify_fd_ < 0) {
|
||||
PLOG(ERROR) << "inotify_init failed";
|
||||
return false;
|
||||
}
|
||||
- int flags = fcntl(inotify_fd_, F_GETFL);
|
||||
- if (fcntl(inotify_fd_, F_SETFL, flags | O_NONBLOCK) < 0) {
|
||||
+#if !defined(OS_FREEBSD)
|
||||
+ int flags = fcntl(notify_fd_, F_GETFL);
|
||||
+
|
||||
+ // This call to fcntl returns ENOTTY on FreeBSD.
|
||||
+ if (fcntl(notify_fd_, F_SETFL, flags | O_NONBLOCK) < 0) {
|
||||
int flags = fcntl(inotify_fd_, F_GETFL);
|
||||
+ // This call returns ENOTTY on FreeBSD.
|
||||
if (fcntl(inotify_fd_, F_SETFL, flags | O_NONBLOCK) < 0) {
|
||||
PLOG(ERROR) << "fcntl failed";
|
||||
- close(inotify_fd_);
|
||||
- inotify_fd_ = -1;
|
||||
+ close(notify_fd_);
|
||||
+ notify_fd_ = -1;
|
||||
close(inotify_fd_);
|
||||
inotify_fd_ = -1;
|
||||
return false;
|
||||
}
|
||||
+#endif
|
||||
file_loop_ = file_loop;
|
||||
// The initial read is done on the current thread, not |file_loop_|,
|
||||
// since we will need to have it for SetupAndFetchInitialConfig().
|
||||
@@ -529,28 +543,42 @@
|
||||
}
|
||||
|
||||
void Shutdown() {
|
||||
- if (inotify_fd_ >= 0) {
|
||||
+ if (notify_fd_ >= 0) {
|
||||
ResetCachedSettings();
|
||||
- inotify_watcher_.StopWatchingFileDescriptor();
|
||||
- close(inotify_fd_);
|
||||
- inotify_fd_ = -1;
|
||||
+ notify_watcher_.StopWatchingFileDescriptor();
|
||||
+ close(notify_fd_);
|
||||
+ notify_fd_ = -1;
|
||||
}
|
||||
}
|
||||
|
||||
bool SetupNotification(ProxyConfigServiceLinux::Delegate* delegate) {
|
||||
- DCHECK(inotify_fd_ >= 0);
|
||||
+ DCHECK(notify_fd_ >= 0);
|
||||
DCHECK(file_loop_);
|
||||
// since we will need to have it for SetUpAndFetchInitialConfig().
|
||||
@@ -968,6 +987,18 @@
|
||||
bool SetUpNotifications(ProxyConfigServiceLinux::Delegate* delegate) {
|
||||
DCHECK(inotify_fd_ >= 0);
|
||||
DCHECK(MessageLoop::current() == file_loop_);
|
||||
+#if defined(OS_FREEBSD)
|
||||
+ // Catch the deletion event of kioslaverc.
|
||||
+ int fd = open(kde_config_dir_.Append("kioslaverc").value().c_str(),
|
||||
+ O_RDONLY);
|
||||
+ if (fd == -1)
|
||||
+ config_fd_ = open(kde_config_dir_.value().c_str(), O_RDONLY);
|
||||
+
|
||||
+ if (config_fd_ == -1)
|
||||
+ return false;
|
||||
+
|
||||
+ struct kevent ke;
|
||||
+ EV_SET(&ke, fd, EVFILT_VNODE, (EV_ADD | EV_CLEAR),
|
||||
+ (NOTE_DELETE | NOTE_RENAME), 0, NULL);
|
||||
+ if (kevent(notify_fd_, &ke, 1, NULL, 0, NULL) == -1)
|
||||
+ struct kevent ev;
|
||||
+ EV_SET(&ev, config_fd_, EVFILT_VNODE,
|
||||
+ (EV_ADD | EV_CLEAR), NOTE_WRITE, 0, NULL);
|
||||
+ if (kevent(inotify_fd_, &ev, 1, NULL, 0, NULL) == -1)
|
||||
+ return false;
|
||||
+#else
|
||||
// We can't just watch the kioslaverc file directly, since KDE will write
|
||||
// a new copy of it and then rename it whenever settings are changed and
|
||||
// inotify watches inodes (so we'll be watching the old deleted file after
|
||||
// the first change, and it will never change again). So, we watch the
|
||||
// directory instead. We then act only on changes to the kioslaverc entry.
|
||||
- if (inotify_add_watch(inotify_fd_, kde_config_dir_.value().c_str(),
|
||||
+ if (inotify_add_watch(notify_fd_, kde_config_dir_.value().c_str(),
|
||||
@@ -976,6 +1007,7 @@
|
||||
if (inotify_add_watch(inotify_fd_, kde_config_dir_.value().c_str(),
|
||||
IN_MODIFY | IN_MOVED_TO) < 0)
|
||||
return false;
|
||||
+#endif
|
||||
notify_delegate_ = delegate;
|
||||
- return file_loop_->WatchFileDescriptor(inotify_fd_, true,
|
||||
- MessageLoopForIO::WATCH_READ, &inotify_watcher_, this);
|
||||
+ return file_loop_->WatchFileDescriptor(notify_fd_, true,
|
||||
+ MessageLoopForIO::WATCH_READ, ¬ify_watcher_, this);
|
||||
}
|
||||
|
||||
virtual MessageLoop* GetNotificationLoop() {
|
||||
@@ -559,7 +587,7 @@
|
||||
|
||||
// Implement base::MessagePumpLibevent::Delegate.
|
||||
if (!file_loop_->WatchFileDescriptor(inotify_fd_, true,
|
||||
MessageLoopForIO::WATCH_READ, &inotify_watcher_, this))
|
||||
@@ -993,7 +1025,23 @@
|
||||
void OnFileCanReadWithoutBlocking(int fd) {
|
||||
- DCHECK(fd == inotify_fd_);
|
||||
+ DCHECK(fd == notify_fd_);
|
||||
DCHECK(fd == inotify_fd_);
|
||||
DCHECK(MessageLoop::current() == file_loop_);
|
||||
+#if defined(OS_FREEBSD)
|
||||
+ struct kevent ev;
|
||||
+ int rv = kevent(inotify_fd_, NULL, 0, &ev, 1, NULL);
|
||||
+
|
||||
+ if (rv != -1 && (ev.flags & EV_ERROR) == 0) {
|
||||
+ OnChangeNotification();
|
||||
+ } else {
|
||||
+ LOG(ERROR) << "kevent() failure; no longer watching kioslaverc!";
|
||||
+ inotify_watcher_.StopWatchingFileDescriptor();
|
||||
+ close(config_fd_);
|
||||
+ config_fd_ = -1;
|
||||
+ close(inotify_fd_);
|
||||
+ inotify_fd_ = -1;
|
||||
+ }
|
||||
+#else
|
||||
OnChangeNotification();
|
||||
+#endif
|
||||
}
|
||||
@@ -830,12 +858,28 @@
|
||||
void OnFileCanWriteWithoutBlocking(int fd) {
|
||||
NOTREACHED();
|
||||
@@ -1262,10 +1310,14 @@
|
||||
// from the inotify file descriptor and starts up a debounce timer if
|
||||
// an event for kioslaverc is seen.
|
||||
void OnChangeNotification() {
|
||||
- DCHECK(inotify_fd_ >= 0);
|
||||
+ DCHECK(notify_fd_ >= 0);
|
||||
+ DCHECK(config_fd_ >= 0);
|
||||
DCHECK(inotify_fd_ >= 0);
|
||||
DCHECK(MessageLoop::current() == file_loop_);
|
||||
- char event_buf[(sizeof(inotify_event) + NAME_MAX + 1) * 4];
|
||||
bool kioslaverc_touched = false;
|
||||
+#if defined(OS_FREEBSD)
|
||||
+ // TODO(gliaskos): We never get here so we don't get events when the
|
||||
+ // KDE proxy settings change. Find out why :/
|
||||
+ struct kevent ke;
|
||||
+ int rv = kevent(notify_fd_, NULL, 0, &ke, 1, NULL);
|
||||
+
|
||||
+ if (rv != -1) {
|
||||
+ kioslaverc_touched = true;
|
||||
+ } else {
|
||||
+ LOG(ERROR) << "kevent() failure; no longer watching kioslaverc!";
|
||||
+ notify_watcher_.StopWatchingFileDescriptor();
|
||||
+ close(notify_fd_);
|
||||
+ notify_fd_ = -1;
|
||||
+ }
|
||||
+ close(ke.ident);
|
||||
+ kioslaverc_touched = true;
|
||||
+#else
|
||||
+ char event_buf[(sizeof(inotify_event) + NAME_MAX + 1) * 4];
|
||||
ssize_t r;
|
||||
- while ((r = read(inotify_fd_, event_buf, sizeof(event_buf))) > 0) {
|
||||
+ while ((r = read(notify_fd_, event_buf, sizeof(event_buf))) > 0) {
|
||||
while ((r = read(inotify_fd_, event_buf, sizeof(event_buf))) > 0) {
|
||||
// inotify returns variable-length structures, which is why we have
|
||||
// this strange-looking loop instead of iterating through an array.
|
||||
char* event_ptr = event_buf;
|
||||
@@ -862,14 +906,15 @@
|
||||
if (errno == EINVAL) {
|
||||
// Our buffer is not large enough to read the next event. This should
|
||||
// not happen (because its size is calculated to always be sufficiently
|
||||
- // large), but if it does we'd warn continuously since |inotify_fd_|
|
||||
+ // large), but if it does we'd warn continuously since |notify_fd_|
|
||||
// would be forever ready to read. Close it and stop watching instead.
|
||||
LOG(ERROR) << "inotify failure; no longer watching kioslaverc!";
|
||||
- inotify_watcher_.StopWatchingFileDescriptor();
|
||||
- close(inotify_fd_);
|
||||
- inotify_fd_ = -1;
|
||||
+ notify_watcher_.StopWatchingFileDescriptor();
|
||||
+ close(notify_fd_);
|
||||
+ notify_fd_ = -1;
|
||||
@@ -1302,6 +1354,7 @@
|
||||
inotify_fd_ = -1;
|
||||
}
|
||||
}
|
||||
+#endif
|
||||
if (kioslaverc_touched) {
|
||||
// We don't use Reset() because the timer may not yet be running.
|
||||
// (In that case Stop() is a no-op.)
|
||||
@@ -883,8 +928,8 @@
|
||||
typedef std::map<std::string, std::string> string_map_type;
|
||||
typedef std::map<std::string, std::vector<std::string> > strings_map_type;
|
||||
@@ -1316,6 +1369,7 @@
|
||||
typedef std::map<StringListSetting,
|
||||
std::vector<std::string> > strings_map_type;
|
||||
|
||||
- int inotify_fd_;
|
||||
- base::MessagePumpLibevent::FileDescriptorWatcher inotify_watcher_;
|
||||
+ int notify_fd_;
|
||||
+ base::MessagePumpLibevent::FileDescriptorWatcher notify_watcher_;
|
||||
+ int config_fd_;
|
||||
int inotify_fd_;
|
||||
base::MessagePumpLibevent::FileDescriptorWatcher inotify_watcher_;
|
||||
ProxyConfigServiceLinux::Delegate* notify_delegate_;
|
||||
base::OneShotTimer<GConfSettingGetterImplKDE> debounce_timer_;
|
||||
FilePath kde_config_dir_;
|
||||
|
|
|
@ -1,11 +1,20 @@
|
|||
--- ppapi/proxy/ppb_image_data_proxy.cc.orig 2011-04-19 21:36:29.491038804 +0300
|
||||
+++ ppapi/proxy/ppb_image_data_proxy.cc 2011-04-19 21:37:11.973039170 +0300
|
||||
@@ -21,7 +21,7 @@
|
||||
#include "ppapi/proxy/ppapi_messages.h"
|
||||
#include "ppapi/shared_impl/image_data_impl.h"
|
||||
--- ppapi/proxy/ppb_image_data_proxy.cc.orig 2011-06-28 23:59:12.540806582 +0300
|
||||
+++ ppapi/proxy/ppb_image_data_proxy.cc 2011-06-28 23:59:15.075806980 +0300
|
||||
@@ -111,7 +111,7 @@
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined (OS_FREEBSD)
|
||||
#include <sys/shm.h>
|
||||
#elif defined(OS_MACOSX)
|
||||
#include <sys/stat.h>
|
||||
#if defined(OS_WIN)
|
||||
const ImageHandle ImageData::NullHandle = NULL;
|
||||
-#elif defined(OS_MACOSX)
|
||||
+#elif defined(OS_MACOSX) || defined(OS_FREEBSD)
|
||||
const ImageHandle ImageData::NullHandle = ImageHandle();
|
||||
#else
|
||||
const ImageHandle ImageData::NullHandle = 0;
|
||||
@@ -120,7 +120,7 @@
|
||||
ImageHandle ImageData::HandleFromInt(int32_t i) {
|
||||
#if defined(OS_WIN)
|
||||
return reinterpret_cast<ImageHandle>(i);
|
||||
-#elif defined(OS_MACOSX)
|
||||
+#elif defined(OS_MACOSX) || defined(OS_FREEBSD)
|
||||
return ImageHandle(i, false);
|
||||
#else
|
||||
return static_cast<ImageHandle>(i);
|
||||
|
|
11
www/chromium/files/patch-ppapi__proxy__serialized_structs.h
Normal file
11
www/chromium/files/patch-ppapi__proxy__serialized_structs.h
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- ppapi/proxy/serialized_structs.h.orig 2011-06-27 23:46:48.860441060 +0300
|
||||
+++ ppapi/proxy/serialized_structs.h 2011-06-27 23:46:52.210441968 +0300
|
||||
@@ -115,7 +115,7 @@
|
||||
|
||||
#if defined(OS_WIN)
|
||||
typedef HANDLE ImageHandle;
|
||||
-#elif defined(OS_MACOSX)
|
||||
+#elif defined(OS_MACOSX) || defined(OS_FREEBSD)
|
||||
typedef base::SharedMemoryHandle ImageHandle;
|
||||
#else
|
||||
// On X Windows this is a SysV shared memory key.
|
|
@ -1,30 +0,0 @@
|
|||
--- ./printing/printing.gyp.orig 2010-12-16 02:11:23.000000000 +0100
|
||||
+++ ./printing/printing.gyp 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -165,7 +165,7 @@
|
||||
'units_unittest.cc',
|
||||
],
|
||||
'conditions': [
|
||||
- ['OS!="linux"', {'sources/': [['exclude', '_cairo_unittest\\.cc$']]}],
|
||||
+ ['OS!="linux" and OS!="freebsd"', {'sources/': [['exclude', '_cairo_unittest\\.cc$']]}],
|
||||
['OS!="mac"', {'sources/': [['exclude', '_mac_unittest\\.(cc|mm?)$']]}],
|
||||
['OS!="win"', {'sources/': [['exclude', '_win_unittest\\.cc$']]
|
||||
}, { # else: OS=="win"
|
||||
@@ -176,14 +176,12 @@
|
||||
'dependencies': [
|
||||
'../build/linux/system.gyp:gtk',
|
||||
],
|
||||
- }],
|
||||
- ['OS=="linux"', {
|
||||
- 'conditions': [
|
||||
- ['linux_use_tcmalloc==1', {
|
||||
+ 'conditions': [
|
||||
+ ['linux_use_tcmalloc==1', {
|
||||
'dependencies': [
|
||||
'../base/allocator/allocator.gyp:allocator',
|
||||
- ],
|
||||
- }],
|
||||
+ ],
|
||||
+ }],
|
||||
],
|
||||
}],
|
||||
],
|
|
@ -1,38 +0,0 @@
|
|||
--- remoting/remoting.gyp.orig 2011-05-06 12:02:51.000000000 +0300
|
||||
+++ remoting/remoting.gyp 2011-06-05 16:03:32.069163399 +0300
|
||||
@@ -16,7 +16,7 @@
|
||||
},
|
||||
|
||||
'conditions': [
|
||||
- ['OS=="linux" or OS=="mac"', {
|
||||
+ ['OS=="linux" or OS=="freebsd" or OS=="mac"', {
|
||||
'targets': [
|
||||
# Simple webserver for testing chromoting client plugin.
|
||||
{
|
||||
@@ -40,6 +40,8 @@
|
||||
'chromoting_base',
|
||||
'chromoting_client',
|
||||
'chromoting_jingle_glue',
|
||||
+ '../build/linux/system.gyp:x11',
|
||||
+ '../build/linux/system.gyp:xext',
|
||||
],
|
||||
'link_settings': {
|
||||
'libraries': [
|
||||
@@ -238,7 +240,7 @@
|
||||
'host/user_authenticator_win.cc',
|
||||
],
|
||||
'conditions': [
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd" or OS=="openbsd"', {
|
||||
'dependencies': [
|
||||
'../build/linux/system.gyp:gtk',
|
||||
],
|
||||
@@ -555,7 +557,7 @@
|
||||
'run_all_unittests.cc',
|
||||
],
|
||||
'conditions': [
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd" or OS=="openbsd"', {
|
||||
'dependencies': [
|
||||
'../app/app.gyp:app_base',
|
||||
# Needed for the following #include chain:
|
|
@ -0,0 +1,38 @@
|
|||
--- third_party/WebKit/Source/WebCore/WebCore.gyp/WebCore.gyp.orig 2011-07-19 20:25:57.839631432 +0300
|
||||
+++ third_party/WebKit/Source/WebCore/WebCore.gyp/WebCore.gyp 2011-07-19 20:26:53.497910347 +0300
|
||||
@@ -986,7 +986,7 @@
|
||||
'include_dirs+++': ['../dom'],
|
||||
},
|
||||
}],
|
||||
- ['(OS=="linux" or OS=="win") and "WTF_USE_WEBAUDIO_FFTW=1" in feature_defines', {
|
||||
+ ['(OS=="linux" or OS=="freebsd" or OS=="win") and "WTF_USE_WEBAUDIO_FFTW=1" in feature_defines', {
|
||||
'include_dirs': [
|
||||
'<(chromium_src_dir)/third_party/fftw/api',
|
||||
],
|
||||
@@ -1194,7 +1194,7 @@
|
||||
'include_dirs++': ['../dom'],
|
||||
},
|
||||
}],
|
||||
- ['(OS=="linux" or OS=="win") and "WTF_USE_WEBAUDIO_FFTW=1" in feature_defines', {
|
||||
+ ['(OS=="linux" or OS=="freebsd" or OS=="win") and "WTF_USE_WEBAUDIO_FFTW=1" in feature_defines', {
|
||||
# This directory needs to be on the include path for multiple sub-targets of webcore.
|
||||
'direct_dependent_settings': {
|
||||
'include_dirs': [
|
||||
@@ -1202,7 +1202,7 @@
|
||||
],
|
||||
},
|
||||
}],
|
||||
- ['(OS=="mac" or OS=="linux" or OS=="win") and "WTF_USE_WEBAUDIO_FFMPEG=1" in feature_defines', {
|
||||
+ ['(OS=="mac" or OS=="linux" or OS=="freebsd" or OS=="win") and "WTF_USE_WEBAUDIO_FFMPEG=1" in feature_defines', {
|
||||
# This directory needs to be on the include path for multiple sub-targets of webcore.
|
||||
'direct_dependent_settings': {
|
||||
'include_dirs': [
|
||||
@@ -1708,7 +1708,7 @@
|
||||
'include_dirs+++': ['../dom'],
|
||||
},
|
||||
}],
|
||||
- ['OS=="linux" and "WTF_USE_WEBAUDIO_FFTW=1" in feature_defines', {
|
||||
+ ['OS=="linux" or OS=="freebsd" and "WTF_USE_WEBAUDIO_FFTW=1" in feature_defines', {
|
||||
# FIXME: (kbr) figure out how to make these dependencies
|
||||
# work in a cross-platform way. Attempts to use
|
||||
# "link_settings" and "libraries" in conjunction with the
|
|
@ -0,0 +1,16 @@
|
|||
--- third_party/WebKit/Source/WebCore/config.h.orig 2011-07-19 20:24:21.258582723 +0300
|
||||
+++ third_party/WebKit/Source/WebCore/config.h 2011-07-19 20:25:31.840201896 +0300
|
||||
@@ -199,6 +199,13 @@
|
||||
#define USE_SYSTEM_MALLOC 1
|
||||
#endif
|
||||
|
||||
+#if OS(FREEBSD)
|
||||
+#include <sys/param.h>
|
||||
+#if __FreeBSD_version < 802502
|
||||
+#define log2(x) (log(x) / M_LN2)
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
#if OS(UNIX) || OS(WINDOWS)
|
||||
#define WTF_USE_OS_RANDOMNESS 1
|
||||
#endif
|
|
@ -1,11 +0,0 @@
|
|||
--- third_party/WebKit/Source/WebCore/platform/chromium/PlatformBridge.h.orig 2011-03-20 22:02:04.218736318 +0200
|
||||
+++ third_party/WebKit/Source/WebCore/platform/chromium/PlatformBridge.h 2011-03-20 22:02:04.401737230 +0200
|
||||
@@ -264,7 +264,7 @@
|
||||
GraphicsContext*, int part, int state, int classicState, const IntRect&);
|
||||
static void paintProgressBar(
|
||||
GraphicsContext*, const IntRect& barRect, const IntRect& valueRect, bool determinate, double animatedSeconds);
|
||||
-#elif OS(LINUX)
|
||||
+#elif OS(LINUX) || OS(FREEBSD)
|
||||
// The UI part which is being accessed.
|
||||
enum ThemePart {
|
||||
// ScrollbarTheme parts
|
|
@ -1,11 +0,0 @@
|
|||
--- third_party/WebKit/Source/WebKit/chromium/src/PlatformBridge.cpp.orig 2011-03-20 22:02:04.338736765 +0200
|
||||
+++ third_party/WebKit/Source/WebKit/chromium/src/PlatformBridge.cpp 2011-03-20 22:02:04.469737772 +0200
|
||||
@@ -778,7 +778,7 @@
|
||||
gc->platformContext()->canvas(), barRect, valueRect, determinate, animatedSeconds);
|
||||
}
|
||||
|
||||
-#elif OS(LINUX)
|
||||
+#elif OS(LINUX) || OS(FREEBSD)
|
||||
|
||||
static WebThemeEngine::Part WebThemePart(PlatformBridge::ThemePart part)
|
||||
{
|
|
@ -1,29 +0,0 @@
|
|||
--- third_party/icu/icu.gyp.orig 2011-04-15 11:18:40.000000000 +0300
|
||||
+++ third_party/icu/icu.gyp 2011-04-19 22:22:13.540040004 +0300
|
||||
@@ -54,7 +54,7 @@
|
||||
}, { # else: OS != "win"
|
||||
'sources!': ['windows/icudt46.dll'],
|
||||
}],
|
||||
- [ 'OS != "linux" or chromeos == 1', {
|
||||
+ [ '(OS != "linux" and OS != "freebsd") or chromeos == 1', {
|
||||
'sources!': ['linux/icudt46l_dat.S'],
|
||||
}],
|
||||
[ 'OS != "mac"', {
|
||||
@@ -264,7 +264,7 @@
|
||||
],
|
||||
},
|
||||
'conditions': [
|
||||
- [ 'OS=="linux"', {
|
||||
+ [ 'OS=="linux" or OS=="freebsd"', {
|
||||
# Since ICU wants to internally use its own deprecated APIs, don't
|
||||
# complain about it.
|
||||
'cflags': [
|
||||
@@ -479,7 +479,7 @@
|
||||
'source/stubdata/stubdata.c',
|
||||
],
|
||||
}],
|
||||
- [ 'OS == "linux"', {
|
||||
+ [ 'OS == "linux" or OS == "freebsd"', {
|
||||
'cflags': [
|
||||
# Since ICU wants to internally use its own deprecated APIs,
|
||||
# don't complain about it.
|
|
@ -1,11 +0,0 @@
|
|||
--- third_party/icu/public/common/unicode/ptypes.h.orig 2011-04-19 21:44:48.515037943 +0300
|
||||
+++ third_party/icu/public/common/unicode/ptypes.h 2011-04-19 21:44:58.365038712 +0300
|
||||
@@ -26,6 +26,8 @@
|
||||
# include "unicode/pmac.h"
|
||||
#elif defined(__linux__)
|
||||
# include "unicode/plinux.h"
|
||||
+#elif defined(__FreeBSD__)
|
||||
+# include "unicode/pfreebsd.h"
|
||||
#else
|
||||
# include "unicode/platform.h"
|
||||
#endif
|
|
@ -0,0 +1,20 @@
|
|||
--- third_party/leveldb/util/env_chromium.cc.orig 2011-06-27 01:35:45.210558183 +0300
|
||||
+++ third_party/leveldb/util/env_chromium.cc 2011-06-27 01:44:12.434784726 +0300
|
||||
@@ -29,7 +29,7 @@
|
||||
#include "base/win/win_util.h"
|
||||
#endif
|
||||
|
||||
-#if defined(OS_MACOSX) || defined(OS_WIN)
|
||||
+#if !defined(OS_LINUX)
|
||||
// The following are glibc-specific
|
||||
namespace {
|
||||
|
||||
@@ -420,7 +420,7 @@
|
||||
#elif defined(OS_FREEBSD) || defined(OS_NACL)
|
||||
// TODO(BSD): find a better thread ID
|
||||
pthread_t tid = pthread_self();
|
||||
- memcpy(&thread_id, &tid, min(sizeof(r), sizeof(tid)));
|
||||
+ memcpy(&thread_id, &tid, std::min(sizeof(thread_id), sizeof(tid)));
|
||||
#endif
|
||||
|
||||
// We try twice: the first time with a fixed-size stack allocated buffer,
|
|
@ -1,23 +0,0 @@
|
|||
--- ./third_party/libevent/libevent.gyp.orig 2010-12-16 02:11:36.000000000 +0100
|
||||
+++ ./third_party/libevent/libevent.gyp 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -45,15 +45,18 @@
|
||||
'link_settings': {
|
||||
'libraries': [
|
||||
# We need rt for clock_gettime().
|
||||
- # TODO(port) Maybe on FreeBSD as well?
|
||||
'-lrt',
|
||||
],
|
||||
},
|
||||
}],
|
||||
- [ 'OS == "mac" or OS == "freebsd" or OS == "openbsd" or OS == "solaris"', {
|
||||
+ [ 'OS == "mac" or OS == "openbsd" or OS == "solaris"', {
|
||||
'sources': [ 'kqueue.c' ],
|
||||
'include_dirs': [ 'mac' ]
|
||||
}],
|
||||
+ [ 'OS == "freebsd"', {
|
||||
+ 'sources': [ 'kqueue.c' ],
|
||||
+ 'include_dirs': [ 'freebsd' ]
|
||||
+ }],
|
||||
],
|
||||
},
|
||||
],
|
|
@ -1,11 +0,0 @@
|
|||
--- ./third_party/mesa/mesa.gyp.orig 2010-12-16 02:11:42.000000000 +0100
|
||||
+++ ./third_party/mesa/mesa.gyp 2010-12-20 20:15:08.000000000 +0100
|
||||
@@ -19,7 +19,7 @@
|
||||
'HAVE_STRNLEN',
|
||||
],
|
||||
}],
|
||||
- ['OS=="linux"', {
|
||||
+ ['OS=="linux" or OS=="freebsd"', {
|
||||
'cflags': [
|
||||
'-fPIC',
|
||||
],
|
|
@ -1,11 +0,0 @@
|
|||
--- ui/base/resource/resource_bundle.cc.orig 2011-04-15 11:02:03.000000000 +0300
|
||||
+++ ui/base/resource/resource_bundle.cc 2011-04-16 23:02:04.027069500 +0300
|
||||
@@ -129,7 +129,7 @@
|
||||
return *GetEmptyImage();
|
||||
}
|
||||
|
||||
-#if !defined(OS_MACOSX) && !defined(OS_LINUX)
|
||||
+#if !defined(OS_MACOSX) && !defined(OS_LINUX) && !defined(OS_FREEBSD)
|
||||
// Only Mac and Linux have non-Skia native image types. All other platforms use
|
||||
// Skia natively, so just use GetImageNamed().
|
||||
gfx::Image& ResourceBundle::GetNativeImageNamed(int resource_id) {
|
|
@ -1,38 +0,0 @@
|
|||
--- ui/gfx/gl/gl_bindings.h.orig 2010-12-16 02:11:22.000000000 +0100
|
||||
+++ ui/gfx/gl/gl_bindings.h 2010-12-20 20:15:07.000000000 +0100
|
||||
@@ -22,7 +22,7 @@
|
||||
// The standard OpenGL native extension headers are also included.
|
||||
#if defined(OS_WIN)
|
||||
#include <GL/wglext.h>
|
||||
-#elif defined(OS_LINUX)
|
||||
+#elif defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
#include <GL/glx.h>
|
||||
#include <GL/glxext.h>
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
typedef struct osmesa_context *OSMesaContext;
|
||||
typedef void (*OSMESAproc)();
|
||||
|
||||
-#if defined(OS_WIN) || defined(OS_LINUX)
|
||||
+#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
|
||||
// Forward declare EGL types.
|
||||
typedef unsigned int EGLBoolean;
|
||||
@@ -75,7 +75,7 @@
|
||||
typedef Window EGLNativeWindowType;
|
||||
#endif
|
||||
|
||||
-#endif // OS_WIN || OS_LINUX
|
||||
+#endif // OS_WIN || OS_LINUX || OS_FREEBSD
|
||||
|
||||
#include "gl_bindings_autogen_gl.h"
|
||||
#include "gl_bindings_autogen_osmesa.h"
|
||||
@@ -83,7 +83,7 @@
|
||||
#if defined(OS_WIN)
|
||||
#include "gl_bindings_autogen_egl.h"
|
||||
#include "gl_bindings_autogen_wgl.h"
|
||||
-#elif defined(OS_LINUX)
|
||||
+#elif defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
#include "gl_bindings_autogen_egl.h"
|
||||
#include "gl_bindings_autogen_glx.h"
|
||||
#endif
|
|
@ -1,11 +0,0 @@
|
|||
--- ui/gfx/gl/gl_context_egl.cc.orig 2011-05-06 12:03:42.000000000 +0300
|
||||
+++ ui/gfx/gl/gl_context_egl.cc 2011-06-05 16:26:28.775163463 +0300
|
||||
@@ -15,7 +15,7 @@
|
||||
// it brings in #defines that cause conflicts.
|
||||
#include "ui/gfx/gl/gl_bindings.h"
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
extern "C" {
|
||||
#include <X11/Xlib.h>
|
||||
}
|
|
@ -1,74 +0,0 @@
|
|||
--- ui/gfx/image.cc.orig 2011-04-21 23:28:33.509559314 +0300
|
||||
+++ ui/gfx/image.cc 2011-04-21 23:28:36.737559521 +0300
|
||||
@@ -9,7 +9,7 @@
|
||||
#include "base/logging.h"
|
||||
#include "third_party/skia/include/core/SkBitmap.h"
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
#include <gdk-pixbuf/gdk-pixbuf.h>
|
||||
#include <glib-object.h>
|
||||
#include "ui/gfx/canvas_skia.h"
|
||||
@@ -29,7 +29,7 @@
|
||||
const SkBitmap* NSImageToSkBitmap(NSImage* image);
|
||||
#endif
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
const SkBitmap* GdkPixbufToSkBitmap(GdkPixbuf* pixbuf) {
|
||||
gfx::CanvasSkia canvas(gdk_pixbuf_get_width(pixbuf),
|
||||
gdk_pixbuf_get_height(pixbuf),
|
||||
@@ -61,7 +61,7 @@
|
||||
return reinterpret_cast<SkBitmapRep*>(this);
|
||||
}
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
GdkPixbufRep* AsGdkPixbufRep() {
|
||||
CHECK_EQ(type_, Image::kGdkPixbufRep);
|
||||
return reinterpret_cast<GdkPixbufRep*>(this);
|
||||
@@ -102,7 +102,7 @@
|
||||
DISALLOW_COPY_AND_ASSIGN(SkBitmapRep);
|
||||
};
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
class GdkPixbufRep : public ImageRep {
|
||||
public:
|
||||
explicit GdkPixbufRep(GdkPixbuf* pixbuf)
|
||||
@@ -158,7 +158,7 @@
|
||||
AddRepresentation(rep);
|
||||
}
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
Image::Image(GdkPixbuf* pixbuf)
|
||||
: default_representation_(Image::kGdkPixbufRep) {
|
||||
internal::GdkPixbufRep* rep = new internal::GdkPixbufRep(pixbuf);
|
||||
@@ -190,7 +190,7 @@
|
||||
return *(this->operator const SkBitmap*());
|
||||
}
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
Image::operator GdkPixbuf*() {
|
||||
internal::ImageRep* rep = GetRepresentation(Image::kGdkPixbufRep);
|
||||
return rep->AsGdkPixbufRep()->pixbuf();
|
||||
@@ -237,7 +237,7 @@
|
||||
// Handle native-to-Skia conversion.
|
||||
if (rep_type == Image::kSkBitmapRep) {
|
||||
internal::SkBitmapRep* rep = NULL;
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
if (default_representation_ == Image::kGdkPixbufRep) {
|
||||
internal::GdkPixbufRep* pixbuf_rep = default_rep->AsGdkPixbufRep();
|
||||
rep = new internal::SkBitmapRep(
|
||||
@@ -261,7 +261,7 @@
|
||||
if (default_rep->type() == Image::kSkBitmapRep) {
|
||||
internal::SkBitmapRep* skia_rep = default_rep->AsSkBitmapRep();
|
||||
internal::ImageRep* native_rep = NULL;
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
if (rep_type == Image::kGdkPixbufRep) {
|
||||
GdkPixbuf* pixbuf = gfx::GdkPixbufFromSkBitmap(skia_rep->bitmap());
|
||||
native_rep = new internal::GdkPixbufRep(pixbuf);
|
|
@ -1,20 +0,0 @@
|
|||
--- ui/gfx/image.h.orig 2011-04-19 23:12:17.508039568 +0300
|
||||
+++ ui/gfx/image.h 2011-04-19 23:12:44.348038227 +0300
|
||||
@@ -43,7 +43,7 @@
|
||||
// Creates a new image with the default representation. The object will take
|
||||
// ownership of the image.
|
||||
explicit Image(const SkBitmap* bitmap);
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
// Does not increase |pixbuf|'s reference count; expects to take ownership.
|
||||
explicit Image(GdkPixbuf* pixbuf);
|
||||
#elif defined(OS_MACOSX)
|
||||
@@ -57,7 +57,7 @@
|
||||
// Conversion handlers.
|
||||
operator const SkBitmap*();
|
||||
operator const SkBitmap&();
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
operator GdkPixbuf*();
|
||||
#elif defined(OS_MACOSX)
|
||||
operator NSImage*();
|
|
@ -1,11 +0,0 @@
|
|||
--- ui/gfx/native_widget_types.h.orig 2011-04-16 22:00:39.271073137 +0300
|
||||
+++ ui/gfx/native_widget_types.h 2011-04-16 22:02:38.712069130 +0300
|
||||
@@ -97,7 +97,7 @@
|
||||
|
||||
#if defined(OS_MACOSX)
|
||||
typedef NSImage NativeImageType;
|
||||
-#elif defined(OS_LINUX) && !defined(TOOLKIT_VIEWS)
|
||||
+#elif (defined(OS_LINUX) || defined(OS_FREEBSD)) && !defined(TOOLKIT_VIEWS)
|
||||
typedef GdkPixbuf NativeImageType;
|
||||
#else
|
||||
typedef SkBitmap NativeImageType;
|
|
@ -1,21 +1,32 @@
|
|||
--- ui/gfx/surface/surface.gyp.orig 2011-06-05 21:15:55.954163307 +0300
|
||||
+++ ui/gfx/surface/surface.gyp 2011-06-05 21:16:05.238163089 +0300
|
||||
@@ -10,11 +10,17 @@
|
||||
['exclude', '/(gtk|win|x11)_[^/]*\\.cc$'],
|
||||
],
|
||||
'conditions': [
|
||||
- ['OS=="linux" or OS=="freebsd" or OS=="openbsd"', {'sources/': [
|
||||
+ ['OS=="linux"', {'sources/': [
|
||||
['include', '/gtk/'],
|
||||
['include', '_(gtk|linux|posix|skia|x)\\.cc$'],
|
||||
['include', '/(gtk|x11)_[^/]*\\.cc$'],
|
||||
]}],
|
||||
+ ['OS=="freebsd" or OS=="openbsd"', {'sources/': [
|
||||
+ # gliaskos: Use transport_dib_mac.cc instead of duplicating the code.
|
||||
+ ['include', '/gtk/'],
|
||||
+ ['include', '_(gtk|dib_mac|posix|skia|x)\\.cc$'],
|
||||
+ ['include', '/(gtk|x11)_[^/]*\\.cc$'],
|
||||
+ ]}],
|
||||
--- ui/gfx/surface/surface.gyp.orig 2011-06-29 21:20:25.308574273 +0300
|
||||
+++ ui/gfx/surface/surface.gyp 2011-06-29 21:24:36.234570454 +0300
|
||||
@@ -13,10 +13,20 @@
|
||||
['toolkit_uses_gtk == 1', {
|
||||
'sources/': [
|
||||
['include', '/gtk/'],
|
||||
- ['include', '_(gtk|linux|posix|skia|x)\\.cc$'],
|
||||
+ ['include', '_(gtk|posix|skia|x)\\.cc$'],
|
||||
['include', '/(gtk|x11)_[^/]*\\.cc$'],
|
||||
],
|
||||
}],
|
||||
+ ['OS=="linux"', {
|
||||
+ 'sources/': [
|
||||
+ ['include', '_linux\\.cc$'],
|
||||
+ ],
|
||||
+ }],
|
||||
+ ['OS=="freebsd"', {
|
||||
+ 'sources/': [
|
||||
+ ['include', '_freebsd\\.cc$'],
|
||||
+ ],
|
||||
+ }],
|
||||
['OS=="mac"', {'sources/': [
|
||||
['include', '/cocoa/'],
|
||||
['include', '_(cocoa|mac|posix)\\.(cc|mm?)$'],
|
||||
@@ -53,6 +63,7 @@
|
||||
'transport_dib_linux.cc',
|
||||
'transport_dib_mac.cc',
|
||||
'transport_dib_win.cc',
|
||||
+ 'transport_dib_freebsd.cc',
|
||||
],
|
||||
},
|
||||
],
|
||||
|
|
|
@ -0,0 +1,110 @@
|
|||
--- /dev/null 2011-06-28 23:33:00.000000000 +0300
|
||||
+++ ui/gfx/surface/transport_dib_freebsd.cc 2011-06-28 23:30:26.428806593 +0300
|
||||
@@ -0,0 +1,107 @@
|
||||
+// 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 "ui/gfx/surface/transport_dib.h"
|
||||
+
|
||||
+#include <unistd.h>
|
||||
+#include <sys/stat.h>
|
||||
+
|
||||
+#include "base/eintr_wrapper.h"
|
||||
+#include "base/logging.h"
|
||||
+#include "base/memory/scoped_ptr.h"
|
||||
+#include "base/shared_memory.h"
|
||||
+#include "skia/ext/platform_canvas.h"
|
||||
+
|
||||
+TransportDIB::TransportDIB()
|
||||
+ : size_(0) {
|
||||
+}
|
||||
+
|
||||
+TransportDIB::TransportDIB(TransportDIB::Handle dib)
|
||||
+ : shared_memory_(dib, false /* read write */),
|
||||
+ size_(0) {
|
||||
+}
|
||||
+
|
||||
+TransportDIB::~TransportDIB() {
|
||||
+}
|
||||
+
|
||||
+// static
|
||||
+TransportDIB* TransportDIB::Create(size_t size, uint32 sequence_num) {
|
||||
+ TransportDIB* dib = new TransportDIB;
|
||||
+ if (!dib->shared_memory_.CreateAndMapAnonymous(size)) {
|
||||
+ delete dib;
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ dib->size_ = size;
|
||||
+ return dib;
|
||||
+}
|
||||
+
|
||||
+// static
|
||||
+TransportDIB* TransportDIB::Map(Handle handle) {
|
||||
+ scoped_ptr<TransportDIB> dib(CreateWithHandle(handle));
|
||||
+ if (!dib->Map())
|
||||
+ return NULL;
|
||||
+ return dib.release();
|
||||
+}
|
||||
+
|
||||
+// static
|
||||
+TransportDIB* TransportDIB::CreateWithHandle(Handle handle) {
|
||||
+ return new TransportDIB(handle);
|
||||
+}
|
||||
+
|
||||
+// static
|
||||
+bool TransportDIB::is_valid_handle(Handle dib) {
|
||||
+ return dib.fd >= 0;
|
||||
+}
|
||||
+
|
||||
+// static
|
||||
+bool TransportDIB::is_valid_id(Id id) {
|
||||
+ return id != 0;
|
||||
+}
|
||||
+
|
||||
+skia::PlatformCanvas* TransportDIB::GetPlatformCanvas(int w, int h) {
|
||||
+ if (!memory() && !Map())
|
||||
+ return NULL;
|
||||
+ scoped_ptr<skia::PlatformCanvas> canvas(new skia::PlatformCanvas);
|
||||
+ if (!canvas->initialize(w, h, true, reinterpret_cast<uint8_t*>(memory())))
|
||||
+ return NULL;
|
||||
+ return canvas.release();
|
||||
+}
|
||||
+
|
||||
+bool TransportDIB::Map() {
|
||||
+ if (!is_valid_handle(handle()))
|
||||
+ return false;
|
||||
+ if (memory())
|
||||
+ return true;
|
||||
+
|
||||
+ struct stat st;
|
||||
+ if ((fstat(shared_memory_.handle().fd, &st) != 0) ||
|
||||
+ (!shared_memory_.Map(st.st_size))) {
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ size_ = st.st_size;
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
+void* TransportDIB::memory() const {
|
||||
+ return shared_memory_.memory();
|
||||
+}
|
||||
+
|
||||
+TransportDIB::Id TransportDIB::id() const {
|
||||
+ return shared_memory_.id();
|
||||
+}
|
||||
+
|
||||
+TransportDIB::Handle TransportDIB::handle() const {
|
||||
+ return shared_memory_.handle();
|
||||
+}
|
||||
+
|
||||
+XID TransportDIB::MapToX(Display* display) {
|
||||
+ if (!x_shm_) {
|
||||
+ x_shm_ = ui::AttachSharedMemory(display, key_);
|
||||
+ display_ = display;
|
||||
+ }
|
||||
+
|
||||
+ return x_shm_;
|
||||
+}
|
|
@ -1,15 +0,0 @@
|
|||
--- ui/gfx/surface/transport_dib_mac.cc.orig 2011-06-05 20:47:40.781162828 +0300
|
||||
+++ ui/gfx/surface/transport_dib_mac.cc 2011-06-05 20:47:51.617166566 +0300
|
||||
@@ -96,3 +96,12 @@
|
||||
TransportDIB::Handle TransportDIB::handle() const {
|
||||
return shared_memory_.handle();
|
||||
}
|
||||
+
|
||||
+XID TransportDIB::MapToX(Display* display) {
|
||||
+ if (!x_shm_) {
|
||||
+ x_shm_ = ui::AttachSharedMemory(display, key_);
|
||||
+ display_ = display;
|
||||
+ }
|
||||
+
|
||||
+ return x_shm_;
|
||||
+}
|
|
@ -1,70 +0,0 @@
|
|||
--- v8/src/platform-freebsd.cc.orig 2011-06-05 18:08:56.225331291 +0300
|
||||
+++ v8/src/platform-freebsd.cc 2011-06-05 18:46:22.678164821 +0300
|
||||
@@ -55,6 +55,7 @@
|
||||
|
||||
#include "platform.h"
|
||||
#include "vm-state-inl.h"
|
||||
+#include "v8threads.h"
|
||||
|
||||
|
||||
namespace v8 {
|
||||
@@ -397,31 +398,6 @@
|
||||
};
|
||||
|
||||
|
||||
-ThreadHandle::ThreadHandle(Kind kind) {
|
||||
- data_ = new PlatformData(kind);
|
||||
-}
|
||||
-
|
||||
-
|
||||
-void ThreadHandle::Initialize(ThreadHandle::Kind kind) {
|
||||
- data_->Initialize(kind);
|
||||
-}
|
||||
-
|
||||
-
|
||||
-ThreadHandle::~ThreadHandle() {
|
||||
- delete data_;
|
||||
-}
|
||||
-
|
||||
-
|
||||
-bool ThreadHandle::IsSelf() const {
|
||||
- return pthread_equal(data_->thread_, pthread_self());
|
||||
-}
|
||||
-
|
||||
-
|
||||
-bool ThreadHandle::IsValid() const {
|
||||
- return data_->thread_ != kNoThread;
|
||||
-}
|
||||
-
|
||||
-
|
||||
Thread::Thread(Isolate* isolate, const Options& options)
|
||||
: data_(new PlatformData),
|
||||
isolate_(isolate),
|
||||
@@ -448,8 +424,8 @@
|
||||
// This is also initialized by the first argument to pthread_create() but we
|
||||
// don't know which thread will run first (the original thread or the new
|
||||
// one) so we initialize it here too.
|
||||
- thread_->data_->thread_ = pthread_self();
|
||||
- ASSERT(thread->IsValid());
|
||||
+ thread->data()->thread_ = pthread_self();
|
||||
+ ASSERT(thread->data()->thread_ != kNoThread);
|
||||
Thread::SetThreadLocal(Isolate::isolate_key(), thread->isolate());
|
||||
thread->Run();
|
||||
return NULL;
|
||||
@@ -470,13 +446,13 @@
|
||||
pthread_attr_setstacksize(&attr, static_cast<size_t>(stack_size_));
|
||||
attr_ptr = &attr;
|
||||
}
|
||||
- pthread_create(&thread_handle_data()->thread_, attr_ptr, ThreadEntry, this);
|
||||
- ASSERT(IsValid());
|
||||
+ pthread_create(&data_->thread_, attr_ptr, ThreadEntry, this);
|
||||
+ ASSERT(data_->thread_ != kNoThread);
|
||||
}
|
||||
|
||||
|
||||
void Thread::Join() {
|
||||
- pthread_join(thread_handle_data()->thread_, NULL);
|
||||
+ pthread_join(data_->thread_, NULL);
|
||||
}
|
||||
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
--- webkit/glue/webkitclient_impl.cc.orig 2011-02-03 10:01:07.000000000 +0100
|
||||
+++ webkit/glue/webkitclient_impl.cc 2011-02-05 00:07:18.000000000 +0100
|
||||
@@ -42,7 +42,7 @@
|
||||
#include "webkit/glue/websocketstreamhandle_impl.h"
|
||||
#include "webkit/glue/weburlloader_impl.h"
|
||||
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
#include "v8/include/v8.h"
|
||||
#endif
|
||||
|
||||
@@ -205,7 +205,7 @@
|
||||
}
|
||||
|
||||
WebThemeEngine* WebKitClientImpl::themeEngine() {
|
||||
-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
|
||||
+#if defined(OS_WIN) || defined(OS_POSIX)
|
||||
return &theme_engine_;
|
||||
#else
|
||||
return NULL;
|
|
@ -1,20 +0,0 @@
|
|||
--- webkit/glue/webkitclient_impl.h.orig 2011-02-03 10:01:07.000000000 +0100
|
||||
+++ webkit/glue/webkitclient_impl.h 2011-02-05 00:08:55.000000000 +0100
|
||||
@@ -10,7 +10,7 @@
|
||||
#include "third_party/WebKit/Source/WebKit/chromium/public/WebKitClient.h"
|
||||
#if defined(OS_WIN)
|
||||
#include "webkit/glue/webthemeengine_impl_win.h"
|
||||
-#elif defined(OS_LINUX)
|
||||
+#elif defined(OS_LINUX) || defined(OS_OPENBSD) || defined(OS_FREEBSD)
|
||||
#include "webkit/glue/webthemeengine_impl_linux.h"
|
||||
#elif defined(OS_MACOSX)
|
||||
#include "webkit/glue/webthemeengine_impl_mac.h"
|
||||
@@ -88,7 +88,7 @@
|
||||
double shared_timer_fire_time_;
|
||||
int shared_timer_suspended_; // counter
|
||||
|
||||
-#if defined(OS_WIN) || defined(OS_LINUX) || defined(OS_MACOSX)
|
||||
+#if defined(OS_WIN) || defined(OS_POSIX)
|
||||
WebThemeEngineImpl theme_engine_;
|
||||
#endif
|
||||
};
|
|
@ -0,0 +1,20 @@
|
|||
--- webkit/plugins/ppapi/ppapi_plugin_instance.cc.orig 2011-06-27 02:14:17.790782765 +0300
|
||||
+++ webkit/plugins/ppapi/ppapi_plugin_instance.cc 2011-06-27 02:13:53.064781555 +0300
|
||||
@@ -69,7 +69,7 @@
|
||||
#include "printing/metafile_impl.h"
|
||||
#endif
|
||||
|
||||
-#if defined(OS_LINUX) || defined(OS_WIN)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD) || defined(OS_WIN)
|
||||
#include "printing/metafile.h"
|
||||
#include "printing/metafile_skia_wrapper.h"
|
||||
#endif
|
||||
@@ -1297,7 +1297,7 @@
|
||||
#endif // defined(OS_WIN)
|
||||
|
||||
bool ret = false;
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
// On Linux we just set the final bits in the native metafile
|
||||
// (NativeMetafile and PreviewMetafile must have compatible formats,
|
||||
// i.e. both PDF for this to work).
|
|
@ -1,11 +0,0 @@
|
|||
--- webkit/plugins/ppapi/ppb_flash_impl.h.orig 2011-03-15 06:28:40.000000000 +0200
|
||||
+++ webkit/plugins/ppapi/ppb_flash_impl.h 2011-03-15 06:28:59.000000000 +0200
|
||||
@@ -33,7 +33,7 @@
|
||||
uint32_t glyph_count,
|
||||
const uint16_t glyph_indices[],
|
||||
const PP_Point glyph_advances[])
|
||||
-#if defined(OS_LINUX)
|
||||
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
|
||||
;
|
||||
#else
|
||||
{ return PP_FALSE; }
|
|
@ -1,11 +0,0 @@
|
|||
--- webkit/support/test_webkit_client.cc.orig 2011-02-03 10:01:07.000000000 +0100
|
||||
+++ webkit/support/test_webkit_client.cc 2011-02-05 00:03:38.000000000 +0100
|
||||
@@ -54,7 +54,7 @@
|
||||
#if defined(OS_WIN)
|
||||
#include "third_party/WebKit/Source/WebKit/chromium/public/win/WebThemeEngine.h"
|
||||
#include "webkit/tools/test_shell/test_shell_webthemeengine.h"
|
||||
-#elif defined(OS_LINUX)
|
||||
+#elif defined(OS_LINUX) || defined(OS_OPENBSD) || defined(OS_FREEBSD)
|
||||
#include "third_party/WebKit/Source/WebKit/chromium/public/linux/WebThemeEngine.h"
|
||||
#elif defined(OS_MACOSX)
|
||||
#include "base/mac/mac_util.h"
|
|
@ -61,20 +61,15 @@ bin/chrome
|
|||
%%DATADIR%%/protoc
|
||||
%%DATADIR%%/resources.pak
|
||||
%%DATADIR%%/resources/inspector/DevTools.js
|
||||
%%DATADIR%%/resources/inspector/HeapSnapshotWorker.js
|
||||
%%DATADIR%%/resources/inspector/Images/applicationCache.png
|
||||
%%DATADIR%%/resources/inspector/Images/auditsIcon.png
|
||||
%%DATADIR%%/resources/inspector/Images/back.png
|
||||
%%DATADIR%%/resources/inspector/Images/breakpointBorder.png
|
||||
%%DATADIR%%/resources/inspector/Images/breakpointConditionalBorder.png
|
||||
%%DATADIR%%/resources/inspector/Images/breakpointConditionalCounterBorder.png
|
||||
%%DATADIR%%/resources/inspector/Images/breakpointCounterBorder.png
|
||||
%%DATADIR%%/resources/inspector/Images/breakpointsActivateButtonGlyph.png
|
||||
%%DATADIR%%/resources/inspector/Images/breakpointsDeactivateButtonGlyph.png
|
||||
%%DATADIR%%/resources/inspector/Images/checker.png
|
||||
%%DATADIR%%/resources/inspector/Images/clearConsoleButtonGlyph.png
|
||||
%%DATADIR%%/resources/inspector/Images/closeButtons.png
|
||||
%%DATADIR%%/resources/inspector/Images/consoleButtonGlyph.png
|
||||
%%DATADIR%%/resources/inspector/Images/consoleIcon.png
|
||||
%%DATADIR%%/resources/inspector/Images/cookie.png
|
||||
%%DATADIR%%/resources/inspector/Images/database.png
|
||||
%%DATADIR%%/resources/inspector/Images/databaseTable.png
|
||||
|
@ -83,6 +78,7 @@ bin/chrome
|
|||
%%DATADIR%%/resources/inspector/Images/debuggerStepInto.png
|
||||
%%DATADIR%%/resources/inspector/Images/debuggerStepOut.png
|
||||
%%DATADIR%%/resources/inspector/Images/debuggerStepOver.png
|
||||
%%DATADIR%%/resources/inspector/Images/deleteIcon.png
|
||||
%%DATADIR%%/resources/inspector/Images/disclosureTriangleSmallDown.png
|
||||
%%DATADIR%%/resources/inspector/Images/disclosureTriangleSmallDownBlack.png
|
||||
%%DATADIR%%/resources/inspector/Images/disclosureTriangleSmallDownWhite.png
|
||||
|
@ -92,19 +88,11 @@ bin/chrome
|
|||
%%DATADIR%%/resources/inspector/Images/disclosureTriangleSmallRightDownBlack.png
|
||||
%%DATADIR%%/resources/inspector/Images/disclosureTriangleSmallRightDownWhite.png
|
||||
%%DATADIR%%/resources/inspector/Images/disclosureTriangleSmallRightWhite.png
|
||||
%%DATADIR%%/resources/inspector/Images/dockButtonGlyph.png
|
||||
%%DATADIR%%/resources/inspector/Images/elementsIcon.png
|
||||
%%DATADIR%%/resources/inspector/Images/enableOutlineButtonGlyph.png
|
||||
%%DATADIR%%/resources/inspector/Images/enableSolidButtonGlyph.png
|
||||
%%DATADIR%%/resources/inspector/Images/errorIcon.png
|
||||
%%DATADIR%%/resources/inspector/Images/errorMediumIcon.png
|
||||
%%DATADIR%%/resources/inspector/Images/errorRedDot.png
|
||||
%%DATADIR%%/resources/inspector/Images/excludeButtonGlyph.png
|
||||
%%DATADIR%%/resources/inspector/Images/focusButtonGlyph.png
|
||||
%%DATADIR%%/resources/inspector/Images/forward.png
|
||||
%%DATADIR%%/resources/inspector/Images/frame.png
|
||||
%%DATADIR%%/resources/inspector/Images/garbageCollectButtonGlyph.png
|
||||
%%DATADIR%%/resources/inspector/Images/gearButtonGlyph.png
|
||||
%%DATADIR%%/resources/inspector/Images/glossyHeader.png
|
||||
%%DATADIR%%/resources/inspector/Images/glossyHeaderPressed.png
|
||||
%%DATADIR%%/resources/inspector/Images/glossyHeaderSelected.png
|
||||
|
@ -112,40 +100,29 @@ bin/chrome
|
|||
%%DATADIR%%/resources/inspector/Images/goArrow.png
|
||||
%%DATADIR%%/resources/inspector/Images/graphLabelCalloutLeft.png
|
||||
%%DATADIR%%/resources/inspector/Images/graphLabelCalloutRight.png
|
||||
%%DATADIR%%/resources/inspector/Images/helpButtonGlyph.png
|
||||
%%DATADIR%%/resources/inspector/Images/largerResourcesButtonGlyph.png
|
||||
%%DATADIR%%/resources/inspector/Images/localStorage.png
|
||||
%%DATADIR%%/resources/inspector/Images/networkIcon.png
|
||||
%%DATADIR%%/resources/inspector/Images/nodeSearchButtonGlyph.png
|
||||
%%DATADIR%%/resources/inspector/Images/paneAddButtons.png
|
||||
%%DATADIR%%/resources/inspector/Images/paneBottomGrow.png
|
||||
%%DATADIR%%/resources/inspector/Images/paneBottomGrowActive.png
|
||||
%%DATADIR%%/resources/inspector/Images/paneGrowHandleLine.png
|
||||
%%DATADIR%%/resources/inspector/Images/paneRefreshButtons.png
|
||||
%%DATADIR%%/resources/inspector/Images/paneSettingsButtons.png
|
||||
%%DATADIR%%/resources/inspector/Images/pauseOnExceptionButtonGlyph.png
|
||||
%%DATADIR%%/resources/inspector/Images/percentButtonGlyph.png
|
||||
%%DATADIR%%/resources/inspector/Images/popoverArrows.png
|
||||
%%DATADIR%%/resources/inspector/Images/popoverBackground.png
|
||||
%%DATADIR%%/resources/inspector/Images/profileGroupIcon.png
|
||||
%%DATADIR%%/resources/inspector/Images/profileIcon.png
|
||||
%%DATADIR%%/resources/inspector/Images/profileSmallIcon.png
|
||||
%%DATADIR%%/resources/inspector/Images/profilesIcon.png
|
||||
%%DATADIR%%/resources/inspector/Images/profilesSilhouette.png
|
||||
%%DATADIR%%/resources/inspector/Images/programCounterBorder.png
|
||||
%%DATADIR%%/resources/inspector/Images/radioDot.png
|
||||
%%DATADIR%%/resources/inspector/Images/recordButtonGlyph.png
|
||||
%%DATADIR%%/resources/inspector/Images/recordToggledButtonGlyph.png
|
||||
%%DATADIR%%/resources/inspector/Images/reloadButtonGlyph.png
|
||||
%%DATADIR%%/resources/inspector/Images/resourceCSSIcon.png
|
||||
%%DATADIR%%/resources/inspector/Images/resourceDocumentIcon.png
|
||||
%%DATADIR%%/resources/inspector/Images/resourceDocumentIconSmall.png
|
||||
%%DATADIR%%/resources/inspector/Images/resourceJSIcon.png
|
||||
%%DATADIR%%/resources/inspector/Images/resourcePlainIcon.png
|
||||
%%DATADIR%%/resources/inspector/Images/resourcePlainIconSmall.png
|
||||
%%DATADIR%%/resources/inspector/Images/resourcesIcon.png
|
||||
%%DATADIR%%/resources/inspector/Images/resourcesSizeGraphIcon.png
|
||||
%%DATADIR%%/resources/inspector/Images/resourcesTimeGraphIcon.png
|
||||
%%DATADIR%%/resources/inspector/Images/scriptsIcon.png
|
||||
%%DATADIR%%/resources/inspector/Images/scriptsSilhouette.png
|
||||
%%DATADIR%%/resources/inspector/Images/searchSmallBlue.png
|
||||
%%DATADIR%%/resources/inspector/Images/searchSmallBrightBlue.png
|
||||
|
@ -170,6 +147,7 @@ bin/chrome
|
|||
%%DATADIR%%/resources/inspector/Images/statusbarBackgroundChromium.png
|
||||
%%DATADIR%%/resources/inspector/Images/statusbarBottomBackground.png
|
||||
%%DATADIR%%/resources/inspector/Images/statusbarBottomBackgroundChromium.png
|
||||
%%DATADIR%%/resources/inspector/Images/statusbarButtonGlyphs.png
|
||||
%%DATADIR%%/resources/inspector/Images/statusbarButtons.png
|
||||
%%DATADIR%%/resources/inspector/Images/statusbarButtonsChromium.png
|
||||
%%DATADIR%%/resources/inspector/Images/statusbarMenuButton.png
|
||||
|
@ -201,7 +179,6 @@ bin/chrome
|
|||
%%DATADIR%%/resources/inspector/Images/timelineHollowPillPurple.png
|
||||
%%DATADIR%%/resources/inspector/Images/timelineHollowPillRed.png
|
||||
%%DATADIR%%/resources/inspector/Images/timelineHollowPillYellow.png
|
||||
%%DATADIR%%/resources/inspector/Images/timelineIcon.png
|
||||
%%DATADIR%%/resources/inspector/Images/timelinePillBlue.png
|
||||
%%DATADIR%%/resources/inspector/Images/timelinePillGray.png
|
||||
%%DATADIR%%/resources/inspector/Images/timelinePillGreen.png
|
||||
|
@ -209,6 +186,8 @@ bin/chrome
|
|||
%%DATADIR%%/resources/inspector/Images/timelinePillPurple.png
|
||||
%%DATADIR%%/resources/inspector/Images/timelinePillRed.png
|
||||
%%DATADIR%%/resources/inspector/Images/timelinePillYellow.png
|
||||
%%DATADIR%%/resources/inspector/Images/toolbarIcons.png
|
||||
%%DATADIR%%/resources/inspector/Images/toolbarIconsSmall.png
|
||||
%%DATADIR%%/resources/inspector/Images/toolbarItemSelected.png
|
||||
%%DATADIR%%/resources/inspector/Images/trackHoriz.png
|
||||
%%DATADIR%%/resources/inspector/Images/trackVert.png
|
||||
|
@ -218,7 +197,6 @@ bin/chrome
|
|||
%%DATADIR%%/resources/inspector/Images/treeRightTriangleWhite.png
|
||||
%%DATADIR%%/resources/inspector/Images/treeUpTriangleBlack.png
|
||||
%%DATADIR%%/resources/inspector/Images/treeUpTriangleWhite.png
|
||||
%%DATADIR%%/resources/inspector/Images/undockButtonGlyph.png
|
||||
%%DATADIR%%/resources/inspector/Images/userInputIcon.png
|
||||
%%DATADIR%%/resources/inspector/Images/userInputPreviousIcon.png
|
||||
%%DATADIR%%/resources/inspector/Images/userInputResultIcon.png
|
||||
|
|
Loading…
Reference in a new issue