--- /dev/null
+// Copyright (c) 2016 The Chromium Embedded Framework 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 "tests/cefclient/browser/root_window.h"
+
+#if defined(OS_WIN) || defined(OS_LINUX)
+#include "tests/cefclient/browser/root_window_views.h"
+#endif
+
+#if defined(OS_WIN)
+#include "tests/cefclient/browser/root_window_win.h"
+#elif defined(OS_LINUX)
+#include "tests/cefclient/browser/root_window_gtk.h"
+#elif defined(OS_MACOSX)
+#include "tests/cefclient/browser/root_window_mac.h"
+#endif
+
+namespace client {
+
+// static
+scoped_refptr<RootWindow> RootWindow::Create(bool use_views) {
+ if (use_views) {
+#if defined(OS_WIN) || defined(OS_LINUX)
+ return new RootWindowViews();
+#else
+ LOG(FATAL) << "Views framework is not supported on this platform.";
+#endif
+ }
+
+#if defined(OS_WIN)
+ return new RootWindowWin();
+#elif defined(OS_LINUX)
+ return new RootWindowGtk();
+#elif defined(OS_MACOSX)
+ return new RootWindowMac();
+#endif
+
+ return NULL;
+}
+
+} // namespace client