Re: [webkit-dev] Proposal: Make Ninja the default build-system for build-webkit --chromium

2012-12-10 Thread Jochen Eisinger
Will the buildbots use ninja or the native build tools?

My only concern is that we're catching problems with e.g. MSVS only after
we roll the WebKit deps in chromium and one of the MSVS bots starts failing.

Otherwise, I'm all for switching to ninja.

best
-jochen

On Sat, Dec 8, 2012 at 9:29 AM, Eric Seidel e...@webkit.org wrote:

 If you don't work on the Chromium port, feel free to ignore.


 If you work on the Chromium port of WebKit and do not use Ninja as you
 build system (GYP_GENERATORS='ninja' or update-webkit --chromium
 --ninja) I want to hear from you!

 As far as I can tell, the vast majority of Chromium contributors use
 Ninja as their build system of choice.  Particularly for
 Chromium-Android contributors this seems to be true.

 With that knowledge, I have posted a patch to make update-webkit
 ---chromium/--chromium-android generate Ninja build files instead of
 platform-native build files (XCode, Visual Studio, Make, etc.) by
 default.  This of course only affects the chromium port.

 https://bugs.webkit.org/show_bug.cgi?id=104434

 Thanks!


 p.s. If you don't already know:
 update-webkit --chromium --ninja
 build-webkit --chromium
 is all you need to use Ninja today.  You don't even need to have
 installed/built your own copy of ninja (Chromium has done that for
 you).

 p.p.s. Ninja is awesome. Awesomely quiet. Awesomely fast.
 http://martine.github.com/ninja/
 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 http://lists.webkit.org/mailman/listinfo/webkit-dev

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


Re: [webkit-dev] Proposal: Make Ninja the default build-system for build-webkit --chromium

2012-12-10 Thread Eric Seidel
The buildbots will use ninja by default, but could opt-out (with
--no-ninja) if that were desired behavior.


I've so far received one other concern:
Robert Hogan raised that chromium's depot_tools does not contain a
32-bit build of ninja, and the error message is somewhat confusing in
that case.  I've filed https://bugs.webkit.org/show_bug.cgi?id=104523
for tracking that issue.

On Mon, Dec 10, 2012 at 1:30 AM, Jochen Eisinger joc...@chromium.org wrote:
 Will the buildbots use ninja or the native build tools?

 My only concern is that we're catching problems with e.g. MSVS only after we
 roll the WebKit deps in chromium and one of the MSVS bots starts failing.

 Otherwise, I'm all for switching to ninja.

 best
 -jochen

 On Sat, Dec 8, 2012 at 9:29 AM, Eric Seidel e...@webkit.org wrote:

 If you don't work on the Chromium port, feel free to ignore.


 If you work on the Chromium port of WebKit and do not use Ninja as you
 build system (GYP_GENERATORS='ninja' or update-webkit --chromium
 --ninja) I want to hear from you!

 As far as I can tell, the vast majority of Chromium contributors use
 Ninja as their build system of choice.  Particularly for
 Chromium-Android contributors this seems to be true.

 With that knowledge, I have posted a patch to make update-webkit
 ---chromium/--chromium-android generate Ninja build files instead of
 platform-native build files (XCode, Visual Studio, Make, etc.) by
 default.  This of course only affects the chromium port.

 https://bugs.webkit.org/show_bug.cgi?id=104434

 Thanks!


 p.s. If you don't already know:
 update-webkit --chromium --ninja
 build-webkit --chromium
 is all you need to use Ninja today.  You don't even need to have
 installed/built your own copy of ninja (Chromium has done that for
 you).

 p.p.s. Ninja is awesome. Awesomely quiet. Awesomely fast.
 http://martine.github.com/ninja/
 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 http://lists.webkit.org/mailman/listinfo/webkit-dev


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


Re: [webkit-dev] Proposal: Make Ninja the default build-system for build-webkit --chromium

2012-12-10 Thread Peter Beverloo
Clarifying the error messages seems like a win in either case.

From Android's perspective, I'm of course in favor of switching to ninja.
One minor nit, but I'll reply with that on the bug. Thanks for doing this!

Peter

