Lay Kuan Loh | 24 Jul 22:08 2016
Picon

Testing modifications to Webkit efficiently

Hi all, 

Newcomer to webkit here.

I am trying to modify WebKit for my own purposes. I do not plan to ship my modifications to the official codebase.

How would I check that the changes I make to WebKit did not break anything? For instance, I am making changes to the file WebKit/Source/WebCore/dom/Element.cpp and would like to test them incrementally.

From reading the documentation on using WebKit, it seems that I need to build the entire codebase by running build-webkit each time I want to test a new change I made. Given that it takes about 90 min to run the build on my laptop, this seems like an inefficient way of developing webkit.


I am trying to modify WebKit for my own purposes. I do not plan to ship my modifications to the official codebase.

How would I check that the changes I make to WebKit did not break anything? For instance, I am making changes to the file WebKit/Source/WebCore/dom/Element.cpp and would like to test them incrementally.

From reading the documentation on using WebKit, it seems that I need to build the entire codebase by running build-webkit each time I want to test a new change I made. Given that it takes about 90 min to run the build on my laptop, this seems like an inefficient way of developing webkit.

Am I missing something obvious, on how to speed up testing my changes to WebKit? I've googled around but for some reason can't find any clear instructions on doing this. 

I've also posted the same question to stack overflow here

Thanks!

<div><div dir="ltr">
<span>Hi all,&nbsp;</span><div><span><br></span></div>
<div>
<span>Newcomer to webkit here.</span><div><span><br></span></div>
<div>
<span>I am trying to modify&nbsp;</span><a href="https://webkit.org/" rel="nofollow">WebKit</a><span>&nbsp;for my own purposes. I do not plan to ship my modifications to the official codebase.</span><br><div><span><br></span></div>
<div>
<span>How would I check that the changes I make to WebKit did not break anything? For instance, I am making changes to the file&nbsp;</span>WebKit/Source/WebCore/dom/Element.cpp<span>&nbsp;and would like to test them incrementally.</span><span><br></span>
</div>
<div><span><br></span></div>
<div>
<span>From reading&nbsp;</span><a href="https://webkit.org/building-webkit/" rel="nofollow">the documentation</a><span>&nbsp;on using WebKit, it seems that I need to build the entire codebase by running&nbsp;</span>build-webkit<span>&nbsp;each time I want to test a new change I made. Given that it&nbsp;</span>takes about 90 min to run the build<span>&nbsp;on my laptop, this seems like an inefficient way of developing webkit.</span>
</div>
<div><table><tr><td class="gmail-postcell"><div><div class="gmail-post-text">
<p><br class="gmail-Apple-interchange-newline">I am trying to modify&nbsp;<a href="https://webkit.org/" rel="nofollow">WebKit</a>&nbsp;for my own purposes. I do not plan to ship my modifications to the official codebase.</p>
<p>How would I check that the changes I make to WebKit did not break anything? For instance, I am making changes to the file&nbsp;WebKit/Source/WebCore/dom/Element.cpp&nbsp;and would like to test them incrementally.</p>
<p>From reading&nbsp;<a href="https://webkit.org/building-webkit/" rel="nofollow">the documentation</a>&nbsp;on using WebKit, it seems that I need to build the entire codebase by running&nbsp;build-webkit&nbsp;each time I want to test a new change I made. Given that it&nbsp;takes about 90 min to run the build&nbsp;on my laptop, this seems like an inefficient way of developing webkit.</p>
<p>Am I missing something obvious, on how to speed up testing my changes to WebKit?&nbsp;<span>I've googled around but for some reason can't find any clear instructions on doing this.&nbsp;</span></p>
<p><span>I've also posted the same question to stack overflow <a href="http://stackoverflow.com/questions/38555968/testing-changes-i-make-to-webkit-efficiently">here</a>.&nbsp;</span></p>
<p><span>Thanks!</span><br></p>
</div></div></td></tr></table></div>
</div>
</div>
</div></div>
Niveditha Rau | 19 Jul 07:36 2016
Picon

need help resolving gtk2/gtk3 conflict while building webkitgtk

I am trying to build webkitgtk 2.8.4 and running into this issue.  Is this a known problem?    I have gtk 2.24.28
and gtk 3.18.0 installed on the system that I am trying to build this on.

