CN104731598A - Method and device for providing web browsing based on Webkit kernel - Google Patents

Method and device for providing web browsing based on Webkit kernel Download PDF

Info

Publication number
CN104731598A
CN104731598A CN201510145521.0A CN201510145521A CN104731598A CN 104731598 A CN104731598 A CN 104731598A CN 201510145521 A CN201510145521 A CN 201510145521A CN 104731598 A CN104731598 A CN 104731598A
Authority
CN
China
Prior art keywords
page
kernel
weblkit
page object
detached process
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510145521.0A
Other languages
Chinese (zh)
Other versions
CN104731598B (en
Inventor
刘庆平
任寰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201510145521.0A priority Critical patent/CN104731598B/en
Priority claimed from CN201210139290.9A external-priority patent/CN102681850B/en
Publication of CN104731598A publication Critical patent/CN104731598A/en
Application granted granted Critical
Publication of CN104731598B publication Critical patent/CN104731598B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

The invention provides a method and device for providing web browsing based on a Webkit kernel. The method and device solve the problem that as a Webbrowser kernel control is used in a browser, safety is poor. The method comprises the steps of setting a page object export interface of the Webkit kernel; starting the Webkit kernel in a first independent process; calling the page object export interface in a second independent process to create a page object based on the Webkit kernel; calling the Webkit kernel in the first independent process through the page object, and carrying out page browsing operation and page content loading based on the Webkit kernel. The method and device well solve the problems that the version of a Webbrowser kernel in the browser falls behind, is poor in safety and does not support a non-Microsoft platform and the problems that as the Webkit kernel is directly used, the technical threshold is high, updating is difficult and an installation package is too big.

Description

A kind of sing on web kit kernel provides method and the device of web page browsing
Technical field
The application relates to web technologies, particularly relates to method and device that a kind of sing on web kit kernel provides web page browsing.
Background technology
Web browser widely uses in the whole world, is a kind of for accessing the application software that internet obtains information.Along with progress and the development of technology, the software of more and more other types, as Instant Messenger (IM) software, downloads software, even input method etc., all starts by the page access ability with use web browser, realize some function of its software, better Consumer's Experience is provided.
Current implementation, mostly uses the Webbrowser object that Microsoft provides, and by realizing a Webbrowser com object visit the page in-process, realizes correlation function.
There is following drawback in this technical implementation way, such as:
Webbrowser is the more weak browser control part of a security, easily causes safety problem.
Summary of the invention
This application provides method and device that a kind of sing on web kit kernel provides web page browsing, use Webbrowser kernel control and the weak problem of the security brought to solve in browser.
In order to solve the problem, this application discloses a kind of method that sing on web kit kernel provides web page browsing, comprising:
The page object export interface of one Webkit kernel is set;
Webkit kernel is started in the first detached process;
The page object that described page object export interface creates sing on web kit kernel is called in the second detached process; And
Call the Weblkit kernel in described first detached process by described page object, the page browsing operation and the content of pages that carry out sing on web kit kernel load.
Preferably, described in call the page object that described page object export interface creates sing on web kit kernel, comprising:
Obtain the factory method that described page object export interface provides;
Call described factory method and create factory's object;
Call the page object of described factory Object Creation sing on web kit kernel.
Preferably, the described Weblkit kernel called by described page object in described first detached process, the content of pages carrying out sing on web kit kernel loads, and comprising:
The page creation method provided by described page object, the Weblkit kernel called in described first detached process creates page window;
The content of pages carrying out sing on web kit kernel in this page window loads.
Preferably, in the second detached process, carry out described content of pages loading,
Described loading comprises:
Content of pages is obtained according to the http request received;
The content of pages got is resolved;
Js operation is performed to analysis result;
Dom tree is set up according to js operating result;
Dom tree is played up and represented.
Preferably, described page browsing operation comprises:
Page jump, and/or page window moves, and/or the page stops loading, and/or, page furbishing, and/or, the advance of the page, retrogressing, and/or the page is destroyed.
Preferably, the described Weblkit kernel called by described page object in described detached process, is carried out the page browsing operation of sing on web kit kernel, comprising:
The Navigate method provided by described page object, the Weblkit kernel called in described detached process carries out page jumping operation in this page window;
And/or, the Reposition method provided by described page object, the Weblkit kernel called in described detached process informs that described page window is followed the movement of external windows and moves;
And/or, the Stop method provided by described page object, the Weblkit kernel called in described detached process stops at load page content in this page window;
And/or, the Reload method provided by described page object, the Weblkit kernel device called in described detached process refreshes the content of pages in this page window;
And/or, the GoBack method provided by described page object, the Weblkit kernel called in described detached process carries out page back operation in this page window;
And/or, the GoForward method provided by described page object, the Weblkit kernel called in described detached process carries out page forward operation in this page window;
And/or the Destroy method provided by described page object, the Weblkit kernel called in described detached process destroys this page object.
Preferably, the described Weblkit kernel called by described page object in described first detached process, being comprised:
Constructing variable object, and network address and the window handle of in described parameter object, filling target access;
Parameter object after filling is passed to as parameter value the page creation method that described page object provides;
By the page creation method after call parameters assignment, realize communicating with the Weblkit kernel in described detached process.
Preferably, the described page object export interface arranging a Webkit kernel, comprising:
The page object export interface of Webkit kernel is provided by dynamic link library.
Preferably, before calling described page object export interface, also comprise:
Access registration table, searches the store path of dynamic link library described in registration table;
Described dynamic link library is loaded from described store path.
Preferably, also comprise:
Upgrade the version of described dynamic link library after Webkit kernel upgrading, and the dynamic link library of redaction is saved in the store path being different from legacy version.
Preferably, multiple second detached process loads same described dynamic link library from same store path.
Present invention also provides the device that a kind of sing on web kit kernel provides web page browsing, comprising:
Interface derives module, for arranging the page object export interface of a Webkit kernel;
Kernel starts module, for starting Webkit kernel in the first detached process;
First calling module, creates the page object of sing on web kit kernel for calling described page object export interface in the second detached process; And
Second calling module, for being called the Weblkit kernel in described first detached process by described page object, the page browsing operation and the content of pages that carry out sing on web kit kernel load.
Preferably, described first calling module comprises:
Factory method obtains submodule, for obtaining the factory method that described page object export interface provides;
Factory's Object Creation submodule, creates factory's object for calling described factory method;
Page object creates submodule, for calling the page object of described factory Object Creation sing on web kit kernel.
Preferably, the page creation method that described second calling module is provided by described page object, the Weblkit kernel called in described first detached process creates page window, and the content of pages carrying out sing on web kit kernel in this page window loads.
Preferably, in the second detached process, carry out described content of pages loading,
Described loading comprises:
Content of pages is obtained according to the http request received;
The content of pages got is resolved;
Js operation is performed to analysis result;
Dom tree is set up according to js operating result;
Dom tree is played up and represented.
Preferably, described page browsing operation comprises:
Page jump, and/or page window moves, and/or the page stops loading, and/or, page furbishing, and/or, the advance of the page, retrogressing, and/or the page is destroyed.
Preferably, described second calling module comprises:
Submodule is called in navigation, and for the Navigate method provided by described page object, the Weblkit kernel called in described detached process carries out page jumping operation in this page window;
And/or move and call submodule, for the Reposition method provided by described page object, the Weblkit kernel called in described detached process informs that described page window is followed the movement of external windows and moves;
And/or stop calling submodule, for the Stop method provided by described page object, the Weblkit kernel called in described detached process stops at load page content in this page window;
And/or refresh and call submodule, for the Reload method provided by described page object, the Weblkit kernel device called in described detached process refreshes the content of pages in this page window;
And/or page back calls submodule, for the GoBack method provided by described page object, the Weblkit kernel called in described detached process carries out page back operation in this page window;
And/or the page advances and calls submodule, and for the GoForward method provided by described page object, the Weblkit kernel called in described detached process carries out page forward operation in this page window;
And/or destroy and call submodule, for the Destroy method provided by described page object, the Weblkit kernel called in described detached process destroys this page object.
Preferably, described second calling module comprises:
Constructor module, for constructing variable object, and fills network address and the window handle of target access in described parameter object;
Parameter assignment submodule, for passing to as parameter value the page creation method that described page object provides using the parameter object after filling;
Page creation submodule, for by the page creation method after call parameters assignment, realizes communicating with the Weblkit kernel in described detached process.
Preferably, described interface derives module provides Webkit kernel page object export interface by dynamic link library.
Preferably, also comprise:
Path searching module, for accessing registration table, searches the store path of dynamic link library described in registration table;
Load-on module, for loading described dynamic link library from described store path.
Preferably, also comprise:
Update module, for upgrading the version of described dynamic link library after Webkit kernel upgrading, and is saved in the store path being different from legacy version by the dynamic link library of redaction.
Preferably, multiple second detached process is by loading same described dynamic link library from same store path.
Compared with prior art, the application comprises following advantage:
Present applicant proposes a kind of striding course uses webkit core to realize the method for web page browsing, can solve that Webbrowser kernel version in browser is backward, security is weak, do not support the problem of non-Microsoft platform well, and the problem such as the technical threshold directly using webkit core to cause is high, scaling difficulty, installation kit are excessive.
First, the application is the interface that WebKit kernel derives WebAppTabWrapper object, and after third party software obtains WebAppTabWrapper object, by calling the Create method of this object, notice webkit browser creates a new page.The http request of carrying out in web page browsing, resolve return data, perform js, set up dom tree, complete finally play up wait specific works all invisible to third party software, simplify third party software technology use difficulty.Third party software and real page access, parsing, rendering module are operated in different process, isolate and well protect third party software not by the impact of page unsafe factor between process.Therefore, the application can solve well in browser and use Webbrowser kernel and the security that brings is weak, the problem that easily causes user security.
Secondly, the upgrading of Webkit core and bug repair, and the upgrading audit function of being served by dll completes.The operation not affecting legacy version when carrying out redaction update uses, completely invisible to third party software.Third party software obtains new service release dll path by certain project of accessing registration table, uses after loading.Further, new and old edition can use simultaneously.Therefore, the application can solve the problem that the Webbrowser kernel version in browser falls behind well.
And, the application can simplify third party software and use web page browsing to increase the development difficulty of software function at windows platform and non-windows platform, make any third party software can use web page access service provided by the invention, accession page easily, strengthen software users and experience.
Certainly, the arbitrary product implementing the application not necessarily needs to reach above-described all advantages simultaneously.
Accompanying drawing explanation
Fig. 1 is the process flow diagram of a kind of striding course Web browser method based on webkit core described in the embodiment of the present application;
Fig. 2 is the process flow diagram based on the striding course Web browser method of webkit core described in another embodiment of the application;
Fig. 3 is the structural drawing of a kind of striding course web page browsing device based on webkit core described in the embodiment of the present application;
Fig. 4 is the structural drawing of a kind of striding course web page browsing device based on webkit core described in another embodiment of the application;
Fig. 5 is the process flow diagram based on the striding course Web browser method of webkit core described in another embodiment of the application;
Fig. 6 is the structural drawing of a kind of striding course web page browsing device based on webkit core described in another embodiment of the application.
Embodiment
For enabling above-mentioned purpose, the feature and advantage of the application more become apparent, below in conjunction with the drawings and specific embodiments, the application is described in further detail.
At present, the third party software of more and more other types, as Instant Messenger (IM) software, downloads software, even input method etc., all starts, by the page access ability with use web browser, to realize some function of its software, provide better Consumer's Experience.
There is more drawback in the Webbrowser object that the IE browser of Microsoft provides, such as:
The version of Webbrowser object excessively always limits using of much new page technology and represents;
Webbrowser is the more weak browser core of a security, easily causes safety problem;
Webbrowser is easily installed plug-in unit by various rogue software, injecting codes, causes and much uses problem, such as closes flash and java and runs, cause correlation function to lose efficacy.
Realize in the process of web page browsing at third party software, in order to the above-mentioned various problem that the Webbrowser kernel solving IE exists, this application provides a kind of method that webkit of use realizes web page browsing.Wherein, described webkit is the core of Chrome browser, and webkit is the browser engine (web browser engine) of an open source code.
But, if directly use webkit core to realize web page browsing in third party software, there is following defect:
Webkit core interface is complicated, and technical threshold is high, adds software and utilizes it to realize the technical threshold of page browsing function; Webkit core code is more, and dll (dynamic link library) is comparatively large, adds the volume using its software; Browser version upgrades rapidly, directly comprises webkit core and cannot accomplish to use state-of-the-art technology fast, evade known security problem.
Based on this, the application does not directly use webkit core, provide a kind of page browsing service dll of striding course, any third party software can obtain page browsing ability in the system of having installed this kind of dll service, thus simplifies the technical threshold and the complexity that use webkit to play up the page.
Webkit, as a complete browser kernel, has only been responsible for html and has resolved and play up work, other work such as network connecting request, js resolve, peripheral packaging etc., after all needing third party software to realize, webkit could normal work.And realize a good http protocol stack and js resolver difficulty huge, work is complicated.
The dll service of this page browsing in the application can be understood as an agency, the work such as agent encapsulates network connecting request, js resolve, peripheral packaging, thus these users is indifferent to and the part of complexity shields user; Further, agency also encapsulates simple interface to call several basic webkit browser operation.Third party software can realize the communication with webkit core by this dll service, and user only need provide url and for carrying the window handle of the page, just can obtain a webpage played up.Because a lot of work in web page browsing process are all completed by dll service, because this simplify the exploitation of third party software.
Below by embodiment, the realization flow of method described in the application is described in detail.
With reference to Fig. 1, it is the process flow diagram of a kind of striding course Web browser method based on webkit core described in the embodiment of the present application.
Step 101, loads dynamic link library by self defined interface;
Described self defined interface comprises external interface and internal interface, can load dynamic link library by external interface.
Dynamic link library (dll service) is supplied to third party software and uses external interface, and third party software just can communicate with dynamic link library after realizing these simple external interfaces.
Dynamic link library additionally provides the page object export interface of Webkit kernel, these internal interfaces are the interface of the Webbrowser object of the similar IE that webkit kernel is derived, but concrete interface number and use complexity will be significantly less than the Webbrowser of IE.And classic method packaging webkit needs to realize hundreds of interfaces, but in the embodiment of the present application, the required interface number realized of third party software is considerably less, but several basic browser operation has all been included in wherein.
After third party software realizes the less self defined interface of described number, load dynamic link library dll by self defined interface, concrete loading method is as follows:
Registration table is accessed by self defined interface;
Search the store path of the dll of dynamic link library described in registration table;
Described dynamic link library dll is loaded from described store path.
Step 102, calls described dynamic link library to create page object;
By calling the internal interface that dynamic link library provides, the communication with Webkit kernel just can be realized.
Wherein, factory mode is used to create page object.Factory mode is exactly be responsible for specially will have the class instantiation of common interface in a large number, and need not know it is the pattern wanting which class of instantiation in advance at every turn.Its definition one, for creating the interface of object, determines which class of instantiation by subclass.
Concrete sub-step is as follows:
Sub-step 1, calls described dynamic link library to obtain factory method;
Sub-step 2, calls described factory method and creates factory's object;
Sub-step 3, calls described factory Object Creation page object.
Step 103, by calling the page creation method in described page object, notice webkit browser creates page window, and completes playing up and representing of content of pages in this page window.
Concrete sub-step is as follows:
Sub-step 1, constructing variable object, and network address and the window handle of in described parameter object, filling target access;
Sub-step 2, passes to the page creation method in described page object as parameter value using the parameter object after filling;
Sub-step 3, by the page creation method after call parameters assignment, notice webkit browser creates page window, and completes playing up and representing of content of pages in this page window.
Page creation method is provided in page object, parameter is provided with in the method, parameter assignment is after the network address of target access and window handle, by call the method can with webkit kernel communication, parameter value passes to webkit kernel, webkit kernel according to parameter value access destination network address, and creates page window, completes playing up and representing of content of pages in this page window.
Finally, the relevant readjustment of browser is also by the function call notice third party software of correspondence.
Foregoing is explained in detail below by a concrete example.
Content and the usage of interface are as follows:
A factory method is provided, calls for third party software:
extern"C"{
DLL_INTERFACE WebAppFactory*GetWebAppFactory();
};
Third party software loads dll service (dynamic link library) by LoadLibrary function, and obtain factory method GetWebAppFactory by GetProcAddress function, and create factory Object Web AppFactory, and then obtain a page object WebAppTabWrapper, its interface is as follows:
After third party software obtains WebAppTabWrapper object, by calling the Create method that this object provides, the WEB-browsing services of notice webkit kernel creates a new page, and call Navigate method notification service and carry out guidance operation, Stop, Reload, GoBack, GoForward then provide basic page forward-reverse, stop loading and refresh function.Third party software, when no longer needing browsing pages, destroys page object by calling Destroy method.
Concrete, can also comprise the following steps:
By calling the Navigate method in described page object, notice webkit browser carries out page jumping operation in this page window.Such as, in the page window of new establishment, the content of the welcome page of initial access destination network address display, then by calling Navigate method, real homepage can be jumped to from welcome page, but no longer create new page window, in same page window, only carry out the redirect of content of pages.
By calling the Stop method in described page object, notice webkit browser stops playing up and representing of content of pages in this page window.
By calling the Reload method in described page object, notice webkit browser refreshes the content of pages in this page window.
By calling the GoBack method in described page object, notice webkit browser carries out page back operation in this page window;
By calling the GoForward method in described page object, notice webkit browser carries out page forward operation in this page window.
By calling the Destroy method in described page object, this page object destroyed by notice webkit browser.
When third party software realizes as above after interface, the relevant readjustment of webkit browser will by corresponding function call notice third party software.Concrete workflow is as shown in Figure 2:
With reference to Fig. 2, it is the process flow diagram based on the striding course Web browser method of webkit core described in another embodiment of the application.
Step 201, third party software realizes WebAppUIDelegate interface;
Described WebAppUIDelegate interface is the external interface that dll service is supplied to third party software use, as this interface of preferred embodimentspecifically groundprovide following interface function:
Being described as follows of each interface function:
OnHandleAccelerator function provides shortcut callback method, and notice third party software user presses one group of shortcut;
OnOpenURL function provides opens page callback method, and notice third party software user attempts unlatching new page, and third party software can allow or forbid;
OnTitleChange function provides title (title) to change callback method, and the current window title word of notice third party software there occurs change;
OnStatusTextChange function provides status bar to change callback method, and the current Window state hurdle word of notice third party software there occurs change;
OnNavigateComplete2 function provides navigation complete callback method, and notice third party software has navigated;
OnNavigateError function provides navigational error callback method, notice third party software navigational error;
OnQuit function provides and exits callback method, and notice third party software user closes current page or plays up and serves because certain reason has exited;
OnUpdateTargetUrl function provides target url to upgrade callback method, and the current target url of notice third party software there occurs change;
OnGetCurrentUrlRsp function provides and obtains current url callback method, the url that notice third party software is current;
OnCrashReport function provides collapse callback method, and the service of notice third party software page access there occurs collapse;
OnReportMainWindow function provides main window callback method, the main window of notice third party software current page;
OnWebAppJsCall function provides js callback method, and notice third party software, page request performs an outside js and calls.
Step 202, by the registry key of agreement, finds the path at Webapp_proxy.dll place;
Wherein, described Webapp_proxy.dll is dynamic link library, i.e. dll service;
Step 203, loads Webapp_proxy.dll;
If load successfully, namely continue step 204; If load unsuccessfully, then forward abnormality processing to;
Step 204, uses GetProcAddress function to obtain GetWebAppFactory method;
Wherein, described GetWebAppFactory method is factory method;
Step 205, calls GetWebAppFactory method and creates factory's object;
The factory's object created is WebAppFactory;
Step 206, the CreateWebAppTab method calling factory's object creates a Shipping Options Page object;
Wherein, described Shipping Options Page object is WebAppTabWrapper;
Step 207, constructs a WebAppCreateParams object, and the url of populated target and the window handle for holding the page, then by the Create method of this object as parameter call Shipping Options Page object, notice webkit kernel creates the page;
Wherein, described WebAppCreateParams object is parameter object;
Webkit kernel creates a new page window according to the url of target and window handle, and completes playing up and representing of the page;
Step 208, if the network environment of machine is normal and url correct, a new page window will become the subwindow of WebAppCreateParams, and complete playing up and representing work of the page, and user can be normally mutual with this page.
Based on the flow process of Fig. 2, multiple third party software can load this interface dll simultaneously, completes page browsing, is independent of each other each other, invisible mutually.The upgrading of Webkit core and bug repair, and the upgrading audit function of being served by dll completes.The operation not affecting legacy version when carrying out redaction update uses, completely invisible to third party software.Third party software obtains new service release dll path by certain project of accessing registration table, uses after loading.Further, new and old edition can use simultaneously.
In sum, the embodiment of the present application is the interface that WebKit kernel derives WebAppTabWrapper object, after third party software obtains WebAppTabWrapper object, by calling the Create method of this object, notice webkit browser creates a new page.The http request of carrying out in web page browsing, resolve return data, perform js, set up dom tree, complete finally play up wait specific works all invisible to third party software, simplify third party software technology use difficulty.Third party software and real page access, parsing, rendering module are operated in different process, namely achieve the access of striding course, isolate and well protect third party software not by the impact of page unsafe factor between process.
Wherein, described " isolating between process " comprise two layers of meaning;
One, dll service is mutually isolated with webkit kernel, is operated in different process respectively;
Its two, mutually isolated between third party software, each third party software independent loads dll service can complete page browsing, does not interfere with each other each other.
And, web page access service based on webkit core is not limited to version and the operating system itself of Microsoft windows operating system, at non-windows platform, also can work in mode similar as above, simplify the difficulty that third party software carries out cross-platform version exploitation.
In a word, present applicant proposes a kind of striding course uses webkit core to realize the method for web page browsing, the Webbrowser kernel version that can solve IE is well backward, security is weak, do not support the problem of non-Microsoft platform, and the problem such as the technical threshold directly using webkit core to cause is high, scaling difficulty, installation kit are excessive.
And, can simplify third party software uses web page browsing to increase the development difficulty of software function at windows platform and non-windows platform, make any third party software can use web page access service provided by the invention, accession page easily, strengthen software users and experience.
It should be noted that, for aforesaid embodiment of the method, in order to simple description, therefore it is all expressed as a series of combination of actions, but those skilled in the art should know, the application is not by the restriction of described sequence of movement, because according to the application, some step can adopt other orders or carry out simultaneously.Secondly, those skilled in the art also should know, the embodiment described in instructions all belongs to preferred embodiment, and involved action might not be that the application is necessary.
Based on the explanation of said method embodiment, present invention also provides corresponding web page browsing device embodiment.
With reference to Fig. 3, it is the structural drawing of a kind of striding course web page browsing device based on webkit core described in the embodiment of the present application.
Described web page browsing device can comprise with lower interface and module:
Self defined interface 10 and load-on module 20, described load-on module 20 loads dynamic link library by self defined interface 10;
First calling module 30, for calling described dynamic link library to create page object;
Second calling module 40, for the page creation method by calling in described page object, notice webkit browser creates page window, and completes playing up and representing of content of pages in this page window.
Wherein, described first calling module 30 specifically can comprise following submodule:
Factory method obtains submodule, for calling described dynamic link library to obtain factory method;
Factory's Object Creation submodule, creates factory's object for calling described factory method;
Page object creates submodule, for calling described factory Object Creation page object.
Wherein, described second calling module 40 specifically can comprise following submodule:
Constructor module, for constructing variable object, and fills network address and the window handle of target access in described parameter object;
Parameter assignment submodule, for passing to the page creation method in described page object as parameter value using the parameter object after filling;
Page creation submodule, for by the page creation method after call parameters assignment, notice webkit browser creates page window, and completes playing up and representing of content of pages in this page window.
Wherein, described load-on module 20 specifically can comprise following submodule:
Registry access submodule, for accessing registration table by self defined interface;
Path searching submodule, for searching the store path of dynamic link library described in registration table;
Load submodule, for loading described dynamic link library from described store path.
In another embodiment, as shown in Figure 4:
Preferably, described device can also comprise:
Navigation calling module 50, for the Navigate method by calling in described page object, notice webkit browser carries out page jumping operation in this page window.
Preferably, described device can also comprise:
Stop calling module 60, for the Stop method by calling in described page object, notice webkit browser stops playing up and representing of content of pages in this page window.
Preferably, described device can also comprise:
Refresh calling module 70, for the Reload method by calling in described page object, notice webkit browser refreshes the content of pages in this page window.
Preferably, described device can also comprise:
Page back calling module 80, for the GoBack method by calling in described page object, notice webkit browser carries out page back operation in this page window;
Page advance calling module 90, for the GoForward method by calling in described page object, notice webkit browser carries out page forward operation in this page window.
Preferably, described device can also comprise:
Destroy calling module 100, for the Destroy method by calling in described page object, this page object destroyed by notice webkit browser.
For the web page browsing device embodiment shown in above-mentioned Fig. 3 and Fig. 4, due to itself and embodiment of the method basic simlarity, so description is fairly simple, relevant part illustrates see the part of embodiment of the method shown in Fig. 1 and Fig. 2.
Based on above content, present invention also provides the embodiment that another sing on web kit kernel provides the method and apparatus of web page browsing, be described respectively by Fig. 5 and Fig. 6 below.
With reference to shown in Fig. 5, it is the process flow diagram based on the striding course Web browser method of webkit core described in another embodiment of the application.
Step 501, arranges the page object export interface of a Webkit kernel;
Step 502, starts Webkit kernel in the first detached process;
Step 503, calls the page object that described page object export interface creates sing on web kit kernel in the second detached process;
Described first detached process and the second detached process are two processes, and in other words, browsing with the operation of Webkit kernel of the page is separate, is independent of each other.
Concrete, call the page object that described page object export interface creates sing on web kit kernel, following sub-step can be comprised:
Sub-step 1, obtains the factory method that described page object export interface provides;
Sub-step 2, calls described factory method and creates factory's object;
Sub-step 3, calls the page object of described factory Object Creation sing on web kit kernel.
Step 504, calls the Weblkit kernel in described first detached process by described page object, and the page browsing operation and the content of pages that carry out sing on web kit kernel load.
Described second detached process realizes the communication with Webkit kernel in the first detached process by calling described page object, and concrete, the described Weblkit kernel called by described page object in described first detached process, can comprise following sub-step:
Sub-step 1, constructing variable object, and network address and the window handle of in described parameter object, filling target access;
Sub-step 2, passes to as parameter value the page creation method that described page object provides using the parameter object after filling;
Sub-step 3, by the page creation method after call parameters assignment, realizes communicating with the Weblkit kernel in described detached process.
Second detached process is called in Weblkit to endorse and is realized page browsing operation and content of pages loading, describes concrete content of pages loading procedure below respectively in detail, and has which page browsing operation.
1, content of pages loads
Concrete, call the Weblkit kernel in described first detached process by described page object, the content of pages carrying out sing on web kit kernel loads, and specifically can comprise following process:
The page creation method provided by described page object, the Weblkit kernel called in described first detached process creates page window;
The content of pages carrying out sing on web kit kernel in this page window loads.
Further, in the second detached process, described content of pages loading is carried out;
Further, described loading comprises following treatment step:
1) content of pages is obtained according to the http request received;
2) content of pages got is resolved;
3) js operation is performed to analysis result;
4) dom tree is set up according to js operating result;
5) dom tree is played up and represented.
2, page browsing operation
Described page browsing operation can comprise:
Page jump, and/or page window moves, and/or the page stops loading, and/or, page furbishing, and/or, the advance of the page, retrogressing, and/or the page is destroyed.
Further:
For page jumping operation, the Navigate method provided by described page object, the Weblkit kernel called in described detached process carries out page jumping operation in this page window;
Move operation for page window, the Reposition method provided by described page object, the Weblkit kernel called in described detached process informs that described page window is followed the movement of external windows and moves;
Stop load operation for the page, the Stop method provided by described page object, the Weblkit kernel called in described detached process stops at load page content in this page window;
For page furbishing operation, the Reload method provided by described page object, the Weblkit kernel device called in described detached process refreshes the content of pages in this page window;
For the forward operation of the page, the GoBack method provided by described page object, the Weblkit kernel called in described detached process carries out page back operation in this page window;
For the back operation of the page, the GoForward method provided by described page object, the Weblkit kernel called in described detached process carries out page forward operation in this page window;
Destroy operation for the page, the Destroy method provided by described page object, the Weblkit kernel called in described detached process destroys this page object.
Based on the content of Fig. 5 embodiment, preferably, provide the page object export interface of Webkit kernel by dynamic link library (dll service), this export interface be dynamic link library provide for the internal interface with Webkit kernel communication.In addition, described dynamic link library additionally provides the external interface for communicating with third party software.
Further, before the second detached process calls described page object export interface establishment page object, following process can also be comprised:
Access registration table, searches the store path of dynamic link library described in registration table;
Described dynamic link library is loaded from described store path.
Preferably, also following process can be comprised:
Upgrade the version of described dynamic link library after Webkit kernel upgrading, and the dynamic link library of redaction is saved in the store path being different from legacy version.
And multiple second detached process can load same described dynamic link library from same store path.
That is: the operation not affecting legacy version when carrying out redaction update uses, and new and old edition can use simultaneously, completely invisible to third party software.Further, multiple third party software can realize the web page browsing of sing on web kit kernel simultaneously.
With reference to shown in Fig. 6, it is the structural drawing of a kind of striding course web page browsing device based on webkit core described in another embodiment of the application.
Described sing on web kit kernel provides the device of web page browsing, specifically can comprise with lower module:
Interface derives module 61, for arranging the page object export interface of a Webkit kernel;
Kernel starts module 62, for starting Webkit kernel in the first detached process;
First calling module 63, creates the page object of sing on web kit kernel for calling described page object export interface in the second detached process; And
Second calling module 64, for being called the Weblkit kernel in described first detached process by described page object, the page browsing operation and the content of pages that carry out sing on web kit kernel load.
Preferably, described first calling module 63 specifically can comprise:
Factory method obtains submodule, for obtaining the factory method that described page object export interface provides;
Factory's Object Creation submodule, creates factory's object for calling described factory method;
Page object creates submodule, for calling the page object of described factory Object Creation sing on web kit kernel.
Preferably, the page creation method that described second calling module 64 provides by described page object, the Weblkit kernel called in described first detached process creates page window, and the content of pages carrying out sing on web kit kernel in this page window loads.
Preferably, in the second detached process, carry out described content of pages loading,
Described loading comprises:
Content of pages is obtained according to the http request received;
The content of pages got is resolved;
Js operation is performed to analysis result;
Dom tree is set up according to js operating result;
Dom tree is played up and represented.
Preferably, described page browsing operation comprises:
Page jump, and/or page window moves, and/or the page stops loading, and/or, page furbishing, and/or, the advance of the page, retrogressing, and/or the page is destroyed.
Preferably, described second calling module 64 specifically can comprise:
Submodule is called in navigation, and for the Navigate method provided by described page object, the Weblkit kernel called in described detached process carries out page jumping operation in this page window;
And/or move and call submodule, for the Reposition method provided by described page object, the Weblkit kernel called in described detached process informs that described page window is followed the movement of external windows and moves;
And/or stop calling submodule, for the Stop method provided by described page object, the Weblkit kernel called in described detached process stops at load page content in this page window;
And/or refresh and call submodule, for the Reload method provided by described page object, the Weblkit kernel device called in described detached process refreshes the content of pages in this page window;
And/or page back calls submodule, for the GoBack method provided by described page object, the Weblkit kernel called in described detached process carries out page back operation in this page window;
And/or the page advances and calls submodule, and for the GoForward method provided by described page object, the Weblkit kernel called in described detached process carries out page forward operation in this page window;
And/or destroy and call submodule, for the Destroy method provided by described page object, the Weblkit kernel called in described detached process destroys this page object.
Preferably, described second calling module 64 also can comprise:
Constructor module, for constructing variable object, and fills network address and the window handle of target access in described parameter object;
Parameter assignment submodule, for passing to as parameter value the page creation method that described page object provides using the parameter object after filling;
Page creation submodule, for by the page creation method after call parameters assignment, realizes communicating with the Weblkit kernel in described detached process.
Preferably, described interface derives module 61 provides Webkit kernel page object export interface by dynamic link library.
Preferably, described device also can comprise:
Path searching module 65, for accessing registration table, searches the store path of dynamic link library described in registration table;
Load-on module 66, for loading described dynamic link library from described store path.
Preferably, described device also can comprise:
Update module 67, for upgrading the version of described dynamic link library after Webkit kernel upgrading, and is saved in the store path being different from legacy version by the dynamic link library of redaction.
Preferably, multiple second detached process is by loading same described dynamic link library from same store path.
For the web page browsing device embodiment shown in above-mentioned Fig. 6, due to itself and embodiment of the method basic simlarity, so description is fairly simple, the part of relevant part embodiment of the method shown in Figure 5 illustrates.
Each embodiment in this instructions all adopts the mode of going forward one by one to describe, and what each embodiment stressed is the difference with other embodiments, between each embodiment identical similar part mutually see.
On the device (or multiple device) that the embodiment of the present application can be embodied in any support graphics process, internet content captures and play up.These devices include but not limited to personal computer, cluster server, mobile phone, workstation, embedded system, game machine, TV, Set Top Box, or any other supports the calculation element that computer graphical and content show.These devices can include but not limited to have execution and one or more processor of save command and the device of storer.These devices can comprise software, firmware and hardware.Software can comprise one or more application program and operating system.Hardware can include but not limited to processor, storer and display.
Those skilled in the art should understand, the embodiment of the application can be provided as method, system or computer program.Therefore, the application can adopt the form of complete hardware embodiment, completely software implementation or the embodiment in conjunction with software and hardware aspect.And the application can adopt in one or more form wherein including the upper computer program implemented of computer-usable storage medium (including but not limited to magnetic disk memory, CD-ROM, optical memory etc.) of computer usable program code.
The application describes with reference to according to the process flow diagram of the method for the embodiment of the present application, equipment (system) and computer program and/or block scheme.Should understand can by the combination of the flow process in each flow process in computer program instructions realization flow figure and/or block scheme and/or square frame and process flow diagram and/or block scheme and/or square frame.These computer program instructions can being provided to the processor of multi-purpose computer, special purpose computer, Embedded Processor or other programmable data processing device to produce a machine, making the instruction performed by the processor of computing machine or other programmable data processing device produce device for realizing the function of specifying in process flow diagram flow process or multiple flow process and/or block scheme square frame or multiple square frame.
These computer program instructions also can be stored in can in the computer-readable memory that works in a specific way of vectoring computer or other programmable data processing device, the instruction making to be stored in this computer-readable memory produces the manufacture comprising command device, and this command device realizes the function of specifying in process flow diagram flow process or multiple flow process and/or block scheme square frame or multiple square frame.
These computer program instructions also can be loaded in computing machine or other programmable data processing device, make on computing machine or other programmable devices, to perform sequence of operations step to produce computer implemented process, thus the instruction performed on computing machine or other programmable devices is provided for the step realizing the function of specifying in process flow diagram flow process or multiple flow process and/or block scheme square frame or multiple square frame.
A kind of sing on web kit kernel provided the application above provides method and the device of web page browsing, be described in detail, apply specific case herein to set forth the principle of the application and embodiment, the explanation of above embodiment is just for helping method and the core concept thereof of understanding the application; Meanwhile, for one of ordinary skill in the art, according to the thought of the application, all will change in specific embodiments and applications, in sum, this description should not be construed as the restriction to the application.

