extra/chromium to 21.0.1180.75-1

This commit is contained in:
Kevin Mihelich 2012-08-09 13:29:48 +00:00
parent d746bd7462
commit 21af053df2
2 changed files with 35 additions and 2 deletions

View file

@ -15,7 +15,7 @@
buildarch=4
pkgname=chromium
pkgver=21.0.1180.57
pkgver=21.0.1180.75
pkgrel=1
pkgdesc="The open-source project behind Google Chrome, an attempt at creating a safer, faster, and more stable browser"
arch=('i686' 'x86_64')
@ -39,13 +39,15 @@ source=(http://commondatastorage.googleapis.com/chromium-browser-official/$pkgna
chromium.sh
chromium-20.0.1132.57-glib-2.16-use-siginfo_t.patch
chromium-20.0.1132.57-bison-2.6-fix.patch
chromium-21.0.1180.57-fix-crash-in-task-queue.patch
chromium-ppapi-r0.patch)
sha256sums=('311ba95249ea994747355596885c9ad583e55bcbe7220a47ea096898e7aeb145'
sha256sums=('8ee09c680d254a41fda99713b69f541e50f1e7d555b94c6af517e25a11c8830e'
'09bfac44104f4ccda4c228053f689c947b3e97da9a4ab6fa34ce061ee83d0322'
'478340d5760a9bd6c549e19b1b5d1c5b4933ebf5f8cfb2b3e2d70d07443fe232'
'4999fded897af692f4974f0a3e3bbb215193519918a1fa9b31ed51e74a2dccb9'
'c1baf14121502efbc2a31b64029dcafa0e28ca5b71ad0e28a3c6342d18198615'
'd7aecc17e1eb582fe791c3e5fb2ca3f0efcb9bf5379309c1c27be35be4363bba'
'cbd04d9a7cfda7e9c39fa215da897991a410fb59bf0f664abf93ab2c38689898'
'1f4b57670d317959bc2dc60e5d2a44aa8fc6028f7ed540cdb502fa0aa99c81bd')
build() {
@ -59,6 +61,10 @@ build() {
patch -d third_party/WebKit -Np1 -i \
"$srcdir/chromium-20.0.1132.57-bison-2.6-fix.patch"
# Fix crash in LazyBackgroundTaskQueue::ProcessPendingTasks
# http://crbug.com/138790
patch -Np1 -i "$srcdir/chromium-21.0.1180.57-fix-crash-in-task-queue.patch"
# Fix build without NaCl glibc toolchain (patch from Gentoo)
patch -Np0 -i "$srcdir/chromium-ppapi-r0.patch"

View file

@ -0,0 +1,27 @@
Index: chrome/browser/extensions/lazy_background_task_queue.cc
diff --git a/chrome/browser/extensions/lazy_background_task_queue.cc b/chrome/browser/extensions/lazy_background_task_queue.cc
index b98d44626be848a3a2db04c60ac4cb11ea981243..49bc2229325ce5ba975de4d76347a388a598e86d 100644
--- a/chrome/browser/extensions/lazy_background_task_queue.cc
+++ b/chrome/browser/extensions/lazy_background_task_queue.cc
@@ -115,14 +115,16 @@ void LazyBackgroundTaskQueue::ProcessPendingTasks(
return;
}
- PendingTasksList* tasks = map_it->second.get();
- for (PendingTasksList::const_iterator it = tasks->begin();
- it != tasks->end(); ++it) {
+ // Swap the pending tasks to a temporary, to avoid problems if the task
+ // list is modified during processing.
+ PendingTasksList tasks;
+ tasks.swap(*map_it->second);
+ for (PendingTasksList::const_iterator it = tasks.begin();
+ it != tasks.end(); ++it) {
it->Run(host);
}
- tasks->clear();
- pending_tasks_.erase(map_it);
+ pending_tasks_.erase(key);
// Balance the keepalive in AddPendingTask. Note we don't do this on a
// failure to load, because the keepalive count is reset in that case.