blob: ae48d17e1cc5a79e52269fcbfb0ed8832607d011 [file] [log] [blame]
skyostilb4cce1b2016-03-31 17:56:341// Copyright 2016 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "content/renderer/frame_blame_context.h"
6
David 'Digit' Turnerea071142018-10-29 15:38:127#include "base/trace_event/traced_value.h"
skyostilb4cce1b2016-03-31 17:56:348#include "content/renderer/render_frame_impl.h"
9#include "content/renderer/top_level_blame_context.h"
Blink Reformata30d4232018-04-07 15:31:0610#include "third_party/blink/public/platform/platform.h"
11#include "third_party/blink/public/web/web_local_frame.h"
skyostilb4cce1b2016-03-31 17:56:3412
13namespace content {
14namespace {
15
16base::trace_event::BlameContext* GetParentBlameContext(
17 RenderFrameImpl* parent_frame) {
18 if (parent_frame)
Blink Reformat1c4d759e2017-04-09 16:34:5419 return parent_frame->GetFrameBlameContext();
20 return blink::Platform::Current()->GetTopLevelBlameContext();
skyostilb4cce1b2016-03-31 17:56:3421}
22
23} // namespace
24
25const char kFrameBlameContextCategory[] = "blink";
26const char kFrameBlameContextName[] = "FrameBlameContext";
xiaochengh9b9e5ba2016-05-27 01:13:0127const char kFrameBlameContextType[] = "RenderFrame";
skyostilb4cce1b2016-03-31 17:56:3428const char kFrameBlameContextScope[] = "RenderFrame";
29
30FrameBlameContext::FrameBlameContext(RenderFrameImpl* render_frame,
31 RenderFrameImpl* parent_frame)
32 : base::trace_event::BlameContext(kFrameBlameContextCategory,
33 kFrameBlameContextName,
34 kFrameBlameContextType,
35 kFrameBlameContextScope,
36 render_frame->GetRoutingID(),
37 GetParentBlameContext(parent_frame)) {}
38
39FrameBlameContext::~FrameBlameContext() {}
40
41} // namespace content