Re: [webkit-dev] Best way to track feature evolution from release-to-release

2011-01-07 Thread Darin Fisher
On Fri, Jan 7, 2011 at 9:30 AM, Ojan Vafai  wrote:

> On Fri, Jan 7, 2011 at 9:24 AM, Darin Fisher  wrote:
>
>> On Fri, Jan 7, 2011 at 9:12 AM, Ojan Vafai  wrote:
>>
>>> Right. Having a shared version number across WebKit builds will never
>>> catch every case (e.g. patches pulled into branches, disabled features,
>>> etc.), but it is better in general than developers using the individual
>>> products' version numbers.
>>>
>>
>> Totally agree.  We probably just need some kind of dotted notation to
>> handle branches.  The WebKit trunk should just increment N in "N.0", and
>> then branches can increment the minor number.
>>
>
> The branches are not cross-port though, right? We already have individual
> product numbers in the UA string that meet this need (e.g. the Chrome or
> Safari version number).
>
> Ojan
>


That's fair.  I think this is a complicated issue due to the likelihood of
features being disabled on a branch.  So, any "version number" corresponding
to the branch point alone may not be sufficient to describe the instance of
WebKit.

Yeah, the individual product numbers may just have to be the solution there
:-/

-Darin
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Best way to track feature evolution from release-to-release

2011-01-07 Thread Ojan Vafai
On Fri, Jan 7, 2011 at 9:24 AM, Darin Fisher  wrote:

> On Fri, Jan 7, 2011 at 9:12 AM, Ojan Vafai  wrote:
>
>> Right. Having a shared version number across WebKit builds will never
>> catch every case (e.g. patches pulled into branches, disabled features,
>> etc.), but it is better in general than developers using the individual
>> products' version numbers.
>>
>
> Totally agree.  We probably just need some kind of dotted notation to
> handle branches.  The WebKit trunk should just increment N in "N.0", and
> then branches can increment the minor number.
>

The branches are not cross-port though, right? We already have individual
product numbers in the UA string that meet this need (e.g. the Chrome or
Safari version number).

Ojan
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Best way to track feature evolution from release-to-release

2011-01-07 Thread Darin Fisher
On Fri, Jan 7, 2011 at 9:12 AM, Ojan Vafai  wrote:

> On Thu, Jan 6, 2011 at 8:57 PM, Ryosuke Niwa wrote:
>
>> On Thu, Jan 6, 2011 at 8:31 PM, Darin Fisher  wrote:
>>
>>> Using svn revision numbers has the downside of not reflecting branches
>>> very well.  A bigger number may correspond to a recent change to an old
>>> branch for instance.  So, you cannot do simple "if version > N" checks to
>>> test for the availability of features.
>>>
>>
>> I think Ojan meant that the version number can be used to learn about
>> bugs such as crashes and incompatibilities that have been fixed but cannot
>> be detected as a feature.
>>
>
> Right. Having a shared version number across WebKit builds will never catch
> every case (e.g. patches pulled into branches, disabled features, etc.), but
> it is better in general than developers using the individual products'
> version numbers.
>
> Ojan
>


Totally agree.  We probably just need some kind of dotted notation to handle
branches.  The WebKit trunk should just increment N in "N.0", and then
branches can increment the minor number.

-Darin
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Best way to track feature evolution from release-to-release

2011-01-07 Thread Ojan Vafai
On Thu, Jan 6, 2011 at 8:57 PM, Ryosuke Niwa  wrote:

> On Thu, Jan 6, 2011 at 8:31 PM, Darin Fisher  wrote:
>
>> Using svn revision numbers has the downside of not reflecting branches
>> very well.  A bigger number may correspond to a recent change to an old
>> branch for instance.  So, you cannot do simple "if version > N" checks to
>> test for the availability of features.
>>
>
> I think Ojan meant that the version number can be used to learn about
> bugs such as crashes and incompatibilities that have been fixed but cannot
> be detected as a feature.
>