Claims (10)

1. sing on web kit kernel provides a method for web page browsing, it is characterized in that, comprising:
The page object export interface of one Webkit kernel is set;
Webkit kernel is started in the first detached process;
The page object that described page object export interface creates sing on web kit kernel is called in the second detached process; And
Call the Weblkit kernel in described first detached process by described page object, the page browsing operation and the content of pages that carry out sing on web kit kernel load.
2. method according to claim 1, is characterized in that, described in call the page object that described page object export interface creates sing on web kit kernel, comprising:
Obtain the factory method that described page object export interface provides;
Call described factory method and create factory's object;
Call the page object of described factory Object Creation sing on web kit kernel.
3. method according to claim 1, is characterized in that, the described Weblkit kernel called by described page object in described first detached process, and the content of pages carrying out sing on web kit kernel loads, and comprising:
The page creation method provided by described page object, the Weblkit kernel called in described first detached process creates page window;
The content of pages carrying out sing on web kit kernel in this page window loads.
4. according to the method that claim 3 is stated, it is characterized in that, in the second detached process, carry out described content of pages loading,
Described loading comprises:
Content of pages is obtained according to the http request received;
The content of pages got is resolved;
Js operation is performed to analysis result;
Dom tree is set up according to js operating result;
Dom tree is played up and represented.
5. method according to claim 3, is characterized in that, described page browsing operation comprises:
Page jump, and/or page window moves, and/or the page stops loading, and/or, page furbishing, and/or, the advance of the page, retrogressing, and/or the page is destroyed.
6. method according to claim 5, is characterized in that, the described Weblkit kernel called by described page object in described detached process, carries out the page browsing operation of sing on web kit kernel, comprising:
The Navigate method provided by described page object, the Weblkit kernel called in described detached process carries out page jumping operation in this page window;
And/or, the Reposition method provided by described page object, the Weblkit kernel called in described detached process informs that described page window is followed the movement of external windows and moves;
And/or, the Stop method provided by described page object, the Weblkit kernel called in described detached process stops at load page content in this page window;
And/or, the Reload method provided by described page object, the Weblkit kernel device called in described detached process refreshes the content of pages in this page window;
And/or, the GoBack method provided by described page object, the Weblkit kernel called in described detached process carries out page back operation in this page window;
And/or, the GoForward method provided by described page object, the Weblkit kernel called in described detached process carries out page forward operation in this page window;
And/or the Destroy method provided by described page object, the Weblkit kernel called in described detached process destroys this page object.
7., according to the arbitrary described method of claim 1 to 6, it is characterized in that, the described Weblkit kernel called by described page object in described first detached process, being comprised:
Constructing variable object, and network address and the window handle of in described parameter object, filling target access;
Parameter object after filling is passed to as parameter value the page creation method that described page object provides;
By the page creation method after call parameters assignment, realize communicating with the Weblkit kernel in described detached process.
8. method according to claim 1, is characterized in that, the described page object export interface arranging a Webkit kernel, comprising:
The page object export interface of Webkit kernel is provided by dynamic link library.
9. method according to claim 8, is characterized in that, before calling described page object export interface, also comprises:
Access registration table, searches the store path of dynamic link library described in registration table;
Described dynamic link library is loaded from described store path.
10. sing on web kit kernel provides a device for web page browsing, it is characterized in that, comprising:
Interface derives module, for arranging the page object export interface of a Webkit kernel;
Kernel starts module, for starting Webkit kernel in the first detached process;
First calling module, creates the page object of sing on web kit kernel for calling described page object export interface in the second detached process; And
Second calling module, for being called the Weblkit kernel in described first detached process by described page object, the page browsing operation and the content of pages that carry out sing on web kit kernel load.
CN201510145521.0A 2012-05-07 2012-05-07 A kind of method and device that web page browsing is provided based on Webkit kernels Active CN104731598B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510145521.0A CN104731598B (en) 2012-05-07 2012-05-07 A kind of method and device that web page browsing is provided based on Webkit kernels

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210139290.9A CN102681850B (en) 2012-05-07 2012-05-07 Method and device for realizing web browsing based on Webkit kernel
CN201510145521.0A CN104731598B (en) 2012-05-07 2012-05-07 A kind of method and device that web page browsing is provided based on Webkit kernels

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201210139290.9A Division CN102681850B (en) 2012-05-07 2012-05-07 Method and device for realizing web browsing based on Webkit kernel

