From js at lastlog.de Tue Jun 2 17:02:00 2015 From: js at lastlog.de (Joachim Schiele) Date: Wed, 03 Jun 2015 02:02:00 +0200 Subject: [webkit-gtk] webkit 2.8.3 load-failed Message-ID: hi, i've packaged webkitgtk-2.8.3 for nixos and i'm using it with the gowebkit2 from github.com/sourcegraph/go-webkit2 gowebkit2 requires gojs and gotk3 where both of these pass their respective go unit tests. === question === i'm getting this error: [nix-shell:~/Desktop/projects/webloop]$ go run gowebkit2.go ** (gowebkit2:20348): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files ** (WebKitWebProcess:20355): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files Load finished. Title: "Index of /" URI: http://localhost/ i don't really know how to debug this. anyone an idea how i could get started? is this a go specific issue? thanks. however, the webserver is working from which i query: [nix-shell:~/Desktop/projects/webloop]$ curl localhost Index of /

Index of /

[ICO]NameLast modifiedSizeDescription


package main import ( "fmt" "github.com/conformal/gotk3/glib" "github.com/conformal/gotk3/gtk" "github.com/sourcegraph/go-webkit2/webkit2" "github.com/sqs/gojs" "runtime" ) func main() { gtk.Init(nil) runtime.LockOSThread() hasFailed := 0 webView := webkit2.NewWebView() defer webView.Destroy() webView.Connect("load-failed", func() { fmt.Println("Load failed.") hasFailed = 1 }) webView.Connect("load-changed", func(_ *glib.Object, loadEvent webkit2.LoadEvent) { //if hasFailed == 0 { switch loadEvent { //case webkit2.LoadStarted: // fmt.Println("Load started") //case webkit2.LoadRedirected: // fmt.Println("Load redirected") case webkit2.LoadFinished: fmt.Println("Load finished.") fmt.Printf("Title: %q\n", webView.Title()) fmt.Printf("URI: %s\n", webView.URI()) webView.RunJavaScript("window.location.hostname", func(val *gojs.Value, err error) { if err != nil { fmt.Println("JavaScript error.") } else { fmt.Printf("Hostname (from JavaScript): %q\n", val) } }) gtk.MainQuit() } //} }) glib.IdleAdd(func() bool { webView.LoadURI("http://localhost") //webView.LoadURI("http://www.lastlog.de/") return false }) gtk.Main() } === my configuration: === Build configuration: Enable debugging (slow) : no Compile with debug symbols (slow) : no Enable GCC build optimization : yes Code coverage support : no Optimized memory allocator : yes Accelerated rendering backend : OpenGL (gl, egl, glx) Geolocation backend : none Features: ======= WebKit1 support : yes WebKit2 support : yes Accelerated Compositing : yes Accelerated 2D canvas : yes Battery API support : no Gamepad support : no Geolocation support : no HTML5 video element support : yes JIT compilation : auto FTL JIT compilation : no Opcode stats : no SVG fonts support : yes SVG support : yes Spellcheck support : yes Credential storage support : yes Web Audio support : yes WebGL : yes GTK+ configuration: GTK+ version : 3.0 GDK targets : x11, wayland Introspection support : yes Generate documentation : no http://webkitgtk.org/reference/webkit2gtk/stable/WebKitWebView.html#WebKitWebView-load-failed hope for help! best wishes, joachim From nhrdls at gmail.com Tue Jun 2 17:21:52 2015 From: nhrdls at gmail.com (Niranjan Rao) Date: Tue, 02 Jun 2015 17:21:52 -0700 Subject: [webkit-gtk] webkit 2.8.3 load-failed In-Reply-To: References: Message-ID: <556E48A0.1090204@gmail.com> Not really expert, but perhaps this might help. I faced similar problems and this link helped me. https://askubuntu.com/questions/432604/couldnt-connect-to-accessibility-bus On 06/02/2015 05:02 PM, Joachim Schiele wrote: > hi, > > i've packaged webkitgtk-2.8.3 for nixos and i'm using it with the > gowebkit2 from github.com/sourcegraph/go-webkit2 > > gowebkit2 requires gojs and gotk3 where both of these pass their > respective go unit tests. > > === question === > > i'm getting this error: > > [nix-shell:~/Desktop/projects/webloop]$ go run gowebkit2.go > > ** (gowebkit2:20348): WARNING **: Error retrieving accessibility bus > address: org.freedesktop.DBus.Error.ServiceUnknown: The name > org.a11y.Bus was not provided by any .service files > > ** (WebKitWebProcess:20355): WARNING **: Error retrieving accessibility > bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name > org.a11y.Bus was not provided by any .service files > Load finished. > Title: "Index of /" > URI: http://localhost/ > > > i don't really know how to debug this. anyone an idea how i could get > started? is this a go specific issue? > > thanks. > > > > > > > however, the webserver is working from which i query: > > [nix-shell:~/Desktop/projects/webloop]$ curl localhost > > > > Index of / > > >

Index of /

> > > > >
alt="[ICO]">Name href="?C=M;O=A">Last modified href="?C=S;O=A">Size href="?C=D;O=A">Description


> > > > > > > package main > > import ( > "fmt" > "github.com/conformal/gotk3/glib" > "github.com/conformal/gotk3/gtk" > "github.com/sourcegraph/go-webkit2/webkit2" > "github.com/sqs/gojs" > "runtime" > ) > > func main() { > gtk.Init(nil) > runtime.LockOSThread() > hasFailed := 0 > > webView := webkit2.NewWebView() > defer webView.Destroy() > > webView.Connect("load-failed", func() { > fmt.Println("Load failed.") > hasFailed = 1 > }) > webView.Connect("load-changed", func(_ *glib.Object, loadEvent > webkit2.LoadEvent) { > //if hasFailed == 0 { > switch loadEvent { > //case webkit2.LoadStarted: > // fmt.Println("Load started") > //case webkit2.LoadRedirected: > // fmt.Println("Load redirected") > case webkit2.LoadFinished: > fmt.Println("Load finished.") > fmt.Printf("Title: %q\n", webView.Title()) > fmt.Printf("URI: %s\n", webView.URI()) > webView.RunJavaScript("window.location.hostname", > func(val *gojs.Value, err error) { > if err != nil { > fmt.Println("JavaScript error.") > } else { > fmt.Printf("Hostname (from JavaScript): %q\n", val) > } > }) > gtk.MainQuit() > } > //} > }) > > glib.IdleAdd(func() bool { > webView.LoadURI("http://localhost") > //webView.LoadURI("http://www.lastlog.de/") > return false > }) > > gtk.Main() > } > > > > > === my configuration: === > > Build configuration: > Enable debugging (slow) : no > Compile with debug symbols (slow) : no > Enable GCC build optimization : yes > Code coverage support : no > Optimized memory allocator : yes > Accelerated rendering backend : OpenGL (gl, > egl, glx) > Geolocation backend : none > > Features: > ======= > WebKit1 support : yes > WebKit2 support : yes > Accelerated Compositing : yes > Accelerated 2D canvas : yes > Battery API support : no > Gamepad support : no > Geolocation support : no > HTML5 video element support : yes > JIT compilation : auto > FTL JIT compilation : no > Opcode stats : no > SVG fonts support : yes > SVG support : yes > Spellcheck support : yes > Credential storage support : yes > Web Audio support : yes > WebGL : yes > > GTK+ configuration: > GTK+ version : 3.0 > GDK targets : x11, wayland > Introspection support : yes > Generate documentation : no > > > > > > http://webkitgtk.org/reference/webkit2gtk/stable/WebKitWebView.html#WebKitWebView-load-failed > > hope for help! > best wishes, > joachim > > _______________________________________________ > webkit-gtk mailing list > webkit-gtk at lists.webkit.org > https://lists.webkit.org/mailman/listinfo/webkit-gtk From mcatanzaro at igalia.com Tue Jun 2 19:13:05 2015 From: mcatanzaro at igalia.com (Michael Catanzaro) Date: Tue, 02 Jun 2015 21:13:05 -0500 Subject: [webkit-gtk] webkit 2.8.3 load-failed In-Reply-To: References: Message-ID: <1433297585.11357.11.camel@igalia.com> On Wed, 2015-06-03 at 02:02 +0200, Joachim Schiele wrote: > hi, > > i've packaged webkitgtk-2.8.3 for nixos and i'm using it with the > gowebkit2 from github.com/sourcegraph/go-webkit2 > > gowebkit2 requires gojs and gotk3 where both of these pass their > respective go unit tests. > > === question === > > i'm getting this error: > > [nix-shell:~/Desktop/projects/webloop]$ go run gowebkit2.go > > ** (gowebkit2:20348): WARNING **: Error retrieving accessibility bus > address: org.freedesktop.DBus.Error.ServiceUnknown: The name > org.a11y.Bus was not provided by any .service files > > ** (WebKitWebProcess:20355): WARNING **: Error retrieving > accessibility > bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name > org.a11y.Bus was not provided by any .service files > Load finished. > Title: "Index of /" > URI: http://localhost/ Hi, what exactly is the problem? The subject line of your email says load-failed, and your test code prints "Load failed" if the load fails, but your example here prints "Load finished" -- so the load completed successfully. What exactly were you expecting to happen differently? If you are concerned about the accessibility error, you are missing at -spi2-core. > === my configuration: === > > Build configuration: > Enable debugging (slow) : no > Compile with debug symbols (slow) : no > Enable GCC build optimization : yes > Code coverage support : no > Optimized memory allocator : yes > Accelerated rendering backend : OpenGL > (gl, > egl, glx) > Geolocation backend : none > > Features: > ======= > WebKit1 support : yes > WebKit2 support : yes > Accelerated Compositing : yes > Accelerated 2D canvas : yes > Battery API support : no > Gamepad support : no > Geolocation support : no > HTML5 video element support : yes > JIT compilation : auto > FTL JIT compilation : no > Opcode stats : no > SVG fonts support : yes > SVG support : yes > Spellcheck support : yes > Credential storage support : yes > Web Audio support : yes > WebGL : yes > > GTK+ configuration: > GTK+ version : 3.0 > GDK targets : x11, > wayland > Introspection support : yes > Generate documentation : no The subject line of your email says you're using 2.8.3, but this is the Autotools configuration that was removed after 2.4, so you must be using 2.4 or below. Another hint is that you built with WebKit1 support, which was also removed after 2.4. So it would be good to figure out what version you are really using. ;) A quick check of go-webkit2 shows they use the webkit2gtk-3.0 API of version 2.4, which is very slightly different from the webkit2gtk-4.0 API provided by 2.6 and newer. So I guess you are not using the version of WebKit that you think you have packaged after all. Michael From js at lastlog.de Wed Jun 3 03:46:45 2015 From: js at lastlog.de (Joachim Schiele) Date: Wed, 03 Jun 2015 12:46:45 +0200 Subject: [webkit-gtk] webkit 2.8.3 load-failed In-Reply-To: <1433297585.11357.11.camel@igalia.com> References: <1433297585.11357.11.camel@igalia.com> Message-ID: On 03.06.2015 04:13, Michael Catanzaro wrote: > On Wed, 2015-06-03 at 02:02 +0200, Joachim Schiele wrote: >> hi, >> >> i've packaged webkitgtk-2.8.3 for nixos and i'm using it with the >> gowebkit2 from github.com/sourcegraph/go-webkit2 >> >> gowebkit2 requires gojs and gotk3 where both of these pass their >> respective go unit tests. >> >> === question === >> >> i'm getting this error: >> >> [nix-shell:~/Desktop/projects/webloop]$ go run gowebkit2.go >> >> ** (gowebkit2:20348): WARNING **: Error retrieving accessibility bus >> address: org.freedesktop.DBus.Error.ServiceUnknown: The name >> org.a11y.Bus was not provided by any .service files >> >> ** (WebKitWebProcess:20355): WARNING **: Error retrieving >> accessibility >> bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name >> org.a11y.Bus was not provided by any .service files >> Load finished. >> Title: "Index of /" >> URI: http://localhost/ > > Hi, what exactly is the problem? The subject line of your email says > load-failed, and your test code prints "Load failed" if the load fails, > but your example here prints "Load finished" -- so the load completed > successfully. What exactly were you expecting to happen > differently? sorry, took me a while to figure: - if i query from lastlog.de i get load-failed and - from localhost i don't get load-failed probably a timing issue. i've also rearranged the source code another time. anyway, the core problem with load-failed seems to be the local vs. remote target's runtime. > If you are concerned about the accessibility error, you are missing at > -spi2-core. but this 'accessibility errors' are not really error messages related to my problems of: - load-failed and - the webpage not being queried correct? >> === my configuration: === >> >> Build configuration: >> Enable debugging (slow) : no >> Compile with debug symbols (slow) : no >> Enable GCC build optimization : yes >> Code coverage support : no >> Optimized memory allocator : yes >> Accelerated rendering backend : OpenGL >> (gl, >> egl, glx) >> Geolocation backend : none >> >> Features: >> ======= >> WebKit1 support : yes >> WebKit2 support : yes >> Accelerated Compositing : yes >> Accelerated 2D canvas : yes >> Battery API support : no >> Gamepad support : no >> Geolocation support : no >> HTML5 video element support : yes >> JIT compilation : auto >> FTL JIT compilation : no >> Opcode stats : no >> SVG fonts support : yes >> SVG support : yes >> Spellcheck support : yes >> Credential storage support : yes >> Web Audio support : yes >> WebGL : yes >> >> GTK+ configuration: >> GTK+ version : 3.0 >> GDK targets : x11, >> wayland >> Introspection support : yes >> Generate documentation : no > > The subject line of your email says you're using 2.8.3, but this is the > Autotools configuration that was removed after 2.4, so you must be > using 2.4 or below. Another hint is that you built with WebKit1 > support, which was also removed after 2.4. So it would be good to > figure out what version you are really using. you are correct in the observation that there is something odd going on. the problem was that i built gojs with the old version and other parts with the new version so i was mixing webkitgtk 2.4 with webkitgtk 2.8.3 which is a bad thing to do! thanks for pointing that out! i'm fixing this right now but now i'm facing a problem i had some time ago: 1 joachim at lenovo-t530 ~/Desktop/projects/webloop % nix-shell -I nixpkgs=$NIXPKGS default.nix these derivations will be built: /nix/store/md4aiv0vdzqfaynvy42lnb3mjgzl06wb-go1.4-gojs-80bdfa8.drv /nix/store/fr61345jlb88kcj5hymkgirvz83hapc1-go1.4-gowebkit2-22d8960.drv building path(s) ?/nix/store/b3xsvrf443xvcm1f3cy2rsag5j6q421y-go1.4-gojs-80bdfa8? unpacking sources unpacking source archive /nix/store/z47bi1667992b61mg15wjqms7gwga5b7-gojs-80bdfa8b7d0a0c118220bece71083f2527e7bbc4-src source root is gojs-80bdfa8b7d0a0c118220bece71083f2527e7bbc4-src patching sources configuring building github.com/sqs/gojs # pkg-config --cflags javascriptcoregtk-3.0 Package javascriptcoregtk-3.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `javascriptcoregtk-3.0.pc' to the PKG_CONFIG_PATH environment variable No package 'javascriptcoregtk-3.0' found pkg-config: exit status 1 builder for ?/nix/store/md4aiv0vdzqfaynvy42lnb3mjgzl06wb-go1.4-gojs-80bdfa8.drv? failed with exit code 1 but the webkitgtk-2.8.3 only features libjavascriptcoregtk-4.0.so: 1 joachim at lenovo-t530 ~/Desktop/projects/webloop % find /nix/store/hawirs58pp8l2zpqkmcnzgzfal7kvi82-webkitgtk-2.8.3 | grep javascrip /nix/store/hawirs58pp8l2zpqkmcnzgzfal7kvi82-webkitgtk-2.8.3/lib/libjavascriptcoregtk-4.0.so /nix/store/hawirs58pp8l2zpqkmcnzgzfal7kvi82-webkitgtk-2.8.3/lib/pkgconfig/javascriptcoregtk-4.0.pc /nix/store/hawirs58pp8l2zpqkmcnzgzfal7kvi82-webkitgtk-2.8.3/lib/libjavascriptcoregtk-4.0.so.18 /nix/store/hawirs58pp8l2zpqkmcnzgzfal7kvi82-webkitgtk-2.8.3/lib/libjavascriptcoregtk-4.0.so.18.1.10 any ideas on that? > A quick check of go-webkit2 shows they use the webkit2gtk-3.0 API of > version 2.4, which is very slightly different from the webkit2gtk-4.0 > API provided by 2.6 and newer. So I guess you are not using the version > of WebKit that you think you have packaged after all. this libjavascriptcoregtk-4.0 vs libjavascriptcoregtk-3.0 thingy is probably the main problem i'm having here, gojs relies on 3.0 and 2.8.3 features 4.0 is that assumption correct? thanks very much for your help, very much appreciated! From js at lastlog.de Wed Jun 3 06:03:42 2015 From: js at lastlog.de (Joachim Schiele) Date: Wed, 03 Jun 2015 15:03:42 +0200 Subject: [webkit-gtk] webkit 2.8.3 load-failed In-Reply-To: <556E48A0.1090204@gmail.com> References: <556E48A0.1090204@gmail.com> Message-ID: love the NO_AT_BRIDGE=1 thingy, thanks for pointing out! On 03.06.2015 02:21, Niranjan Rao wrote: > Not really expert, but perhaps this might help. I faced similar problems > and this link helped me. > > https://askubuntu.com/questions/432604/couldnt-connect-to-accessibility-bus > > > On 06/02/2015 05:02 PM, Joachim Schiele wrote: >> hi, >> >> i've packaged webkitgtk-2.8.3 for nixos and i'm using it with the >> gowebkit2 from github.com/sourcegraph/go-webkit2 >> >> gowebkit2 requires gojs and gotk3 where both of these pass their >> respective go unit tests. >> >> === question === >> >> i'm getting this error: >> >> [nix-shell:~/Desktop/projects/webloop]$ go run gowebkit2.go >> >> ** (gowebkit2:20348): WARNING **: Error retrieving accessibility bus >> address: org.freedesktop.DBus.Error.ServiceUnknown: The name >> org.a11y.Bus was not provided by any .service files >> >> ** (WebKitWebProcess:20355): WARNING **: Error retrieving accessibility >> bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name >> org.a11y.Bus was not provided by any .service files >> Load finished. >> Title: "Index of /" >> URI: http://localhost/ >> >> >> i don't really know how to debug this. anyone an idea how i could get >> started? is this a go specific issue? >> >> thanks. >> >> >> >> >> >> >> however, the webserver is working from which i query: >> >> [nix-shell:~/Desktop/projects/webloop]$ curl localhost >> >> >> >> Index of / >> >> >>

Index of /

>> >> >> >> >>
> alt="[ICO]">Name> href="?C=M;O=A">Last modified> href="?C=S;O=A">Size> href="?C=D;O=A">Description


>> >> >> >> >> >> >> package main >> >> import ( >> "fmt" >> "github.com/conformal/gotk3/glib" >> "github.com/conformal/gotk3/gtk" >> "github.com/sourcegraph/go-webkit2/webkit2" >> "github.com/sqs/gojs" >> "runtime" >> ) >> >> func main() { >> gtk.Init(nil) >> runtime.LockOSThread() >> hasFailed := 0 >> >> webView := webkit2.NewWebView() >> defer webView.Destroy() >> >> webView.Connect("load-failed", func() { >> fmt.Println("Load failed.") >> hasFailed = 1 >> }) >> webView.Connect("load-changed", func(_ *glib.Object, loadEvent >> webkit2.LoadEvent) { >> //if hasFailed == 0 { >> switch loadEvent { >> //case webkit2.LoadStarted: >> // fmt.Println("Load started") >> //case webkit2.LoadRedirected: >> // fmt.Println("Load redirected") >> case webkit2.LoadFinished: >> fmt.Println("Load finished.") >> fmt.Printf("Title: %q\n", webView.Title()) >> fmt.Printf("URI: %s\n", webView.URI()) >> webView.RunJavaScript("window.location.hostname", >> func(val *gojs.Value, err error) { >> if err != nil { >> fmt.Println("JavaScript error.") >> } else { >> fmt.Printf("Hostname (from JavaScript): >> %q\n", val) >> } >> }) >> gtk.MainQuit() >> } >> //} >> }) >> >> glib.IdleAdd(func() bool { >> webView.LoadURI("http://localhost") >> //webView.LoadURI("http://www.lastlog.de/") >> return false >> }) >> >> gtk.Main() >> } >> >> >> >> >> === my configuration: === >> >> Build configuration: >> Enable debugging (slow) : no >> Compile with debug symbols (slow) : no >> Enable GCC build optimization : yes >> Code coverage support : no >> Optimized memory allocator : yes >> Accelerated rendering backend : OpenGL (gl, >> egl, glx) >> Geolocation backend : none >> >> Features: >> ======= >> WebKit1 support : yes >> WebKit2 support : yes >> Accelerated Compositing : yes >> Accelerated 2D canvas : yes >> Battery API support : no >> Gamepad support : no >> Geolocation support : no >> HTML5 video element support : yes >> JIT compilation : auto >> FTL JIT compilation : no >> Opcode stats : no >> SVG fonts support : yes >> SVG support : yes >> Spellcheck support : yes >> Credential storage support : yes >> Web Audio support : yes >> WebGL : yes >> >> GTK+ configuration: >> GTK+ version : 3.0 >> GDK targets : x11, wayland >> Introspection support : yes >> Generate documentation : no >> >> >> >> >> >> http://webkitgtk.org/reference/webkit2gtk/stable/WebKitWebView.html#WebKitWebView-load-failed >> >> >> hope for help! >> best wishes, >> joachim >> >> _______________________________________________ >> webkit-gtk mailing list >> webkit-gtk at lists.webkit.org >> https://lists.webkit.org/mailman/listinfo/webkit-gtk From js at lastlog.de Wed Jun 3 06:11:09 2015 From: js at lastlog.de (Joachim Schiele) Date: Wed, 03 Jun 2015 15:11:09 +0200 Subject: [webkit-gtk] webkit 2.8.3 load-failed In-Reply-To: <1433297585.11357.11.camel@igalia.com> References: <1433297585.11357.11.camel@igalia.com> Message-ID: localhost works, all others don't! i'm now using: - webkitgtk-2.8.3 with - gojs forced to use javascriptcoregtk-4.0 (instead of javascriptcoregtk-3.0) - gowebkit2 github.com/sourcegraph/go-webkit2 with webkit2gtk-4.0 (instead of webkit2gtk-3.0) =============== localhost ================== $ NO_AT_BRIDGE=1 go run gowebkit2.go Load finished. Title: "Index of /" URI: http://localhost/ Hostname (from JavaScript): "localhost" works! *surprise* =============== lastlog.de =================== NO_AT_BRIDGE=1 go run gowebkit2.go Load failed. Load finished. Title: "" URI: Hostname (from JavaScript): "" fails ===================================== if i enable unit tests for gowebkit2 i see this: joachim at lenovo-t530 ~/Desktop/projects/webloop % nix-shell -I nixpkgs=$NIXPKGS default.nix these derivations will be built: /nix/store/i57i3vx8ylgj0snsy7z86a1rzk8bcn3c-go1.4-gowebkit2-22d8960.drv building path(s) ?/nix/store/k1ya99l077jz7j6rzh4f4dilgyhvg3q0-go1.4-gowebkit2-22d8960? unpacking sources unpacking source archive /nix/store/414sdb4ksxvki9c1lkid1c439sbbjcji-go-webkit2-22d89604526bbeafa4492c7f5c07ac643dff6e45-src source root is go-webkit2-22d89604526bbeafa4492c7f5c07ac643dff6e45-src patching sources configuring building Renaming github.com/crazy2be/gojs to github.com/sqs/gojs Renaming github.com/crazy2be/gojs to github.com/sqs/gojs github.com/sourcegraph/go-webkit2/webkit2 github.com/sourcegraph/go-webkit2/cmd/webkit-eval-js running tests libGL error: No matching fbConfigs or visuals found libGL error: failed to load driver: swrast === RUN TestSettings_EnableWriteConsoleMessagesToStdout --- PASS: TestSettings_EnableWriteConsoleMessagesToStdout (0.07s) === RUN TestSettings_AutoLoadImages --- PASS: TestSettings_AutoLoadImages (0.00s) === RUN TestSettings_SetUserAgentWithApplicationDetails --- PASS: TestSettings_SetUserAgentWithApplicationDetails (0.00s) === RUN TestDefaultWebContext --- PASS: TestDefaultWebContext (0.00s) === RUN TestWebContext_CacheModel --- PASS: TestWebContext_CacheModel (0.00s) === RUN TestWebContext_ClearCache --- PASS: TestWebContext_ClearCache (0.00s) === RUN TestNewWebView --- PASS: TestNewWebView (0.00s) === RUN TestNewWebViewWithContext --- PASS: TestNewWebViewWithContext (0.00s) === RUN TestWebView_Context --- PASS: TestWebView_Context (0.00s) === RUN TestWebView_LoadURI --- PASS: TestWebView_LoadURI (0.66s) === RUN TestWebView_LoadURI_load_failed --- PASS: TestWebView_LoadURI_load_failed (0.02s) === RUN TestWebView_LoadHTML --- PASS: TestWebView_LoadHTML (0.01s) === RUN TestWebView_Title --- PASS: TestWebView_Title (0.00s) === RUN TestWebView_URI --- PASS: TestWebView_URI (0.00s) === RUN TestWebView_Settings --- PASS: TestWebView_Settings (0.00s) === RUN TestWebView_JavaScriptGlobalContext --- PASS: TestWebView_JavaScriptGlobalContext (0.00s) === RUN TestWebView_RunJavaScript terminate called after throwing an instance of 'std::bad_function_call' what(): bad_function_call this might be an issue with using webkit2gtk-4.0, i have to investigate this further. any idea how to debug what is going wrong here? thanks On 03.06.2015 04:13, Michael Catanzaro wrote: > On Wed, 2015-06-03 at 02:02 +0200, Joachim Schiele wrote: >> hi, >> >> i've packaged webkitgtk-2.8.3 for nixos and i'm using it with the >> gowebkit2 from github.com/sourcegraph/go-webkit2 >> >> gowebkit2 requires gojs and gotk3 where both of these pass their >> respective go unit tests. >> >> === question === >> >> i'm getting this error: >> >> [nix-shell:~/Desktop/projects/webloop]$ go run gowebkit2.go >> >> ** (gowebkit2:20348): WARNING **: Error retrieving accessibility bus >> address: org.freedesktop.DBus.Error.ServiceUnknown: The name >> org.a11y.Bus was not provided by any .service files >> >> ** (WebKitWebProcess:20355): WARNING **: Error retrieving >> accessibility >> bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name >> org.a11y.Bus was not provided by any .service files >> Load finished. >> Title: "Index of /" >> URI: http://localhost/ > > Hi, what exactly is the problem? The subject line of your email says > load-failed, and your test code prints "Load failed" if the load fails, > but your example here prints "Load finished" -- so the load completed > successfully. What exactly were you expecting to happen > differently? > > If you are concerned about the accessibility error, you are missing at > -spi2-core. > >> === my configuration: === >> >> Build configuration: >> Enable debugging (slow) : no >> Compile with debug symbols (slow) : no >> Enable GCC build optimization : yes >> Code coverage support : no >> Optimized memory allocator : yes >> Accelerated rendering backend : OpenGL >> (gl, >> egl, glx) >> Geolocation backend : none >> >> Features: >> ======= >> WebKit1 support : yes >> WebKit2 support : yes >> Accelerated Compositing : yes >> Accelerated 2D canvas : yes >> Battery API support : no >> Gamepad support : no >> Geolocation support : no >> HTML5 video element support : yes >> JIT compilation : auto >> FTL JIT compilation : no >> Opcode stats : no >> SVG fonts support : yes >> SVG support : yes >> Spellcheck support : yes >> Credential storage support : yes >> Web Audio support : yes >> WebGL : yes >> >> GTK+ configuration: >> GTK+ version : 3.0 >> GDK targets : x11, >> wayland >> Introspection support : yes >> Generate documentation : no > > The subject line of your email says you're using 2.8.3, but this is the > Autotools configuration that was removed after 2.4, so you must be > using 2.4 or below. Another hint is that you built with WebKit1 > support, which was also removed after 2.4. So it would be good to > figure out what version you are really using. ;) > > A quick check of go-webkit2 shows they use the webkit2gtk-3.0 API of > version 2.4, which is very slightly different from the webkit2gtk-4.0 > API provided by 2.6 and newer. So I guess you are not using the version > of WebKit that you think you have packaged after all. > > Michael > From fengidri at gmail.com Fri Jun 5 19:53:30 2015 From: fengidri at gmail.com (feng D) Date: Sat, 6 Jun 2015 10:53:30 +0800 Subject: [webkit-gtk] get har with webkit Message-ID: I am a newer to the webkit-gtk. I want to write a `headless` progress with webkit-gtk to get the HAR of the website. I want to know the size of `webkit_download_get_received_data_length` is the content size or trans size (maybe Content-Encoding: gzip). If it is trans size, is there a way to get the trans size. And how to make the progress `headless`? Who can help me? -------------- next part -------------- An HTML attachment was scrubbed... URL: From kapouer at melix.org Sun Jun 7 02:11:51 2015 From: kapouer at melix.org (=?UTF-8?B?SsOpcsOpbXkgTGFs?=) Date: Sun, 7 Jun 2015 11:11:51 +0200 Subject: [webkit-gtk] webkit2gtk 2.7.4 sending cookie from cache after a 304 with missing Content-Type ? In-Reply-To: References: <1427270502.1579.1.camel@igalia.com> <1427279354.10257.1.camel@igalia.com> Message-ID: 2015-03-25 11:38 GMT+01:00 J?r?my Lal : > 2015-03-25 11:29 GMT+01:00 Carlos Garcia Campos : > > El mi?, 25-03-2015 a las 11:20 +0100, J?r?my Lal escribi?: > >> 2015-03-25 9:01 GMT+01:00 Carlos Garcia Campos : > >> > El mar, 24-03-2015 a las 22:48 +0100, J?r?my Lal escribi?: > >> >> 2015-03-24 21:21 GMT+01:00 J?r?my Lal : > >> >> > I'm seeing something very weird in a complicated setup here, and > am trying to > >> >> > understand what's happening: > >> >> > > >> >> > 1 - open page urlA, Set-Cookie CA > >> >> > 2 - do xhr requests to urlB (ETag set in response) > >> >> > 3 - load same page urlA, Set-Cookie CB > >> >> > 4 - do xhr request to urlB 304 (If-None-Match hit), a response is > sent > >> >> > from expressjs server, without a content-type header set (the > server > >> >> > gets Cookie CB) > >> >> > >> >> I think i found how to reproduce with this precision in step 4: > >> >> > >> >> 4 - do xhr request to urlB 304 (If-None-Match hit) > >> >> ** with the same Last-Modified header as in step 2 ** > >> >> > >> >> It makes webkit2gtk 2.7.4 go back in time and it start sending > cookies > >> >> from the past ! > >> >> > >> >> > >> >> > 5 - a second xhr request to never requested urlC is done: the > server > >> >> > gets Cookie CA ! > >> >> > >> >> > am going to test against webkit2gtk 2.8.0 > >> >> > >> >> building... > >> > > >> > What libsoup version are you using? > >> > >> The one from debian jessie, 2.48. > >> I just gave a try with webkit2gtk 2.8.0 and it does the same. > > > > I asked because the new libsoup version 2.50 has several fixes in the > > disk cache. > > I just read the changelog and am almost already convinced the bug is > already fixes there :) > > > > >> The symptoms are a bit different. Sometimes when i do a test, the bug > >> does not appear, > >> and two third of the times it appears. > > > > Could you file a bug report with instructions to reproduce the issue? or > > even better a test case if possible? > > I'll try to trim the code down to the minimum. Expect nodejs code... > Hi, i opened https://bugs.webkit.org/show_bug.cgi?id=145734 with code for reproducing the problem i'm seeing - which is simpler to understand now :) J?r?my. -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgarcia at igalia.com Fri Jun 19 02:18:01 2015 From: cgarcia at igalia.com (Carlos Garcia Campos) Date: Fri, 19 Jun 2015 11:18:01 +0200 Subject: [webkit-gtk] WebsiteDataStore API proposal for process configuration options Message-ID: <1434705481.1659.45.camel@igalia.com> WebsiteDataStore is a WebKit2 internal class to manage data stored by websites (cookies, caches, databases, etc.). There are some problems with our current implementation of this. What we currently have is: - WebKitWebContext:local-storage-directory: construct only property added in 2.8 - WebKitWebContext:indexed-db-directory: construct only property added in trunk for 2.10 - webkit_web_context_set_disk_cache_directory(). - For all other options (app cache, etc.) the default directory is used and can't be changed by the user. This has several problems: - The way to specify the different directories is not consistent. - Construct only properties require to use g_object_new to create a new WebContext, it's not a big deal, but it's not obvious either. - Setter methods makes you think that those options can be changed, and we need to document that you can only call them before anything is loaded to make sure no network process nor web process have been created yet. - Not having an option for all possible config values, means that ephy web apps or private profiles, are leaving some data outside the profile dir, for example. So, to fix all these issues the idea is to expose WebsiteDataStore somehow in our API. It could be a construct only property of WebKitWebContext, replacing local-storage-directory and indexed-db-directory. Adding also a new() method to WebKitWebContext that receives it. WebKitWebContext * webkit_web_context_new_with_website_data_manager (WebKitWebContext *context, WebKitWebsiteDataManager *mamager); When using webkit_web_context_new() a default website data manager is created with the default options, keeping the compatibility. With this we can deprecate WebKitWebContext:local-storage-directory, remove WebKitWebContext:indexed-db-directory and deprecate also webkit_web_context_set_disk_cache_directory() and all the issues mentioned previously would be solved. Now the thing is how to implement WebKitWebsiteDataManager to avoid having the same issues we had with the web context, so it should allow to configure all data store options. And here again we have the same problem with the options: - They could be construct-only properties, so it's clear that they can't be changed, but then we have the problem of how to create the object. We could just provide a new() method that uses varargs, and passes the values to g_object_new_valist(), similar to what webkit_settings_new_with_settings does. We could have new and new_with_values, but I think it would be better to only have new() expecting values (even if you can pass null), since users wanting the default values don't need to create a manager, letting the web context create it. - Or we could have setters, but again, we would need to document that they won't have any effect if called after a secondary process has been created. So, my proposal here would be something like: WebKitWebsiteDataManager * webkit_website_data_manager_new (const gchar *first_option_name, ...); const gchar * webkit_website_data_manager_get_local_storage_directory (WebKitWebsiteDataManager *manager); const gchar * webkit_website_data_manager_get_disk_cache_directory (WebKitWebsiteDataManager *manager); ..... This is only for configuration options, which is what we currently have somehow exposed in our API. However, the WebsiteDataStore also allows to manage the data, getting a list of origins/domains for a given data store (like the cookies manager but for databases, local storage, disk cache, memory cache, etc.). And also allows to remove any particular data for any origin/domain. We could also expose API for that, which will allow us to have a proper personal data manager in ephy, for example. But I'll leave that API proposal for a different mail to not make this one too long. Opinions? Objections? Suggestions? -- Carlos Garcia Campos http://pgp.rediris.es:11371/pks/lookup?op=get&search=0xF3D322D0EC4582C3 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 181 bytes Desc: This is a digitally signed message part URL: From mrobinson at webkit.org Fri Jun 19 07:11:53 2015 From: mrobinson at webkit.org (Martin Robinson) Date: Fri, 19 Jun 2015 07:11:53 -0700 Subject: [webkit-gtk] WebsiteDataStore API proposal for process configuration options In-Reply-To: <1434705481.1659.45.camel@igalia.com> References: <1434705481.1659.45.camel@igalia.com> Message-ID: Can you confirm the list of directories that WebsiteDataStore exposes now: - application cache - network cache - indexed database - local storage - media keys storage - web sql storage My preference here leans toward avoiding setters somehow. --Martin On Fri, Jun 19, 2015 at 2:18 AM, Carlos Garcia Campos wrote: > WebsiteDataStore is a WebKit2 internal class to manage data stored by > websites (cookies, caches, databases, etc.). There are some problems > with our current implementation of this. What we currently have is: > > - WebKitWebContext:local-storage-directory: construct only property > added in 2.8 > - WebKitWebContext:indexed-db-directory: construct only property added > in trunk for 2.10 > - webkit_web_context_set_disk_cache_directory(). > - For all other options (app cache, etc.) the default directory is used > and can't be changed by the user. > > This has several problems: > > - The way to specify the different directories is not consistent. > - Construct only properties require to use g_object_new to create a new > WebContext, it's not a big deal, but it's not obvious either. > - Setter methods makes you think that those options can be changed, and > we need to document that you can only call them before anything is > loaded to make sure no network process nor web process have been created > yet. > - Not having an option for all possible config values, means that ephy > web apps or private profiles, are leaving some data outside the profile > dir, for example. > > So, to fix all these issues the idea is to expose WebsiteDataStore > somehow in our API. It could be a construct only property of > WebKitWebContext, replacing local-storage-directory and > indexed-db-directory. Adding also a new() method to WebKitWebContext > that receives it. > > WebKitWebContext * > webkit_web_context_new_with_website_data_manager (WebKitWebContext *context, > WebKitWebsiteDataManager *mamager); > > When using webkit_web_context_new() a default website data manager is > created with the default options, keeping the compatibility. > > With this we can deprecate WebKitWebContext:local-storage-directory, > remove WebKitWebContext:indexed-db-directory and deprecate also > webkit_web_context_set_disk_cache_directory() and all the issues > mentioned previously would be solved. > > Now the thing is how to implement WebKitWebsiteDataManager to avoid > having the same issues we had with the web context, so it should allow > to configure all data store options. And here again we have the same > problem with the options: > > - They could be construct-only properties, so it's clear that they > can't be changed, but then we have the problem of how to create the > object. We could just provide a new() method that uses varargs, and > passes the values to g_object_new_valist(), similar to what > webkit_settings_new_with_settings does. We could have new and > new_with_values, but I think it would be better to only have new() > expecting values (even if you can pass null), since users wanting the > default values don't need to create a manager, letting the web context > create it. > - Or we could have setters, but again, we would need to document that > they won't have any effect if called after a secondary process has been > created. > > So, my proposal here would be something like: > > WebKitWebsiteDataManager * > webkit_website_data_manager_new (const gchar *first_option_name, > ...); > > const gchar * > webkit_website_data_manager_get_local_storage_directory (WebKitWebsiteDataManager *manager); > > const gchar * > webkit_website_data_manager_get_disk_cache_directory (WebKitWebsiteDataManager *manager); > ..... > > > This is only for configuration options, which is what we currently have > somehow exposed in our API. However, the WebsiteDataStore also allows to > manage the data, getting a list of origins/domains for a given data > store (like the cookies manager but for databases, local storage, disk > cache, memory cache, etc.). And also allows to remove any particular > data for any origin/domain. We could also expose API for that, which > will allow us to have a proper personal data manager in ephy, for > example. But I'll leave that API proposal for a different mail to not > make this one too long. > > Opinions? Objections? Suggestions? > > -- > Carlos Garcia Campos > http://pgp.rediris.es:11371/pks/lookup?op=get&search=0xF3D322D0EC4582C3 > > _______________________________________________ > webkit-gtk mailing list > webkit-gtk at lists.webkit.org > https://lists.webkit.org/mailman/listinfo/webkit-gtk > From mcatanzaro at igalia.com Fri Jun 19 07:52:59 2015 From: mcatanzaro at igalia.com (Michael Catanzaro) Date: Fri, 19 Jun 2015 09:52:59 -0500 Subject: [webkit-gtk] WebsiteDataStore API proposal for process configuration options In-Reply-To: <1434705481.1659.45.camel@igalia.com> References: <1434705481.1659.45.camel@igalia.com> Message-ID: <1434725579.17410.5.camel@igalia.com> On Fri, 2015-06-19 at 11:18 +0200, Carlos Garcia Campos wrote: > - Or we could have setters, but again, we would need to document > that > they won't have any effect if called after a secondary process has > been > created. I also prefer not to add setters for the WebKitWebsiteDataManager. Your proposal LGTM. > This is only for configuration options, which is what we currently > have > somehow exposed in our API. However, the WebsiteDataStore also allows > to > manage the data, getting a list of origins/domains for a given data > store (like the cookies manager but for databases, local storage, > disk > cache, memory cache, etc.). And also allows to remove any particular > data for any origin/domain. We could also expose API for that, which > will allow us to have a proper personal data manager in ephy, for > example. But I'll leave that API proposal for a different mail to not > make this one too long. Agreed, we should expose all of this, but it's a separate issue. From cgarcia at igalia.com Fri Jun 19 10:12:12 2015 From: cgarcia at igalia.com (Carlos Garcia Campos) Date: Fri, 19 Jun 2015 19:12:12 +0200 Subject: [webkit-gtk] WebsiteDataStore API proposal for process configuration options In-Reply-To: References: <1434705481.1659.45.camel@igalia.com> Message-ID: <1434733932.24133.1.camel@igalia.com> El vie, 19-06-2015 a las 07:11 -0700, Martin Robinson escribi?: > Can you confirm the list of directories that WebsiteDataStore exposes now: > - application cache > - network cache > - indexed database > - local storage > - media keys storage > - web sql storage Correct, but we will not expose media keys yet, since we don't support encrypted media ATM. > My preference here leans toward avoiding setters somehow. https://bugs.webkit.org/show_bug.cgi?id=146149 > --Martin > > On Fri, Jun 19, 2015 at 2:18 AM, Carlos Garcia Campos > wrote: > > WebsiteDataStore is a WebKit2 internal class to manage data stored by > > websites (cookies, caches, databases, etc.). There are some problems > > with our current implementation of this. What we currently have is: > > > > - WebKitWebContext:local-storage-directory: construct only property > > added in 2.8 > > - WebKitWebContext:indexed-db-directory: construct only property added > > in trunk for 2.10 > > - webkit_web_context_set_disk_cache_directory(). > > - For all other options (app cache, etc.) the default directory is used > > and can't be changed by the user. > > > > This has several problems: > > > > - The way to specify the different directories is not consistent. > > - Construct only properties require to use g_object_new to create a new > > WebContext, it's not a big deal, but it's not obvious either. > > - Setter methods makes you think that those options can be changed, and > > we need to document that you can only call them before anything is > > loaded to make sure no network process nor web process have been created > > yet. > > - Not having an option for all possible config values, means that ephy > > web apps or private profiles, are leaving some data outside the profile > > dir, for example. > > > > So, to fix all these issues the idea is to expose WebsiteDataStore > > somehow in our API. It could be a construct only property of > > WebKitWebContext, replacing local-storage-directory and > > indexed-db-directory. Adding also a new() method to WebKitWebContext > > that receives it. > > > > WebKitWebContext * > > webkit_web_context_new_with_website_data_manager (WebKitWebContext *context, > > WebKitWebsiteDataManager *mamager); > > > > When using webkit_web_context_new() a default website data manager is > > created with the default options, keeping the compatibility. > > > > With this we can deprecate WebKitWebContext:local-storage-directory, > > remove WebKitWebContext:indexed-db-directory and deprecate also > > webkit_web_context_set_disk_cache_directory() and all the issues > > mentioned previously would be solved. > > > > Now the thing is how to implement WebKitWebsiteDataManager to avoid > > having the same issues we had with the web context, so it should allow > > to configure all data store options. And here again we have the same > > problem with the options: > > > > - They could be construct-only properties, so it's clear that they > > can't be changed, but then we have the problem of how to create the > > object. We could just provide a new() method that uses varargs, and > > passes the values to g_object_new_valist(), similar to what > > webkit_settings_new_with_settings does. We could have new and > > new_with_values, but I think it would be better to only have new() > > expecting values (even if you can pass null), since users wanting the > > default values don't need to create a manager, letting the web context > > create it. > > - Or we could have setters, but again, we would need to document that > > they won't have any effect if called after a secondary process has been > > created. > > > > So, my proposal here would be something like: > > > > WebKitWebsiteDataManager * > > webkit_website_data_manager_new (const gchar *first_option_name, > > ...); > > > > const gchar * > > webkit_website_data_manager_get_local_storage_directory (WebKitWebsiteDataManager *manager); > > > > const gchar * > > webkit_website_data_manager_get_disk_cache_directory (WebKitWebsiteDataManager *manager); > > ..... > > > > > > This is only for configuration options, which is what we currently have > > somehow exposed in our API. However, the WebsiteDataStore also allows to > > manage the data, getting a list of origins/domains for a given data > > store (like the cookies manager but for databases, local storage, disk > > cache, memory cache, etc.). And also allows to remove any particular > > data for any origin/domain. We could also expose API for that, which > > will allow us to have a proper personal data manager in ephy, for > > example. But I'll leave that API proposal for a different mail to not > > make this one too long. > > > > Opinions? Objections? Suggestions? > > > > -- > > Carlos Garcia Campos > > http://pgp.rediris.es:11371/pks/lookup?op=get&search=0xF3D322D0EC4582C3 > > > > _______________________________________________ > > webkit-gtk mailing list > > webkit-gtk at lists.webkit.org > > https://lists.webkit.org/mailman/listinfo/webkit-gtk > > > -- Carlos Garcia Campos http://pgp.rediris.es:11371/pks/lookup?op=get&search=0xF3D322D0EC4582C3 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 181 bytes Desc: This is a digitally signed message part URL: From nhrdls at gmail.com Fri Jun 19 21:17:49 2015 From: nhrdls at gmail.com (Niranjan Rao) Date: Sat, 20 Jun 2015 09:47:49 +0530 Subject: [webkit-gtk] WebsiteDataStore API proposal for process configuration options In-Reply-To: <1434733932.24133.1.camel@igalia.com> References: <1434705481.1659.45.camel@igalia.com> <1434733932.24133.1.camel@igalia.com> Message-ID: <5584E96D.7000703@gmail.com> Please pardon my lack of complete understanding of this discussion. We do run multiple instances of web view in multiple processes. Before process starts, we set the HOME directory to different location to avoid data mixing (cookies/local storage) between two processes. This allows us to login to same site with multiple credentials. This works correctly. Will these changes impact this behaviour in anyway? Regards, Niranjan On 06/19/2015 10:42 PM, Carlos Garcia Campos wrote: > El vie, 19-06-2015 a las 07:11 -0700, Martin Robinson escribi?: >> Can you confirm the list of directories that WebsiteDataStore exposes now: >> - application cache >> - network cache >> - indexed database >> - local storage >> - media keys storage >> - web sql storage > Correct, but we will not expose media keys yet, since we don't support > encrypted media ATM. > >> My preference here leans toward avoiding setters somehow. > https://bugs.webkit.org/show_bug.cgi?id=146149 > >> --Martin >> >> On Fri, Jun 19, 2015 at 2:18 AM, Carlos Garcia Campos >> wrote: >>> WebsiteDataStore is a WebKit2 internal class to manage data stored by >>> websites (cookies, caches, databases, etc.). There are some problems >>> with our current implementation of this. What we currently have is: >>> >>> - WebKitWebContext:local-storage-directory: construct only property >>> added in 2.8 >>> - WebKitWebContext:indexed-db-directory: construct only property added >>> in trunk for 2.10 >>> - webkit_web_context_set_disk_cache_directory(). >>> - For all other options (app cache, etc.) the default directory is used >>> and can't be changed by the user. >>> >>> This has several problems: >>> >>> - The way to specify the different directories is not consistent. >>> - Construct only properties require to use g_object_new to create a new >>> WebContext, it's not a big deal, but it's not obvious either. >>> - Setter methods makes you think that those options can be changed, and >>> we need to document that you can only call them before anything is >>> loaded to make sure no network process nor web process have been created >>> yet. >>> - Not having an option for all possible config values, means that ephy >>> web apps or private profiles, are leaving some data outside the profile >>> dir, for example. >>> >>> So, to fix all these issues the idea is to expose WebsiteDataStore >>> somehow in our API. It could be a construct only property of >>> WebKitWebContext, replacing local-storage-directory and >>> indexed-db-directory. Adding also a new() method to WebKitWebContext >>> that receives it. >>> >>> WebKitWebContext * >>> webkit_web_context_new_with_website_data_manager (WebKitWebContext *context, >>> WebKitWebsiteDataManager *mamager); >>> >>> When using webkit_web_context_new() a default website data manager is >>> created with the default options, keeping the compatibility. >>> >>> With this we can deprecate WebKitWebContext:local-storage-directory, >>> remove WebKitWebContext:indexed-db-directory and deprecate also >>> webkit_web_context_set_disk_cache_directory() and all the issues >>> mentioned previously would be solved. >>> >>> Now the thing is how to implement WebKitWebsiteDataManager to avoid >>> having the same issues we had with the web context, so it should allow >>> to configure all data store options. And here again we have the same >>> problem with the options: >>> >>> - They could be construct-only properties, so it's clear that they >>> can't be changed, but then we have the problem of how to create the >>> object. We could just provide a new() method that uses varargs, and >>> passes the values to g_object_new_valist(), similar to what >>> webkit_settings_new_with_settings does. We could have new and >>> new_with_values, but I think it would be better to only have new() >>> expecting values (even if you can pass null), since users wanting the >>> default values don't need to create a manager, letting the web context >>> create it. >>> - Or we could have setters, but again, we would need to document that >>> they won't have any effect if called after a secondary process has been >>> created. >>> >>> So, my proposal here would be something like: >>> >>> WebKitWebsiteDataManager * >>> webkit_website_data_manager_new (const gchar *first_option_name, >>> ...); >>> >>> const gchar * >>> webkit_website_data_manager_get_local_storage_directory (WebKitWebsiteDataManager *manager); >>> >>> const gchar * >>> webkit_website_data_manager_get_disk_cache_directory (WebKitWebsiteDataManager *manager); >>> ..... >>> >>> >>> This is only for configuration options, which is what we currently have >>> somehow exposed in our API. However, the WebsiteDataStore also allows to >>> manage the data, getting a list of origins/domains for a given data >>> store (like the cookies manager but for databases, local storage, disk >>> cache, memory cache, etc.). And also allows to remove any particular >>> data for any origin/domain. We could also expose API for that, which >>> will allow us to have a proper personal data manager in ephy, for >>> example. But I'll leave that API proposal for a different mail to not >>> make this one too long. >>> >>> Opinions? Objections? Suggestions? >>> >>> -- >>> Carlos Garcia Campos >>> http://pgp.rediris.es:11371/pks/lookup?op=get&search=0xF3D322D0EC4582C3 >>> >>> _______________________________________________ >>> webkit-gtk mailing list >>> webkit-gtk at lists.webkit.org >>> https://lists.webkit.org/mailman/listinfo/webkit-gtk >>> > > > _______________________________________________ > webkit-gtk mailing list > webkit-gtk at lists.webkit.org > https://lists.webkit.org/mailman/listinfo/webkit-gtk -------------- next part -------------- An HTML attachment was scrubbed... URL: From cgarcia at igalia.com Sat Jun 20 01:03:38 2015 From: cgarcia at igalia.com (Carlos Garcia Campos) Date: Sat, 20 Jun 2015 10:03:38 +0200 Subject: [webkit-gtk] WebsiteDataStore API proposal for process configuration options In-Reply-To: <5584E96D.7000703@gmail.com> References: <1434705481.1659.45.camel@igalia.com> <1434733932.24133.1.camel@igalia.com> <5584E96D.7000703@gmail.com> Message-ID: <1434787418.1794.1.camel@igalia.com> El s?b, 20-06-2015 a las 09:47 +0530, Niranjan Rao escribi?: > Please pardon my lack of complete understanding of this discussion. > > We do run multiple instances of web view in multiple processes. Before > process starts, we set the HOME directory to different location to > avoid data mixing (cookies/local storage) between two processes. This > allows us to login to same site with multiple credentials. This works > correctly. > > Will these changes impact this behaviour in anyway? No, the default behaviour hasn't changed, if you don't create WebKitWebsiteDataManager, the web context creates one with the same default values we currently use. However, you could change to use the WebKitWebsiteDataManager to set different locations for every context, and you don't need to change the HOME at all. > Regards, > > Niranjan > > On 06/19/2015 10:42 PM, Carlos Garcia Campos wrote: > > > El vie, 19-06-2015 a las 07:11 -0700, Martin Robinson escribi?: > > > Can you confirm the list of directories that WebsiteDataStore exposes now: > > > - application cache > > > - network cache > > > - indexed database > > > - local storage > > > - media keys storage > > > - web sql storage > > Correct, but we will not expose media keys yet, since we don't support > > encrypted media ATM. > > > > > My preference here leans toward avoiding setters somehow. > > https://bugs.webkit.org/show_bug.cgi?id=146149 > > > > > --Martin > > > > > > On Fri, Jun 19, 2015 at 2:18 AM, Carlos Garcia Campos > > > wrote: > > > > WebsiteDataStore is a WebKit2 internal class to manage data stored by > > > > websites (cookies, caches, databases, etc.). There are some problems > > > > with our current implementation of this. What we currently have is: > > > > > > > > - WebKitWebContext:local-storage-directory: construct only property > > > > added in 2.8 > > > > - WebKitWebContext:indexed-db-directory: construct only property added > > > > in trunk for 2.10 > > > > - webkit_web_context_set_disk_cache_directory(). > > > > - For all other options (app cache, etc.) the default directory is used > > > > and can't be changed by the user. > > > > > > > > This has several problems: > > > > > > > > - The way to specify the different directories is not consistent. > > > > - Construct only properties require to use g_object_new to create a new > > > > WebContext, it's not a big deal, but it's not obvious either. > > > > - Setter methods makes you think that those options can be changed, and > > > > we need to document that you can only call them before anything is > > > > loaded to make sure no network process nor web process have been created > > > > yet. > > > > - Not having an option for all possible config values, means that ephy > > > > web apps or private profiles, are leaving some data outside the profile > > > > dir, for example. > > > > > > > > So, to fix all these issues the idea is to expose WebsiteDataStore > > > > somehow in our API. It could be a construct only property of > > > > WebKitWebContext, replacing local-storage-directory and > > > > indexed-db-directory. Adding also a new() method to WebKitWebContext > > > > that receives it. > > > > > > > > WebKitWebContext * > > > > webkit_web_context_new_with_website_data_manager (WebKitWebContext *context, > > > > WebKitWebsiteDataManager *mamager); > > > > > > > > When using webkit_web_context_new() a default website data manager is > > > > created with the default options, keeping the compatibility. > > > > > > > > With this we can deprecate WebKitWebContext:local-storage-directory, > > > > remove WebKitWebContext:indexed-db-directory and deprecate also > > > > webkit_web_context_set_disk_cache_directory() and all the issues > > > > mentioned previously would be solved. > > > > > > > > Now the thing is how to implement WebKitWebsiteDataManager to avoid > > > > having the same issues we had with the web context, so it should allow > > > > to configure all data store options. And here again we have the same > > > > problem with the options: > > > > > > > > - They could be construct-only properties, so it's clear that they > > > > can't be changed, but then we have the problem of how to create the > > > > object. We could just provide a new() method that uses varargs, and > > > > passes the values to g_object_new_valist(), similar to what > > > > webkit_settings_new_with_settings does. We could have new and > > > > new_with_values, but I think it would be better to only have new() > > > > expecting values (even if you can pass null), since users wanting the > > > > default values don't need to create a manager, letting the web context > > > > create it. > > > > - Or we could have setters, but again, we would need to document that > > > > they won't have any effect if called after a secondary process has been > > > > created. > > > > > > > > So, my proposal here would be something like: > > > > > > > > WebKitWebsiteDataManager * > > > > webkit_website_data_manager_new (const gchar *first_option_name, > > > > ...); > > > > > > > > const gchar * > > > > webkit_website_data_manager_get_local_storage_directory (WebKitWebsiteDataManager *manager); > > > > > > > > const gchar * > > > > webkit_website_data_manager_get_disk_cache_directory (WebKitWebsiteDataManager *manager); > > > > ..... > > > > > > > > > > > > This is only for configuration options, which is what we currently have > > > > somehow exposed in our API. However, the WebsiteDataStore also allows to > > > > manage the data, getting a list of origins/domains for a given data > > > > store (like the cookies manager but for databases, local storage, disk > > > > cache, memory cache, etc.). And also allows to remove any particular > > > > data for any origin/domain. We could also expose API for that, which > > > > will allow us to have a proper personal data manager in ephy, for > > > > example. But I'll leave that API proposal for a different mail to not > > > > make this one too long. > > > > > > > > Opinions? Objections? Suggestions? > > > > > > > > -- > > > > Carlos Garcia Campos > > > > http://pgp.rediris.es:11371/pks/lookup?op=get&search=0xF3D322D0EC4582C3 > > > > > > > > _______________________________________________ > > > > webkit-gtk mailing list > > > > webkit-gtk at lists.webkit.org > > > > https://lists.webkit.org/mailman/listinfo/webkit-gtk > > > > > > > > > > _______________________________________________ > > webkit-gtk mailing list > > webkit-gtk at lists.webkit.org > > https://lists.webkit.org/mailman/listinfo/webkit-gtk > > _______________________________________________ > webkit-gtk mailing list > webkit-gtk at lists.webkit.org > https://lists.webkit.org/mailman/listinfo/webkit-gtk -- Carlos Garcia Campos http://pgp.rediris.es:11371/pks/lookup?op=get&search=0xF3D322D0EC4582C3 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 181 bytes Desc: This is a digitally signed message part URL: From cgarcia at igalia.com Mon Jun 22 03:29:41 2015 From: cgarcia at igalia.com (Carlos Garcia Campos) Date: Mon, 22 Jun 2015 12:29:41 +0200 Subject: [webkit-gtk] WebsiteDataStore API proposal for handling data Message-ID: <1434968981.1672.91.camel@igalia.com> As I said in the other thread, the WebsiteDataStore class also allows to retrieve origins/domains with website data and delete website data for any particular origin/domain. The internal API uses the same methods for all kinds of data (local storage, disk cache, memory cache, etc.), using flags to specify the kind of data you are interested in. So, it's just 3 methods: void fetchData(WebsiteDataTypes, std::function)> completionHandler); void removeData(WebsiteDataTypes, std::chrono::system_clock::time_point modifiedSince, std::function completionHandler); void removeData(WebsiteDataTypes, const Vector&, std::function completionHandler); This requires a WebsiteDataRecord struct to know which type the result refers to. So, we could do something similar adding a boxed type for the WebsiteDataRecord struct and just two methods fetch_data and remove_data (I wouldn't expose the remove_modified_since for now). This API makes it very easy to add new data types, since it would be a matter of adding a new flag, and it could be more efficient when getting or removing different kinds of data at the same time. However, I think this kind of single API for everything is usually more confusing, and more difficult to use (and requires the extra boxed type), and operations over website data are not that frequent to require to be optimized. So, an alternative could be to use a different method for every kind of data. For example: void webkit_website_data_store_get_origins_with_local_storage (WebKitWebsiteDataManager *manager, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); GList * webkit_website_data_store_get_origins_with_local_storage_finish (WebKitWebsiteDataManager *manager, GAsyncResult *result, GError **error); void webkit_website_data_store_get_domains_with_plugin_data (WebKitWebsiteDataManager *manager, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); gchar ** webkit_website_data_store_get_domains_with_plugin_data_finish (WebKitWebsiteDataManager *manager, GAsyncResult *result, GError **error); void webkit_website_data_store_get_origins_with_memory_cache (WebKitWebsiteDataManager *manager, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); GList * webkit_website_data_store_get_origins_with_memory_cache_finish (WebKitWebsiteDataManager *manager, GAsyncResult *result, GError **error); ...... There would be one async method for every flag enum WebsiteDataTypes { WebsiteDataTypeCookies = 1 << 0, WebsiteDataTypeDiskCache = 1 << 1, WebsiteDataTypeMemoryCache = 1 << 2, WebsiteDataTypeOfflineWebApplicationCache = 1 << 3, WebsiteDataTypeSessionStorage = 1 << 4, WebsiteDataTypeLocalStorage = 1 << 5, WebsiteDataTypeWebSQLDatabases = 1 << 6, WebsiteDataTypeIndexedDBDatabases = 1 << 7, WebsiteDataTypeMediaKeys = 1 << 8, #if ENABLE(NETSCAPE_PLUGIN_API) WebsiteDataTypePlugInData = 1 << 9, #endif }; Except for cookies since we already have the WebKitCookieManager. Methods that work with domains will return a char** like cookie manager does, and the ones working with origins will return a GList of WebKitSecurityOrigin. This means we also need to expose SecurityOrigin in the API. It could probably be a boxed type. The methods to delete data would be similar, one for every type receiving a list of domains or origins, and another one for every type to remove all data (like the cookie manager). I'm not sure if the remove methods should also use the async pattern approach. The internal API has a completion handler, but just as a notification, it doesn't say if the removal was successful or not, for example. Users could use the async ready callback just to update the UI after a removal, for example. Cookie manager doesn't have the callback either, so not using the async pattern would be consistent with cookie manager. An alternative approach could be to group some of the data types together, but using an enum instead of flags, so you would still need to call the method for every type, for example: typedef enum { WEBKIT_WEBSITE_DATA_CACHE_MEMORY, WEBKIT_WEBSITE_DATA_CACHE_DISK, WEBKIT_WEBSITE_DATA_CACHE_OFFLINE_APPLICATION } WebKitWebsiteDataCacheType; void webkit_website_data_store_get_origins_with_cache (WebKitWebsiteDataManager *manager, WebKitWebsiteDataCacheType cache_type, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); GList * webkit_website_data_store_get_origins_with_cache_finish (WebKitWebsiteDataManager *manager, GAsyncResult *result, GError **error); get_origins_with_cache sounds a bit weird to me, maybe for caches, we could use get_origins_in_cache instead. Other types that could be grouped: - databases: WebSQL, IndexedDB - storage data: local storage, session storage. And a completely different approach could be to expose different managers for every data type or group of data types, similar to the current cookie manager. For example WebKitCacheDataManager, WebKitDatabaseDataManager, WebKitStorageDataManager, WebKitPluginDataManager, etc. The advantage of this approach is that we could add specific methods to any manager that don't make sense for the others. Those managers could be accessed through WebKitWebsiteDataManager and created on demand in the getters (we could move the cookie manager there too, for consistency). So, in summary, I think we have at least the following options: a) Use a single API for all with flags like the internal API b) Use a different method for every data type c) Use different method for every group of data types d) Use a manager class for every group of data types and move WebKitCookieManager too. Any other option? Any other thing I haven't considered? Which one you think is better? And whatever option we choose, we also need to decide whether to use async callbacks for remove methods or not and how to expose the SecurityOrigin. -- Carlos Garcia Campos http://pgp.rediris.es:11371/pks/lookup?op=get&search=0xF3D322D0EC4582C3 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 181 bytes Desc: This is a digitally signed message part URL: From svillar at igalia.com Mon Jun 22 03:41:17 2015 From: svillar at igalia.com (Sergio Villar Senin) Date: Mon, 22 Jun 2015 12:41:17 +0200 Subject: [webkit-gtk] WebsiteDataStore API proposal for handling data In-Reply-To: <1434968981.1672.91.camel@igalia.com> References: <1434968981.1672.91.camel@igalia.com> Message-ID: <5587E64D.2080701@igalia.com> On 22/06/15 12:29, Carlos Garcia Campos wrote: > So, in summary, I think we have at least the following options: > > a) Use a single API for all with flags like the internal API > b) Use a different method for every data type > c) Use different method for every group of data types > d) Use a manager class for every group of data types and move > WebKitCookieManager too. > > Any other option? Any other thing I haven't considered? Which one you > think is better? I think a) and b) are too fine grained, not sure which use cases might require such a level of detail. That's why I lean towards implementing c) (option d) seems a bit overkill) BR From mcatanzaro at igalia.com Mon Jun 22 05:31:43 2015 From: mcatanzaro at igalia.com (Michael Catanzaro) Date: Mon, 22 Jun 2015 07:31:43 -0500 Subject: [webkit-gtk] WebsiteDataStore API proposal for handling data In-Reply-To: <1434968981.1672.91.camel@igalia.com> References: <1434968981.1672.91.camel@igalia.com> Message-ID: <1434976303.2713.9.camel@igalia.com> On Mon, 2015-06-22 at 12:29 +0200, Carlos Garcia Campos wrote: > The methods to delete data would be similar, one for every type > receiving a list of domains or origins, and another one for every > type > to remove all data (like the cookie manager). I'm not sure if the > remove > methods should also use the async pattern approach. The internal API > has > a completion handler, but just as a notification, it doesn't say if > the > removal was successful or not, for example. Users could use the async > ready callback just to update the UI after a removal, for example. > Cookie manager doesn't have the callback either, so not using the > async > pattern would be consistent with cookie manager. I think the async pattern is important, otherwise there's no way to e.g. show a spinner while the operation is taking place, or know when it's complete. This is a problem in Epiphany right now; when you hit Clear Personal Data, the dialog immediately and the only way the user can know anything happened is to listen to the sound of the hard disk writing. I wonder why the internal API doesn't have any error detection. We should return a GError regardless, even if we can't set it currently, so that we can add errors in the future. > So, in summary, I think we have at least the following options: > > a) Use a single API for all with flags like the internal API > b) Use a different method for every data type > c) Use different method for every group of data types > d) Use a manager class for every group of data types and move > WebKitCookieManager too. > > Any other option? Any other thing I haven't considered? Which one you > think is better? Clearly (d) is the worst option, to add a bunch of classes to the API. I would do (b) since it's easiest to use, but (c) looks good too. From cgarcia at igalia.com Mon Jun 22 05:55:34 2015 From: cgarcia at igalia.com (Carlos Garcia Campos) Date: Mon, 22 Jun 2015 14:55:34 +0200 Subject: [webkit-gtk] WebsiteDataStore API proposal for handling data In-Reply-To: <1434976303.2713.9.camel@igalia.com> References: <1434968981.1672.91.camel@igalia.com> <1434976303.2713.9.camel@igalia.com> Message-ID: <1434977734.1672.97.camel@igalia.com> El lun, 22-06-2015 a las 07:31 -0500, Michael Catanzaro escribi?: > On Mon, 2015-06-22 at 12:29 +0200, Carlos Garcia Campos wrote: > > The methods to delete data would be similar, one for every type > > receiving a list of domains or origins, and another one for every > > type > > to remove all data (like the cookie manager). I'm not sure if the > > remove > > methods should also use the async pattern approach. The internal API > > has > > a completion handler, but just as a notification, it doesn't say if > > the > > removal was successful or not, for example. Users could use the async > > ready callback just to update the UI after a removal, for example. > > Cookie manager doesn't have the callback either, so not using the > > async > > pattern would be consistent with cookie manager. > > I think the async pattern is important, otherwise there's no way to > e.g. show a spinner while the operation is taking place, or know when > it's complete. This is a problem in Epiphany right now; when you hit > Clear Personal Data, the dialog immediately and the only way the user > can know anything happened is to listen to the sound of the hard disk > writing. This is a good point, my ssd doesn't make noise, so we need a ready callback to add a spinner or busy cursor. > I wonder why the internal API doesn't have any error detection. We > should return a GError regardless, even if we can't set it currently, > so that we can add errors in the future. Agree. > > So, in summary, I think we have at least the following options: > > > > a) Use a single API for all with flags like the internal API > > b) Use a different method for every data type > > c) Use different method for every group of data types > > d) Use a manager class for every group of data types and move > > WebKitCookieManager too. > > > > Any other option? Any other thing I haven't considered? Which one you > > think is better? > > Clearly (d) is the worst option, to add a bunch of classes to the API. > > I would do (b) since it's easiest to use, but (c) looks good too. My main concern with c) is if we eventually need a method specific to a type that doesn't make sense for the group or that can't implemented for other types of the group. By the way, I used webkit_website_data_store_ everywhere, but it would be webkit_website_data_manager_ > _______________________________________________ > webkit-gtk mailing list > webkit-gtk at lists.webkit.org > https://lists.webkit.org/mailman/listinfo/webkit-gtk > -- Carlos Garcia Campos http://pgp.rediris.es:11371/pks/lookup?op=get&search=0xF3D322D0EC4582C3 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 181 bytes Desc: This is a digitally signed message part URL: From mcatanzaro at igalia.com Mon Jun 22 06:46:57 2015 From: mcatanzaro at igalia.com (Michael Catanzaro) Date: Mon, 22 Jun 2015 08:46:57 -0500 Subject: [webkit-gtk] WebsiteDataStore API proposal for process configuration options In-Reply-To: <1434705481.1659.45.camel@igalia.com> References: <1434705481.1659.45.camel@igalia.com> Message-ID: <1434980817.2713.29.camel@igalia.com> On Fri, 2015-06-19 at 11:18 +0200, Carlos Garcia Campos wrote: > So, my proposal here would be something like: > > WebKitWebsiteDataManager * > webkit_website_data_manager_new (const gchar *first_option_name, > ...); > > const gchar * > webkit_website_data_manager_get_local_storage_directory > (WebKitWebsiteDataManager *manager); > > const gchar * > webkit_website_data_manager_get_disk_cache_directory > (WebKitWebsiteDataManager *manager); > ..... Well, thinking about this more.... The problem with this is that the next time we add a new type of website data -- say, HSTS and HPKP policy stores that necessarily will reveal your browsing history -- then this will fail unless the app developer knows to update his app for the new version of WebKit, to include the new directory in the call to webkit_website_data_manager_new(). I don't think developers really need to configure individually directories for websql, indexeddb, localstorage, etc. More important is to be able to put all those directories in the same place. So it would suffice to have a pair of properties to set the cache directory and the data directory, under which all the individual folders can live, so they don't have to be listed individually. Then when new types of data are added, they will automatically go in the right place without us needing to update applications. For example, in a tree like this: ~/.local/share/mycoolapp ~/.local/share/mycoolapp/localstorage ~/.local/share/mycoolapp/databases ~/.local/share/mycoolapp/databases/indexeddb ~/.cache/mycoolapp ~/.cache/mycoolapp/offline mycoolapp should only need to set the two top-level directories ~/.local/share/mycoolapp and ~/.cache/mycoolapp. I think it's harmless but unessential to allow finer-grained control. From cgarcia at igalia.com Mon Jun 22 06:55:45 2015 From: cgarcia at igalia.com (Carlos Garcia Campos) Date: Mon, 22 Jun 2015 15:55:45 +0200 Subject: [webkit-gtk] WebsiteDataStore API proposal for process configuration options In-Reply-To: <1434980817.2713.29.camel@igalia.com> References: <1434705481.1659.45.camel@igalia.com> <1434980817.2713.29.camel@igalia.com> Message-ID: <1434981345.1672.102.camel@igalia.com> El lun, 22-06-2015 a las 08:46 -0500, Michael Catanzaro escribi?: > On Fri, 2015-06-19 at 11:18 +0200, Carlos Garcia Campos wrote: > > So, my proposal here would be something like: > > > > WebKitWebsiteDataManager * > > webkit_website_data_manager_new (const gchar *first_option_name, > > ...); > > > > const gchar * > > webkit_website_data_manager_get_local_storage_directory > > (WebKitWebsiteDataManager *manager); > > > > const gchar * > > webkit_website_data_manager_get_disk_cache_directory > > (WebKitWebsiteDataManager *manager); > > ..... > > > Well, thinking about this more.... > > The problem with this is that the next time we add a new type of > website data -- say, HSTS and HPKP policy stores that necessarily will > reveal your browsing history -- then this will fail unless the app > developer knows to update his app for the new version of WebKit, to > include the new directory in the call to > webkit_website_data_manager_new(). I don't think developers really need > to configure individually directories for websql, indexeddb, > localstorage, etc. More important is to be able to put all those > directories in the same place. So it would suffice to have a pair of > properties to set the cache directory and the data directory, under > which all the individual folders can live, so they don't have to be > listed individually. Then when new types of data are added, they will > automatically go in the right place without us needing to update > applications. > > For example, in a tree like this: > > ~/.local/share/mycoolapp > ~/.local/share/mycoolapp/localstorage > ~/.local/share/mycoolapp/databases > ~/.local/share/mycoolapp/databases/indexeddb > ~/.cache/mycoolapp > ~/.cache/mycoolapp/offline > > mycoolapp should only need to set the two top-level directories > ~/.local/share/mycoolapp and ~/.cache/mycoolapp. I think it's harmless > but unessential to allow finer-grained control. Yes. I thought about that and I think it's a very good point. We could probably add base-data-directory and base-cache-directory to WebKitWebsiteDataManager, and use them if present as fallback when a particular directory is not provided. So it could be: if (foo_dir) return foo_dir; if (base_dir) return build_foo_dir (base_dir); return default_foo_dir; That would allow you to override individual options too. Most of the directories could be shared among applications using webkitgtk, so you might want to only provide app directories for a few of them (an all of them only for private instances). > _______________________________________________ > webkit-gtk mailing list > webkit-gtk at lists.webkit.org > https://lists.webkit.org/mailman/listinfo/webkit-gtk > -- Carlos Garcia Campos http://pgp.rediris.es:11371/pks/lookup?op=get&search=0xF3D322D0EC4582C3 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 181 bytes Desc: This is a digitally signed message part URL: From cgarcia at igalia.com Mon Jun 22 23:59:31 2015 From: cgarcia at igalia.com (Carlos Garcia Campos) Date: Tue, 23 Jun 2015 08:59:31 +0200 Subject: [webkit-gtk] WebKitGTK+ 2.9.3 released! Message-ID: <1435042771.1794.0.camel@igalia.com> WebKitGTK+ 2.9.3 is available for download at: http://webkitgtk.org/releases/webkitgtk-2.9.3.tar.xz (10.1MB) md5sum: ea81abf7715cd6da42888b35c4a67634 sha256sum: db8028ead6a92f1afda8a0b0d816a044dad6164db11cf87261919e49f0817a2a This is a development release leading toward 2.10 series. What's new in the WebKitGTK+ 2.9.3 release? =========================================== - Inhibit screen saver when playing full screen video. - Fix DOCUMENT_VIEWER cache model to actually disable the memory cache. - Fix a regression that prevented the WebKitWebView::context-menu signal from being emitted. - Update web inspector icon so Rendering Frames timeline distinguish between layout and painting. - Ensure fragment identifier part of URI is not removed for custom URI scheme requests. - Improve performance of keyboard events handling. - Expose element tag name as an object attribute to accessibility. - Fix the build with Wayland target enabled. What is WebKitGTK+? =================== WebKitGTK+ is the GNOME platform port of the WebKit rendering engine. Offering WebKit's full functionality through a set of GObject-based APIs, it is suitable for projects requiring any kind of web integration, from hybrid HTML/CSS applications to full-fledged web browsers. Requirements ============ gtk+ >= 3.6.0 glib >= 2.36 libsoup >= 2.42.0 cairo >= 1.10.2 libxml >= 2.8.0 libxslt >= 1.1.7 HarfBuzz >= 0.9.2 icu fontconfig >= 2.8.0 FreeType2 >= 2.4.2 libsecret SQLite enchant Depending on your configuration options WebKitGTK+ may also depend on: gtk+ >= 2.24.10 GObject introspection gstreamer >= 1.0.3 GeoClue >= 2.1.5 gudev cairo-gl >= 1.10.2 More information ================ If you want to know more about the project or get in touch with us you may: - Visit our website at http://www.webkitgtk.org, or the upstream site at http://www.webkit.org. People interested in contributing should read: http://www.webkit.org/coding/contributing.html. - Browse the bug list at http://bugs.webkit.org, WebKitGTK+ bugs are typically prefixed by "[GTK]." A bug report with a minimal, reproducible test case is often just as valuable as a patch. - Join the #webkit and #webkitgtk+ IRC channels at irc.freenode.net. - Subscribe to the WebKitGTK+ mailing list, http://lists.webkit.org/mailman/listinfo.cgi/webkit-gtk, or the WebKit development mailing list, http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev Thanks ====== Thanks to all the contributors who made possible this release, they are far too many to list! The WebKitGTK+ team, June 23, 2015 -- Carlos Garcia Campos http://pgp.rediris.es:11371/pks/lookup?op=get&search=0xF3D322D0EC4582C3 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 181 bytes Desc: This is a digitally signed message part URL: From mario at webkit.org Wed Jun 24 09:05:50 2015 From: mario at webkit.org (Mario Sanchez Prada) Date: Wed, 24 Jun 2015 17:05:50 +0100 Subject: [webkit-gtk] Crash on xLarge memory allocation with webkitgtk+ 2.8.3 Message-ID: Hi all, I've recently upgraded the version of WebKitGTK+ in our platform from 2.6.4 to 2.8.3 and, quite surprisingly, it crashes now when used from some of the components that embed WebKit, without any other change in the system other than that one. More specifically, this is an excerpt of the backtrace I'm seeing (full backtrace attached): (gdb) bt #0 allocateXLarge () at /home/mario/webkit2gtk-2.8.3+dfsg1/Source/bmalloc/bmalloc/Heap.cpp:287 #1 0xb4fc94f5 in allocateXLarge () at /home/mario/webkit2gtk-2.8.3+dfsg1/Source/bmalloc/bmalloc/Heap.cpp:293 #2 0xb4fc6ac4 in allocateXLarge () at /home/mario/webkit2gtk-2.8.3+dfsg1/Source/bmalloc/bmalloc/Allocator.cpp:227 #3 0xb4fc6b2e in allocateSlowCase () at /home/mario/webkit2gtk-2.8.3+dfsg1/Source/bmalloc/bmalloc/Allocator.cpp:245 #4 0xb4f95de2 in allocate () at /home/mario/webkit2gtk-2.8.3+dfsg1/Source/bmalloc/bmalloc/Allocator.h:86 #5 allocate () at /home/mario/webkit2gtk-2.8.3+dfsg1/Source/bmalloc/bmalloc/Cache.h:79 #6 malloc () at /home/mario/webkit2gtk-2.8.3+dfsg1/Source/bmalloc/bmalloc/bmalloc.h:43 #7 fastMalloc () at /home/mario/webkit2gtk-2.8.3+dfsg1/Source/WTF/wtf/FastMalloc.cpp:270 #8 0xb5592815 in allocateBuffer () at /home/mario/webkit2gtk-2.8.3+dfsg1/Source/WTF/wtf/Vector.h:269 #9 reserveCapacity () at /home/mario/webkit2gtk-2.8.3+dfsg1/Source/WTF/wtf/Vector.h:1090 #10 expandCapacity () at /home/mario/webkit2gtk-2.8.3+dfsg1/Source/WTF/wtf/Vector.h:951 #11 0xb5f766e1 in expandCapacity () at /home/mario/webkit2gtk-2.8.3+dfsg1/Source/WTF/wtf/Vector.h:958 #12 appendSlowCase () at /home/mario/webkit2gtk-2.8.3+dfsg1/Source/WTF/wtf/Vector.h:1219 #13 append () at /home/mario/webkit2gtk-2.8.3+dfsg1/Source/WTF/wtf/Vector.h:1210 #14 createOrDestroyTilesIfNeeded () at /home/mario/webkit2gtk-2.8.3+dfsg1/Source/WebCore/platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:89 #15 0xb5f77001 in updateContents () at /home/mario/webkit2gtk-2.8.3+dfsg1/Source/WebCore/platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:148 #16 0xb64aefb3 in updateBackingStoreIfNeeded () at /home/mario/webkit2gtk-2.8.3+dfsg1/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:549 #17 0xb64af095 in updateBackingStoreIncludingSubLayers () at /home/mario/webkit2gtk-2.8.3+dfsg1/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:519 #18 0xb64af0ed in updateBackingStoreIncludingSubLayers () at /home/mario/webkit2gtk-2.8.3+dfsg1/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:526 #19 0xb64af0ed in updateBackingStoreIncludingSubLayers () at /home/mario/webkit2gtk-2.8.3+dfsg1/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:526 [...] I've taken a look to the latest commits in trunk and even blindly applied the patch "Integer overflow in XLarge allocation (due to unchecked roundUpToMultipleOf)" (from bug 145385 [1]), but that did not work. For some reason I yet have not identified, the call to tryAllocateXLarge() from bmalloc::Heap::allocateXLarge() is returning NULL while in the process of updating the tiles in the backing store, but I believe this should not cause an OOM so I'm a bit confused now. Does anyone here perhaps have any idea of what could be going on here? If so, I would certainly appreciate some help :) Thanks in advance, Mario [1] https://bugs.webkit.org/show_bug.cgi?id=145385 -------------- next part -------------- A non-text attachment was scrubbed... Name: crash Type: application/octet-stream Size: 5260 bytes Desc: not available URL: From zan at falconsigh.net Wed Jun 24 11:00:54 2015 From: zan at falconsigh.net (zan at falconsigh.net) Date: Wed, 24 Jun 2015 20:00:54 +0200 Subject: [webkit-gtk] Crash on xLarge memory allocation with webkitgtk+ 2.8.3 In-Reply-To: References: Message-ID: <1435168854.2977640.306776353.43A46C49@webmail.messagingengine.com> On Wed, Jun 24, 2015, at 06:05 PM, Mario Sanchez Prada wrote: > Hi all, > > I've recently upgraded the version of WebKitGTK+ in our platform from > 2.6.4 to 2.8.3 and, quite surprisingly, it crashes now when used from > some of the components that embed WebKit, without any other change in > the system other than that one. > Any reproducible test case, perhaps on a public Web page? Cheers, Zan > More specifically, this is an excerpt of the backtrace I'm seeing > (full backtrace attached): > > (gdb) bt > #0 allocateXLarge () at > /home/mario/webkit2gtk-2.8.3+dfsg1/Source/bmalloc/bmalloc/Heap.cpp:287 > #1 0xb4fc94f5 in allocateXLarge () at > /home/mario/webkit2gtk-2.8.3+dfsg1/Source/bmalloc/bmalloc/Heap.cpp:293 > #2 0xb4fc6ac4 in allocateXLarge () at > /home/mario/webkit2gtk-2.8.3+dfsg1/Source/bmalloc/bmalloc/Allocator.cpp:227 > #3 0xb4fc6b2e in allocateSlowCase () at > /home/mario/webkit2gtk-2.8.3+dfsg1/Source/bmalloc/bmalloc/Allocator.cpp:245 > #4 0xb4f95de2 in allocate () at > /home/mario/webkit2gtk-2.8.3+dfsg1/Source/bmalloc/bmalloc/Allocator.h:86 > #5 allocate () at > /home/mario/webkit2gtk-2.8.3+dfsg1/Source/bmalloc/bmalloc/Cache.h:79 > #6 malloc () at > /home/mario/webkit2gtk-2.8.3+dfsg1/Source/bmalloc/bmalloc/bmalloc.h:43 > #7 fastMalloc () at > /home/mario/webkit2gtk-2.8.3+dfsg1/Source/WTF/wtf/FastMalloc.cpp:270 > #8 0xb5592815 in allocateBuffer () at > /home/mario/webkit2gtk-2.8.3+dfsg1/Source/WTF/wtf/Vector.h:269 > #9 reserveCapacity () at > /home/mario/webkit2gtk-2.8.3+dfsg1/Source/WTF/wtf/Vector.h:1090 > #10 expandCapacity () at > /home/mario/webkit2gtk-2.8.3+dfsg1/Source/WTF/wtf/Vector.h:951 > #11 0xb5f766e1 in expandCapacity () at > /home/mario/webkit2gtk-2.8.3+dfsg1/Source/WTF/wtf/Vector.h:958 > #12 appendSlowCase () at > /home/mario/webkit2gtk-2.8.3+dfsg1/Source/WTF/wtf/Vector.h:1219 > #13 append () at > /home/mario/webkit2gtk-2.8.3+dfsg1/Source/WTF/wtf/Vector.h:1210 > #14 createOrDestroyTilesIfNeeded () at > /home/mario/webkit2gtk-2.8.3+dfsg1/Source/WebCore/platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:89 > #15 0xb5f77001 in updateContents () at > /home/mario/webkit2gtk-2.8.3+dfsg1/Source/WebCore/platform/graphics/texmap/TextureMapperTiledBackingStore.cpp:148 > #16 0xb64aefb3 in updateBackingStoreIfNeeded () at > /home/mario/webkit2gtk-2.8.3+dfsg1/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:549 > #17 0xb64af095 in updateBackingStoreIncludingSubLayers () at > /home/mario/webkit2gtk-2.8.3+dfsg1/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:519 > #18 0xb64af0ed in updateBackingStoreIncludingSubLayers () at > /home/mario/webkit2gtk-2.8.3+dfsg1/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:526 > #19 0xb64af0ed in updateBackingStoreIncludingSubLayers () at > /home/mario/webkit2gtk-2.8.3+dfsg1/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:526 > [...] > > I've taken a look to the latest commits in trunk and even blindly > applied the patch "Integer overflow in XLarge allocation (due to > unchecked roundUpToMultipleOf)" (from bug 145385 [1]), but that did > not work. For some reason I yet have not identified, the call to > tryAllocateXLarge() from bmalloc::Heap::allocateXLarge() is returning > NULL while in the process of updating the tiles in the backing store, > but I believe this should not cause an OOM so I'm a bit confused now. > > Does anyone here perhaps have any idea of what could be going on here? > If so, I would certainly appreciate some help :) > > Thanks in advance, > Mario > > [1] https://bugs.webkit.org/show_bug.cgi?id=145385 > _______________________________________________ > webkit-gtk mailing list > webkit-gtk at lists.webkit.org > https://lists.webkit.org/mailman/listinfo/webkit-gtk > Email had 1 attachment: > + crash > 7k (application/octet-stream) From mario at webkit.org Wed Jun 24 13:58:37 2015 From: mario at webkit.org (Mario Sanchez Prada) Date: Wed, 24 Jun 2015 21:58:37 +0100 Subject: [webkit-gtk] Crash on xLarge memory allocation with webkitgtk+ 2.8.3 In-Reply-To: <1435168854.2977640.306776353.43A46C49@webmail.messagingengine.com> References: <1435168854.2977640.306776353.43A46C49@webmail.messagingengine.com> Message-ID: <558B19FD.5020404@webkit.org> On 24/06/15 19:00, zan at falconsigh.net wrote: > On Wed, Jun 24, 2015, at 06:05 PM, Mario Sanchez Prada wrote: >> Hi all, >> >> I've recently upgraded the version of WebKitGTK+ in our platform from >> 2.6.4 to 2.8.3 and, quite surprisingly, it crashes now when used from >> some of the components that embed WebKit, without any other change in >> the system other than that one. >> > > Any reproducible test case, perhaps on a public Web page? > Unfortunately, so far I can only reproduce this error by running an applications that embed WebKit and use it via GObject Introspection. I tried to write a simplified case I could share but could not do it yet, unfortunately, sorry about that. I understand this might be perhaps a corner case and probably the reason this has not been reported yet, but the truth is that I'm getting this crash reliably every time I run those apps, which used to work just fine with WebKitGTK+ 2.6.4, and only started crashing when installing the 2.8.3 version (every other single package in the system remained the same). I know this is unfortunate, so I'll keep investigating and see if I can get a simplified example to force the error to happen in other, more common, environments. In the meanwhile, if this rings any bell to anyone, please let me know. The graphics stack is something I'm not very familiar with, and seems it's somehow caused from there. Thanks, Mario From clopez at igalia.com Thu Jun 25 08:48:17 2015 From: clopez at igalia.com (Carlos Alberto Lopez Perez) Date: Thu, 25 Jun 2015 17:48:17 +0200 Subject: [webkit-gtk] Re: Crash on xLarge memory allocation with webkitgtk+ 2.8.3 In-Reply-To: References: Message-ID: <558C22C1.9050201@igalia.com> On 24/06/15 18:05, Mario Sanchez Prada wrote: > For some reason I yet have not identified, the call to > tryAllocateXLarge() from bmalloc::Heap::allocateXLarge() is returning > NULL while in the process of updating the tiles in the backing store, > but I believe this should not cause an OOM so I'm a bit confused now. 2.8.X includes the bmalloc memory allocator by default, while on 2.6.X the default allocator was tcmalloc (IIRC). I have seen a similar behaviour, when bmalloc fails to allocate memory it returns NULL and causes a crash on the webprocess. You may want to try to build with -DUSE_SYSTEM_MALLOC=ON but I don't think it will fix your problem. You will probably get an OOM situation instead of a crash. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 883 bytes Desc: OpenPGP digital signature URL: From mario at webkit.org Thu Jun 25 08:58:44 2015 From: mario at webkit.org (Mario Sanchez Prada) Date: Thu, 25 Jun 2015 16:58:44 +0100 Subject: [webkit-gtk] Crash on xLarge memory allocation with webkitgtk+ 2.8.3 In-Reply-To: <558C22C1.9050201@igalia.com> References: <558C22C1.9050201@igalia.com> Message-ID: <558C2534.8090905@webkit.org> On 25/06/15 16:48, Carlos Alberto Lopez Perez wrote: > [...] > 2.8.X includes the bmalloc memory allocator by default, while on 2.6.X > the default allocator was tcmalloc (IIRC). > Yes, I've seen that. It seems that tcmalloc is no longer available, though: http://trac.webkit.org/changeset/180457 > I have seen a similar behaviour, when bmalloc fails to allocate memory > it returns NULL and causes a crash on the webprocess. Thanks for sharing this. It's good to know I'm not the only one seeing this. Btw, I forgot to mention before that this system I'm working on is a 32-bit (Linux) one. Not sure that could have anything to do, though. > You may want to try to build with -DUSE_SYSTEM_MALLOC=ON but I don't > think it will fix your problem. You will probably get an OOM situation > instead of a crash. Yes, that's one of the first things I've tried, but I still get the crash using the system allocator. I'm still trying to debug this, but the fact that is a 32bit system is making debugging a bit more painful than usual. Thanks, Mario From mcatanzaro at igalia.com Sun Jun 28 08:27:33 2015 From: mcatanzaro at igalia.com (Michael Catanzaro) Date: Sun, 28 Jun 2015 10:27:33 -0500 Subject: [webkit-gtk] Crash on xLarge memory allocation with webkitgtk+ 2.8.3 In-Reply-To: References: Message-ID: <1435505253.10842.3.camel@igalia.com> See also https://bugzilla.redhat.com/show_bug.cgi?id=1225733 From philn at igalia.com Tue Jun 30 02:02:06 2015 From: philn at igalia.com (Philippe Normand) Date: Tue, 30 Jun 2015 11:02:06 +0200 Subject: [webkit-gtk] Encrypted Media support Message-ID: <1435654926.2564.3.camel@igalia.com> Hi, I'd like to add some EME support in WebKitGTK+. Here's what I thought about: - disable EME in default production build - downstream users would need to enable it if they need it - add a GStreamer ClearKey decryptor in platform/graphics, that would depend on GStreamer >= 1.5 - other DRM systems would need to be handled by downstream users The reason why this would depend on very recent GStreamer versions is that DRM support in upstream GStreamer was recently added. Any thoughts about this proposed plan? Philippe From calvaris at igalia.com Tue Jun 30 02:19:29 2015 From: calvaris at igalia.com (Xabier =?ISO-8859-1?Q?Rodr=EDguez?= Calvar) Date: Tue, 30 Jun 2015 11:19:29 +0200 Subject: [webkit-gtk] Encrypted Media support In-Reply-To: <1435654926.2564.3.camel@igalia.com> References: <1435654926.2564.3.camel@igalia.com> Message-ID: <1435655969.3676.7.camel@igalia.com> O Mar, 30-06-2015 ?s 11:02 +0200, Philippe Normand escribiu: > - disable EME in default production build > - downstream users would need to enable it if they need it > - add a GStreamer ClearKey decryptor in platform/graphics, that would > depend on GStreamer >= 1.5 > - other DRM systems would need to be handled by downstream users > > The reason why this would depend on very recent GStreamer versions is > that DRM support in upstream GStreamer was recently added. My only concern here is you have also planned to bump GStreamer requirement in internal JHBuild to 1.5 too. We might also want to add some compilation check for GStreamer 1.5 and fail in case it is not present. Br. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 181 bytes Desc: This is a digitally signed message part URL: From philn at igalia.com Tue Jun 30 02:33:09 2015 From: philn at igalia.com (Philippe Normand) Date: Tue, 30 Jun 2015 11:33:09 +0200 Subject: [webkit-gtk] Encrypted Media support In-Reply-To: <1435655969.3676.7.camel@igalia.com> References: <1435654926.2564.3.camel@igalia.com> <1435655969.3676.7.camel@igalia.com> Message-ID: <1435656789.2564.7.camel@igalia.com> On Tue, 2015-06-30 at 11:19 +0200, Xabier Rodr?guez Calvar wrote: > O Mar, 30-06-2015 ?s 11:02 +0200, Philippe Normand escribiu: > > - disable EME in default production build > > - downstream users would need to enable it if they need it > > - add a GStreamer ClearKey decryptor in platform/graphics, that > > would > > depend on GStreamer >= 1.5 > > - other DRM systems would need to be handled by downstream users > > > > The reason why this would depend on very recent GStreamer versions > > is > > that DRM support in upstream GStreamer was recently added. > > My only concern here is you have also planned to bump GStreamer > requirement in internal JHBuild to 1.5 too. We might also want to add > some compilation check for GStreamer 1.5 and fail in case it is not > present. > I don't plan to bump the GStreamer version in JHBuild until 1.6 is released, at least :) Also we should bump the required version in the CMake build, currently we depend on 1.0.x, so at some point we should bump that as well and maybe clean-up the unused code paths, but that's another discussion :) About EME, yes, I'll make the CMake stuff error out if EME is enabled but GStreamer >= 1.5 isn't present. Philippe From julien.isorce at gmail.com Tue Jun 30 03:49:45 2015 From: julien.isorce at gmail.com (Julien Isorce) Date: Tue, 30 Jun 2015 11:49:45 +0100 Subject: [webkit-gtk] Encrypted Media support In-Reply-To: <1435656789.2564.7.camel@igalia.com> References: <1435654926.2564.3.camel@igalia.com> <1435655969.3676.7.camel@igalia.com> <1435656789.2564.7.camel@igalia.com> Message-ID: Hi, I am not sure if clearkey allow you to access the raw video data after decryption and decoding. If not you I know only 2 solutions: - decoder and renderer can be setup to support DRM. I think a such setup can only happen at driver level. And ideally CPU should not be able to access this raw data. In the case of HW decoder and GL driver it will prevent to download the gltexture. For ex: you get a blackframe, same if you try to read back the content of the framebuffer. It will allow to safely manipulate gltexture ids in webkit compositing engine. I do not know if there are such existing GPU drivers. I remember seeing some DRM structure members in openmax platform specific headers on Raspberry-Pi but not sure if this is related and/or usable. - if the platform does not support DRM, it should fallback to video hole punching. A third-party will have to provide a gst element that implements these GStreamer DRM interfaces/meta. DRM support in GStreamer should be such that it allows to do that :) In that maybe we can revive this patch: https://bugs.webkit.org/show_bug.cgi?id=141560 I am not sure how CDM comes into the game but I guess this is the API that will connect EME javascript API to the gstreamer media player. What will be the sink and src caps for this GStreamer ClearKey decryptor ? As far as i know video hole punching is the technique used by chromium to support EME (I think video hole has been introduced in chromium in the first place to have EME on Android) I really wonder how iOS does support/implement EME ? (hole or driver) Cheers Julien On 30 June 2015 at 10:33, Philippe Normand wrote: > On Tue, 2015-06-30 at 11:19 +0200, Xabier Rodr?guez Calvar wrote: > > O Mar, 30-06-2015 ?s 11:02 +0200, Philippe Normand escribiu: > > > - disable EME in default production build > > > - downstream users would need to enable it if they need it > > > - add a GStreamer ClearKey decryptor in platform/graphics, that > > > would > > > depend on GStreamer >= 1.5 > > > - other DRM systems would need to be handled by downstream users > > > > > > The reason why this would depend on very recent GStreamer versions > > > is > > > that DRM support in upstream GStreamer was recently added. > > > > My only concern here is you have also planned to bump GStreamer > > requirement in internal JHBuild to 1.5 too. We might also want to add > > some compilation check for GStreamer 1.5 and fail in case it is not > > present. > > > > I don't plan to bump the GStreamer version in JHBuild until 1.6 is > released, at least :) Also we should bump the required version in the > CMake build, currently we depend on 1.0.x, so at some point we should > bump that as well and maybe clean-up the unused code paths, but that's > another discussion :) > > About EME, yes, I'll make the CMake stuff error out if EME is enabled > but GStreamer >= 1.5 isn't present. > > Philippe > _______________________________________________ > webkit-gtk mailing list > webkit-gtk at lists.webkit.org > https://lists.webkit.org/mailman/listinfo/webkit-gtk > -------------- next part -------------- An HTML attachment was scrubbed... URL: From rusty.boat92 at gmail.com Sat Jun 27 19:45:25 2015 From: rusty.boat92 at gmail.com (Rob Builder) Date: Sun, 28 Jun 2015 02:45:25 -0000 Subject: [webkit-gtk] Webkit-gtk long build times Message-ID: <558F607A.4030506@gmail.com> First my apologies for posting this question to you. My distribution is Gentoo and I'm running just an AMD Athlon64. (Sorry, the budget is very small over here, though the box I'm now going to build will be based on an i7-4770K.) My problem is that building any version of webkit-gtk requires large amounts of time to build. In the time frame of 2011 to 2012 2 to three hours were required. The time has now risen to 8-1/2 to 12 hours. I hope the quad core might help, but is there anything I can do system wise? Thanks in advance. Rob