summaryrefslogtreecommitdiffstats
path: root/content
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 /content
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}
Diffstat (limited to 'content')
-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
7 files changed, 17 insertions, 1 deletions
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();