Right. Having a shared version number across WebKit builds will never catch
every case (e.g. patches pulled into branches, disabled features, etc.), but
it is better in general than developers using the individual products'
version numbers.

Ojan
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Best way to track feature evolution from release-to-release

2011-01-06 Thread Darin Fisher
On Thu, Jan 6, 2011 at 4:39 PM, Ojan Vafai  wrote:

> On Wed, Jan 5, 2011 at 9:38 AM, Darin Adler  wrote:
>
>> > The user agent string in Chromium cites, for example,
>> "AppleWebKit/534.10". Does this refer directly to the /tags/Safari-534.10
>> code base? In other words, this is just an example of an organization
>> chosing to use a tag created by another organization? Some refer to the
>> Safari-(5##) number as a WebKit release, so it is important to clearly
>> understand the distinction.
>>
>> I believe that many others use WebKit version numbers based on the ones
>> Apple uses. I think this is a good practice, although it might be something
>> worth refining. We do want a WebKit version number to mean something
>> cross-platform, but it’s not obvious how to accomplish that and meet all the
>> other goals of folks using WebKit.
>>
>
> FWIW, Chromium uses the major and minor version numbers listed
> in WebCore/Configurations/Version.xcconfig. We'd be happy to use something
> not tied to Apple's release process as long as Safari did the same. Giving
> web developers one version number to make sense of is important. It would be
> extra awesome if they could easily map from an SVN revision to a version
> number. Frequently a developer will see that a bug is fixed, but won't know
> what the WebKit version number will be.
>
> Some ideas:
> -Use the svn revision number. That has the downside of being tied to SVN
> should we want to change version control systems.
> -Have a file checked in that corresponds to the WebKit "version" at that
> revision. Any port is allowed to increment the number in that file whenever
> they please. It's monotonically increasing, not tied to a given version
> control system or to an individual port's release process.
>
> Ojan
>
>
Using svn revision numbers has the downside of not reflecting branches very
well.  A bigger number may correspond to a recent change to an old branch
for instance.  So, you cannot do simple "if version > N" checks to test for
the availability of features.

-Darin
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Best way to track feature evolution from release-to-release

2011-01-06 Thread Ojan Vafai
On Wed, Jan 5, 2011 at 9:38 AM, Darin Adler  wrote:

> > The user agent string in Chromium cites, for example,
> "AppleWebKit/534.10". Does this refer directly to the /tags/Safari-534.10
> code base? In other words, this is just an example of an organization
> chosing to use a tag created by another organization? Some refer to the
> Safari-(5##) number as a WebKit release, so it is important to clearly
> understand the distinction.
>
> I believe that many others use WebKit version numbers based on the ones
> Apple uses. I think this is a good practice, although it might be something
> worth refining. We do want a WebKit version number to mean something
> cross-platform, but it’s not obvious how to accomplish that and meet all the
> other goals of folks using WebKit.
>

FWIW, Chromium uses the major and minor version numbers listed
in WebCore/Configurations/Version.xcconfig. We'd be happy to use something
not tied to Apple's release process as long as Safari did the same. Giving
web developers one version number to make sense of is important. It would be
extra awesome if they could easily map from an SVN revision to a version
number. Frequently a developer will see that a bug is fixed, but won't know
what the WebKit version number will be.

Some ideas:
-Use the svn revision number. That has the downside of being tied to SVN
should we want to change version control systems.
-Have a file checked in that corresponds to the WebKit "version" at that
revision. Any port is allowed to increment the number in that file whenever
they please. It's monotonically increasing, not tied to a given version
control system or to an individual port's release process.

Ojan
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Best way to track feature evolution from release-to-release

2011-01-05 Thread Darin Adler
On Jan 5, 2011, at 7:06 AM, Tom Bahnck wrote:

> If my understanding is correct wrt to Apple's release process, when given the 
> chance, Apple tags the WebKit trunk under the name "Safari-###" in the /tags 
> directory. This contains all source from the WebKit trunk, including 
> tools/bugzilla/test/etc. code. When making a Safari release, Apple publishes 
> WebKit code selected for production to a "Safari #.#" directory in 
> /releases/Apple, which correlates to a Safari-### tag by changeset notes 
> (e.g. "Tag for WebKit in Safari 5.0.3 (WebKit 533.19.4)") -- in the preceding 
> example, "WebKit 533.19.4" correlates to /tags/Safari-533.19.4 as base. Is 
> this correct?

That’s almost right. This is roughly correct but omits some important details, 
such as the fact that it’s not code from the trunk, but rather from a branch 
off of trunk that Apple makes at some point earlier, and the fact that the tags 
often are sometimes not created until long after a release.

> The user agent string in Chromium cites, for example, "AppleWebKit/534.10". 
> Does this refer directly to the /tags/Safari-534.10 code base? In other 
> words, this is just an example of an organization chosing to use a tag 
> created by another organization? Some refer to the Safari-(5##) number as a 
> WebKit release, so it is important to clearly understand the distinction.

I believe that many others use WebKit version numbers based on the ones Apple 
uses. I think this is a good practice, although it might be something worth 
refining. We do want a WebKit version number to mean something cross-platform, 
but it’s not obvious how to accomplish that and meet all the other goals of 
folks using WebKit.

Perhaps confusingly, Apple uses the same-format version numbers for both Safari 
and WebKit that often are the same, but the two numbers are distinct and are 
not guaranteed to always match. The accurate WebKit version number can be seen 
in user agent string and in the Mac OS X WebKit framework’s Info.plist file, 
among other places.

-- Darin

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Best way to track feature evolution from release-to-release

2011-01-05 Thread Tom Bahnck
Thank you.  If my understanding is correct wrt to Apple's release process,
when given the chance, Apple tags the WebKit trunk under the name
"Safari-###" in the /tags directory.  This contains all source from the
WebKit trunk, including tools/bugzilla/test/etc. code.  When making a Safari
release, Apple publishes WebKit code selected for production to a "Safari
#.#" directory in /releases/Apple, which correlates to a Safari-### tag by
changeset notes (e.g. "Tag for WebKit in Safari 5.0.3 (WebKit 533.19.4)") --
in the preceding example, "WebKit 533.19.4" correlates to
/tags/Safari-533.19.4 as base.  Is this correct?

The user agent string in Chromium cites, for example, "AppleWebKit/534.10".
Does this refer directly to the /tags/Safari-534.10 code base?  In other
words, this is just an example of an organization chosing to use a tag
created by another organization?  Some refer to the Safari-(5##) number as a
WebKit release, so it is important to clearly understand the distinction.

Thanks,
Tom


On Tue, Jan 4, 2011 at 5:49 PM, Darin Adler  wrote:

> On Jan 4, 2011, at 1:47 PM, Tom Bahnck wrote:
>
> > We are looking for the best way to identify the supported syntactical
> elements in each release, such as HTML/CSS tags/properties/values. Eric
> Seidel's excellent lecture on the Google code channel points out that the
> /WebCore/dom/*.idl /WebCore/html/*.in files list standard page-level tokens,
> which are used to build a string cache.  This is a very useful start;
> however, is there a way to correlate the supported attributes to elements?
>  E.g., considering "src", to know that "src" is supported for  and
> , or  and not , etc.?
>
> I can’t think of a simple way to find the complete list of what attributes
> are supported for each element. Much of the code would be in the elements’
> parseMappedAttribute functions, but not all.
>
> A project to create a table that tracks this could give us a head start.
> I’m sure we can keep such a thing up to date if it’s checked in alongside
> the sources to the classes themselves.
>
> > A related question is, what qualifies a given build for a Safari-### tag?
>
> Those tags just reflect what WebKit Apple chose to ship with versions of
> Safari. The Safari tags are our way of precisely stating after the fact to
> the rest of the WebKit community exactly what we chose to ship with a given
> version of Safari.
>
> But what goes into each is Apple-internal decision. Apple, like others who
> put out WebKit releases, does our own branching and release management and
> makes up our own mind about what does and does not go into each release.
>
> We don’t have a shared release process for the team overall.
>
> > Understanding how frequently tags are made public would inform us
> (roughly) of how many release candidates we need to evaluate, when for
> example, upgrading our embedded WebKit release from X to Y, in search of
> support for a new feature.
>
> We put out tags for releases whenever we have the chance. It’s not a part
> of a release process; just something we do later on to make things clearer
> for the record.
>
> As I said, the Safari tags are an Apple thing, not really something
> intended for use by all the others working on the WebKit project. That’s why
> it’s in the releases/Apple directory in the Subversion repository. I
> encourage others producing WebKit releases to make similar tags, as the
> WebKitGTK folks have done.
>
>-- Darin
>
>


-- 
Tom Bahnck
Motorola Mobility, Inc.
215-323-1830
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Best way to track feature evolution from release-to-release

2011-01-04 Thread Darin Adler
On Jan 4, 2011, at 1:47 PM, Tom Bahnck wrote:

> We are looking for the best way to identify the supported syntactical 
> elements in each release, such as HTML/CSS tags/properties/values. Eric 
> Seidel's excellent lecture on the Google code channel points out that the 
> /WebCore/dom/*.idl /WebCore/html/*.in files list standard page-level tokens, 
> which are used to build a string cache.  This is a very useful start; 
> however, is there a way to correlate the supported attributes to elements?  
> E.g., considering "src", to know that "src" is supported for  and 
> , or  and not , etc.?

I can’t think of a simple way to find the complete list of what attributes are 
supported for each element. Much of the code would be in the elements’ 
parseMappedAttribute functions, but not all.

A project to create a table that tracks this could give us a head start. I’m 
sure we can keep such a thing up to date if it’s checked in alongside the 
sources to the classes themselves.

> A related question is, what qualifies a given build for a Safari-### tag?

Those tags just reflect what WebKit Apple chose to ship with versions of 
Safari. The Safari tags are our way of precisely stating after the fact to the 
rest of the WebKit community exactly what we chose to ship with a given version 
of Safari.

But what goes into each is Apple-internal decision. Apple, like others who put 
out WebKit releases, does our own branching and release management and makes up 
our own mind about what does and does not go into each release.

We don’t have a shared release process for the team overall.

> Understanding how frequently tags are made public would inform us (roughly) 
> of how many release candidates we need to evaluate, when for example, 
> upgrading our embedded WebKit release from X to Y, in search of support for a 
> new feature.

We put out tags for releases whenever we have the chance. It’s not a part of a 
release process; just something we do later on to make things clearer for the 
record.

As I said, the Safari tags are an Apple thing, not really something intended 
for use by all the others working on the WebKit project. That’s why it’s in the 
releases/Apple directory in the Subversion repository. I encourage others 
producing WebKit releases to make similar tags, as the WebKitGTK folks have 
done.

-- Darin

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


[webkit-dev] Best way to track feature evolution from release-to-release

2011-01-04 Thread Tom Bahnck
I work on set-top box and PC-based media player stacks which integrate
WebKit to render a UI (e.g. guide and storefront) for viewers.  We are
looking for the best way to identify the supported syntactical elements in
each release, such as HTML/CSS tags/properties/values.  Eric Seidel's
excellent lecture on the Google code channel points out that the
/WebCore/dom/*.idl /WebCore/html/*.in files list standard page-level tokens,
which are used to build a string cache.  This is a very useful start;
however, is there a way to correlate the supported attributes to elements?
E.g., considering "src", to know that "src" is supported for  and
, or  and not , etc.?

A related question is, what qualifies a given build for a Safari-### tag?
Understanding how frequently tags are made public would inform us (roughly)
of how many release candidates we need to evaluate, when for example,
upgrading our embedded WebKit release from X to Y, in search of support for
a new feature.

Thank you very much for the support you provide.

-- 
Tom Bahnck
Motorola Mobility, Inc.
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev