1,689 karma · joined August 21, 2008
Contact me at mrowe@bdash.net.nz.
WebKit's entire Source directory is 247MB, and more than 100MB of that is ChangeLog files.
Edit: The Apple Push Notification Service documentation at https://developer.apple.com/library/ios/documentation/Networ... talks about the architecture and seems to match my recollection.
> Opting In to Notifications
>
> Users must opt in to receive notifications. The opt-in process only occurs
> once per domain. The presentation of asking for permission is identical
> for all website notifications. In fact, the permission policy that
> a user chooses for push notifications applies to local notifications.
It goes on to say that "users can adjust their notification preferences in Safari preferences and System Preferences".[1]: https://developer.apple.com/library/mac/documentation/Networ...
Safari also supports the "Web Notifications" specification[1], which allows a website to post a notification while it is open in Safari. This has been supported for a few releases now and is also available in some other browsers. I believe Gmail can make use of this to call attention to new emails while open in a background tab.
[1]: <https://dvcs.w3.org/hg/notifications/raw-file/tip/Overview.h...
I'm a little confused by your throwaway comment about Gecko being the smallest browser engine though. WebKit weighs in at less than 3 million lines of code, much smaller than the size you quote for Gecko.
Other than that issue, I'm very impressed with the site. The design and performance are excellent.
Am I correct in assuming that if JavaScriptCore starts successfully executing the tests, it'll automatically start showing up on the relevant part of arewefastyet.com?
1. Some of the tests use shell functions like "read" that jsc doesn't provide. This is easy enough to address.
2. I was mistaken about the quality of the typed array support in JavaScriptCore. While the interpreter has knowledge of typed arrays, the actual implementation that's used when running in-browser lives in WebCore rather than in JavaScriptCore. When running in the shell only a bare minimum typed array implementation, primarily intended for JSC-only regression tests, is available. This trips up some tests since the implementation is much less complete than the one in WebCore.
I'm not familiar with building just JSC on Linux, but last time I looked in to it the only way to build JSC was as part of building all of WebKit.
LLDB has a setting named target.process.thread.step-avoid-regexp, the value of which is a regular expression defining functions that step-in won't stop in.
> Can you wrap a class with some user defined script to simplify its interface for debugging?
LLDB exposes its entire API to Python, so you can either embed Python scripts in to the LLDB debugger or embed the LLDB debugger in to a Python script. There's an introduction available at http://lldb.llvm.org/python-reference.html, but for more detailed documentation you'll need to use the help functionality within lldb's built-in Python prompt.