Daniel Lazarenko | 26 Aug 13:44 2014

TestWebKitAPI doesn't initialize WKWebView from command line


I’m trying to run the WKWebView API tests using this command:
./TestWebKitAPI --gtest_filter=_WKDownload.DownloadRequest
This binary is located in webkit/WebKitBuild/Debug, I’ve built it using Xcode beta 6 on Yosemite.

This test fails, if I run it from command line.
It passes, if I run it from Xcode (I can set up the process to run and edit arguments if I edit scheme).

I’m new to this code, and such behaviour is quite surprising for me.

To be sure, I’ve placed “puts()” statements before, after and inside a call to [WKWebView
initWithFrame:]. This call happens in runTest function in
Tools/TestWebKitAPI/Tests/WebKit2Cocoa/Download.mm . If I run it from command line, the puts()
inside initWithFrame is not printing anything out.

What’s the difference? Why does it fail outside Xcode debugger?  

It also fails if the Xcode debugger is attached to the process that is run from command line.

Here’s the change I’ve made:

diff --git a/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm b/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm
index d6492df..321ac1f 100644
--- a/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm
+++ b/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm
 <at>  <at>  -212,6 +212,7  <at>  <at>  WKWebView* fromWebPageProxy(WebKit::WebPageProxy& page)

- (instancetype)initWithFrame:(CGRect)frame
(Continue reading)

Benjamin Poulain | 25 Aug 10:54 2014

WebKit2 EWS bots are sick


It looks like the WebKit2 EWS bots are having a bad time. They keep
timing out on a bunch of tests. Can anyone restart them?

Antti Koivisto | 22 Aug 20:07 2014

Please avoid inheriting concrete types over WebCore/WebKit boundary


To make callbacks from WebCore to WebKit(2) we have generally used approach where WebCore exports an abstract client interface which is then implemented on the WebKit side.

More recently there has been some proliferation of a pattern where we inherit directly from a concrete WebCore type and specialize it on the WebKit side, in some cases with a completely different implementation:

