automatic version update by autodist [release 84.0.4147.89-1mamba;Thu Jul 23 2020]

This commit is contained in:
Automatic Build System 2024-01-05 21:13:36 +01:00
parent e182adc946
commit 98a56e41c3
53 changed files with 187 additions and 2599 deletions

View File

@ -1,12 +0,0 @@
diff -Nru chromium-15.0.868.1.orig/build/common.gypi chromium-15.0.868.1/build/common.gypi
--- chromium-15.0.868.1.orig/build/common.gypi 2011-09-02 11:28:24.000000000 +0200
+++ chromium-15.0.868.1/build/common.gypi 2011-10-27 15:24:43.455427127 +0200
@@ -155,7 +155,7 @@
'sysroot%': '',
# On Linux, we build with sse2 for Chromium builds.
- 'disable_sse2%': 0,
+ 'disable_sse2%': 1,
# Use libjpeg-turbo as the JPEG codec used by Chromium.
'use_libjpeg_turbo%': 1,

View File

@ -1,20 +0,0 @@
--- chromium-15.0.868.1/chrome.orig/nacl.gypi 2011-09-03 12:31:57.372898877 +0200
+++ chromium-15.0.868.1/chrome/nacl.gypi 2011-09-03 12:31:26.474260873 +0200
@@ -111,7 +111,7 @@
'action_name': 'nacl_irt',
'message': 'Building NaCl IRT',
'inputs': [
- '<!@(<(irt_inputs_cmd) --platform=x86-32)',
+ #'<!@(<(irt_inputs_cmd) --platform=x86-32)',
],
'outputs': ['<(PRODUCT_DIR)/nacl_irt_x86_32.nexe'],
'action': [
@@ -127,7 +127,7 @@
'action_name': 'nacl_irt',
'message': 'Building NaCl IRT',
'inputs': [
- '<!@(<(irt_inputs_cmd) --platform=x86-64)',
+ #'<!@(<(irt_inputs_cmd) --platform=x86-64)',
],
'outputs': ['<(PRODUCT_DIR)/nacl_irt_x86_64.nexe'],
'action': [

View File

@ -1,24 +0,0 @@
diff -ru chromium-19.0.1084.2.patched/media/ffmpeg/file_protocol.cc chromium-19.0.1084.2/media/ffmpeg/file_protocol.cc
--- chromium-19.0.1084.2.patched/media/ffmpeg/file_protocol.cc 2012-04-05 15:38:33.771296613 +0200
+++ chromium-19.0.1084.2/media/ffmpeg/file_protocol.cc 2012-03-29 03:41:49.000000000 +0200
@@ -74,7 +78,7 @@
URLProtocol kFFmpegFileProtocol = {
"file",
&OpenContext,
- NULL, // url_open2
+// NULL, // url_open2
&ReadContext,
&WriteContext,
&SeekContext,
diff -ru chromium-19.0.1084.2.patched/media/filters/ffmpeg_glue.cc chromium-19.0.1084.2/media/filters/ffmpeg_glue.cc
--- chromium-19.0.1084.2.patched/media/filters/ffmpeg_glue.cc 2012-04-05 15:39:31.017541846 +0200
+++ chromium-19.0.1084.2/media/filters/ffmpeg_glue.cc 2012-03-29 03:41:49.000000000 +0200
@@ -114,7 +118,7 @@
static URLProtocol kFFmpegURLProtocol = {
kProtocol,
&OpenContext,
- NULL, // url_open2
+// NULL, // url_open2
&ReadContext,
&WriteContext,
&SeekContext,

View File

@ -1,26 +0,0 @@
--- trunk/src/third_party/sqlite/amalgamation/sqlite3.c 2012/06/12 18:07:00 141686
+++ trunk/src/third_party/sqlite/amalgamation/sqlite3.c 2012/06/12 18:13:09 141687
@@ -119149,13 +119149,13 @@
Fts3SegReader **ppReader /* OUT: SegReader for pending-terms */
){
Fts3SegReader *pReader = 0; /* Fts3SegReader object to return */
+ Fts3HashElem *pE; /* Iterator variable */
Fts3HashElem **aElem = 0; /* Array of term hash entries to scan */
int nElem = 0; /* Size of array at aElem */
int rc = SQLITE_OK; /* Return Code */
if( isPrefix ){
int nAlloc = 0; /* Size of allocated array at aElem */
- Fts3HashElem *pE = 0; /* Iterator variable */
for(pE=fts3HashFirst(&p->pendingTerms); pE; pE=fts3HashNext(pE)){
char *zKey = (char *)fts3HashKey(pE);
@@ -119187,7 +119187,7 @@
}
}else{
- Fts3HashElem *pE = fts3HashFindElem(&p->pendingTerms, zTerm, nTerm);
+ pE = fts3HashFindElem(&p->pendingTerms, zTerm, nTerm);
if( pE ){
aElem = &pE;
nElem = 1;

View File

@ -1,26 +0,0 @@
--- trunk/src/third_party/sqlite/src/ext/fts3/fts3_write.c 2012/06/12 18:07:00 141686
+++ trunk/src/third_party/sqlite/src/ext/fts3/fts3_write.c 2012/06/12 18:13:09 141687
@@ -1238,13 +1238,13 @@
Fts3SegReader **ppReader /* OUT: SegReader for pending-terms */
){
Fts3SegReader *pReader = 0; /* Fts3SegReader object to return */
+ Fts3HashElem *pE; /* Iterator variable */
Fts3HashElem **aElem = 0; /* Array of term hash entries to scan */
int nElem = 0; /* Size of array at aElem */
int rc = SQLITE_OK; /* Return Code */
if( isPrefix ){
int nAlloc = 0; /* Size of allocated array at aElem */
- Fts3HashElem *pE = 0; /* Iterator variable */
for(pE=fts3HashFirst(&p->pendingTerms); pE; pE=fts3HashNext(pE)){
char *zKey = (char *)fts3HashKey(pE);
@@ -1276,7 +1276,7 @@
}
}else{
- Fts3HashElem *pE = fts3HashFindElem(&p->pendingTerms, zTerm, nTerm);
+ pE = fts3HashFindElem(&p->pendingTerms, zTerm, nTerm);
if( pE ){
aElem = &pE;
nElem = 1;

View File

@ -1,56 +0,0 @@
Index: seccompsandbox/library.h
===================================================================
diff --git a/trunk/src/seccompsandbox/library.h b/trunk/src/seccompsandbox/library.h
--- a/trunk/src/seccompsandbox/library.h (revision 179)
+++ b/trunk/src/seccompsandbox/library.h (working copy)
@@ -12,6 +12,7 @@
#include <string>
#include <string.h>
#include <sys/mman.h>
+#include <sys/types.h>
#include "maps.h"
Index: ipc/ipc_platform_file.cc
===================================================================
diff --git a/trunk/src/ipc/ipc_platform_file.cc b/trunk/src/ipc/ipc_platform_file.cc
--- a/trunk/src/ipc/ipc_platform_file.cc (revision 132784)
+++ b/trunk/src/ipc/ipc_platform_file.cc (working copy)
@@ -4,7 +4,7 @@
#include "ipc/ipc_platform_file.h"
-#if defined(OS_ANDROID)
+#if defined(OS_ANDROID) || defined(OS_POSIX)
#include <unistd.h>
#endif
Index: base/message_pump_libevent.cc
===================================================================
diff --git a/trunk/src/base/message_pump_libevent.cc b/trunk/src/base/message_pump_libevent.cc
--- a/trunk/src/base/message_pump_libevent.cc (revision 132784)
+++ b/trunk/src/base/message_pump_libevent.cc (working copy)
@@ -6,6 +6,9 @@
#include <errno.h>
#include <fcntl.h>
+#if defined(OS_POSIX)
+#include <unistd.h>
+#endif
#include "base/auto_reset.h"
#include "base/compiler_specific.h"
Index: chrome/browser/policy/policy_path_parser_linux.cc
===================================================================
diff --git a/trunk/src/chrome/browser/policy/policy_path_parser_linux.cc b/trunk/src/chrome/browser/policy/policy_path_parser_linux.cc
--- a/trunk/src/chrome/browser/policy/policy_path_parser_linux.cc (revision 132784)
+++ b/trunk/src/chrome/browser/policy/policy_path_parser_linux.cc (working copy)
@@ -3,6 +3,8 @@
// found in the LICENSE file.
#include <pwd.h>
+#include <sys/types.h>
+#include <unistd.h>
#include "chrome/browser/policy/policy_path_parser.h"

View File

@ -1,554 +0,0 @@
diff --git a/Source/WebCore/css/CSSGrammar.y b/Source/WebCore/css/CSSGrammar.y
index c7c10b541cd46ad4febc6efe289e81b2cfb0861e..1c604e76b4da4cc65f395bc4a73b112561bd5c84 100644
--- a/Source/WebCore/css/CSSGrammar.y
+++ b/Source/WebCore/css/CSSGrammar.y
@@ -53,14 +53,13 @@ using namespace HTMLNames;
#define YYMAXDEPTH 10000
#define YYDEBUG 0
-// FIXME: Replace with %parse-param { CSSParser* parser } once we can depend on bison 2.x
-#define YYPARSE_PARAM parser
-#define YYLEX_PARAM parser
-
%}
%pure_parser
+%parse-param { CSSParser* parser }
+%lex-param { CSSParser* parser }
+
%union {
bool boolean;
char character;
@@ -89,7 +88,7 @@ using namespace HTMLNames;
%{
-static inline int cssyyerror(const char*)
+static inline int cssyyerror(void*, const char*)
{
return 1;
}
diff --git a/Source/WebCore/css/CSSParser.cpp b/Source/WebCore/css/CSSParser.cpp
index 650844060477cfc6ea6fdeaf11ec63b34ac646e7..8369549dbff25537cf93a11237a9bbbac4fe50f2 100644
--- a/Source/WebCore/css/CSSParser.cpp
+++ b/Source/WebCore/css/CSSParser.cpp
@@ -114,7 +114,7 @@
extern int cssyydebug;
#endif
-extern int cssyyparse(void* parser);
+extern int cssyyparse(WebCore::CSSParser*);
using namespace std;
using namespace WTF;
diff --git a/Source/WebCore/xml/XPathGrammar.y b/Source/WebCore/xml/XPathGrammar.y
index 2eba5b35bd2338272a0f4ec756d137e47d2d59c8..d558211db2d89ea13716762a51397755560f66f3 100644
--- a/Source/WebCore/xml/XPathGrammar.y
+++ b/Source/WebCore/xml/XPathGrammar.y
@@ -34,6 +34,7 @@
#include "XPathParser.h"
#include "XPathPath.h"
#include "XPathPredicate.h"
+#include "XPathStep.h"
#include "XPathVariableReference.h"
#include <wtf/FastMalloc.h>
@@ -44,8 +45,6 @@
#define YYLTYPE_IS_TRIVIAL 1
#define YYDEBUG 0
#define YYMAXDEPTH 10000
-#define YYPARSE_PARAM parserParameter
-#define PARSER static_cast<Parser*>(parserParameter)
using namespace WebCore;
using namespace XPath;
@@ -53,6 +52,7 @@ using namespace XPath;
%}
%pure_parser
+%parse-param { WebCore::XPath::Parser* parser }
%union
{
@@ -71,7 +71,7 @@ using namespace XPath;
%{
static int xpathyylex(YYSTYPE* yylval) { return Parser::current()->lex(yylval); }
-static void xpathyyerror(const char*) { }
+static void xpathyyerror(void*, const char*) { }
%}
@@ -118,7 +118,7 @@ static void xpathyyerror(const char*) { }
Expr:
OrExpr
{
- PARSER->m_topExpr = $1;
+ parser->m_topExpr = $1;
}
;
@@ -138,7 +138,7 @@ AbsoluteLocationPath:
'/'
{
$$ = new LocationPath;
- PARSER->registerParseNode($$);
+ parser->registerParseNode($$);
}
|
'/' RelativeLocationPath
@@ -150,7 +150,7 @@ AbsoluteLocationPath:
{
$$ = $2;
$$->insertFirstStep($1);
- PARSER->unregisterParseNode($1);
+ parser->unregisterParseNode($1);
}
;
@@ -159,22 +159,22 @@ RelativeLocationPath:
{
$$ = new LocationPath;
$$->appendStep($1);
- PARSER->unregisterParseNode($1);
- PARSER->registerParseNode($$);
+ parser->unregisterParseNode($1);
+ parser->registerParseNode($$);
}
|
RelativeLocationPath '/' Step
{
$$->appendStep($3);
- PARSER->unregisterParseNode($3);
+ parser->unregisterParseNode($3);
}
|
RelativeLocationPath DescendantOrSelf Step
{
$$->appendStep($2);
$$->appendStep($3);
- PARSER->unregisterParseNode($2);
- PARSER->unregisterParseNode($3);
+ parser->unregisterParseNode($2);
+ parser->unregisterParseNode($3);
}
;
@@ -183,58 +183,58 @@ Step:
{
if ($2) {
$$ = new Step(Step::ChildAxis, *$1, *$2);
- PARSER->deletePredicateVector($2);
+ parser->deletePredicateVector($2);
} else
$$ = new Step(Step::ChildAxis, *$1);
- PARSER->deleteNodeTest($1);
- PARSER->registerParseNode($$);
+ parser->deleteNodeTest($1);
+ parser->registerParseNode($$);
}
|
NAMETEST OptionalPredicateList
{
String localName;
String namespaceURI;
- if (!PARSER->expandQName(*$1, localName, namespaceURI)) {
- PARSER->m_gotNamespaceError = true;
+ if (!parser->expandQName(*$1, localName, namespaceURI)) {
+ parser->m_gotNamespaceError = true;
YYABORT;
}
if ($2) {
$$ = new Step(Step::ChildAxis, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$2);
- PARSER->deletePredicateVector($2);
+ parser->deletePredicateVector($2);
} else
$$ = new Step(Step::ChildAxis, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI));
- PARSER->deleteString($1);
- PARSER->registerParseNode($$);
+ parser->deleteString($1);
+ parser->registerParseNode($$);
}
|
AxisSpecifier NodeTest OptionalPredicateList
{
if ($3) {
$$ = new Step($1, *$2, *$3);
- PARSER->deletePredicateVector($3);
+ parser->deletePredicateVector($3);
} else
$$ = new Step($1, *$2);
- PARSER->deleteNodeTest($2);
- PARSER->registerParseNode($$);
+ parser->deleteNodeTest($2);
+ parser->registerParseNode($$);
}
|
AxisSpecifier NAMETEST OptionalPredicateList
{
String localName;
String namespaceURI;
- if (!PARSER->expandQName(*$2, localName, namespaceURI)) {
- PARSER->m_gotNamespaceError = true;
+ if (!parser->expandQName(*$2, localName, namespaceURI)) {
+ parser->m_gotNamespaceError = true;
YYABORT;
}
if ($3) {
$$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$3);
- PARSER->deletePredicateVector($3);
+ parser->deletePredicateVector($3);
} else
$$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI));
- PARSER->deleteString($2);
- PARSER->registerParseNode($$);
+ parser->deleteString($2);
+ parser->registerParseNode($$);
}
|
AbbreviatedStep
@@ -259,23 +259,23 @@ NodeTest:
else if (*$1 == "comment")
$$ = new Step::NodeTest(Step::NodeTest::CommentNodeTest);
- PARSER->deleteString($1);
- PARSER->registerNodeTest($$);
+ parser->deleteString($1);
+ parser->registerNodeTest($$);
}
|
PI '(' ')'
{
$$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest);
- PARSER->deleteString($1);
- PARSER->registerNodeTest($$);
+ parser->deleteString($1);
+ parser->registerNodeTest($$);
}
|
PI '(' LITERAL ')'
{
$$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest, $3->stripWhiteSpace());
- PARSER->deleteString($1);
- PARSER->deleteString($3);
- PARSER->registerNodeTest($$);
+ parser->deleteString($1);
+ parser->deleteString($3);
+ parser->registerNodeTest($$);
}
;
@@ -293,14 +293,14 @@ PredicateList:
{
$$ = new Vector<Predicate*>;
$$->append(new Predicate($1));
- PARSER->unregisterParseNode($1);
- PARSER->registerPredicateVector($$);
+ parser->unregisterParseNode($1);
+ parser->registerPredicateVector($$);
}
|
PredicateList Predicate
{
$$->append(new Predicate($2));
- PARSER->unregisterParseNode($2);
+ parser->unregisterParseNode($2);
}
;
@@ -315,7 +315,7 @@ DescendantOrSelf:
SLASHSLASH
{
$$ = new Step(Step::DescendantOrSelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
- PARSER->registerParseNode($$);
+ parser->registerParseNode($$);
}
;
@@ -323,13 +323,13 @@ AbbreviatedStep:
'.'
{
$$ = new Step(Step::SelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
- PARSER->registerParseNode($$);
+ parser->registerParseNode($$);
}
|
DOTDOT
{
$$ = new Step(Step::ParentAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
- PARSER->registerParseNode($$);
+ parser->registerParseNode($$);
}
;
@@ -337,8 +337,8 @@ PrimaryExpr:
VARIABLEREFERENCE
{
$$ = new VariableReference(*$1);
- PARSER->deleteString($1);
- PARSER->registerParseNode($$);
+ parser->deleteString($1);
+ parser->registerParseNode($$);
}
|
'(' Expr ')'
@@ -349,15 +349,15 @@ PrimaryExpr:
LITERAL
{
$$ = new StringExpression(*$1);
- PARSER->deleteString($1);
- PARSER->registerParseNode($$);
+ parser->deleteString($1);
+ parser->registerParseNode($$);
}
|
NUMBER
{
$$ = new Number($1->toDouble());
- PARSER->deleteString($1);
- PARSER->registerParseNode($$);
+ parser->deleteString($1);
+ parser->registerParseNode($$);
}
|
FunctionCall
@@ -369,8 +369,8 @@ FunctionCall:
$$ = createFunction(*$1);
if (!$$)
YYABORT;
- PARSER->deleteString($1);
- PARSER->registerParseNode($$);
+ parser->deleteString($1);
+ parser->registerParseNode($$);
}
|
FUNCTIONNAME '(' ArgumentList ')'
@@ -378,9 +378,9 @@ FunctionCall:
$$ = createFunction(*$1, *$3);
if (!$$)
YYABORT;
- PARSER->deleteString($1);
- PARSER->deleteExpressionVector($3);
- PARSER->registerParseNode($$);
+ parser->deleteString($1);
+ parser->deleteExpressionVector($3);
+ parser->registerParseNode($$);
}
;
@@ -389,14 +389,14 @@ ArgumentList:
{
$$ = new Vector<Expression*>;
$$->append($1);
- PARSER->unregisterParseNode($1);
- PARSER->registerExpressionVector($$);
+ parser->unregisterParseNode($1);
+ parser->registerExpressionVector($$);
}
|
ArgumentList ',' Argument
{
$$->append($3);
- PARSER->unregisterParseNode($3);
+ parser->unregisterParseNode($3);
}
;
@@ -412,9 +412,9 @@ UnionExpr:
$$ = new Union;
$$->addSubExpression($1);
$$->addSubExpression($3);
- PARSER->unregisterParseNode($1);
- PARSER->unregisterParseNode($3);
- PARSER->registerParseNode($$);
+ parser->unregisterParseNode($1);
+ parser->unregisterParseNode($3);
+ parser->registerParseNode($$);
}
;
@@ -430,9 +430,9 @@ PathExpr:
{
$3->setAbsolute(true);
$$ = new Path(static_cast<Filter*>($1), $3);
- PARSER->unregisterParseNode($1);
- PARSER->unregisterParseNode($3);
- PARSER->registerParseNode($$);
+ parser->unregisterParseNode($1);
+ parser->unregisterParseNode($3);
+ parser->registerParseNode($$);
}
|
FilterExpr DescendantOrSelf RelativeLocationPath
@@ -440,10 +440,10 @@ PathExpr:
$3->insertFirstStep($2);
$3->setAbsolute(true);
$$ = new Path(static_cast<Filter*>($1), $3);
- PARSER->unregisterParseNode($1);
- PARSER->unregisterParseNode($2);
- PARSER->unregisterParseNode($3);
- PARSER->registerParseNode($$);
+ parser->unregisterParseNode($1);
+ parser->unregisterParseNode($2);
+ parser->unregisterParseNode($3);
+ parser->registerParseNode($$);
}
;
@@ -453,9 +453,9 @@ FilterExpr:
PrimaryExpr PredicateList
{
$$ = new Filter($1, *$2);
- PARSER->unregisterParseNode($1);
- PARSER->deletePredicateVector($2);
- PARSER->registerParseNode($$);
+ parser->unregisterParseNode($1);
+ parser->deletePredicateVector($2);
+ parser->registerParseNode($$);
}
;
@@ -465,9 +465,9 @@ OrExpr:
OrExpr OR AndExpr
{
$$ = new LogicalOp(LogicalOp::OP_Or, $1, $3);
- PARSER->unregisterParseNode($1);
- PARSER->unregisterParseNode($3);
- PARSER->registerParseNode($$);
+ parser->unregisterParseNode($1);
+ parser->unregisterParseNode($3);
+ parser->registerParseNode($$);
}
;
@@ -477,9 +477,9 @@ AndExpr:
AndExpr AND EqualityExpr
{
$$ = new LogicalOp(LogicalOp::OP_And, $1, $3);
- PARSER->unregisterParseNode($1);
- PARSER->unregisterParseNode($3);
- PARSER->registerParseNode($$);
+ parser->unregisterParseNode($1);
+ parser->unregisterParseNode($3);
+ parser->registerParseNode($$);
}
;
@@ -489,9 +489,9 @@ EqualityExpr:
EqualityExpr EQOP RelationalExpr
{
$$ = new EqTestOp($2, $1, $3);
- PARSER->unregisterParseNode($1);
- PARSER->unregisterParseNode($3);
- PARSER->registerParseNode($$);
+ parser->unregisterParseNode($1);
+ parser->unregisterParseNode($3);
+ parser->registerParseNode($$);
}
;
@@ -501,9 +501,9 @@ RelationalExpr:
RelationalExpr RELOP AdditiveExpr
{
$$ = new EqTestOp($2, $1, $3);
- PARSER->unregisterParseNode($1);
- PARSER->unregisterParseNode($3);
- PARSER->registerParseNode($$);
+ parser->unregisterParseNode($1);
+ parser->unregisterParseNode($3);
+ parser->registerParseNode($$);
}
;
@@ -513,17 +513,17 @@ AdditiveExpr:
AdditiveExpr PLUS MultiplicativeExpr
{
$$ = new NumericOp(NumericOp::OP_Add, $1, $3);
- PARSER->unregisterParseNode($1);
- PARSER->unregisterParseNode($3);
- PARSER->registerParseNode($$);
+ parser->unregisterParseNode($1);
+ parser->unregisterParseNode($3);
+ parser->registerParseNode($$);
}
|
AdditiveExpr MINUS MultiplicativeExpr
{
$$ = new NumericOp(NumericOp::OP_Sub, $1, $3);
- PARSER->unregisterParseNode($1);
- PARSER->unregisterParseNode($3);
- PARSER->registerParseNode($$);
+ parser->unregisterParseNode($1);
+ parser->unregisterParseNode($3);
+ parser->registerParseNode($$);
}
;
@@ -533,9 +533,9 @@ MultiplicativeExpr:
MultiplicativeExpr MULOP UnaryExpr
{
$$ = new NumericOp($2, $1, $3);
- PARSER->unregisterParseNode($1);
- PARSER->unregisterParseNode($3);
- PARSER->registerParseNode($$);
+ parser->unregisterParseNode($1);
+ parser->unregisterParseNode($3);
+ parser->registerParseNode($$);
}
;
@@ -546,8 +546,8 @@ UnaryExpr:
{
$$ = new Negative;
$$->addSubExpression($2);
- PARSER->unregisterParseNode($2);
- PARSER->registerParseNode($$);
+ parser->unregisterParseNode($2);
+ parser->registerParseNode($$);
}
;
diff --git a/Source/WebCore/xml/XPathParser.cpp b/Source/WebCore/xml/XPathParser.cpp
index 62d8ee37fd6ebb74a580a00c59beb6cd40c5a8b7..b5e6a9237593b4aaa2a243f2ff9d86e57f930a97 100644
--- a/Source/WebCore/xml/XPathParser.cpp
+++ b/Source/WebCore/xml/XPathParser.cpp
@@ -32,24 +32,21 @@
#include "XPathEvaluator.h"
#include "XPathException.h"
#include "XPathNSResolver.h"
+#include "XPathPath.h"
#include "XPathStep.h"
#include <wtf/StdLibExtras.h>
#include <wtf/text/StringHash.h>
-int xpathyyparse(void*);
-
+using namespace WebCore;
using namespace WTF;
using namespace Unicode;
+using namespace XPath;
-namespace WebCore {
-namespace XPath {
-
-class LocationPath;
-
-#include "XPathGrammar.h"
+extern int xpathyyparse(WebCore::XPath::Parser*);
+#include "XPathGrammar.h"
Parser* Parser::currentParser = 0;
-
+
enum XMLCat { NameStart, NameCont, NotPartOfName };
typedef HashMap<String, Step::Axis> AxisNamesMap;
@@ -630,5 +627,3 @@ void Parser::deleteNodeTest(Step::NodeTest* t)
delete t;
}
-}
-}

View File

@ -1,11 +0,0 @@
--- chromium-21.0.1168.0/chrome/browser/memory_details_linux.cc.orig 2012-08-29 21:25:27.973193469 +0200
+++ chromium-21.0.1168.0/chrome/browser/memory_details_linux.cc 2012-08-29 21:25:54.506900944 +0200
@@ -3,7 +3,7 @@
// found in the LICENSE file.
#include "chrome/browser/memory_details.h"
-
+#include <unistd.h>
#include <map>
#include <set>

View File

@ -1,18 +0,0 @@
diff -Nru chromium-23.0.1271.94.orig/chrome/browser/ui/gtk/gtk_theme_service.cc chromium-23.0.1271.94/chrome/browser/ui/gtk/gtk_theme_service.cc
--- chromium-23.0.1271.94.orig/chrome/browser/ui/gtk/gtk_theme_service.cc 2012-11-21 09:02:30.000000000 +0100
+++ chromium-23.0.1271.94/chrome/browser/ui/gtk/gtk_theme_service.cc 2012-11-24 14:29:20.162246291 +0100
@@ -615,12 +615,12 @@
scoped_ptr<base::Environment> env(base::Environment::Create());
switch (base::nix::GetDesktopEnvironment(env.get())) {
+ case base::nix::DESKTOP_ENVIRONMENT_KDE3:
+ case base::nix::DESKTOP_ENVIRONMENT_KDE4:
case base::nix::DESKTOP_ENVIRONMENT_GNOME:
case base::nix::DESKTOP_ENVIRONMENT_UNITY:
case base::nix::DESKTOP_ENVIRONMENT_XFCE:
return true;
- case base::nix::DESKTOP_ENVIRONMENT_KDE3:
- case base::nix::DESKTOP_ENVIRONMENT_KDE4:
case base::nix::DESKTOP_ENVIRONMENT_OTHER:
return false;
}

View File

@ -1,35 +0,0 @@
diff -upr chromium-20.0.1132.57.orig/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h chromium-20.0.1132.57/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h
--- chromium-20.0.1132.57.orig/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h 2012-07-10 10:48:31.000000000 +0300
+++ chromium-20.0.1132.57/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h 2012-07-11 23:44:11.000000000 +0300
@@ -243,14 +243,13 @@ struct kernel_rusage {
long ru_nivcsw;
};
-struct siginfo;
#if defined(__i386__) || defined(__arm__) || defined(__PPC__)
/* include/asm-{arm,i386,mips,ppc}/signal.h */
struct kernel_old_sigaction {
union {
void (*sa_handler_)(int);
- void (*sa_sigaction_)(int, struct siginfo *, void *);
+ void (*sa_sigaction_)(int, siginfo_t *, void *);
};
unsigned long sa_mask;
unsigned long sa_flags;
@@ -287,13 +286,13 @@ struct kernel_sigaction {
unsigned long sa_flags;
union {
void (*sa_handler_)(int);
- void (*sa_sigaction_)(int, struct siginfo *, void *);
+ void (*sa_sigaction_)(int, siginfo_t *, void *);
};
struct kernel_sigset_t sa_mask;
#else
union {
void (*sa_handler_)(int);
- void (*sa_sigaction_)(int, struct siginfo *, void *);
+ void (*sa_sigaction_)(int, siginfo_t *, void *);
};
unsigned long sa_flags;
void (*sa_restorer)(void);

View File

@ -1,11 +0,0 @@
--- chromium-24.0.1312.70/media/filters/decrypting_audio_decoder.cc.orig 2013-02-18 17:15:21.657687025 +0100
+++ chromium-24.0.1312.70/media/filters/decrypting_audio_decoder.cc 2013-02-18 17:17:18.375879916 +0100
@@ -30,7 +30,7 @@
// Out of sync of 100ms would be pretty noticeable and we should keep any
// drift below that.
const int64 kOutOfSyncThresholdInMicroseconds = 100000;
- return std::abs(timestamp_1.InMicroseconds() - timestamp_2.InMicroseconds()) >
+ return std::abs((long int)(timestamp_1.InMicroseconds() - timestamp_2.InMicroseconds())) >
kOutOfSyncThresholdInMicroseconds;
}

View File

@ -1,21 +0,0 @@
--- chromium-26.0.1410.49/build/linux/system.gyp.orig 2013-04-02 04:43:16.280176535 +0200
+++ chromium-26.0.1410.49/build/linux/system.gyp 2013-04-02 04:54:14.653591574 +0200
@@ -460,6 +460,9 @@
'../../base/base.gyp:base',
],
'direct_dependent_settings': {
+ 'cflags': [
+ '<!@(<(pkg-config) --cflags speech-dispatcher)',
+ ],
'include_dirs': [
'<(SHARED_INTERMEDIATE_DIR)',
],
@@ -494,7 +497,7 @@
'--name', 'LibSpeechdLoader',
'--output-h', '<(output_h)',
'--output-cc', '<(output_cc)',
- '--header', '<libspeechd.h>',
+ '--header', '<speech-dispatcher/libspeechd.h>',
'--link-directly=<(linux_link_libspeechd)',
'spd_open',
'spd_say',

View File

@ -1,11 +0,0 @@
--- chromium-34.0.1847.116/build/gyp_chromium.orig 2014-04-02 21:03:54.000000000 +0200
+++ chromium-34.0.1847.116/build/gyp_chromium 2014-04-13 15:18:50.612776131 +0200
@@ -477,8 +477,6 @@
args.append('--check')
supplemental_includes = GetSupplementalFiles()
- if not RunGN(supplemental_includes):
- sys.exit(1)
args.extend(
['-I' + i for i in additional_include_files(supplemental_includes, args)])

View File

@ -1,11 +0,0 @@
--- trunk/src/build/gyp_chromium 2014/02/19 18:20:22 252034
+++ trunk/src/build/gyp_chromium 2014/02/21 00:30:29 252434
@@ -39,8 +39,6 @@
sys.path.insert(1, os.path.join(chrome_src, 'third_party', 'WebKit',
'Source', 'build', 'scripts'))
-import find_depot_tools
-
# On Windows, Psyco shortens warm runs of build/gyp_chromium by about
# 20 seconds on a z600 machine with 12 GB of RAM, from 90 down to 70
# seconds. Conversely, memory usage of build/gyp_chromium with Psyco

View File

@ -1,29 +0,0 @@
diff --git a/build/linux/system.gyp b/build/linux/system.gyp
index 7911ae9..fda9234 100644
--- a/build/linux/system.gyp
+++ b/build/linux/system.gyp
@@ -532,7 +532,7 @@
'g_settings_get_boolean',
'g_settings_get_int',
'g_settings_get_strv',
- 'g_settings_list_schemas',
+ 'g_settings_schema_source_list_schemas',
],
'message': 'Generating libgio library loader',
'process_outputs_as_sources': 1,
diff --git a/net/proxy/proxy_config_service_linux.cc b/net/proxy/proxy_config_service_linux.cc
index de41b14..bf8abac 100644
--- a/net/proxy/proxy_config_service_linux.cc
+++ b/net/proxy/proxy_config_service_linux.cc
@@ -547,7 +547,10 @@ class SettingGetterImplGSettings
}
bool SchemaExists(const char* schema_name) {
- const gchar* const* schemas = libgio_loader_.g_settings_list_schemas();
+ gchar **schemas;
+
+ libgio_loader_.g_settings_schema_source_list_schemas
+ (g_settings_schema_source_get_default(), TRUE, &schemas, NULL);
while (*schemas) {
if (strcmp(schema_name, static_cast<const char*>(*schemas)) == 0)
return true;

View File

@ -1,19 +0,0 @@
--- trunk/src/chrome/browser/password_manager/native_backend_gnome_x.h 2014/06/30 07:02:39 280578
+++ trunk/src/chrome/browser/password_manager/native_backend_gnome_x.h 2014/06/30 07:06:26 280579
@@ -5,6 +5,16 @@
#ifndef CHROME_BROWSER_PASSWORD_MANAGER_NATIVE_BACKEND_GNOME_X_H_
#define CHROME_BROWSER_PASSWORD_MANAGER_NATIVE_BACKEND_GNOME_X_H_
+// libgnome-keyring has been deprecated in favor of libsecret.
+// See: https://mail.gnome.org/archives/commits-list/2013-October/msg08876.html
+//
+// The define below turns off the deprecations, in order to avoid build
+// failures with Gnome 3.12. When we move to libsecret, the define can be
+// removed, together with the include below it.
+//
+// The porting is tracked in http://crbug.com/355223
+#define GNOME_KEYRING_DEPRECATED
+#define GNOME_KEYRING_DEPRECATED_FOR(x)
#include <gnome-keyring.h>
#include <string>

View File

@ -1,11 +0,0 @@
--- chromium-40.0.2214.91/build/common.gypi.orig 2015-01-26 16:15:18.310585287 +0100
+++ chromium-40.0.2214.91/build/common.gypi 2015-01-26 20:06:06.769806985 +0100
@@ -926,7 +926,7 @@
'use_allocator%': 'none',
# sysroot needs to be an absolute path otherwise it generates
# incorrect results when passed to pkg-config
- 'sysroot%': '<!(cd <(DEPTH) && pwd -P)/chrome/installer/linux/debian_wheezy_arm-sysroot',
+ #'sysroot%': '<!(cd <(DEPTH) && pwd -P)/chrome/installer/linux/debian_wheezy_arm-sysroot',
}], # OS=="linux" and target_arch=="arm" and chromeos==0
['OS=="linux" and branding=="Chrome" and buildtype=="Official" and chromeos==0', {

View File

@ -1,36 +0,0 @@
From 241364c6f4d44165ce2dc707b9ad141dcc880d1b Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 27 Jun 2015 13:29:52 -0700
Subject: [PATCH] Demand for newer POSIX macro
Reason for change: Define _POSIX_C_SOURCE such that it demands correct
posix interfaces, netdb.h declares interfaces such as
getaddrinfo if __USE_POSIX, i.e. POSIX.1:1990 or later.
However, these interfaces were new in the 2001 edition of POSIX
therefore ask for Extension from POSIX.1:2001 since we use addrinfo
structure here.
Change-Id: Icb1c92745d1a0ca958108ae80c270c630628729e
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Reviewed-on: https://boringssl-review.googlesource.com/5253
Reviewed-by: Adam Langley <agl@google.com>
---
crypto/bio/socket_helper.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/crypto/bio/socket_helper.c b/crypto/bio/socket_helper.c
index b1cdd1a..481278f 100644
--- a/crypto/bio/socket_helper.c
+++ b/crypto/bio/socket_helper.c
@@ -12,7 +12,7 @@
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
-#define _POSIX_SOURCE
+#define _POSIX_C_SOURCE 200112L
#include <openssl/bio.h>
#include <openssl/err.h>
--
2.5.0

View File

@ -1,11 +0,0 @@
diff -up chromium-46.0.2490.71/chrome/test/data/webui_test_resources.grd.542819fix chromium-46.0.2490.71/chrome/test/data/webui_test_resources.grd
--- chromium-46.0.2490.71/chrome/test/data/webui_test_resources.grd.542819fix 2015-10-14 10:47:17.568757249 -0400
+++ chromium-46.0.2490.71/chrome/test/data/webui_test_resources.grd 2015-10-14 10:48:01.196466805 -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

@ -1,11 +0,0 @@
--- a/third_party/WebKit/Source/platform/image-decoders/png/PNGImageDecoder.cppg 2016-05-01 15:22:46.103607522 +0800
+++ b/third_party/WebKit/Source/platform/image-decoders/png/PNGImageDecoder.cpp 2016-05-01 15:25:14.459753876 +0800
@@ -234,7 +234,7 @@
#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

@ -1,14 +0,0 @@
--- /chromium/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp 2016-08-03 21:02:37.000000000 +0200
+++ /chromium/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp 2016-08-14 10:59:51.395354850 +0200
@@ -41,6 +41,11 @@
#include <errno.h>
#include <sys/mman.h>
+#if OS(LINUX) && defined(MADV_FREE)
+// Added in Linux 4.5, but we don't want to depend on 4.5 at runtime
+#undef MADV_FREE
+#endif
+
#ifndef MADV_FREE
#define MADV_FREE MADV_DONTNEED
#endif

View File

@ -1,12 +0,0 @@
diff --git a/printing/backend/print_backend_cups.cc b/printing/backend/print_backend_cups.cc
index 8bacfd7..b469a1c 100644
--- a/printing/backend/print_backend_cups.cc
+++ b/printing/backend/print_backend_cups.cc
@@ -4,6 +4,7 @@
#include "printing/backend/print_backend_cups.h"
+#include <cups/ppd.h>
#include <dlfcn.h>
#include <errno.h>
#include <pthread.h>

View File

@ -1,48 +0,0 @@
--- a/media/ffmpeg/ffmpeg_common.h.orig 2016-09-09 13:16:07.757294768 +0000
+++ b/media/ffmpeg/ffmpeg_common.h 2016-09-09 13:16:41.705989273 +0000
@@ -22,10 +22,6 @@
// Include FFmpeg header files.
extern "C" {
-// Disable deprecated features which result in spammy compile warnings. This
-// list of defines must mirror those in the 'defines' section of FFmpeg's
-// BUILD.gn file or the headers below will generate different structures!
-#define FF_API_CONVERGENCE_DURATION 0
// Upstream libavcodec/utils.c still uses the deprecated
// av_dup_packet(), causing deprecation warnings.
// The normal fix for such things is to disable the feature as below,
@@ -35,7 +35,6 @@
MSVC_PUSH_DISABLE_WARNING(4244);
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
-#include <libavformat/internal.h>
#include <libavformat/avio.h>
#include <libavutil/avutil.h>
#include <libavutil/imgutils.h>
--- a/media/filters/ffmpeg_demuxer.cc.orig 2016-09-09 14:21:40.185828912 +0000
+++ b/media/filters/ffmpeg_demuxer.cc 2016-09-09 14:21:52.894089352 +0000
@@ -1185,24 +1185,6 @@
// If no estimate is found, the stream entry will be kInfiniteDuration.
std::vector<base::TimeDelta> start_time_estimates(format_context->nb_streams,
kInfiniteDuration);
- const AVFormatInternal* internal = format_context->internal;
- if (internal && internal->packet_buffer &&
- format_context->start_time != static_cast<int64_t>(AV_NOPTS_VALUE)) {
- struct AVPacketList* packet_buffer = internal->packet_buffer;
- while (packet_buffer != internal->packet_buffer_end) {
- DCHECK_LT(static_cast<size_t>(packet_buffer->pkt.stream_index),
- start_time_estimates.size());
- const AVStream* stream =
- format_context->streams[packet_buffer->pkt.stream_index];
- if (packet_buffer->pkt.pts != static_cast<int64_t>(AV_NOPTS_VALUE)) {
- const base::TimeDelta packet_pts =
- ConvertFromTimeBase(stream->time_base, packet_buffer->pkt.pts);
- if (packet_pts < start_time_estimates[stream->index])
- start_time_estimates[stream->index] = packet_pts;
- }
- packet_buffer = packet_buffer->next;
- }
- }
std::unique_ptr<MediaTracks> media_tracks(new MediaTracks());

View File

@ -1,13 +0,0 @@
diff --git a/gpu/command_buffer/client/shared_memory_limits.h b/gpu/command_buffer/client/shared_memory_limits.h
index de82173..53881de 100644
--- a/gpu/command_buffer/client/shared_memory_limits.h
+++ b/gpu/command_buffer/client/shared_memory_limits.h
@@ -10,6 +10,8 @@
namespace gpu {
struct SharedMemoryLimits {
+ SharedMemoryLimits() = default;
+
int32_t command_buffer_size = 1024 * 1024;
uint32_t start_transfer_buffer_size = 1 * 1024 * 1024;
uint32_t min_transfer_buffer_size = 1 * 256 * 1024;

View File

@ -1,86 +0,0 @@
--- chromium-59.0.3071.86/third_party/WebKit/Source/platform/wtf/LinkedHashSet.h.orig 2017-06-06 15:05:38.145247996 +0300
+++ chromium-59.0.3071.86/third_party/WebKit/Source/platform/wtf/LinkedHashSet.h 2017-06-06 15:06:13.866246667 +0300
@@ -685,6 +685,31 @@ inline LinkedHashSet<T, U, V, W>& Linked
return *this;
}
+inline void SwapAnchor(LinkedHashSetNodeBase& a, LinkedHashSetNodeBase& b) {
+ DCHECK(a.prev_);
+ DCHECK(a.next_);
+ DCHECK(b.prev_);
+ DCHECK(b.next_);
+ swap(a.prev_, b.prev_);
+ swap(a.next_, b.next_);
+ if (b.next_ == &a) {
+ DCHECK_EQ(b.prev_, &a);
+ b.next_ = &b;
+ b.prev_ = &b;
+ } else {
+ b.next_->prev_ = &b;
+ b.prev_->next_ = &b;
+ }
+ if (a.next_ == &b) {
+ DCHECK_EQ(a.prev_, &b);
+ a.next_ = &a;
+ a.prev_ = &a;
+ } else {
+ a.next_->prev_ = &a;
+ a.prev_->next_ = &a;
+ }
+}
+
template <typename T, typename U, typename V, typename W>
inline void LinkedHashSet<T, U, V, W>::Swap(LinkedHashSet& other) {
impl_.Swap(other.impl_);
@@ -877,31 +902,6 @@ inline void LinkedHashSet<T, U, V, W>::e
erase(Find(value));
}
-inline void SwapAnchor(LinkedHashSetNodeBase& a, LinkedHashSetNodeBase& b) {
- DCHECK(a.prev_);
- DCHECK(a.next_);
- DCHECK(b.prev_);
- DCHECK(b.next_);
- swap(a.prev_, b.prev_);
- swap(a.next_, b.next_);
- if (b.next_ == &a) {
- DCHECK_EQ(b.prev_, &a);
- b.next_ = &b;
- b.prev_ = &b;
- } else {
- b.next_->prev_ = &b;
- b.prev_->next_ = &b;
- }
- if (a.next_ == &b) {
- DCHECK_EQ(a.prev_, &b);
- a.next_ = &a;
- a.prev_ = &a;
- } else {
- a.next_->prev_ = &a;
- a.prev_->next_ = &a;
- }
-}
-
inline void swap(LinkedHashSetNodeBase& a, LinkedHashSetNodeBase& b) {
DCHECK_NE(a.next_, &a);
DCHECK_NE(b.next_, &b);
--- chromium-59.0.3071.86/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h.orig 2017-06-06 16:16:43.657661313 +0300
+++ chromium-59.0.3071.86/third_party/WebKit/Source/platform/graphics/gpu/SharedGpuContext.h 2017-06-06 16:16:50.911198032 +0300
@@ -5,6 +5,7 @@
#include "platform/PlatformExport.h"
#include "platform/wtf/ThreadSpecific.h"
+#include <functional>
#include <memory>
namespace gpu {
--- chromium-59.0.3071.86/third_party/WebKit/Source/platform/text/CharacterPropertyDataGenerator.cpp.orig 2017-06-16 11:15:14.424585523 +0200
+++ chromium-59.0.3071.86/third_party/WebKit/Source/platform/text/CharacterPropertyDataGenerator.cpp 2017-06-16 11:15:25.001641041 +0200
@@ -10,6 +10,7 @@
#include "CharacterProperty.h"
#include <cassert>
#include <cstring>
+#include <functional>
#include <memory>
#include <stdio.h>
#if !defined(USING_SYSTEM_ICU)

View File

@ -1,10 +0,0 @@
--- chromium.orig/src/breakpad/src/tools/linux/md2core/minidump-2-core.cc
+++ chromium/src/breakpad/src/tools/linux/md2core/minidump-2-core.cc
@@ -43,6 +43,7 @@
#include <sys/mman.h>
#include <sys/user.h>
#include <unistd.h>
+#include <sys/stat.h>
#include <map>
#include <string>

View File

@ -1,20 +0,0 @@
diff --git a/build/linux/unbundle/icu.gn b/build/linux/unbundle/icu.gn
index 4450e40..9ca36dd 100644
--- a/build/linux/unbundle/icu.gn
+++ b/build/linux/unbundle/icu.gn
@@ -96,6 +96,7 @@ shim_headers("icui18n_shim") {
"unicode/fpositer.h",
"unicode/gender.h",
"unicode/gregocal.h",
+ "unicode/listformatter.h",
"unicode/measfmt.h",
"unicode/measunit.h",
"unicode/measure.h",
@@ -178,7 +179,6 @@ shim_headers("icuuc_shim") {
"unicode/icudataver.h",
"unicode/icuplug.h",
"unicode/idna.h",
- "unicode/listformatter.h",
"unicode/localpointer.h",
"unicode/locdspnm.h",
"unicode/locid.h",

View File

@ -1,86 +0,0 @@
From f4c3c329588b78af63aad8b401da767242b86709 Mon Sep 17 00:00:00 2001
From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Date: Mon, 16 Sep 2019 17:05:42 +0000
Subject: [PATCH] dns_util: Make DohUpgradeEntry non-const when used with
std::vector<>
This fixes the build with libstdc++ (with most other standard libraries
other than libc++, in fact) after commit f93a48e3 ("Allow upgrade to DoH
during automatic mode"):
../../../../../../usr/bin/../lib/gcc/x86_64-redhat-linux/8/../../../../include/c++/8/bits/stl_vector.h:351:7: error: static_assert failed due to requirement 'is_same<typename remove_cv<const DohUpgradeEntry>::type, const DohUpgradeEntry>::value' "std::vector must have a non-const, non-volatile value_type"
static_assert(is_same<typename remove_cv<_Tp>::type, _Tp>::value,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../base/no_destructor.h:77:28: note: in instantiation of template class 'std::vector<const net::(anonymous namespace)::DohUpgradeEntry, std::allocator<const net::(anonymous namespace)::DohUpgradeEntry> >' requested here
alignas(T) char storage_[sizeof(T)];
^
../../net/dns/dns_util.cc:147:7: note: in instantiation of template class 'base::NoDestructor<std::vector<const net::(anonymous namespace)::DohUpgradeEntry, std::allocator<const net::(anonymous namespace)::DohUpgradeEntry> > >' requested here
upgradable_servers({
^
../../net/dns/dns_util.cc:230:36: error: invalid range expression of type 'const std::vector<const net::(anonymous namespace)::DohUpgradeEntry, std::allocator<const net::(anonymous namespace)::DohUpgradeEntry> >'; no viable 'begin' function available
for (const auto& upgrade_entry : upgradable_servers) {
^ ~~~~~~~~~~~~~~~~~~
The C++ standard forbids containers of const elements. Callers of
GetDohUpgradeList() use it in a safe way anyway, and most of
DohUpgradeEntry's members are const.
Bug: 957519
Change-Id: I826a51823edb1184c0fae27105101e2894efe568
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1805636
Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Commit-Queue: Eric Orth <ericorth@chromium.org>
Reviewed-by: Eric Orth <ericorth@chromium.org>
Cr-Commit-Position: refs/heads/master@{#696834}
---
net/dns/dns_util.cc | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/net/dns/dns_util.cc b/net/dns/dns_util.cc
index d83ff7c150..14997c48b2 100644
--- a/net/dns/dns_util.cc
+++ b/net/dns/dns_util.cc
@@ -139,11 +139,11 @@ struct DohUpgradeEntry {
const DnsConfig::DnsOverHttpsServerConfig dns_over_https_config;
};
-const std::vector<const DohUpgradeEntry>& GetDohUpgradeList() {
+const std::vector<DohUpgradeEntry>& GetDohUpgradeList() {
// The provider names in these entries should be kept in sync with the
// DohProviderId histogram suffix list in
// tools/metrics/histograms/histograms.xml.
- static const base::NoDestructor<std::vector<const DohUpgradeEntry>>
+ static const base::NoDestructor<std::vector<DohUpgradeEntry>>
upgradable_servers({
DohUpgradeEntry(
"CleanBrowsingAdult",
@@ -222,8 +222,7 @@ const std::vector<const DohUpgradeEntry>& GetDohUpgradeList() {
std::vector<const DohUpgradeEntry*> GetDohUpgradeEntriesFromNameservers(
const std::vector<IPEndPoint>& dns_servers,
const std::vector<std::string>& excluded_providers) {
- const std::vector<const DohUpgradeEntry>& upgradable_servers =
- GetDohUpgradeList();
+ const std::vector<DohUpgradeEntry>& upgradable_servers = GetDohUpgradeList();
std::vector<const DohUpgradeEntry*> entries;
for (const auto& server : dns_servers) {
@@ -417,8 +416,7 @@ std::vector<DnsConfig::DnsOverHttpsServerConfig>
GetDohUpgradeServersFromDotHostname(
const std::string& dot_server,
const std::vector<std::string>& excluded_providers) {
- const std::vector<const DohUpgradeEntry>& upgradable_servers =
- GetDohUpgradeList();
+ const std::vector<DohUpgradeEntry>& upgradable_servers = GetDohUpgradeList();
std::vector<DnsConfig::DnsOverHttpsServerConfig> doh_servers;
if (dot_server.empty())
@@ -451,8 +449,7 @@ GetDohUpgradeServersFromNameservers(
std::string GetDohProviderIdForHistogramFromDohConfig(
const DnsConfig::DnsOverHttpsServerConfig& doh_server) {
- const std::vector<const DohUpgradeEntry>& upgradable_servers =
- GetDohUpgradeList();
+ const std::vector<DohUpgradeEntry>& upgradable_servers = GetDohUpgradeList();
for (const auto& upgrade_entry : upgradable_servers) {
if (doh_server.server_template ==
upgrade_entry.dns_over_https_config.server_template) {

View File

@ -1,45 +0,0 @@
From e73aed9a5ef15102f29ac31b70290faf5c90f9fe Mon Sep 17 00:00:00 2001
From: Evan Stade <estade@chromium.org>
Date: Wed, 16 Oct 2019 16:01:32 +0000
Subject: [PATCH] Fix shutdown crash in ProfileManager.
OnProfileMarkedForPermanentDeletion should move from
ProfileManagerObserver to ProfileObserver, which would also
fix this bug. However, changing the order of members is the
quickest and most cherry-pick-able way to avoid the crash.
Bug: 1005244
Change-Id: If2db68c846dd418cd02864b57b9b543687fa1e03
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1863518
Auto-Submit: Evan Stade <estade@chromium.org>
Reviewed-by: David Roger <droger@chromium.org>
Commit-Queue: Evan Stade <estade@chromium.org>
Cr-Commit-Position: refs/heads/master@{#706467}
---
chrome/browser/profiles/profile_manager.h | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/chrome/browser/profiles/profile_manager.h b/chrome/browser/profiles/profile_manager.h
index b60df76d59..7d02af7f8f 100644
--- a/chrome/browser/profiles/profile_manager.h
+++ b/chrome/browser/profiles/profile_manager.h
@@ -410,6 +410,10 @@ class ProfileManager : public content::NotificationObserver,
const base::FilePath& profile_dir);
#endif // !defined(OS_ANDROID)
+ // Destroy after |profile_info_cache_| since Profile destruction may trigger
+ // some observers to unregister themselves.
+ base::ObserverList<ProfileManagerObserver> observers_;
+
// Object to cache various information about profiles. Contains information
// about every profile which has been created for this instance of Chrome,
// if it has not been explicitly deleted. It must be destroyed after
@@ -451,8 +455,6 @@ class ProfileManager : public content::NotificationObserver,
// Controls whether to initialize some services. Only disabled for testing.
bool do_final_services_init_ = true;
- base::ObserverList<ProfileManagerObserver> observers_;
-
// TODO(chrome/browser/profiles/OWNERS): Usage of this in profile_manager.cc
// should likely be turned into DCHECK_CURRENTLY_ON(BrowserThread::UI) for
// consistency with surrounding code in the same file but that wasn't trivial

View File

@ -1,13 +0,0 @@
diff --git a/third_party/perfetto/gn/BUILD.gn b/third_party/perfetto/gn/BUILD.gn
index 3bc618a..e0ddf6d 100644
--- a/third_party/perfetto/gn/BUILD.gn
+++ b/third_party/perfetto/gn/BUILD.gn
@@ -244,7 +244,7 @@ if (enable_perfetto_trace_processor || perfetto_build_standalone ||
"//buildtools:zlib",
]
} else {
- public_configs = [ "//third_party/zlib:zlib_config" ]
+ public_configs = [ "//third_party/zlib:system_zlib" ]
public_deps = [
"//third_party/zlib",
]

View File

@ -1,30 +0,0 @@
From bbfe2665923225b4a7c436ba2b6c7e5f695f2e52 Mon Sep 17 00:00:00 2001
From: David Landell <landell@vewd.com>
Date: Fri, 13 Sep 2019 12:24:13 +0000
Subject: [PATCH] Add missing include for unique_ptr
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Change-Id: I614d2f42868d563eb6a92dfb2aae08286e20d687
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1803137
Reviewed-by: Henrik Boström <hbos@chromium.org>
Commit-Queue: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#696355}
---
third_party/blink/public/platform/web_rtc_rtp_source.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/third_party/blink/public/platform/web_rtc_rtp_source.h b/third_party/blink/public/platform/web_rtc_rtp_source.h
index 959440f7a5..c3fd5421aa 100644
--- a/third_party/blink/public/platform/web_rtc_rtp_source.h
+++ b/third_party/blink/public/platform/web_rtc_rtp_source.h
@@ -5,6 +5,8 @@
#ifndef THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_RTC_RTP_SOURCE_H_
#define THIRD_PARTY_BLINK_PUBLIC_PLATFORM_WEB_RTC_RTP_SOURCE_H_
+#include <memory>
+
#include "base/optional.h"
#include "third_party/blink/public/platform/web_common.h"

View File

@ -1,49 +0,0 @@
From f7c177d35242311ea7a2cf49a0980c61664f27ba Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <jose.dapena@lge.com>
Date: Fri, 25 Oct 2019 15:07:09 +0000
Subject: [PATCH] IWYU: include algorithm to use std::lower_bound in
ui/gfx/font.cc
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Fix GCC build because of missing include:
../../ui/gfx/font.cc: In function gfx::Font::Weight gfx::FontWeightFromInt(int):
../../ui/gfx/font.cc:114:8: error: no matching function for call to lower_bound(const gfx::Font::Weight*, const gfx::Font::Weight*, int&, gfx::FontWeightFromInt(int)::<lambda(const gfx::Font::Weight&, const int&)>)
});
^
In file included from /usr/include/c++/8/bits/char_traits.h:39,
from /usr/include/c++/8/string:40,
from ../../ui/gfx/font.h:8,
from ../../ui/gfx/font.cc:5:
/usr/include/c++/8/bits/stl_algobase.h:984:5: note: candidate: template<class _ForwardIterator, class _Tp> _ForwardIterator std::lower_bound(_ForwardIterator, _ForwardIterator, const _Tp&)
lower_bound(_ForwardIterator __first, _ForwardIterator __last,
^~~~~~~~~~~
/usr/include/c++/8/bits/stl_algobase.h:984:5: note: template argument deduction/substitution failed:
../../ui/gfx/font.cc:114:8: note: candidate expects 3 arguments, 4 provided
});
^
Bug: 819294
Change-Id: Ic59dcf3a06bdd54d1d426c08a61624873a0ff30c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1879909
Commit-Queue: Alexei Svitkine <asvitkine@chromium.org>
Reviewed-by: Alexei Svitkine <asvitkine@chromium.org>
Cr-Commit-Position: refs/heads/master@{#709472}
---
ui/gfx/font.cc | 2 ++
1 file changed, 2 insertions(+)
diff --git a/ui/gfx/font.cc b/ui/gfx/font.cc
index 21367fd7297..92b159e13d1 100644
--- a/ui/gfx/font.cc
+++ b/ui/gfx/font.cc
@@ -4,6 +4,8 @@
#include "ui/gfx/font.h"
+#include <algorithm>
+
#include "base/strings/utf_string_conversions.h"
#include "build/build_config.h"
#include "ui/gfx/platform_font.h"

View File

@ -1,36 +0,0 @@
From 97eb905ba262382bc3583078761c68f4452aea71 Mon Sep 17 00:00:00 2001
From: Jose Dapena Paz <jose.dapena@lge.com>
Date: Fri, 25 Oct 2019 09:27:53 +0000
Subject: [PATCH] IWYU: launch_manager.h uses std::vector
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Add #include <vector> for using std::vector. This fixes GCC build.
./../chrome/browser/apps/launch_service/launch_manager.h:46:15: error: vector in namespace std does not name a template type
static std::vector<base::FilePath> GetLaunchFilesFromCommandLine(
^~~~~~
Bug: 819294
Change-Id: I02ec3a2914a8fbe3aa0041017a0228f4b0ca1ec9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1879289
Reviewed-by: Alexey Baskakov <loyso@chromium.org>
Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
Cr-Commit-Position: refs/heads/master@{#709411}
---
chrome/browser/apps/launch_service/launch_manager.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/chrome/browser/apps/launch_service/launch_manager.h b/chrome/browser/apps/launch_service/launch_manager.h
index 00aeb9d9c2a..76570ead0f9 100644
--- a/chrome/browser/apps/launch_service/launch_manager.h
+++ b/chrome/browser/apps/launch_service/launch_manager.h
@@ -6,6 +6,7 @@
#define CHROME_BROWSER_APPS_LAUNCH_SERVICE_LAUNCH_MANAGER_H_
#include <string>
+#include <vector>
#include "base/macros.h"

View File

@ -1,19 +0,0 @@
diff --git a/components/paint_preview/common/subset_font.cc b/components/paint_preview/common/subset_font.cc
index a218d63..6a5bdae 100644
--- a/components/paint_preview/common/subset_font.cc
+++ b/components/paint_preview/common/subset_font.cc
@@ -10,11 +10,12 @@
#include "base/bind.h"
#include "base/callback.h"
#include "base/macros.h"
-#include "third_party/harfbuzz-ng/src/src/hb-subset.h"
-#include "third_party/harfbuzz-ng/src/src/hb.h"
#include "third_party/skia/include/core/SkStream.h"
#include "third_party/skia/include/core/SkTypeface.h"
+#include <hb-subset.h>
+#include <hb.h>
+
namespace paint_preview {
namespace {

View File

@ -1,35 +0,0 @@
From 8273f4d3130e06fd8b6bef87b07c936304b971d9 Mon Sep 17 00:00:00 2001
From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Date: Tue, 10 Dec 2019 20:59:57 +0000
Subject: [PATCH] [cros search service]: Include <cmath> for std::pow()
IWYU. Follow up to commit 2b2ea3c09b ("[cros search service] Move shared
string matching functions to //chrome"), which broke the libstdc++ build:
../../chrome/common/string_matching/fuzzy_tokenized_string_match.cc:199:14: error: no member named 'pow' in namespace 'std'
std::pow(partial_match_penalty_rate, long_start - current - 1);
~~~~~^
Bug: 957519
Change-Id: I66f61cb4f93cfa0bfa3d1b00ba391ddd8f31a7fb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1960310
Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Reviewed-by: Jia Meng <jiameng@chromium.org>
Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Cr-Commit-Position: refs/heads/master@{#723499}
---
chrome/common/string_matching/fuzzy_tokenized_string_match.cc | 1 +
1 file changed, 1 insertion(+)
diff --git a/chrome/common/string_matching/fuzzy_tokenized_string_match.cc b/chrome/common/string_matching/fuzzy_tokenized_string_match.cc
index 8351fa701e4..884ef638c61 100644
--- a/chrome/common/string_matching/fuzzy_tokenized_string_match.cc
+++ b/chrome/common/string_matching/fuzzy_tokenized_string_match.cc
@@ -5,6 +5,7 @@
#include "chrome/common/string_matching/fuzzy_tokenized_string_match.h"
#include <algorithm>
+#include <cmath>
#include <iterator>
#include "base/i18n/case_conversion.h"

View File

@ -1,13 +0,0 @@
--- chromium-80.0.3987.106/build/linux/unbundle/zlib.gn.orig 2020-02-13 20:46:32.000000000 +0100
+++ chromium-80.0.3987.106/build/linux/unbundle/zlib.gn 2020-02-15 12:20:58.634000000 +0100
@@ -13,6 +13,10 @@
defines = [ "USE_SYSTEM_ZLIB=1" ]
}
+config("zlib_config") {
+ configs = [ ":system_zlib" ]
+}
+
source_set("zlib") {
deps = [
":zlib_shim",

View File

@ -1,127 +0,0 @@
From d3afade220ddb307e16a6dd4f2b0ec88b2af91e7 Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <stha09@googlemail.com>
Date: Tue, 28 Jan 2020 18:16:54 +0000
Subject: [PATCH] Fix building with unbundled libxml
Add new targets to libxml.gn that were added in
https://chromium-review.googlesource.com/c/chromium/src/+/1894877
Adjust includes to use system libxml headers too
Bug: 1043042
Change-Id: I948c063e212e49b9e7f42fed2b8bf7f4af042ca7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2007110
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Robert Sesek <rsesek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#735957}
---
build/linux/unbundle/libxml.gn | 41 ++++++++++++++++++++--
third_party/libxml/chromium/libxml_utils.h | 4 +--
third_party/libxml/chromium/xml_reader.cc | 3 +-
third_party/libxml/chromium/xml_writer.cc | 3 +-
4 files changed, 45 insertions(+), 6 deletions(-)
diff --git a/build/linux/unbundle/libxml.gn b/build/linux/unbundle/libxml.gn
index c481bd3547b..3587881eea8 100644
--- a/build/linux/unbundle/libxml.gn
+++ b/build/linux/unbundle/libxml.gn
@@ -8,11 +8,48 @@ pkg_config("system_libxml") {
packages = [ "libxml-2.0" ]
}
-static_library("libxml") {
+source_set("libxml") {
+ public_configs = [ ":system_libxml" ]
+}
+
+static_library("libxml_utils") {
+ # Do not expand this visibility list without first consulting with the
+ # Security Team.
+ visibility = [
+ ":xml_reader",
+ ":xml_writer",
+ "//base/test:test_support",
+ "//services/data_decoder:xml_parser_fuzzer",
+ ]
sources = [
"chromium/libxml_utils.cc",
"chromium/libxml_utils.h",
]
-
public_configs = [ ":system_libxml" ]
}
+
+static_library("xml_reader") {
+ # Do not expand this visibility list without first consulting with the
+ # Security Team.
+ visibility = [
+ "//base/test:test_support",
+ "//components/policy/core/common:unit_tests",
+ "//services/data_decoder:*",
+ "//tools/traffic_annotation/auditor:auditor_sources",
+ ]
+ sources = [
+ "chromium/xml_reader.cc",
+ "chromium/xml_reader.h",
+ ]
+ deps = [ ":libxml_utils" ]
+}
+
+static_library("xml_writer") {
+ # The XmlWriter is considered safe to use from any target.
+ visibility = [ "*" ]
+ sources = [
+ "chromium/xml_writer.cc",
+ "chromium/xml_writer.h",
+ ]
+ deps = [ ":libxml_utils" ]
+}
diff --git a/third_party/libxml/chromium/libxml_utils.h b/third_party/libxml/chromium/libxml_utils.h
index ff969fab540..8b2383f9c8b 100644
--- a/third_party/libxml/chromium/libxml_utils.h
+++ b/third_party/libxml/chromium/libxml_utils.h
@@ -5,9 +5,9 @@
#ifndef THIRD_PARTY_LIBXML_CHROMIUM_LIBXML_UTILS_H_
#define THIRD_PARTY_LIBXML_CHROMIUM_LIBXML_UTILS_H_
-#include <string>
+#include <libxml/xmlreader.h>
-#include "third_party/libxml/src/include/libxml/xmlreader.h"
+#include <string>
// libxml uses a global error function pointer for reporting errors.
// A ScopedXmlErrorFunc object lets you change the global error pointer
diff --git a/third_party/libxml/chromium/xml_reader.cc b/third_party/libxml/chromium/xml_reader.cc
index 92464f4cbcc..899ccefb7c8 100644
--- a/third_party/libxml/chromium/xml_reader.cc
+++ b/third_party/libxml/chromium/xml_reader.cc
@@ -4,10 +4,11 @@
#include "third_party/libxml/chromium/xml_reader.h"
+#include <libxml/xmlreader.h>
+
#include <vector>
#include "third_party/libxml/chromium/libxml_utils.h"
-#include "third_party/libxml/src/include/libxml/xmlreader.h"
using internal::XmlStringToStdString;
diff --git a/third_party/libxml/chromium/xml_writer.cc b/third_party/libxml/chromium/xml_writer.cc
index 51fce8ebeb1..7c58031fe2d 100644
--- a/third_party/libxml/chromium/xml_writer.cc
+++ b/third_party/libxml/chromium/xml_writer.cc
@@ -4,8 +4,9 @@
#include "third_party/libxml/chromium/xml_writer.h"
+#include <libxml/xmlwriter.h>
+
#include "third_party/libxml/chromium/libxml_utils.h"
-#include "third_party/libxml/src/include/libxml/xmlwriter.h"
XmlWriter::XmlWriter() : writer_(nullptr), buffer_(nullptr) {}

View File

@ -1,237 +0,0 @@
From cdf3e81ff49b200213d67d65558f2919222b60ab Mon Sep 17 00:00:00 2001
From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Date: Mon, 16 Dec 2019 11:39:11 +0000
Subject: [PATCH] BookmarkModelMerger: Move RemoteTreeNode declaration to
header.
This fixes the build with libstdc++ after commit 8f5dad93e58 ("Fix CHECK
failure due to untracked local nodes"):
/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/stl_pair.h:215:11: error: field has incomplete type 'sync_bookmarks::BookmarkModelMerger::RemoteTreeNode'
_T2 second; /// @c second is a copy of the second object
^
/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/ext/aligned_buffer.h:91:28: note: in instantiation of template class 'std::pair<const std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode>' requested here
: std::aligned_storage<sizeof(_Tp), __alignof__(_Tp)>
^
/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/hashtable_policy.h:233:43: note: in instantiation of template class '__gnu_cxx::__aligned_buffer<std::pair<const std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode> >' requested here
__gnu_cxx::__aligned_buffer<_Value> _M_storage;
^
/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/hashtable_policy.h:264:39: note: in instantiation of template class 'std::__detail::_Hash_node_value_base<std::pair<const std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode> >' requested here
struct _Hash_node<_Value, true> : _Hash_node_value_base<_Value>
^
/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/hashtable_policy.h:2028:25: note: in instantiation of template class 'std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode>, true>' requested here
rebind_traits<typename __node_type::value_type>;
^
/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/hashtable.h:184:15: note: in instantiation of template class 'std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode>, true> > >
' requested here
private __detail::_Hashtable_alloc<
^
/usr/lib/gcc/x86_64-redhat-linux/9/../../../../include/c++/9/bits/unordered_map.h:105:18: note: in instantiation of template class 'std::_Hashtable<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode>, std::allocator<std::pair<con
st std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char> >, std::hash<std::string>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__deta
il::_Hashtable_traits<true, false, true> >' requested here
_Hashtable _M_h;
^
../../components/sync_bookmarks/bookmark_model_merger.h:146:22: note: in instantiation of template class 'std::unordered_map<std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode, std::hash<std::string>, std::equal_to<std::__cxx11::basic_string<char> >, std::allocator<std::pair<con
st std::__cxx11::basic_string<char>, sync_bookmarks::BookmarkModelMerger::RemoteTreeNode> > >' requested here
const RemoteForest remote_forest_;
^
../../components/sync_bookmarks/bookmark_model_merger.h:53:9: note: forward declaration of 'sync_bookmarks::BookmarkModelMerger::RemoteTreeNode'
class RemoteTreeNode;
^
Essentially, the problem is that libstdc++'s std::unordered_map<T, U>
implementation requires both T and U to be fully declared. I raised the
problem in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92770, and GCC's
position is that we are relying on undefined behavior according to the C++
standard (https://eel.is/c++draft/requirements#res.on.functions-2.5).
Bug: 957519
Change-Id: Ife7e435e516932a795bfbe05b2c910c3272878f0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1960156
Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Reviewed-by: Mikel Astiz <mastiz@chromium.org>
Auto-Submit: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Cr-Commit-Position: refs/heads/master@{#725070}
---
.../sync_bookmarks/bookmark_model_merger.cc | 89 +++++++------------
.../sync_bookmarks/bookmark_model_merger.h | 48 +++++++++-
2 files changed, 80 insertions(+), 57 deletions(-)
diff --git a/components/sync_bookmarks/bookmark_model_merger.cc b/components/sync_bookmarks/bookmark_model_merger.cc
index eae153eff95..579848ee664 100644
--- a/components/sync_bookmarks/bookmark_model_merger.cc
+++ b/components/sync_bookmarks/bookmark_model_merger.cc
@@ -5,7 +5,6 @@
#include "components/sync_bookmarks/bookmark_model_merger.h"
#include <algorithm>
-#include <memory>
#include <set>
#include <string>
#include <utility>
@@ -205,66 +204,44 @@ UpdatesPerParentId GroupValidUpdatesByParentId(
} // namespace
-class BookmarkModelMerger::RemoteTreeNode final {
- public:
- // Constructs a tree given |update| as root and recursively all descendants by
- // traversing |*updates_per_parent_id|. |update| and |updates_per_parent_id|
- // must not be null. All updates |*updates_per_parent_id| must represent valid
- // updates. Updates corresponding from descendant nodes are moved away from
- // |*updates_per_parent_id|.
- static RemoteTreeNode BuildTree(
- std::unique_ptr<syncer::UpdateResponseData> update,
- UpdatesPerParentId* updates_per_parent_id);
-
- ~RemoteTreeNode() = default;
-
- // Allow moves, useful during construction.
- RemoteTreeNode(RemoteTreeNode&&) = default;
- RemoteTreeNode& operator=(RemoteTreeNode&&) = default;
-
- const syncer::EntityData& entity() const { return *update_->entity; }
- int64_t response_version() const { return update_->response_version; }
-
- // Direct children nodes, sorted by ascending unique position. These are
- // guaranteed to be valid updates (e.g. IsValidBookmarkSpecifics()).
- const std::vector<RemoteTreeNode>& children() const { return children_; }
-
- // Recursively emplaces all GUIDs (this node and descendants) into
- // |*guid_to_remote_node_map|, which must not be null.
- void EmplaceSelfAndDescendantsByGUID(
- std::unordered_map<std::string, const RemoteTreeNode*>*
- guid_to_remote_node_map) const {
- DCHECK(guid_to_remote_node_map);
-
- const std::string& guid = entity().specifics.bookmark().guid();
- if (!guid.empty()) {
- DCHECK(base::IsValidGUID(guid));
-
- // Duplicate GUIDs have been sorted out before.
- bool success = guid_to_remote_node_map->emplace(guid, this).second;
- DCHECK(success);
- }
+BookmarkModelMerger::RemoteTreeNode::RemoteTreeNode() = default;
- for (const RemoteTreeNode& child : children_) {
- child.EmplaceSelfAndDescendantsByGUID(guid_to_remote_node_map);
- }
- }
+BookmarkModelMerger::RemoteTreeNode::~RemoteTreeNode() = default;
+
+BookmarkModelMerger::RemoteTreeNode::RemoteTreeNode(
+ BookmarkModelMerger::RemoteTreeNode&&) = default;
+BookmarkModelMerger::RemoteTreeNode& BookmarkModelMerger::RemoteTreeNode::
+operator=(BookmarkModelMerger::RemoteTreeNode&&) = default;
+
+void BookmarkModelMerger::RemoteTreeNode::EmplaceSelfAndDescendantsByGUID(
+ std::unordered_map<std::string, const RemoteTreeNode*>*
+ guid_to_remote_node_map) const {
+ DCHECK(guid_to_remote_node_map);
+
+ const std::string& guid = entity().specifics.bookmark().guid();
+ if (!guid.empty()) {
+ DCHECK(base::IsValidGUID(guid));
- private:
- static bool UniquePositionLessThan(const RemoteTreeNode& lhs,
- const RemoteTreeNode& rhs) {
- const syncer::UniquePosition a_pos =
- syncer::UniquePosition::FromProto(lhs.entity().unique_position);
- const syncer::UniquePosition b_pos =
- syncer::UniquePosition::FromProto(rhs.entity().unique_position);
- return a_pos.LessThan(b_pos);
+ // Duplicate GUIDs have been sorted out before.
+ bool success = guid_to_remote_node_map->emplace(guid, this).second;
+ DCHECK(success);
}
- RemoteTreeNode() = default;
+ for (const RemoteTreeNode& child : children_) {
+ child.EmplaceSelfAndDescendantsByGUID(guid_to_remote_node_map);
+ }
+}
- std::unique_ptr<syncer::UpdateResponseData> update_;
- std::vector<RemoteTreeNode> children_;
-};
+// static
+bool BookmarkModelMerger::RemoteTreeNode::UniquePositionLessThan(
+ const RemoteTreeNode& lhs,
+ const RemoteTreeNode& rhs) {
+ const syncer::UniquePosition a_pos =
+ syncer::UniquePosition::FromProto(lhs.entity().unique_position);
+ const syncer::UniquePosition b_pos =
+ syncer::UniquePosition::FromProto(rhs.entity().unique_position);
+ return a_pos.LessThan(b_pos);
+}
// static
BookmarkModelMerger::RemoteTreeNode
diff --git a/components/sync_bookmarks/bookmark_model_merger.h b/components/sync_bookmarks/bookmark_model_merger.h
index 9b592000dc5..bf0783ecf8e 100644
--- a/components/sync_bookmarks/bookmark_model_merger.h
+++ b/components/sync_bookmarks/bookmark_model_merger.h
@@ -5,6 +5,7 @@
#ifndef COMPONENTS_SYNC_BOOKMARKS_BOOKMARK_MODEL_MERGER_H_
#define COMPONENTS_SYNC_BOOKMARKS_BOOKMARK_MODEL_MERGER_H_
+#include <memory>
#include <string>
#include <unordered_map>
#include <vector>
@@ -50,7 +51,52 @@ class BookmarkModelMerger {
private:
// Internal representation of a remote tree, composed of nodes.
- class RemoteTreeNode;
+ class RemoteTreeNode final {
+ private:
+ using UpdatesPerParentId =
+ std::unordered_map<base::StringPiece,
+ syncer::UpdateResponseDataList,
+ base::StringPieceHash>;
+
+ public:
+ // Constructs a tree given |update| as root and recursively all descendants
+ // by traversing |*updates_per_parent_id|. |update| and
+ // |updates_per_parent_id| must not be null. All updates
+ // |*updates_per_parent_id| must represent valid updates. Updates
+ // corresponding from descendant nodes are moved away from
+ // |*updates_per_parent_id|.
+ static RemoteTreeNode BuildTree(
+ std::unique_ptr<syncer::UpdateResponseData> update,
+ UpdatesPerParentId* updates_per_parent_id);
+
+ ~RemoteTreeNode();
+
+ // Allow moves, useful during construction.
+ RemoteTreeNode(RemoteTreeNode&&);
+ RemoteTreeNode& operator=(RemoteTreeNode&&);
+
+ const syncer::EntityData& entity() const { return *update_->entity; }
+ int64_t response_version() const { return update_->response_version; }
+
+ // Direct children nodes, sorted by ascending unique position. These are
+ // guaranteed to be valid updates (e.g. IsValidBookmarkSpecifics()).
+ const std::vector<RemoteTreeNode>& children() const { return children_; }
+
+ // Recursively emplaces all GUIDs (this node and descendants) into
+ // |*guid_to_remote_node_map|, which must not be null.
+ void EmplaceSelfAndDescendantsByGUID(
+ std::unordered_map<std::string, const RemoteTreeNode*>*
+ guid_to_remote_node_map) const;
+
+ private:
+ static bool UniquePositionLessThan(const RemoteTreeNode& lhs,
+ const RemoteTreeNode& rhs);
+
+ RemoteTreeNode();
+
+ std::unique_ptr<syncer::UpdateResponseData> update_;
+ std::vector<RemoteTreeNode> children_;
+ };
// A forest composed of multiple trees where the root of each tree represents
// a permanent node, keyed by server-defined unique tag of the root.

View File

@ -1,33 +0,0 @@
From 8500a125e9fba8bb84d185542155747ee7157ff8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dominik=20R=C3=B6ttsches?= <drott@chromium.org>
Date: Tue, 28 Jan 2020 13:48:07 +0000
Subject: [PATCH] Remove verbose logging in local unique font matching on Linux
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Fixed: 1005508
Change-Id: I97f5340c6d1881798ba51effc4a9e5c07de12e52
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2023552
Commit-Queue: Dominik Röttsches <drott@chromium.org>
Commit-Queue: Kentaro Hara <haraken@chromium.org>
Auto-Submit: Dominik Röttsches <drott@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#735854}
---
content/child/child_process_sandbox_support_impl_linux.cc | 2 --
1 file changed, 2 deletions(-)
diff --git a/content/child/child_process_sandbox_support_impl_linux.cc b/content/child/child_process_sandbox_support_impl_linux.cc
index 693ead7f7a5..c97c8fa197b 100644
--- a/content/child/child_process_sandbox_support_impl_linux.cc
+++ b/content/child/child_process_sandbox_support_impl_linux.cc
@@ -76,8 +76,6 @@ bool WebSandboxSupportLinux::MatchFontByPostscriptNameOrFullFontName(
std::string family_name;
if (!font_loader_->MatchFontByPostscriptNameOrFullFontName(font_unique_name,
&font_identity)) {
- LOG(ERROR) << "FontService unique font name matching request did not "
- "receive a response.";
return false;
}

View File

@ -1,40 +0,0 @@
From 9ff06536caf7ea51aad9fd2bb649c858eaf7ee84 Mon Sep 17 00:00:00 2001
From: Akarshan Biswas <akarshanbiswas@fedoraproject.org>
Date: Sat, 26 Oct 2019 10:06:30 +0530
Subject: [PATCH] Move offending function to chromeos only
--- a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
+++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
@@ -66,6 +66,7 @@ void ReportToUMA(VAVDADecoderFailure fai
VAVDA_DECODER_FAILURES_MAX + 1);
}
+#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
// Returns true if the CPU is an Intel Gemini Lake or later (including Kaby
// Lake) Cpu platform id's are referenced from the following file in kernel
// source arch/x86/include/asm/intel-family.h
@@ -78,6 +79,7 @@ bool IsGeminiLakeOrLater() {
cpuid.model() >= kGeminiLakeModelId;
return is_geminilake_or_later;
}
+#endif
} // namespace
@@ -1155,6 +1157,8 @@ VaapiVideoDecodeAccelerator::DecideBuffe
if (output_mode_ == VideoDecodeAccelerator::Config::OutputMode::IMPORT)
return BufferAllocationMode::kNormal;
+#if defined(OS_ANDROID) || defined(OS_CHROMEOS)
+ // Move this to chromeOs only as it is causing problem in some intel linux drivers
// On Gemini Lake, Kaby Lake and later we can pass to libva the client's
// PictureBuffers to decode onto, which skips the use of the Vpp unit and its
// associated format reconciliation copy, avoiding all internal buffer
@@ -1171,6 +1175,7 @@ VaapiVideoDecodeAccelerator::DecideBuffe
num_extra_pics_ = 3;
return BufferAllocationMode::kNone;
}
+#endif
// If we're here, we have to use the Vpp unit and allocate buffers for
// |decoder_|; usually we'd have to allocate the |decoder_|s

View File

@ -1,29 +0,0 @@
From 2b9d6daa0ab5ce45ec5555466d5a5a583a020ea8 Mon Sep 17 00:00:00 2001
From: Daniel Playfair Cal <daniel.playfair.cal@gmail.com>
Date: Sat, 18 Apr 2020 00:27:38 +0000
Subject: [PATCH] Add missing algorithm header in crx_install_error.cc
This is needed for the use of std::find.
Change-Id: I2dc43b3887c467986c5346be5a9e27a987e1e5b3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2152333
Reviewed-by: Ken Rockot <rockot@google.com>
Commit-Queue: Ken Rockot <rockot@google.com>
Cr-Commit-Position: refs/heads/master@{#760272}
---
extensions/browser/install/crx_install_error.cc | 2 ++
1 file changed, 2 insertions(+)
diff --git a/extensions/browser/install/crx_install_error.cc b/extensions/browser/install/crx_install_error.cc
index a9765bb0a5a..bd0d3e35a16 100644
--- a/extensions/browser/install/crx_install_error.cc
+++ b/extensions/browser/install/crx_install_error.cc
@@ -4,6 +4,8 @@
#include "extensions/browser/install/crx_install_error.h"
+#include <algorithm>
+
#include "base/logging.h"
#include "extensions/browser/install/sandboxed_unpacker_failure_reason.h"

View File

@ -1,64 +0,0 @@
From e473f41284ccc8fa4bc4622d087194b18a1ec23a Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <stha09@googlemail.com>
Date: Tue, 7 Apr 2020 16:37:10 +0000
Subject: [PATCH] GCC: fix includes for gcc-10
---
chrome/browser/search/background/ntp_backgrounds.h | 1 +
third_party/webrtc/call/rtx_receive_stream.h | 1 +
.../webrtc/modules/audio_processing/aec3/clockdrift_detector.h | 1 +
ui/gfx/linux/drm_util_linux.h | 2 ++
5 files changed, 6 insertions(+)
diff --git a/chrome/browser/search/background/ntp_backgrounds.h b/chrome/browser/search/background/ntp_backgrounds.h
index 7afc0a2..ea5818e 100644
--- a/chrome/browser/search/background/ntp_backgrounds.h
+++ b/chrome/browser/search/background/ntp_backgrounds.h
@@ -6,6 +6,7 @@
#define CHROME_BROWSER_SEARCH_BACKGROUND_NTP_BACKGROUNDS_H_
#include <array>
+#include <cstddef>
class GURL;
diff --git a/third_party/webrtc/call/rtx_receive_stream.h b/third_party/webrtc/call/rtx_receive_stream.h
index 8ffa440..113a816 100644
--- a/third_party/webrtc/call/rtx_receive_stream.h
+++ b/third_party/webrtc/call/rtx_receive_stream.h
@@ -12,6 +12,7 @@
#define CALL_RTX_RECEIVE_STREAM_H_
#include <map>
+#include <cstdint>
#include "call/rtp_packet_sink_interface.h"
diff --git a/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h b/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
index 22528c9..69e624e 100644
--- a/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
+++ b/third_party/webrtc/modules/audio_processing/aec3/clockdrift_detector.h
@@ -12,6 +12,7 @@
#define MODULES_AUDIO_PROCESSING_AEC3_CLOCKDRIFT_DETECTOR_H_
#include <array>
+#include <cstddef>
namespace webrtc {
diff --git a/ui/gfx/linux/drm_util_linux.h b/ui/gfx/linux/drm_util_linux.h
index 86ff2eb..990f12c 100644
--- a/ui/gfx/linux/drm_util_linux.h
+++ b/ui/gfx/linux/drm_util_linux.h
@@ -7,6 +7,8 @@
#include "ui/gfx/buffer_types.h"
+#include <cstdint>
+
namespace ui {
int GetFourCCFormatFromBufferFormat(gfx::BufferFormat format);
--
2.24.1

View File

@ -1,62 +0,0 @@
From aeef68888d4c00b69facead2b934095a8cd17329 Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <stha09@googlemail.com>
Date: Mon, 20 Apr 2020 18:21:43 +0000
Subject: [PATCH] libstdc++: fix incomplete-type in AXTree for
NodeSetSizePosInSetInfo
has only forward declaration of NodeSetSizePosInSetInfo. Therefore,
move declaration from ax_tree.cc.
std: :unordered_map<T, U> requires U to be fully declared. ax_tree.h
Bug: 957519
Change-Id: Ic1f4bf3ebfea229ece84251e46d4461b31873868
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2132403
Reviewed-by: David Tseng <dtseng@chromium.org>
Commit-Queue: David Tseng <dtseng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#760588}
---
ui/accessibility/ax_tree.cc | 10 ++--------
ui/accessibility/ax_tree.h | 9 ++++++++-
2 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/ui/accessibility/ax_tree.cc b/ui/accessibility/ax_tree.cc
index 7b8d9b1b161..e9154028d66 100644
--- a/ui/accessibility/ax_tree.cc
+++ b/ui/accessibility/ax_tree.cc
@@ -567,14 +567,8 @@ struct AXTreeUpdateState {
const AXTree& tree;
};
-struct AXTree::NodeSetSizePosInSetInfo {
- NodeSetSizePosInSetInfo() = default;
- ~NodeSetSizePosInSetInfo() = default;
-
- int32_t pos_in_set = 0;
- int32_t set_size = 0;
- base::Optional<int> lowest_hierarchical_level;
-};
+AXTree::NodeSetSizePosInSetInfo::NodeSetSizePosInSetInfo() = default;
+AXTree::NodeSetSizePosInSetInfo::~NodeSetSizePosInSetInfo() = default;
struct AXTree::OrderedSetContent {
explicit OrderedSetContent(const AXNode* ordered_set = nullptr)
diff --git a/ui/accessibility/ax_tree.h b/ui/accessibility/ax_tree.h
index a51ca8de4c8..8c1c57517ac 100644
--- a/ui/accessibility/ax_tree.h
+++ b/ui/accessibility/ax_tree.h
@@ -328,7 +328,14 @@ class AX_EXPORT AXTree : public AXNode::OwnerTree {
bool enable_extra_mac_nodes_ = false;
// Contains pos_in_set and set_size data for an AXNode.
- struct NodeSetSizePosInSetInfo;
+ struct NodeSetSizePosInSetInfo {
+ NodeSetSizePosInSetInfo();
+ ~NodeSetSizePosInSetInfo();
+
+ int32_t pos_in_set = 0;
+ int32_t set_size = 0;
+ base::Optional<int> lowest_hierarchical_level;
+ };
// Represents the content of an ordered set which includes the ordered set
// items and the ordered set container if it exists.

View File

@ -1,95 +0,0 @@
From d3cabbc7321d349a9bffda482df5afc0d4df1ac2 Mon Sep 17 00:00:00 2001
From: Piotr Tworek <ptworek@vewd.com>
Date: Thu, 30 Apr 2020 21:33:47 +0000
Subject: [PATCH] Make some of blink custom iterators STL compatible.
Blink has recently started using functions like std::any_of with some of
the custom iterators it provides. On Linux this works in the default
setup using libcxx, but fails with even the most recent versions of
libstdc++. In all cases the error message (text in bug report) complains
about lack of matching std::__iterator_category definition.
From what I understand the error message is basically saying those
iterators are not STL compatible due to missing traits as described
in https://en.cppreference.com/w/cpp/iterator/iterator_traits. Such
traits are provided by custom iterators defined in //base, or //cc.
This patch adds the necessary traits to iterators that are currently
affected by this problem.
Bug: 1076869
Change-Id: I9950a7100c32499ba96647317fa70b87dc22eaf9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2174199
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Piotr Tworek <ptworek@vewd.com>
Cr-Commit-Position: refs/heads/master@{#764426}
---
.../core/layout/ng/ng_physical_container_fragment.h | 6 ++++++
.../blink/renderer/platform/wtf/hash_iterators.h | 12 ++++++++++++
third_party/blink/renderer/platform/wtf/hash_table.h | 6 ++++++
3 files changed, 24 insertions(+)
diff --git a/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h b/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h
index 1256e77c146..8b93107f2fc 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h
+++ b/third_party/blink/renderer/core/layout/ng/ng_physical_container_fragment.h
@@ -38,6 +38,12 @@ class CORE_EXPORT NGPhysicalContainerFragment : public NGPhysicalFragment {
STACK_ALLOCATED();
public:
+ using iterator_category = std::bidirectional_iterator_tag;
+ using value_type = NGLink;
+ using difference_type = ptrdiff_t;
+ using pointer = value_type*;
+ using reference = value_type&;
+
ConstIterator(const NGLink* current) : current_(current) {}
const NGLink& operator*() const { return *PostLayoutOrCurrent(); }
diff --git a/third_party/blink/renderer/platform/wtf/hash_iterators.h b/third_party/blink/renderer/platform/wtf/hash_iterators.h
index f8e66e6be85..6003d02c509 100644
--- a/third_party/blink/renderer/platform/wtf/hash_iterators.h
+++ b/third_party/blink/renderer/platform/wtf/hash_iterators.h
@@ -53,6 +53,12 @@ struct HashTableConstIteratorAdapter<HashTableType,
typedef HashTableConstValuesIterator<HashTableType, KeyType, MappedType>
ValuesIterator;
+ using iterator_category = std::bidirectional_iterator_tag;
+ using value_type = HashTableType;
+ using difference_type = ptrdiff_t;
+ using pointer = value_type*;
+ using reference = value_type&;
+
HashTableConstIteratorAdapter() = default;
HashTableConstIteratorAdapter(
const typename HashTableType::const_iterator& impl)
@@ -94,6 +100,12 @@ struct HashTableIteratorAdapter<HashTableType,
typedef HashTableValuesIterator<HashTableType, KeyType, MappedType>
ValuesIterator;
+ using iterator_category = std::bidirectional_iterator_tag;
+ using value_type = HashTableType;
+ using difference_type = ptrdiff_t;
+ using pointer = value_type*;
+ using reference = value_type&;
+
HashTableIteratorAdapter() = default;
HashTableIteratorAdapter(const typename HashTableType::iterator& impl)
: impl_(impl) {}
diff --git a/third_party/blink/renderer/platform/wtf/hash_table.h b/third_party/blink/renderer/platform/wtf/hash_table.h
index f596fb5d41e..5a4468d6bd1 100644
--- a/third_party/blink/renderer/platform/wtf/hash_table.h
+++ b/third_party/blink/renderer/platform/wtf/hash_table.h
@@ -2204,6 +2204,12 @@ struct HashTableConstIteratorAdapter {
STACK_ALLOCATED();
public:
+ using iterator_category = std::bidirectional_iterator_tag;
+ using value_type = HashTableType;
+ using difference_type = ptrdiff_t;
+ using pointer = value_type*;
+ using reference = value_type&;
+
HashTableConstIteratorAdapter() = default;
HashTableConstIteratorAdapter(
const typename HashTableType::const_iterator& impl)

View File

@ -1,32 +0,0 @@
From 40d994e4aa2e4d5077c1810e4623549618a19c05 Mon Sep 17 00:00:00 2001
From: Piotr Tworek <ptworek@vewd.com>
Date: Mon, 27 Apr 2020 16:31:46 +0000
Subject: [PATCH] Include "memory" header to get the definition of
std::unique_ptr.
Right now the code im the affected fails to build when using libstdc++
instead of bundled libcxx. Apparently libcxx pulls the necessary header
indirectly.
Change-Id: Ie5e86f228434ab16d622ae7a912d9ce607258931
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2164645
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Commit-Queue: Jochen Eisinger <jochen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#762881}
---
.../blink/renderer/core/html/trust_token_attribute_parsing.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h b/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h
index f5a7ab03892..ef19cfaf680 100644
--- a/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h
+++ b/third_party/blink/renderer/core/html/trust_token_attribute_parsing.h
@@ -5,6 +5,8 @@
#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_HTML_TRUST_TOKEN_ATTRIBUTE_PARSING_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_HTML_TRUST_TOKEN_ATTRIBUTE_PARSING_H_
+#include <memory>
+
#include "base/optional.h"
#include "services/network/public/mojom/trust_tokens.mojom-blink-forward.h"
#include "third_party/blink/renderer/core/core_export.h"

View File

@ -1,10 +0,0 @@
--- chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc.orig 2020-05-27 09:17:40.101000000 +0200
+++ chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.cc 2020-05-27 09:18:35.953000000 +0200
@@ -3,6 +3,7 @@
// found in the LICENSE file.
#include "chrome/browser/performance_manager/graph/policies/background_tab_loading_policy_helpers.h"
+#include <limits>
#include "base/logging.h"
namespace performance_manager {

View File

@ -1,172 +0,0 @@
From 3f8dc4b2e5baf77b463334c769af85b79d8c1463 Mon Sep 17 00:00:00 2001
From: Frank Tang <ftang@chromium.org>
Date: Fri, 3 Apr 2020 23:13:54 -0700
Subject: [PATCH] [intl] Remove soon-to-be removed getAllFieldPositions
Needed to land ICU67.1 soon.
Bug: v8:10393
Change-Id: I3c7737ca600d6ccfdc46ffaddfb318ce60bc7618
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2136489
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67027}
---
src/objects/js-number-format.cc | 77 +++++++++++++++++----------------
1 file changed, 39 insertions(+), 38 deletions(-)
diff --git a/src/objects/js-number-format.cc b/src/objects/js-number-format.cc
index ad831c5c36..bcd44031d5 100644
--- a/src/objects/js-number-format.cc
+++ b/src/objects/js-number-format.cc
@@ -1241,44 +1241,33 @@ MaybeHandle<JSNumberFormat> JSNumberFormat::New(Isolate* isolate,
}
namespace {
-Maybe<icu::UnicodeString> IcuFormatNumber(
+Maybe<bool> IcuFormatNumber(
Isolate* isolate,
const icu::number::LocalizedNumberFormatter& number_format,
- Handle<Object> numeric_obj, icu::FieldPositionIterator* fp_iter) {
+ Handle<Object> numeric_obj, icu::number::FormattedNumber* formatted) {
// If it is BigInt, handle it differently.
UErrorCode status = U_ZERO_ERROR;
- icu::number::FormattedNumber formatted;
if (numeric_obj->IsBigInt()) {
Handle<BigInt> big_int = Handle<BigInt>::cast(numeric_obj);
Handle<String> big_int_string;
ASSIGN_RETURN_ON_EXCEPTION_VALUE(isolate, big_int_string,
BigInt::ToString(isolate, big_int),
- Nothing<icu::UnicodeString>());
- formatted = number_format.formatDecimal(
+ Nothing<bool>());
+ *formatted = number_format.formatDecimal(
{big_int_string->ToCString().get(), big_int_string->length()}, status);
} else {
double number = numeric_obj->IsNaN()
? std::numeric_limits<double>::quiet_NaN()
: numeric_obj->Number();
- formatted = number_format.formatDouble(number, status);
+ *formatted = number_format.formatDouble(number, status);
}
if (U_FAILURE(status)) {
// This happen because of icu data trimming trim out "unit".
// See https://bugs.chromium.org/p/v8/issues/detail?id=8641
- THROW_NEW_ERROR_RETURN_VALUE(isolate,
- NewTypeError(MessageTemplate::kIcuError),
- Nothing<icu::UnicodeString>());
- }
- if (fp_iter) {
- formatted.getAllFieldPositions(*fp_iter, status);
- }
- icu::UnicodeString result = formatted.toString(status);
- if (U_FAILURE(status)) {
- THROW_NEW_ERROR_RETURN_VALUE(isolate,
- NewTypeError(MessageTemplate::kIcuError),
- Nothing<icu::UnicodeString>());
+ THROW_NEW_ERROR_RETURN_VALUE(
+ isolate, NewTypeError(MessageTemplate::kIcuError), Nothing<bool>());
}
- return Just(result);
+ return Just(true);
}
} // namespace
@@ -1289,10 +1278,16 @@ MaybeHandle<String> JSNumberFormat::FormatNumeric(
Handle<Object> numeric_obj) {
DCHECK(numeric_obj->IsNumeric());
- Maybe<icu::UnicodeString> maybe_format =
- IcuFormatNumber(isolate, number_format, numeric_obj, nullptr);
+ icu::number::FormattedNumber formatted;
+ Maybe<bool> maybe_format =
+ IcuFormatNumber(isolate, number_format, numeric_obj, &formatted);
MAYBE_RETURN(maybe_format, Handle<String>());
- return Intl::ToString(isolate, maybe_format.FromJust());
+ UErrorCode status = U_ZERO_ERROR;
+ icu::UnicodeString result = formatted.toString(status);
+ if (U_FAILURE(status)) {
+ THROW_NEW_ERROR(isolate, NewTypeError(MessageTemplate::kIcuError), String);
+ }
+ return Intl::ToString(isolate, result);
}
namespace {
@@ -1405,12 +1400,18 @@ std::vector<NumberFormatSpan> FlattenRegionsToParts(
}
namespace {
-Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted,
- icu::FieldPositionIterator* fp_iter,
+Maybe<int> ConstructParts(Isolate* isolate,
+ icu::number::FormattedNumber* formatted,
Handle<JSArray> result, int start_index,
Handle<Object> numeric_obj, bool style_is_unit) {
+ UErrorCode status = U_ZERO_ERROR;
+ icu::UnicodeString formatted_text = formatted->toString(status);
+ if (U_FAILURE(status)) {
+ THROW_NEW_ERROR_RETURN_VALUE(
+ isolate, NewTypeError(MessageTemplate::kIcuError), Nothing<int>());
+ }
DCHECK(numeric_obj->IsNumeric());
- int32_t length = formatted.length();
+ int32_t length = formatted_text.length();
int index = start_index;
if (length == 0) return Just(index);
@@ -1419,13 +1420,14 @@ Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted,
// other region covers some part of the formatted string. It's possible
// there's another field with exactly the same begin and end as this backdrop,
// in which case the backdrop's field_id of -1 will give it lower priority.
- regions.push_back(NumberFormatSpan(-1, 0, formatted.length()));
+ regions.push_back(NumberFormatSpan(-1, 0, formatted_text.length()));
{
- icu::FieldPosition fp;
- while (fp_iter->next(fp)) {
- regions.push_back(NumberFormatSpan(fp.getField(), fp.getBeginIndex(),
- fp.getEndIndex()));
+ icu::ConstrainedFieldPosition cfp;
+ cfp.constrainCategory(UFIELD_CATEGORY_NUMBER);
+ while (formatted->nextPosition(cfp, status)) {
+ regions.push_back(
+ NumberFormatSpan(cfp.getField(), cfp.getStart(), cfp.getLimit()));
}
}
@@ -1447,7 +1449,7 @@ Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted,
Handle<String> substring;
ASSIGN_RETURN_ON_EXCEPTION_VALUE(
isolate, substring,
- Intl::ToString(isolate, formatted, part.begin_pos, part.end_pos),
+ Intl::ToString(isolate, formatted_text, part.begin_pos, part.end_pos),
Nothing<int>());
Intl::AddElement(isolate, result, index, field_type_string, substring);
++index;
@@ -1467,20 +1469,19 @@ MaybeHandle<JSArray> JSNumberFormat::FormatToParts(
number_format->icu_number_formatter().raw();
CHECK_NOT_NULL(fmt);
- icu::FieldPositionIterator fp_iter;
- Maybe<icu::UnicodeString> maybe_format =
- IcuFormatNumber(isolate, *fmt, numeric_obj, &fp_iter);
+ icu::number::FormattedNumber formatted;
+ Maybe<bool> maybe_format =
+ IcuFormatNumber(isolate, *fmt, numeric_obj, &formatted);
MAYBE_RETURN(maybe_format, Handle<JSArray>());
-
UErrorCode status = U_ZERO_ERROR;
+
bool style_is_unit =
Style::UNIT == StyleFromSkeleton(fmt->toSkeleton(status));
CHECK(U_SUCCESS(status));
Handle<JSArray> result = factory->NewJSArray(0);
- Maybe<int> maybe_format_to_parts =
- ConstructParts(isolate, maybe_format.FromJust(), &fp_iter, result, 0,
- numeric_obj, style_is_unit);
+ Maybe<int> maybe_format_to_parts = ConstructParts(
+ isolate, &formatted, result, 0, numeric_obj, style_is_unit);
MAYBE_RETURN(maybe_format_to_parts, Handle<JSArray>());
return result;

View File

@ -1,138 +0,0 @@
From bd59ce32629ef684624821419c43967b73d2989e Mon Sep 17 00:00:00 2001
From: Hiroki Nakagawa <nhiroki@chromium.org>
Date: Fri, 8 May 2020 08:25:31 +0000
Subject: [PATCH] ServiceWorker: Avoid double destruction of
ServiceWorkerObjectHost on connection error
This CL avoids the case where ServiceWorkerObjectHost is destroyed twice
on ServiceWorkerObjectHost::OnConnectionError() when Chromium is built
with the GCC build toolchain.
> How does the issue happen?
ServiceWorkerObjectHost has a cyclic reference like this:
ServiceWorkerObjectHost
--([1] scoped_refptr)--> ServiceWorkerVersion
--([2] std::unique_ptr)--> ServiceWorkerProviderHost
--([3] std::unique_ptr)--> ServiceWorkerContainerHost
--([4] std::unique_ptr)--> ServiceWorkerObjectHost
Note that ServiceWorkerContainerHost manages ServiceWorkerObjectHost in
map<int64_t version_id, std::unique_ptr<ServiceWorkerObjectHost>>.
When ServiceWorkerObjectHost::OnConnectionError() is called, the
function removes the reference [4] from the map, and destroys
ServiceWorkerObjectHost. If the object host has the last reference [1]
to ServiceWorkerVersion, the destruction also cuts off the references
[2] and [3], and destroys ServiceWorkerProviderHost and
ServiceWorkerContainerHost.
This seems to work well on the Chromium's default toolchain, but not
work on the GCC toolchain. According to the report, destruction of
ServiceWorkerContainerHost happens while the map owned by the container
host is erasing the ServiceWorkerObjectHost, and this results in crash
due to double destruction of the object host.
I don't know the reason why this happens only on the GCC toolchain, but
I suspect the order of object destruction on std::map::erase() could be
different depending on the toolchains.
> How does this CL fix this?
The ideal fix is to redesign the ownership model of
ServiceWorkerVersion, but it's not feasible in the short term.
Instead, this CL avoids destruction of ServiceWorkerObjectHost on
std::map::erase(). The new code takes the ownership of the object host
from the map first, and then erases the entry from the map. This
separates timings to erase the map entry and to destroy the object host,
so the crash should no longer happen.
Bug: 1056598
Change-Id: Id30654cb575bc557c42044d6f0c6f1f9bfaed613
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2094496
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#766770}
---
.../service_worker_container_host.cc | 10 +++++
.../service_worker_object_host_unittest.cc | 38 +++++++++++++++++++
2 files changed, 48 insertions(+)
diff --git a/content/browser/service_worker/service_worker_container_host.cc b/content/browser/service_worker/service_worker_container_host.cc
index ec7fb1449af..98c62093b0e 100644
--- a/content/browser/service_worker/service_worker_container_host.cc
+++ b/content/browser/service_worker/service_worker_container_host.cc
@@ -669,6 +669,16 @@ void ServiceWorkerContainerHost::RemoveServiceWorkerObjectHost(
int64_t version_id) {
DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId());
DCHECK(base::Contains(service_worker_object_hosts_, version_id));
+
+ // ServiceWorkerObjectHost to be deleted may have the last reference to
+ // ServiceWorkerVersion that indirectly owns this ServiceWorkerContainerHost.
+ // If we erase the object host directly from the map, |this| could be deleted
+ // during the map operation and may crash. To avoid the case, we take the
+ // ownership of the object host from the map first, and then erase the entry
+ // from the map. See https://crbug.com/1056598 for details.
+ std::unique_ptr<ServiceWorkerObjectHost> to_be_deleted =
+ std::move(service_worker_object_hosts_[version_id]);
+ DCHECK(to_be_deleted);
service_worker_object_hosts_.erase(version_id);
}
diff --git a/content/browser/service_worker/service_worker_object_host_unittest.cc b/content/browser/service_worker/service_worker_object_host_unittest.cc
index 408d7c1f9d1..6eab59040ab 100644
--- a/content/browser/service_worker/service_worker_object_host_unittest.cc
+++ b/content/browser/service_worker/service_worker_object_host_unittest.cc
@@ -200,6 +200,19 @@ class ServiceWorkerObjectHostTest : public testing::Test {
return registration_info;
}
+ void CallOnConnectionError(ServiceWorkerContainerHost* container_host,
+ int64_t version_id) {
+ // ServiceWorkerObjectHost has the last reference to the version.
+ ServiceWorkerObjectHost* object_host =
+ GetServiceWorkerObjectHost(container_host, version_id);
+ EXPECT_TRUE(object_host->version_->HasOneRef());
+
+ // Make sure that OnConnectionError induces destruction of the version and
+ // the object host.
+ object_host->receivers_.Clear();
+ object_host->OnConnectionError();
+ }
+
BrowserTaskEnvironment task_environment_;
std::unique_ptr<EmbeddedWorkerTestHelper> helper_;
scoped_refptr<ServiceWorkerRegistration> registration_;
@@ -409,5 +422,30 @@ TEST_F(ServiceWorkerObjectHostTest, DispatchExtendableMessageEvent_FromClient) {
events[0]->source_info_for_client->client_type);
}
+// This is a regression test for https://crbug.com/1056598.
+TEST_F(ServiceWorkerObjectHostTest, OnConnectionError) {
+ const GURL scope("https://www.example.com/");
+ const GURL script_url("https://www.example.com/service_worker.js");
+ Initialize(std::make_unique<EmbeddedWorkerTestHelper>(base::FilePath()));
+ SetUpRegistration(scope, script_url);
+
+ // Create the provider host.
+ ASSERT_EQ(blink::ServiceWorkerStatusCode::kOk,
+ StartServiceWorker(version_.get()));
+
+ // Set up the case where the last reference to the version is owned by the
+ // service worker object host.
+ ServiceWorkerContainerHost* container_host =
+ version_->provider_host()->container_host();
+ ServiceWorkerVersion* version_rawptr = version_.get();
+ version_ = nullptr;
+ ASSERT_TRUE(version_rawptr->HasOneRef());
+
+ // Simulate the connection error that induces the object host destruction.
+ // This shouldn't crash.
+ CallOnConnectionError(container_host, version_rawptr->version_id());
+ base::RunLoop().RunUntilIdle();
+}
+
} // namespace service_worker_object_host_unittest
} // namespace content

View File

@ -0,0 +1,71 @@
From 128869693a2519578896b41765df029d7adc4ae0 Mon Sep 17 00:00:00 2001
From: Yuzu Saijo <yuzus@chromium.org>
Date: Tue, 2 Jun 2020 04:51:11 +0000
Subject: [PATCH] [content] Avoid calling DeleteForCurrentDocument from
destructor
This CL removes the call to DeleteForCurrentDocument from the destructor
of ManifestManagerHost.
This intends to fix a crash which happens from time to time using
RenderDocumentHostUserData.
Change-Id: I1336fb62328dcb0cf9991499f399bf3665d29b75
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2224737
Reviewed-by: Rakina Zata Amni <rakina@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Reviewed-by: Sreeja Kamishetty <sreejakshetty@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Yuzu Saijo <yuzus@chromium.org>
Cr-Commit-Position: refs/heads/master@{#774006}
---
content/browser/manifest/manifest_manager_host.cc | 7 +++++--
content/browser/manifest/manifest_manager_host.h | 2 ++
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/content/browser/manifest/manifest_manager_host.cc b/content/browser/manifest/manifest_manager_host.cc
index 3a2efba889a..1bd88d91edc 100644
--- a/content/browser/manifest/manifest_manager_host.cc
+++ b/content/browser/manifest/manifest_manager_host.cc
@@ -22,7 +22,7 @@ ManifestManagerHost::ManifestManagerHost(RenderFrameHost* render_frame_host)
}
ManifestManagerHost::~ManifestManagerHost() {
- OnConnectionError();
+ DispatchPendingCallbacks();
}
void ManifestManagerHost::BindObserver(
@@ -55,7 +55,7 @@ blink::mojom::ManifestManager& ManifestManagerHost::GetManifestManager() {
return *manifest_manager_;
}
-void ManifestManagerHost::OnConnectionError() {
+void ManifestManagerHost::DispatchPendingCallbacks() {
std::vector<GetManifestCallback> callbacks;
for (CallbackMap::iterator it(&callbacks_); !it.IsAtEnd(); it.Advance()) {
callbacks.push_back(std::move(*it.GetCurrentValue()));
@@ -63,7 +63,10 @@ void ManifestManagerHost::OnConnectionError() {
callbacks_.Clear();
for (auto& callback : callbacks)
std::move(callback).Run(GURL(), blink::Manifest());
+}
+void ManifestManagerHost::OnConnectionError() {
+ DispatchPendingCallbacks();
if (GetForCurrentDocument(manifest_manager_frame_)) {
DeleteForCurrentDocument(manifest_manager_frame_);
}
diff --git a/content/browser/manifest/manifest_manager_host.h b/content/browser/manifest/manifest_manager_host.h
index 96951ae30bc..f706c20bdb8 100644
--- a/content/browser/manifest/manifest_manager_host.h
+++ b/content/browser/manifest/manifest_manager_host.h
@@ -55,6 +55,8 @@ class ManifestManagerHost
using CallbackMap = base::IDMap<std::unique_ptr<GetManifestCallback>>;
blink::mojom::ManifestManager& GetManifestManager();
+
+ void DispatchPendingCallbacks();
void OnConnectionError();
void OnRequestManifestResponse(int request_id,

View File

@ -0,0 +1,38 @@
From 192fc3899f76e9487d77895f31df8d2d13bf9619 Mon Sep 17 00:00:00 2001
From: Dale Curtis <dalecurtis@chromium.org>
Date: Fri, 26 Jun 2020 01:10:55 +0000
Subject: [PATCH] Force mp3 files to have a start time of zero.
This will allow us to remove our custom patch which breaks upstream
ffmpeg functionality for unknown reasons.
R=sandersd
Fixed: 1062037
Change-Id: I253011843dee4dd6a8c958b14990ad836a9f1dca
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2268221
Auto-Submit: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Dan Sanders <sandersd@chromium.org>
Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#782792}
---
media/filters/ffmpeg_demuxer.cc | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc
index 01266e1a072..a7ed542b5fc 100644
--- a/media/filters/ffmpeg_demuxer.cc
+++ b/media/filters/ffmpeg_demuxer.cc
@@ -1522,6 +1522,12 @@ void FFmpegDemuxer::OnFindStreamInfoDone(int result) {
if (glue_->container() == container_names::CONTAINER_AVI)
format_context->flags |= AVFMT_FLAG_GENPTS;
+ // FFmpeg will incorrectly adjust the start time of MP3 files into the future
+ // based on discard samples. We were unable to fix this upstream without
+ // breaking ffmpeg functionality. https://crbug.com/1062037
+ if (glue_->container() == container_names::CONTAINER_MP3)
+ start_time_ = base::TimeDelta();
+
// For testing purposes, don't overwrite the timeline offset if set already.
if (timeline_offset_.is_null()) {
timeline_offset_ =

View File

@ -0,0 +1,42 @@
From 3bfec15358b788a2b7e1beefaa177ba84a6da328 Mon Sep 17 00:00:00 2001
From: Ted Meyer <tmathmeyer@chromium.org>
Date: Mon, 1 Jun 2020 19:31:18 +0000
Subject: [PATCH] Remove NotifyError calls and just send a normal message
instead
rewrote the TODO as well.
Bug: 1088055
Change-Id: If83ceeb3a786a1813e41bd3ac6c7309791e92400
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2223010
Auto-Submit: Ted Meyer <tmathmeyer@chromium.org>
Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#773776}
---
media/filters/decoder_selector.cc | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/media/filters/decoder_selector.cc b/media/filters/decoder_selector.cc
index bb06378b92d..9f510bb578c 100644
--- a/media/filters/decoder_selector.cc
+++ b/media/filters/decoder_selector.cc
@@ -165,13 +165,11 @@ void DecoderSelector<StreamType>::OnDecoderInitializeDone(Status status) {
DCHECK(task_runner_->BelongsToCurrentThread());
if (!status.is_ok()) {
- // TODO(tmathmeyer) this might be noisy in media log. Consider batching
- // all failures as causes to a single Status object and only surfacing it if
- // decoder selection fails entirely.
- media_log_->NotifyError(
- Status(StatusCode::kDecoderFailedInitialization)
- .WithData("Decoder name", decoder_->GetDisplayName())
- .AddCause(std::move(status)));
+ // TODO(tmathmeyer) this was too noisy in media log. Batch all the logs
+ // together and then send them as an informational notice instead of
+ // using NotifyError.
+ MEDIA_LOG(INFO, media_log_)
+ << "Failed to initialize " << decoder_->GetDisplayName();
// Try the next decoder on the list.
decoder_.reset();

View File

@ -1,11 +0,0 @@
--- chromium-r78967/tools/gyp/pylib/gyp/generator/make.py.orig 2011-03-26 18:24:40.599711053 +0100
+++ chromium-r78967/tools/gyp/pylib/gyp/generator/make.py 2011-03-26 18:25:12.518328105 +0100
@@ -249,7 +249,7 @@
# so we can check their command lines.
# $? -- new prerequisites
# $| -- order-only dependencies
-prereq_changed = $(filter-out $|,$?)
+prereq_changed = $(filter-out FORCE_DO_CMD $|,$?)
# do_cmd: run a command via the above cmd_foo names, if necessary.
# Should always run for a given target to handle command-line changes.

View File

@ -1,7 +1,9 @@
%define MAJver %(echo %version | cut -d. -f1)
%define gcc_patchset 3
Name: chromium
Epoch: 3
Version: 83.0.4103.116
Release: 3mamba
Version: 84.0.4147.89
Release: 1mamba
Summary: An open-source browser project that aims to build a safer, faster, and more stable way to experience the web
Group: Graphical Desktop/Applications/Internet
Vendor: openmamba
@ -15,60 +17,15 @@ URL: http://www.chromium.org
# http://gsdview.appspot.com/chromium-browser-official/?marker=chromium-53.0.2785.144.tar.bz
Source: http://gsdview.appspot.com/chromium-browser-official/chromium-%{version}.tar.xz
Source1: %{name}-master_preferences
Patch0: %{name}-67069-gcc45.patch
Patch1: %{name}-r78967-allow_continue_build.patch
Patch2: %{name}-23.0.1271.94-DefaultUsesSystemTheme_KDE.patch
Patch3: %{name}-15.0.868.1-gyp-fix-build.patch
Patch4: %{name}-15.0.868.1-drop_sse2.patch
Patch5: %{name}-19.0.1084.2-libavformat-0.8.patch
Patch6: %{name}-20.0.1132.43-gcc-4.7.patch
Patch7: %{name}-20.0.1132.43-fix_sqlite_history_Segfault_1.patch
Patch8: %{name}-20.0.1132.43-fix_sqlite_history_Segfault_2.patch
Patch9: %{name}-20.0.1132.59-webkit-bison-2.6.patch
Patch10: chromium-21.0.1168.0-gcc-4.7.patch
Patch11: chromium-24.0.1285.1-glibc-2.16.patch
Patch12: chromium-24.0.1312.70-arm-gcc-4.5.3.patch
Patch13: chromium-26.0.1410.49-speech_dispatcher.patch
Patch14: chromium-40.0.2214.91-arm-sysroot.patch
Patch15: chromium-34.0.1847.116-gn-r0.patch
Patch16: chromium-34.0.1847.118-disable_depot_tools.patch
Patch17: chromium-34.0.1847.137-glib-2.40.patch
Patch18: chromium-34.0.1847.137-gnome-keyring-3.12.patch
Source2: https://github.com/stha09/chromium-patches.git/chromium-%{MAJver}-patchset-%{gcc_patchset}/chromium-patches-%{version}.tar.bz2
Patch19: chromium-37.0.2062.120-chrome-wrapper-pepper-flash.patch
Patch20: chromium-45.0.2454.101-fix-boringssl-posix.patch
Patch21: chromium-46.0.2490.86-buildfix.patch
Patch22: chromium-51.0.2704.106-PNGImageDecoder.patch
Patch23: chromium-53.0.2785.16-cups-2.2.0.patch
Patch24: chromium-53.0.2785.143-undef_MADV_FREE.patch
Patch25: chromium-55.0.2883.75-ffmpeg-3.2.2.patch
Patch26: chromium-55.0.2883.75-upstream-buildfix.patch
Patch27: chromium-59.0.3071.86-blink-gcc-6.2.patch
Patch28: chromium-79.0.3945.79-widevine.patch
Patch38: chromium-76.0.3809.100-x86-openh264-add-fPIC.patch
Patch41: chromium-77.0.3865.90-system-icu.patch
Patch44: chromium-78.0.3904.70-system-zlib.patch
Patch45: chromium-78.0.3904.70-webrtc-missing-include.patch
Patch46: chromium-78.0.3904.70-dns_util-make-DohUpgradeEntry-non-const.patch
Patch47: chromium-78.0.3904.70-fix-shutdown-crash-in-profilemanager.patch
Patch48: chromium-80.0.3987.87-remove-verbose-logging-in-local-unique-font-matching.patch
Patch49: chromium-79.0.3945.79-launch_manager.h-uses-std-vector.patch
Patch50: chromium-79.0.3945.79-include-algorithm-to-use-std-lower_bound.patch
Patch51: chromium-79.0.3945.79-system-hb.patch
Patch52: chromium-80.0.3987.106-fix-building-with-unbundled-libxml.patch
Patch53: chromium-80.0.3987.106-fix-building-with-system-zlib.patch
Patch54: chromium-80.0.3987.106-Include-cmath-for-std-pow.patch
Patch55: chromium-80.0.3987.106-move-RemoteTreeNode-declaration.patch
Patch56: chromium-80.0.3987.122-x86-v8_context_snapsht-pic-error.patch
Patch57: chromium-83.0.4103.61-add-missing-algorithm-header-in-crx_install_error.cc.patch
Patch58: chromium-83.0.4103.61-gcc-10.1.0.patch
Patch59: chromium-83.0.4103.61-libstdc++6-10.1.0.patch
Patch60: chromium-83.0.4103.61-std-numeric_limits-is-defined-in-limits.patch
Patch61: chromium-83.0.4103.61-make-some-of-blink-custom-iterators-STL-compatible.patch
Patch62: chromium-83.0.4103.61-nclude-memory-header-to-get-the-definition-of-std-u.patch
Patch63: chromium-83.0.4103.61-v8-remove-soon-to-be-removed-getAllFieldPositions.patch
Patch64: chromium-83.0.4103.83-avoid-double-destruction-of-ServiceWorkerObjectHost.patch
Patch65: chromium-83.0.4103.116-fix-vaapi-on-intel.patch
Patch66: chromium-83.0.4103.116-ffmpeg-4.3.patch
Patch67: chromium-84.0.4147.89-avoid-calling-DeleteForCurrentDocument-from-destructor.patch
Patch68: chromium-84.0.4147.89-force-mp3-files-to-have-a-start-time-of-zero.patch
Patch69: chromium-84.0.4147.89-remove-NotifyError-calls-and-just-send-a-normal-message.patch
License: BSD
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
@ -171,29 +128,39 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-root
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all Internet users to experience the web.
%prep
%setup -q
%setup -q -a2
#-D -T
#:<< _EOF
# Apply gcc patches for liststdc++
mv chromium-patches-%{version} patches
patch -Np1 -i patches/chromium-84-AXObject-stl-iterator.patch
patch -Np1 -i patches/chromium-84-ListContainerHelper-include-cstring.patch
patch -Np1 -i patches/chromium-84-crashpad-include-cstring.patch
patch -Np1 -i patches/chromium-84-gcc-10-include-stddef.patch
patch -Np1 -i patches/chromium-84-gcc-10-webrtc-include-stddef.patch
patch -Np1 -i patches/chromium-84-gcc-DCHECK_EQ-unique_ptr.patch
patch -Np1 -i patches/chromium-84-std-vector-const.patch
%patch19 -p1
%patch28 -p1
%ifarch %{ix86}
%patch38 -p1
%endif
#%patch44 -p1
#%patch53 -p1
%ifarch %{ix86}
%patch56 -p1
%endif
%patch57 -p1
%patch58 -p1
%patch59 -p1
%patch60 -p0
%patch61 -p1
%patch62 -p1
%patch63 -p1 -d v8
%patch64 -p1
%patch65 -p1
#%patch57 -p1
#%patch58 -p1
#%patch59 -p1
#%patch60 -p0
#%patch61 -p1
#%patch62 -p1
#%patch63 -p1 -d v8
#%patch64 -p1
#%patch65 -p1
%patch66 -p1
%patch67 -p1
%patch68 -p1
%patch69 -p1
# Allow building against system libraries in official builds
sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
@ -228,7 +195,7 @@ declare -rgA _system_libs=(
[icu]=icu
[libdrm]=
[libjpeg]=libjpeg
#[libpng]=libpng
[libpng]=libpng
[libvpx]=libvpx
[libwebp]=libwebp
[libxml]=libxml2
@ -236,7 +203,6 @@ declare -rgA _system_libs=(
[opus]=opus
[re2]=re2
[snappy]=snappy
[yasm]=
[zlib]=libminizip
)
@ -469,6 +435,9 @@ ln -s %{_libdir}/chromium/chromedriver %{buildroot}%{_bindir}/chromedriver
%{_mandir}/man1/chromium.1*
%changelog
* Thu Jul 23 2020 Automatic Build System <autodist@mambasoft.it> 84.0.4147.89-1mamba
- automatic version update by autodist
* Mon Jun 29 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 83.0.4103.116-3mamba
- apply patch to fix sigsegv with video playing (https://bugs.chromium.org/p/chromium/issues/detail?id=1095962)