www/chromium: Update to 33.0.1750.117 [0]

Fix the crash when closing the history/settings tab [1]

Submitted by:	John Carr <jfc@mit.edu> via freebsd-chromium [1]
Security:	http://vuxml.org/freebsd/9dd47fa3-9d53-11e3-b20f-00262d5ed8ee.html [0]
This commit is contained in:
Rene Ladan 2014-02-25 18:58:03 +00:00
parent 1724495404
commit c055a2984b
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=346060
36 changed files with 281 additions and 333 deletions

View file

@ -5,7 +5,7 @@
PORTNAME= chromium
DISTVERSIONPREFIX= courgette-redacted-
DISTVERSION= 32.0.1700.107
DISTVERSION= 33.0.1750.117
CATEGORIES= www
MASTER_SITES= http://commondatastorage.googleapis.com/chromium-browser-official/:testdata \
http://download.goodking.org/downloads/:browser \

View file

@ -1,4 +1,4 @@
$FreeBSD$
#$FreeBSD$
TEST_TARGETS= base_unittests \
crypto_unittests \

View file

@ -1,11 +1,11 @@
--- base/file_util_posix.cc.orig 2013-08-19 01:53:01.000000000 +0200
+++ base/file_util_posix.cc 2013-08-28 10:18:48.000000000 +0200
@@ -592,7 +592,7 @@
return false;
--- base/file_util_posix.cc.orig 2014-02-20 21:28:47.000000000 +0100
+++ base/file_util_posix.cc 2014-02-24 15:44:01.000000000 +0100
@@ -673,7 +673,7 @@
#endif // defined(OS_ANDROID)
results->is_directory = S_ISDIR(file_info.st_mode);
results->size = file_info.st_size;
-#if defined(OS_MACOSX)
+#if defined(OS_MACOSX) || (defined(OS_FREEBSD) && __FreeBSD_version < 900000)
results->last_modified = base::Time::FromTimeSpec(file_info.st_mtimespec);
results->last_accessed = base::Time::FromTimeSpec(file_info.st_atimespec);
results->creation_time = base::Time::FromTimeSpec(file_info.st_ctimespec);
results->last_modified = Time::FromTimeSpec(file_info.st_mtimespec);
results->last_accessed = Time::FromTimeSpec(file_info.st_atimespec);
results->creation_time = Time::FromTimeSpec(file_info.st_ctimespec);

View file

@ -0,0 +1,14 @@
--- build/gyp_chromium.orig 2014-02-20 21:28:44.000000000 +0100
+++ build/gyp_chromium 2014-02-24 17:26:04.000000000 +0100
@@ -245,8 +245,8 @@
supplemental_includes = GetSupplementalFiles()
- if not RunGN(supplemental_includes):
- sys.exit(1)
+ #TODO port GN to FreeBSD
+ #if not RunGN(supplemental_includes):
+ # sys.exit(1)
args.extend(
['-I' + i for i in additional_include_files(supplemental_includes, args)])

View file

@ -1,5 +1,5 @@
--- chrome/app/chrome_main_delegate.cc.orig 2014-01-07 21:01:39.000000000 +0100
+++ chrome/app/chrome_main_delegate.cc 2014-01-13 16:53:27.000000000 +0100
--- chrome/app/chrome_main_delegate.cc.orig 2014-02-20 21:27:29.000000000 +0100
+++ chrome/app/chrome_main_delegate.cc 2014-02-25 01:39:55.000000000 +0100
@@ -97,7 +97,7 @@
#include "ui/base/x/x11_util.h"
#endif
@ -54,7 +54,7 @@
breakpad::SetBreakpadClient(g_chrome_breakpad_client.Pointer());
#endif
@@ -701,7 +701,7 @@
@@ -703,7 +703,7 @@
#endif
}
@ -63,8 +63,8 @@
// Zygote needs to call InitCrashReporter() in RunZygote().
if (process_type != switches::kZygoteProcess) {
#if defined(OS_ANDROID)
@@ -713,7 +713,7 @@
breakpad::InitCrashReporter();
@@ -715,7 +715,7 @@
breakpad::InitCrashReporter(process_type);
#endif // defined(OS_ANDROID)
}
-#endif // defined(OS_POSIX) && !defined(OS_MACOSX)
@ -72,12 +72,12 @@
// After all the platform Breakpads have been initialized, store the command
// line for crash reporting.
@@ -814,7 +814,7 @@
SetUpProfilingShutdownHandler();
}
-#if defined(OS_POSIX) && !defined(OS_MACOSX)
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
// Needs to be called after we have chrome::DIR_USER_DATA. BrowserMain sets
// this up for the browser process in a different manner.
breakpad::InitCrashReporter();
@@ -800,7 +800,7 @@
return process_type == switches::kNaClLoaderProcess ||
process_type == switches::kRelauncherProcess;
}
-#elif defined(OS_POSIX) && !defined(OS_ANDROID)
+#elif defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_BSD)
content::ZygoteForkDelegate* ChromeMainDelegate::ZygoteStarting() {
#if defined(DISABLE_NACL)
return NULL;

View file

@ -0,0 +1,11 @@
--- chrome/app/chrome_main_delegate.h.orig 2014-02-20 21:27:29.000000000 +0100
+++ chrome/app/chrome_main_delegate.h 2014-02-25 01:45:34.000000000 +0100
@@ -31,7 +31,7 @@
virtual bool ShouldSendMachPort(const std::string& process_type) OVERRIDE;
virtual bool DelaySandboxInitialization(
const std::string& process_type) OVERRIDE;
-#elif defined(OS_POSIX) && !defined(OS_ANDROID)
+#elif defined(OS_POSIX) && !defined(OS_ANDROID) && !defined(OS_BSD)
virtual content::ZygoteForkDelegate* ZygoteStarting() OVERRIDE;
virtual void ZygoteForked() OVERRIDE;
#endif

View file

@ -1,6 +1,6 @@
--- chrome/browser/chrome_content_browser_client.cc.orig 2014-01-07 21:01:57.000000000 +0100
+++ chrome/browser/chrome_content_browser_client.cc 2014-01-11 01:50:13.000000000 +0100
@@ -492,7 +492,7 @@
@@ -486,7 +486,7 @@
}
}
@ -9,16 +9,16 @@
breakpad::CrashHandlerHostLinux* CreateCrashHandlerHost(
const std::string& process_type) {
base::FilePath dumps_path;
@@ -548,7 +548,7 @@
@@ -543,7 +543,7 @@
return -1;
}
-#endif // defined(OS_POSIX) && !defined(OS_MACOSX)
+#endif // defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
#endif // !defined(OS_ANDROID)
#if !defined(OS_CHROMEOS)
GURL GetEffectiveURLForSignin(const GURL& url) {
@@ -1397,7 +1397,7 @@
@@ -1389,7 +1389,7 @@
void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
CommandLine* command_line, int child_process_id) {
@ -27,7 +27,7 @@
if (breakpad::IsCrashReporterEnabled()) {
std::string enable_crash_reporter;
GoogleUpdateSettings::GetMetricsId(&enable_crash_reporter);
@@ -2529,7 +2529,7 @@
@@ -2525,7 +2525,7 @@
Profile::FromBrowserContext(browser_context)));
}
@ -36,7 +36,7 @@
void ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess(
const CommandLine& command_line,
int child_process_id,
@@ -2584,7 +2584,7 @@
@@ -2580,7 +2580,7 @@
}
#endif // defined(OS_ANDROID)
}

