Giter VIP home page Giter VIP logo

edgeex's Introduction

image EdgeEx

  • UWP Edge, reborn
  • UWP Edge重生

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(开发环境)

  • To develop Cef, run cef\prepare.ps1 (开发Cef,先运行cef\prepare.ps1
  • You should have a good understanding in one of C++, C#, UWP, WinUI3, Cef frameworks. (你应该至少在C++、C#、UWP、WinUI3、Cef框架中至少熟悉一样)

Current Issues Listing(当前踩坑列表)

Cef related

  • To successfully run WinUI3Cef project, check into the Cef\Winui3Cef\x64\Debug\Winui3Cef\Appx folder, and these files and folders should be present
locales\
Resources\
chrome_100_percent.pak
chrome_200_percent.pak
icudtl.dat
libEGL.dll
libGLESv2.dll
resources.pak
v8_context_snapshot.bin
vk_swiftshader.dll
Winui3CefCore.exe

WinUI2 related (WinUI2 UWP相关)

WinUI3 related(WinUI3相关)

  • Current Cef window was created using child window which has a higher z-order in the window structure, meaning this cef window will cover anything that overlapps with the xaml content. (当前Cef窗口使用子窗口的形式创建,但是这种方式会挡住一切跟xaml内容重叠的部分).

Xaml Island related (Xaml Island相关)

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

edgeex's People

Contributors

ho-cooh avatar kaishistudio avatar shomnipotence avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

edgeex's Issues

Plugins for syncing history

Name Target
Safari Plugin To read Safari history.
Chrome Plugin To read Chrome, Edge history.
Plugin for EdgeEx To sync history from Safari, Chrome and Edge.

Account or Settings Data

account or settings data

Are new local accounts allowed? Or is it possible to access a Google account? or some other way?

[Lab] Experimental Features 🧪

  • Drop Tabs Off In Space To Make A New Window 🧪
  • Drag Tabs Between Windows 🧪
  • Customize Acrylic Color And Mica Kind (Effective Immediately)

Could Try In App Lab Settings (EdgeEx://Settings/Lab)

标题栏样式选择

目前已有的设计方案包括

Edge 风格

  • 标签栏在上方
  • 地址栏在下方-左对齐
  • 工具栏在地址栏右侧
  • 非高亮选中标签无边框

image

Safari 风格,标签栏和地址栏分列

  • 标签栏在下方
  • 地址栏在上方-居中
  • 工具栏在地址栏右侧
  • 非高亮选中标签无边框

image

Safari 风格,标签栏和地址栏合并 1

  • 标签栏、地址栏合并
  • 工具栏在右侧
  • 非高亮选中标签带边框

image

Safari 风格,标签栏和地址栏合并 2

  • 标签栏、地址栏合并
  • 工具栏在右侧
  • 非高亮选中标签无边框

image

Edge 风格,垂直标签栏

  • 标签栏在左侧

image

[Feature] New Tab

image

Source:

  • BookRemarks-BookRemarksFolder

Size:

  • Pre Icon Size: 62px
  • Spacing: 45px
  • MaxWidth: 1440px

UI Style:

  • Global Acrylic

Tasks:

  • Icon From Website
  • Local Storage
  • Source From BookRemarks

Abouts: #3

For the plugin’s popup menu, use an acrylic background.

image

  • The plug-in's pop-up menu must be transparent first (background = "transparent" )

  • Based on this, its background is provided by acrylic.

  • Since Chromium natively supports "smart invert colors", inverting colors requires no extra work and works just fine whether in dark or light mode.

Once these three points are met, the plug-in's pop-up menu will conform to the design diagram.

You can freely choose whether to align the buttons left or right - menu

[Feature] History

  • Contains three views

    • List view with names and links
    • list view with name, link and thumbnail
    • Grid view with names and thumbnails
  • Unlimited loading

    • On-demand loading, loading earlier content when scrolling to the bottom
    • Reverse on-demand loading, loading updated content when scrolling to the top
    • Use the date picker to jump directly to the corresponding location
    • The date picker will work on the address bar, like this:
      EdgeEx://History/2023/3/4
  • Sort by

    • In reverse order of opening time
    • According to the reverse order of closing time, the same window is aligned as a group
  • Sync history from other browsers

  • Edit

    • delete/send to bookmark
  • Search

[Feature] Bookmark Manager

image
image
image
image
image

Tasks:

  • Left Part
    • Tree View (Image 1)
  • Right Part
    • List View (Image 1)
    • Thumb View (Image 2)
    • List View With Thumb (Image 3)
  • Addresss bar bookmark flyout
    • short (Image 4)
    • long (Image 5)

Tab overview

Shows live thumbnails of all currently open tabs.

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.