HONK HONK! TRUCK FULL OF RADIOACTIVE WASTE AND ZOMBIE BITS COMING THROUGH

This commit is contained in:
Tom Callaway 2016-07-19 14:10:57 -04:00
parent 66183507d8
commit f66ad85170
25 changed files with 3387 additions and 0 deletions

3
.gitignore vendored
View File

@ -0,0 +1,3 @@
/chromium-52.0.2743.75-clean.tar.xz
/depot_tools.git-master.tar.gz
/policy_templates.zip

View File

@ -0,0 +1,12 @@
[Unit]
Description="Chrome Remote Desktop host daemon"
[Service]
ExecStart=@@CRD_PATH@@/chrome-remote-desktop --start --foreground
ExecStop=@@CRD_PATH@@/chrome-remote-desktop --stop
ExecReload=@@CRD_PATH@@/chrome-remote-desktop --reload
Restart=always
TimeoutStopSec=10
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,44 @@
diff -up chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/path.h.pathmax chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/path.h
--- chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/path.h.pathmax 2015-10-07 11:26:11.813477839 -0400
+++ chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/path.h 2015-10-07 11:26:40.845845054 -0400
@@ -12,6 +12,11 @@
#include "sdk_util/macros.h"
+/* Needed for PATH_MAX */
+#ifndef PATH_MAX
+#define PATH_MAX 4096
+#endif
+
namespace nacl_io {
class Path {
diff -up chromium-45.0.2454.101/native_client/src/untrusted/nacl/getcwd.c.pathmax chromium-45.0.2454.101/native_client/src/untrusted/nacl/getcwd.c
--- chromium-45.0.2454.101/native_client/src/untrusted/nacl/getcwd.c.pathmax 2015-08-22 15:02:08.000000000 -0400
+++ chromium-45.0.2454.101/native_client/src/untrusted/nacl/getcwd.c 2015-10-07 10:58:56.172018783 -0400
@@ -11,6 +11,10 @@
#include <errno.h>
#include <limits.h>
+/* Needed for PATH_MAX */
+#ifndef PATH_MAX
+#define PATH_MAX 4096
+#endif
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
diff -up chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/syscalls/realpath.c.pathmax chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/syscalls/realpath.c
--- chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/syscalls/realpath.c.pathmax 2015-10-09 10:57:38.424348662 -0400
+++ chromium-45.0.2454.101/native_client_sdk/src/libraries/nacl_io/syscalls/realpath.c 2015-10-09 10:57:51.541059938 -0400
@@ -13,6 +13,11 @@
#include "sdk_util/macros.h"
+/* Needed for PATH_MAX */
+#ifndef PATH_MAX
+#define PATH_MAX 4096
+#endif
+
EXTERN_C_BEGIN
#if defined(__native_client__)

View File

@ -0,0 +1,354 @@
diff -up chromium-46.0.2490.71/third_party/cld_2/src/internal/cld_generated_cjk_uni_prop_80.cc.gcc5 chromium-46.0.2490.71/third_party/cld_2/src/internal/cld_generated_cjk_uni_prop_80.cc
--- chromium-46.0.2490.71/third_party/cld_2/src/internal/cld_generated_cjk_uni_prop_80.cc.gcc5 2015-10-06 22:42:52.000000000 -0400
+++ chromium-46.0.2490.71/third_party/cld_2/src/internal/cld_generated_cjk_uni_prop_80.cc 2015-10-15 23:42:00.645518701 -0400
@@ -165,8 +165,8 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
// state[16 + 2] 0x000000 Byte 2 of 3 (relative offsets)
X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__,
X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__,
--14,-14,-14,-14,-14,-14,-14,-14, -14,-14,-14,-14,-14,-14,-14,-14,
--14,-14,-14,-14,-14,-14,-14,-14, -14,-14,-14,-14,-14,-14,-14,-14,
+(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14, (uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,
+(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14, (uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,(uint8)-14,
// state[17 + 2] 0x0031c0 Byte 3 of 3 (property)
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -259,10 +259,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
229,229,229, 3,208, 0,229, 5, 233, 0,229,229,229,208,229,229,
// state[32 + 2] 0x002000 Byte 2 of 3 (relative offsets)
--30,-30,-30,-30,-30,-30,-30,-30, -30,-30,-30,-30,-30,-30,-30,-30,
--30,-30,-30,-30,-30,-30,-30,-30, -30,-30,-30,-30,-30,-30,-30,-30,
--30,-30,-30,-30,-30,-30,-30,-30, -30,-30,-30,-30,-30,-30,-30,-30,
--30,-30,-30,-30,-30,-30,-30,-30, -30,-30,-30,-30,-30,-30,-30,-30,
+(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30, (uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,
+(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30, (uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,
+(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30, (uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,
+(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30, (uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,(uint8)-30,
// state[33 + 2] 0x003780 Byte 3 of 3 (property)
229,208,229,229,208,229,229,229, 208,208,208,208,208, 4, 6,208,
@@ -355,10 +355,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
228,229,229,229,229,233,233, 6, 208,229, 3,229,233, 6, 6, 0,
// state[48 + 2] 0x001000 Byte 2 of 3 (relative offsets)
--46,-46,-46,-46,-42,-41,-40,-39, -46,-46,-46,-46,-46,-46,-46,-46,
--46,-46,-46,-46,-46,-46,-46,-46, -46,-46,-46,-46,-46,-46,-46,-46,
--46,-46,-46,-46,-46,-46,-46,-46, -46,-46,-46,-46,-46,-46,-46,-46,
--46,-46,-46,-46,-46,-46,-46,-46, -46,-46,-46,-46,-46,-46,-46,-46,
+(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-42,(uint8)-41,(uint8)-40,(uint8)-39, (uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,
+(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46, (uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,
+(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46, (uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,
+(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46, (uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,(uint8)-46,
// state[49 + 2] 0x003b40 Byte 3 of 3 (property)
6,227,208,233,208, 3, 3,208, 208,229, 0,229,233,219, 0, 6,
@@ -451,10 +451,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
229,208,208,208,217,208,229,229, 229,229,208,217,208,229,229,229,
// state[64 + 2] 0x003000 Byte 2 of 3 (relative offsets)
--54,-53,-52,-51,-50,-58,-49,-47, -62,-62,-62,-62,-62,-62,-62,-62,
--46,-45,-44,-43,-42,-41,-40,-39, -38,-37,-36,-35,-34,-33,-31,-30,
--29,-28,-27,-26,-25,-24,-23,-22, -21,-20,-19,-18,-17,-15,-14,-13,
--12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4,
+(uint8)-54,(uint8)-53,(uint8)-52,(uint8)-51,(uint8)-50,(uint8)-58,(uint8)-49,(uint8)-47, (uint8)-62,(uint8)-62,(uint8)-62,(uint8)-62,(uint8)-62,(uint8)-62,(uint8)-62,(uint8)-62,
+(uint8)-46,(uint8)-45,(uint8)-44,(uint8)-43,(uint8)-42,(uint8)-41,(uint8)-40,(uint8)-39, (uint8)-38,(uint8)-37,(uint8)-36,(uint8)-35,(uint8)-34,(uint8)-33,(uint8)-31,(uint8)-30,
+(uint8)-29,(uint8)-28,(uint8)-27,(uint8)-26,(uint8)-25,(uint8)-24,(uint8)-23,(uint8)-22, (uint8)-21,(uint8)-20,(uint8)-19,(uint8)-18,(uint8)-17,(uint8)-15,(uint8)-14,(uint8)-13,
+(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4,
// state[65 + 2] 0x003f00 Byte 3 of 3 (property)
217,217,208, 3,208,217,208,208, 6,229,208,228,229,229,208,229,
@@ -547,10 +547,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
229,208,229,229,208,229,233, 0, 208,208,229,208,227,229,229,229,
// state[80 + 2] 0x004000 Byte 2 of 3 (relative offsets)
--11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5,
+(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5,
6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
- 38, 39, 40, 41, 42, 43, 44,-78, 45, 46, 47, 48, 49, 50, 51, 52,
+ 38, 39, 40, 41, 42, 43, 44,(uint8)-78, 45, 46, 47, 48, 49, 50, 51, 52,
// state[81 + 2] 0x0042c0 Byte 3 of 3 (property)
229, 0,229,229,229, 3, 4, 4, 229,229,229,229,208,229, 0,208,
@@ -931,7 +931,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
0,142, 98, 28,117,206,212,212, 220, 15, 0,231,199,231,111, 28,
// state[144 + 2] 0x005000 Byte 2 of 3 (relative offsets)
--11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5,
+(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5,
6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
@@ -1315,7 +1315,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
16, 15,211,118, 0,231, 68,231, 0, 99,161, 0,115,221,144,140,
// state[208 + 2] 0x006000 Byte 2 of 3 (relative offsets)
--10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6,
+(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6,
7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
@@ -1699,7 +1699,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
119, 16, 51, 0, 0, 68,136, 72, 144,118, 87,201,191,136, 78,233,
// state[272 + 2] 0x007000 Byte 2 of 3 (relative offsets)
- -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7,
+ (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
@@ -2083,7 +2083,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
212,212, 0,126,140,220,220, 0, 0, 0,127,118,106, 0,199, 0,
// state[336 + 2] 0x008000 Byte 2 of 3 (relative offsets)
- -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, 8,
+ (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, 7, 8,
9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
@@ -2467,7 +2467,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
0,122, 0,231,100,232, 0, 0, 117, 0,206,231, 0, 0,231, 0,
// state[400 + 2] 0x009000 Byte 2 of 3 (relative offsets)
- -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
@@ -2851,10 +2851,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
// state[464 + 2] 0x00a000 Byte 2 of 3 (relative offsets)
- -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
- -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
- -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
- -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
+ (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6,
+ (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6,
+ (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6, (uint8)-6,
+ (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5, (uint8)-5,
// state[465 + 2] 0x000080 Byte 2 of 2 (property)
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2947,10 +2947,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
208,208,208,208, 5, 6,208, 2, 0, 6, 6, 5,208,208,208, 6,
// state[480 + 2] 0x00b000 Byte 2 of 3 (relative offsets)
--20,-20,-20,-20,-20,-20,-20,-20, -20,-20,-20,-20,-20,-20,-20,-20,
--20,-20,-20,-20,-20,-20,-20,-20, -20,-20,-20,-20,-20,-20,-20,-20,
--20,-20,-20,-20,-20,-20,-20,-20, -20,-20,-20,-20,-20,-20,-20,-20,
--20,-20,-20,-20,-20,-20,-20,-20, -20,-20,-20,-20,-20,-20,-20,-20,
+(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20, (uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,
+(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20, (uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,
+(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20, (uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,
+(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20, (uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,(uint8)-20,
// state[481 + 2] 0x020100 Byte 4 of 4 (property)
2, 6, 5, 6, 5,229, 5,208, 208,208,208,208,208,208,208,229,
@@ -3043,10 +3043,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
208,208, 5, 5, 5,208,208, 2, 229, 5, 5, 5, 5, 5, 6,208,
// state[496 + 2] 0x00d000 Byte 2 of 3 (relative offsets)
--35,-35,-35,-35,-35,-35,-35,-35, -35,-35,-35,-35,-35,-35,-35,-35,
--35,-35,-35,-35,-35,-35,-35,-35, -35,-35,-35,-35,-35,-35,-34,-33,
--33,-33,-33,-33,-33,-33,-33,-33, -33,-33,-33,-33,-33,-33,-33,-33,
--33,-33,-33,-33,-33,-33,-33,-33, -33,-33,-33,-33,-33,-33,-33,-33,
+(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35, (uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,
+(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35, (uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-35,(uint8)-34,(uint8)-33,
+(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33, (uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,
+(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33, (uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,(uint8)-33,
// state[497 + 2] 0x0204c0 Byte 4 of 4 (property)
2, 2, 5, 5, 5, 2,208, 2, 5, 5, 6,208,208, 5, 5, 5,
@@ -3139,10 +3139,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
208,208, 5, 5, 5, 5, 6, 6, 208,208, 2,208,208,208,208,208,
// state[512 + 2] 0x00f000 Byte 2 of 3 (relative offsets)
--47,-47,-47,-47,-47,-47,-47,-47, -47,-47,-47,-47,-47,-47,-47,-47,
--47,-47,-47,-47,-47,-47,-47,-47, -47,-47,-47,-47,-47,-47,-47,-47,
--47,-47,-47,-47,-46,-45,-44,-43, -42,-41,-44,-40,-47,-47,-47,-47,
--47,-47,-47,-47,-47,-47,-47,-47, -47,-47,-47,-47,-47,-39,-38,-37,
+(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47, (uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,
+(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47, (uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,
+(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-46,(uint8)-45,(uint8)-44,(uint8)-43, (uint8)-42,(uint8)-41,(uint8)-44,(uint8)-40,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,
+(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47, (uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-47,(uint8)-39,(uint8)-38,(uint8)-37,
// state[513 + 2] 0x020880 Byte 4 of 4 (property)
5, 5, 5, 6,208,208,208,208, 208,208, 5, 5, 6, 6,208,208,
@@ -3235,10 +3235,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
5, 6,208,218,208,208,208,218, 208, 6,227,229, 6, 6, 6,208,
// state[528 + 2] 0x020000 Byte 3 of 4 (relative offsets)
--52,-51,-50,-49,-47,-46,-45,-44, -43,-42,-41,-40,-39,-38,-37,-36,
--35,-34,-33,-31,-30,-29,-28,-27, -26,-25,-24,-23,-22,-21,-20,-19,
--18,-17,-15,-14,-13,-12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2,
- -1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
+(uint8)-52,(uint8)-51,(uint8)-50,(uint8)-49,(uint8)-47,(uint8)-46,(uint8)-45,(uint8)-44, (uint8)-43,(uint8)-42,(uint8)-41,(uint8)-40,(uint8)-39,(uint8)-38,(uint8)-37,(uint8)-36,
+(uint8)-35,(uint8)-34,(uint8)-33,(uint8)-31,(uint8)-30,(uint8)-29,(uint8)-28,(uint8)-27, (uint8)-26,(uint8)-25,(uint8)-24,(uint8)-23,(uint8)-22,(uint8)-21,(uint8)-20,(uint8)-19,
+(uint8)-18,(uint8)-17,(uint8)-15,(uint8)-14,(uint8)-13,(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2,
+ (uint8)-1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
// state[529 + 2] 0x020c40 Byte 4 of 4 (property)
227, 5, 5, 5, 2, 2, 2, 2, 213, 2, 2, 2, 2, 2,208, 6,
@@ -3427,7 +3427,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
208,208,208,208,208,208,208,208, 208, 6, 6, 6, 6, 2, 5, 5,
// state[560 + 2] 0x021000 Byte 3 of 4 (relative offsets)
--16,-15,-14,-13,-12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1,
+(uint8)-16,(uint8)-15,(uint8)-14,(uint8)-13,(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1,
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
@@ -3811,7 +3811,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
5, 5, 5, 6, 6, 6, 5,208, 208,229,208,208, 5, 5, 5, 5,
// state[624 + 2] 0x022000 Byte 3 of 4 (relative offsets)
--15,-14,-13,-12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1,
+(uint8)-15,(uint8)-14,(uint8)-13,(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1,
2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
@@ -4195,7 +4195,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
6, 6, 4, 5,208,208,208,208, 208,208,229, 6, 5, 6, 6, 6,
// state[688 + 2] 0x023000 Byte 3 of 4 (relative offsets)
--14,-13,-12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2,
+(uint8)-14,(uint8)-13,(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2,
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
@@ -4579,7 +4579,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
5, 5, 5, 5, 5, 5, 5, 6, 208,208,208,208,208,208, 6, 6,
// state[752 + 2] 0x024000 Byte 3 of 4 (relative offsets)
--13,-12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3,
+(uint8)-13,(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
@@ -4963,7 +4963,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
229, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 2, 2, 6,229,
// state[816 + 2] 0x025000 Byte 3 of 4 (relative offsets)
--12,-11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4,
+(uint8)-12,(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4,
5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
@@ -5347,7 +5347,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
6, 6, 6, 5, 5, 5, 5, 6, 6, 6, 3, 6,229,208,208,229,
// state[880 + 2] 0x026000 Byte 3 of 4 (relative offsets)
--11,-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5,
+(uint8)-11,(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5,
6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
@@ -5731,7 +5731,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
208, 6, 6,208,208,208,208,208, 6, 6, 6,216, 5, 5, 5, 5,
// state[944 + 2] 0x027000 Byte 3 of 4 (relative offsets)
--10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6,
+(uint8)-10, (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6,
7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
@@ -6115,7 +6115,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
5, 5, 5, 6,208,208, 6, 6, 208,229,208,208,208, 5, 5, 5,
// state[1008 + 2] 0x028000 Byte 3 of 4 (relative offsets)
- -9, -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7,
+ (uint8)-9, (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, 7,
8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
@@ -6499,7 +6499,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
208,208, 5, 5, 6,208,208, 5, 208,208,208, 6,208, 6,208,208,
// state[1072 + 2] 0x029000 Byte 3 of 4 (relative offsets)
- -8, -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, 8,
+ (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, 7, 8,
9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
@@ -6883,7 +6883,7 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
229,229,229,229,208,208,208,229, 208,208,208,229, 0,229,208,208,
// state[1136 + 2] 0x02a000 Byte 3 of 4 (relative offsets)
- -7, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, 2, 3, 4, 5, 6, 7, 8, 9,
10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
@@ -7075,10 +7075,10 @@ X__,X__,X__,X__,X__,X__,X__,X__, X__,X__
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
// state[1168 + 2] 0x02f000 Byte 3 of 4 (relative offsets)
- -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
- -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
- -8, -7, -6, -5, -4, -3, -2, -1, 1, -9, -9, -9, -9, -9, -9, -9,
- -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9,
+ (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9,
+ (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9,
+ (uint8)-8, (uint8)-7, (uint8)-6, (uint8)-5, (uint8)-4, (uint8)-3, (uint8)-2, (uint8)-1, 1, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9,
+ (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9, (uint8)-9,
// state[1169 + 2] 0x02fa00 Byte 4 of 4 (property)
217, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,217, 5, 5,
diff -up chromium-46.0.2490.71/third_party/webgl/src/specs/latest/2.0/webgl2.idl.gcc5 chromium-46.0.2490.71/third_party/webgl/src/specs/latest/2.0/webgl2.idl
--- chromium-46.0.2490.71/third_party/webgl/src/specs/latest/2.0/webgl2.idl.gcc5 2015-10-13 15:04:44.000000000 -0400
+++ chromium-46.0.2490.71/third_party/webgl/src/specs/latest/2.0/webgl2.idl 2015-10-16 00:54:16.603896492 -0400
@@ -261,7 +261,7 @@ interface WebGL2RenderingContextBase
const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43;
const GLenum UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44;
const GLenum UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46;
- const GLenum INVALID_INDEX = 0xFFFFFFFF;
+ const GLenum INVALID_INDEX = 256;
const GLenum MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122;
const GLenum MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125;
const GLenum MAX_SERVER_WAIT_TIMEOUT = 0x9111;
diff -up chromium-46.0.2490.71/third_party/WebKit/Source/core/dom/NodeFilter.h.gcc5 chromium-46.0.2490.71/third_party/WebKit/Source/core/dom/NodeFilter.h
--- chromium-46.0.2490.71/third_party/WebKit/Source/core/dom/NodeFilter.h.gcc5 2015-10-06 22:42:25.000000000 -0400
+++ chromium-46.0.2490.71/third_party/WebKit/Source/core/dom/NodeFilter.h 2015-10-15 23:42:00.651518569 -0400
@@ -52,7 +52,7 @@ public:
* to the value of NodeType for the equivalent node type.
*/
enum {
- SHOW_ALL = 0xFFFFFFFF,
+ SHOW_ALL = 256 /* 0xFFFFFFFF */,
SHOW_ELEMENT = 0x00000001,
SHOW_ATTRIBUTE = 0x00000002,
SHOW_TEXT = 0x00000004,
diff -up chromium-46.0.2490.71/third_party/WebKit/Source/core/dom/NodeFilter.idl.gcc5 chromium-46.0.2490.71/third_party/WebKit/Source/core/dom/NodeFilter.idl
--- chromium-46.0.2490.71/third_party/WebKit/Source/core/dom/NodeFilter.idl.gcc5 2015-10-06 22:42:25.000000000 -0400
+++ chromium-46.0.2490.71/third_party/WebKit/Source/core/dom/NodeFilter.idl 2015-10-15 23:42:00.653518525 -0400
@@ -31,7 +31,7 @@
const unsigned short FILTER_SKIP = 3;
// Constants for whatToShow
- const unsigned long SHOW_ALL = 0xFFFFFFFF;
+ const unsigned long SHOW_ALL = 256; // 0xFFFFFFFF
const unsigned long SHOW_ELEMENT = 0x1;
const unsigned long SHOW_ATTRIBUTE = 0x2; // historical
const unsigned long SHOW_TEXT = 0x4;
diff -up chromium-46.0.2490.71/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl.gcc5 chromium-46.0.2490.71/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl
--- chromium-46.0.2490.71/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl.gcc5 2015-10-13 15:04:34.000000000 -0400
+++ chromium-46.0.2490.71/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.idl 2015-10-16 00:54:52.061105191 -0400
@@ -254,7 +254,7 @@ typedef long long GLint64;
const GLenum UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43;
const GLenum UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44;
const GLenum UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46;
- const GLenum INVALID_INDEX = 0xFFFFFFFF;
+ const GLenum INVALID_INDEX = 256;
const GLenum MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122;
const GLenum MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125;
const GLenum MAX_SERVER_WAIT_TIMEOUT = 0x9111;
@@ -297,7 +297,7 @@ typedef long long GLint64;
const GLenum MAX_ELEMENT_INDEX = 0x8D6B;
const GLenum NUM_SAMPLE_COUNTS = 0x9380;
const GLenum TEXTURE_IMMUTABLE_LEVELS = 0x82DF;
- const GLint TIMEOUT_IGNORED = -1;
+ const GLint TIMEOUT_IGNORED = 256;
/* WebGL-specific enums */
const GLenum MAX_CLIENT_WAIT_TIMEOUT_WEBGL = 0x9247;

View File

@ -0,0 +1,11 @@
diff -up chromium-46.0.2490.71/chrome/test/data/webui_test_resources.grd.notest chromium-46.0.2490.71/chrome/test/data/webui_test_resources.grd
--- chromium-46.0.2490.71/chrome/test/data/webui_test_resources.grd.notest 2015-10-16 02:01:56.644149741 -0400
+++ chromium-46.0.2490.71/chrome/test/data/webui_test_resources.grd 2015-10-16 02:02:36.217285227 -0400
@@ -8,7 +8,6 @@
</outputs>
<release seq="1">
<includes>
- <include name="IDR_WEBUI_TEST_I18N_PROCESS_CSS_TEST" file="webui/i18n_process_css_test.html" flattenhtml="true" allowexternalscript="true" type="BINDATA" />
</includes>
</release>
</grit>

View File

@ -0,0 +1,12 @@
diff -up chromium-46.0.2490.86/media/cast/receiver/audio_decoder_unittest.cc.use_system_opus chromium-46.0.2490.86/media/cast/receiver/audio_decoder_unittest.cc
--- chromium-46.0.2490.86/media/cast/receiver/audio_decoder_unittest.cc.use_system_opus 2015-10-07 04:42:12.000000000 +0200
+++ chromium-46.0.2490.86/media/cast/receiver/audio_decoder_unittest.cc 2015-11-11 16:11:13.535250609 +0100
@@ -13,7 +13,7 @@
#include "media/cast/test/utility/audio_utility.h"
#include "media/cast/test/utility/standalone_cast_environment.h"
#include "testing/gtest/include/gtest/gtest.h"
-#include "third_party/opus/src/include/opus.h"
+#include <opus/opus.h>
namespace media {
namespace cast {

View File

@ -0,0 +1,27 @@
diff -up chromium-47.0.2526.80/components/nacl/loader/sandbox_linux/nacl_sandbox_linux.cc.ignore-fd-count chromium-47.0.2526.80/components/nacl/loader/sandbox_linux/nacl_sandbox_linux.cc
--- chromium-47.0.2526.80/components/nacl/loader/sandbox_linux/nacl_sandbox_linux.cc.ignore-fd-count 2015-12-15 14:48:07.119011866 -0500
+++ chromium-47.0.2526.80/components/nacl/loader/sandbox_linux/nacl_sandbox_linux.cc 2015-12-15 14:48:14.151850055 -0500
@@ -153,6 +153,14 @@ void NaClSandbox::InitializeLayerOneSand
}
void NaClSandbox::CheckForExpectedNumberOfOpenFds() {
+ // Whatever logic this code is using is wrong more often than it is right.
+ // If you set expected_num_fds to 6, it finds 7.
+ // If you set expected_num_fds to 7, it finds 6.
+ // Code like this makes a packager drink. And not the good stuff either.
+ // Instead, we're just going to smile and tell it to never care about the
+ // number of FDs open. Stupid code. We hates it.
+
+#if 0
// We expect to have the following FDs open:
// 1-3) stdin, stdout, stderr.
// 4) The /dev/urandom FD used by base::GetUrandomFD().
@@ -171,6 +179,8 @@ void NaClSandbox::CheckForExpectedNumber
}
CHECK_EQ(expected_num_fds, sandbox::ProcUtil::CountOpenFds(proc_fd_.get()));
+#endif
+
}
void NaClSandbox::InitializeLayerTwoSandbox(bool uses_nonsfi_mode) {

View File

@ -0,0 +1,11 @@
diff -up chromium-47.0.2526.80/native_client/build/untrusted.gypi.fixme chromium-47.0.2526.80/native_client/build/untrusted.gypi
--- chromium-47.0.2526.80/native_client/build/untrusted.gypi.fixme 2015-12-09 11:54:27.584962337 -0500
+++ chromium-47.0.2526.80/native_client/build/untrusted.gypi 2015-12-09 11:54:45.033571750 -0500
@@ -1564,6 +1564,7 @@
'-Wno-char-subscripts',
'-Wno-unused-function',
'-std=gnu++11',
+ '-fgnu-inline-asm',
],
'native_irt_compile_flags': [
# IRT compile/link flags to make the binary smaller.

View File

@ -0,0 +1,204 @@
diff -up chromium-48.0.2564.103/third_party/skia/src/opts/SkXfermode_opts.h.gcc6 chromium-48.0.2564.103/third_party/skia/src/opts/SkXfermode_opts.h
--- chromium-48.0.2564.103/third_party/skia/src/opts/SkXfermode_opts.h.gcc6 2016-02-16 15:01:13.200131996 -0500
+++ chromium-48.0.2564.103/third_party/skia/src/opts/SkXfermode_opts.h 2016-02-17 13:31:50.216198258 -0500
@@ -109,76 +109,71 @@ XFERMODE(Lighten) {
}
#undef XFERMODE
-// Some xfermodes use math like divide or sqrt that's best done in floats.
-// We write it generically, then call it 1 or 2 pixels at a time (T == Sk4f or Sk8f).
-#define XFERMODE(Name) struct Name { template <typename T> T operator()(const T&, const T&); }; \
- template <typename T> T Name::operator()(const T& d, const T& s)
+// Some xfermodes use math like divide or sqrt that's best done in floats 1 pixel at a time.
+#define XFERMODE(Name) static Sk4f SK_VECTORCALL Name(Sk4f d, Sk4f s)
-static_assert(SK_A32_SHIFT == 24, "");
static inline Sk4f a_rgb(const Sk4f& a, const Sk4f& rgb) {
+ static_assert(SK_A32_SHIFT == 24, "");
return a * Sk4f(0,0,0,1) + rgb * Sk4f(1,1,1,0);
}
-static inline Sk8f a_rgb(const Sk8f& a, const Sk8f& rgb) {
- // TODO: SkNx_blend<0,0,0,1,0,0,0,1>(a, rgb) to let us use _mm256_blend_ps?
- return a * Sk8f(0,0,0,1,0,0,0,1) + rgb * Sk8f(1,1,1,0,1,1,1,0);
+static inline Sk4f alphas(const Sk4f& f) {
+ return SkNx_dup<SK_A32_SHIFT/8>(f);
}
-static inline Sk4f alphas(const Sk4f& f) { return SkNx_shuffle<3,3,3,3> (f); }
-static inline Sk8f alphas(const Sk8f& f) { return SkNx_shuffle<3,3,3,3,7,7,7,7>(f); }
XFERMODE(ColorDodge) {
auto sa = alphas(s),
da = alphas(d),
- isa = T(1)-sa,
- ida = T(1)-da;
+ isa = Sk4f(1)-sa,
+ ida = Sk4f(1)-da;
auto srcover = s + d*isa,
dstover = d + s*ida,
- otherwise = sa * T::Min(da, (d*sa)*(sa-s).approxInvert()) + s*ida + d*isa;
+ otherwise = sa * Sk4f::Min(da, (d*sa)*(sa-s).approxInvert()) + s*ida + d*isa;
// Order matters here, preferring d==0 over s==sa.
- auto colors = (d == 0).thenElse(dstover,
- (s == sa).thenElse(srcover,
- otherwise));
+ auto colors = (d == Sk4f(0)).thenElse(dstover,
+ (s == sa).thenElse(srcover,
+ otherwise));
return a_rgb(srcover, colors);
}
XFERMODE(ColorBurn) {
auto sa = alphas(s),
da = alphas(d),
- isa = T(1)-sa,
- ida = T(1)-da;
+ isa = Sk4f(1)-sa,
+ ida = Sk4f(1)-da;
auto srcover = s + d*isa,
dstover = d + s*ida,
- otherwise = sa*(da-T::Min(da, (da-d)*sa*s.approxInvert())) + s*ida + d*isa;
+ otherwise = sa*(da-Sk4f::Min(da, (da-d)*sa*s.approxInvert())) + s*ida + d*isa;
// Order matters here, preferring d==da over s==0.
- auto colors = (d == da).thenElse(dstover,
- (s == 0).thenElse(srcover,
- otherwise));
+ auto colors = (d == da).thenElse(dstover,
+ (s == Sk4f(0)).thenElse(srcover,
+ otherwise));
return a_rgb(srcover, colors);
}
XFERMODE(SoftLight) {
auto sa = alphas(s),
da = alphas(d),
- isa = T(1)-sa,
- ida = T(1)-da;
+ isa = Sk4f(1)-sa,
+ ida = Sk4f(1)-da;
// Some common terms.
- auto m = (da > 0).thenElse(d / da, 0),
- s2 = s*2,
- m4 = m*4;
+ auto m = (da > Sk4f(0)).thenElse(d / da, Sk4f(0)),
+ s2 = Sk4f(2)*s,
+ m4 = Sk4f(4)*m;
// The logic forks three ways:
// 1. dark src?
// 2. light src, dark dst?
// 3. light src, light dst?
- auto darkSrc = d*(sa + (s2 - sa)*(T(1) - m)), // Used in case 1.
- darkDst = (m4*m4 + m4)*(m - 1) + m*7, // Used in case 2.
- liteDst = m.sqrt() - m, // Used in case 3.
- liteSrc = d*sa + da*(s2-sa)*(d*4 <= da).thenElse(darkDst, liteDst); // Case 2 or 3?
+ auto darkSrc = d*(sa + (s2 - sa)*(Sk4f(1) - m)), // Used in case 1.
+ darkDst = (m4*m4 + m4)*(m - Sk4f(1)) + Sk4f(7)*m, // Used in case 2.
+ liteDst = m.sqrt() - m, // Used in case 3.
+ liteSrc = d*sa + da*(s2-sa)*(Sk4f(4)*d <= da).thenElse(darkDst, liteDst); // Case 2 or 3?
auto alpha = s + d*isa;
- auto colors = s*ida + d*isa + (s2 <= sa).thenElse(darkSrc, liteSrc); // Case 1 or 2/3?
+ auto colors = s*ida + d*isa + (s2 <= sa).thenElse(darkSrc, liteSrc); // Case 1 or 2/3?
return a_rgb(alpha, colors);
}
@@ -245,52 +240,53 @@ private:
typedef SkProcCoeffXfermode INHERITED;
};
-template <typename BlendFn>
-class FloatXfermode : public SkProcCoeffXfermode {
+class Sk4fXfermode : public SkProcCoeffXfermode {
public:
- FloatXfermode(const ProcCoeff& rec, SkXfermode::Mode mode)
- : INHERITED(rec, mode) {}
+ typedef Sk4f (SK_VECTORCALL *ProcF)(Sk4f, Sk4f);
+ Sk4fXfermode(const ProcCoeff& rec, SkXfermode::Mode mode, ProcF procf)
+ : INHERITED(rec, mode)
+ , fProcF(procf) {}
void xfer32(SkPMColor dst[], const SkPMColor src[], int n, const SkAlpha aa[]) const override {
- BlendFn blend;
- while (n >= 2) {
- auto d = Sk8f::FromBytes((const uint8_t*)dst) * (1.0f/255),
- s = Sk8f::FromBytes((const uint8_t*)src) * (1.0f/255),
- b = blend(d, s);
- if (aa) {
- auto a255 = Sk8f(aa[0],aa[0],aa[0],aa[0], aa[1],aa[1],aa[1],aa[1]);
- (b*a255 + d*(Sk8f(255)-a255) + 0.5).toBytes((uint8_t*)dst);
- aa += 2;
- } else {
- (b * 255 + 0.5).toBytes((uint8_t*)dst);
- }
- dst += 2;
- src += 2;
- n -= 2;
- }
- if (n) {
- auto d = Sk4f::FromBytes((const uint8_t*)dst) * (1.0f/255),
- s = Sk4f::FromBytes((const uint8_t*)src) * (1.0f/255),
- b = blend(d, s);
- if (aa) {
- auto a255 = Sk4f(aa[0],aa[0],aa[0],aa[0]);
- (b*a255 + d*(Sk4f(255)-a255) + 0.5).toBytes((uint8_t*)dst);
- aa++;
- } else {
- (b * 255 + 0.5).toBytes((uint8_t*)dst);
- }
+ for (int i = 0; i < n; i++) {
+ dst[i] = aa ? this->xfer32(dst[i], src[i], aa[i])
+ : this->xfer32(dst[i], src[i]);
}
}
void xfer16(uint16_t dst[], const SkPMColor src[], int n, const SkAlpha aa[]) const override {
for (int i = 0; i < n; i++) {
- SkPMColor dst32 = SkPixel16ToPixel32(dst[i]); // Convert dst up to 8888.
- this->xfer32(&dst32, src+i, 1, aa ? aa+i : nullptr); // Blend 1 pixel.
- dst[i] = SkPixel32ToPixel16(dst32); // Repack dst to 565 and store.
+ SkPMColor dst32 = SkPixel16ToPixel32(dst[i]);
+ dst32 = aa ? this->xfer32(dst32, src[i], aa[i])
+ : this->xfer32(dst32, src[i]);
+ dst[i] = SkPixel32ToPixel16(dst32);
}
}
private:
+ static Sk4f Load(SkPMColor c) {
+ return Sk4f::FromBytes((uint8_t*)&c) * Sk4f(1.0f/255);
+ }
+ static SkPMColor Round(const Sk4f& f) {
+ SkPMColor c;
+ (f * Sk4f(255) + Sk4f(0.5f)).toBytes((uint8_t*)&c);
+ return c;
+ }
+ inline SkPMColor xfer32(SkPMColor dst, SkPMColor src) const {
+ return Round(fProcF(Load(dst), Load(src)));
+ }
+
+ inline SkPMColor xfer32(SkPMColor dst, SkPMColor src, SkAlpha aa) const {
+ Sk4f s(Load(src)),
+ d(Load(dst)),
+ b(fProcF(d,s));
+ // We do aa in full float precision before going back down to bytes, because we can!
+ Sk4f a = Sk4f(aa) * Sk4f(1.0f/255);
+ b = b*a + d*(Sk4f(1)-a);
+ return Round(b);
+ }
+
+ ProcF fProcF;
typedef SkProcCoeffXfermode INHERITED;
};
@@ -327,7 +323,7 @@ static SkXfermode* create_xfermode(const
#undef CASE
#define CASE(Mode) \
- case SkXfermode::k##Mode##_Mode: return new FloatXfermode<Mode>(rec, mode)
+ case SkXfermode::k##Mode##_Mode: return new Sk4fXfermode(rec, mode, &Mode)
CASE(ColorDodge);
CASE(ColorBurn);
CASE(SoftLight);

View File

@ -0,0 +1,15 @@
diff -up chromium-48.0.2564.116/device/usb/usb_context.cc.modern-libusbx chromium-48.0.2564.116/device/usb/usb_context.cc
--- chromium-48.0.2564.116/device/usb/usb_context.cc.modern-libusbx 2016-02-24 10:21:10.534996028 -0500
+++ chromium-48.0.2564.116/device/usb/usb_context.cc 2016-02-24 10:22:28.270499864 -0500
@@ -57,7 +57,11 @@ void UsbContext::UsbEventHandler::Run()
void UsbContext::UsbEventHandler::Stop() {
base::subtle::Release_Store(&running_, 0);
+#ifdef LIBUSB_API_VERSION >= 0x01000105
+ libusb_interrupt_event_handler(context_);
+#else
libusb_interrupt_handle_event(context_);
+#endif
}
UsbContext::UsbContext(PlatformUsbContext context) : context_(context) {

View File

@ -0,0 +1,11 @@
diff -up chromium-50.0.2661.86/third_party/boringssl/boringssl.gyp.addrfix chromium-50.0.2661.86/third_party/boringssl/boringssl.gyp
--- chromium-50.0.2661.86/third_party/boringssl/boringssl.gyp.addrfix 2016-04-27 13:26:38.483282586 -0400
+++ chromium-50.0.2661.86/third_party/boringssl/boringssl.gyp 2016-04-27 13:28:19.843065230 -0400
@@ -18,6 +18,7 @@
'BORINGSSL_IMPLEMENTATION',
'BORINGSSL_NO_STATIC_INITIALIZER',
'OPENSSL_SMALL',
+ '_POSIX_C_SOURCE=200112L',
],
'dependencies': [ 'boringssl_asm' ],
# TODO(davidben): Fix size_t truncations in BoringSSL.

View File

@ -0,0 +1,12 @@
diff -up chromium-50.0.2661.94/build/linux/unbundle/re2.gyp.unbundle-fix chromium-50.0.2661.94/build/linux/unbundle/re2.gyp
--- chromium-50.0.2661.94/build/linux/unbundle/re2.gyp.unbundle-fix 2016-03-25 09:04:44.000000000 -0400
+++ chromium-50.0.2661.94/build/linux/unbundle/re2.gyp 2016-05-03 12:24:38.850296350 -0400
@@ -8,7 +8,7 @@
'target_name': 're2',
'type': 'none',
'variables': {
- 'headers_root_path': '.',
+ 'headers_root_path': 'src/',
'header_filenames': [
're2/filtered_re2.h',
're2/re2.h',

View File

@ -0,0 +1,12 @@
diff -up chromium-52.0.2723.2/third_party/WebKit/Source/platform/image-decoders/png/PNGImageDecoder.cpp.fixcast chromium-52.0.2723.2/third_party/WebKit/Source/platform/image-decoders/png/PNGImageDecoder.cpp
--- chromium-52.0.2723.2/third_party/WebKit/Source/platform/image-decoders/png/PNGImageDecoder.cpp.fixcast 2016-05-10 09:43:31.637003844 -0400
+++ chromium-52.0.2723.2/third_party/WebKit/Source/platform/image-decoders/png/PNGImageDecoder.cpp 2016-05-10 09:43:43.523741296 -0400
@@ -234,7 +234,7 @@ void PNGImageDecoder::headerAvailable()
#endif
png_uint_32 profileLength = 0;
if (png_get_iCCP(png, info, &profileName, &compressionType, &profile, &profileLength)) {
- setColorProfileAndTransform(profile, profileLength, imageHasAlpha, false /* useSRGB */);
+ setColorProfileAndTransform((const char*)profile, profileLength, imageHasAlpha, false /* useSRGB */);
}
}
#endif // PNG_iCCP_SUPPORTED

View File

@ -0,0 +1,11 @@
diff -up chromium-52.0.2723.2/sync/sync_tests.gypi.sync_link_zlib chromium-52.0.2723.2/sync/sync_tests.gypi
--- chromium-52.0.2723.2/sync/sync_tests.gypi.sync_link_zlib 2016-05-09 14:22:30.884719562 -0400
+++ chromium-52.0.2723.2/sync/sync_tests.gypi 2016-05-09 14:24:06.337517725 -0400
@@ -264,6 +264,7 @@
'../testing/gtest.gyp:gtest',
'../third_party/leveldatabase/leveldatabase.gyp:leveldatabase',
'../third_party/protobuf/protobuf.gyp:protobuf_lite',
+ '../third_party/zlib/zlib.gyp:zlib',
'sync',
'test_support_sync_api',
'test_support_sync_core',

View File

@ -0,0 +1,12 @@
diff -up chromium-52.0.2723.2/content/browser/time_zone_monitor.cc.system-icu chromium-52.0.2723.2/content/browser/time_zone_monitor.cc
--- chromium-52.0.2723.2/content/browser/time_zone_monitor.cc.system-icu 2016-05-09 14:01:42.751588803 -0400
+++ chromium-52.0.2723.2/content/browser/time_zone_monitor.cc 2016-05-09 14:09:22.663951240 -0400
@@ -23,7 +23,7 @@ TimeZoneMonitor::~TimeZoneMonitor() {
void TimeZoneMonitor::NotifyRenderers() {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
-#if defined(OS_CHROMEOS)
+#if defined(OS_CHROMEOS) || U_ICU_VERSION_MAJOR_NUM < 55
// On CrOS, ICU's default tz is already set to a new zone. No
// need to redetect it with detectHostTimeZone().
std::unique_ptr<icu::TimeZone> new_zone(icu::TimeZone::createDefault());

View File

@ -0,0 +1,12 @@
diff -up chromium-52.0.2723.2/ui/gfx/render_text_harfbuzz.h.use_system_harfbuzz chromium-52.0.2723.2/ui/gfx/render_text_harfbuzz.h
--- chromium-52.0.2723.2/ui/gfx/render_text_harfbuzz.h.use_system_harfbuzz 2016-05-09 14:17:34.867555791 -0400
+++ chromium-52.0.2723.2/ui/gfx/render_text_harfbuzz.h 2016-05-09 14:18:56.131677853 -0400
@@ -13,7 +13,7 @@
#include "base/gtest_prod_util.h"
#include "base/macros.h"
#include "base/memory/scoped_vector.h"
-#include "third_party/harfbuzz-ng/src/hb.h"
+#include <harfbuzz/hb.h>
#include "third_party/icu/source/common/unicode/ubidi.h"
#include "third_party/icu/source/common/unicode/uscript.h"
#include "ui/gfx/render_text.h"

140
chromium-browser.desktop Normal file
View File

@ -0,0 +1,140 @@
[Desktop Entry]
Version=1.0
Name=Chromium Web Browser
Name[ast]=Restolador web Chromium
Name[ca]=Navegador web Chromium
Name[de]=Chromium-Webbrowser
Name[es]=Navegador web Chromium
Name[fr]=Navigateur Web Chromium
Name[gl]=Navegador web Chromium
Name[he]=דפדפן האינטרנט Chromium
Name[hr]=Chromium web preglednik
Name[hu]=Chromium webböngésző
Name[id]=Peramban Web Chromium
Name[it]=Browser web Chromium
Name[ja]=Chromium
Name[ko]=Chromium
Name[pt_BR]=Chromium Navegador da Internet
Name[ru]=Веб-браузер Chromium
Name[sl]=Chromium spletni brskalnik
Name[sv]=Webbläsaren Chromium
Name[ug]=Chromium توركۆرگۈ
Name[zh_CN]=Chromium
Name[zh_HK]=Chromium
Name[zh_TW]=Chromium
Comment=Access the Internet
Comment[ar]=الدخول إلى الإنترنت
Comment[ast]=Accesu a Internet
Comment[bg]=Достъп до интернет
Comment[bn]=ি
Comment[ca]=Accediu a Internet
Comment[cs]=Přístup k internetu
Comment[da]=Få adgang til internettet
Comment[de]=Internetzugriff
Comment[el]=Πρόσβαση στο Διαδίκτυο
Comment[en_GB]=Access the Internet
Comment[es]=Acceda a Internet
Comment[et]=Pääs Internetti
Comment[fi]=Käytä internetiä
Comment[fil]=I-access ang Internet
Comment[fr]=Explorer le Web
Comment[gl]=Acceda a Internet
Comment[gu]=
Comment[he]=גישה לאינטרנט
Comment[hi]= ि
Comment[hr]=Pristupite Internetu
Comment[hu]=Az internet elérése
Comment[id]=Akses Internet
Comment[it]=Accesso a Internet
Comment[ja]=
Comment[kn]= ಿಿs
Comment[ko]=
Comment[lt]=Interneto prieiga
Comment[lv]=Piekļūt internetam
Comment[ml]=
Comment[mr]=
Comment[nb]=Gå til Internett
Comment[nl]=Verbinding maken met internet
Comment[or]=
Comment[pl]=Skorzystaj z internetu
Comment[pt]=Aceder à Internet
Comment[pt_BR]=Acessar a internet
Comment[ro]=Accesaţi Internetul
Comment[ru]=Доступ в Интернет
Comment[sk]=Prístup do siete Internet
Comment[sl]=Dostop do interneta
Comment[sr]=Приступите Интернету
Comment[sv]=Surfa på Internet
Comment[ta]=
Comment[te]= ి
Comment[th]=
Comment[tr]=İnternet'e erişin
Comment[ug]=ئىنتېرنېتنى زىيارەت قىلىش
Comment[uk]=Доступ до Інтернету
Comment[vi]=Truy cp Internet
Comment[zh_CN]=访
Comment[zh_HK]=
Comment[zh_TW]=
GenericName=Web Browser
GenericName[ar]=متصفح الشبكة
GenericName[ast]=Restolador web
GenericName[bg]=Уеб браузър
GenericName[bn]=
GenericName[ca]=Navegador web
GenericName[cs]=WWW prohlížeč
GenericName[da]=Browser
GenericName[de]=Web-Browser
GenericName[el]=Περιηγητής ιστού
GenericName[en_GB]=Web Browser
GenericName[es]=Navegador web
GenericName[et]=Veebibrauser
GenericName[fi]=WWW-selain
GenericName[fil]=Web Browser
GenericName[fr]=Navigateur Web
GenericName[gl]=Navegador web
GenericName[gu]=
GenericName[he]=דפדפן אינטרנט
GenericName[hi]=
GenericName[hr]=Web preglednik
GenericName[hu]=Webböngésző
GenericName[id]=Peramban Web
GenericName[it]=Browser web
GenericName[ja]=
GenericName[kn]=
GenericName[ko]=
GenericName[lt]=Žiniatinklio naršyklė
GenericName[lv]=Tīmekļa pārlūks
GenericName[ml]=
GenericName[mr]=
GenericName[nb]=Nettleser
GenericName[nl]=Webbrowser
GenericName[or]=
GenericName[pl]=Przeglądarka WWW
GenericName[pt]=Navegador Web
GenericName[pt_BR]=Navegador da Internet
GenericName[ro]=Navigator de Internet
GenericName[ru]=Веб-браузер
GenericName[sk]=WWW prehliadač
GenericName[sl]=Spletni brskalnik
GenericName[sr]=Интернет прегледник
GenericName[sv]=Webbläsare
GenericName[ta]= ி
GenericName[te]= ి
GenericName[th]=
GenericName[tr]=Web Tarayıcı
GenericName[ug]=توركۆرگۈ
GenericName[uk]=Навігатор Тенет
GenericName[vi]=B duyt Web
GenericName[zh_CN]=
GenericName[zh_HK]=
GenericName[zh_TW]=
Exec=/usr/bin/chromium-browser %U
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=chromium-browser
Categories=Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;
StartupWMClass=Chromium-browser
StartupNotify=true

57
chromium-browser.sh Executable file
View File

@ -0,0 +1,57 @@
#!/bin/bash
#
# 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.
# Let the wrapped binary know that it has been run through the wrapper.
export CHROME_WRAPPER="`readlink -f "$0"`"
HERE="`dirname "$CHROME_WRAPPER"`"
# We include some xdg utilities next to the binary, and we want to prefer them
# over the system versions when we know the system versions are very old. We
# detect whether the system xdg utilities are sufficiently new to be likely to
# work for us by looking for xdg-settings. If we find it, we leave $PATH alone,
# so that the system xdg utilities (including any distro patches) will be used.
if ! which xdg-settings &> /dev/null; then
# Old xdg utilities. Prepend $HERE to $PATH to use ours instead.
export PATH="$HERE:$PATH"
else
# Use system xdg utilities. But first create mimeapps.list if it doesn't
# exist; some systems have bugs in xdg-mime that make it fail without it.
xdg_app_dir="${XDG_DATA_HOME:-$HOME/.local/share/applications}"
mkdir -p "$xdg_app_dir"
[ -f "$xdg_app_dir/mimeapps.list" ] || touch "$xdg_app_dir/mimeapps.list"
fi
# Always use our versions of ffmpeg libs.
# This also makes RPMs find the compatibly-named library symlinks.
if [[ -n "$LD_LIBRARY_PATH" ]]; then
LD_LIBRARY_PATH="$HERE:$HERE/lib:$LD_LIBRARY_PATH"
else
LD_LIBRARY_PATH="$HERE:$HERE/lib"
fi
export LD_LIBRARY_PATH
export CHROME_VERSION_EXTRA="Built from source for @@BUILD_TARGET@@"
# We don't want bug-buddy intercepting our crashes. http://crbug.com/24120
export GNOME_DISABLE_CRASH_DIALOG=SET_BY_GOOGLE_CHROME
CHROMIUM_DISTRO_FLAGS=" --enable-plugins \
--enable-extensions \
--enable-user-scripts \
--enable-printing \
--enable-sync \
--auto-ssl-client-auth @@EXTRA_FLAGS@@"
if [ -f "$HERE/PepperFlash/libpepflashplayer.so" ] && [ -f "$HERE/PepperFlash/manifest.json" ] ; then
CHROMIUM_FLASH_VERSION=$(grep '"version":' "$HERE/PepperFlash/manifest.json" | awk -F\" '{ print $4 }')
CHROMIUM_FLASH_FLAGS=" --ppapi-flash-path=$HERE/PepperFlash/libpepflashplayer.so \
--ppapi-flash-version=$CHROMIUM_FLASH_VERSION"
else
CHROMIUM_FLASH_FLAGS=""
fi
exec -a "$0" "$HERE/@@CHROMIUM_BROWSER_CHANNEL@@" $CHROMIUM_DISTRO_FLAGS $CHROMIUM_FLASH_FLAGS "$@"

18
chromium-browser.xml Normal file
View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE default-apps SYSTEM "gnome-da-list.dtd">
<default-apps>
<web-browsers>
<web-browser>
<name>Chromium</name>
<executable>chromium-browser</executable>
<command>/usr/bin/chromium-browser %s</command>
<icon-name>chromium-browser</icon-name>
<run-in-terminal>false</run-in-terminal>
<netscape-remote>false</netscape-remote>
<!--
<tab-command>false</tab-command>
<win-command>false</win-command>
-->
</web-browser>
</web-browsers>
</default-apps>

337
chromium-latest.py Executable file
View File

@ -0,0 +1,337 @@
#!/usr/bin/python
# Copyright 2010,2015-2016 Tom Callaway <tcallawa@redhat.com>
# Copyright 2013-2016 Tomas Popela <tpopela@redhat.com>
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
try:
import argparse
optparse = False
except ImportError:
from optparse import OptionParser
optparse = True
import csv
import glob
import hashlib
import locale
import os
import shutil
import StringIO
import sys
import urllib
chromium_url = "http://commondatastorage.googleapis.com/chromium-browser-official/"
chromium_root_dir = "."
version_string = "stable"
name = 'Chromium Latest'
script_version = 0.8
my_description = '{0} {1}'.format(name, script_version)
def dlProgress(count, blockSize, totalSize):
if (totalSize <= blockSize):
percent = int(count * 100)
else:
percent = int(count * blockSize * 100 / totalSize)
sys.stdout.write("\r" + "Downloading ... %d%%" % percent)
sys.stdout.flush()
def delete_chromium_dir(ch_dir):
full_dir = "%s/%s" % (latest_dir, ch_dir)
print 'Deleting %s ' % full_dir
if os.path.isdir(full_dir):
shutil.rmtree(full_dir)
print '[DONE]'
else:
print '[NOT FOUND]'
def delete_chromium_files(files):
full_path = "%s/%s" % (latest_dir, files)
print 'Deleting ' + full_path + ' ',
for filename in glob.glob(full_path):
print 'Deleting ' + filename + ' ',
os.remove(filename)
print '[DONE]'
def check_omahaproxy(channel="stable"):
version = 0
status_url = "http://omahaproxy.appspot.com/all?os=linux&channel=" + channel
usock = urllib.urlopen(status_url)
status_dump = usock.read()
usock.close()
status_list = StringIO.StringIO(status_dump)
status_reader = list(csv.reader(status_list, delimiter=','))
linux_channels = [s for s in status_reader if "linux" in s]
linux_channel = [s for s in linux_channels if channel in s]
version = linux_channel[0][2]
if version == 0:
print 'I could not find the latest %s build. Bailing out.' % channel
sys.exit(1)
else:
print 'Latest Chromium Version on %s at %s is %s' % (channel, status_url, version)
return version
def remove_file_if_exists(filename):
if os.path.isfile("./%s" % filename):
try:
os.remove(filename)
except Exception:
pass
def download_file_and_compare_hashes(file_to_download):
hashes_file = '%s.hashes' % file_to_download
if (args.clean):
remove_file_if_exists(file_to_download)
remove_file_if_exists(hashes_file)
# Let's make sure we haven't already downloaded it.
tarball_local_file = "./%s" % file_to_download
if os.path.isfile(tarball_local_file):
print "%s already exists!" % file_to_download
else:
path = '%s%s' % (chromium_url, file_to_download)
print "Downloading %s" % path
# Perhaps look at using python-progressbar at some point?
info=urllib.urlretrieve(path, file_to_download, reporthook=dlProgress)[1]
urllib.urlcleanup()
print ""
if (info["Content-Type"] != "application/x-tar"):
print 'Chromium tarballs for %s are not on servers.' % file_to_download
remove_file_if_exists (file_to_download)
sys.exit(1)
hashes_local_file = "./%s" % hashes_file
if not os.path.isfile(hashes_local_file):
path = '%s%s' % (chromium_url, hashes_file)
print "Downloading %s" % path
# Perhaps look at using python-progressbar at some point?
info=urllib.urlretrieve(path, hashes_file, reporthook=dlProgress)[1]
urllib.urlcleanup()
print ""
if os.path.isfile(hashes_local_file):
with open(hashes_local_file, "r") as input_file:
md5sum = input_file.readline().split()[1]
md5 = hashlib.md5()
with open(tarball_local_file, "rb") as f:
for block in iter(lambda: f.read(65536), b""):
md5.update(block)
if (md5sum == md5.hexdigest()):
print "MD5 matches for %s!" % file_to_download
else:
print "MD5 mismatch for %s!" % file_to_download
sys.exit(1)
else:
print "Cannot compare hashes for %s!" % file_to_download
def download_version(version):
download_file_and_compare_hashes ('chromium-%s.tar.xz' % version)
if (args.tests):
download_file_and_compare_hashes ('chromium-%s-testdata.tar.xz' % version)
def nacl_versions(version):
myvars = {}
chrome_dir = './chromium-%s' % version
with open(chrome_dir + "/native_client/tools/REVISIONS") as myfile:
for line in myfile:
name, var = line.partition("=")[::2]
myvars[name] = var
print "nacl-binutils commit: %s" % myvars["NACL_BINUTILS_COMMIT"]
print "nacl-gcc commit: %s" % myvars["NACL_GCC_COMMIT"]
print "nacl-newlib commit: %s" % myvars["NACL_NEWLIB_COMMIT"]
# Parse GIT_REVISIONS dict from toolchain_build.py
sys.path.append(os.path.abspath(chrome_dir + "/native_client/toolchain_build"))
from toolchain_build import GIT_REVISIONS
print "nacl-arm-binutils commit: %s" % GIT_REVISIONS['binutils']['rev']
print "nacl-arm-gcc commit: %s" % GIT_REVISIONS['gcc']['rev']
def download_chrome_latest_rpm(arch):
chrome_rpm = 'google-chrome-%s_current_%s.rpm' % (version_string, arch)
path = 'https://dl.google.com/linux/direct/%s' % chrome_rpm
if (args.clean):
remove_file_if_exists(chrome_rpm)
# Let's make sure we haven't already downloaded it.
if os.path.isfile("./%s" % chrome_rpm):
print "%s already exists!" % chrome_rpm
else:
print "Downloading %s" % path
# Perhaps look at using python-progressbar at some point?
info=urllib.urlretrieve(path, chrome_rpm, reporthook=dlProgress)[1]
urllib.urlcleanup()
print ""
if (info["Content-Type"] != "binary/octet-stream" and info["Content-Type"] != "application/x-redhat-package-manager"):
print 'Chrome %s rpms are not on servers.' % version_string
remove_file_if_exists (chrome_rpm)
sys.exit(1)
# This is where the magic happens
if __name__ == '__main__':
# Locale magic
locale.setlocale(locale.LC_ALL, '')
# Create the parser object
if optparse:
parser = OptionParser(description=my_description)
parser_add_argument = parser.add_option
else:
parser = argparse.ArgumentParser(description=my_description)
parser_add_argument = parser.add_argument
parser_add_argument(
'--ffmpegarm', action='store_true',
help='Leave arm sources when cleaning ffmpeg')
parser_add_argument(
'--beta', action='store_true',
help='Get the latest beta Chromium source')
parser_add_argument(
'--clean', action='store_true',
help='Re-download all previously downloaded sources')
parser_add_argument(
'--cleansources', action='store_true',
help='Get the latest Chromium release from given channel and clean various directories to from unnecessary or unwanted stuff')
parser_add_argument(
'--dev', action='store_true',
help='Get the latest dev Chromium source')
parser_add_argument(
'--ffmpegclean', action='store_true',
help='Get the latest Chromium release from given channel and cleans ffmpeg sources from proprietary stuff')
parser_add_argument(
'--chrome', action='store_true',
help='Get the latest Chrome rpms for the given channel')
parser_add_argument(
'--prep', action='store_true',
help='Prepare everything, but don\'t compress the result')
parser_add_argument(
'--stable', action='store_true',
help='Get the latest stable Chromium source')
parser_add_argument(
'--tests', action='store_true',
help='Get the additional data for running tests')
parser_add_argument(
'--version',
help='Download a specific version of Chromium')
# Parse the args
if optparse:
args, options = parser.parse_args()
else:
args = parser.parse_args()
if args.stable:
version_string = "stable"
elif args.beta:
version_string = "beta"
elif args.dev:
version_string = "dev"
elif (not (args.stable or args.beta or args.dev)):
if (not args.version):
print 'No version specified, downloading STABLE'
args.stable = True
chromium_version = args.version if args.version else check_omahaproxy(version_string)
if args.dev:
version_string = "unstable"
if args.chrome:
if args.version:
print 'You cannot specify a Chrome RPM version!'
sys.exit(1)
latest = 'google-chrome-%s_current_i386' % version_string
download_chrome_latest_rpm("i386")
latest = 'google-chrome-%s_current_x86_64' % version_string
download_chrome_latest_rpm("x86_64")
if (not (args.ffmpegclean or args.tests)):
sys.exit(0)
latest = 'chromium-%s.tar.xz' % chromium_version
download_version(chromium_version)
# Lets make sure we haven't unpacked it already
latest_dir = "%s/chromium-%s" % (chromium_root_dir, chromium_version)
if (args.clean and os.path.isdir(latest_dir)):
shutil.rmtree(latest_dir)
if os.path.isdir(latest_dir):
print "%s already exists, perhaps %s has already been unpacked?" % (latest_dir, latest)
else:
print "Unpacking %s into %s, please wait." % (latest, latest_dir)
if (os.system("tar -xJf %s" % latest) != 0):
print "%s is possibly corrupted, exiting." % (latest)
sys.exit(1)
nacl_versions(chromium_version)
if (args.cleansources):
junk_dirs = ['third_party/WebKit/Tools/Scripts/webkitpy/layout_tests',
'webkit/data/layout_tests', 'third_party/hunspell/dictionaries',
'chrome/test/data', 'native_client/tests',
'third_party/WebKit/LayoutTests']
# First, the dirs:
for directory in junk_dirs:
delete_chromium_dir(directory)
# There has got to be a better, more portable way to do this.
os.system("find %s -depth -name reference_build -type d -exec rm -rf {} \;" % latest_dir)
# I could not find good bindings for xz/lzma support, so we system call here too.
chromium_clean_xz_file = "chromium-" + chromium_version + "-clean.tar.xz"
remove_file_if_exists(chromium_clean_xz_file)
if (args.ffmpegclean):
print("Cleaning ffmpeg from proprietary things...")
os.system("./clean_ffmpeg.sh %s %d" % (latest_dir, 0 if args.ffmpegarm else 1))
print "Done!"
if (not args.prep):
print "Compressing cleaned tree, please wait..."
os.chdir(chromium_root_dir)
os.system("tar --exclude=\.svn -cf - chromium-%s | xz -9 -T 0 -f > %s" % (chromium_version, chromium_clean_xz_file))
print "Finished!"

1663
chromium.spec Normal file

File diff suppressed because it is too large Load Diff

212
clean_ffmpeg.sh Executable file
View File

@ -0,0 +1,212 @@
#!/bin/bash
# Copyright 2013-2015 Tomas Popela <tpopela@redhat.com>
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# $1 files
# $2 verbose
function copy_files() {
for file in $1
do
dir_name=`echo $file | sed 's%/[^/]*$%/%'`
if [[ $dir_name == */* ]]; then
tmp_dir_name="tmp_"$dir_name
mkdir -p ../tmp_ffmpeg/$tmp_dir_name
else
tmp_dir_name=$file
fi
if [ "$2" -eq 1 ]; then
cp $file ../tmp_ffmpeg/$tmp_dir_name
else
cp $file ../tmp_ffmpeg/$tmp_dir_name > /dev/null 2>&1
fi
done
}
where=`pwd`
generated_files=`./get_free_ffmpeg_source_files.py $1 $2`
# As the build system files does not contain the header files, cheat here
# and generate the header files names from source files. These that does not
# exist will be later skipped while copying.
generated_files_headers="${generated_files//.c/.h}"
generated_files_headers="$generated_files_headers ${generated_files//.c/_internal.h}"
if [ "$2" -ne "1" ]; then
generated_files_headers="$generated_files_headers ${generated_files//.S/.h}"
fi
generated_files_headers="$generated_files_headers ${generated_files//.asm/.h}"
header_files=" libavcodec/x86/inline_asm.h \
libavcodec/x86/mathops.h \
libavcodec/x86/vp56_arith.h \
libavcodec/avcodec.h \
libavcodec/blockdsp.h \
libavcodec/bytestream.h \
libavcodec/dct.h \
libavcodec/error_resilience.h \
libavcodec/fdctdsp.h \
libavcodec/fft.h \
libavcodec/fft-internal.h \
libavcodec/fft_table.h \
libavcodec/flac.h \
libavcodec/frame_thread_encoder.h \
libavcodec/get_bits.h \
libavcodec/h263dsp.h \
libavcodec/h264chroma.h \
libavcodec/idctdsp.h \
libavcodec/internal.h \
libavcodec/mathops.h \
libavcodec/me_cmp.h \
libavcodec/motion_est.h \
libavcodec/mpegpicture.h \
libavcodec/mpegutils.h \
libavcodec/mpegvideo.h \
libavcodec/mpegvideodsp.h \
libavcodec/mpegvideoencdsp.h \
libavcodec/options_table.h \
libavcodec/pcm_tablegen.h \
libavcodec/pixblockdsp.h \
libavcodec/pixels.h \
libavcodec/put_bits.h \
libavcodec/qpeldsp.h \
libavcodec/ratecontrol.h \
libavcodec/rectangle.h \
libavcodec/rl.h \
libavcodec/rnd_avg.h \
libavcodec/thread.h \
libavcodec/version.h \
libavcodec/vp3data.h \
libavcodec/vp56.h \
libavcodec/vp56dsp.h \
libavcodec/vp8data.h \
libavformat/audiointerleave.h \
libavformat/avformat.h \
libavformat/dv.h \
libavformat/internal.h \
libavformat/pcm.h \
libavformat/rdt.h \
libavformat/rtp.h \
libavformat/rtpdec.h \
libavformat/spdif.h \
libavformat/srtp.h \
libavformat/options_table.h \
libavformat/version.h \
libavformat/w64.h \
libavutil/x86/asm.h \
libavutil/x86/bswap.h \
libavutil/x86/cpu.h \
libavutil/x86/emms.h
libavutil/x86/intreadwrite.h \
libavutil/x86/intmath.h
libavutil/x86/timer.h \
libavutil/atomic.h \
libavutil/atomic_gcc.h \
libavutil/attributes.h \
libavutil/audio_fifo.h \
libavutil/avassert.h \
libavutil/avutil.h \
libavutil/bswap.h \
libavutil/common.h \
libavutil/colorspace.h \
libavutil/cpu.h \
libavutil/cpu_internal.h \
libavutil/dynarray.h \
libavutil/internal.h \
libavutil/intfloat.h \
libavutil/intreadwrite.h \
libavutil/libm.h \
libavutil/lls.h \
libavutil/macros.h \
libavutil/pixfmt.h \
libavutil/qsort.h \
libavutil/replaygain.h \
libavutil/thread.h \
libavutil/timer.h \
libavutil/timestamp.h \
libavutil/version.h \
libswresample/swresample.h \
libswresample/version.h \
compat/va_copy.h "
manual_files=" libavcodec/x86/hpeldsp_rnd_template.c \
libavcodec/x86/rnd_template.c \
libavcodec/x86/videodsp_init.c \
libavcodec/x86/vorbisdsp_init.c \
libavcodec/bit_depth_template.c \
libavcodec/fft_template.c \
libavcodec/h264pred_template.c \
libavcodec/hpel_template.c \
libavcodec/mdct_template.c \
libavcodec/pel_template.c \
libavcodec/utils.c \
libavcodec/videodsp_template.c \
libavformat/options.c \
libavformat/pcm.c \
libavformat/utils.c \
libavutil/cpu.c \
libavutil/x86/cpu.c \
libavutil/x86/float_dsp_init.c \
libavutil/x86/x86inc.asm \
libavutil/x86/x86util.asm "
other_files=" BUILD.gn \
Changelog \
COPYING.GPLv2 \
COPYING.GPLv3 \
COPYING.LGPLv2.1 \
COPYING.LGPLv3 \
CREDITS \
CREDITS.chromium \
ffmpeg.gyp \
ffmpeg_generated.gypi \
ffmpeg_generated.gni \
ffmpeg_options.gni \
ffmpegsumo.ver \
INSTALL.md \
LICENSE.md \
MAINTAINERS \
OWNERS \
README.chromium \
README.md \
RELEASE \
xcode_hack.c "
cd $1/third_party/ffmpeg
copy_files "$generated_files" 0
copy_files "$generated_files_headers" 0
copy_files "$manual_files" 1
copy_files "$other_files" 1
copy_files "$header_files" 1
mkdir -p ../tmp_ffmpeg/tmp_chromium/config
cp -r chromium/config ../tmp_ffmpeg/tmp_chromium
cd ../tmp_ffmpeg
for tmp_directory in $(find . -type d -name 'tmp_*')
do
new_name=`echo $tmp_directory | sed 's/tmp_//'`
mv $tmp_directory $new_name
done
cd $where
rm -rf $1/third_party/ffmpeg
mv $1/third_party/tmp_ffmpeg $1/third_party/ffmpeg

73
get_free_ffmpeg_source_files.py Executable file
View File

@ -0,0 +1,73 @@
#!/usr/bin/python
# Copyright 2015 Tomas Popela <tpopela@redhat.com>
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
import sys
import re
def append_sources (input_sources, output_sources):
# Get the source files.
source_files = re.findall(r"\"(.*?)\"", input_sources)
output_sources += source_files
def parse_sources(input_sources, output_sources, arch_not_arm):
# Get the type of sources in one group and sources itself in the other one.
blocks = re.findall(r"(ffmpeg[^\s]*).*?\[(.*?)]", input_sources, re.DOTALL)
for block in blocks:
if (arch_not_arm):
if not 'ffmpeg_gas_sources' in block[0]:
append_sources (block[1], output_sources)
else:
append_sources (block[1], output_sources)
def parse_ffmpeg_gyni_file(gyni_path, arch_not_arm):
with open(gyni_path, "r") as input_file:
content = input_file.read().replace('\n', '')
output_sources = []
# Get all the sections.
sections = re.findall(r"if (.*?})", content, re.DOTALL)
for section in sections:
# Get all the conditions (first group) and sources (second group)for the
# current section.
blocks = re.findall(r"(\(.*?\))\s\{(.*?)\}", section, re.DOTALL)
for block in blocks:
conditions = re.findall(r"\(?\((.*?)\)", block[0])
for condition in conditions:
limitations = ['is_linux', 'ffmpeg_branding == "Chromium"']
if all(limitation in condition for limitation in limitations):
if (arch_not_arm):
if ('x64' in condition) or ('x86' in condition):
parse_sources (block[1], output_sources, arch_not_arm)
else:
parse_sources (block[1], output_sources, arch_not_arm)
print ' '.join(output_sources)
if __name__ == "__main__":
path = "%s/third_party/ffmpeg/ffmpeg_generated.gni" % sys.argv[1]
parse_ffmpeg_gyni_file (path, False if sys.argv[2] == "0" else True)

121
get_linux_tests_names.py Executable file
View File

@ -0,0 +1,121 @@
#!/usr/bin/python
# Copyright 2015 Tomas Popela <tpopela@redhat.com>
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
try:
import argparse
optparse = False
except ImportError:
from optparse import OptionParser
optparse = True
import locale
import simplejson as json
import sys
import os
if __name__ == "__main__":
added = []
# Create the parser object
if optparse:
parser = OptionParser()
parser_add_argument = parser.add_option
else:
parser = argparse.ArgumentParser()
parser_add_argument = parser.add_argument
parser_add_argument(
'--check',
help='Check the tests against given SPEC file')
parser_add_argument(
'--spec', action='store_true',
help='Prints the test targets in format suitable for SPEC file')
parser_add_argument(
'path', nargs='?', default=os.getcwd(),
help='Path to Chromium sources')
# Parse the args
if optparse:
args, options = parser.parse_args()
else:
args = parser.parse_args()
tests_path = "%s/testing/buildbot/chromium.linux.json" % args.path
try:
with open(tests_path, "r") as input_file:
json_file = json.load(input_file)
except IOError:
print "Cannot find JSON file with tests in path '%s'!" % args.path
sys.exit(1)
for test in json_file['Linux Tests']['gtest_tests']:
if isinstance(test, dict):
added.append(test['test'])
else:
added.append(test)
if args.check:
removed = []
disabled = []
in_tests = False
spec_file = None
with open(args.check) as f:
for line in f:
if "CHROMIUM_BROWSER_UNIT_TESTS=" in line:
in_tests = True
continue
if in_tests and line.endswith('"\n'):
break
if in_tests:
found = False
for test in added:
if test in line:
if "#" in line:
disabled.append(test)
added.remove(test)
found = True
break
if not found:
if not "%" in line:
removed.append(line)
for test in removed:
print "REMOVED"
print "\t" + test;
for test in added:
print "ADDED"
print "\t" + test;
for test in disabled:
print "DISABLED"
print "\t" + test;
sys.exit(0)
for name in added:
if args.spec:
print "\t" + name + " \\"
else:
print name

View File

@ -0,0 +1,3 @@
ceaa558c5a94789d5a7a69837ce035ef chromium-52.0.2743.75-clean.tar.xz
49a7f897775cce21d2b69968b8af1cea depot_tools.git-master.tar.gz
af24ec9bc5e86e10841f44397db5ffda policy_templates.zip