On Mon, Dec 10, 2012 at 9:39 AM, Eric Seidel e...@webkit.org wrote:

 The buildbots will use ninja by default, but could opt-out (with
 --no-ninja) if that were desired behavior.


 I've so far received one other concern:
 Robert Hogan raised that chromium's depot_tools does not contain a
 32-bit build of ninja, and the error message is somewhat confusing in
 that case.  I've filed https://bugs.webkit.org/show_bug.cgi?id=104523
 for tracking that issue.

 On Mon, Dec 10, 2012 at 1:30 AM, Jochen Eisinger joc...@chromium.org
 wrote:
  Will the buildbots use ninja or the native build tools?
 
  My only concern is that we're catching problems with e.g. MSVS only
 after we
  roll the WebKit deps in chromium and one of the MSVS bots starts failing.
 
  Otherwise, I'm all for switching to ninja.
 
  best
  -jochen
 
  On Sat, Dec 8, 2012 at 9:29 AM, Eric Seidel e...@webkit.org wrote:
 
  If you don't work on the Chromium port, feel free to ignore.
 
 
  If you work on the Chromium port of WebKit and do not use Ninja as you
  build system (GYP_GENERATORS='ninja' or update-webkit --chromium
  --ninja) I want to hear from you!
 
  As far as I can tell, the vast majority of Chromium contributors use
  Ninja as their build system of choice.  Particularly for
  Chromium-Android contributors this seems to be true.
 
  With that knowledge, I have posted a patch to make update-webkit
  ---chromium/--chromium-android generate Ninja build files instead of
  platform-native build files (XCode, Visual Studio, Make, etc.) by
  default.  This of course only affects the chromium port.
 
  https://bugs.webkit.org/show_bug.cgi?id=104434
 
  Thanks!
 
 
  p.s. If you don't already know:
  update-webkit --chromium --ninja
  build-webkit --chromium
  is all you need to use Ninja today.  You don't even need to have
  installed/built your own copy of ninja (Chromium has done that for
  you).
 
  p.p.s. Ninja is awesome. Awesomely quiet. Awesomely fast.
  http://martine.github.com/ninja/
  ___
  webkit-dev mailing list
  webkit-dev@lists.webkit.org
  http://lists.webkit.org/mailman/listinfo/webkit-dev
 
 
 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 http://lists.webkit.org/mailman/listinfo/webkit-dev

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


Re: [webkit-dev] Adding CSS3 background-position offsets.

2012-12-10 Thread Alexis Menard
On Tue, Dec 4, 2012 at 8:36 AM, Alexis Menard ale...@webkit.org wrote:
 On Mon, Dec 3, 2012 at 5:59 PM, Dirk Schulze dschu...@adobe.com wrote:

 On Dec 3, 2012, at 12:07 PM, Benjamin Poulain benja...@webkit.org wrote:

 On Mon, Dec 3, 2012 at 11:11 AM, Dirk Schulze dschu...@adobe.com wrote:
 Why does this feature have a flag at all? background-position with up to 4 
 arguments is specified with CSS3 background and borders. There are three 
 major implementations with this feature. So we are just catching up. If the 
 future works as expected (and we should have tests that verify it), then we 
 should remove the flag completely.

 Sounds like good practice to me.

 Why _not_ start that feature with a flag then remove the flag when fully 
 ready/tested???

 Depends on the future. But for such a small patch, a new flag seems to be 
 overdone. I looked into the patch, and adding the flag caused more code, 
 then the actual feature (even if the computed style is missing). I believe 
 we should remove the flag ASAP. Flags are for bigger new features of 
 features that likely will change IMO. Both seems not to be the case for 
 background-position.

 The computed style is there see
 http://trac.webkit.org/changeset/136378. I split the whole thing into
 two pieces to ease the review process.

So as today the feature is enable on all ports with bots (Chromium,
Mac, GTK, Qt, EFL) and tests are doing fine. We had to rebase a test
in ietestcenter that was buggy because it was landed with a wrong
expected png, luckily the Chromium bots were here to tell me.

I also turned on the feature for -webkit-mask which now align with the spec [1].

Anybody objects to remove the flag?


[1] http://dvcs.w3.org/hg/FXTF/raw-file/tip/masking/index.html#mask-property



 Greetings,
 Dirk


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

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



 --
 Software Engineer @
 Intel Open Source Technology Center



-- 
Software Engineer @
Intel Open Source Technology Center
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Adding CSS3 background-position offsets.

2012-12-10 Thread Alexis Menard
Le 10 déc. 2012 09:24, Alexis Menard ale...@webkit.org a écrit :

 On Tue, Dec 4, 2012 at 8:36 AM, Alexis Menard ale...@webkit.org wrote:
  On Mon, Dec 3, 2012 at 5:59 PM, Dirk Schulze dschu...@adobe.com wrote:
 
  On Dec 3, 2012, at 12:07 PM, Benjamin Poulain benja...@webkit.org
wrote:
 
  On Mon, Dec 3, 2012 at 11:11 AM, Dirk Schulze dschu...@adobe.com
wrote:
  Why does this feature have a flag at all? background-position with up
