Index: extensions/renderer/scoped_web_frame.cc |
diff --git a/extensions/renderer/scoped_web_frame.cc b/extensions/renderer/scoped_web_frame.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..88c4098b5c33348f0773db33e396fdf0a980e353 |
--- /dev/null |
+++ b/extensions/renderer/scoped_web_frame.cc |
@@ -0,0 +1,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 |