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