to 4 arguments is specified with CSS3 background and borders. There are
three major implementations with this feature. So we are just catching up.
If the future works as expected (and we should have tests that verify it),
then we should remove the flag completely.
 
  Sounds like good practice to me.
 
  Why _not_ start that feature with a flag then remove the flag when
fully ready/tested???
 
  Depends on the future. But for such a small patch, a new flag seems to
be overdone. I looked into the patch, and adding the flag caused more code,
then the actual feature (even if the computed style is missing). I believe
we should remove the flag ASAP. Flags are for bigger new features of
features that likely will change IMO. Both seems not to be the case for
background-position.
 
  The computed style is there see
  http://trac.webkit.org/changeset/136378. I split the whole thing into
  two pieces to ease the review process.

 So as today the feature is enable on all ports with bots (Chromium,
 Mac, GTK, Qt, EFL) and tests are doing fine. We had to rebase a test
 in ietestcenter that was buggy because it was landed with a wrong
 expected png, luckily the Chromium bots were here to tell me.

 I also turned on the feature for -webkit-mask which now align with the
spec [1].

 Anybody objects to remove the flag?



The patch is there https://bugs.webkit.org/show_bug.cgi?id=104539 up for
review. The mac ews is sick at the moment but my work environment is Mac so
it should be fine.

 [1]
http://dvcs.w3.org/hg/FXTF/raw-file/tip/masking/index.html#mask-property

 
 
  Greetings,
  Dirk
 
 
  Benjamin
  ___
  webkit-dev mailing list
  webkit-dev@lists.webkit.org
  http://lists.webkit.org/mailman/listinfo/webkit-dev
 
  ___
  webkit-dev mailing list
  webkit-dev@lists.webkit.org
  http://lists.webkit.org/mailman/listinfo/webkit-dev
 
 
 
  --
  Software Engineer @
  Intel Open Source Technology Center



 --
 Software Engineer @
 Intel Open Source Technology Center
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Proposal: Make Ninja the default build-system for build-webkit --chromium

2012-12-10 Thread Nico Weber
On Mon, Dec 10, 2012 at 1:30 AM, Jochen Eisinger joc...@chromium.org wrote:
 Will the buildbots use ninja or the native build tools?

 My only concern is that we're catching problems with e.g. MSVS only after we
 roll the WebKit deps in chromium and one of the MSVS bots starts failing.

The idea is that gyp tries to write ninja files that behave as similar
as possible to xcodebuild / devenv (or msbuild). In practice, this
seems to work pretty well and it's rare that a ninja build works while
xcodebuild doesn't -- well enough that all the chromium trybots use
only ninja.

Nico


 Otherwise, I'm all for switching to ninja.

 best
 -jochen

 On Sat, Dec 8, 2012 at 9:29 AM, Eric Seidel e...@webkit.org wrote:

 If you don't work on the Chromium port, feel free to ignore.


 If you work on the Chromium port of WebKit and do not use Ninja as you
 build system (GYP_GENERATORS='ninja' or update-webkit --chromium
 --ninja) I want to hear from you!

 As far as I can tell, the vast majority of Chromium contributors use
 Ninja as their build system of choice.  Particularly for
 Chromium-Android contributors this seems to be true.

 With that knowledge, I have posted a patch to make update-webkit
 ---chromium/--chromium-android generate Ninja build files instead of
 platform-native build files (XCode, Visual Studio, Make, etc.) by
 default.  This of course only affects the chromium port.

 https://bugs.webkit.org/show_bug.cgi?id=104434

 Thanks!


 p.s. If you don't already know:
 update-webkit --chromium --ninja
 build-webkit --chromium
 is all you need to use Ninja today.  You don't even need to have
 installed/built your own copy of ninja (Chromium has done that for
 you).

 p.p.s. Ninja is awesome. Awesomely quiet. Awesomely fast.
 http://martine.github.com/ninja/
 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 http://lists.webkit.org/mailman/listinfo/webkit-dev


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


Re: [webkit-dev] Proposal: Make Ninja the default build-system for build-webkit --chromium

2012-12-10 Thread Dirk Pranke
On Mon, Dec 10, 2012 at 1:30 AM, Jochen Eisinger joc...@chromium.org wrote:
 Will the buildbots use ninja or the native build tools?

 My only concern is that we're catching problems with e.g. MSVS only after we
 roll the WebKit deps in chromium and one of the MSVS bots starts failing.


Eric is only suggesting changing update-webkit and build-webkit, which
means that only the webkit.org bots would be affected. As long as the
chromium.org canaries are still using chromium checkouts (and the
native build systems), we'll still have coverage.

