mirror of
https://github.com/aphrody-labs/cef.git
synced 2026-10-17 12:45:06 +00:00
A views::WebView has a NativeViewHost child that NativeWidgetMacNSWindowHost::GetHitTestResult expects to be returned by the call to GetEventHandlerForPoint. However, the parent WebView was being returned instead because NativeViewHost::CanProcessEventsWithinSubtree was returning false. This caused GetHitTestResult to incorrectly return HitTestResult::kRootView instead of HitTestResult::kSubView resulting in RenderWidgetHostViewCocoa shouldIgnoreMouseEvent: incorrectly returning YES and mouse events being ignored on Mac. Additionally, add Views metadata to WebViewEx to support potential future `views::IsViewClass<views::WebView>` usage.
There may be instances where CEF requires changes to the source code for Chromium, Blink or third-party projects that are either not desired by those projects or that have not yet been merged into the source code versions of those projects used by CEF. To address this situation the CEF project adds a patch capability as part of cef_create_projects[.bat|sh] build step. This patch capability works as follows: 1. The CEF developer creates one or more patch files containing all required code changes and places those patch files in the "patches" subdirectory. 2. The CEF developer adds an entry for each patch file in the "patch.cfg" file. 3. When building CEF from source code the patch files are applied by the patcher.py tool via the cef_create_projects[.bat|sh] build step 4. When updating Chromium the patch_updater.py tool is used to update all patch files. See https://bitbucket.org/chromiumembedded/cef/wiki/ChromiumUpdate.md for more information about the update process.