Thank you all for great answers.

I have lot to chew and need to experiment lot of things. But its a very good start.

Excited with the prospects of moving new platform.

Niranjan
On 12/13/2013 12:24 AM, Carlos Garcia Campos wrote:
El jue, 12-12-2013 a las 12:50 -0800, Niranjan Rao escribió:
Hi,

Thank you for the response. Very helpful.

I am trying to understand web process separation and how it impacts our
code. Today we spawn multiple separate processes with web view embedded
and drive it. No data is shared between these processes.

With new architecture will this still be the case? Can I have multiple
processes running and still maintain data isolation between these
processes?
Yes, you can continue doing the same thing, for every process you spawn
you will have a web process spawned that you can set up with different
cookies file, icons dir, etc.

With WebKit2 it's also possible to share a common UI process with
multiple web processes that don't share anything, using multiple web
contexts, but we don't allow it yet in the GTK+ API, because we haven't
found a use case for that. If you need it, we will add it to the API.

  Some of the data we get from sites visited is session based
and its important for us not to mix sessions when we are visiting same
sites using two different processes. We do especially care about cookies
and not mixing it. For current release we setup separate cookie jar file
for each process. I know they still share some HTML5 data, but not many
sites are using those features today.
You can handle those things in the web context API, see

http://webkitgtk.org/reference/webkit2gtk/stable/WebKitWebContext.html

webkit_web_context_set_disk_cache_directory()
webkit_web_context_set_web_extensions_directory()
webkit_web_context_set_favicon_database_directory()
webkit_web_context_get_cookie_manager() +
webkit_cookie_manager_set_persistent_storage()

If there's anything missing, please file a bug report.

Regards,

Niranjan

On 12/12/2013 11:42 AM, Carlos Garcia Campos wrote:
El jue, 12-12-2013 a las 11:25 -0800, Niranjan Rao escribió:
Greetings,
Hi,

I am trying scope efforts required to migrate to Webkit2 from Webkit1. I
came across blog entry by Carlos Garcia Campos at
http://blogs.igalia.com/carlosgc/2013/09/10/webkit2gtk-web-process-extensions/,
which answered some of questions/problems I had with newer release, it
raised some new questions as I started digging into API.

Currently we use webkit 2.0.1 release in Webkit1 mode. We would like to
move latest and greatest to use some new useful features (big thank you
for these features).

My application is in Java using JNI calls to webkit. Its a scraping
application for all practical purposes where code "understands" contents
of the page and then decides which field needs to filled, selected or
clicked. In other words it drives browser window in similar way a human
will drive, but decisions coming from code which involves heavy DOM
access and manipulation.

1. How long webkit1 support will be active? Will there be a cutoff point
that says Webkit1 will not be supported after this point
WebKit1 is in maintenance mode, we only fix bugs and some minor API
additions like settings and all in a very low priority. But we don't
have plans to remove WebKit1 in the short term.

2. Can  Webkit2 be used by python libraries using introspection? While
not necessary for our code, it makes life easier to do quick test in python.
Yes, with some limitations. Web Extensions can't be used for now. We are
not generating the introspection files for the web extensions API (I
plan to fix that soon), but the main problem is that web extensions are
a shared library loaded at run time by the web process, so I don't know
how to make that work in python.

3. New window - could not locate equivalent of "create-web-view" signal
so far. If a page needs to have new window, how do I handle this?
http://webkitgtk.org/reference/webkit2gtk/stable/WebKitWebView.html#WebKitWebView-create

5. My code does lot of DOM manipulation. We have  a driver thread which
channels DOM requests to GUI thread using gtk_idle_add. With new
architecture with extensions and processes, do we need to change this
strategy?
You need to move all that code to a web extension, and use a different
way to communicate with the UI process. In Epiphany, we use D-Bus for
such communication, see:

https://git.gnome.org/browse/epiphany/tree/embed/web-extension

6. WebKitWebPage::send-request - what exactly is treated as resource?
Everything that is loaded by the frame loader, CSS, images, scripts,
fonts, etc.

Any thing that will be fetched from remote server like images/css etc?
Yes.

What about pdf or other files than browser won't display.
This signal is emitted before the request is actually sent to the
server, so that it happens before the policy checker decides whether to
handle that in the web view or not.

7. Any other notes/warnings your care to add
Feel free to ask any other question :-)

Appreciate the great work and new functionality,

Niranjan
Regards,


_______________________________________________
webkit-gtk mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-gtk

Reply via email to