]> git.sesse.net Git - casparcg/blobdiff - dependencies64/cef/windows/tests/shared/renderer/client_app_renderer.cc
Upgrade CEF to 3.3029.1611.g44e39a8 / Chromium 58.0.3029.81.
[casparcg] / dependencies64 / cef / windows / tests / shared / renderer / client_app_renderer.cc
diff --git a/dependencies64/cef/windows/tests/shared/renderer/client_app_renderer.cc b/dependencies64/cef/windows/tests/shared/renderer/client_app_renderer.cc
new file mode 100644 (file)
index 0000000..e195e31
--- /dev/null
@@ -0,0 +1,119 @@
+// Copyright (c) 2013 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/shared/renderer/client_app_renderer.h"
+
+#include "include/base/cef_logging.h"
+
+namespace client {
+
+ClientAppRenderer::ClientAppRenderer() {
+  CreateDelegates(delegates_);
+}
+
+void ClientAppRenderer::OnRenderThreadCreated(
+    CefRefPtr<CefListValue> extra_info) {
+  DelegateSet::iterator it = delegates_.begin();
+  for (; it != delegates_.end(); ++it)
+    (*it)->OnRenderThreadCreated(this, extra_info);
+}
+
+void ClientAppRenderer::OnWebKitInitialized() {
+  DelegateSet::iterator it = delegates_.begin();
+  for (; it != delegates_.end(); ++it)
+    (*it)->OnWebKitInitialized(this);
+}
+
+void ClientAppRenderer::OnBrowserCreated(CefRefPtr<CefBrowser> browser) {
+  DelegateSet::iterator it = delegates_.begin();
+  for (; it != delegates_.end(); ++it)
+    (*it)->OnBrowserCreated(this, browser);
+}
+
+void ClientAppRenderer::OnBrowserDestroyed(CefRefPtr<CefBrowser> browser) {
+  DelegateSet::iterator it = delegates_.begin();
+  for (; it != delegates_.end(); ++it)
+    (*it)->OnBrowserDestroyed(this, browser);
+}
+
+CefRefPtr<CefLoadHandler> ClientAppRenderer::GetLoadHandler() {
+  CefRefPtr<CefLoadHandler> load_handler;
+  DelegateSet::iterator it = delegates_.begin();
+  for (; it != delegates_.end() && !load_handler.get(); ++it)
+    load_handler = (*it)->GetLoadHandler(this);
+
+  return load_handler;
+}
+
+bool ClientAppRenderer::OnBeforeNavigation(CefRefPtr<CefBrowser> browser,
+                                           CefRefPtr<CefFrame> frame,
+                                           CefRefPtr<CefRequest> request,
+                                           NavigationType navigation_type,
+                                           bool is_redirect) {
+  DelegateSet::iterator it = delegates_.begin();
+  for (; it != delegates_.end(); ++it) {
+    if ((*it)->OnBeforeNavigation(this, browser, frame, request,
+                                  navigation_type, is_redirect)) {
+      return true;
+    }
+  }
+
+  return false;
+}
+
+void ClientAppRenderer::OnContextCreated(CefRefPtr<CefBrowser> browser,
+                                         CefRefPtr<CefFrame> frame,
+                                         CefRefPtr<CefV8Context> context) {
+  DelegateSet::iterator it = delegates_.begin();
+  for (; it != delegates_.end(); ++it)
+    (*it)->OnContextCreated(this, browser, frame, context);
+}
+
+void ClientAppRenderer::OnContextReleased(CefRefPtr<CefBrowser> browser,
+                                          CefRefPtr<CefFrame> frame,
+                                          CefRefPtr<CefV8Context> context) {
+  DelegateSet::iterator it = delegates_.begin();
+  for (; it != delegates_.end(); ++it)
+    (*it)->OnContextReleased(this, browser, frame, context);
+}
+
+void ClientAppRenderer::OnUncaughtException(
+    CefRefPtr<CefBrowser> browser,
+    CefRefPtr<CefFrame> frame,
+    CefRefPtr<CefV8Context> context,
+    CefRefPtr<CefV8Exception> exception,
+    CefRefPtr<CefV8StackTrace> stackTrace) {
+  DelegateSet::iterator it = delegates_.begin();
+  for (; it != delegates_.end(); ++it) {
+    (*it)->OnUncaughtException(this, browser, frame, context, exception,
+                               stackTrace);
+  }
+}
+
+void ClientAppRenderer::OnFocusedNodeChanged(CefRefPtr<CefBrowser> browser,
+                                             CefRefPtr<CefFrame> frame,
+                                             CefRefPtr<CefDOMNode> node) {
+  DelegateSet::iterator it = delegates_.begin();
+  for (; it != delegates_.end(); ++it)
+    (*it)->OnFocusedNodeChanged(this, browser, frame, node);
+}
+
+bool ClientAppRenderer::OnProcessMessageReceived(
+    CefRefPtr<CefBrowser> browser,
+    CefProcessId source_process,
+    CefRefPtr<CefProcessMessage> message) {
+  DCHECK_EQ(source_process, PID_BROWSER);
+
+  bool handled = false;
+
+  DelegateSet::iterator it = delegates_.begin();
+  for (; it != delegates_.end() && !handled; ++it) {
+    handled = (*it)->OnProcessMessageReceived(this, browser, source_process,
+                                              message);
+  }
+
+  return handled;
+}
+
+}  // namespace client