summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2019-06-27 17:36:48 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2019-07-03 09:54:49 +0000
commitf85743d647543c81e185e52f84ae0768023ad9c1 (patch)
treed29a2047a65b91261f9288967c823dd97bc11016
parent041a413d268e352bf4f5cc5420e51c84057a6744 (diff)
downloadqtwebengine-chromium-f85743d647543c81e185e52f84ae0768023ad9c1.tar.gz
Fix building with gcc 5
Working around various issues with gcc, and inconsistent use of constexpr. Change-Id: Iec46c4362f57d6aa7a8a37784dfe46c0b6563044 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
-rw-r--r--chromium/base/containers/any_internal.h8
-rw-r--r--chromium/base/memory/weak_ptr.h6
-rw-r--r--chromium/base/trace_event/trace_arguments.h16
-rw-r--r--chromium/content/browser/indexed_db/leveldb/leveldb_env.cc2
-rw-r--r--chromium/content/renderer/accessibility/ax_image_annotator.cc7
-rw-r--r--chromium/content/renderer/accessibility/ax_image_annotator.h2
-rw-r--r--chromium/gin/v8_platform.cc10
-rw-r--r--chromium/mojo/public/cpp/bindings/binding_set.h2
-rw-r--r--chromium/services/image_annotation/annotator.cc10
-rw-r--r--chromium/services/image_annotation/public/cpp/image_processor.h2
-rw-r--r--chromium/third_party/blink/renderer/core/streams/miscellaneous_operations.cc4
-rw-r--r--chromium/third_party/blink/renderer/core/streams/queue_with_sizes.cc4
-rw-r--r--chromium/third_party/blink/renderer/modules/webdatabase/sqlite/sandboxed_vfs.cc2
-rw-r--r--chromium/third_party/blink/renderer/platform/bindings/dom_data_store.h12
-rw-r--r--chromium/third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h6
-rw-r--r--chromium/third_party/blink/renderer/platform/loader/fetch/unique_identifier.cc2
-rw-r--r--chromium/ui/gfx/mojo/color_space_mojom_traits.h4
17 files changed, 68 insertions, 31 deletions
diff --git a/chromium/base/containers/any_internal.h b/chromium/base/containers/any_internal.h
index d42ad567164..69379e8e0d9 100644
--- a/chromium/base/containers/any_internal.h
+++ b/chromium/base/containers/any_internal.h
@@ -45,7 +45,7 @@ class BASE_EXPORT AnyInternal {
type_ops_ = other.type_ops_;
}
- constexpr bool has_value() const noexcept { return !!type_ops_; }
+ bool has_value() const noexcept { return !!type_ops_; }
TypeId type() const noexcept {
if (!type_ops_)
@@ -160,7 +160,11 @@ class BASE_EXPORT AnyInternal {
// static
template <typename T>
-const AnyInternal::TypeOps AnyInternal::TypeOpsHelper<T>::type_ops;
+constexpr AnyInternal::TypeOps AnyInternal::TypeOpsHelper<T>::type_ops;
+
+//static
+template <typename T>
+constexpr bool AnyInternal::InlineStorageHelper<T>::kUseInlineStorage;
template <typename T>
struct AnyInternal::ConstructHelper<T, /* UseInlineStorage */ true> {
diff --git a/chromium/base/memory/weak_ptr.h b/chromium/base/memory/weak_ptr.h
index af2bd3851a8..f2bf27cc6da 100644
--- a/chromium/base/memory/weak_ptr.h
+++ b/chromium/base/memory/weak_ptr.h
@@ -133,6 +133,10 @@ class BASE_EXPORT WeakReferenceOwner {
public:
WeakReferenceOwner();
~WeakReferenceOwner();
+ WeakReferenceOwner(WeakReferenceOwner&& other) = default;
+ WeakReferenceOwner(const WeakReferenceOwner& other) = default;
+ WeakReferenceOwner& operator=(WeakReferenceOwner&& other) = default;
+ WeakReferenceOwner& operator=(const WeakReferenceOwner& other) = default;
WeakReference GetRef() const;
@@ -324,6 +328,8 @@ class WeakPtrFactory : public internal::WeakPtrFactoryBase {
: WeakPtrFactoryBase(reinterpret_cast<uintptr_t>(ptr)) {}
~WeakPtrFactory() = default;
+ WeakPtrFactory(WeakPtrFactory&&) = default;
+ WeakPtrFactory& operator=(WeakPtrFactory&&) = default;
WeakPtr<T> GetWeakPtr() {
return WeakPtr<T>(weak_reference_owner_.GetRef(),
diff --git a/chromium/base/trace_event/trace_arguments.h b/chromium/base/trace_event/trace_arguments.h
index 9c9f88e645d..909354a9a70 100644
--- a/chromium/base/trace_event/trace_arguments.h
+++ b/chromium/base/trace_event/trace_arguments.h
@@ -490,21 +490,21 @@ class BASE_EXPORT StringStorage {
void Reset(size_t alloc_size = 0);
// Accessors.
- constexpr size_t size() const { return data_ ? data_->size : 0u; }
- constexpr const char* data() const { return data_ ? data_->chars : nullptr; }
- constexpr char* data() { return data_ ? data_->chars : nullptr; }
+ size_t size() const { return data_ ? data_->size : 0u; }
+ const char* data() const { return data_ ? data_->chars : nullptr; }
+ char* data() { return data_ ? data_->chars : nullptr; }
- constexpr const char* begin() const { return data(); }
- constexpr const char* end() const { return data() + size(); }
+ const char* begin() const { return data(); }
+ const char* end() const { return data() + size(); }
inline char* begin() { return data(); }
inline char* end() { return data() + size(); }
// True iff storage is empty.
- constexpr bool empty() const { return size() == 0; }
+ bool empty() const { return size() == 0; }
// Returns true if |ptr| is inside the storage area, false otherwise.
// Used during unit-testing.
- constexpr bool Contains(const void* ptr) const {
+ bool Contains(const void* ptr) const {
const char* char_ptr = static_cast<const char*>(ptr);
return (char_ptr >= begin() && char_ptr < end());
}
@@ -515,7 +515,7 @@ class BASE_EXPORT StringStorage {
// Return an estimate of the memory overhead of this instance. This doesn't
// count the size of |data_| itself.
- constexpr size_t EstimateTraceMemoryOverhead() const {
+ size_t EstimateTraceMemoryOverhead() const {
return data_ ? sizeof(size_t) + data_->size : 0u;
}
diff --git a/chromium/content/browser/indexed_db/leveldb/leveldb_env.cc b/chromium/content/browser/indexed_db/leveldb/leveldb_env.cc
index 65c21c3054b..38473160550 100644
--- a/chromium/content/browser/indexed_db/leveldb/leveldb_env.cc
+++ b/chromium/content/browser/indexed_db/leveldb/leveldb_env.cc
@@ -51,7 +51,7 @@ DefaultLevelDBFactory::OpenDB(const leveldb_env::Options& options,
const std::string& name) {
std::unique_ptr<leveldb::DB> db;
leveldb::Status s = leveldb_env::OpenDB(options, name, &db);
- return {std::move(db), s};
+ return std::make_tuple(std::move(db), s);
}
std::tuple<scoped_refptr<LevelDBState>, leveldb::Status, bool /* disk_full*/>
diff --git a/chromium/content/renderer/accessibility/ax_image_annotator.cc b/chromium/content/renderer/accessibility/ax_image_annotator.cc
index 06a8fb95f6c..d4f1121bae5 100644
--- a/chromium/content/renderer/accessibility/ax_image_annotator.cc
+++ b/chromium/content/renderer/accessibility/ax_image_annotator.cc
@@ -63,9 +63,10 @@ ax::mojom::ImageAnnotationStatus AXImageAnnotator::GetImageAnnotationStatus(
bool AXImageAnnotator::HasAnnotationInCache(blink::WebAXObject& image) const {
DCHECK(!image.IsDetached());
- if (!HasImageInCache(image))
- return false;
- return image_annotations_.at(image.AxID()).HasAnnotation();
+ const auto lookup = image_annotations_.find(image.AxID());
+ if (lookup != image_annotations_.end())
+ return lookup->second.HasAnnotation();
+ return false;
}
bool AXImageAnnotator::HasImageInCache(const blink::WebAXObject& image) const {
diff --git a/chromium/content/renderer/accessibility/ax_image_annotator.h b/chromium/content/renderer/accessibility/ax_image_annotator.h
index 7cd5feccabc..9c6dd7ce87f 100644
--- a/chromium/content/renderer/accessibility/ax_image_annotator.h
+++ b/chromium/content/renderer/accessibility/ax_image_annotator.h
@@ -63,6 +63,8 @@ class CONTENT_EXPORT AXImageAnnotator : public base::CheckedObserver {
public:
ImageInfo(const blink::WebAXObject& image);
virtual ~ImageInfo();
+ ImageInfo(ImageInfo&&) = default;
+ ImageInfo& operator=(ImageInfo&&) = default;
image_annotation::mojom::ImageProcessorPtr GetImageProcessor();
bool HasAnnotation() const;
diff --git a/chromium/gin/v8_platform.cc b/chromium/gin/v8_platform.cc
index 53263bf382e..f7c3376b6f8 100644
--- a/chromium/gin/v8_platform.cc
+++ b/chromium/gin/v8_platform.cc
@@ -268,10 +268,14 @@ base::LazyInstance<PageAllocator>::Leaky g_page_allocator =
} // namespace gin
+namespace base {
+
+namespace trace_event {
+
// Allow std::unique_ptr<v8::ConvertableToTraceFormat> to be a valid
// initialization value for trace macros.
template <>
-struct base::trace_event::TraceValue::Helper<
+struct TraceValue::Helper<
std::unique_ptr<v8::ConvertableToTraceFormat>> {
static constexpr unsigned char kType = TRACE_VALUE_TYPE_CONVERTABLE;
static inline void SetValue(
@@ -284,6 +288,10 @@ struct base::trace_event::TraceValue::Helper<
}
};
+} // namespace trace_event
+
+} // namespace base
+
namespace gin {
class V8Platform::TracingControllerImpl : public v8::TracingController {
diff --git a/chromium/mojo/public/cpp/bindings/binding_set.h b/chromium/mojo/public/cpp/bindings/binding_set.h
index c510a38c3b0..a06ba299f18 100644
--- a/chromium/mojo/public/cpp/bindings/binding_set.h
+++ b/chromium/mojo/public/cpp/bindings/binding_set.h
@@ -72,6 +72,8 @@ class BindingSetBase {
using ImplPointerType = typename Traits::ImplPointerType;
BindingSetBase() : weak_ptr_factory_(this) {}
+ BindingSetBase(BindingSetBase&&) = default;
+ BindingSetBase& operator=(BindingSetBase&&) = default;
void set_connection_error_handler(base::RepeatingClosure error_handler) {
error_handler_ = std::move(error_handler);
diff --git a/chromium/services/image_annotation/annotator.cc b/chromium/services/image_annotation/annotator.cc
index d2681da6be6..9c9251287bd 100644
--- a/chromium/services/image_annotation/annotator.cc
+++ b/chromium/services/image_annotation/annotator.cc
@@ -129,7 +129,7 @@ std::tuple<bool, std::vector<mojom::AnnotationPtr>> ParseJsonDescAnnotations(
std::vector<mojom::AnnotationPtr> results;
if (!desc_engine.is_dict())
- return {adult, std::move(results)};
+ return std::make_tuple(adult, std::move(results));
// If there is a failure reason, log it and track whether it is due to adult
// content.
@@ -145,11 +145,11 @@ std::tuple<bool, std::vector<mojom::AnnotationPtr>> ParseJsonDescAnnotations(
const base::Value* const desc_list_dict =
desc_engine.FindKey("descriptionList");
if (!desc_list_dict || !desc_list_dict->is_dict())
- return {adult, std::move(results)};
+ return std::make_tuple(adult, std::move(results));
const base::Value* const desc_list = desc_list_dict->FindKey("descriptions");
if (!desc_list || !desc_list->is_list())
- return {adult, std::move(results)};
+ return std::make_tuple(adult, std::move(results));
for (const base::Value& desc : desc_list->GetList()) {
if (!desc.is_dict())
@@ -187,7 +187,7 @@ std::tuple<bool, std::vector<mojom::AnnotationPtr>> ParseJsonDescAnnotations(
type_lookup->second, score->GetDouble(), text->GetString()));
}
- return {adult, std::move(results)};
+ return std::make_tuple(adult, std::move(results));
}
// Returns the integer status code for this engine, or -1 if no status can be
@@ -682,7 +682,7 @@ void Annotator::ProcessResults(
// Populate the result struct for this image and copy it into the cache if
// necessary.
if (result_lookup != results.end())
- cached_results_.insert({request_key, result_lookup->second.Clone()});
+ cached_results_.insert(std::make_pair(request_key, result_lookup->second.Clone()));
// This should not happen, since only this method removes entries of
// |request_infos_|, and this method should only execute once per request
diff --git a/chromium/services/image_annotation/public/cpp/image_processor.h b/chromium/services/image_annotation/public/cpp/image_processor.h
index 63e75d1888f..139784927ca 100644
--- a/chromium/services/image_annotation/public/cpp/image_processor.h
+++ b/chromium/services/image_annotation/public/cpp/image_processor.h
@@ -28,6 +28,8 @@ class ImageProcessor : public mojom::ImageProcessor {
// access entails a full image redownload.
explicit ImageProcessor(base::RepeatingCallback<SkBitmap()> get_pixels);
~ImageProcessor() override;
+ ImageProcessor(ImageProcessor&&) = default;
+ ImageProcessor& operator=(ImageProcessor&&) = default;
// Reencodes the image data for transmission to the service. Will be called by
// the service if pixel data is needed.
diff --git a/chromium/third_party/blink/renderer/core/streams/miscellaneous_operations.cc b/chromium/third_party/blink/renderer/core/streams/miscellaneous_operations.cc
index ff297a10f65..e7e106d9577 100644
--- a/chromium/third_party/blink/renderer/core/streams/miscellaneous_operations.cc
+++ b/chromium/third_party/blink/renderer/core/streams/miscellaneous_operations.cc
@@ -7,7 +7,7 @@
#include "third_party/blink/renderer/core/streams/miscellaneous_operations.h"
-#include <math.h>
+#include <cmath>
#include "base/optional.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_readable_stream.h"
@@ -411,7 +411,7 @@ CORE_EXPORT double ValidateAndNormalizeHighWaterMark(
// https://streams.spec.whatwg.org/#validate-and-normalize-high-water-mark
// 2. If highWaterMark is NaN or highWaterMark < 0, throw a RangeError
// exception.
- if (isnan(high_water_mark) || high_water_mark < 0) {
+ if (std::isnan(high_water_mark) || high_water_mark < 0) {
exception_state.ThrowRangeError(
"A queuing strategy's highWaterMark property must be a nonnegative, "
"non-NaN number");
diff --git a/chromium/third_party/blink/renderer/core/streams/queue_with_sizes.cc b/chromium/third_party/blink/renderer/core/streams/queue_with_sizes.cc
index 3130e85f1c2..26fc41eaa59 100644
--- a/chromium/third_party/blink/renderer/core/streams/queue_with_sizes.cc
+++ b/chromium/third_party/blink/renderer/core/streams/queue_with_sizes.cc
@@ -4,7 +4,7 @@
#include "third_party/blink/renderer/core/streams/queue_with_sizes.h"
-#include <math.h>
+#include <cmath>
#include "third_party/blink/renderer/platform/bindings/exception_state.h"
#include "third_party/blink/renderer/platform/bindings/trace_wrapper_v8_reference.h"
@@ -17,7 +17,7 @@ namespace {
// https://streams.spec.whatwg.org/#is-finite-non-negative-number
bool IsFiniteNonNegativeNumber(double v) {
- return isfinite(v) && v >= 0;
+ return std::isfinite(v) && v >= 0;
}
} // namespace
diff --git a/chromium/third_party/blink/renderer/modules/webdatabase/sqlite/sandboxed_vfs.cc b/chromium/third_party/blink/renderer/modules/webdatabase/sqlite/sandboxed_vfs.cc
index c15c2e93125..4acad0696d3 100644
--- a/chromium/third_party/blink/renderer/modules/webdatabase/sqlite/sandboxed_vfs.cc
+++ b/chromium/third_party/blink/renderer/modules/webdatabase/sqlite/sandboxed_vfs.cc
@@ -169,7 +169,7 @@ std::tuple<int, sqlite3*> SandboxedVfs::OpenDatabase(const String& filename) {
connection = nullptr;
}
}
- return {status, connection};
+ return std::tuple<int, sqlite3*>(status, connection);
}
int SandboxedVfs::Open(const char* full_path,
diff --git a/chromium/third_party/blink/renderer/platform/bindings/dom_data_store.h b/chromium/third_party/blink/renderer/platform/bindings/dom_data_store.h
index 3387994c18c..3a4129adf74 100644
--- a/chromium/third_party/blink/renderer/platform/bindings/dom_data_store.h
+++ b/chromium/third_party/blink/renderer/platform/bindings/dom_data_store.h
@@ -238,6 +238,16 @@ class DOMDataStore {
handle_ = std::move(rhs.handle_);
return *this;
}
+
+ // Fake copy support, because WTF::HashMap references it.
+ DOMWorldWrapperReference(const DOMWorldWrapperReference&)
+ : TraceWrapperV8Reference() {
+ NOTREACHED();
+ }
+ DOMWorldWrapperReference& operator=(const DOMWorldWrapperReference&) {
+ NOTREACHED();
+ return *this;
+ }
};
// UntracedMember is safe here as the map is not keeping ScriptWrappable alive
@@ -250,8 +260,6 @@ class DOMDataStore {
GC_PLUGIN_IGNORE(
"Avoid dispatch on Visitor by looking up value in DOMDataStore::Trace.")
base::Optional<MapType> wrapper_map_;
-
- DISALLOW_COPY_AND_ASSIGN(DOMDataStore);
};
} // namespace blink
diff --git a/chromium/third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h b/chromium/third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h
index 5d8d61d3cd9..24fc96d0657 100644
--- a/chromium/third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h
+++ b/chromium/third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h
@@ -11,14 +11,18 @@
#include "third_party/blink/renderer/platform/wtf/text/cstring.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
+namespace base {
+namespace trace_event {
// Conversion from CString to TraceValue so that trace arguments can be strings.
template <>
-struct base::trace_event::TraceValue::Helper<WTF::CString> {
+struct TraceValue::Helper<WTF::CString> {
static constexpr unsigned char kType = TRACE_VALUE_TYPE_COPY_STRING;
static inline void SetValue(TraceValue* v, const WTF::CString& value) {
v->as_string = value.data();
}
};
+} // namespace trace_event
+} // namespace base
namespace blink {
namespace trace_event {
diff --git a/chromium/third_party/blink/renderer/platform/loader/fetch/unique_identifier.cc b/chromium/third_party/blink/renderer/platform/loader/fetch/unique_identifier.cc
index 6a581e6ac31..da8358bb4e3 100644
--- a/chromium/third_party/blink/renderer/platform/loader/fetch/unique_identifier.cc
+++ b/chromium/third_party/blink/renderer/platform/loader/fetch/unique_identifier.cc
@@ -34,7 +34,7 @@
namespace blink {
-static std::atomic_uint64_t g_unique_identifier(1);
+static std::atomic<uint64_t> g_unique_identifier(1);
uint64_t CreateUniqueIdentifier() {
return g_unique_identifier.fetch_add(1, std::memory_order_relaxed);
diff --git a/chromium/ui/gfx/mojo/color_space_mojom_traits.h b/chromium/ui/gfx/mojo/color_space_mojom_traits.h
index d3968cd7a25..8dee8980718 100644
--- a/chromium/ui/gfx/mojo/color_space_mojom_traits.h
+++ b/chromium/ui/gfx/mojo/color_space_mojom_traits.h
@@ -387,12 +387,12 @@ struct StructTraits<gfx::mojom::ColorSpaceDataView, gfx::ColorSpace> {
static base::span<const float> custom_primary_matrix(
const gfx::ColorSpace& input) {
- return input.custom_primary_matrix_;
+ return base::span<const float>(input.custom_primary_matrix_);
}
static base::span<const float> custom_transfer_params(
const gfx::ColorSpace& input) {
- return input.custom_transfer_params_;
+ return base::span<const float>(input.custom_transfer_params_);
}
static bool Read(gfx::mojom::ColorSpaceDataView data, gfx::ColorSpace* out);