youenn fablet | 9 Oct 18:32 2015

JS Builtins invading WebCore


A quick note that JS builtins are now available in WebCore for WebIDL defined methods, attributes and constructors.

WebIDL keywords (JSBuiltin and JSBuiltinConstructor) are added for that purpose.

This may be handy for those functions that are wrappers over other functions for instance.

Some examples can be found in the streams API implementation (Source/WebCore/Modules/streams/*)

webkit-dev mailing list
webkit-dev <at>
Jon Davis | 9 Oct 02:11 2015

Fall WebKit Contributors Meeting - Registration Open

Hello WebKit Contributors,

Apple will again be hosting a WebKit Contributors Meeting this year. We’re moving the meeting to the fall
timeframe in order to align contributor input with feature development.

It will be held on Apple’s Infinite Loop campus in Cupertino on Wednesday, November 11, and Thursday,
November 12. Following the precedent, the event will use an "unconference" format, allowing time for
impromptu sessions, discussions, and hacking.

As always, to attend you must be an active WebKit contributor. The meeting will be free of charge, and
registration is open. Sign up at to reserve your spot. Registration
deadline is Thursday, October 29.

We look forward to seeing you there!


Jon Davis
Attachment (smime.p7s): application/pkcs7-signature, 4814 bytes
webkit-dev mailing list
webkit-dev <at>
Vienneau, Christopher | 2 Oct 22:29 2015

Re: [webkit-help] Issue with Web Inspector debugger breakpoint handling (on Wincairo)

Hey Guys,


I’m redirecting Rupali’s enquiry about WebInspector’s Debugger and WinCairo to a new audience.  I came across this again the other day, I think all the debug information Rupali provided is still accurate for our current state.  In brief, when a breakpoint is hit in the debugger the pane that should show the source gets stuck as a circular time spinner.  This blocks a lot of functionality sine you can’t see what you’re debugging.  We would appreciate any tips on how to resolve this in WinCairo since our port behaves the same way.






From: webkit-help-bounces <at> [mailto:webkit-help-bounces <at>] On Behalf Of Sharma, Rupali
Sent: Monday, August 31, 2015 11:34 AM
To: Sharma, Rupali <rupsharma <at>>; webkit-help <at>
Subject: Re: [webkit-help] Issue with Web Inspector debugger breakpoint handling (on Wincairo)


Hi folks,


Are you aware of this issue with web Inspector which we see on WinCairo?





From: webkit-help-bounces <at> [mailto:webkit-help-bounces <at>] On Behalf Of Sharma, Rupali
Sent: Wednesday, August 26, 2015 11:16 AM
To: webkit-help <at>
Subject: [webkit-help] Issue with Web Inspector debugger breakpoint handling (on Wincairo)




We are seeing an issue with the Web Inspector debugger on latest WinCairo [ using Webkit r188436]. In the wincairo webinpector, whenever a breakpoint is set and then web page reload on a javascript source, the view goes on into some indefinite waiting and never shows up, until we press continue-script-execution or another page-refresh.


Here are the simple steps to reproduce it,

1.       Launch WinCairo and go to

2.       Open Web inspector and open the script source of any .js script

3.       Set a breakpoint anywhere

4.       Reload the web page


What we see is the spinner spinning and never the script source. However, if one presses continue-script-execution from the debugger controls, we get the view back.


Some points of debugging we did at our end,

(i) We did some digging around the breakpoint setting, and do see the flow correctly being going to handlepause() of the ScriptDebugServer. Though I see the vmEntryGlobalObject is not updated with any value or callframe.

I did not see any abnormality in the listener dispatching callback, with the correct pause-reason to pass i.e. Breakpoint. However, I am not sure if its sending the right pause-data to the frontend.


(ii)It gets stuck in the infinite eventloop which does look fine to me, as long as it is paused.


(iii)Another observation I see is, the message “TimelineRecordingStopped” being sent to the frontend. I believe, this is something newly added and not sure, if at all it’ll effect the debugger scriptsource in any way. [reference : doDispatchMessageOnFrontendPage]


(iv)Coming onto the Web inspector UI side of story, I did see one bug, that even though  the method in DebuggerManager.js  “debuggerDidPausegot the right pause-reason from the webkit, its not able to pass on correctly due to an apparent bug in

_pauseReasonFromPayload: function(payload)

Here, the input payload does not match any of the  DebuggerAgent.PausedReason and hence falls to the error of unknown reason. The correct string to match would be “Breakpoint”. However, correcting the flow still doesn’t give us any favorable behavior. Though, I believe it’s good to know.


Would you have a better insight as to what exactly is blocking the script source to display in the paused-state of web inspector debugger?


The output log looks like:

EAWebKit:Event kLETResourceResponseReceived : The server has responded to a resource request URL - with status = 200

EAWebKit:Event kLETLoadCompletedWithoutErrors : The load is completed without errors

Total Page Loaded                     : 1.139

Total Page Lib Tick Update                                              : 0.604  Slowest:: 0.521

Total Page View Tick Update           : 0.000  Slowest:: 0.000

Total Page Network Tick Update        : 0.000

Total Jobs Loop                       : 0.503  Slowest:: 0.489

Total Page Script                     : 0.000  Slowest:: 0.000

Font Glyph Draw                       : 0.000

Bitmap Image Draw                     : 0.000

Bitmap Image Decoder                  : 0.000

Image Compression                     : 0.000

Font/Image Raster Draw                : 0.000

TH Connect                            : 0.000

TH Transfer                           : 0.000

TH Disconnect                         : 0.000

TH Size                               : 0

TH Files                              : 0

Cached Connect                        : 0.000

Cached Transfer                       : 0.000

Cached Disconnect                     : 0.000

Cached Size                           : 0

Cached files                          : 0

Java Script Parse                     : 0.000

Java Script Execute                   : 0.000

CSS Sheet Parse                       : 0.000

Font Loading Time                     : 0.000

Page user1                            : 0.000

Page user2                            : 0.000

Page user3                            : 0.000

EAWebKit:Event kLETResourceResponseReceived : The server has responded to a resource request URL -,d/rt=j/d=1/t=zcms/rs=ACT90oGH2j95ix8dWTU-Ejrgyf_E0GhQSQ with status = 200

2015/08/26-10:51:01.462 protoupnp: multicasting discovery request

EAWebKit: JS - file:///C:/EAOS/EAOS/EAWebKit/SB/InternalTeam/w-179714/EAWebKitDemoUTFWin/dev/data/WebInspectorUI/UserInterface/Controllers/DebuggerManager.js Line-464 Column-20 Message: DebuggerDidPause called ---->  got some data and reason

EAWebKit: JS - file:///C:/EAOS/EAOS/EAWebKit/SB/InternalTeam/w-179714/EAWebKitDemoUTFWin/dev/data/WebInspectorUI/UserInterface/Controllers/DebuggerManager.js Line-465 Column-20 Message: pause reason isBreakpoint

EAWebKit: JS - file:///C:/EAOS/EAOS/EAWebKit/SB/InternalTeam/w-179714/EAWebKitDemoUTFWin/dev/data/WebInspectorUI/UserInterface/Controllers/DebuggerManager.js Line-466 Column-20 Message: pause data is[object Object]

EAWebKit: JS - file:///C:/EAOS/EAOS/EAWebKit/SB/InternalTeam/w-179714/EAWebKitDemoUTFWin/dev/data/WebInspectorUI/UserInterface/Controllers/DebuggerManager.js Line-628 Column-20 Message: 1. payload to _pauseReasonFrompaylod is Breakpoint

EAWebKit: JS - file:///C:/EAOS/EAOS/EAWebKit/SB/InternalTeam/w-179714/EAWebKitDemoUTFWin/dev/data/WebInspectorUI/UserInterface/Controllers/DebuggerManager.js Line-635 Column-23 Message: >>> Payload is Breakpoint? is Breakpoint

EAWebKit: JS - file:///C:/EAOS/EAOS/EAWebKit/SB/InternalTeam/w-179714/EAWebKitDemoUTFWin/dev/data/WebInspectorUI/UserInterface/Controllers/DebuggerManager.js Line-478 Column-20 Message: pause reason isbreakpoint

EAWebKit: JS - file:///C:/EAOS/EAOS/EAWebKit/SB/InternalTeam/w-179714/EAWebKitDemoUTFWin/dev/data/WebInspectorUI/UserInterface/Controllers/DebuggerManager.js Line-504 Column-20 Message: pause reason isbreakpoint

EAWebKit:Event kLETResourceResponseReceived : The server has responded to a resource request URL - file:///C:/EAOS/EAOS/EAWebKit/SB/InternalTeam/w-179714/EAWebKitDemoUTFWin/dev/data/WebInspectorUI/UserInterface/Images/Exception.svg with status = 0

EAWebKit:Event kLETResourceResponseReceived : The server has responded to a resource request URL - file:///C:/EAOS/EAOS/EAWebKit/SB/InternalTeam/w-179714/EAWebKitDemoUTFWin/dev/data/WebInspectorUI/UserInterface/Images/BreakpointButton.svg with status = 0

EAWebKit:Event kLETResourceResponseReceived : The server has responded to a resource request URL - file:///C:/EAOS/EAOS/EAWebKit/SB/InternalTeam/w-179714/EAWebKitDemoUTFWin/dev/data/WebInspectorUI/UserInterface/Images/ResultLine.svg with status = 0

EAWebKit:Event kLETResourceResponseReceived : The server has responded to a resource request URL - file:///C:/EAOS/EAOS/EAWebKit/SB/InternalTeam/w-179714/EAWebKitDemoUTFWin/dev/data/WebInspectorUI/UserInterface/Images/Resume.svg with status = 0

EAWebKit:Event kLETResourceResponseReceived : The server has responded to a resource request URL - file:///C:/EAOS/EAOS/EAWebKit/SB/InternalTeam/w-179714/EAWebKitDemoUTFWin/dev/data/WebInspectorUI/UserInterface/Images/Function.svg with status = 0

EAWebKit:Event kLETResourceResponseReceived : The server has responded to a resource request URL - file:///C:/EAOS/EAOS/EAWebKit/SB/InternalTeam/w-179714/EAWebKitDemoUTFWin/dev/data/WebInspectorUI/UserInterface/Images/PausedBreakpoint.svg with status = 0

EAWebKit:Event kLETResourceResponseReceived : The server has responded to a resource request URL - file:///C:/EAOS/EAOS/EAWebKit/SB/InternalTeam/w-179714/EAWebKitDemoUTFWin/dev/data/WebInspectorUI/UserInterface/Images/Resume.svg with status = 0

EAWebKit: JS Error - file:///C:/EAOS/EAOS/EAWebKit/SB/InternalTeam/w-179714/EAWebKitDemoUTFWin/dev/data/WebInspectorUI/UserInterface/Protocol/InspectorBackend.js Line-267 Column-22 Message: Request with id = 37 failed. {"code":-32601,"message":"'IndexedDB' domain was not found"}

EAWebKit: JS Error - file:///C:/EAOS/EAOS/EAWebKit/SB/InternalTeam/w-179714/EAWebKitDemoUTFWin/dev/data/WebInspectorUI/UserInterface/Controllers/DOMTreeManager.js Line-454 Column-30 Message: Error while getting the named flows for document 1: Could not find node with given id

2015/08/26-10:51:16.656 protoupnp: multicasting discovery request

The thread 0x2efc has exited with code 0 (0x0).

2015/08/26-10:51:31.656 protoupnp: multicasting discovery request


webkit-dev mailing list
webkit-dev <at>
Frédéric WANG | 2 Oct 01:10 2015

How does WebKit accessibility code tell VoiceOver that a page has finished loading?


When Safari has finished loading a page, VoiceOver plays an ascending
three tone sound effect, selects the web document and starts reading the
page. I'm trying to reproduce this effect on Firefox for Mac (see

There is an old message on Apple mailing list indicating that the
application listening the notification must actually play the sound.
However, that does not seem to reply to the question since Gecko is the
sender of the notification, not the receiver:

So instead I'm asking on this mailing list, since Gecko must probably
behave the same as WebKit. Reading WebKit source code, I found various
potential candidate notifications to send to VoiceOver:

 <at> "AXLoadComplete"
 <at> "AXLayoutComplete"

I tried making Gecko call NSAccessibilityPostNotification with these
three events when the page is loaded and rendered but that does not seem
to help. The best I obtained is that the focus is now put on the web
document once it is loaded.

Any ideas about how WebKit accessibility code works here?


Frédéric Wang

webkit-dev mailing list
webkit-dev <at>
Anne van Kesteren | 1 Oct 15:43 2015

Removal of mediagroup/MediaController from HTML


The WHATWG is considering removing mediagroup/MediaController from
HTML, since other than WebKit no browser project has expressed
interest in this feature. is the corresponding issue.

I would recommend following up in the issue itself if this is
problematic or if the WHATWG is forgetting something.

Thank you,


Simon Fraser | 1 Oct 01:32 2015

New iOS testing functionality

I’ve recently landed a string of patches which enable new WK2 testing functionality, particularly for iOS. These consist of a new function on TestRunner, testrunner.runUIScript(), and the creation of a JS context in the UI process which runs script that can call into UIScriptController. There is documentation here:

The basics are now implemented that allow for testing of things like viewport sizing and single- and double-tap behaviors. If you are landing a feature or bug fix for iOS that is not currently testable, please add functionality to this test harness so that you can land a layout test with your patch.

Reviewers, please be on the look-out for such patches, and be willing to r- them if a test is lacking.


webkit-dev mailing list
webkit-dev <at>
Yadong Liu | 30 Sep 05:40 2015

JavaScriptCore holding onto objects unnecessarily long


Our project is using JavaScriptCore to drive application logic and creation of native UIView hierarchies. A typical use case will involve an Objective-C class that exposes a number of methods and properties to JSCore. From the JavaScript side, we create an JSValue object wrapping an instance of the Objective-C object, and once we are done we remove all references to it.

One problem we are running into is that the deallocation of the Objective-C object seems unpredictable, meaning that sometimes the dealloc() method of said object is invoked immediately, but sometimes it takes up to a couple of minutes before it would be called. To illustrate the issue, I created and attached to this email a simple Xcode project. When you run the project and click the 'Run Script' button (one or multiple times), you can watch the Xcode debug console for relevant logs and observe when "Person dealloc - name is bill" would appear.  And btw, my tests were done in Xcode 7 with iPhone 6 (iOS 9) simulator. 

So my question is: what I need to do to make sure the my Objective-C object's dealloc() is called immediately as soon as my JavaScript code removes all references to the object?

Thanks in advance,

Attachment ( application/zip, 47 KiB
webkit-dev mailing list
webkit-dev <at>
Pushkin Andrei | 29 Sep 17:35 2015

Problem with -webkit-gradient css option on MIPS platform.

Hi. I have embedded Linux MIPS board with webkit 1.10.
This code does not work on my MIPS board (-webkit-gradient is ignored):
<button type="submit" style="background: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#adadad),color-stop(100%,#7d7c7d)); !important">ABC</button>
But work in my x86 PC on same version of webkit.

This code work fine in all platforms:
<div style="background: -webkit-gradient(linear,left top,left bottom,color-stop(0%,#adadad),color-stop(100%,#7d7c7d)); width: 100px; height:100px">ABC</div>

Andrei Pushkin
webkit-dev mailing list
webkit-dev <at>
Mital Vora | 29 Sep 06:34 2015

Re: CMake on Windows

Great job guys !

On Sep 29, 2015 4:31 AM, "Brent Fulgham" <bfulgham <at>> wrote:
Yes — this is great work!

We’re still working through a few rough edges, but very soon we can get rid of the whole Windows-specific build cruft, which will be a happy day.



> On Sep 28, 2015, at 3:03 PM, Michael Catanzaro <mcatanzaro <at>> wrote:
> On Mon, 2015-09-28 at 13:28 -0700, Alex Christensen wrote:
>> All the Windows buildbots are now using Windows.  We are planning to
>> leave all the Visual Studio projects in the tree for a couple weeks,
> Thanks Alex! It sounds like you're planning to remove the Visual Studio
> projects in a couple weeks, and it's great news that we'll soon be rid
> of another build system.
> Michael
> _______________________________________________
> webkit-dev mailing list
> webkit-dev <at>

webkit-dev mailing list
webkit-dev <at>
webkit-dev mailing list
webkit-dev <at>
Alex Christensen | 28 Sep 22:28 2015

CMake on Windows

All the Windows buildbots are now using Windows.  We are planning to leave all the Visual Studio projects in
the tree for a couple weeks, so if you make any changes like adding another file, please try to blindly add it
to the Visual Studio build.  If you are wondering why the Windows EWS doesn’t see your changes, it is
because EWS is using CMake.  Please let me know if you have any issues.


webkit-dev mailing list
webkit-dev <at>
Rodney Dowdall | 28 Sep 18:55 2015

Texture Mapper Lifecycle


I have enabled to TextureMapper and TextureMapper GL enablements in my port.  I have implemented an AcceleratedCompositing class that is similar to the Windows one.  The biggest difference between the Windows AcceleratedCompositing class and the one that I implemented is that it creates the GLContext offscreen.  Also the port that I am working on using a cairo image buffer as it's main rendering context.  This is all happening in a WebKit implementation and not a WebKit2 implementation, so no coordinated graphics. 

My question is, when should the texture mapper be placing things on the screen?  I can't seem to find where it should be rendering it's content in to the main context.  Or is it that I should implement things in such a way that everything is rendered through my AcceleratedComposite class, and then when the time comes, read the pixels out of the GL context and put them in to the cairo surface? 

webkit-dev mailing list
webkit-dev <at>