Publications (2)

Publication Number Publication Date
CN104731598A true CN104731598A (en) 2015-06-24
CN104731598B CN104731598B (en) 2018-05-04

Family

ID=53455517

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510145521.0A Active CN104731598B (en) 2012-05-07 2012-05-07 A kind of method and device that web page browsing is provided based on Webkit kernels

Country Status (1)

Country Link
CN (1) CN104731598B (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105607928A (en) * 2015-12-18 2016-05-25 北京奇虎科技有限公司 Supporting method for browser kernel and webpage display method and apparatus
CN106371757A (en) * 2016-09-23 2017-02-01 吉林省联宇合达科技有限公司 Method for opening hyperlink in new webpage window via clicking in touch all-in-one machine
CN106528733A (en) * 2016-10-27 2017-03-22 合网络技术(北京)有限公司 Webpage display method and apparatus
WO2018077085A1 (en) * 2016-10-28 2018-05-03 腾讯科技(深圳)有限公司 Application processing method, device and storage medium
CN108108205A (en) * 2016-11-25 2018-06-01 腾讯科技(深圳)有限公司 Application page surface treatment method and apparatus
CN108399119A (en) * 2017-02-06 2018-08-14 腾讯科技(深圳)有限公司 Browse serves kernel engine data processing, automatic test method and apparatus

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101414257A (en) * 2008-11-13 2009-04-22 成都市华为赛门铁克科技有限公司 Method, device and terminal for implementing software interface
CN102346780A (en) * 2011-10-18 2012-02-08 北龙中网(北京)科技有限责任公司 Method and device for acquiring webpage address
CN102346781A (en) * 2011-10-18 2012-02-08 北龙中网(北京)科技有限责任公司 Webpage access control method and device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101414257A (en) * 2008-11-13 2009-04-22 成都市华为赛门铁克科技有限公司 Method, device and terminal for implementing software interface
CN102346780A (en) * 2011-10-18 2012-02-08 北龙中网(北京)科技有限责任公司 Method and device for acquiring webpage address
CN102346781A (en) * 2011-10-18 2012-02-08 北龙中网(北京)科技有限责任公司 Webpage access control method and device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHARLES REIS等: ""Isolating web programs in modern browser architectures"", 《EUROSYS "09 PROCEEDINGS OF THE 4TH ACM EUROPEAN CONFERENCE ON COMPUTER SYSTEMS》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105607928A (en) * 2015-12-18 2016-05-25 北京奇虎科技有限公司 Supporting method for browser kernel and webpage display method and apparatus
CN105607928B (en) * 2015-12-18 2019-03-01 北京奇虎科技有限公司 For the support method of browser kernel and the display methods and device of webpage
CN106371757A (en) * 2016-09-23 2017-02-01 吉林省联宇合达科技有限公司 Method for opening hyperlink in new webpage window via clicking in touch all-in-one machine
CN106528733A (en) * 2016-10-27 2017-03-22 合网络技术(北京)有限公司 Webpage display method and apparatus
WO2018077085A1 (en) * 2016-10-28 2018-05-03 腾讯科技(深圳)有限公司 Application processing method, device and storage medium
CN108108205A (en) * 2016-11-25 2018-06-01 腾讯科技(深圳)有限公司 Application page surface treatment method and apparatus
CN108108205B (en) * 2016-11-25 2019-07-05 腾讯科技(深圳)有限公司 Application page surface treatment method and apparatus
US11119812B2 (en) 2016-11-25 2021-09-14 Tencent Technology (Shenzhen) Company Limited Method and device for processing application program page according to a common interface container
CN108399119A (en) * 2017-02-06 2018-08-14 腾讯科技(深圳)有限公司 Browse serves kernel engine data processing, automatic test method and apparatus
CN108399119B (en) * 2017-02-06 2021-05-25 腾讯科技(深圳)有限公司 Method and device for data processing and automatic testing of browsing service kernel engine

Also Published As

Publication number Publication date
CN104731598B (en) 2018-05-04

Similar Documents

Publication Publication Date Title
CN102681850B (en) Method and device for realizing web browsing based on Webkit kernel
US20190138283A1 (en) Methods and systems for providing a user interface
Huang et al. Programming situational mobile web applications with cloud-mobile convergence: an internetware-oriented approach
US10209968B2 (en) Application compiling
CN104731598A (en) Method and device for providing web browsing based on Webkit kernel
CN110651252A (en) Content management system extensions
US20110143741A1 (en) System and method for cross-platform applications on a wireless phone
CN103443763B (en) Comprise to connect the ISA Bridge of the support called rewriteeing virtual function
CN107203419A (en) Intermodule call method, apparatus and system in application program
KR20170003578A (en) Code service for language-independent dispatch
CN102929656A (en) Method for using ActiveX plug-in in browser, and client
US20130227388A1 (en) Persistent Storage of Profile Data for Script Compilation
US20190079813A1 (en) System and method for encapsulating computer communications
US9756149B2 (en) Machine-specific instruction set translation
US20040157593A1 (en) Modularization for J2ME platform implementation
CN112988175A (en) Cross-platform application installation package generation method, device, medium and electronic equipment
KR20100087860A (en) A mobile web application framework, mobile terminal, and, a storage medium
Layka Learn java for web development: Modern java web development
Haja et al. Location, proximity, affinity–the key factors in FaaS
Nusairat Beginning JBoss Seam: From Novice to Professional
KR20140049824A (en) System for remotely debugging an application programming and controlling method therefor
Donley et al. Web application testing challenges
Alamari Web Browser as a Computation Container
US20060069759A1 (en) Programmatic server page re-tooling
WO2013141786A1 (en) Methods of distributing a computer program product, and a computer system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220721

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.