Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Wootzview] WebviewApi Layer Implementation #162

Open
wants to merge 10 commits into
base: wootz_webview_2
Choose a base branch
from

Conversation

Aankirz
Copy link
Contributor

@Aankirz Aankirz commented Oct 29, 2024

Description

This PR introduces the complete implementation of the WootzView WebAPI layer. The following components have been added and integrated to enhance the browser's functionality:

Overview

This PR introduces the full implementation of the WootzView Web API layer, which is part of the broader Wootz browser project. The primary purpose of this layer is to manage various components essential for the web view's functionality, bridging custom settings, client interactions, and proxy management between the Chromium base and the Wootz browser.

Changes

The following key components have been implemented:

Proxy Implementations: Bridged the functionality of WootzView with underlying Chromium components, such as:

  • WootzAwContentsClientProxy.java: A proxy to handle client interactions for AwContents, supporting features like JavaScript prompts, auth handling, and SSL error processing.
  • WootzHttpAuthHandlerProxy.java: A proxy to manage HTTP authentication requests from the web client.
  • WootzInitializer.java: Responsible for initializing core Wootz browser components and setting up the environment.
  • WootzJsPromptResultProxy.java & WootzJsResultReceiverProxy.java: Proxies for managing JavaScript prompts and their result handling.
  • WootzSettingsProxy.java: Acts as a bridge for web view settings between Wootz and Chromium's web settings.
  • WootzSslErrorHandlerProxy.java: Handles SSL errors in the client-side interactions for secure connections.

Main Components

  • WootzCookieManager.java: Manages cookies within the Wootz browser, offering control over HTTP cookies in web views.
  • WootzHttpAuthHandler.java: Supports authentication requests for HTTP connections initiated within the browser.
  • WootzJavascriptInterface.java: Provides a JavaScript interface to interact with native Java objects, enhancing the browser's scripting capabilities.
  • WootzSettings.java: Manages core settings specific to WootzView, including security, privacy, and performance optimizations.
  • WootzSslErrorHandler.java: Handles SSL errors for secure connections, working in conjunction with the proxy.

Client and View Management

  • WootzViewClient.java: Manages client-side interactions, facilitating communication between the Chromium base and the Wootz browser.
  • WootzView.java: Implements the core functionality of the custom Wootz web view, handling rendering, navigation, and session management.
  • WootzWebClient.java: Focused on managing the web client, which acts as a bridge for executing web content within the browser.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants