Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(31)

Unified Diff: content/renderer/render_frame_impl.h

Issue 1447563002: Implement frame attribution (FrameBlamer) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: It builds => ship it. Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/render_frame_impl.h
diff --git a/content/renderer/render_frame_impl.h b/content/renderer/render_frame_impl.h
index ed336f437d59244eeb8a7ee0d42b64d2319488f8..9da0dbff2ab03cd634f4b7e38824a606334ef6ab 100644
--- a/content/renderer/render_frame_impl.h
+++ b/content/renderer/render_frame_impl.h
@@ -29,6 +29,7 @@
#include "content/public/common/referrer.h"
#include "content/public/common/stop_find_action.h"
#include "content/public/renderer/render_frame.h"
+#include "content/renderer/render_frame_blame_context.h"
#include "content/renderer/render_frame_proxy.h"
#include "content/renderer/renderer_webcookiejar_impl.h"
#include "ipc/ipc_message.h"
@@ -37,6 +38,7 @@
#include "media/blink/webmediaplayer_params.h"
#include "mojo/shell/public/interfaces/interface_provider.mojom.h"
#include "mojo/shell/public/interfaces/shell.mojom.h"
+#include "third_party/WebKit/public/platform/WebBlameContext.h"
#include "third_party/WebKit/public/platform/WebFocusType.h"
#include "third_party/WebKit/public/platform/WebMediaPlayer.h"
#include "third_party/WebKit/public/platform/modules/app_banner/WebAppBannerClient.h"
@@ -143,6 +145,7 @@ class RenderWidgetFullscreenPepper;
class ScreenOrientationDispatcher;
class UserMediaClientImpl;
class WakeLockDispatcher;
+class WebBlameContextImpl;
struct CommonNavigationParams;
struct CustomContextMenuContext;
struct FrameReplicationState;
@@ -156,7 +159,9 @@ class VRDispatcher;
class CONTENT_EXPORT RenderFrameImpl
: public RenderFrame,
NON_EXPORTED_BASE(public blink::WebFrameClient),
- NON_EXPORTED_BASE(public blink::WebFrameSerializerClient) {
+ NON_EXPORTED_BASE(public blink::WebFrameSerializerClient),
+ NON_EXPORTED_BASE(
+ public base::trace_event::TraceLog::EnabledStateObserver) {
public:
// Creates a new RenderFrame as the main frame of |render_view|.
static RenderFrameImpl* CreateMainFrame(
@@ -432,6 +437,7 @@ class CONTENT_EXPORT RenderFrameImpl
const blink::WebPopupMenuInfo& popup_menu_info,
blink::WebExternalPopupMenuClient* popup_menu_client) override;
blink::WebCookieJar* cookieJar() override;
+ blink::WebBlameContext* frameBlameContext() override;
blink::WebServiceWorkerProvider* createServiceWorkerProvider() override;
void didAccessInitialDocument() override;
blink::WebFrame* createChildFrame(
@@ -623,6 +629,10 @@ class CONTENT_EXPORT RenderFrameImpl
blink::WebFrameSerializerClient::FrameSerializationStatus status)
override;
+ // base::trace_event::TraceLog::EnabledStateObserver implementation:
+ void OnTraceLogEnabled() override;
+ void OnTraceLogDisabled() override;
+
// Make this frame show an empty, unscriptable page.
// TODO(nasko): Remove this method once swapped out state is no longer used.
void NavigateToSwappedOutURL();
@@ -706,6 +716,8 @@ class CONTENT_EXPORT RenderFrameImpl
bool IsLocalRoot() const;
+ void TraceSnapshot() const;
+
// Builds and sends DidCommitProvisionalLoad to the host.
void SendDidCommitProvisionalLoad(blink::WebFrame* frame,
blink::WebHistoryCommitType commit_type,
@@ -1208,6 +1220,13 @@ class CONTENT_EXPORT RenderFrameImpl
scoped_ptr<ExternalPopupMenu> external_popup_menu_;
#endif
+ base::trace_event::TraceScopedTrackableObject<
+ base::trace_event::TraceID::WithScope>
+ trace_object_;
+
+ scoped_ptr<RenderFrameBlameContext> blame_context_;
+ scoped_ptr<WebBlameContextImpl> web_blame_context_;
+
base::WeakPtrFactory<RenderFrameImpl> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl);

Powered by Google App Engine
This is Rietveld 408576698