Thanks
Niveditha

[ 85%] Building CXX object Source/WebKit2/CMakeFiles/WebKit2.dir/Shared/API/APIURLRequest.cpp.o
In file included from /usr/include/gtk-2.0/gdk/gdkscreen.h:32:0,
                 from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:31,
                 from /usr/include/gtk-2.0/gdk/gdk.h:32,
                 from /usr/include/gtk-2.0/gtk/gtk.h:32,
                 from /webkitgtk4/build/i86/Source/WebCore/platform/gtk/GUniquePtrGtk.h:23,
                 from /webkitgtk4/build/i86/DerivedSources/ForwardingHeaders/WebCore/GUniquePtrGtk.h:1,
                 from /webkitgtk4/build/i86/Source/WebKit2/Shared/NativeWebTouchEvent.h:36,
                 from /webkitgtk4/build/i86/Source/WebKit2/UIProcess/WebPageProxy.h:89,
                 from /webkitgtk4/build/i86/Source/WebKit2/UIProcess/WebProcessProxy.h:38,
                 from /webkitgtk4/build/i86/Source/WebKit2/UIProcess/WebProcessPool.h:45,
                 from /webkitgtk4/build/i86/Source/WebKit2/Shared/API/APIURLRequest.cpp:30:
/usr/include/gtk-2.0/gdk/gdktypes.h:114:39: error: conflicting declaration 'typedef struct
_GdkDrawable GdkWindow'
 typedef struct _GdkDrawable           GdkWindow;
                                       ^
In file included from /webkitgtk4/build/i86/Source/WTF/wtf/Platform.h:937:0,
                 from /webkitgtk4/build/i86/Source/WebKit2/WebKit2Prefix.h:31,
                 from <command-line>:0:
/webkitgtk4/build/i86/Source/WTF/wtf/gobject/GTypedefs.h:103:27: note: previous declaration as
'typedef struct _GdkWindow GdkWindow'
 typedef struct _GdkWindow GdkWindow;
                           ^
gmake[2]: *** [Source/WebKit2/CMakeFiles/WebKit2.dir/build.make:2696:
Source/WebKit2/CMakeFiles/WebKit2.dir/Shared/API/APIURLRequest.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:1058: Source/WebKit2/CMakeFiles/WebKit2.dir/all] Error 2
gmake: *** [Makefile:150: all] Error 2
Lay Kuan Loh | 18 Jul 02:33 2016
Picon

iCloud authentication error on Webkit when running "run-safari"

Hi, 

I keep getting this error when trying to run the dev version:

LK-MBP:~ lkloh$ run-safari 

Starting SafariForWebKitDevelopment with DYLD_FRAMEWORK_PATH set to point to built WebKit in /Users/lkloh/WebKit/WebKitBuild/Release.

2016-07-17 20:21:02.996 SafariForWebKitDevelopment[27809:842806] AOSKit ERROR: XPC CLIENT: Unauthorized client error received

2016-07-17 20:21:03.000 SafariForWebKitDevelopment[27809:842809] [AOSAccounts] : [__49-[ACAccountStore(iCloudAccount) icaAppleAccounts]_block_invoke] : accountsWithAccountType returned error: Error Domain=com.apple.accounts Code=9 "(null)"

2016-07-17 20:21:03.001 SafariForWebKitDevelopment[27809:842809] [AOSAccounts] : [__49-[ACAccountStore(iCloudAccount) icaAppleAccounts]_block_invoke] : accountsWithAccountType returned error: Error Domain=com.apple.accounts Code=9 "(null)"

Any ideas what when wrong? Googling the error comes up with nothing.

I am running on OSX el-Capitan (latest), xcode 7.3 (latest), but java for developers is the older version from 2013 because that's when my developer privileges expired.

Thanks!

LK 

<div><div dir="ltr">Hi,&nbsp;<div><br></div>
<div>I keep getting this error when trying to run the dev version:</div>
<div><br></div>
<div>

