summaryrefslogtreecommitdiff
path: root/tests/cefclient/browser/browser_window.cc
diff options
context:
space:
mode:
Diffstat (limited to 'tests/cefclient/browser/browser_window.cc')
-rw-r--r--tests/cefclient/browser/browser_window.cc96
1 files changed, 96 insertions, 0 deletions
diff --git a/tests/cefclient/browser/browser_window.cc b/tests/cefclient/browser/browser_window.cc
new file mode 100644
index 00000000..355620c3
--- /dev/null
+++ b/tests/cefclient/browser/browser_window.cc
@@ -0,0 +1,96 @@
+// Copyright (c) 2015 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/browser_window.h"
+
+#include "include/base/cef_callback.h"
+#include "tests/shared/browser/main_message_loop.h"
+
+namespace client {
+
+BrowserWindow::BrowserWindow(Delegate* delegate)
+ : delegate_(delegate), is_closing_(false) {
+ DCHECK(delegate_);
+}
+
+void BrowserWindow::SetDeviceScaleFactor(float device_scale_factor) {}
+
+float BrowserWindow::GetDeviceScaleFactor() const {
+ return 1.0f;
+}
+
+CefRefPtr<CefBrowser> BrowserWindow::GetBrowser() const {
+ REQUIRE_MAIN_THREAD();
+ return browser_;
+}
+
+bool BrowserWindow::IsClosing() const {
+ REQUIRE_MAIN_THREAD();
+ return is_closing_;
+}
+
+void BrowserWindow::OnBrowserCreated(CefRefPtr<CefBrowser> browser) {
+ REQUIRE_MAIN_THREAD();
+ DCHECK(!browser_);
+ browser_ = browser;
+
+ delegate_->OnBrowserCreated(browser);
+}
+
+void BrowserWindow::OnBrowserClosing(CefRefPtr<CefBrowser> browser) {
+ REQUIRE_MAIN_THREAD();
+ DCHECK_EQ(browser->GetIdentifier(), browser_->GetIdentifier());
+ is_closing_ = true;
+
+ delegate_->OnBrowserWindowClosing();
+}
+
+void BrowserWindow::OnBrowserClosed(CefRefPtr<CefBrowser> browser) {
+ REQUIRE_MAIN_THREAD();
+ if (browser_.get()) {
+ DCHECK_EQ(browser->GetIdentifier(), browser_->GetIdentifier());
+ browser_ = nullptr;
+ }
+
+ client_handler_->DetachDelegate();
+ client_handler_ = nullptr;
+
+ // |this| may be deleted.
+ delegate_->OnBrowserWindowDestroyed();
+}
+
+void BrowserWindow::OnSetAddress(const std::string& url) {
+ REQUIRE_MAIN_THREAD();
+ delegate_->OnSetAddress(url);
+}
+
+void BrowserWindow::OnSetTitle(const std::string& title) {
+ REQUIRE_MAIN_THREAD();
+ delegate_->OnSetTitle(title);
+}
+
+void BrowserWindow::OnSetFullscreen(bool fullscreen) {
+ REQUIRE_MAIN_THREAD();
+ delegate_->OnSetFullscreen(fullscreen);
+}
+
+void BrowserWindow::OnAutoResize(const CefSize& new_size) {
+ REQUIRE_MAIN_THREAD();
+ delegate_->OnAutoResize(new_size);
+}
+
+void BrowserWindow::OnSetLoadingState(bool isLoading,
+ bool canGoBack,
+ bool canGoForward) {
+ REQUIRE_MAIN_THREAD();
+ delegate_->OnSetLoadingState(isLoading, canGoBack, canGoForward);
+}
+
+void BrowserWindow::OnSetDraggableRegions(
+ const std::vector<CefDraggableRegion>& regions) {
+ REQUIRE_MAIN_THREAD();
+ delegate_->OnSetDraggableRegions(regions);
+}
+
+} // namespace client