[chromium-dev] Re: Platform-dependent form control rendering in layout tests

2009-01-05 Thread Marc-Antoine Ruel

Not yet, patches are welcomed. (Note that it requires implementing the
support to run custom tests, which is already implemented client-side
but not server-side yet)

Also, we have 4 W2k3 servers with a lot of buildbot VM images that can
be used when you need a specific OS for testing.

M-A

On Mon, Jan 5, 2009 at 1:32 AM, Adam Barth aba...@chromium.org wrote:

 Can you grab the pixel results from the try server?

 On Sun, Jan 4, 2009 at 10:14 PM, Brett Wilson bre...@chromium.org wrote:

 I just upgraded my dev box to one of the new quad-cores and put Vista
 64 on it so I can use more memory for the disk cache. (Note: XP64
 isn't one of the standard corp OS images.) I suspect more people will
 want to start doing this (I'm still doing tests, will send out the
 results).

 I just realized that I have a problem now: I have no way to run webkit
 pixel tests since the form control reference images all require XP's
 Luna theme. I have three boxes: Vista, Mac, and Linux, so it's not
 reasonable to get another one. It also seems impossible to require
 everybody use XP forever.

 WebKit solves this by putting the layout test results of each build in
 a public place on the buildbot (I don't think ours are, are they?) and
 when you change something that has a reference that isn't for your
 system, you just grab it off there, double-check that it's correct,
 and check it in. However, this requires more tolerance of test redness
 than we have had so far.

 The other option is to use platform-independent form control
 rendering. This actually isn't too hard. WebKit already has form
 control rendering for when you have funky CSS styles applied (think
 when you set border-top:2px solid red; on a text fiend) and we can
 enable this easily enough in our theme control by returning the
 correct values (maybe there are a few edge cases that need cleaning
 up).

 This has the advantage of letting people running XP, Vista or either
 of those with the classic theme run the layout tests in a meaningful
 way. It has the disadvantage that none of our native theme rendering
 will be covered by pixel tests, which could lead to regressions.

 I'm not sure which approach is better. Does anybody have any thoughts?

 Brett

 


 


--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: webkit/port is moving into third_party/WebKit/WebCore

2009-01-05 Thread Brett Wilson

On Mon, Jan 5, 2009 at 8:30 AM, Mike Pinkerton pinker...@chromium.org wrote:

 Awesome!

 Now that so much of our code is in the webkit tree, is there a
 (public) wiki page describing the steps necessary to make changes to
 anything within third_party/WebKit/WebCore? i.e, does everything have
 to go upstream, are there any circumstances when forking is allowed on
 a vendor branch, when should DEPS be rolled in this new world, etc?
 Seems like things have changed so quickly over the last few months (in
 a good way), it might be helpful to lay out the current state of
 things for everyone to re-baseline their knowledge.

Currently our port is not upstream, it is just checked into our local
copy of WebKit where they will soon be checked in upstream. So you can
continue to change our port when you want, although you will have to
roll webkit deps by updating src/DEPS to pull your change into Chrome.

Once we check in upstream, all changes should be checked in upstream,
and they will be pulled in the next day's WebKit merge.

Brett

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: building with shared libraries

2009-01-05 Thread Mike Pinkerton

Mozilla has this flexibility (for all platforms) and it's a very nice
feature in their build system. I think ultimately we should aspire to
do this on mac and windows too (hopefully when we're all unified on
[insert newfangled build system here]).

On Sun, Dec 28, 2008 at 11:47 AM, skana...@gmail.com skana...@gmail.com wrote:

 Just added 'SHARED=1':
   http://code.google.com/p/chromium/wiki/ChromiumSoftwareConstructionSystem

 On Dec 26, 6:24 am, Evan Martin e...@chromium.org wrote:
 I've checked in some changes that make it so you can build (on Linux)
 with shared libraries.  This significantly reduces link times and
 overall build times at the cost of slower code and slower startup
 (i.e., you shouldn't use it for user-facing builds).

 == Background
 Chromium has historically built as one huge shared object (.dll/.so),
 which means the linker can make more intelligent decisions (like
 eliminating dead code across modules) at the cost of making link times
 significantly slower.

 For example, a debug build of test_shell on linux is currently 400+
 megabytes (!) and part of the way scons builds involves copying that
 file once upon successful linking (!!).  A shared-library version of
 test_shell produces a 232kb executable along with 26 .so files.  In
 theory, if you don't touch code within one of the chrome submodules,
 then its .so doesn't need to be relinked.

 == How to use it
 $ normal_hammer_command_line SHARED=1
 Source files used in libraries should compile to .os rather than
 .o (they're different outputs -- e.g. position-independent code with
 -fPIC).

 If you have .so files in Hammer/dbg/lib/ , it appears to always
 produce shared executables regardless of your SHARED setting (?).  I
 need to investigate further why.  You can rm Hammer/dbg/lib/*.so to
 stop that for now.

 == Link time numbers
 Editing one test_shell file, rebuilding: 46s.
 Null build after that: 40s.
 This implies that the compile+link+copy time of test_shell was 6
 seconds and the other 40 is scons-related overhead (including
 stat()ing a bunch of files, etc.).

 For comparison, linking test_shell statically takes 124s on my laptop,
 with 42 second null build time.  So it saves about 78 seconds to
 dynamically link, or it's roughly 13 times faster.

 (Note that above numbers are with the slow standard binutils linker,
 rather than gold, and with my slow laptop, so your times may vary.)

 == Grungy details
 The scons build scripts do most of the work, including setting RPATH
 on the resulting binary, so you don't need to mess with
 LD_LIBRARY_PATH.

 We now use ChromeLibrary (rather than ChromeStaticLibrary) for all
 build commands, and should also use it in the future.  Stuff that
 always needs to be shared (i.e. plugins) can continue using
 ChromeSharedLibrary.

 == Fixing modules that are missing symbols when built shared
 The dynamic linker refuses to build shared libraries that are missing
 symbols.  It turns out in our code since we have traditionally
 statically linked everything, we've been ok with missing symbols as
 long as those functions/data are never referenced.  I had to make some
 changes to bring in or stub out missing bits of code; in a static
 build they should be eliminated by the linker as before.  I expect the
 shared build to occasionally break in the future due to this
 difference.  It might be worth making a builder for it, or just
 switching the Linux debug build to it.

 Another difference with shared code is dependency chains matter more.
 googleurl's unittest uses libbase, which officially depends on
 libevent despite the googleurl unittest not making use of libevent.
 So for a static build, it links fine, but for a dynamic build you'll
 get missing symbol errors when linking.

 The fix is to change anybody who uses libbase to pull in libevent as
 well (on platforms that use libevent).  The proper way to do this is
 to modify using_base.scons to pull in libevent, and then change anyone
 who uses libbase to use using_base.scons instead of referring to base
 directly.  Check out build/googleurl_unittests.scons and
 build/using_googleurl.scons for an example.
 




-- 
Mike Pinkerton
Mac Weenie
pinker...@google.com

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] HTTP BASIC/DIGEST BUG - Has it been fixed yet?

2009-01-05 Thread HLS

Excuse me?

But how long will it take to fix this bug?  I just updated my local
copy of chrome and this bug still exist.  I hate to sound angry but
this is ridiculous. I can not recommend nor even bother to discuss
Chrome to my customers as an alternative browser as long as it fails
to support the most inherent and most basic fundamental HTTP standard
- BASIC/DIGEST authentication, just like the rest of the majority
browsers do.

I know Google is trying to push Chrome as the alternative browser, but
lacking proper support for HTTP authentication will continue to dog it
and bad mouth it.   So please, its been months since this has been
reported.

Thanks

Hector Santos, CTO
http://www.santronics.com




--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: HTTP BASIC/DIGEST BUG - Has it been fixed yet?

2009-01-05 Thread Evan Martin

It would help if you link to the bug in the bug tracker.

I believe this message is in reference to
  http://code.google.com/p/chromium/issues/detail?id=1629
which has been marked fixed.

On Mon, Jan 5, 2009 at 11:53 AM, HLS sant9...@gmail.com wrote:

 Excuse me?

 But how long will it take to fix this bug?  I just updated my local
 copy of chrome and this bug still exist.  I hate to sound angry but
 this is ridiculous. I can not recommend nor even bother to discuss
 Chrome to my customers as an alternative browser as long as it fails
 to support the most inherent and most basic fundamental HTTP standard
 - BASIC/DIGEST authentication, just like the rest of the majority
 browsers do.

 I know Google is trying to push Chrome as the alternative browser, but
 lacking proper support for HTTP authentication will continue to dog it
 and bad mouth it.   So please, its been months since this has been
 reported.

 Thanks

 Hector Santos, CTO
 http://www.santronics.com




 


--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: HTTP BASIC/DIGEST BUG - Has it been fixed yet?

2009-01-05 Thread Mike Belshe

Hi, Hector,

Have you filed a bug to be specific about which problem you're having?
 There is a reasonable chance we're working on it, but let's be
specific about what the problem is.  If you can provide a repro case,
that would be great.  Also, we're working on some significant changes
to the HTTP stack; if you run chrome.exe --new-http, that will use
the new HTTP stack.  When you file the bug, please let us know if it
is present there too.

Here are the open bugs on digest auth:
http://code.google.com/p/chromium/issues/list?can=2q=digest+auth

Thanks,
Mike

PS - As you know, the tone of your message doesn't help.


On Mon, Jan 5, 2009 at 11:53 AM, HLS sant9...@gmail.com wrote:

 Excuse me?

 But how long will it take to fix this bug?  I just updated my local
 copy of chrome and this bug still exist.  I hate to sound angry but
 this is ridiculous. I can not recommend nor even bother to discuss
 Chrome to my customers as an alternative browser as long as it fails
 to support the most inherent and most basic fundamental HTTP standard
 - BASIC/DIGEST authentication, just like the rest of the majority
 browsers do.

 I know Google is trying to push Chrome as the alternative browser, but
 lacking proper support for HTTP authentication will continue to dog it
 and bad mouth it.   So please, its been months since this has been
 reported.

 Thanks

 Hector Santos, CTO
 http://www.santronics.com




 


--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: Platform-dependent form control rendering in layout tests

2009-01-05 Thread tony

I thought the plan for windows was to use interceptors like the sandbox
for the system level calls (DrawThemeBackground, etc) and just mock
everything.  This would fix running the tests on Vista and not require a
certain theme on XP.  AFAIK, no one has started on this work yet.

On Mon, 5 Jan 2009, Evan Martin wrote:

 
 On Sun, Jan 4, 2009 at 10:14 PM, Brett Wilson bre...@chromium.org wrote:
  I just upgraded my dev box to one of the new quad-cores and put Vista
  64 on it so I can use more memory for the disk cache. (Note: XP64
  isn't one of the standard corp OS images.) I suspect more people will
  want to start doing this (I'm still doing tests, will send out the
  results).
 
  I just realized that I have a problem now: I have no way to run webkit
  pixel tests since the form control reference images all require XP's
  Luna theme. I have three boxes: Vista, Mac, and Linux, so it's not
  reasonable to get another one. It also seems impossible to require
  everybody use XP forever.
 
  WebKit solves this by putting the layout test results of each build in
  a public place on the buildbot (I don't think ours are, are they?) and
  when you change something that has a reference that isn't for your
  system, you just grab it off there, double-check that it's correct,
  and check it in. However, this requires more tolerance of test redness
  than we have had so far.
 
  The other option is to use platform-independent form control
  rendering. This actually isn't too hard. WebKit already has form
  control rendering for when you have funky CSS styles applied (think
  when you set border-top:2px solid red; on a text fiend) and we can
  enable this easily enough in our theme control by returning the
  correct values (maybe there are a few edge cases that need cleaning
  up).
 
  This has the advantage of letting people running XP, Vista or either
  of those with the classic theme run the layout tests in a meaningful
  way. It has the disadvantage that none of our native theme rendering
  will be covered by pixel tests, which could lead to regressions.
 
 It would also let the Linux output be (nearly) shared with Windows.
 Currently we match Windows up to the details of antialiasing so the
 fuzzy differ finds them identical enough unless form controls are
 involved.
 
 But at least in the Linux world, we've had a ton of bugs related to
 form control rendering, and they appear to be subtle (e.g. taking
 improperly taking some transformation into account when clipping),
 triggering only a few layout test failures.  It is important to
 continue testing those code paths.
 
 Does Vista not support classic-mode rendering?  Clearly the solution
 is to require everyone to use classic.  :P
 
 Slightly more seriously, you're welcome to check in Vista or OSless
 baselines as long as you're willing to maintain them when they break.
 Otherwise it'll be yet one more platform people will need to
 rebaseline when they fix a bug somewhere.  :\
 
  

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: webkit/port is moving into third_party/WebKit/WebCore

2009-01-05 Thread Mike Pinkerton

Awesome!

Now that so much of our code is in the webkit tree, is there a
(public) wiki page describing the steps necessary to make changes to
anything within third_party/WebKit/WebCore? i.e, does everything have
to go upstream, are there any circumstances when forking is allowed on
a vendor branch, when should DEPS be rolled in this new world, etc?
Seems like things have changed so quickly over the last few months (in
a good way), it might be helpful to lay out the current state of
things for everyone to re-baseline their knowledge.

On Wed, Dec 24, 2008 at 3:46 PM, Dimitri Glazkov dglaz...@google.com wrote:

 As of Christmas Eve, we have:

 webkit/port/bindings/{scripts,v8}
 webkit/port/platform/image-decoders
 webkit/port/platform/graphics/mac
 webkit/port/DerivedSources.make

 Merry Christmas and/or Festivus, everyone!

 Oh, and I broke the build yesterday, and eroman fixed it. He da man.

 :DG

 On Tue, Dec 23, 2008 at 3:48 PM, Darin Fisher da...@chromium.org wrote:
 For now, just operate the same as you would had these files still resided in
 webkit/port.  Just don't forget to roll DEPS :)
 We'll eventually be updating the merge tracker
 (http://build.chromium.org/merge) to indicate the set of files and diffs
 that have yet to be upstreamed.
 -Darin

 On Tue, Dec 23, 2008 at 2:51 PM, Adam Barth aba...@chromium.org wrote:

 I see.  Can I make changes to them in third_party, or should I wait
 for them to appear upstream?

 Adam


 On Tue, Dec 23, 2008 at 1:35 PM, Dimitri Glazkov dglaz...@google.com
 wrote:
 
 
  http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/WebKit/WebCore/platform/graphics/
 
  These haven't been yet upstreamed. We just started by moving them into
  our vendor branch.
 
  :DG
 
  On Tue, Dec 23, 2008 at 1:31 PM, Adam Barth aba...@chromium.org wrote:
 
  I'm confused.  I need to fix a bug in ImageSourceSkia.cpp, but I can't
  find it
 
 
  http://src.chromium.org/viewvc/chrome/trunk/src/webkit/port/platform/graphics/
 
  or
 
  http://trac.webkit.org/browser/trunk/WebCore/platform/graphics
 
  Where did it go?
 
  Adam
 
 
  On Mon, Dec 22, 2008 at 8:42 PM, Darin Fisher da...@chromium.org
  wrote:
  OK, much of webkit/port now lives in third_party/WebKit.
  All that remains is:
  webkit/port/bindings/{scripts,v8}
  webkit/port/bridge/chromium
  webkit/port/page/chromium
  webkit/port/page/inspector
  webkit/port/platform/image-decoders
  webkit/port/platform/mac
  webkit/port/platform/graphics/mac
  webkit/port/DerivedSources.make
  We should be able to finish moving most of the rest of these files
  tomorrow.
  -Darin
 
  On Mon, Dec 22, 2008 at 11:48 AM, Mohamed Mansour
  m0.interact...@gmail.com
  wrote:
 
  I guess I will stop till your done!
 
 
  On Mon, Dec 22, 2008 at 2:42 PM, Darin Fisher da...@chromium.org
  wrote:
 
  FYI
  Please expect conflicts if you are trying to make changes to
  webkit/port.
  -Darin
 
 
 
 
 
 
  
 
 
  
 
 
  
 




 


 




-- 
Mike Pinkerton
Mac Weenie
pinker...@google.com

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: HTTP BASIC/DIGEST BUG - Has it been fixed yet?

2009-01-05 Thread Wan-Teh Chang

On Mon, Jan 5, 2009 at 12:28 PM, Evan Martin e...@chromium.org wrote:

 It would help if you link to the bug in the bug tracker.

 I believe this message is in reference to
  http://code.google.com/p/chromium/issues/detail?id=1629
 which has been marked fixed.

This bug has been fixed on the trunk of the Chromium source tree.
But the fix isn't in the latest Google Chrome release yet because
it is based on a branch created in November.  We didn't backport
the bug fix to the official branch because it's a big patch so there's
a risk that we may introduce other bugs when we adapt it for the
official branch, which uses a completely different HTTP stack.

Hopefully the fix will appear in a Dev Channel release as part of
our new HTTP stack very soon.

Note: the bug is not that Chromium doesn't support HTTP BASIC
and DIGEST authentication.  The bug is that Chromium will only
send a HTTP Authorization header after receiving a 401 Authorization
Required response to the first attempt of the request.

Wan-Teh Chang

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: RenderView unit tests!

2009-01-05 Thread Marc-Antoine Ruel

Yay! Thanks a lot!

On Mon, Jan 5, 2009 at 3:56 PM, Brett Wilson bre...@chromium.org wrote:

 Carlos created some unit testing framework for RenderWidget, and I
 just extended them to support RenderView. These areas have not been
 covered by unit tests before, and we have had some regressions as a
 result of our laziness.

 If you make changes to render_view.cc or render_widget.cc, please make
 sure it includes a test from now on! Please be brutal in code reviews
 when you see that others are making changes. If you change an area,
 you may end up having to write a test for things that weren't tested
 before (this includes porting efforts), but spending this extra time
 will help everybody (and all ports).

 Stuff you can do now with very little work:
 - Send any IPC message to RenderView, or call any of its methods.
 - Check that the RenderView sent certain IPC messages after you do
 something, and inspect their contents.
 - Load HTML and execute JS of your choosing into an offscreen RenderView.

 This capability covers some of the stuff we've used UI tests to cover
 in the past. Consider whether your UI tests can instead be expressed
 as a render_view_unittest, as it will be much easier to write, debug,
 and should be much less flaky (you don't need 3 levels of automation
 proxy messages just to do something simple).

 Don't forget about test_shell_tests if you're only testing parts of
 the port or glue and don't need render_view.

 Thanks,
 Brett

 


--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Proposal: enforcing unit testing in gcl

2009-01-05 Thread Pam Greene
We don't have very good unit test coverage (in the broad sense, including
ui_tests, test_shell_tests, etc.) for our code.  We've always had a policy
that any new code had to have an associated test, but historically we've
been really bad about enforcing it.

As a way to help contributors and reviewers remember to add tests, here's a
proposal to have gcl report when they are (or might be) missing.  It's a
very rough guess now, and will probably need some refinement as we see what
it misses and where its false positives are too annoying.

What changes might need tests?

   - Any new source file (.cc, .cpp, .m, or .mm), or
   - Any new method added to a source or header (.h file
  - A new method is identified by a flush-left non-comment line that has
  ( somewhere before the next flush-left line and either ends with
{ or has {
  at the start of the next flush-left line.

What counts as a test?

   - Any change to any code file whose name ends in test.* or tests.*
  - This is very rough, but at least it shows that the contributor
  thought about testing when making the patch

What do we do if we don't find a test?

   - On 'gcl change', report a warning to the user
   - On 'gcl upload', add a warning to the change description so the
   reviewer sees it too
  - Add an option to override this

Future possibilities

   - Is it worth restricting the check to only public or protected methods?
   - Since any real change ought to either fix a bug or add a feature that
   should be tested, warn whenever there are no changes to any tests (including
   layout tests) or a test_lists file, even when no source files or methods
   were added.  Alas, this is probably not feasible since we don't keep layout
   tests in the same repository
   - Rather than adding a warning to the change description, it'd be nice to
   have a separate warning in the review app, so it showed up no matter what
   and the path author didn't have to override anything.  But since we want the
   warning in client-side 'gcl change' anyway, for now we'll keep it simple and
   trust people.


Comments and volunteers welcome.

- Pam

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: Proposal: enforcing unit testing in gcl

2009-01-05 Thread Brett Wilson

I think this sounds like an excellent start. We can tweak it if we
notice things not working properly.

Brett

On Mon, Jan 5, 2009 at 3:25 PM, Pam Greene p...@chromium.org wrote:
 We don't have very good unit test coverage (in the broad sense, including
 ui_tests, test_shell_tests, etc.) for our code.  We've always had a policy
 that any new code had to have an associated test, but historically we've
 been really bad about enforcing it.

 As a way to help contributors and reviewers remember to add tests, here's a
 proposal to have gcl report when they are (or might be) missing.  It's a
 very rough guess now, and will probably need some refinement as we see what
 it misses and where its false positives are too annoying.

 What changes might need tests?

 Any new source file (.cc, .cpp, .m, or .mm), or
 Any new method added to a source or header (.h file

 A new method is identified by a flush-left non-comment line that has (
 somewhere before the next flush-left line and either ends with { or has { at
 the start of the next flush-left line.

 What counts as a test?

 Any change to any code file whose name ends in test.* or tests.*

 This is very rough, but at least it shows that the contributor thought about
 testing when making the patch

 What do we do if we don't find a test?

 On 'gcl change', report a warning to the user
 On 'gcl upload', add a warning to the change description so the reviewer
 sees it too

 Add an option to override this

 Future possibilities

 Is it worth restricting the check to only public or protected methods?
 Since any real change ought to either fix a bug or add a feature that
 should be tested, warn whenever there are no changes to any tests (including
 layout tests) or a test_lists file, even when no source files or methods
 were added.  Alas, this is probably not feasible since we don't keep layout
 tests in the same repository
 Rather than adding a warning to the change description, it'd be nice to have
 a separate warning in the review app, so it showed up no matter what and the
 path author didn't have to override anything.  But since we want the warning
 in client-side 'gcl change' anyway, for now we'll keep it simple and trust
 people.

 Comments and volunteers welcome.
 - Pam

 


--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: Proposal: enforcing unit testing in gcl

2009-01-05 Thread Mike Belshe

Sounds great, Pam!

I think the gcl command line option to submit without a test should be:

   gcl upload --i-am-a-test-slacker

Mike


On Mon, Jan 5, 2009 at 3:25 PM, Pam Greene p...@chromium.org wrote:
 We don't have very good unit test coverage (in the broad sense, including
 ui_tests, test_shell_tests, etc.) for our code.  We've always had a policy
 that any new code had to have an associated test, but historically we've
 been really bad about enforcing it.

 As a way to help contributors and reviewers remember to add tests, here's a
 proposal to have gcl report when they are (or might be) missing.  It's a
 very rough guess now, and will probably need some refinement as we see what
 it misses and where its false positives are too annoying.

 What changes might need tests?

 Any new source file (.cc, .cpp, .m, or .mm), or
 Any new method added to a source or header (.h file

 A new method is identified by a flush-left non-comment line that has (
 somewhere before the next flush-left line and either ends with { or has { at
 the start of the next flush-left line.

 What counts as a test?

 Any change to any code file whose name ends in test.* or tests.*

 This is very rough, but at least it shows that the contributor thought about
 testing when making the patch

 What do we do if we don't find a test?

 On 'gcl change', report a warning to the user
 On 'gcl upload', add a warning to the change description so the reviewer
 sees it too

 Add an option to override this

 Future possibilities

 Is it worth restricting the check to only public or protected methods?
 Since any real change ought to either fix a bug or add a feature that
 should be tested, warn whenever there are no changes to any tests (including
 layout tests) or a test_lists file, even when no source files or methods
 were added.  Alas, this is probably not feasible since we don't keep layout
 tests in the same repository
 Rather than adding a warning to the change description, it'd be nice to have
 a separate warning in the review app, so it showed up no matter what and the
 path author didn't have to override anything.  But since we want the warning
 in client-side 'gcl change' anyway, for now we'll keep it simple and trust
 people.

 Comments and volunteers welcome.
 - Pam

 


--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: Proposal: enforcing unit testing in gcl

2009-01-05 Thread Ben Goodger (Google)

I think you also need a way to override this in some instances, since
there are methods (especially in views/ and the UI) for which there is
no simple way to verify correctness of an implementation in code -
e.g. a function that paints a series of bitmaps at specific locations.
(Nor would we really want to invest in one, since visual designs
evolve continuously over time).

-Ben

On Mon, Jan 5, 2009 at 3:25 PM, Pam Greene p...@chromium.org wrote:
 We don't have very good unit test coverage (in the broad sense, including
 ui_tests, test_shell_tests, etc.) for our code.  We've always had a policy
 that any new code had to have an associated test, but historically we've
 been really bad about enforcing it.

 As a way to help contributors and reviewers remember to add tests, here's a
 proposal to have gcl report when they are (or might be) missing.  It's a
 very rough guess now, and will probably need some refinement as we see what
 it misses and where its false positives are too annoying.

 What changes might need tests?

 Any new source file (.cc, .cpp, .m, or .mm), or
 Any new method added to a source or header (.h file

 A new method is identified by a flush-left non-comment line that has (
 somewhere before the next flush-left line and either ends with { or has { at
 the start of the next flush-left line.

 What counts as a test?

 Any change to any code file whose name ends in test.* or tests.*

 This is very rough, but at least it shows that the contributor thought about
 testing when making the patch

 What do we do if we don't find a test?

 On 'gcl change', report a warning to the user
 On 'gcl upload', add a warning to the change description so the reviewer
 sees it too

 Add an option to override this

 Future possibilities

 Is it worth restricting the check to only public or protected methods?
 Since any real change ought to either fix a bug or add a feature that
 should be tested, warn whenever there are no changes to any tests (including
 layout tests) or a test_lists file, even when no source files or methods
 were added.  Alas, this is probably not feasible since we don't keep layout
 tests in the same repository
 Rather than adding a warning to the change description, it'd be nice to have
 a separate warning in the review app, so it showed up no matter what and the
 path author didn't have to override anything.  But since we want the warning
 in client-side 'gcl change' anyway, for now we'll keep it simple and trust
 people.

 Comments and volunteers welcome.
 - Pam

 


--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: Proposal: enforcing unit testing in gcl

2009-01-05 Thread Pam Greene
Yes, there's an override option in the proposal below. It'll still give a
warning on 'gcl change', but that's harmless.
- Pam

On Mon, Jan 5, 2009 at 4:08 PM, Ben Goodger (Google) b...@chromium.orgwrote:


 I think you also need a way to override this in some instances, since
 there are methods (especially in views/ and the UI) for which there is
 no simple way to verify correctness of an implementation in code -
 e.g. a function that paints a series of bitmaps at specific locations.
 (Nor would we really want to invest in one, since visual designs
 evolve continuously over time).

 -Ben

 On Mon, Jan 5, 2009 at 3:25 PM, Pam Greene p...@chromium.org wrote:
  We don't have very good unit test coverage (in the broad sense, including
  ui_tests, test_shell_tests, etc.) for our code.  We've always had a
 policy
  that any new code had to have an associated test, but historically we've
  been really bad about enforcing it.
 
  As a way to help contributors and reviewers remember to add tests, here's
 a
  proposal to have gcl report when they are (or might be) missing.  It's a
  very rough guess now, and will probably need some refinement as we see
 what
  it misses and where its false positives are too annoying.
 
  What changes might need tests?
 
  Any new source file (.cc, .cpp, .m, or .mm), or
  Any new method added to a source or header (.h file
 
  A new method is identified by a flush-left non-comment line that has (
  somewhere before the next flush-left line and either ends with { or has {
 at
  the start of the next flush-left line.
 
  What counts as a test?
 
  Any change to any code file whose name ends in test.* or tests.*
 
  This is very rough, but at least it shows that the contributor thought
 about
  testing when making the patch
 
  What do we do if we don't find a test?
 
  On 'gcl change', report a warning to the user
  On 'gcl upload', add a warning to the change description so the reviewer
  sees it too
 
  Add an option to override this
 
  Future possibilities
 
  Is it worth restricting the check to only public or protected methods?
  Since any real change ought to either fix a bug or add a feature that
  should be tested, warn whenever there are no changes to any tests
 (including
  layout tests) or a test_lists file, even when no source files or methods
  were added.  Alas, this is probably not feasible since we don't keep
 layout
  tests in the same repository
  Rather than adding a warning to the change description, it'd be nice to
 have
  a separate warning in the review app, so it showed up no matter what and
 the
  path author didn't have to override anything.  But since we want the
 warning
  in client-side 'gcl change' anyway, for now we'll keep it simple and
 trust
  people.
 
  Comments and volunteers welcome.
  - Pam
 
  
 

 


--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Has your computer melted?

2009-01-05 Thread Brett Wilson

I just checked in a change to use /MP for all compiles, which is a
secret undocumented flag that does parallel compiles within each
project.

Please let me know of your computer melts or becomes unusable during a
compile. It should more efficiently use all of your CPUs when doing
regular Visual Studio builds (it will have no effect on
IncrediBuilds). You can remove it from essential.vsprops if it's
causing problems.

We tested on Carlos' 2-processor system and it pegged the CPU more,
although it's not clear if it's a lot faster than before. On my
4-processor system, a build of just chrome_exe and all of it's
dependencies went from 25 to 16 minutes after using this flag. So if
you hate IncrediBuild, life might actually be tolerable without it for
fast systems.

Brett

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: Has your computer melted?

2009-01-05 Thread Mohamed Mansour
Awesome Brett!
My Quad Core processor is using all the 4 CPU :) 94% constant :x Mine took
20minutes to build from scratch, big improvement! I was doing many other
stuff at the same time, Java (Eclipse), C# Visual Studio, browsing.

Awesome Improvement, thanks! No need to wait 40 minutes :)

On Mon, Jan 5, 2009 at 7:32 PM, Brett Wilson bre...@chromium.org wrote:


 I just checked in a change to use /MP for all compiles, which is a
 secret undocumented flag that does parallel compiles within each
 project.

 Please let me know of your computer melts or becomes unusable during a
 compile. It should more efficiently use all of your CPUs when doing
 regular Visual Studio builds (it will have no effect on
 IncrediBuilds). You can remove it from essential.vsprops if it's
 causing problems.

 We tested on Carlos' 2-processor system and it pegged the CPU more,
 although it's not clear if it's a lot faster than before. On my
 4-processor system, a build of just chrome_exe and all of it's
 dependencies went from 25 to 16 minutes after using this flag. So if
 you hate IncrediBuild, life might actually be tolerable without it for
 fast systems.

 Brett

 


--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] What WebKit goodies do we get in 155?

2009-01-05 Thread Mark Larson (Google)
I'm working on release notes for 155. The big addition in 155 (vs the 154
code we've been releasing) is the WebKit update.
What have we gained since we started merging to WebKit's trunk?

So far, I've got
  -- full page zoom
  -- autoscroll
  -- CSS gradients
  -- CSS canvas drawing
  -- (partly) CSS masks
  -- (partly?) CSS reflections

Can you think of other features worth noting in release notes?

Thanks,
Mark

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: What WebKit goodies do we get in 155?

2009-01-05 Thread Mohamed Mansour
How about mouse gestures, middle scroll button

On Tue, Jan 6, 2009 at 12:30 AM, Mark Larson (Google) m...@chromium.orgwrote:

 I'm working on release notes for 155. The big addition in 155 (vs the 154
 code we've been releasing) is the WebKit update.
 What have we gained since we started merging to WebKit's trunk?

 So far, I've got
   -- full page zoom
   -- autoscroll
   -- CSS gradients
   -- CSS canvas drawing
   -- (partly) CSS masks
   -- (partly?) CSS reflections

 Can you think of other features worth noting in release notes?

 Thanks,
 Mark

 


--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: What WebKit goodies do we get in 155?

2009-01-05 Thread Mohamed Mansour
Mark I shouldn't have added that extra comma, I just meant autoscroll.
Sorry for the confusion :)


On Tue, Jan 6, 2009 at 1:24 AM, Mark Larson (Google) m...@chromium.orgwrote:



 On Mon, Jan 5, 2009 at 21:57, Mohamed Mansour m0.interact...@gmail.comwrote:

 How about mouse gestures, middle scroll button


 Middle scroll button is what I mean by 'autoscroll'. What mouse gestures
 have been added?




 On Tue, Jan 6, 2009 at 12:30 AM, Mark Larson (Google) 
 m...@chromium.orgwrote:

 I'm working on release notes for 155. The big addition in 155 (vs the 154
 code we've been releasing) is the WebKit update.
 What have we gained since we started merging to WebKit's trunk?

 So far, I've got
   -- full page zoom
   -- autoscroll
   -- CSS gradients
   -- CSS canvas drawing
   -- (partly) CSS masks
   -- (partly?) CSS reflections

 Can you think of other features worth noting in release notes?

 Thanks,
 Mark







 


--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: What WebKit goodies do we get in 155?

2009-01-05 Thread Mohamed Mansour
I remember now, Mouse Gestures such as Forward/Backward mouse button, to
navigate web pages.Its not on 154 but on 155

On Tue, Jan 6, 2009 at 1:30 AM, Mohamed Mansour m0.interact...@gmail.comwrote:

 Mark I shouldn't have added that extra comma, I just meant autoscroll.
 Sorry for the confusion :)



 On Tue, Jan 6, 2009 at 1:24 AM, Mark Larson (Google) m...@chromium.orgwrote:



 On Mon, Jan 5, 2009 at 21:57, Mohamed Mansour 
 m0.interact...@gmail.comwrote:

 How about mouse gestures, middle scroll button


 Middle scroll button is what I mean by 'autoscroll'. What mouse gestures
 have been added?




 On Tue, Jan 6, 2009 at 12:30 AM, Mark Larson (Google) 
 m...@chromium.orgwrote:

 I'm working on release notes for 155. The big addition in 155 (vs the
 154 code we've been releasing) is the WebKit update.
 What have we gained since we started merging to WebKit's trunk?

 So far, I've got
   -- full page zoom
   -- autoscroll
   -- CSS gradients
   -- CSS canvas drawing
   -- (partly) CSS masks
   -- (partly?) CSS reflections

 Can you think of other features worth noting in release notes?

 Thanks,
 Mark







 



--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Stabilization Effort Daily Report

2009-01-05 Thread Jon
*Report for 2009-1-5*

The Layout Tests class went well.  We are going to record it next week so
people can watch it on demand.  Eric's slides are at
http://www.corp.google.com/~ericroman/layout/http://www.corp.google.com/%7Eericroman/layout/
I appreciate the enthusiasm!

It is a good idea to look at
http://code.google.com/p/chromium/wiki/StabilizeTrunk for the latest
information.

The Wiki also includes information on how to help fix layout tests.  This is
a great way to get involved and begin to learn the codebase.  If you have
ever wanted to be an open source developer then this is a great way to
start!


*Layout Tests*

Each day the report at
http://www.corp.google.com/~jonc/layout-summary.htmlhttp://www.corp.google.com/%7Ejonc/layout-summary.html
will
be updated with recent results.  This report allows you to find layout tests
that are failing on all platforms.  It also makes it clear which directories
have the most failures if you would like to work in a specific area.  As
always be sure to sign up at
http://spreadsheets.google.com/ccc?key=pMwul3Seofg448Q1VFJjsJAhl=en if you
are going to work on a layout test.  We don't want to step on each other's
toes.

Our hopes that the *jultomte http://en.wikipedia.org/wiki/Tomte * would
fix all the layout tests did not pan out so we are going to have to do it
ourselves.  Here is where we currently stand:

[image: To+Be+Fixed=1.4][image: All+Tests=74.9][image: Want+To+Pass=90.4]



The Fixed percentage is based on the layout tests in the
tests_fixablehttp://src.chromium.org/viewvc/chrome/trunk/src/webkit/tools/layout_tests/test_lists/tests_fixable.txt?view=markup
file.
 These are tests we are currently ignoring because we know they fail.  As
soon as we fix them we move them out of fixable so this number does not tend
to get very high.  It can momentarily spike between the time we fix the test
and update the file.


All tests is based on all available layout tests including those that we are
currently not trying to pass.  There are tests in this group which are known
to be bad or relate to future technologies.


Want to Pass is based on the tests that we need to be passing before we will
ship a revision of the browser.  Getting this number as high as possible is
the goal of the stabilization effort.  Some of these tests are failing due
to subtle changes that require the test to be re-baselined.


*Purify Bugs (Memory)*

We have resolved 10 of the 40 Purify issues.  That is two more than before
the holiday break.


*Regressions*

We have resolved 11 of 25 regressions.  That is one more since before the
holiday break.


*Other bugs*

We have also resolved 12 of the 43 other bugs.  That is 2 more than before
the break but there are also 2 new ones.


So our bug burndown chart looks like this:

 As long as we keep the red line below the blue line we are on track for the
bugs.  Keep in mind that this does not include the work on Layout Tests.

You will find a lot more information about the Stabilization effort on the
Wiki at http://code.google.com/p/chromium/wiki/StabilizeTrunk

--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---



[chromium-dev] Re: What WebKit goodies do we get in 155?

2009-01-05 Thread Adam Barth

If 155 is coming off of trunk, it has postMessage(), which is exciting
for us security wonks.

Adam


On Mon, Jan 5, 2009 at 9:30 PM, Mark Larson (Google) m...@chromium.org wrote:
 I'm working on release notes for 155. The big addition in 155 (vs the 154
 code we've been releasing) is the WebKit update.
 What have we gained since we started merging to WebKit's trunk?
 So far, I've got
   -- full page zoom
   -- autoscroll
   -- CSS gradients
   -- CSS canvas drawing
   -- (partly) CSS masks
   -- (partly?) CSS reflections
 Can you think of other features worth noting in release notes?
 Thanks,
 Mark
 


--~--~-~--~~~---~--~~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
http://groups.google.com/group/chromium-dev
-~--~~~~--~~--~--~---