<p class=""><span class="">LK-MBP:~ lkloh$ run-safari&nbsp;</span></p>
<p class=""><span class="">Starting SafariForWebKitDevelopment with DYLD_FRAMEWORK_PATH set to point to built WebKit in /Users/lkloh/WebKit/WebKitBuild/Release.</span></p>
<p class=""><span class="">2016-07-17 20:21:02.996 SafariForWebKitDevelopment[27809:842806] AOSKit ERROR: XPC CLIENT: Unauthorized client error received</span></p>
<p class=""><span class="">2016-07-17 20:21:03.000 SafariForWebKitDevelopment[27809:842809] [AOSAccounts] : [__49-[ACAccountStore(iCloudAccount) icaAppleAccounts]_block_invoke] : accountsWithAccountType returned error: Error Domain=com.apple.accounts Code=9 "(null)"</span></p>
<p class=""><span class="">2016-07-17 20:21:03.001 SafariForWebKitDevelopment[27809:842809] [AOSAccounts] : [__49-[ACAccountStore(iCloudAccount) icaAppleAccounts]_block_invoke] : accountsWithAccountType returned error: Error Domain=com.apple.accounts Code=9 "(null)"</span></p>
<p class="">Any ideas what when wrong? Googling the error comes up with nothing.<br></p>
<p class=""><span class="">I am running on OSX el-Capitan (latest), xcode 7.3 (latest), but java for developers is the older version from 2013 because that's when my developer privileges expired.</span></p>
<p class="">Thanks!<br></p>
<p class=""><span class="">LK&nbsp;</span></p>
</div>
</div></div>
Jesse | 14 Jul 08:54 2016
Picon

Creating new tabs

I'm a complete beginner in GUI programming. My first major project? A 
web browser. I have to say, It's come a LONG way. I have forward and 
back buttons (which only show when available). I have an address bar 
which can search the web and correct urls missing protocol prefixes. I 
have tabs and a way to update the address bar and title bar when tabs 
are changed. The purpose of my browser is to add features which most 
browsers don't have (but should): single-key minimization (we can all 
guess what that's for). Built-in torrent downloading, password access, 
browser storage encryption, etc.

I can't seem to get how new windows/tabs work with webkit2 though. I 
have a main webkit variable running as "session" and I spawn new tabs 
from this. Also, I'm using Gtk3. However, I don't know how to receive a 
signal and uri of a new tab when the browser itself requests it. I'm 
currently connecting webview::decide-policy to a function so that when a 
webview calls for a new tab, I know about it. I just cannot decipher the 
uri that my new tab needs to point to.

Thanks for your time.
Arthur TOUMASSIAN | 26 May 14:14 2016
Picon

WebRTC support

Hi,

I saw that WebRTC feature is being developed (already done for webkitGetUserMedia). I was wondering if you can approximately say when it will be in testing or ready state?

Thanks!
<div><div dir="ltr">Hi,<br><br>I saw that WebRTC feature is being developed (already done for webkitGetUserMedia). I was wondering if you can approximately say when it will be in testing or ready state?<div><br></div>
<div>Thanks!</div> 		 	   		  </div></div>
Konstantin Tokarev | 22 Apr 18:29 2016
Picon

Are RunLoop::Timer::start() and stop() expected to be thread safe?

Hello,

Are RunLoop::Timer::start() and stop() expected to be thread safe?

For example, VideoRenderRequestScheduler[1] uses Timer::startOneShot() with zero interval as a mean
to run task in other thread, which can be cancelled. Timer is initialized with RunLoop::main(), and
startOneShot(0) is called from differenet thread.

This approach works at least for GTK and EFL ports, however I'm wondering if this is a correct way to do in
principle, or there is better approach which does not involve starting Timer from different thread.

[1] WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp

--

-- 
Regards,
Konstantin
Krishnan | 9 Apr 15:40 2016
Picon
Gravatar

Sending custom signals from WebProcess

Hi all,

I need to send some notification to UI Process from WebProcess. Is there any  I could send custom GTK signals from my Web Process so that I could connect to that signal in UI process.

I have read about sending "User script messages" using webkit_dom_dom_window_webkit_message_handlers_post_message.  But these api's not present in my version of webkit2gtk. Is there any alternative methods present in previous version of webkit ?


