summaryrefslogtreecommitdiff
path: root/chromium/extensions/renderer/scoped_web_frame.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/extensions/renderer/scoped_web_frame.h')
-rw-r--r--chromium/extensions/renderer/scoped_web_frame.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/chromium/extensions/renderer/scoped_web_frame.h b/chromium/extensions/renderer/scoped_web_frame.h
new file mode 100644
index 00000000000..948a289483b
--- /dev/null
+++ b/chromium/extensions/renderer/scoped_web_frame.h
@@ -0,0 +1,34 @@
+// 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.
+
+#ifndef SCOPED_WEB_FRAME_H_
+#define SCOPED_WEB_FRAME_H_
+
+#include "base/macros.h"
+#include "third_party/WebKit/public/web/WebLocalFrame.h"
+#include "third_party/WebKit/public/web/WebView.h"
+
+namespace extensions {
+
+// ScopedWebFrame is a class to create a dummy webview and frame for testing.
+// The dymmy webview and frame will be destructed when the scope exits.
+class ScopedWebFrame {
+public:
+ ScopedWebFrame();
+ ~ScopedWebFrame();
+
+ blink::WebLocalFrame* frame() { return frame_; }
+
+private:
+ // The webview and the frame are kept alive by the ScopedWebFrame
+ // because they are not destructed unless ~ScopedWebFrame explicitly
+ // closes the webview and the frame.
+ blink::WebView* view_;
+ blink::WebLocalFrame* frame_;
+ DISALLOW_COPY_AND_ASSIGN(ScopedWebFrame);
+};
+
+} // namespace extensions
+
+#endif // SCOPED_WEB_FRAME_H_