automatic version update by autodist [release 84.0.4147.89-1mamba;Thu Jul 23 2020]
This commit is contained in:
parent
e182adc946
commit
98a56e41c3
@ -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,
|
@ -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': [
|
@ -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,
|
@ -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;
|
@ -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;
|
@ -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"
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
-}
|
||||
-}
|
@ -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>
|
||||
|
@ -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;
|
||||
}
|
@ -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);
|
@ -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;
|
||||
}
|
||||
|
@ -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',
|
@ -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)])
|
||||
|
@ -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
|
@ -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;
|
@ -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>
|
@ -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', {
|
@ -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
|
||||
|
@ -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>
|
@ -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
|
@ -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
|
@ -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>
|
@ -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());
|
||||
|
@ -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;
|
@ -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)
|
@ -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>
|
@ -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",
|
@ -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) {
|
@ -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
|
@ -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",
|
||||
]
|
@ -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"
|
||||
|
@ -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"
|
@ -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"
|
||||
|
@ -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 {
|
@ -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"
|
@ -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",
|
@ -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) {}
|
||||
|
@ -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.
|
@ -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;
|
||||
}
|
||||
|
@ -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
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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.
|
@ -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)
|
@ -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"
|
@ -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 {
|
@ -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;
|
@ -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
|
@ -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,
|
@ -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_ =
|
@ -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();
|
@ -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.
|
103
chromium.spec
103
chromium.spec
@ -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)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user