Index: content/renderer/render_frame_impl.cc |
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
index ccb65b33f567065bbc6b8571c2b6ee8bc3ece25f..83148d14251d6bbc3e7c789032ce9b342124d74e 100644 |
--- a/content/renderer/render_frame_impl.cc |
+++ b/content/renderer/render_frame_impl.cc |
@@ -29,6 +29,7 @@ |
#include "base/strings/utf_string_conversions.h" |
#include "base/thread_task_runner_handle.h" |
#include "base/time/time.h" |
+#include "base/trace_event/trace_event_argument.h" |
#include "build/build_config.h" |
#include "cc/base/switches.h" |
#include "components/scheduler/renderer/renderer_scheduler.h" |
@@ -1094,8 +1095,17 @@ void RenderFrameImpl::Initialize() { |
RenderFrameImpl* parent_frame = RenderFrameImpl::FromWebFrame( |
frame_->parent()); |
- if (parent_frame) |
+ if (parent_frame) { |
is_using_lofi_ = parent_frame->IsUsingLoFi(); |
+ blame_context_ = make_scoped_ptr(new RenderFrameBlameContext( |
+ routing_id_, *parent_frame->blame_context_)); |
+ } else { |
+ blame_context_ = make_scoped_ptr(new RenderFrameBlameContext( |
+ routing_id_, *RenderThreadImpl::current()->blame_context())); |
+ } |
+ web_blame_context_ = |
+ make_scoped_ptr(new WebBlameContextImpl(blame_context_.get())); |
+ blame_context_->TakeSnapshot(); |
bool is_tracing = false; |
TRACE_EVENT_CATEGORY_GROUP_ENABLED("navigation", &is_tracing); |
@@ -2586,6 +2596,10 @@ blink::WebCookieJar* RenderFrameImpl::cookieJar() { |
return &cookie_jar_; |
} |
+blink::WebBlameContext* RenderFrameImpl::frameBlameContext() { |
+ return web_blame_context_.get(); |
+} |
+ |
blink::WebServiceWorkerProvider* |
RenderFrameImpl::createServiceWorkerProvider() { |
// At this point we should have non-null data source. |