MicaApps / EdgeEx

Edge extended, not ex-edge
MIT License
56 stars 10 forks source link

image EdgeEx

Current Development and how to contribute(如何贡献,项目如何进展)

  1. Make a GUI shell without dependent on the core of the browser underhood(such as homepage, download, settings page), could be UWP+WinUI2/WinUI3/Xaml Island (完成一个不依赖于浏览器底层的界面,比如首页、下载页、设置页,可以使用的框架UWP+WinUI2/WinUI3/Xaml岛)
  2. Wrapping up all the features and APIs needed from the browser core (封装出所有需要的浏览器内核的外围功能和API)
  3. Adapt both webview2 and cef to this set of APIs. WebView2 APIs goes directly into the Browsers project. (将webview2和cef共同适配到这套API,其中适配WebView2的代码直接写到Browser工程中)

Project structure(文件夹结构)

    Browser     --- The main browser client
        BrowserUWP      --- UWP-based Browser       
        BrowserWinUI3   --- WinUI3-based Browser                    *
        BrowserIsland   --- Win32 Xaml Island-based Browser
    Cef         --- Cef Component                    
        CefBase         --- Common base for Cef (include/lib files)
        WinUI2CefView   --- WinUI2 Cef Component  
        WinUI3CefView   --- WinUI3 Cef Component                    *

* - active

Development Pre-requisites(开发环境)

Current Issues Listing(当前踩坑列表)

Cef related

APIs reference

Control Layer

Webview2 (Xaml inherited member omitted)

Api Necessary Implement in Cef
bool CanGoBack{get;} * *
void GoBack() * *
bool CanGoForward{get;} * *
void GoForward() * *
Windows.UI.Color DefaultBackgroundColor{get;} * *
Windows.Foundation.Uri Source{get;set;} * *
void NavigateToString(String htmlContent) * *
void Close() * *
Windows.Foundation.IAsyncOperation<String> ExecuteScriptAsync(String javascriptCode) * *
Events Necessary Implemented in Cef
CoreProcessFailed
CoreWebView2Initialized
NavigationStarting
WebMessageReceived *

Core Layer

CoreWebView2