summaryrefslogtreecommitdiffstats
path: root/extensions/renderer/scoped_web_frame.cc
blob: 88c4098b5c33348f0773db33e396fdf0a980e353 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "extensions/renderer/scoped_web_frame.h"

#include "third_party/WebKit/public/web/WebHeap.h"

namespace extensions {

ScopedWebFrame::ScopedWebFrame() : view_(nullptr), frame_(nullptr) {
  view_ = blink::WebView::create(nullptr);
  frame_ = blink::WebLocalFrame::create(
      blink::WebTreeScopeType::Document, nullptr);
  view_->setMainFrame(frame_);
}

ScopedWebFrame::~ScopedWebFrame() {
  view_->close();
  frame_->close();
  blink::WebHeap::collectAllGarbageForTesting();
}

}  // namespace extensions