Thanks,
Krishnan M
<div><div dir="ltr">
<div>
<div>
<div>Hi all,<br><br>
</div>I need to send some notification to UI Process from WebProcess. Is there any&nbsp; I could send custom GTK signals from my Web Process so that I could connect to that signal in UI process.<br><br>
</div>I have read about <span class=""><span>sending "User script messages" using </span></span>webkit_dom_dom_window_webkit_message_handlers_post_message.&nbsp; But these api's not present in my version of webkit2gtk. Is there any alternative methods present in previous version of webkit ?<br><br><br>
</div>
<div>Thanks,<br>
</div>
<div>Krishnan M<br>
</div>
</div></div>
Antonio Gomes | 5 Apr 17:06 2016

Re: [webkit-dev] DumpRenderTree objects not getting inserted in window object

It would be helpful if you could detail a bit more about what specific
port of WebKit you are using, and what kind of modification you have
done.

PS: Usually crosspost'ing to different mailing lists is not
recommended. I have BCC'ed webkit-dev.

On Tue, Apr 5, 2016 at 8:11 AM, ankit srivastav <ank.cpp@...> wrote:
> We are using webkit as one of our module i.e. building webkit with our own
> application.
> Migrated from revision 164362 to 187486.
> In revision 164362 DumpRenderTree test cases were working fine.
> Now we have used Cmake build tool to build our system.
> Modified the build files and compiled the webkit.
>
> But now windows.testRunner and window.eventSender object is not working.
>
> Debugged the code , found that JS API is being used to inject testRunner and
> eventSender object in window object.
> JSObject.h putDirect () function is getting called correctly.
>
> Can some one provide any idea what has been changed internally?
> Any pointers are welcome.
>
> TIA,
> Ankit
>
>
>
>
> _______________________________________________
> webkit-dev mailing list
> webkit-dev@...
> https://lists.webkit.org/mailman/listinfo/webkit-dev
>
ankit srivastav | 5 Apr 14:11 2016
Picon

DumpRenderTree objects not getting inserted in window object

We are using webkit as one of our module i.e. building webkit with our own application.
Migrated from revision 164362 to 187486.
In revision 164362 DumpRenderTree test cases were working fine.
Now we have used Cmake build tool to build our system.
Modified the build files and compiled the webkit.

But now windows.testRunner and window.eventSender object is not working.

Debugged the code , found that JS API is being used to inject testRunner and eventSender object in window object.
JSObject.h putDirect () function is getting called correctly.

Can some one provide any idea what has been changed internally?
Any pointers are welcome.

TIA,
Ankit



<div><div dir="ltr">
<div>We are using webkit as one of our module i.e. building webkit with our own application.</div>Migrated from revision 164362 to 187486.<div>In revision 164362 DumpRenderTree test cases were working fine.</div>
<div>Now we have used Cmake build tool to build our system.</div>
<div>Modified the build files and compiled the webkit.</div>
<div><br></div>
<div>But now windows.testRunner and window.eventSender object is not working.</div>
<div><br></div>
<div>Debugged the code , found that JS API is being used to inject testRunner and eventSender object in window object.</div>
<div>JSObject.h putDirect () function is getting called correctly.</div>
<div><br></div>
<div>Can some one provide any idea what has been changed internally?</div>
<div>Any pointers are welcome.</div>
<div><br></div>
<div>TIA,</div>
<div>Ankit</div>
<div><br></div>
<div><br></div>
<div><br></div>
</div></div>
Brian Barnes | 28 Mar 07:28 2016
Picon

Slow Performance on Ray Tracing and Pointer Lock

I put in two bug reports (25254565 and 25254546) in the bug reporter for these.

I’m working on a javascript 3D engine where every pixel, sound, normal, spec, shadow map, etc, is dynamically created.  It’s in the early stage, but Safari has a couple problems.

The software has two stages: one, where it creates all the assets, and then the second, where it uses them to play a game.  Chrome, FF, and Safari run the second part well (but sometimes Safari has a little more trouble with in-between frame GCs, but it’s pretty good all around.)  The first part gives Safari fits, and most notably when the system ray-traces the map surfaces to build a light map.  For a good sized map it takes about a minute on Chrome or FF, but Safari takes well over 8 minutes.  In that one piece it’s surprisingly inefficient in Safari.

