// 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::OnWebKitInitialized() { DelegateSet::iterator it = delegates_.begin(); for (; it != delegates_.end(); ++it) (*it)->OnWebKitInitialized(this); } void ClientAppRenderer::OnBrowserCreated( CefRefPtr<CefBrowser> browser, CefRefPtr<CefDictionaryValue> extra_info) { DelegateSet::iterator it = delegates_.begin(); for (; it != delegates_.end(); ++it) (*it)->OnBrowserCreated(this, browser, extra_info); } 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; } 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, CefRefPtr<CefFrame> frame, 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, frame, source_process, message); } return handled; } } // namespace client