[webkit-dev] Apple's feature and performance goals for WebKit
mjs at apple.com
Thu Nov 29 16:27:10 PST 2007
On Nov 29, 2007, at 3:16 PM, Nicholas Shanks wrote:
> On 29 Nov 2007, at 10:56, Maciej Stachowiak wrote:
>> We may post more details about some of these soon. I'm curious what
>> is of interest to other WebKit contributors. I'm especially
>> interested in areas where particular organizations or individuals
>> might be interested in directly contributing.
> In reply to Maciej's goals email, I thought more about the features
> I would like to see in WebKit that are not there for one reason or
> another, and would like to know how best to add these on a
> conditional basis such that normal users can remain oblivious, and
> power users can customise them. For example, an API for Safari,
> NetNewsWire, Sandvox &c. to hook into, or user defaults that apply
> to all WebKit clients without the app needing to support them
> explicitly. In the case of the latter, how should the defaults be
> Things I would like to see (new features and high priority bugs)
> • Fixed support for :last-child, :nth-child and related selectors.
> This is probably the biggest issue.
I agree with complete support for Selectors as a goal. I don't think
this needs to be conditional in any way. One thing that is important
is to make sure that support is added in a way that is performant and
properly handles dynamic updates, so we don't set ourselves up
> • Support for better typography, including kerning, automatic
> ligatures, true (AAT/OpenType) Small Caps, font-stretch, &c. (this
> can be a pref—off by default, if Apple prefers performance to
> presentation. As I have a fast computer i don't really care about a
> few milliseconds here or there during layout, i spend much longer
> reading the text than i spend waiting for it to be drawn. Maybe
> there should be browser engine tests that examine how easy the
> screen is to read.)
We're interested in investigating ways to get better typography
without as much or possibly any perf hit. I'd agree with this as a
goal. I guess I should have mentioned typography and text support, and
I think our @font-face support shows our commitment there.
> • Support for the <link> navigation elements in HTML headers and an
> API to be exposed with Safari implementation.
The DOM API is sufficient for WebKit clients to implement this if they
choose to. Having this as a UI feature in Safari is not a WebKit
request so I can't comment on that.
> • Alternate stylesheets automatically offered with Safari interface
> for switching between them (will require API for other WebKit
The DOM API exposes alternate stylesheet switching. As for the Safari
UI feature request, again, this is not the place.
> • Allow user disabling of horrible/clueless author stylesheets
> (will require API)
Again, already possible at the API level, UI requests should go to the
> and have those modifications remembered across sessions.
Same thing - I think the needed API is there, can't comment on it as a
> • A means by which to disable quirks mode for text/html (i would
> like this to be a persistent pref)
That does not make sense to me. What possible reason would there be to
show a quirks mode page in standards mode? Standards mode pages
already do not trigger quirks mode. But if you really want this at the
API level, you can do it by preprocessing incoming HTML to force a
standards mode doctype.
> • A means by which to disable <marquee>, <applet> or other arbitrary
Applet can be disabled by turning off Java. <marquee> can be
(effectively) disabled with a user stylesheet.
> • Ability to right-click on an element and remove it from flow
> (probably by adding a display: none attribute; so the DOM tree is
The API capabilities needed for this are there. Can't comment on it as
a UI feature request.
> • Ability to customise one's HTTP headers manually, especially the
> Accept-* ones (another persistent pref)
> • and further, the ability to specify what headers would be
> automatically sent in response to a 3xx code
This capability exists at the API level (ever request is sent to the
ResourceLoadDelegate before hitting the net). Can't comment on it as a
UI feature request.
> • When rendering a web page aurally, the page should go through a
> series of xslt transformations: (HTML to) XHTML to SSML, which
> would then either be sent to a third party TTS (e.g. swift from
> cepstral.com) or further transformed to PlainTalk + Applebet and
> sent to the Speech Manager.
I think the current VoiceOver architecture works fine for rendering
web pages aurally, or at least, any specific issues could be addressed
based on the existing architecture. I'm not sure what the basis for
your request is.
> And a developer-only feature:
> • A means by which to manipulate the current media to something
> other than screen (e.g. for previewing tv, handheld, print,
> projection) and override various media properties manually (page
> dimensions, maximum volume) so media queries can be tested against
This is a case where I don't think we currently have the right API
capabilities. I encourage you to file a bug.
More information about the webkit-dev