summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvmpstr <vmpstr@chromium.org>2016-03-24 13:22:54 -0700
committerCommit bot <commit-bot@chromium.org>2016-03-24 20:25:04 +0000
commitbf0d713a72db33bdf6c51d65f009f73e822db3e0 (patch)
treefa6a45c9d24364ee4bbb6c2ca642ed55378a4a2c
parent1b9ba3a73f704481805e775df401a5bfd21ee3a9 (diff)
downloadchromium_src-bf0d713a72db33bdf6c51d65f009f73e822db3e0.zip
chromium_src-bf0d713a72db33bdf6c51d65f009f73e822db3e0.tar.gz
chromium_src-bf0d713a72db33bdf6c51d65f009f73e822db3e0.tar.bz2
Add more out of line copy ctors for complex classes.
This patch adds the remaining copy constructors for complex classes. After this patch, it should be possible to enable the heavy class copy constructor checks by default. R=thakis@chromium.org, dcheng@chromium.org TBR=jam@chromium.org BUG=436357 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1825273002 Cr-Commit-Position: refs/heads/master@{#383131}
-rw-r--r--blimp/client/session/assignment_source.cc2
-rw-r--r--blimp/client/session/assignment_source.h1
-rw-r--r--cc/layers/layer_list_iterator.cc2
-rw-r--r--cc/layers/layer_list_iterator.h1
-rw-r--r--cc/scheduler/scheduler_settings.cc2
-rw-r--r--cc/scheduler/scheduler_settings.h1
-rw-r--r--cc/surfaces/surface_manager.cc3
-rw-r--r--cc/surfaces/surface_manager.h1
-rw-r--r--cc/tiles/prioritized_tile.cc2
-rw-r--r--cc/tiles/prioritized_tile.h1
-rw-r--r--cc/tiles/software_image_decode_controller.cc3
-rw-r--r--cc/tiles/software_image_decode_controller.h2
-rw-r--r--cc/trees/property_tree.cc4
-rw-r--r--cc/trees/property_tree.h2
-rw-r--r--chrome/browser/ui/input_method/input_method_engine_base.cc3
-rw-r--r--chrome/browser/ui/input_method/input_method_engine_base.h1
-rw-r--r--components/autofill/core/browser/field_candidates.cc2
-rw-r--r--components/autofill/core/browser/field_candidates.h1
-rw-r--r--components/mus/ws/platform_display_init_params.cc2
-rw-r--r--components/mus/ws/platform_display_init_params.h1
-rw-r--r--components/mus/ws/test_change_tracker.cc4
-rw-r--r--components/mus/ws/test_change_tracker.h2
-rw-r--r--components/page_load_metrics/common/page_load_timing.cc2
-rw-r--r--components/page_load_metrics/common/page_load_timing.h1
-rw-r--r--components/safe_browsing_db/util.cc2
-rw-r--r--components/safe_browsing_db/util.h1
-rw-r--r--content/browser/frame_host/frame_tree.cc3
-rw-r--r--content/browser/frame_host/frame_tree.h1
-rw-r--r--content/browser/gpu/gpu_process_host.cc3
-rw-r--r--content/browser/gpu/gpu_process_host.h1
-rw-r--r--content/common/frame_replication_state.cc3
-rw-r--r--content/common/frame_replication_state.h1
-rw-r--r--content/public/common/frame_navigate_params.h6
-rw-r--r--gpu/command_buffer/service/gpu_preferences.cc2
-rw-r--r--gpu/command_buffer/service/gpu_preferences.h2
-rw-r--r--gpu/ipc/common/memory_stats.cc3
-rw-r--r--gpu/ipc/common/memory_stats.h1
-rw-r--r--ipc/ipc_message_utils.cc2
-rw-r--r--ipc/ipc_message_utils.h1
-rw-r--r--mojo/edk/system/request_context.cc3
-rw-r--r--mojo/edk/system/request_context.h1
-rw-r--r--mojo/shell/public/cpp/capabilities.h2
-rw-r--r--mojo/shell/public/cpp/lib/capabilities.cc2
-rw-r--r--net/cert/signed_tree_head.cc2
-rw-r--r--net/cert/signed_tree_head.h1
-rw-r--r--net/cookies/cookie_monster_store_test.cc3
-rw-r--r--net/cookies/cookie_monster_store_test.h2
-rw-r--r--net/quic/crypto/quic_compressed_certs_cache.cc3
-rw-r--r--net/quic/crypto/quic_compressed_certs_cache.h1
-rw-r--r--net/quic/crypto/quic_crypto_server_config.cc3
-rw-r--r--net/quic/crypto/quic_crypto_server_config.h1
-rw-r--r--net/socket/socket_test_util.cc3
-rw-r--r--net/socket/socket_test_util.h1
-rw-r--r--remoting/protocol/client_authentication_config.cc2
-rw-r--r--remoting/protocol/client_authentication_config.h1
-rw-r--r--remoting/protocol/ice_config.cc1
-rw-r--r--remoting/protocol/ice_config.h1
-rw-r--r--tools/gn/bundle_file_rule.cc2
-rw-r--r--tools/gn/bundle_file_rule.h1
-rw-r--r--ui/base/ime/composition_text.cc2
-rw-r--r--ui/base/ime/composition_text.h1
-rw-r--r--ui/native_theme/native_theme.cc4
-rw-r--r--ui/native_theme/native_theme.h1
-rw-r--r--ui/platform_window/text_input_state.cc2
-rw-r--r--ui/platform_window/text_input_state.h1
65 files changed, 124 insertions, 1 deletions
diff --git a/blimp/client/session/assignment_source.cc b/blimp/client/session/assignment_source.cc
index bbd8d1a..88afb33 100644
--- a/blimp/client/session/assignment_source.cc
+++ b/blimp/client/session/assignment_source.cc
@@ -176,6 +176,8 @@ Assignment GetAssignmentFromCommandLine() {
Assignment::Assignment() : transport_protocol(TransportProtocol::UNKNOWN) {}
+Assignment::Assignment(const Assignment& other) = default;
+
Assignment::~Assignment() {}
bool Assignment::IsValid() const {
diff --git a/blimp/client/session/assignment_source.h b/blimp/client/session/assignment_source.h
index bafd021..cbd67e9 100644
--- a/blimp/client/session/assignment_source.h
+++ b/blimp/client/session/assignment_source.h
@@ -45,6 +45,7 @@ struct BLIMP_CLIENT_EXPORT Assignment {
};
Assignment();
+ Assignment(const Assignment& other);
~Assignment();
// Returns true if the net::IPEndPoint has an unspecified IP, port, or
diff --git a/cc/layers/layer_list_iterator.cc b/cc/layers/layer_list_iterator.cc
index d64a946..e71238d 100644
--- a/cc/layers/layer_list_iterator.cc
+++ b/cc/layers/layer_list_iterator.cc
@@ -14,6 +14,8 @@ LayerListIterator::LayerListIterator(LayerImpl* root_layer)
list_indices_.push_back(0);
}
+LayerListIterator::LayerListIterator(const LayerListIterator& other) = default;
+
LayerListIterator::~LayerListIterator() {}
LayerListIterator& LayerListIterator::operator++() {
diff --git a/cc/layers/layer_list_iterator.h b/cc/layers/layer_list_iterator.h
index ba3c4d2..bdc4a4a 100644
--- a/cc/layers/layer_list_iterator.h
+++ b/cc/layers/layer_list_iterator.h
@@ -22,6 +22,7 @@ class LayerImpl;
class CC_EXPORT LayerListIterator {
public:
explicit LayerListIterator(LayerImpl* root_layer);
+ LayerListIterator(const LayerListIterator& other);
virtual ~LayerListIterator();
bool operator==(const LayerListIterator& other) const {
diff --git a/cc/scheduler/scheduler_settings.cc b/cc/scheduler/scheduler_settings.cc
index 5b2bbf1..79576ac 100644
--- a/cc/scheduler/scheduler_settings.cc
+++ b/cc/scheduler/scheduler_settings.cc
@@ -20,6 +20,8 @@ SchedulerSettings::SchedulerSettings()
maximum_number_of_failed_draws_before_draw_is_forced(3),
background_frame_interval(base::TimeDelta::FromSeconds(1)) {}
+SchedulerSettings::SchedulerSettings(const SchedulerSettings& other) = default;
+
SchedulerSettings::~SchedulerSettings() {}
scoped_ptr<base::trace_event::ConvertableToTraceFormat>
diff --git a/cc/scheduler/scheduler_settings.h b/cc/scheduler/scheduler_settings.h
index d16e47c..432c15f 100644
--- a/cc/scheduler/scheduler_settings.h
+++ b/cc/scheduler/scheduler_settings.h
@@ -21,6 +21,7 @@ namespace cc {
class CC_EXPORT SchedulerSettings {
public:
SchedulerSettings();
+ SchedulerSettings(const SchedulerSettings& other);
~SchedulerSettings();
bool use_external_begin_frame_source;
diff --git a/cc/surfaces/surface_manager.cc b/cc/surfaces/surface_manager.cc
index 23b49bc..d22d1e5 100644
--- a/cc/surfaces/surface_manager.cc
+++ b/cc/surfaces/surface_manager.cc
@@ -17,6 +17,9 @@ namespace cc {
SurfaceManager::ClientSourceMapping::ClientSourceMapping()
: client(nullptr), source(nullptr) {}
+SurfaceManager::ClientSourceMapping::ClientSourceMapping(
+ const ClientSourceMapping& other) = default;
+
SurfaceManager::ClientSourceMapping::~ClientSourceMapping() {
DCHECK(is_empty()) << "client: " << client
<< ", children: " << children.size();
diff --git a/cc/surfaces/surface_manager.h b/cc/surfaces/surface_manager.h
index 8ddace4..55e44f8 100644
--- a/cc/surfaces/surface_manager.h
+++ b/cc/surfaces/surface_manager.h
@@ -126,6 +126,7 @@ class CC_SURFACES_EXPORT SurfaceManager {
// pointers guaranteed alive by callers until unregistered.
struct ClientSourceMapping {
ClientSourceMapping();
+ ClientSourceMapping(const ClientSourceMapping& other);
~ClientSourceMapping();
bool is_empty() const { return !client && !children.size(); }
// The client that's responsible for creating this namespace. Never null.
diff --git a/cc/tiles/prioritized_tile.cc b/cc/tiles/prioritized_tile.cc
index 1ef2a17..e140832 100644
--- a/cc/tiles/prioritized_tile.cc
+++ b/cc/tiles/prioritized_tile.cc
@@ -21,6 +21,8 @@ PrioritizedTile::PrioritizedTile(
priority_(priority),
is_occluded_(is_occluded) {}
+PrioritizedTile::PrioritizedTile(const PrioritizedTile& other) = default;
+
PrioritizedTile::~PrioritizedTile() {
}
diff --git a/cc/tiles/prioritized_tile.h b/cc/tiles/prioritized_tile.h
index bcde78c9..de3abbb 100644
--- a/cc/tiles/prioritized_tile.h
+++ b/cc/tiles/prioritized_tile.h
@@ -19,6 +19,7 @@ class CC_EXPORT PrioritizedTile {
// This class is constructed and returned by a |PictureLayerTiling|, and
// represents a tile and its priority.
PrioritizedTile();
+ PrioritizedTile(const PrioritizedTile& other);
~PrioritizedTile();
Tile* tile() const { return tile_; }
diff --git a/cc/tiles/software_image_decode_controller.cc b/cc/tiles/software_image_decode_controller.cc
index d1e7f80..96f5618 100644
--- a/cc/tiles/software_image_decode_controller.cc
+++ b/cc/tiles/software_image_decode_controller.cc
@@ -821,6 +821,9 @@ ImageDecodeControllerKey::ImageDecodeControllerKey(
}
}
+ImageDecodeControllerKey::ImageDecodeControllerKey(
+ const ImageDecodeControllerKey& other) = default;
+
std::string ImageDecodeControllerKey::ToString() const {
std::ostringstream str;
str << "id[" << image_id_ << "] src_rect[" << src_rect_.x() << ","
diff --git a/cc/tiles/software_image_decode_controller.h b/cc/tiles/software_image_decode_controller.h
index 54d655e..4e959c7 100644
--- a/cc/tiles/software_image_decode_controller.h
+++ b/cc/tiles/software_image_decode_controller.h
@@ -33,6 +33,8 @@ class CC_EXPORT ImageDecodeControllerKey {
public:
static ImageDecodeControllerKey FromDrawImage(const DrawImage& image);
+ ImageDecodeControllerKey(const ImageDecodeControllerKey& other);
+
bool operator==(const ImageDecodeControllerKey& other) const {
// The image_id always has to be the same. However, after that all original
// decodes are the same, so if we can use the original decode, return true.
diff --git a/cc/trees/property_tree.cc b/cc/trees/property_tree.cc
index 7eea35e..d3b6a7e 100644
--- a/cc/trees/property_tree.cc
+++ b/cc/trees/property_tree.cc
@@ -1311,6 +1311,8 @@ ScrollTree::ScrollTree()
: currently_scrolling_node_id_(-1),
layer_id_to_scroll_offset_map_(ScrollTree::ScrollOffsetMap()) {}
+ScrollTree::ScrollTree(const ScrollTree& other) = default;
+
ScrollTree::~ScrollTree() {}
ScrollTree& ScrollTree::operator=(const ScrollTree& from) {
@@ -1720,6 +1722,8 @@ PropertyTrees::PropertyTrees()
scroll_tree.SetPropertyTrees(this);
}
+PropertyTrees::PropertyTrees(const PropertyTrees& other) = default;
+
PropertyTrees::~PropertyTrees() {}
bool PropertyTrees::operator==(const PropertyTrees& other) const {
diff --git a/cc/trees/property_tree.h b/cc/trees/property_tree.h
index 9115702..4c1fab2 100644
--- a/cc/trees/property_tree.h
+++ b/cc/trees/property_tree.h
@@ -556,6 +556,7 @@ class CC_EXPORT EffectTree final : public PropertyTree<EffectNode> {
class CC_EXPORT ScrollTree final : public PropertyTree<ScrollNode> {
public:
ScrollTree();
+ ScrollTree(const ScrollTree& other);
~ScrollTree() override;
ScrollTree& operator=(const ScrollTree& from);
@@ -619,6 +620,7 @@ class CC_EXPORT ScrollTree final : public PropertyTree<ScrollNode> {
class CC_EXPORT PropertyTrees final {
public:
PropertyTrees();
+ PropertyTrees(const PropertyTrees& other);
~PropertyTrees();
bool operator==(const PropertyTrees& other) const;
diff --git a/chrome/browser/ui/input_method/input_method_engine_base.cc b/chrome/browser/ui/input_method/input_method_engine_base.cc
index 3257e73..5f5a2eb 100644
--- a/chrome/browser/ui/input_method/input_method_engine_base.cc
+++ b/chrome/browser/ui/input_method/input_method_engine_base.cc
@@ -148,6 +148,9 @@ void GetExtensionKeyboardEventFromKeyEvent(
InputMethodEngineBase::KeyboardEvent::KeyboardEvent()
: alt_key(false), ctrl_key(false), shift_key(false), caps_lock(false) {}
+InputMethodEngineBase::KeyboardEvent::KeyboardEvent(
+ const KeyboardEvent& other) = default;
+
InputMethodEngineBase::KeyboardEvent::~KeyboardEvent() {}
InputMethodEngineBase::InputMethodEngineBase()
diff --git a/chrome/browser/ui/input_method/input_method_engine_base.h b/chrome/browser/ui/input_method/input_method_engine_base.h
index bdd2f40..b36e7ce 100644
--- a/chrome/browser/ui/input_method/input_method_engine_base.h
+++ b/chrome/browser/ui/input_method/input_method_engine_base.h
@@ -28,6 +28,7 @@ class InputMethodEngineBase : virtual public ui::IMEEngineHandlerInterface {
public:
struct KeyboardEvent {
KeyboardEvent();
+ KeyboardEvent(const KeyboardEvent& other);
virtual ~KeyboardEvent();
std::string type;
diff --git a/components/autofill/core/browser/field_candidates.cc b/components/autofill/core/browser/field_candidates.cc
index d133b08..142e435 100644
--- a/components/autofill/core/browser/field_candidates.cc
+++ b/components/autofill/core/browser/field_candidates.cc
@@ -16,6 +16,8 @@ FieldCandidate::FieldCandidate(ServerFieldType field_type, float field_score)
FieldCandidates::FieldCandidates() {}
+FieldCandidates::FieldCandidates(const FieldCandidates& other) = default;
+
FieldCandidates::~FieldCandidates() {}
void FieldCandidates::AddFieldCandidate(ServerFieldType type, float score) {
diff --git a/components/autofill/core/browser/field_candidates.h b/components/autofill/core/browser/field_candidates.h
index 16a6a24..e1d7ef6 100644
--- a/components/autofill/core/browser/field_candidates.h
+++ b/components/autofill/core/browser/field_candidates.h
@@ -29,6 +29,7 @@ struct FieldCandidate {
class FieldCandidates {
public:
FieldCandidates();
+ FieldCandidates(const FieldCandidates& other);
~FieldCandidates();
// Includes a possible |type| for a given field.
diff --git a/components/mus/ws/platform_display_init_params.cc b/components/mus/ws/platform_display_init_params.cc
index 398a6ba..94ad22d 100644
--- a/components/mus/ws/platform_display_init_params.cc
+++ b/components/mus/ws/platform_display_init_params.cc
@@ -11,6 +11,8 @@ namespace mus {
namespace ws {
PlatformDisplayInitParams::PlatformDisplayInitParams() {}
+PlatformDisplayInitParams::PlatformDisplayInitParams(
+ const PlatformDisplayInitParams& other) = default;
PlatformDisplayInitParams::~PlatformDisplayInitParams() {}
} // namespace ws
diff --git a/components/mus/ws/platform_display_init_params.h b/components/mus/ws/platform_display_init_params.h
index 81cc1b0..f097a0f 100644
--- a/components/mus/ws/platform_display_init_params.h
+++ b/components/mus/ws/platform_display_init_params.h
@@ -20,6 +20,7 @@ namespace ws {
struct PlatformDisplayInitParams {
PlatformDisplayInitParams();
+ PlatformDisplayInitParams(const PlatformDisplayInitParams& other);
~PlatformDisplayInitParams();
mojo::Connector* connector = nullptr;
diff --git a/components/mus/ws/test_change_tracker.cc b/components/mus/ws/test_change_tracker.cc
index 8416f95..aefa54e 100644
--- a/components/mus/ws/test_change_tracker.cc
+++ b/components/mus/ws/test_change_tracker.cc
@@ -198,6 +198,8 @@ Change::Change()
bool_value(false),
change_id(0u) {}
+Change::Change(const Change& other) = default;
+
Change::~Change() {}
TestChangeTracker::TestChangeTracker() : delegate_(NULL) {}
@@ -391,6 +393,8 @@ void TestChangeTracker::AddChange(const Change& change) {
TestWindow::TestWindow() {}
+TestWindow::TestWindow(const TestWindow& other) = default;
+
TestWindow::~TestWindow() {}
std::string TestWindow::ToString() const {
diff --git a/components/mus/ws/test_change_tracker.h b/components/mus/ws/test_change_tracker.h
index 7f64d84..46103bc 100644
--- a/components/mus/ws/test_change_tracker.h
+++ b/components/mus/ws/test_change_tracker.h
@@ -46,6 +46,7 @@ enum ChangeType {
// TODO(sky): consider nuking and converting directly to WindowData.
struct TestWindow {
TestWindow();
+ TestWindow(const TestWindow& other);
~TestWindow();
// Returns a string description of this.
@@ -65,6 +66,7 @@ struct TestWindow {
// fields that are used.
struct Change {
Change();
+ Change(const Change& other);
~Change();
ChangeType type;
diff --git a/components/page_load_metrics/common/page_load_timing.cc b/components/page_load_metrics/common/page_load_timing.cc
index 17f3f04..a479f70 100644
--- a/components/page_load_metrics/common/page_load_timing.cc
+++ b/components/page_load_metrics/common/page_load_timing.cc
@@ -8,6 +8,8 @@ namespace page_load_metrics {
PageLoadTiming::PageLoadTiming() {}
+PageLoadTiming::PageLoadTiming(const PageLoadTiming& other) = default;
+
PageLoadTiming::~PageLoadTiming() {}
bool PageLoadTiming::operator==(const PageLoadTiming& other) const {
diff --git a/components/page_load_metrics/common/page_load_timing.h b/components/page_load_metrics/common/page_load_timing.h
index 285cf65..4336a28 100644
--- a/components/page_load_metrics/common/page_load_timing.h
+++ b/components/page_load_metrics/common/page_load_timing.h
@@ -15,6 +15,7 @@ namespace page_load_metrics {
struct PageLoadTiming {
public:
PageLoadTiming();
+ PageLoadTiming(const PageLoadTiming& other);
~PageLoadTiming();
bool operator==(const PageLoadTiming& other) const;
diff --git a/components/safe_browsing_db/util.cc b/components/safe_browsing_db/util.cc
index da26b2a..0b77f7f6 100644
--- a/components/safe_browsing_db/util.cc
+++ b/components/safe_browsing_db/util.cc
@@ -33,6 +33,8 @@ bool IsKnownList(const std::string& name) {
ThreatMetadata::ThreatMetadata()
: threat_pattern_type(ThreatPatternType::NONE) {}
+ThreatMetadata::ThreatMetadata(const ThreatMetadata& other) = default;
+
ThreatMetadata::~ThreatMetadata() {}
// SBCachedFullHashResult ------------------------------------------------------
diff --git a/components/safe_browsing_db/util.h b/components/safe_browsing_db/util.h
index 932d5bd..e36ce1d 100644
--- a/components/safe_browsing_db/util.h
+++ b/components/safe_browsing_db/util.h
@@ -65,6 +65,7 @@ enum class ThreatPatternType {
// Some fields are only applicable to certain lists.
struct ThreatMetadata {
ThreatMetadata();
+ ThreatMetadata(const ThreatMetadata& other);
~ThreatMetadata();
// Type of blacklisted page. Used on malware and UwS lists.
diff --git a/content/browser/frame_host/frame_tree.cc b/content/browser/frame_host/frame_tree.cc
index e1167f2..c3f1301 100644
--- a/content/browser/frame_host/frame_tree.cc
+++ b/content/browser/frame_host/frame_tree.cc
@@ -83,6 +83,9 @@ FrameTree::NodeRange::NodeRange(FrameTreeNode* root,
FrameTreeNode* node_to_skip)
: root_(root), node_to_skip_(node_to_skip) {}
+FrameTree::ConstNodeIterator::ConstNodeIterator(
+ const ConstNodeIterator& other) = default;
+
FrameTree::ConstNodeIterator::~ConstNodeIterator() {}
FrameTree::ConstNodeIterator& FrameTree::ConstNodeIterator::operator++() {
diff --git a/content/browser/frame_host/frame_tree.h b/content/browser/frame_host/frame_tree.h
index 3daf95a..9b1b29d 100644
--- a/content/browser/frame_host/frame_tree.h
+++ b/content/browser/frame_host/frame_tree.h
@@ -83,6 +83,7 @@ class CONTENT_EXPORT FrameTree {
class CONTENT_EXPORT ConstNodeIterator {
public:
+ ConstNodeIterator(const ConstNodeIterator& other);
~ConstNodeIterator();
ConstNodeIterator& operator++();
diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc
index fddfd7f..cf45dab 100644
--- a/content/browser/gpu/gpu_process_host.cc
+++ b/content/browser/gpu/gpu_process_host.cc
@@ -385,6 +385,9 @@ GpuMainThreadFactoryFunction g_gpu_main_thread_factory = NULL;
GpuProcessHost::EstablishChannelRequest::EstablishChannelRequest()
: client_id(0) {}
+GpuProcessHost::EstablishChannelRequest::EstablishChannelRequest(
+ const EstablishChannelRequest& other) = default;
+
GpuProcessHost::EstablishChannelRequest::~EstablishChannelRequest() {}
void GpuProcessHost::RegisterGpuMainThreadFactory(
diff --git a/content/browser/gpu/gpu_process_host.h b/content/browser/gpu/gpu_process_host.h
index c1e3fd4..9b9fd91 100644
--- a/content/browser/gpu/gpu_process_host.h
+++ b/content/browser/gpu/gpu_process_host.h
@@ -70,6 +70,7 @@ class GpuProcessHost : public BrowserChildProcessHostDelegate,
struct EstablishChannelRequest {
EstablishChannelRequest();
+ EstablishChannelRequest(const EstablishChannelRequest& other);
~EstablishChannelRequest();
int32_t client_id;
EstablishChannelCallback callback;
diff --git a/content/common/frame_replication_state.cc b/content/common/frame_replication_state.cc
index 13cd626..00e835f 100644
--- a/content/common/frame_replication_state.cc
+++ b/content/common/frame_replication_state.cc
@@ -31,6 +31,9 @@ FrameReplicationState::FrameReplicationState(
has_potentially_trustworthy_unique_origin(
has_potentially_trustworthy_unique_origin) {}
+FrameReplicationState::FrameReplicationState(
+ const FrameReplicationState& other) = default;
+
FrameReplicationState::~FrameReplicationState() {
}
diff --git a/content/common/frame_replication_state.h b/content/common/frame_replication_state.h
index 9ec7b8b..f637349 100644
--- a/content/common/frame_replication_state.h
+++ b/content/common/frame_replication_state.h
@@ -25,6 +25,7 @@ struct CONTENT_EXPORT FrameReplicationState {
blink::WebSandboxFlags sandbox_flags,
bool should_enforce_strict_mixed_content_checking,
bool has_potentially_trustworthy_unique_origin);
+ FrameReplicationState(const FrameReplicationState& other);
~FrameReplicationState();
// Current origin of the frame. This field is updated whenever a frame
diff --git a/content/public/common/frame_navigate_params.h b/content/public/common/frame_navigate_params.h
index 3b8dd90..49c039f 100644
--- a/content/public/common/frame_navigate_params.h
+++ b/content/public/common/frame_navigate_params.h
@@ -12,6 +12,7 @@
#include "content/common/content_export.h"
#include "content/public/common/referrer.h"
+#include "ipc/ipc_message_utils.h"
#include "net/base/host_port_pair.h"
#include "ui/base/page_transition_types.h"
#include "url/gurl.h"
@@ -19,7 +20,10 @@
namespace content {
// Struct used by WebContentsObserver.
-struct CONTENT_EXPORT FrameNavigateParams {
+// Note that we derived from IPC::NoParams here, because this struct is used in
+// an IPC struct as a parent. Deriving from NoParams allows us to by-pass the
+// out of line constructor checks in our clang plugins.
+struct CONTENT_EXPORT FrameNavigateParams : public IPC::NoParams {
FrameNavigateParams();
FrameNavigateParams(const FrameNavigateParams& other);
~FrameNavigateParams();
diff --git a/gpu/command_buffer/service/gpu_preferences.cc b/gpu/command_buffer/service/gpu_preferences.cc
index 753e56c..06bc6b4 100644
--- a/gpu/command_buffer/service/gpu_preferences.cc
+++ b/gpu/command_buffer/service/gpu_preferences.cc
@@ -9,6 +9,8 @@ namespace gpu {
GpuPreferences::GpuPreferences() {
}
+GpuPreferences::GpuPreferences(const GpuPreferences& other) = default;
+
GpuPreferences::~GpuPreferences() {}
} // namespace gpu
diff --git a/gpu/command_buffer/service/gpu_preferences.h b/gpu/command_buffer/service/gpu_preferences.h
index 69b43e1..d2429de 100644
--- a/gpu/command_buffer/service/gpu_preferences.h
+++ b/gpu/command_buffer/service/gpu_preferences.h
@@ -18,6 +18,8 @@ struct GPU_EXPORT GpuPreferences {
public:
GpuPreferences();
+ GpuPreferences(const GpuPreferences& other);
+
~GpuPreferences();
// ===================================
diff --git a/gpu/ipc/common/memory_stats.cc b/gpu/ipc/common/memory_stats.cc
index af55e48..5c8909c 100644
--- a/gpu/ipc/common/memory_stats.cc
+++ b/gpu/ipc/common/memory_stats.cc
@@ -9,6 +9,9 @@ namespace gpu {
VideoMemoryUsageStats::VideoMemoryUsageStats()
: bytes_allocated(0), bytes_allocated_historical_max(0) {}
+VideoMemoryUsageStats::VideoMemoryUsageStats(
+ const VideoMemoryUsageStats& other) = default;
+
VideoMemoryUsageStats::~VideoMemoryUsageStats() {}
VideoMemoryUsageStats::ProcessStats::ProcessStats()
diff --git a/gpu/ipc/common/memory_stats.h b/gpu/ipc/common/memory_stats.h
index ecc3944..7ffac81 100644
--- a/gpu/ipc/common/memory_stats.h
+++ b/gpu/ipc/common/memory_stats.h
@@ -21,6 +21,7 @@ namespace gpu {
// is sent over IPC which could span 32 & 64 bit processes.
struct GPU_EXPORT VideoMemoryUsageStats {
VideoMemoryUsageStats();
+ VideoMemoryUsageStats(const VideoMemoryUsageStats& other);
~VideoMemoryUsageStats();
struct GPU_EXPORT ProcessStats {
diff --git a/ipc/ipc_message_utils.cc b/ipc/ipc_message_utils.cc
index 52137e2..29fa038 100644
--- a/ipc/ipc_message_utils.cc
+++ b/ipc/ipc_message_utils.cc
@@ -330,6 +330,8 @@ LogData::LogData()
dispatch(0) {
}
+LogData::LogData(const LogData& other) = default;
+
LogData::~LogData() {
}
diff --git a/ipc/ipc_message_utils.h b/ipc/ipc_message_utils.h
index d92d833..efd669c 100644
--- a/ipc/ipc_message_utils.h
+++ b/ipc/ipc_message_utils.h
@@ -54,6 +54,7 @@ struct ChannelHandle;
// How we send IPC message logs across channels.
struct IPC_EXPORT LogData {
LogData();
+ LogData(const LogData& other);
~LogData();
std::string channel;
diff --git a/mojo/edk/system/request_context.cc b/mojo/edk/system/request_context.cc
index f4f70b5..e3666b2 100644
--- a/mojo/edk/system/request_context.cc
+++ b/mojo/edk/system/request_context.cc
@@ -90,6 +90,9 @@ RequestContext::WatchNotifyFinalizer::WatchNotifyFinalizer(
: watcher(watcher), result(result), state(state) {
}
+RequestContext::WatchNotifyFinalizer::WatchNotifyFinalizer(
+ const WatchNotifyFinalizer& other) = default;
+
RequestContext::WatchNotifyFinalizer::~WatchNotifyFinalizer() {}
} // namespace edk
diff --git a/mojo/edk/system/request_context.h b/mojo/edk/system/request_context.h
index 394e455..7aa0e69 100644
--- a/mojo/edk/system/request_context.h
+++ b/mojo/edk/system/request_context.h
@@ -67,6 +67,7 @@ class MOJO_SYSTEM_IMPL_EXPORT RequestContext {
WatchNotifyFinalizer(scoped_refptr<Watcher> watcher,
MojoResult result,
const HandleSignalsState& state);
+ WatchNotifyFinalizer(const WatchNotifyFinalizer& other);
~WatchNotifyFinalizer();
scoped_refptr<Watcher> watcher;
diff --git a/mojo/shell/public/cpp/capabilities.h b/mojo/shell/public/cpp/capabilities.h
index 4ec4722..0b1b09a 100644
--- a/mojo/shell/public/cpp/capabilities.h
+++ b/mojo/shell/public/cpp/capabilities.h
@@ -23,6 +23,7 @@ using Name = std::string;
struct CapabilityRequest {
CapabilityRequest();
+ CapabilityRequest(const CapabilityRequest& other);
~CapabilityRequest();
bool operator==(const CapabilityRequest& other) const;
bool operator<(const CapabilityRequest& other) const;
@@ -32,6 +33,7 @@ struct CapabilityRequest {
struct CapabilitySpec {
CapabilitySpec();
+ CapabilitySpec(const CapabilitySpec& other);
~CapabilitySpec();
bool operator==(const CapabilitySpec& other) const;
bool operator<(const CapabilitySpec& other) const;
diff --git a/mojo/shell/public/cpp/lib/capabilities.cc b/mojo/shell/public/cpp/lib/capabilities.cc
index add9150..a132fe6 100644
--- a/mojo/shell/public/cpp/lib/capabilities.cc
+++ b/mojo/shell/public/cpp/lib/capabilities.cc
@@ -7,6 +7,7 @@
namespace mojo {
CapabilityRequest::CapabilityRequest() {}
+CapabilityRequest::CapabilityRequest(const CapabilityRequest& other) = default;
CapabilityRequest::~CapabilityRequest() {}
bool CapabilityRequest::operator==(const CapabilityRequest& other) const {
@@ -19,6 +20,7 @@ bool CapabilityRequest::operator<(const CapabilityRequest& other) const {
}
CapabilitySpec::CapabilitySpec() {}
+CapabilitySpec::CapabilitySpec(const CapabilitySpec& other) = default;
CapabilitySpec::~CapabilitySpec() {}
bool CapabilitySpec::operator==(const CapabilitySpec& other) const {
diff --git a/net/cert/signed_tree_head.cc b/net/cert/signed_tree_head.cc
index b430b37..8bf2b9f 100644
--- a/net/cert/signed_tree_head.cc
+++ b/net/cert/signed_tree_head.cc
@@ -29,6 +29,8 @@ SignedTreeHead::SignedTreeHead(Version version,
memcpy(this->sha256_root_hash, sha256_root_hash, kSthRootHashLength);
}
+SignedTreeHead::SignedTreeHead(const SignedTreeHead& other) = default;
+
SignedTreeHead::~SignedTreeHead() {}
void PrintTo(const SignedTreeHead& sth, std::ostream* os) {
diff --git a/net/cert/signed_tree_head.h b/net/cert/signed_tree_head.h
index 73b6fdc..154c7a9 100644
--- a/net/cert/signed_tree_head.h
+++ b/net/cert/signed_tree_head.h
@@ -36,6 +36,7 @@ struct NET_EXPORT SignedTreeHead {
const char sha256_root_hash[kSthRootHashLength],
const DigitallySigned& signature,
const std::string& log_id);
+ SignedTreeHead(const SignedTreeHead& other);
~SignedTreeHead();
Version version;
diff --git a/net/cookies/cookie_monster_store_test.cc b/net/cookies/cookie_monster_store_test.cc
index 54fe5c4..69f333a 100644
--- a/net/cookies/cookie_monster_store_test.cc
+++ b/net/cookies/cookie_monster_store_test.cc
@@ -34,6 +34,9 @@ CookieStoreCommand::CookieStoreCommand(
CookieStoreCommand::CookieStoreCommand(Type type, const CanonicalCookie& cookie)
: type(type), cookie(cookie) {}
+CookieStoreCommand::CookieStoreCommand(const CookieStoreCommand& other) =
+ default;
+
CookieStoreCommand::~CookieStoreCommand() {}
MockPersistentCookieStore::MockPersistentCookieStore()
diff --git a/net/cookies/cookie_monster_store_test.h b/net/cookies/cookie_monster_store_test.h
index e20584d..4458c6c 100644
--- a/net/cookies/cookie_monster_store_test.h
+++ b/net/cookies/cookie_monster_store_test.h
@@ -73,6 +73,8 @@ struct CookieStoreCommand {
// Constructor for ADD, UPDATE_ACCESS_TIME, and REMOVE calls.
CookieStoreCommand(Type type, const CanonicalCookie& cookie);
+ CookieStoreCommand(const CookieStoreCommand& other);
+
~CookieStoreCommand();
Type type;
diff --git a/net/quic/crypto/quic_compressed_certs_cache.cc b/net/quic/crypto/quic_compressed_certs_cache.cc
index 1b6d55b..e4dffaf 100644
--- a/net/quic/crypto/quic_compressed_certs_cache.cc
+++ b/net/quic/crypto/quic_compressed_certs_cache.cc
@@ -38,6 +38,9 @@ QuicCompressedCertsCache::CachedCerts::CachedCerts(
client_cached_cert_hashes_(*uncompressed_certs.client_cached_cert_hashes),
compressed_cert_(compressed_cert) {}
+QuicCompressedCertsCache::CachedCerts::CachedCerts(const CachedCerts& other) =
+ default;
+
QuicCompressedCertsCache::CachedCerts::~CachedCerts() {}
bool QuicCompressedCertsCache::CachedCerts::MatchesUncompressedCerts(
diff --git a/net/quic/crypto/quic_compressed_certs_cache.h b/net/quic/crypto/quic_compressed_certs_cache.h
index 5bb0cf4..1a731c8 100644
--- a/net/quic/crypto/quic_compressed_certs_cache.h
+++ b/net/quic/crypto/quic_compressed_certs_cache.h
@@ -74,6 +74,7 @@ class NET_EXPORT_PRIVATE QuicCompressedCertsCache {
CachedCerts();
CachedCerts(const UncompressedCerts& uncompressed_certs,
const string& compressed_cert);
+ CachedCerts(const CachedCerts& other);
~CachedCerts();
diff --git a/net/quic/crypto/quic_crypto_server_config.cc b/net/quic/crypto/quic_crypto_server_config.cc
index 3ef62d2..c6d32e5 100644
--- a/net/quic/crypto/quic_crypto_server_config.cc
+++ b/net/quic/crypto/quic_crypto_server_config.cc
@@ -205,6 +205,9 @@ QuicCryptoServerConfig::ConfigOptions::ConfigOptions()
token_binding_enabled(false),
p256(false) {}
+QuicCryptoServerConfig::ConfigOptions::ConfigOptions(
+ const ConfigOptions& other) = default;
+
QuicCryptoServerConfig::QuicCryptoServerConfig(
StringPiece source_address_token_secret,
QuicRandom* server_nonce_entropy,
diff --git a/net/quic/crypto/quic_crypto_server_config.h b/net/quic/crypto/quic_crypto_server_config.h
index ead0c3f..33f088d 100644
--- a/net/quic/crypto/quic_crypto_server_config.h
+++ b/net/quic/crypto/quic_crypto_server_config.h
@@ -125,6 +125,7 @@ class NET_EXPORT_PRIVATE QuicCryptoServerConfig {
// ConfigOptions contains options for generating server configs.
struct NET_EXPORT_PRIVATE ConfigOptions {
ConfigOptions();
+ ConfigOptions(const ConfigOptions& other);
// expiry_time is the time, in UNIX seconds, when the server config will
// expire. If unset, it defaults to the current time plus six months.
diff --git a/net/socket/socket_test_util.cc b/net/socket/socket_test_util.cc
index e078b0d..a3c57f3 100644
--- a/net/socket/socket_test_util.cc
+++ b/net/socket/socket_test_util.cc
@@ -294,6 +294,9 @@ SSLSocketDataProvider::SSLSocketDataProvider(IoMode mode, int result)
SSLConnectionStatusSetCipherSuite(0xcc14, &connection_status);
}
+SSLSocketDataProvider::SSLSocketDataProvider(
+ const SSLSocketDataProvider& other) = default;
+
SSLSocketDataProvider::~SSLSocketDataProvider() {
}
diff --git a/net/socket/socket_test_util.h b/net/socket/socket_test_util.h
index d06ee00..2939b23 100644
--- a/net/socket/socket_test_util.h
+++ b/net/socket/socket_test_util.h
@@ -349,6 +349,7 @@ class StaticSocketDataProvider : public SocketDataProvider {
// to Connect().
struct SSLSocketDataProvider {
SSLSocketDataProvider(IoMode mode, int result);
+ SSLSocketDataProvider(const SSLSocketDataProvider& other);
~SSLSocketDataProvider();
void SetNextProto(NextProto proto);
diff --git a/remoting/protocol/client_authentication_config.cc b/remoting/protocol/client_authentication_config.cc
index eec3c40..1769f79 100644
--- a/remoting/protocol/client_authentication_config.cc
+++ b/remoting/protocol/client_authentication_config.cc
@@ -8,6 +8,8 @@ namespace remoting {
namespace protocol {
ClientAuthenticationConfig::ClientAuthenticationConfig() {}
+ClientAuthenticationConfig::ClientAuthenticationConfig(
+ const ClientAuthenticationConfig& other) = default;
ClientAuthenticationConfig::~ClientAuthenticationConfig() {}
} // namespace protocol
diff --git a/remoting/protocol/client_authentication_config.h b/remoting/protocol/client_authentication_config.h
index 92a1cb7..4847c33 100644
--- a/remoting/protocol/client_authentication_config.h
+++ b/remoting/protocol/client_authentication_config.h
@@ -40,6 +40,7 @@ typedef base::Callback<void(
struct ClientAuthenticationConfig {
ClientAuthenticationConfig();
+ ClientAuthenticationConfig(const ClientAuthenticationConfig& other);
~ClientAuthenticationConfig();
// Used for all authenticators.
diff --git a/remoting/protocol/ice_config.cc b/remoting/protocol/ice_config.cc
index e8ce0fe..4cd9a15 100644
--- a/remoting/protocol/ice_config.cc
+++ b/remoting/protocol/ice_config.cc
@@ -8,6 +8,7 @@ namespace remoting {
namespace protocol {
IceConfig::IceConfig() {}
+IceConfig::IceConfig(const IceConfig& other) = default;
IceConfig::~IceConfig() {}
} // namespace protocol
diff --git a/remoting/protocol/ice_config.h b/remoting/protocol/ice_config.h
index 6daff0c..c04915a 100644
--- a/remoting/protocol/ice_config.h
+++ b/remoting/protocol/ice_config.h
@@ -17,6 +17,7 @@ namespace protocol {
struct IceConfig {
IceConfig();
+ IceConfig(const IceConfig& other);
~IceConfig();
bool is_null() const { return expiration_time.is_null(); }
diff --git a/tools/gn/bundle_file_rule.cc b/tools/gn/bundle_file_rule.cc
index 0f42c8f..7684196 100644
--- a/tools/gn/bundle_file_rule.cc
+++ b/tools/gn/bundle_file_rule.cc
@@ -14,6 +14,8 @@ BundleFileRule::BundleFileRule(const std::vector<SourceFile> sources,
const SubstitutionPattern& pattern)
: sources_(sources), pattern_(pattern) {}
+BundleFileRule::BundleFileRule(const BundleFileRule& other) = default;
+
BundleFileRule::~BundleFileRule() {}
SourceFile BundleFileRule::ApplyPatternToSource(
diff --git a/tools/gn/bundle_file_rule.h b/tools/gn/bundle_file_rule.h
index 3669cd2..9fbf012 100644
--- a/tools/gn/bundle_file_rule.h
+++ b/tools/gn/bundle_file_rule.h
@@ -20,6 +20,7 @@ class BundleFileRule {
public:
BundleFileRule(const std::vector<SourceFile> sources,
const SubstitutionPattern& pattern);
+ BundleFileRule(const BundleFileRule& other);
~BundleFileRule();
// Applies the substitution pattern to a source file, returning the result
diff --git a/ui/base/ime/composition_text.cc b/ui/base/ime/composition_text.cc
index d3ae7f3..a2e583f 100644
--- a/ui/base/ime/composition_text.cc
+++ b/ui/base/ime/composition_text.cc
@@ -9,6 +9,8 @@ namespace ui {
CompositionText::CompositionText() {
}
+CompositionText::CompositionText(const CompositionText& other) = default;
+
CompositionText::~CompositionText() {
}
diff --git a/ui/base/ime/composition_text.h b/ui/base/ime/composition_text.h
index 9b729b5..ba56c62 100644
--- a/ui/base/ime/composition_text.h
+++ b/ui/base/ime/composition_text.h
@@ -17,6 +17,7 @@ namespace ui {
// A struct represents the status of an ongoing composition text.
struct UI_BASE_IME_EXPORT CompositionText {
CompositionText();
+ CompositionText(const CompositionText& other);
~CompositionText();
bool operator==(const CompositionText& rhs) const {
diff --git a/ui/native_theme/native_theme.cc b/ui/native_theme/native_theme.cc
index 96b0072..e4911c9 100644
--- a/ui/native_theme/native_theme.cc
+++ b/ui/native_theme/native_theme.cc
@@ -14,6 +14,10 @@ NativeTheme::ExtraParams::ExtraParams() {
memset(this, 0, sizeof(*this));
}
+NativeTheme::ExtraParams::ExtraParams(const ExtraParams& other) {
+ memcpy(this, &other, sizeof(*this));
+}
+
void NativeTheme::SetScrollbarColors(unsigned inactive_color,
unsigned active_color,
unsigned track_color) {
diff --git a/ui/native_theme/native_theme.h b/ui/native_theme/native_theme.h
index 057d49c..a9f56d5 100644
--- a/ui/native_theme/native_theme.h
+++ b/ui/native_theme/native_theme.h
@@ -199,6 +199,7 @@ class NATIVE_THEME_EXPORT NativeTheme {
union NATIVE_THEME_EXPORT ExtraParams {
ExtraParams();
+ ExtraParams(const ExtraParams& other);
ButtonExtraParams button;
InnerSpinButtonExtraParams inner_spin;
diff --git a/ui/platform_window/text_input_state.cc b/ui/platform_window/text_input_state.cc
index ce6db84..ffc3e52 100644
--- a/ui/platform_window/text_input_state.cc
+++ b/ui/platform_window/text_input_state.cc
@@ -32,6 +32,8 @@ TextInputState::TextInputState(TextInputType type,
composition_end(composition_end),
can_compose_inline(can_compose_inline) {}
+TextInputState::TextInputState(const TextInputState& other) = default;
+
bool TextInputState::operator==(const TextInputState& other) const {
return type == other.type &&
flags == other.flags &&
diff --git a/ui/platform_window/text_input_state.h b/ui/platform_window/text_input_state.h
index 14d016b..c2dff0d 100644
--- a/ui/platform_window/text_input_state.h
+++ b/ui/platform_window/text_input_state.h
@@ -23,6 +23,7 @@ struct TextInputState {
int composition_start,
int composition_end,
bool can_compose_inline);
+ TextInputState(const TextInputState& other);
bool operator==(const TextInputState& other) const;
// The type of input field.