mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-02-08 08:08:45 +01:00
- Introduce native/ and osr/ folders for native (non-platform-agnostic) and osr (windowless) code respectively. - Introduce CefBrowserPlatformDelegate for abstracting platform-specific implementations of browser host functionality. - Move dialog and menu code to separate manager and platform-specific runner implementations exposed via CefBrowserPlatformDelegate. - Standardize focus-handling behavior between windowed and windowless implementations. CefFocusHandler::OnSetFocus() will now also be called for osr focus changes. - Support multiple simultaneous popups (issue #1289).
39 lines
1.3 KiB
Plaintext
39 lines
1.3 KiB
Plaintext
// Copyright 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 "libcef/browser/osr/browser_platform_delegate_osr_mac.h"
|
|
|
|
#include "libcef/browser/browser_host_impl.h"
|
|
#include "libcef/browser/osr/render_widget_host_view_osr.h"
|
|
|
|
CefBrowserPlatformDelegateOsrMac::CefBrowserPlatformDelegateOsrMac(
|
|
scoped_ptr<CefBrowserPlatformDelegateNative> native_delegate)
|
|
: CefBrowserPlatformDelegateOsr(native_delegate.Pass()) {
|
|
}
|
|
|
|
CefWindowHandle CefBrowserPlatformDelegateOsrMac::GetHostWindowHandle() const {
|
|
return native_delegate_->window_info().parent_view;
|
|
}
|
|
|
|
CefTextInputContext CefBrowserPlatformDelegateOsrMac::GetNSTextInputContext() {
|
|
CefRenderWidgetHostViewOSR* view = GetOSRHostView();
|
|
if (view)
|
|
return view->GetNSTextInputContext();
|
|
return nullptr;
|
|
}
|
|
|
|
void CefBrowserPlatformDelegateOsrMac::HandleKeyEventBeforeTextInputClient(
|
|
CefEventHandle keyEvent) {
|
|
CefRenderWidgetHostViewOSR* view = GetOSRHostView();
|
|
if (view)
|
|
view->HandleKeyEventBeforeTextInputClient(keyEvent);
|
|
}
|
|
|
|
void CefBrowserPlatformDelegateOsrMac::HandleKeyEventAfterTextInputClient(
|
|
CefEventHandle keyEvent) {
|
|
CefRenderWidgetHostViewOSR* view = GetOSRHostView();
|
|
if (view)
|
|
view->HandleKeyEventAfterTextInputClient(keyEvent);
|
|
}
|