diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-06-27 17:36:48 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-07-03 09:54:49 +0000 |
commit | f85743d647543c81e185e52f84ae0768023ad9c1 (patch) | |
tree | d29a2047a65b91261f9288967c823dd97bc11016 | |
parent | 041a413d268e352bf4f5cc5420e51c84057a6744 (diff) | |
download | qtwebengine-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>
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); |