mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
extra/chromium to 32.0.1700.77-1
This commit is contained in:
parent
aa6f2cc948
commit
091956378b
5 changed files with 59 additions and 338 deletions
|
@ -20,8 +20,9 @@
|
|||
buildarch=20
|
||||
|
||||
pkgname=chromium
|
||||
pkgver=31.0.1650.63
|
||||
pkgrel=2
|
||||
pkgver=32.0.1700.77
|
||||
_srcver=32.0.1700.76
|
||||
pkgrel=1
|
||||
pkgdesc="The open-source project behind Google Chrome, an attempt at creating a safer, faster, and more stable browser"
|
||||
arch=('armv6h' 'armv7h')
|
||||
url="http://www.chromium.org/"
|
||||
|
@ -37,14 +38,11 @@ provides=('chromium-browser')
|
|||
conflicts=('chromium-browser')
|
||||
backup=('etc/chromium/default')
|
||||
install=chromium.install
|
||||
source=(https://gsdview.appspot.com/chromium-browser-official/$pkgname-$pkgver.tar.xz
|
||||
#https://dev.archlinux.org/~foutrelis/sources/$pkgname/$pkgname-$pkgver.tar.xz{,.sig}
|
||||
source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$_srcver.tar.xz
|
||||
chromium.desktop
|
||||
chromium.default
|
||||
chromium.sh
|
||||
chromium-31.0.1650.48-NPN_URLRedirectResponse.patch
|
||||
chromium-31.0.1650.48-NPAPI-cookies.patch
|
||||
chromium-system-icu-r0.patch
|
||||
chromium-32.0.1700.76-diff-to-32.0.1700.77.patch
|
||||
arm-webrtc-fix.patch
|
||||
skia.patch
|
||||
v6-ffmpeg.patch)
|
||||
|
@ -52,9 +50,7 @@ sha256sums=('7f0a37391b2829fa077426127f61b830cca51518e6a55ace2bf397aba9e52008'
|
|||
'09bfac44104f4ccda4c228053f689c947b3e97da9a4ab6fa34ce061ee83d0322'
|
||||
'478340d5760a9bd6c549e19b1b5d1c5b4933ebf5f8cfb2b3e2d70d07443fe232'
|
||||
'4999fded897af692f4974f0a3e3bbb215193519918a1fa9b31ed51e74a2dccb9'
|
||||
'c2e56730e0cf962d762d18abf8488e1b19b4688ce39d22dd74c47dba7996319b'
|
||||
'b24f58147333eb29f762aec58742db74825b587def3d6daf16c8cd315ce6ccff'
|
||||
'9bf164094ff33565f79807ab17cbd1d3f75655383fdaa01bb1a702263174cf09'
|
||||
'3b167d9480a6472c60ad9493f9a92b0cf79785a029bd0e886ab275f923b510df'
|
||||
'222ec0db5d40b02e4ebbde8a1f1c5de3f0579e51836be87be138c44f8487d0ce'
|
||||
'77668a94924c6bce6c48ca78c5cb778c6728bb687b66334b7164d7301a267939'
|
||||
'3fbabcbd512494b529e0a0e17560735887acf2291a74653750f9b29f5d45774d')
|
||||
|
@ -69,7 +65,7 @@ _google_default_client_id=413772536636.apps.googleusercontent.com
|
|||
_google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4
|
||||
|
||||
prepare() {
|
||||
cd "$srcdir/$pkgname-$pkgver"
|
||||
cd "$srcdir/$pkgname-$_srcver"
|
||||
|
||||
# Fix WebRTC for ARM
|
||||
patch -Np2 -i "$srcdir/arm-webrtc-fix.patch"
|
||||
|
@ -80,16 +76,9 @@ prepare() {
|
|||
# Temp fix for skia
|
||||
patch -Np0 -i "$srcdir/skia.patch"
|
||||
|
||||
# Black screen is displayed when playing a video with NPAPI plugin
|
||||
# http://code.google.com/p/chromium/issues/detail?id=301510
|
||||
patch -Np0 -i "$srcdir/chromium-31.0.1650.48-NPN_URLRedirectResponse.patch"
|
||||
|
||||
# Cookies not being sent with plugin requests
|
||||
# http://code.google.com/p/chromium/issues/detail?id=316511
|
||||
patch -Np0 -i "$srcdir/chromium-31.0.1650.48-NPAPI-cookies.patch"
|
||||
|
||||
# Fix build with system ICU (patch from Gentoo)
|
||||
patch -Np0 -i "$srcdir/chromium-system-icu-r0.patch"
|
||||
# Source tarball for 32.0.1700.77 is currently missing so we might as well
|
||||
# patch 32.0.1700.76 with the single change before 32.0.1700.77 was tagged
|
||||
patch -Np1 -i "$srcdir/chromium-32.0.1700.76-diff-to-32.0.1700.77.patch"
|
||||
|
||||
# Use Python 2
|
||||
find . -type f -exec sed -i -r \
|
||||
|
@ -103,7 +92,7 @@ prepare() {
|
|||
}
|
||||
|
||||
build() {
|
||||
cd "$srcdir/$pkgname-$pkgver"
|
||||
cd "$srcdir/$pkgname-$_srcver"
|
||||
|
||||
export PATH="$srcdir/python2-path:$PATH"
|
||||
|
||||
|
@ -181,7 +170,7 @@ fi
|
|||
}
|
||||
|
||||
package() {
|
||||
cd "$srcdir/$pkgname-$pkgver"
|
||||
cd "$srcdir/$pkgname-$_srcver"
|
||||
|
||||
install -D out/Release/chrome "$pkgdir/usr/lib/chromium/chromium"
|
||||
|
||||
|
|
|
@ -1,276 +0,0 @@
|
|||
Index: content/browser/child_process_security_policy_impl.cc
|
||||
===================================================================
|
||||
--- content/browser/child_process_security_policy_impl.cc (revision 233522)
|
||||
+++ content/browser/child_process_security_policy_impl.cc (working copy)
|
||||
@@ -793,7 +793,7 @@
|
||||
bool ChildProcessSecurityPolicyImpl::CanSendCookiesForOrigin(int child_id,
|
||||
const GURL& gurl) {
|
||||
for (PluginProcessHostIterator iter; !iter.Done(); ++iter) {
|
||||
- if (iter.GetData().process_type == child_id) {
|
||||
+ if (iter.GetData().id == child_id) {
|
||||
if (iter.GetData().process_type == PROCESS_TYPE_PLUGIN) {
|
||||
// NPAPI plugin processes are unsandboxed and so are trusted. Plugins
|
||||
// can make request to any origin.
|
||||
Index: content/browser/plugin_browsertest.cc
|
||||
===================================================================
|
||||
--- content/browser/plugin_browsertest.cc (revision 233522)
|
||||
+++ content/browser/plugin_browsertest.cc (working copy)
|
||||
@@ -5,15 +5,21 @@
|
||||
#include "base/command_line.h"
|
||||
#include "base/file_util.h"
|
||||
#include "base/path_service.h"
|
||||
+#include "base/strings/string_util.h"
|
||||
#include "base/strings/utf_string_conversions.h"
|
||||
+#include "content/browser/loader/resource_dispatcher_host_impl.h"
|
||||
#include "content/public/browser/browser_thread.h"
|
||||
+#include "content/public/browser/resource_dispatcher_host_delegate.h"
|
||||
#include "content/public/common/content_switches.h"
|
||||
#include "content/public/test/browser_test_utils.h"
|
||||
+#include "content/public/test/test_utils.h"
|
||||
#include "content/shell/browser/shell.h"
|
||||
#include "content/shell/common/shell_switches.h"
|
||||
#include "content/test/content_browser_test.h"
|
||||
#include "content/test/content_browser_test_utils.h"
|
||||
#include "content/test/net/url_request_mock_http_job.h"
|
||||
+#include "net/test/embedded_test_server/embedded_test_server.h"
|
||||
+#include "net/url_request/url_request.h"
|
||||
#include "ui/gfx/rect.h"
|
||||
|
||||
#if defined(OS_WIN)
|
||||
@@ -468,4 +474,77 @@
|
||||
}
|
||||
#endif // defined(OS_WIN)
|
||||
|
||||
+class TestResourceDispatcherHostDelegate
|
||||
+ : public ResourceDispatcherHostDelegate {
|
||||
+ public:
|
||||
+ TestResourceDispatcherHostDelegate() : found_cookie_(false) {}
|
||||
+
|
||||
+ bool found_cookie() { return found_cookie_; }
|
||||
+
|
||||
+ void WaitForPluginRequest() {
|
||||
+ if (found_cookie_)
|
||||
+ return;
|
||||
+
|
||||
+ runner_ = new MessageLoopRunner;
|
||||
+ runner_->Run();
|
||||
+ }
|
||||
+
|
||||
+ private:
|
||||
+ // ResourceDispatcherHostDelegate implementation:
|
||||
+ virtual void OnResponseStarted(
|
||||
+ net::URLRequest* request,
|
||||
+ ResourceContext* resource_context,
|
||||
+ ResourceResponse* response,
|
||||
+ IPC::Sender* sender) OVERRIDE {
|
||||
+ // The URL below comes from plugin_geturl_test.cc.
|
||||
+ if (!EndsWith(request->url().spec(),
|
||||
+ "npapi/plugin_ref_target_page.html",
|
||||
+ true)) {
|
||||
+ return;
|
||||
+ }
|
||||
+ net::HttpRequestHeaders headers;
|
||||
+ bool found_cookie = false;
|
||||
+ if (request->GetFullRequestHeaders(&headers) &&
|
||||
+ headers.ToString().find("Cookie: blah") != std::string::npos) {
|
||||
+ found_cookie = true;
|
||||
+ }
|
||||
+ BrowserThread::PostTask(
|
||||
+ BrowserThread::UI,
|
||||
+ FROM_HERE,
|
||||
+ base::Bind(&TestResourceDispatcherHostDelegate::GotCookie,
|
||||
+ base::Unretained(this), found_cookie));
|
||||
+ }
|
||||
+
|
||||
+ void GotCookie(bool found_cookie) {
|
||||
+ found_cookie_ = found_cookie;
|
||||
+ if (runner_)
|
||||
+ runner_->QuitClosure().Run();
|
||||
+ }
|
||||
+
|
||||
+ scoped_refptr<MessageLoopRunner> runner_;
|
||||
+ bool found_cookie_;
|
||||
+
|
||||
+ DISALLOW_COPY_AND_ASSIGN(TestResourceDispatcherHostDelegate);
|
||||
+};
|
||||
+
|
||||
+// Ensure that cookies get sent with plugin requests.
|
||||
+IN_PROC_BROWSER_TEST_F(PluginTest, MAYBE(Cookies)) {
|
||||
+ // Create a new browser just to ensure that the plugin process' child_id is
|
||||
+ // not equal to its type (PROCESS_TYPE_PLUGIN), as that was the error which
|
||||
+ // caused this bug.
|
||||
+ NavigateToURL(CreateBrowser(), GURL("about:blank"));
|
||||
+
|
||||
+ ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady());
|
||||
+ GURL url(embedded_test_server()->GetURL("/npapi/cookies.html"));
|
||||
+
|
||||
+ TestResourceDispatcherHostDelegate test_delegate;
|
||||
+ ResourceDispatcherHostDelegate* old_delegate =
|
||||
+ ResourceDispatcherHostImpl::Get()->delegate();
|
||||
+ ResourceDispatcherHostImpl::Get()->SetDelegate(&test_delegate);
|
||||
+ LoadAndWait(url);
|
||||
+ test_delegate.WaitForPluginRequest();
|
||||
+ ASSERT_TRUE(test_delegate.found_cookie());
|
||||
+ ResourceDispatcherHostImpl::Get()->SetDelegate(old_delegate);
|
||||
+}
|
||||
+
|
||||
} // namespace content
|
||||
Index: content/test/data/npapi/cookies.html
|
||||
===================================================================
|
||||
--- content/test/data/npapi/cookies.html (revision 0)
|
||||
+++ content/test/data/npapi/cookies.html (revision 0)
|
||||
@@ -0,0 +1,27 @@
|
||||
+<html>
|
||||
+
|
||||
+<head>
|
||||
+<script src="npapi.js"></script>
|
||||
+<script>document.cookie="blah"</script>
|
||||
+</head>
|
||||
+
|
||||
+
|
||||
+<body>
|
||||
+<div id="statusPanel" style="border: 1px solid red; width: 100%">
|
||||
+Test running....
|
||||
+</div>
|
||||
+
|
||||
+
|
||||
+Cookies Test<p>
|
||||
+This test fetches an URL via the plugin, and verifies that the cookies are sent
|
||||
+with plugin-initiated requests.
|
||||
+
|
||||
+<embed type="application/vnd.npapi-test"
|
||||
+ src="foo"
|
||||
+ name="cookies"
|
||||
+ id="1"
|
||||
+ mode="np_embed"
|
||||
+>
|
||||
+
|
||||
+</body>
|
||||
+</html>
|
||||
|
||||
Property changes on: content\test\data\npapi\cookies.html
|
||||
___________________________________________________________________
|
||||
Added: svn:mime-type
|
||||
+ text/html
|
||||
Added: svn:eol-style
|
||||
+ LF
|
||||
|
||||
Index: content/test/plugin/plugin_geturl_test.cc
|
||||
===================================================================
|
||||
--- content/test/plugin/plugin_geturl_test.cc (revision 233522)
|
||||
+++ content/test/plugin/plugin_geturl_test.cc (working copy)
|
||||
@@ -48,7 +48,8 @@
|
||||
expect_404_response_(false),
|
||||
npn_evaluate_context_(false),
|
||||
handle_url_redirects_(false),
|
||||
- received_url_redirect_notification_(false) {
|
||||
+ received_url_redirect_notification_(false),
|
||||
+ check_cookies_(false) {
|
||||
}
|
||||
|
||||
PluginGetURLTest::~PluginGetURLTest() {}
|
||||
@@ -78,7 +79,14 @@
|
||||
"geturlredirectnotify")) {
|
||||
handle_url_redirects_ = true;
|
||||
}
|
||||
- return PluginTest::New(mode, argc, argn, argv, saved);
|
||||
+
|
||||
+ NPError error = PluginTest::New(mode, argc, argn, argv, saved);
|
||||
+
|
||||
+ // The above sets test_name().
|
||||
+ if (test_name() == "cookies")
|
||||
+ check_cookies_ = true;
|
||||
+
|
||||
+ return error;
|
||||
}
|
||||
|
||||
NPError PluginGetURLTest::SetWindow(NPWindow* pNPWindow) {
|
||||
@@ -108,6 +116,13 @@
|
||||
id(), REDIRECT_SRC_URL, NULL,
|
||||
reinterpret_cast<void*>(REDIRECT_SRC_URL_NOTIFICATION_ID));
|
||||
return NPERR_NO_ERROR;
|
||||
+ } else if (check_cookies_) {
|
||||
+ HostFunctions()->geturlnotify(
|
||||
+ id(),
|
||||
+ "plugin_ref_target_page.html",
|
||||
+ NULL,
|
||||
+ reinterpret_cast<void*>(SELF_URL_STREAM_ID));
|
||||
+ return NPERR_NO_ERROR;
|
||||
}
|
||||
|
||||
std::string url = SELF_URL;
|
||||
@@ -161,7 +176,7 @@
|
||||
return NPERR_NO_ERROR;
|
||||
}
|
||||
|
||||
- if (!fail_write_url_.empty()) {
|
||||
+ if (!fail_write_url_.empty() || check_cookies_) {
|
||||
return NPERR_NO_ERROR;
|
||||
}
|
||||
|
||||
@@ -217,7 +232,7 @@
|
||||
return PluginTest::WriteReady(stream);
|
||||
}
|
||||
|
||||
- if (!referrer_target_url_.empty()) {
|
||||
+ if (!referrer_target_url_.empty() || check_cookies_) {
|
||||
return STREAM_CHUNK;
|
||||
}
|
||||
|
||||
@@ -242,7 +257,7 @@
|
||||
return -1;
|
||||
}
|
||||
|
||||
- if (!referrer_target_url_.empty()) {
|
||||
+ if (!referrer_target_url_.empty() || check_cookies_) {
|
||||
return len;
|
||||
}
|
||||
|
||||
@@ -314,6 +329,11 @@
|
||||
return NPERR_NO_ERROR;
|
||||
}
|
||||
|
||||
+ if (check_cookies_) {
|
||||
+ SignalTestCompleted();
|
||||
+ return NPERR_NO_ERROR;
|
||||
+ }
|
||||
+
|
||||
unsigned long stream_id =
|
||||
reinterpret_cast<unsigned long>(stream->notifyData);
|
||||
switch (stream_id) {
|
||||
@@ -367,6 +387,9 @@
|
||||
return;
|
||||
}
|
||||
|
||||
+ if (check_cookies_)
|
||||
+ return;
|
||||
+
|
||||
COMPILE_ASSERT(sizeof(unsigned long) <= sizeof(data), cast_validity_check);
|
||||
unsigned long stream_id = reinterpret_cast<unsigned long>(data);
|
||||
switch (stream_id) {
|
||||
Index: content/test/plugin/plugin_geturl_test.h
|
||||
===================================================================
|
||||
--- content/test/plugin/plugin_geturl_test.h (revision 233522)
|
||||
+++ content/test/plugin/plugin_geturl_test.h (working copy)
|
||||
@@ -57,6 +57,7 @@
|
||||
std::string page_not_found_url_;
|
||||
std::string fail_write_url_;
|
||||
std::string referrer_target_url_;
|
||||
+ bool check_cookies_;
|
||||
};
|
||||
|
||||
} // namespace NPAPIClient
|
||||
Index: content/test/plugin/plugin_test_factory.cc
|
||||
===================================================================
|
||||
--- content/test/plugin/plugin_test_factory.cc (revision 233522)
|
||||
+++ content/test/plugin/plugin_test_factory.cc (working copy)
|
||||
@@ -38,7 +38,8 @@
|
||||
} else if (test_name == "geturl" || test_name == "geturl_404_response" ||
|
||||
test_name == "geturl_fail_write" ||
|
||||
test_name == "plugin_referrer_test" ||
|
||||
- test_name == "geturlredirectnotify") {
|
||||
+ test_name == "geturlredirectnotify" ||
|
||||
+ test_name == "cookies") {
|
||||
new_test = new PluginGetURLTest(instance, host_functions);
|
||||
} else if (test_name == "npobject_identity") {
|
||||
new_test = new NPObjectIdentityTest(instance, host_functions);
|
|
@ -1,13 +0,0 @@
|
|||
Index: content/child/npapi/plugin_url_fetcher.cc
|
||||
===================================================================
|
||||
--- content/child/npapi/plugin_url_fetcher.cc (revision 233351)
|
||||
+++ content/child/npapi/plugin_url_fetcher.cc (working copy)
|
||||
@@ -145,7 +145,7 @@
|
||||
|
||||
void PluginURLFetcher::URLRedirectResponse(bool allow) {
|
||||
if (allow) {
|
||||
- bridge_->SetDefersLoading(true);
|
||||
+ bridge_->SetDefersLoading(false);
|
||||
} else {
|
||||
bridge_->Cancel();
|
||||
plugin_stream_->DidFail(resource_id_); // That will delete |this|.
|
|
@ -0,0 +1,47 @@
|
|||
Index: src/chrome/VERSION
|
||||
===================================================================
|
||||
--- src/chrome/VERSION (revision 244501)
|
||||
+++ src/chrome/VERSION (revision 244503)
|
||||
@@ -1,4 +1,4 @@
|
||||
MAJOR=32
|
||||
MINOR=0
|
||||
BUILD=1700
|
||||
-PATCH=76
|
||||
+PATCH=77
|
||||
Index: src/chrome/browser/browser_process_impl.cc
|
||||
===================================================================
|
||||
--- src/chrome/browser/browser_process_impl.cc (revision 244501)
|
||||
+++ src/chrome/browser/browser_process_impl.cc (revision 244503)
|
||||
@@ -882,7 +882,6 @@
|
||||
prefs::kMetricsReportingEnabled,
|
||||
base::Bind(&BrowserProcessImpl::ApplyMetricsReportingPolicy,
|
||||
base::Unretained(this)));
|
||||
- ApplyMetricsReportingPolicy();
|
||||
#endif
|
||||
|
||||
int max_per_proxy = local_state_->GetInteger(prefs::kMaxConnectionsPerProxy);
|
||||
@@ -912,6 +911,10 @@
|
||||
if (local_state_->IsManagedPreference(prefs::kDefaultBrowserSettingEnabled))
|
||||
ApplyDefaultBrowserPolicy();
|
||||
|
||||
+#if !defined(OS_CHROMEOS) && !defined(OS_ANDROID) && !defined(OS_IOS)
|
||||
+ ApplyMetricsReportingPolicy();
|
||||
+#endif
|
||||
+
|
||||
#if defined(ENABLE_PLUGINS)
|
||||
PluginService* plugin_service = PluginService::GetInstance();
|
||||
plugin_service->SetFilter(ChromePluginServiceFilter::GetInstance());
|
||||
@@ -1037,11 +1040,11 @@
|
||||
|
||||
void BrowserProcessImpl::ApplyMetricsReportingPolicy() {
|
||||
#if !defined(OS_CHROMEOS) && !defined(OS_ANDROID) && !defined(OS_IOS)
|
||||
- BrowserThread::PostTask(
|
||||
+ CHECK(BrowserThread::PostTask(
|
||||
BrowserThread::FILE, FROM_HERE,
|
||||
base::Bind(
|
||||
base::IgnoreResult(&GoogleUpdateSettings::SetCollectStatsConsent),
|
||||
- local_state()->GetBoolean(prefs::kMetricsReportingEnabled)));
|
||||
+ local_state()->GetBoolean(prefs::kMetricsReportingEnabled))));
|
||||
#endif
|
||||
}
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
--- build/linux/unbundle/icu.gyp.orig 2013-09-27 18:18:50.531839532 +0000
|
||||
+++ build/linux/unbundle/icu.gyp 2013-09-27 18:19:08.301950500 +0000
|
||||
@@ -7,6 +7,7 @@
|
||||
{
|
||||
'target_name': 'system_icu',
|
||||
'type': 'none',
|
||||
+ 'toolsets': ['host', 'target'],
|
||||
'direct_dependent_settings': {
|
||||
'defines': [
|
||||
'U_USING_ICU_NAMESPACE=0',
|
||||
@@ -30,6 +31,7 @@
|
||||
{
|
||||
'target_name': 'icui18n',
|
||||
'type': 'none',
|
||||
+ 'toolsets': ['host', 'target'],
|
||||
'dependencies': ['system_icu'],
|
||||
'export_dependent_settings': ['system_icu'],
|
||||
'variables': {
|
||||
@@ -116,6 +118,7 @@
|
||||
{
|
||||
'target_name': 'icuuc',
|
||||
'type': 'none',
|
||||
+ 'toolsets': ['host', 'target'],
|
||||
'dependencies': ['system_icu'],
|
||||
'export_dependent_settings': ['system_icu'],
|
||||
'variables': {
|
Loading…
Reference in a new issue