WebKit Analysis –for Android

Source: Internet
Author: User
Tags http authentication browser cache

introduction of WebKit
WebKit is an Open-source browser Web page typesetting engine that includes WebCore typesetting engine and Jscore engine. The WebCore and Jscore engines come from khtml and KJS open source projects in KDE projects. The Android platform's Web engine framework incorporates the WebCore and jscore parts of the WebKit project, the upper layer is encapsulated by the Java language, and is provided as an API to Android application developers, The bottom layer uses WebKit core libraries (WebCore and Jscore) for Web layout.


Second, WebKit directory structure
The WebKit module of the Android platform is divided into Java and WebKit libraries in two parts, the directory structure as shown in the following table:

Webkit a block of directory structure
java layer (root directory device\java\android\android\webkit)
Browserframe.java The Browserframe object is a Java-layer encapsulation of a frame object in the WebCore library that creates a frame defined in WebCore and provides a Java-layer callback method for that frame object.
Bytearraybuilder.java Bytearraybuilder helper Object for byte-block list processing.
Cacheloader.java The URL cache loader object that implements the Steadloader abstract base class for loading content data through a Cacheresult object.
Cachemanager.java Cache management object, for Java Layer cache object management.
Cachesyncmanger.java Cache synchronization Management object, responsible for synchronization between RAM and Flash browser cache data. The actual physical data operation is done in the Websyncmanager object.
Callbackproxy.java This object is used to process WebCore and UI thread message agent classes. The callback proxy class is invoked by the WebCore thread when a Web event is generated, and the proxy class notifies the UI thread through a message and invokes the callback function of the client object that is set.
Celllist.java Celllist defines the cell in the collection of pictures, manages the drawing of the cell picture, changes the state, and indexes.
Cookiemanager.java Manage cookies According to the RFC2109 specification.
Dataloader.java A data Loader object that is used to load Web page data.
Datasorter.java Not yet used.
Downloadlistener.java Download the Listener interface.
Downloadmanagercore.java Download the Manager object and manage the download list. This object runs in a WebKit thread and interacts with the UI thread through the Callbackproxy object.
Fileloader.java A file loader that is used to load files into a frame.
Frameloader.java A frame loader for loading page frame data.
Httpauthhandler.java HTTP authentication processing object, which is passed as a parameter to the Browsercallback.displayhttpauthdialog method to interact with the user.
Httpdatatime.java The object is a secondary object that handles the HTTP date.
Jsconfirmresult.java JS confirms the Request object.
Jspromptresult.java The JS result prompts the object to prompt the user with JavaScript to run the results.
Jsresult.java JS result object, for user interaction.
Jwebcorejavabridge.java A bridging code that interacts with timer and cookie objects in Java and the WebCore library.
Loaderlistener.java Loads a listener to handle a loader listening message.
Network.java This object encapsulates the network connection logic and provides the caller with a more advanced network connection interface.
Panzoom.java For manipulating picture scaling, moving, and so on.
Panzoomcelllist.java The cell that is used to save and scale the picture.
Perfchecker.java Functional objects for efficiency testing ....
Sslerrorhandler.java Used to process SSL error messages.
Streamloader.java The Streamloader abstract class is the base class for all content loader objects. This class is a state machine controlled by a message to load data into a frame.
Textdialog.java A special EditText control that can be defined using standard text editing to handle the overlay of HTML in the Chinese area.
Urlutil.java
Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.