Of course, your point is still valid for other scenarios where we
don't have coverage of what we use on the official builds, but as Nico
pointed out in a separate thread, so far this hasn't been a frequent
problem.

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


Re: [webkit-dev] Prefix naming scheme for DOM-exposed functions

2012-12-10 Thread Antti Koivisto
On Fri, Dec 7, 2012 at 1:36 PM, Maciej Stachowiak m...@apple.com wrote:


 Would this involve creating a bindingsFoo() for every method foo() that is
 exposed to bindings? For example, would we have to add
 XMLHttpRequest::bindingsSend(), even though there's no real need for a
 special internal XMLHttpRequest::send()? Would getters and setters that map
 to JavaScript properties (but which do not reflect markup attributes) also
 need a bindings... version? For example, would we need
 HTMLMediaElement::bindingsMuted() and HTMLMediaElement::bindingsSetMuted()
 to wrap the regular muted() and setMuted()?


I see no internal clients for HTMLMediaElement::muted()/setMuted() so there
would be no need for internal versions for it. I suspect that in many cases
we would at most need an internal accessor (which could then properly
follow our naming conventions HTMLMediaElement::isMuted()).


 If the answer to these questions is yes, then I think this is too much
 complexity tax on all exposed methods and properties to make up for the
 benefit. It's likely only a minority of methods where it's highly desirable
 to have a specialized version for internal use.


Probably the only way to find out is try doing it and seeing how the patch
ends up looking like.


 As a side note, I don't see how this would address the concrete example
 given, that of firstElementChild likely becoming more efficient than
 firstChild. If we add bindingsFirstChild() and bindingsFirstElementChild(),
 how does this help WebCore developers know that they should use the
 internal firstElementChild() instead of the internal firstChild()? I expect
 both have to exist, because there really are cases where you need to
 traverse the whole DOM, not just elements, and even if we were to convert,
 firstElementChild() is not a drop-in replacement.


This would create more freedom for our internal document tree to diverge
from how it looks like through the DOM api. For example internal
firstChild() that returns Node* may no longer make sense at all if we
eliminate Text nodes.


  antti


 It also seems to me that internal methods that do the exact same thing as
 a bindings...() version but lack an ExceptionCode parameter, we'll still
 want to avoid excess code duplication, in some cases of tricky algorithms.
 I would not want a second copy of ContainerNode::insertBefore() and its
 helper methods that replaces exception checking with preflight checks that
 return false without setting an exeption code (I don't think you can just
 skip the checks entirely or you'd make a method that is extremely dangerous
 to call if you have not met very complex preconditions).

 I do agree with the goal of having efficient internal interfaces that are
 not constrained by what is exposed to the Web, but a blanket introduction
 of methods just for bindings does not seem like a good way to get there.

 Possible alternatives:
 - Use something in the IDL to call a bindings... variant only in cases
 where we know there is a materially better internal method.
 - Use the style checker to ban calling select exposed methods from
 hand-written WebCore code, and give the corresponding internal methods
 different names.

 These approaches could achieve the goals described for critical DOM
 methods without having to infect things like XHR::send() or
 HTMLMediaElement::setMuted().

 Regards,
 Maciej

 On Dec 7, 2012, at 9:27 AM, Darin Adler da...@apple.com wrote:

  Hi folks.
 
  Many of the APIs designed for use in the DOM are not efficient for use
 inside WebKit, or have designs that are better for JavaScript than for C++.
 Antti Koivisto and I have been discussing how to best communicate this to
 WebKit contributors so they don’t end up using inefficient idioms just
 because they are familiar with them from use in JavaScript code on
 websites. So far, our best idea for this is to add a prefix to function
 names that indicate they are functions for use by the bindings machinery.
 Thus, a function like appendChild would get a new name:
 
 void bindingsAppendChild(Node*, ExceptionCode);
 
  The internal function that’s used to add a child node would be designed
 for the best clarity, ease of use, and efficiency within WebKit
 implementation code, even when that does not match up with the DOM
 standard. And could be refactored over time as WebKit design changes
 without affecting the bindings.
 
  - It’s not clear what the best prefix is. I don’t like the prefix “dom”,
 since it’s a lowercased acronym and an overloaded not all that precise
 term. The prefix “bindings” is sort of silly because these functions are
 not themselves “bindings”, rather they are the non-language-specific
 functions designed to be bound to each language. However, I do like the
 idea of a brief non-acronym word. So, still looking for a great prefix.
 
  - When appropriate, these exposed functions can be short inline
 functions that turn around and call internal functions.
 
  - These functions aren’t needed at