The second point is that there seems to be absolutely no public discussion on Pointer Lock, which is something I’ve obviously need and seems to be part of the spec now.  You feature list on the safari blog doesn’t have it.  Is this coming?  Is there anything I should be aware of expecting it to be there (i.e., it’s part of some fight, not that you could tell me, anyway!)

Thanks!

Here’s the software, feel free to use it to test you’re new javascript builds, it very much stresses the system:


[>] Brian
<div>I put in two bug reports (25254565 and 25254546) in the bug reporter for these.<div class=""><br class=""></div>
<div class="">I&rsquo;m working on a javascript 3D engine where every pixel, sound, normal, spec, shadow map, etc, is dynamically created. &nbsp;It&rsquo;s in the early stage, but Safari has a couple problems.</div>
<div class=""><br class=""></div>
<div class="">The software has two stages: one, where it creates all the assets, and then the second, where it uses them to play a game. &nbsp;Chrome, FF, and Safari run the second part well (but sometimes Safari has a little more trouble with in-between frame GCs, but it&rsquo;s pretty good all around.) &nbsp;The first part gives Safari fits, and most notably when the system ray-traces the map surfaces to build a light map. &nbsp;For a good sized map it takes about a minute on Chrome or FF, but Safari takes well over 8 minutes. &nbsp;In that one piece it&rsquo;s surprisingly inefficient in Safari.</div>
<div class=""><br class=""></div>
<div class="">The second point is that there seems to be absolutely no public discussion on Pointer Lock, which is something I&rsquo;ve obviously need and seems to be part of the spec now. &nbsp;You feature list on the safari blog doesn&rsquo;t have it. &nbsp;Is this coming? &nbsp;Is there anything I should be aware of expecting it to be there (i.e., it&rsquo;s part of some fight, not that you could tell me, anyway!)</div>
<div class=""><br class=""></div>
<div class="">Thanks!</div>
<div class=""><br class=""></div>
<div class="">Here&rsquo;s the software, feel free to use it to test you&rsquo;re new javascript builds, it very much stresses the system:</div>
<div class=""><br class=""></div>
<div class=""><a href="http://www.klinksoftware.com/ws/" class="">http://www.klinksoftware.com/ws/</a></div>
<div class=""><br class=""></div>
<div class="">[&gt;] Brian</div>
</div>
xiaoxu | 28 Mar 02:56 2016

Need help about debug webkitProcess using XCode

Hi all,
I want some help about how to debug webProcess in XCode.

Recently I compiled browser based on webkit2 successfully, and I could debug minibrowser process through some settings. But what I want to do is to debug webprocess, as I want to using debugging method to understand webprocess better. 
The question is when I want to attach the webprocess to debug, I could not find this process. 

So my question here is how to find and attach webprocess to debug when I run minibrowser process, and if there might be some settings to do when I want to build webprocess, how could I set the XCode.

This is my question, looking forward to your answer and suggestion. Thank you very much!

Have a nice day!

------------------
Xiaoxu Lian 廉晓旭
tel:18601749056
xiaoxulian <at> qq.com
 
<div>
<div>Hi all,</div>
<div>I want some help about how to debug webProcess in XCode.</div>
<div><br></div>
<div>Recently I compiled browser based on webkit2 successfully, and I could debug minibrowser process through some settings. But what I want to do is to debug webprocess, as I want to using debugging method to understand webprocess better.&nbsp;</div>
<div>The question is when I want to attach the webprocess to debug, I could not find this process.&nbsp;</div>
<div><br></div>
<div>So my question here is how to find and attach webprocess to debug when I run minibrowser process, and if there might be some settings to do when I want to build webprocess, how could I set the XCode.</div>
<div><br></div>
<div>This is my question, looking forward to your answer and suggestion. Thank you very much!</div>
<div><br></div>
<div>Have a nice day!</div>
<div><br></div>
<div>
<div>------------------</div>
<div>Xiaoxu Lian &#24265;&#26195;&#26093;<div>tel:18601749056</div>
<div>xiaoxulian <at> qq.com</div>
</div>
</div>
<div>&nbsp;</div>
</div>

Gmane