View file

@ -0,0 +1,66 @@
--- chrome/browser/extensions/api/music_manager_private/device_id_linux.cc.orig 2014-02-20 21:27:39.000000000 +0100
+++ chrome/browser/extensions/api/music_manager_private/device_id_linux.cc 2014-02-25 00:17:02.000000000 +0100
@@ -4,6 +4,10 @@
#include "chrome/browser/extensions/api/music_manager_private/device_id.h"
+#if defined(OS_FREEBSD)
+#include <sys/types.h>
+#include <net/if_dl.h>
+#endif
#include <sys/socket.h> // Must be included before ifaddrs.h.
#include <ifaddrs.h>
#include <net/if.h>
@@ -100,11 +104,33 @@
const char* prefixes[],
size_t prefixes_count) {
const int MAC_LENGTH = 6;
+#if defined(OS_FREEBSD)
+ struct ifaddrs *ifap, *ifinfo;
+#else
struct ifreq ifinfo;
+#endif
memset(&ifinfo, 0, sizeof(ifinfo));
- strncpy(ifinfo.ifr_name, ifaddr->ifa_name, sizeof(ifinfo.ifr_name) - 1);
+#if defined(OS_FREEBSD)
+ int result = getifaddrs(&ifap);
+ if (result != 0)
+ return true;
+ result = 1; // no MAC found yet
+ for (ifinfo = ifap; ifinfo != NULL; ifinfo = ifinfo->ifa_next) {
+ struct sockaddr* sa = ifinfo->ifa_addr;
+ if (sa->sa_family == AF_LINK &&
+ !strncmp(ifinfo->ifa_name, ifaddr->ifa_name,
+ sizeof(ifinfo->ifa_name) - 1)) {
+ result = 0;
+ break;
+ }
+ }
+
+ char* mac_address = nullptr;
+ strncpy(mac_address, (const char*)LLADDR((struct sockaddr_dl*)ifinfo->ifa_addr), 6);
+#else
+ strncpy(ifinfo.ifr_name, ifaddr->ifa_name, sizeof(ifinfo.ifr_name) - 1);
int sd = socket(AF_INET, SOCK_DGRAM, 0);
int result = ioctl(sd, SIOCGIFHWADDR, &ifinfo);
close(sd);
@@ -114,11 +140,17 @@
const char* mac_address =
static_cast<const char*>(ifinfo.ifr_hwaddr.sa_data);
+#endif
if (!is_valid_mac_address_.Run(mac_address, MAC_LENGTH))
return true;
+#if defined(OS_FREEBSD)
+ if (!IsValidPrefix(ifinfo->ifa_name, prefixes, prefixes_count))
+ return true;
+#else
if (!IsValidPrefix(ifinfo.ifr_name, prefixes, prefixes_count))
return true;
+#endif
// Got one!
found_mac_address_ =

View file

@ -1,11 +1,20 @@
--- chrome/browser/extensions/api/serial/serial_connection_posix.cc.orig 2013-05-07 23:41:27.000000000 +0300
+++ chrome/browser/extensions/api/serial/serial_connection_posix.cc 2013-05-08 00:08:36.000000000 +0300
@@ -67,7 +67,7 @@
return B19200;
case 38400:
return B38400;
--- chrome/browser/extensions/api/serial/serial_connection_posix.cc.orig 2014-02-20 21:27:38.000000000 +0100
+++ chrome/browser/extensions/api/serial/serial_connection_posix.cc 2014-02-24 16:10:53.000000000 +0100
@@ -36,7 +36,7 @@
BITRATE_TO_SPEED_CASE(9600)
BITRATE_TO_SPEED_CASE(19200)
BITRATE_TO_SPEED_CASE(38400)
-#if defined(OS_POSIX) && !defined(OS_MACOSX)
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
case 57600:
return B57600;
case 115200:
BITRATE_TO_SPEED_CASE(57600)
BITRATE_TO_SPEED_CASE(115200)
BITRATE_TO_SPEED_CASE(230400)
@@ -71,7 +71,7 @@
SPEED_TO_BITRATE_CASE(9600)
SPEED_TO_BITRATE_CASE(19200)
SPEED_TO_BITRATE_CASE(38400)
-#if defined(OS_POSIX) && !defined(OS_MACOSX)
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
SPEED_TO_BITRATE_CASE(57600)
SPEED_TO_BITRATE_CASE(115200)
SPEED_TO_BITRATE_CASE(230400)

View file

@ -0,0 +1,14 @@
--- chrome/browser/media_galleries/media_file_system_registry.cc.orig 2014-02-03 15:15:11.000000000 -0500
+++ chrome/browser/media_galleries/media_file_system_registry.cc 2014-02-24 20:57:03.060309366 -0500
@@ -591,7 +591,10 @@
// Constructor in 'private' section because depends on private class definition.
MediaFileSystemRegistry::MediaFileSystemRegistry()
: file_system_context_(new MediaFileSystemContextImpl(this)) {
- StorageMonitor::GetInstance()->AddObserver(this);
+ /* This conditional is needed for shutdown. Destructors
+ try to get the media file system registry. */
+ if (StorageMonitor::GetInstance())
+ StorageMonitor::GetInstance()->AddObserver(this);
}
MediaFileSystemRegistry::~MediaFileSystemRegistry() {

View file

@ -1,6 +1,6 @@
--- chrome/browser/ui/webui/options/browser_options_handler.cc.orig 2013-08-30 06:46:19.000000000 +0300
+++ chrome/browser/ui/webui/options/browser_options_handler.cc 2013-09-03 21:15:44.092633766 +0300
@@ -338,7 +338,8 @@
@@ -322,7 +322,8 @@
{ "toolbarShowHomeButton", IDS_OPTIONS_TOOLBAR_SHOW_HOME_BUTTON },
{ "translateEnableTranslate",
IDS_OPTIONS_TRANSLATE_ENABLE_TRANSLATE },

View file

@ -1,5 +1,5 @@
--- chrome/app/policy/policy_templates.json.orig 2013-09-24 21:57:03.000000000 +0300
+++ chrome/app/policy/policy_templates.json 2013-09-24 21:59:32.000000000 +0300
--- components/policy/resources/policy_templates.json.orig 2013-09-24 21:57:03.000000000 +0300
+++ components/policy/resources/policy_templates.json 2013-09-24 21:59:32.000000000 +0300
@@ -1366,7 +1366,7 @@
'name': 'GSSAPILibraryName',
'type': 'string',
@ -18,7 +18,7 @@
'features': {
'dynamic_refresh': True,
'per_profile': False,
@@ -3960,7 +3960,7 @@
@@ -3976,7 +3976,7 @@
'name': 'BackgroundModeEnabled',
'type': 'main',
'schema': { 'type': 'boolean' },

View file

@ -1,6 +1,6 @@
--- chrome/tools/build/generate_policy_source.py.orig 2013-09-24 21:55:28.000000000 +0300
+++ chrome/tools/build/generate_policy_source.py 2013-09-24 21:56:43.000000000 +0300
@@ -67,7 +67,7 @@
--- components/policy/tools/generate_policy_source.py.orig 2013-09-24 21:55:28.000000000 +0300
+++ components/policy/tools/generate_policy_source.py 2013-09-24 21:56:43.000000000 +0300
@@ -64,7 +64,7 @@
if platform.startswith('chrome.'):
platform_sub = platform[7:]
if platform_sub == '*':

View file

@ -1,6 +1,6 @@
--- content/browser/browser_main_loop.cc.orig 2013-02-28 10:14:31.000000000 +0200
+++ content/browser/browser_main_loop.cc 2013-03-06 21:28:00.000000000 +0200
@@ -87,7 +87,7 @@
--- content/browser/browser_main_loop.cc.orig 2014-02-20 21:28:24.000000000 +0100
+++ content/browser/browser_main_loop.cc 2014-02-24 20:28:45.000000000 +0100
@@ -102,7 +102,7 @@
#include "ui/gfx/gtk_util.h"
#endif
@ -8,22 +8,31 @@
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_BSD)
#include <sys/stat.h>
#include "base/process_util.h"
@@ -111,7 +111,7 @@
#include "content/browser/renderer_host/render_sandbox_host_linux.h"
@@ -125,7 +125,7 @@
namespace content {
namespace {
-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
void SetupSandbox(const CommandLine& parsed_command_line) {
TRACE_EVENT0("startup", "SetupSandbox");
// TODO(evanm): move this into SandboxWrapper; I'm just trying to move this
// code en masse out of chrome_main for now.
@@ -311,7 +311,7 @@
crypto::EnsureNSPRInit();
#endif // !defined(USE_OPENSSL)
@@ -346,7 +346,7 @@
void BrowserMainLoop::EarlyInitialization() {
TRACE_EVENT0("startup", "BrowserMainLoop::EarlyInitialization");
-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
// No thread should be created before this call, as SetupSandbox()
// will end-up using fork().
SetupSandbox(parsed_command_line_);
@@ -784,7 +784,7 @@
}
#endif
-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID) && !defined(OS_BSD)
ZygoteHostImpl::GetInstance()->TearDownAfterLastChild();
#endif // defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)

View file

@ -1,11 +0,0 @@
--- content/browser/geolocation/empty_wifi_data_provider.cc.orig 2013-11-08 07:41:47.000000000 +0100
+++ content/browser/geolocation/empty_wifi_data_provider.cc 2013-11-14 17:33:23.000000000 +0100
@@ -19,7 +19,7 @@
}
// Only define for platforms that lack a real wifi data provider.
-#if !defined(OS_WIN) && !defined(OS_MACOSX) && !defined(OS_LINUX)
+#if !defined(OS_WIN) && !defined(OS_MACOSX) && !defined(OS_LINUX) && !defined(OS_FREEBSD)
// static
WifiDataProviderImplBase* WifiDataProvider::DefaultFactoryFunction() {
return new EmptyWifiDataProvider();

View file

@ -0,0 +1,19 @@
--- content/browser/renderer_host/pepper/pepper_file_io_host.cc.orig 2014-02-20 21:28:22.000000000 +0100
+++ content/browser/renderer_host/pepper/pepper_file_io_host.cc 2014-02-24 22:13:44.000000000 +0100
@@ -308,10 +308,12 @@
int64_t actual_offset =
(open_flags_ & PP_FILEOPENFLAG_APPEND) ? max_written_offset_ : offset;
- uint64_t max_offset = actual_offset + buffer.size();
- if (max_offset > static_cast<uint64_t>(std::numeric_limits<int64_t>::max()))
- return PP_ERROR_FAILED; // max_offset overflows.
- int64_t amount = static_cast<int64_t>(max_offset) - max_written_offset_;
+ // (rene) rename 'max_offset' to '_max_offset' to avoid a conflict with
+ // /usr/include/vm/vm_map.h on FreeBSD 10.0
+ uint64_t _max_offset = actual_offset + buffer.size();
+ if (_max_offset > static_cast<uint64_t>(std::numeric_limits<int64_t>::max()))
+ return PP_ERROR_FAILED; // _max_offset overflows.
+ int64_t amount = static_cast<int64_t>(_max_offset) - max_written_offset_;
// Quota request amounts are restricted to 32 bits so we can use atomics
// when we move this code to the plugin side of the proxy.

View file

@ -1,6 +1,6 @@
--- content/content_browser.gypi.orig 2012-11-27 10:01:27.000000000 +0200
+++ content/content_browser.gypi 2012-12-10 22:21:14.000000000 +0200
@@ -409,6 +409,8 @@
--- content/content_browser.gypi.orig 2014-02-20 21:28:25.000000000 +0100
+++ content/content_browser.gypi 2014-02-24 22:56:37.000000000 +0100
@@ -586,6 +586,8 @@
'browser/geolocation/wifi_data_provider_common_win.cc',
'browser/geolocation/wifi_data_provider_common_win.h',
'browser/geolocation/wifi_data_provider_corewlan_mac.mm',
@ -9,13 +9,12 @@
'browser/geolocation/wifi_data_provider_linux.cc',
'browser/geolocation/wifi_data_provider_linux.h',
'browser/geolocation/wifi_data_provider_mac.cc',
@@ -1056,9 +1056,18 @@
@@ -1543,8 +1545,18 @@
],
}],
['os_bsd==1', {
- 'sources/': [
- ['exclude', '^browser/gamepad/gamepad_platform_data_fetcher_linux\\.cc$'],
- ['exclude', '^browser/geolocation/wifi_data_provider_linux\\.cc$'],
+ 'sources!': [
+ 'public/browser/zygote_host_linux.h',
+ 'browser/zygote_host/zygote_host_impl_linux.cc',

View file

@ -1,6 +1,6 @@
--- content/content_common.gypi.orig 2013-08-09 22:07:06.000000000 +0300
+++ content/content_common.gypi 2013-08-17 20:29:03.000000000 +0300
@@ -391,6 +391,15 @@
--- content/content_common.gypi.orig 2014-02-20 21:28:25.000000000 +0100
+++ content/content_common.gypi 2014-02-24 20:59:04.000000000 +0100
@@ -482,6 +482,21 @@
'content.gyp:common_aidl',
],
}],
@ -11,6 +11,12 @@
+ 'common/sandbox_init_linux.cc',
+ 'common/sandbox_seccomp_bpf_linux.cc',
+ 'common/sandbox_seccomp_bpf_linux.h',
+ 'common/sandbox_linux/bpf_cros_arm_gpu_policy_linux.cc',
+ 'common/sandbox_linux/bpf_gpu_policy_linux.cc',
+ 'common/sandbox_linux/bpf_ppapi_policy_linux.cc',
+ 'common/sandbox_linux/bpf_renderer_policy_linux.cc',
+ 'common/sandbox_linux/sandbox_bpf_base_policy_linux.cc',
+ 'common/sandbox_linux/sandbox_seccomp_bpf_linux.cc',
+ ],
+ }],
['toolkit_uses_gtk == 1', {

View file

@ -1,7 +1,7 @@
--- content/renderer/renderer_webkitplatformsupport_impl.cc.orig 2013-04-30 10:20:40.000000000 +0300
+++ content/renderer/renderer_webkitplatformsupport_impl.cc 2013-05-07 21:11:09.000000000 +0300
@@ -67,7 +67,7 @@
#include "third_party/WebKit/Source/Platform/chromium/public/mac/WebSandboxSupport.h"
@@ -87,7 +87,7 @@
#include "third_party/WebKit/public/platform/mac/WebSandboxSupport.h"
#endif
-#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_ANDROID)
@ -9,8 +9,8 @@
#include <map>
#include <string>
@@ -146,7 +146,7 @@
DISALLOW_COPY_AND_ASSIGN(Hyphenator);
@@ -164,7 +164,7 @@
scoped_refptr<ThreadSafeSender> thread_safe_sender_;
};
-#if defined(OS_ANDROID)
@ -18,16 +18,16 @@
// WebKit doesn't use WebSandboxSupport on android so we don't need to
// implement anything here.
class RendererWebKitPlatformSupportImpl::SandboxSupport {
@@ -237,7 +237,7 @@
@@ -256,7 +256,7 @@
}
WebKit::WebSandboxSupport* RendererWebKitPlatformSupportImpl::sandboxSupport() {
blink::WebSandboxSupport* RendererWebKitPlatformSupportImpl::sandboxSupport() {
-#if defined(OS_ANDROID)
+#if defined(OS_ANDROID) || defined(OS_BSD)
// WebKit doesn't use WebSandboxSupport on android.
return NULL;
#else
@@ -534,7 +534,7 @@
@@ -541,7 +541,7 @@
return FontLoader::CGFontRefFromBuffer(font_data, font_data_size, out);
}

View file

@ -1,20 +0,0 @@
--- media/audio/audio_low_latency_input_output_unittest.cc.orig 2013-02-05 10:01:14.000000000 +0200
+++ media/audio/audio_low_latency_input_output_unittest.cc 2013-02-13 19:58:04.000000000 +0200
@@ -19,7 +19,7 @@
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
-#if defined(OS_LINUX) || defined(OS_OPENBSD)
+#if defined(OS_LINUX) || defined(OS_BSD)
#include "media/audio/linux/audio_manager_linux.h"
#elif defined(OS_MACOSX)
#include "media/audio/mac/audio_manager_mac.h"
@@ -33,7 +33,7 @@
namespace media {
-#if defined(OS_LINUX) || defined(OS_OPENBSD)
+#if defined(OS_LINUX) || defined(OS_BSD)
typedef AudioManagerLinux AudioManagerAnyPlatform;
#elif defined(OS_MACOSX)
typedef AudioManagerMac AudioManagerAnyPlatform;

View file

@ -1,14 +0,0 @@
--- media/audio/audio_manager_unittest.cc.orig 2013-11-08 07:41:29.000000000 +0100
+++ media/audio/audio_manager_unittest.cc 2013-11-15 15:40:31.000000000 +0100
@@ -9,9 +9,9 @@
#include "media/audio/audio_manager_base.h"
#include "testing/gtest/include/gtest/gtest.h"
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
#include "media/audio/linux/audio_manager_linux.h"
-#endif // defined(OS_LINUX)
+#endif // defined(OS_LINUX) || defined(OS_FREEBSD)
#if defined(OS_WIN)
#include "base/win/scoped_com_initializer.h"

View file

@ -1,108 +0,0 @@
--- media/audio/linux/audio_manager_linux.cc.orig 2013-11-08 07:41:29.000000000 +0100
+++ media/audio/linux/audio_manager_linux.cc 2013-11-15 15:24:00.000000000 +0100
@@ -127,22 +127,20 @@
StreamType type,
media::AudioDeviceNames* device_names) {
// Constants specified by the ALSA API for device hints.
+ static const int kGetAllDevices = -1;
static const char kPcmInterfaceName[] = "pcm";
- int card = -1;
- // Loop through the sound cards to get ALSA device hints.
- while (!wrapper_->CardNext(&card) && card >= 0) {
- void** hints = NULL;
- int error = wrapper_->DeviceNameHint(card, kPcmInterfaceName, &hints);
- if (!error) {
- GetAlsaDevicesInfo(type, hints, device_names);
-
- // Destroy the hints now that we're done with it.
- wrapper_->DeviceNameFreeHint(hints);
- } else {
- DLOG(WARNING) << "GetAlsaAudioDevices: unable to get device hints: "
- << wrapper_->StrError(error);
- }
+ void** hints = NULL;
+ int error =
+ wrapper_->DeviceNameHint(kGetAllDevices, kPcmInterfaceName, &hints);
+ if (!error) {
+ GetAlsaDevicesInfo(type, hints, device_names);
+
+ // Destroy the hints now that we're done with it.
+ wrapper_->DeviceNameFreeHint(hints);
+ } else {
+ DLOG(WARNING) << "GetAudioInputDevices: unable to get device hints: "
+ << wrapper_->StrError(error);
}
}
@@ -244,41 +242,43 @@
bool AudioManagerLinux::HasAnyAlsaAudioDevice(
AudioManagerLinux::StreamType stream) {
+ // Constants specified by the ALSA API for device hints.
+ static const int kGetAllDevices = -1;
static const char kPcmInterfaceName[] = "pcm";
static const char kIoHintName[] = "IOID";
void** hints = NULL;
bool has_device = false;
- int card = -1;
- // Loop through the sound cards.
- // Don't use snd_device_name_hint(-1,..) since there is a access violation
- // inside this ALSA API with libasound.so.2.0.0.
- while (!wrapper_->CardNext(&card) && (card >= 0) && !has_device) {
- int error = wrapper_->DeviceNameHint(card, kPcmInterfaceName, &hints);
- if (!error) {
- for (void** hint_iter = hints; *hint_iter != NULL; hint_iter++) {
- // Only examine devices that are |stream| capable. Valid values are
- // "Input", "Output", and NULL which means both input and output.
- scoped_ptr_malloc<char> io(wrapper_->DeviceNameGetHint(*hint_iter,
- kIoHintName));
- const char* unwanted_type = UnwantedDeviceTypeWhenEnumerating(stream);
- if (io != NULL && strcmp(unwanted_type, io.get()) == 0)
- continue; // Wrong type, skip the device.
-
- // Found an input device.
- has_device = true;
- break;
- }
+ // If checking the Input devices, only return true if there is an
+ // actual audio card. The bots have virtual audio input devices that do
+ // not actually generate samples, breaking some tests.
+ // See crbug.com/165401.
+ if (stream == kStreamCapture) {
+ int card = -1;
+ if (wrapper_->CardNext(&card) != 0 || card == -1)
+ return false;
+ }
- // Destroy the hints now that we're done with it.
- wrapper_->DeviceNameFreeHint(hints);
- hints = NULL;
- } else {
- DLOG(WARNING) << "HasAnyAudioDevice: unable to get device hints: "
- << wrapper_->StrError(error);
+ int error =
+ wrapper_->DeviceNameHint(kGetAllDevices, kPcmInterfaceName, &hints);
+ if (!error) {
+ for (void** hint_iter = hints; *hint_iter != NULL; hint_iter++) {
+ // Only examine devices that are |stream| capable. Valid values are
+ // "Input", "Output", and NULL which means both input and output.
+ scoped_ptr_malloc<char> io(wrapper_->DeviceNameGetHint(*hint_iter,
+ kIoHintName));
+ const char* unwanted_type = UnwantedDeviceTypeWhenEnumerating(stream);
+ if (io != NULL && strcmp(unwanted_type, io.get()) == 0)
+ continue; // Wrong type, skip the device.
+
+ // Found a device of the |stream| type.
+ has_device = true;
+ break;
}
+ } else {
+ DLOG(WARNING) << "HasAnyAudioDevice: unable to get device hints: "
+ << wrapper_->StrError(error);
}
-
return has_device;
}

View file

@ -1,11 +0,0 @@
--- third_party/WebKit/Source/bindings/v8/V8NPUtils.cpp.orig 2013-11-08 07:50:07.000000000 +0100
+++ third_party/WebKit/Source/bindings/v8/V8NPUtils.cpp 2013-11-15 16:15:06.000000000 +0100
@@ -39,6 +39,8 @@
#include "core/page/DOMWindow.h"
#include "wtf/text/WTFString.h"
+#include <stdlib.h>
+
namespace WebCore {
void convertV8ObjectToNPVariant(v8::Local<v8::Value> object, NPObject* owner, NPVariant* result, v8::Isolate* isolate)

View file

@ -1,11 +0,0 @@
--- third_party/WebKit/Source/bindings/v8/V8PerContextData.cpp.orig 2013-11-08 07:50:07.000000000 +0100
+++ third_party/WebKit/Source/bindings/v8/V8PerContextData.cpp 2013-11-15 16:16:51.000000000 +0100
@@ -35,6 +35,8 @@
#include "bindings/v8/V8ObjectConstructor.h"
#include "wtf/StringExtras.h"
+#include <stdlib.h>
+
namespace WebCore {
template<typename Map>

View file

@ -1,11 +0,0 @@
--- third_party/WebKit/Source/bindings/v8/npruntime.cpp.orig 2013-11-08 07:50:07.000000000 +0100
+++ third_party/WebKit/Source/bindings/v8/npruntime.cpp 2013-11-15 16:19:52.000000000 +0100
@@ -36,6 +36,8 @@
#include "wtf/HashSet.h"
#include "wtf/HashTableDeletedValueType.h"
+#include <stdlib.h>
+
using namespace WebCore;
// FIXME: Consider removing locks if we're singlethreaded already.

View file

@ -1,32 +1,14 @@
--- third_party/WebKit/Source/core/core.gyp.orig 2013-08-09 19:15:52.000000000 +0000
+++ third_party/WebKit/Source/core/core.gyp 2013-08-12 21:31:28.000000000 +0000
@@ -644,7 +644,7 @@
['exclude', 'platform/graphics/cpu/arm/filters/.*NEON\\.(cpp|h)'],
@@ -593,7 +593,7 @@
['exclude', 'platform/Theme\\.cpp$'],
],
'conditions': [
- ['OS=="linux" or OS=="android"', {
+ ['OS=="linux" or OS=="android" or os_bsd==1', {
'sources/': [
# Cherry-pick files excluded by the broader regular expressions above.
['include', 'platform/graphics/harfbuzz/FontHarfBuzz\\.cpp$'],
@@ -665,7 +665,7 @@
['exclude', 'Harfbuzz[^/]+\\.(cpp|h)$'],
],
}],
- ['OS!="linux"', {
+ ['OS!="linux" and os_bsd!=1', {
'sources/': [
['exclude', 'Linux\\.cpp$'],
],
@@ -775,7 +775,7 @@
['exclude', 'platform/graphics/FontPlatformData\\.cpp$'],
],
}],
- ['OS != "linux" and OS != "mac" and (OS != "win" or (OS == "win" and "ENABLE_GDI_FONTS_ON_WINDOWS=1" in feature_defines))', {
+ ['OS != "linux" and OS != "mac" and os_bsd != 1 and (OS != "win" or (OS == "win" and "ENABLE_GDI_FONTS_ON_WINDOWS=1" in feature_defines))', {
'sources/': [
['exclude', 'VDMX[^/]+\\.(cpp|h)$'],
],
@@ -946,7 +946,7 @@
# Due to a bug in gcc 4.6 in android NDK, we get warnings about uninitialized variable.
'cflags': ['-Wno-uninitialized'],

View file

@ -0,0 +1,20 @@
--- third_party/WebKit/Source/platform/blink_platform.gyp.orig 2014-02-20 21:32:30.000000000 +0100
+++ third_party/WebKit/Source/platform/blink_platform.gyp 2014-02-25 01:06:25.000000000 +0100
@@ -196,7 +196,7 @@
# compiler optimizations, see crbug.com/237063
'msvs_disabled_warnings': [ 4267, 4334, 4724 ],
'conditions': [
- ['OS=="linux" or OS=="android"', {
+ ['OS=="linux" or OS=="android" or OS=="freebsd"', {
'sources/': [
# Cherry-pick files excluded by the broader regular expressions above.
['include', 'fonts/harfbuzz/FontHarfBuzz\\.cpp$'],
@@ -304,7 +304,7 @@
['exclude', 'fonts/harfbuzz/HarfBuzzFaceCoreText\\.cpp$'],
],
}],
- ['OS != "linux" and OS != "mac" and (OS != "win" or (OS == "win" and "ENABLE_GDI_FONTS_ON_WINDOWS=1" in feature_defines))', {
+ ['OS != "linux" and OS != "freebsd" and OS != "mac" and (OS != "win" or (OS == "win" and "ENABLE_GDI_FONTS_ON_WINDOWS=1" in feature_defines))', {
'sources/': [
['exclude', 'VDMX[^/]+\\.(cpp|h)$'],
],

View file

@ -1,13 +1,13 @@
--- third_party/WebKit/Source/testing/runner/WebAXObjectProxy.cpp.orig 2014-01-07 21:06:22.000000000 +0100
+++ third_party/WebKit/Source/testing/runner/WebAXObjectProxy.cpp 2014-01-13 13:22:53.000000000 +0100
@@ -37,6 +37,10 @@
@@ -36,6 +36,10 @@
#include "public/platform/WebRect.h"
#include "public/platform/WebString.h"
#include "public/web/WebAXObject.h"
+#if defined(OS_FREEBSD)
+#include <stdlib.h> // atoi()
+#endif
+
using namespace WebKit;
using namespace blink;
using namespace std;

View file

@ -0,0 +1,20 @@
--- third_party/WebKit/Source/web/linux/WebFontRendering.cpp.orig 2014-02-20 21:32:26.000000000 +0100
+++ third_party/WebKit/Source/web/linux/WebFontRendering.cpp 2014-02-25 00:44:05.000000000 +0100
@@ -34,7 +34,7 @@
#include "platform/fonts/FontDescription.h"
#include "platform/fonts/FontPlatformData.h"
-#if OS(LINUX)
+#if OS(LINUX) || OS(FREEBSD)
#include "public/platform/linux/WebFontInfo.h"
#endif
@@ -77,7 +77,7 @@
void WebFontRendering::setSubpixelPositioning(bool useSubpixelPositioning)
{
FontDescription::setSubpixelPositioning(useSubpixelPositioning);
-#if OS(LINUX)
+#if OS(LINUX) || OS(FREEBSD)
WebFontInfo::setSubpixelPositioning(useSubpixelPositioning);
#endif
}

View file

@ -1,21 +1,20 @@
--- third_party/WebKit/Source/wtf/ByteSwap.h.orig 2014-01-07 21:06:25.000000000 +0100
+++ third_party/WebKit/Source/wtf/ByteSwap.h 2014-01-13 01:21:42.000000000 +0100
@@ -52,8 +52,13 @@
--- third_party/WebKit/Source/wtf/ByteSwap.h.orig 2014-02-20 21:32:28.000000000 +0100
+++ third_party/WebKit/Source/wtf/ByteSwap.h 2014-02-24 17:55:43.000000000 +0100
@@ -52,14 +52,20 @@
#else
+#ifndef bswap64
inline uint64_t bswap64(uint64_t x) { return __builtin_bswap64(x); }
ALWAYS_INLINE uint64_t bswap64(uint64_t x) { return __builtin_bswap64(x); }
+#endif
+#ifndef bswap32
inline uint32_t bswap32(uint32_t x) { return __builtin_bswap32(x); }
ALWAYS_INLINE uint32_t bswap32(uint32_t x) { return __builtin_bswap32(x); }
+#endif
// GCC 4.6 lacks __builtin_bswap16. Newer versions have it but we support 4.6.
+#ifndef bswap16
// GCC lacks bswap16.
#if COMPILER(CLANG)
inline uint16_t bswap16(uint16_t x) { return __builtin_bswap16(x); }
@@ -61,6 +66,7 @@
// GCC lacks __builtin_bswap16.
ALWAYS_INLINE uint16_t bswap16(uint16_t x) { return __builtin_bswap16(x); }
#else
inline uint16_t bswap16(uint16_t x) { return ((x & 0xff00) >> 8) | ((x & 0x00ff) << 8); }
#endif
+#endif

View file

@ -1,24 +1,14 @@
--- third_party/WebKit/Source/wtf/DateMath.cpp.orig 2013-11-08 07:50:10.000000000 +0100
+++ third_party/WebKit/Source/wtf/DateMath.cpp 2013-11-15 12:55:05.000000000 +0100
@@ -80,6 +80,8 @@
@@ -80,6 +80,7 @@
#include "StringExtras.h"
#include <algorithm>
+#include <cstdlib>
+#include <stdlib.h>
#include <limits.h>
#include <limits>
#include <stdint.h>
@@ -665,7 +667,7 @@
return 0;
if (*postParsePosition != ':' || (postParsePosition - currentPosition) != 2)
return 0;
- tzHoursAbs = labs(tzHours);
+ tzHoursAbs = std::labs(tzHours);
currentPosition = postParsePosition + 1;
if (!isASCIIDigit(*currentPosition))
@@ -979,7 +981,7 @@
#include <math.h>
@@ -785,7 +786,7 @@
return std::numeric_limits<double>::quiet_NaN();
int sgn = (o < 0) ? -1 : 1;
@ -27,7 +17,7 @@
if (*dateString != ':') {
if (o >= 24)
offset = ((o / 100) * 60 + (o % 100)) * sgn;
@@ -1077,7 +1079,7 @@
@@ -874,7 +875,7 @@
stringBuilder.append(' ');
stringBuilder.append(utcOffset > 0 ? '+' : '-');

View file

@ -12,9 +12,9 @@
@@ -772,7 +772,7 @@
],
}],
# TODO(mallinath) - Enable SCTP for Android and iOS platforms.
- ['OS!="android" and OS!="ios"', {
+ ['OS!="android" and OS!="ios" and os_bsd!=1', {
# TODO(mallinath) - Enable SCTP for iOS.
- ['OS!="ios"', {
+ ['OS!="ios" and os_bsd!=1', {
'defines': [
['HAVE_SCTP',
],

View file

@ -1,10 +0,0 @@
--- third_party/webrtc/video_engine/stream_synchronization.cc.orig 2013-09-28 19:23:52.000000000 +0200
+++ third_party/webrtc/video_engine/stream_synchronization.cc 2013-10-10 14:14:47.000000000 +0200
@@ -12,6 +12,7 @@
#include <assert.h>
#include <math.h>
+#include <stdlib.h>
#include <algorithm>

View file

@ -1,11 +1,11 @@
--- ui/events/event_switches.h.orig 2014-01-07 21:02:04.000000000 +0100
+++ ui/events/event_switches.h 2014-01-13 11:38:59.000000000 +0100
@@ -16,7 +16,7 @@
EVENTS_EXPORT extern const char kTouchEventsEnabled[];
EVENTS_EXPORT extern const char kTouchEventsDisabled[];
EVENTS_BASE_EXPORT extern const char kTouchEventsEnabled[];
EVENTS_BASE_EXPORT extern const char kTouchEventsDisabled[];
-#if defined(OS_LINUX)
+#if defined(OS_LINUX) || defined(OS_FREEBSD)
EVENTS_EXPORT extern const char kTouchDevices[];
EVENTS_BASE_EXPORT extern const char kTouchDevices[];
#endif

View file

@ -1,11 +0,0 @@
--- v8/src/platform-freebsd.cc.orig 2013-11-08 08:01:04.000000000 +0100
+++ v8/src/platform-freebsd.cc 2013-11-15 14:07:46.000000000 +0100
@@ -189,7 +189,7 @@
// There may be no filename in this line. Skip to next.
if (start_of_path == NULL) continue;
buffer[bytes_read] = 0;
- LOG(isolate SharedLibraryEvent(start_of_path, start, end));
+ LOG(isolate, SharedLibraryEvent(start_of_path, start, end));
}
close(fd);
}

View file

@ -64,6 +64,7 @@ share/applications/chromium-browser.desktop
%%DATADIR%%/protoc
%%DATADIR%%/resources.pak
%%DATADIR%%/resources/extension/demo/library.js
%%DATADIR%%/resources/inspector/accelerometer.css
%%DATADIR%%/resources/inspector/breakpointsList.css
%%DATADIR%%/resources/inspector/buildSystemOnly.js
%%DATADIR%%/resources/inspector/flameChart.css
@ -145,10 +146,6 @@ share/applications/chromium-browser.desktop
%%DATADIR%%/resources/inspector/Images/resourcesTimeGraphIcon.png
%%DATADIR%%/resources/inspector/Images/searchNext.png
%%DATADIR%%/resources/inspector/Images/searchPrev.png
%%DATADIR%%/resources/inspector/Images/searchSmallBlue.png
%%DATADIR%%/resources/inspector/Images/searchSmallBrightBlue.png
%%DATADIR%%/resources/inspector/Images/searchSmallGray.png
%%DATADIR%%/resources/inspector/Images/searchSmallWhite.png
%%DATADIR%%/resources/inspector/Images/sessionStorage.png
%%DATADIR%%/resources/inspector/Images/settingsListRemove.png
%%DATADIR%%/resources/inspector/Images/settingsListRemove_2x.png