class WebResourceLoadScheduler : public WebCore::ResourceLoadScheduler {
class GraphicsLayerCARemote final : public WebCore::GraphicsLayerCA {

I don't think this is a good pattern. It makes understanding the code harder as you can no longer reason about it within the WebCore only (the WebCore side implementation you are looking at may be effectively dead code). It also blurs the library boundary (which is still useful at least as long as we support both WebKit and WebKit2). 

I think we should avoid this pattern in new code and possibly refactor some of the existing examples.


webkit-dev mailing list
webkit-dev <at> lists.webkit.org
Alex Christensen | 20 Aug 21:14 2014


I’m attempting to remove WebCore.exp.in, WebKitExports.def.in, and the associated build steps of
processing these files.  I’d like to continue (more carefully than I did earlier) unless anyone has any
objections.  This would involve the use of the new WEBCORE_EXPORT macro instead of maintaining 3 lists of
mangled names (Mac/iOS, Win32, Win64).

http://trac.webkit.org/changeset/172798 was progress.  I’ll be more careful and try not to break the
build as I go.

Zalan Bujtas | 18 Aug 20:14 2014


Hi Everyone,
I’d like to propose removing ENABLE(SUBPIXEL_LAYOUT), as every port has it enabled. As part of this
activity, I am planning to enable SATURATED_LAYOUT_ARITHMETIC by default.
Yong Li | 18 Aug 13:35 2014

Re: ftlopt merge - basically done

Has anyone managed to make an FTL build on Linux?

Yong Li
From: Sergio Villar Senin
Sent: ‎8/‎7/‎2014 11:58 AM
To: webkit-dev <at> lists.webkit.org
Subject: Re: [webkit-dev] ftlopt merge - basically done

On 06/08/14 23:35, Filip Pizlo wrote:
> Hi everyone,
> The JSC “ftlopt” branch is basically merged.  I think I have one more revision to merge over, and it is a minor one.  Please don’t land more things on the branch.  Landing on trunk is fine; it’s unlikely to get in my way as I merge the last revision over.
> Thanks to everyone who helped with diagnostic problems and fixing things!

For those not following the development in that branch, mind sharing
details about what that work was about?

webkit-dev mailing list
webkit-dev <at> lists.webkit.org
webkit-dev mailing list
webkit-dev <at> lists.webkit.org
Andy Estes | 18 Aug 08:54 2014

webkitbot unable to roll out patches

I tried using webkitbot tonight to roll out a patch, but it’s encountering an error running `update-webkit`.

[23:42:16]  <estes> webkitbot: rollout r172697 made two webarchive layout tests start flaking
[23:42:18]  <webkitbot> estes: Preparing rollout for http://trac.webkit.org/changeset/172697 ...
[23:42:39]  <webkitbot> Exception executing command: Failed to run "['Tools/Scripts/update-webkit']" exit_code: 1

Ossy rebooted the bot but the error persists. Perhaps something's gone wrong with the bot’s working copy?

webkit-dev mailing list
webkit-dev <at> lists.webkit.org
Osztrogonác Csaba | 15 Aug 11:10 2014

Mac WK1 EWS bots having issues


it seems the Apple Mac WK1 EWS bots have problems:

Last Pass: 11 hours, 57 minutes ago by webkit-ews-01
Unable to pass tests without patch (tree is red?)

Regressions: Unexpected text-only failures (30)
   compositing/plugins/composited-plugin.html [ Failure ]
   compositing/plugins/no-backing-store.html [ Failure ]
   compositing/plugins/small-to-large-composited-plugin.html [ Failure ]
   fast/frames/sandboxed-iframe-about-blank.html [ Failure ]
   fast/frames/sandboxed-iframe-navigation-allowed.html [ Failure ]
   fast/frames/sandboxed-iframe-plugins.html [ Failure ]
   fast/replaced/invalid-object-with-fallback.html [ Failure ]
   fullscreen/full-screen-plugin.html [ Failure ]
   http/tests/plugins/create-v8-script-objects.html [ Failure ]
   http/tests/plugins/cross-frame-object-access.html [ Failure ]
   http/tests/plugins/get-url-beforeunload-destroys-plugin.html [ Failure
   platform/mac/plugins/convert-point.html [ Failure ]
   platform/mac/plugins/supports-carbon-event-model.html [ Failure ]
   platform/mac/plugins/testplugin-onnew-onpaint.html [ Failure ]
   plugins/destroy-during-npp-new.html [ Failure ]
   plugins/destroy-plugin-from-callback.html [ Failure ]
   plugins/npruntime/browser-object-identity.html [ Failure ]
   plugins/npruntime/construct.html [ Failure ]
   plugins/npruntime/delete-plugin-within-invoke.html [ Failure ]
   plugins/npruntime/embed-property-equality.html [ Failure ]
   plugins/npruntime/embed-property-iframe-equality.html [ Failure ]
   plugins/npruntime/embed-property.html [ Failure ]
   plugins/npruntime/enumerate.html [ Failure ]
   plugins/npruntime/evaluate.html [ Failure ]
   plugins/npruntime/get-int-identifier-special-values.html [ Failure ]
   plugins/npruntime/get-property-return-value.html [ Failure ]
   plugins/npruntime/identifier-conversion.html [ Failure ]
   plugins/npruntime/invoke-browserfuncs.html [ Failure ]
   plugins/npruntime/invoke-default.html [ Failure ]
   plugins/npruntime/invoke.html [ Failure ]

It's so strange, because all (8) of the Mac WK1 EWS suffer
from this issue, but there isn't any failure on the buildbots.
How is it possible? I thought the buildbots and EWS bots
have exactly the same configuration.

Maybe https://trac.webkit.org/changeset/172608 is the culprit,
because there weren't any other relevant patch that time.

Rodrigo B Almeida | 14 Aug 19:08 2014

On the use of C++ exception handling

Dear all, I've been investigating the use of C++ exception handling constructs in open-source C++ projects (including webkit). Currently, I am conducting a survey on this subject and I would really appreciate if you could contribute to this research by answering a few questions.

The survey is available on-line:


All the best,

webkit-dev mailing list
webkit-dev <at> lists.webkit.org
Info | 14 Aug 13:09 2014

WebAudio time domain sample data range?

What is the range of the input sample data that the webaudio
implementation is dealing with (e.g. in  

Is it float values between -1 and 1, or is the data scaled

(I am trying to immitate the built-in logic of the AnalyzerNode, by  
running a JavaScript side FFT on the time domain data that I am  
getting in the "onaudioprocess" event of a ScriptProcessorNode. I am  
using all the scaling/transformation logic from RealtimeAnalyser.cpp  
but still my resuls are quite different from the built-in ones..)
Info | 14 Aug 13:08 2014

FFT normalization in RealtimeAnalyser

In order to understand the idiotic differences between the data ranges  
of the AnalyzerNode's getFloatFrequencyData() and  
getByteFrequencyData() APIs I finally found myself analyzing the  
WebKit sources:  

What surprises me there is the:
     const double magnitudeScale = 1.0 / DefaultFFTSize;
which is used to normalize the FFT results (see  

Should the correct scaling factor not rather be: 2/actualFftSize?