1 // 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 "third_party/blink/renderer/core/inspector/inspector_resource_container.h"
6
7 #include "third_party/blink/renderer/core/inspector/inspected_frames.h"
8
9 namespace blink {
10
InspectorResourceContainer(InspectedFrames * inspected_frames)11 InspectorResourceContainer::InspectorResourceContainer(
12 InspectedFrames* inspected_frames)
13 : inspected_frames_(inspected_frames) {}
14
15 InspectorResourceContainer::~InspectorResourceContainer() = default;
16
Trace(Visitor * visitor)17 void InspectorResourceContainer::Trace(Visitor* visitor) {
18 visitor->Trace(inspected_frames_);
19 }
20
DidCommitLoadForLocalFrame(LocalFrame * frame)21 void InspectorResourceContainer::DidCommitLoadForLocalFrame(LocalFrame* frame) {
22 if (frame != inspected_frames_->Root())
23 return;
24 style_sheet_contents_.clear();
25 style_element_contents_.clear();
26 }
27
StoreStyleSheetContent(const String & url,const String & content)28 void InspectorResourceContainer::StoreStyleSheetContent(const String& url,
29 const String& content) {
30 style_sheet_contents_.Set(url, content);
31 }
32
LoadStyleSheetContent(const String & url,String * content)33 bool InspectorResourceContainer::LoadStyleSheetContent(const String& url,
34 String* content) {
35 if (!style_sheet_contents_.Contains(url))
36 return false;
37 *content = style_sheet_contents_.at(url);
38 return true;
39 }
40
StoreStyleElementContent(DOMNodeId backend_node_id,const String & content)41 void InspectorResourceContainer::StoreStyleElementContent(
42 DOMNodeId backend_node_id,
43 const String& content) {
44 style_element_contents_.Set(backend_node_id, content);
45 }
46
LoadStyleElementContent(DOMNodeId backend_node_id,String * content)47 bool InspectorResourceContainer::LoadStyleElementContent(
48 DOMNodeId backend_node_id,
49 String* content) {
50 if (!style_element_contents_.Contains(backend_node_id))
51 return false;
52 *content = style_element_contents_.at(backend_node_id);
53 return true;
54 }
55
EraseStyleElementContent(DOMNodeId backend_node_id)56 void InspectorResourceContainer::EraseStyleElementContent(
57 DOMNodeId backend_node_id) {
58 style_element_contents_.erase(backend_node_id);
59 }
60
61 } // namespace blink
62