[chromium-dev] Re: Next dev release

2009-11-05 Thread Aaron Boodman

On Thu, Nov 5, 2009 at 10:18 AM, Marcos Aruj marcos.a...@gmail.com wrote:
 Hi all,
 Just wanted to know when will the next dev release be?

Hi Marcos,

We usually try to do dev channel releases once a week, but it varies
depending on the state of the tree. Releases (even dev channel ones)
take time to create and test. Currently we are a few weeks behind, but
we hope to get something out by early next week.

- a

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



[chromium-dev] Ensuring that all destructors of ref counted objects are private

2009-11-05 Thread John Abd-El-Malek
I've gone through the code and made all destructors of objects that derive
from base::RefCounted or base::RefCountedThreadSafe private.  This helps to
catch corruption bugs at compile time.  For classes that are derived from
refcounted, make the destuctor protected and ensure that all derived classes
have private destructors.

The reason I have gone through and changed all classes is to ensure that new
code always has correct examples to copy from.

From now on, please ensure that you follow this pattern in code that you
write and review.  I've updated the wiki and the headers as well.

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



[chromium-dev] Large commit - update your .gclient files to avoid

2009-11-05 Thread Steve VanDeBogart
This afternoon I will update DEPS to pull in 170MB of profile data for
memory_test. Unless you run memory_test, you probably want to add the
following line to the custom_deps section of your .gclient file.

src/data/memory_test/membuster: None,

--
Steve

--~--~-~--~~~---~--~~
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: Next dev release

2009-11-05 Thread Marcos Aruj
Ok, thanks a lot. I was asking because I am testing the Notifications API
and only got it working on the latest nightly build of chromium, but
devtools for it doesn't work.
Thanks for your help.

On Thu, Nov 5, 2009 at 1:11 PM, Aaron Boodman a...@chromium.org wrote:

 On Thu, Nov 5, 2009 at 10:18 AM, Marcos Aruj marcos.a...@gmail.com
 wrote:
  Hi all,
  Just wanted to know when will the next dev release be?

 Hi Marcos,

 We usually try to do dev channel releases once a week, but it varies
 depending on the state of the tree. Releases (even dev channel ones)
 take time to create and test. Currently we are a few weeks behind, but
 we hope to get something out by early next week.

 - a




-- 
Marcos Aruj Alvarez
Ingeniero de Software
---
http://www.marcosaruj.com
marcos.a...@gmail.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] Next dev release

2009-11-05 Thread Marcos Aruj
Hi all,

Just wanted to know when will the next dev release be?

Thanks

-- 
Marcos Aruj Alvarez
Ingeniero de Software
---
marcos.a...@gmail.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: Next dev release

2009-11-05 Thread Peter Kasting
On Thu, Nov 5, 2009 at 10:18 AM, Marcos Aruj marcos.a...@gmail.com wrote:

 Hi all,

 Just wanted to know when will the next dev release be?


Don't spam this list with questions like this.

If you look at the timeline of past dev releases you can probably estimate
how long it is between each one.

PK

--~--~-~--~~~---~--~~
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: Large commit - update your .gclient files to avoid

2009-11-05 Thread Adam Barth

Can we note this on dev.chromium.org somewhere?

Adam


On Thu, Nov 5, 2009 at 11:16 AM, Steve VanDeBogart vand...@chromium.org wrote:
 This afternoon I will update DEPS to pull in 170MB of profile data for
 memory_test. Unless you run memory_test, you probably want to add the
 following line to the custom_deps section of your .gclient file.
     src/data/memory_test/membuster: None,
 --
 Steve
 


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



[chromium-dev] history.back always fires onload in chromium - is it expected?

2009-11-05 Thread Kinuko Yasuda
Hi chromium developers,

I've been looking into a layout-test bug 20341 (
http://code.google.com/p/chromium/issues/detail?id=20341) and found that in
chromium history.back always fires onload() even if WebKit's page cache is
enabled (== WebKitUsePageCachePreferenceKey is set true).
This makes running this test (
LayoutTests/loader/go-back-to-different-window-size.html) cause an infinite
loop both in test_shell and chromium.

In a quick glance FrameLoaderClientImpl::canCachePage() and
ApplicationCacheHost::canCacheInPageCache() are hard-coded to return false
(with a comment saying that we manage the cache so reporting the page as
non-cacheable), making FrameLoader always go through all the page-loading
steps.

Seems like this behavior (calls onload on history.back or not) differs
across browsers:
FireFox 3: NO
Safari: NO
IE8: YES

Is it an expected behavior or do we need some fix for it?

--~--~-~--~~~---~--~~
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: Large commit - update your .gclient files to avoid

2009-11-05 Thread Jeremy Orlow
In general, it might be interesting to document how to get a more lean
checkout of Chromium.

On Thu, Nov 5, 2009 at 11:34 AM, Adam Barth aba...@chromium.org wrote:


 Can we note this on dev.chromium.org somewhere?

 Adam


 On Thu, Nov 5, 2009 at 11:16 AM, Steve VanDeBogart vand...@chromium.org
 wrote:
  This afternoon I will update DEPS to pull in 170MB of profile data for
  memory_test. Unless you run memory_test, you probably want to add the
  following line to the custom_deps section of your .gclient file.
  src/data/memory_test/membuster: None,
  --
  Steve
  
 

 


--~--~-~--~~~---~--~~
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: Large commit - update your .gclient files to avoid

2009-11-05 Thread Ben Goodger (Google)

it'd be nice to have a gclient config lean or something like that.

-Ben

On Thu, Nov 5, 2009 at 11:42 AM, Jeremy Orlow jor...@google.com wrote:
 In general, it might be interesting to document how to get a more lean
 checkout of Chromium.

 On Thu, Nov 5, 2009 at 11:34 AM, Adam Barth aba...@chromium.org wrote:

 Can we note this on dev.chromium.org somewhere?

 Adam


 On Thu, Nov 5, 2009 at 11:16 AM, Steve VanDeBogart vand...@chromium.org
 wrote:
  This afternoon I will update DEPS to pull in 170MB of profile data for
  memory_test. Unless you run memory_test, you probably want to add the
  following line to the custom_deps section of your .gclient file.
      src/data/memory_test/membuster: None,
  --
  Steve
  
 




 


--~--~-~--~~~---~--~~
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: Large commit - update your .gclient files to avoid

2009-11-05 Thread Charles Reis
See the Reducing the size of your checkout section of this page for a
place to mention it:
http://dev.chromium.org/developers/how-tos/get-the-code

(gclient config lean would also be nice)

Charlie

On Thu, Nov 5, 2009 at 11:44 AM, Ben Goodger (Google) b...@chromium.orgwrote:


 it'd be nice to have a gclient config lean or something like that.

 -Ben

 On Thu, Nov 5, 2009 at 11:42 AM, Jeremy Orlow jor...@google.com wrote:
  In general, it might be interesting to document how to get a more lean
  checkout of Chromium.
 
  On Thu, Nov 5, 2009 at 11:34 AM, Adam Barth aba...@chromium.org wrote:
 
  Can we note this on dev.chromium.org somewhere?
 
  Adam
 
 
  On Thu, Nov 5, 2009 at 11:16 AM, Steve VanDeBogart 
 vand...@chromium.org
  wrote:
   This afternoon I will update DEPS to pull in 170MB of profile data for
   memory_test. Unless you run memory_test, you probably want to add the
   following line to the custom_deps section of your .gclient file.
   src/data/memory_test/membuster: None,
   --
   Steve
   
  
 
 
 
 
  
 

 


--~--~-~--~~~---~--~~
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: Large commit - update your .gclient files to avoid

2009-11-05 Thread Lei Zhang

And have the tarball generated from this lean configuration.

On Thu, Nov 5, 2009 at 11:44 AM, Ben Goodger (Google) b...@chromium.org wrote:

 it'd be nice to have a gclient config lean or something like that.

 -Ben

 On Thu, Nov 5, 2009 at 11:42 AM, Jeremy Orlow jor...@google.com wrote:
 In general, it might be interesting to document how to get a more lean
 checkout of Chromium.

 On Thu, Nov 5, 2009 at 11:34 AM, Adam Barth aba...@chromium.org wrote:

 Can we note this on dev.chromium.org somewhere?

 Adam


 On Thu, Nov 5, 2009 at 11:16 AM, Steve VanDeBogart vand...@chromium.org
 wrote:
  This afternoon I will update DEPS to pull in 170MB of profile data for
  memory_test. Unless you run memory_test, you probably want to add the
  following line to the custom_deps section of your .gclient file.
      src/data/memory_test/membuster: None,
  --
  Steve
  
 




 


 


--~--~-~--~~~---~--~~
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: [Chrome-team] Re: [MEMORY] Counting committed bytes

2009-11-05 Thread Ricardo Vargas
On Thu, Nov 5, 2009 at 7:32 AM, Anton Muhin ant...@chromium.org wrote:

 On Wed, Nov 4, 2009 at 3:39 AM, Ricardo Vargas rvar...@google.com wrote:
  I don't see the post to chromium-dev so...

 Sorry, responding to chromium-dev.

  Playing with your code the only delta that I see is one page (for each 2
  MB). This ratio works well when the allocation size increases (and drops
 to
  zero for small allocations), and as far as I can see corresponds to the
  memory needed to keep an extra page table for the memory that you reserve
  (the cost of reserved memory is small, but not zero).

 Yes, I understand it now.  I wonder if you (or anyone else) knows
 details like when it goes out (and why it happens for tcmalloc which
 doesn't frees memory), is there a way to keep it smaller or it just
 proportional to amount of reserved memory, is it the same for all
 Windows (XP, Vista, 7).


To be fair, the page table is not supposed to be created just for reserved
memory, only for commited, and in fact the page directory entry is empty
until commit. But still, either the page is reserved (for lack of a better
word) or the process is just charged for it.

I don't see a reason for the system doing something different for tcmalloc.
Are you sure that this test really represents the difference that you see
with the actual browser?. The amount of memory will always be a preset
percentage of the requested memory, but it changes slightly with the cpu
mode (32/PAE/64).

 One caveat: initialize the message buffers before the first call to
  GetProcessMemoryInfo to avoid seeing a ws increase if the stack has to
 grow.

 Thanks a lot, very good point.

 yours,
 anton.

  On Tue, Nov 3, 2009 at 10:57 AM, Anton Muhin ant...@chromium.org
 wrote:
 
  Resending to chromium-dev.
 
  yours,
  anton.
 
  On Tue, Nov 3, 2009 at 9:43 PM, Anton Muhin ant...@google.com wrote:
   Dear colleagues,
  
   That looks like common idiom (in both tcmalloc and V8) to count amount
   of committed/allocated bytes just adding amount of requested size
   (modulo alignment) is not quite correct.
  
   At least on my Vista box the following code sometimes reports
   overcommitted bytes:
  
HANDLE ph = GetCurrentProcess();
PROCESS_MEMORY_COUNTERS pmc;
GetProcessMemoryInfo(ph, pmc, sizeof(pmc));
size_t before = pmc.PagefileUsage;
  
int size = 1  21;
void* p0 = VirtualAlloc(0, size/2, MEM_RESERVE, PAGE_READWRITE);
void* p1 = VirtualAlloc(0, size/2, MEM_RESERVE, PAGE_READWRITE);
  
GetProcessMemoryInfo(ph, pmc, sizeof(pmc));
size_t after = pmc.PagefileUsage;
int delta = after - before;
  
char msg[1024] = {0};
sprintf_s(msg, sizeof(msg), delta: %d, size: %d, ratio: %.3f\n,
   delta, size, double(size)/double(delta));
OutputDebugStringA(msg);
  
VirtualAlloc(p0, size/2, MEM_COMMIT, PAGE_READWRITE);
VirtualAlloc(p1, size/2, MEM_COMMIT, PAGE_READWRITE);
GetProcessMemoryInfo(ph, pmc, sizeof(pmc));
delta = pmc.PagefileUsage - before;
  
char msg2[1024] = {0};
sprintf_s(msg2, sizeof(msg2), after commit delta: %d, size: %d,
   ratio: %.3f\n, delta, size, double(size)/double(delta));
OutputDebugStringA(msg2);
  
VirtualFree(p0, 0, MEM_DECOMMIT);
VirtualFree(p1, 0, MEM_DECOMMIT);
GetProcessMemoryInfo(ph, pmc, sizeof(pmc));
delta = pmc.PagefileUsage - before;
  
char msg3[1024] = {0};
sprintf_s(msg3, sizeof(msg3), after decommit delta: %d, size: %d,
   ratio: %.3f\n, delta, size, double(size)/double(delta));
OutputDebugStringA(msg3);
  
VirtualFree(p0, 0, MEM_RELEASE);
VirtualFree(p1, 0, MEM_RELEASE);
GetProcessMemoryInfo(ph, pmc, sizeof(pmc));
delta = pmc.PagefileUsage - before;
  
char msg4[1024] = {0};
sprintf_s(msg4, sizeof(msg4), after release delta: %d, size: %d,
   ratio: %.3f\n, delta, size, double(size)/double(delta));
OutputDebugStringA(msg4);
  
   (the code was injected into the very beginning of wWinMain in
   chrome_exe_main.cc and there seems no other threads that might commit
   something in between).
  
   The problem is actually with reserving (and releasing) bytes: from
   time to time reserving bytes commits some amount of memory (probably
   for windows-internal structures).  The ratios are 0.1--0.4%.  If I
   make size twice as big, overcommitment happens each run.
  
   This amount seems relatively small, but at least in some cases this
   happens very often and allocated sizes are big, so this .3% sum up to
   very big values (but see below).
  
   Another problem is I do not know when those system committed bytes get
   released.  In the snippet above it happens in VirtualFree(*,
   MEM_RELEASE), but in tcmalloc we never do MEM_RELEASE, but still the
   delta between WinAPI reported committed bytes and tcmalloc reported
   bytes sometimes drops and drops notably.  I tried to grep for all
   VirtualFree's, but looks like the only one operational resides in v8's
   platform_win32.cc and tcmalloc is by all means 

[chromium-dev] Re: Extensions performance data

2009-11-05 Thread Anton Muhin

Adam, all,

I've got http://codereview.chromium.org/355047/ which should speed up
accessing isolated worlds (it at least passes layout tests).

Could someone either see if it helps or give me instructions how to bench it?

yours,
anton.

On Tue, Oct 27, 2009 at 8:04 PM, Anton Muhin ant...@chromium.org wrote:
 On Tue, Oct 27, 2009 at 8:00 PM, Adam Barth aba...@chromium.org wrote:
 On Tue, Oct 27, 2009 at 9:52 AM, Anton Muhin ant...@chromium.org wrote:
 if we're sure accessing hidden property is a bottleneck, it should be
 easily solvable: for long time I was toying idea to compile this code
 into native, but didn't see compelling enough reason to do that.  The
 easy way to measure it would be to hack stuff a bit and put data as in
 internal field or just add another getter to context.  If you like, I
 can try to do something like that, but I need a simplistic benchmark
 to estimate performance gain.

 I suspect you'll see a performance gain on any simple DOM benchmark
 that runs in the isolated world.  That code path is hit on every
 wrapper lookup.

 Ok, I will try to have a look at it this week.

 yours,
 anton.


--~--~-~--~~~---~--~~
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: history.back always fires onload in chromium - is it expected?

2009-11-05 Thread Tony Chang

It sounds like the test depends on the page cache being enabled so we
won't be able to pass it until we support the page cache (
http://code.google.com/p/chromium/issues/detail?id=2879 ).  There are
a couple options:

1) Try to implement the page cache-- abarth probably has some thoughts on this.
2) Skip the test for now and mention in the bug that it depends on the
page cache.
3) Try to fix the test so it at least doesn't timeout if we don't
support the page cache (I guess
layoutTestController.overridePreference should return an error?).  We
would still fail the test, but it wouldn't slow down the layout tests.

I would probably just do 2 for now.

On Wed, Nov 4, 2009 at 3:26 AM, Kinuko Yasuda kin...@google.com wrote:
 Hi chromium developers,
 I've been looking into a layout-test bug
 20341 (http://code.google.com/p/chromium/issues/detail?id=20341) and found
 that in chromium history.back always fires onload() even if WebKit's page
 cache is enabled (== WebKitUsePageCachePreferenceKey is set true).
 This makes running this
 test (LayoutTests/loader/go-back-to-different-window-size.html) cause an
 infinite loop both in test_shell and chromium.
 In a quick glance FrameLoaderClientImpl::canCachePage() and
 ApplicationCacheHost::canCacheInPageCache() are hard-coded to return false
 (with a comment saying that we manage the cache so reporting the page as
 non-cacheable), making FrameLoader always go through all the page-loading
 steps.
 Seems like this behavior (calls onload on history.back or not) differs
 across browsers:
 FireFox 3: NO
 Safari: NO
 IE8: YES
 Is it an expected behavior or do we need some fix for it?

 


--~--~-~--~~~---~--~~
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: Large commit - update your .gclient files to avoid

2009-11-05 Thread Antoine Labour
On Thu, Nov 5, 2009 at 12:44 PM, Ben Goodger (Google) b...@chromium.orgwrote:


 it'd be nice to have a gclient config lean or something like that.


It'd be nice for it to be the default in fact.

Antoine

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



[chromium-dev] Explaining to users how to enable logging

2009-11-05 Thread Eric Roman
If you want to ask a user for their chrome_debug.log in a bug report, you
can just paste them this URL:

http://dev.chromium.org/for-testers/enable-logging

I got tired of writing these steps repeatedly in bug reports, so collected
them into a document.
I am still unhappy with how complicated this is, and have written some
suggestions into http://crbug.com/26161.

--~--~-~--~~~---~--~~
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: Large commit - update your .gclient files to avoid

2009-11-05 Thread Scott Hess

On Thu, Nov 5, 2009 at 1:33 PM, Antoine Labour pi...@google.com wrote:
 On Thu, Nov 5, 2009 at 12:44 PM, Ben Goodger (Google) b...@chromium.org 
 wrote:
 it'd be nice to have a gclient config lean or something like that.

 It'd be nice for it to be the default in fact.

As long as we're on wishlists, it would be nice to have some
dependencies be default-DENY rather than default-ALLOW.  So rather
than having to suppress things you often don't want, you have to
enable things you sometimes do want.

-scott [who has no patch lined up to implement this :-).]

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



[chromium-dev] Lean Chromium checkout (WAS: Large commit - update your .gclient files to avoid)

2009-11-05 Thread Jeremy Orlow
On Thu, Nov 5, 2009 at 12:33 PM, Antoine Labour pi...@google.com wrote:



 On Thu, Nov 5, 2009 at 12:44 PM, Ben Goodger (Google) 
 b...@chromium.orgwrote:


 it'd be nice to have a gclient config lean or something like that.


 It'd be nice for it to be the default in fact.


I know we've avoided this in the past because we wanted everyone to run
tests before committing.  But realistically, I think we all use the try bots
to run tests and only run them locally for triaging a failure.  Thus it
probably does make sense to not include hundreds if not thousands of megs of
test files and such for the default checkout.  Do others agree?

If so, then we may need to move some of the bulky test data into DEPS so
that they can be turned off in gclient.  An example is
webkit/data/layout_tests which has platform specific test expectations.

I think this would make a lot of people on slow internet connections happy.
 :-)

--~--~-~--~~~---~--~~
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: Large commit - update your .gclient files to avoid

2009-11-05 Thread Jeremy Orlow
I started a new thread about a lite version of the checkout.  Might be good
to move discussion there.

On Thu, Nov 5, 2009 at 12:44 PM, Scott Hess sh...@chromium.org wrote:

 On Thu, Nov 5, 2009 at 1:33 PM, Antoine Labour pi...@google.com wrote:
  On Thu, Nov 5, 2009 at 12:44 PM, Ben Goodger (Google) b...@chromium.org
 wrote:
  it'd be nice to have a gclient config lean or something like that.
 
  It'd be nice for it to be the default in fact.

 As long as we're on wishlists, it would be nice to have some
 dependencies be default-DENY rather than default-ALLOW.  So rather
 than having to suppress things you often don't want, you have to
 enable things you sometimes do want.

 -scott [who has no patch lined up to implement this :-).]


--~--~-~--~~~---~--~~
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: Lean Chromium checkout (WAS: Large commit - update your .gclient files to avoid)

2009-11-05 Thread Ben Goodger (Google)

+1. This would be fab. There are so many test executables now it's not
practical to run them all (unless we have a script... which is sort of
what the trybot is like you say).

I like the idea of having full/lean configs. That way you don't need
to remember to set up the right .gclient when you set up a new
machine.

-Ben

On Thu, Nov 5, 2009 at 12:38 PM, Jeremy Orlow jor...@chromium.org wrote:
 On Thu, Nov 5, 2009 at 12:33 PM, Antoine Labour pi...@google.com wrote:


 On Thu, Nov 5, 2009 at 12:44 PM, Ben Goodger (Google) b...@chromium.org
 wrote:

 it'd be nice to have a gclient config lean or something like that.

 It'd be nice for it to be the default in fact.

 I know we've avoided this in the past because we wanted everyone to run
 tests before committing.  But realistically, I think we all use the try bots
 to run tests and only run them locally for triaging a failure.  Thus it
 probably does make sense to not include hundreds if not thousands of megs of
 test files and such for the default checkout.  Do others agree?
 If so, then we may need to move some of the bulky test data into DEPS so
 that they can be turned off in gclient.  An example is
 webkit/data/layout_tests which has platform specific test expectations.
 I think this would make a lot of people on slow internet connections happy.
  :-)

--~--~-~--~~~---~--~~
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: Lean Chromium checkout (WAS: Large commit - update your .gclient files to avoid)

2009-11-05 Thread Pam Greene
On Thu, Nov 5, 2009 at 1:38 PM, Jeremy Orlow jor...@chromium.org wrote:

 On Thu, Nov 5, 2009 at 12:33 PM, Antoine Labour pi...@google.com wrote:



 On Thu, Nov 5, 2009 at 12:44 PM, Ben Goodger (Google) 
 b...@chromium.orgwrote:


 it'd be nice to have a gclient config lean or something like that.


 It'd be nice for it to be the default in fact.


 I know we've avoided this in the past because we wanted everyone to run
 tests before committing.  But realistically, I think we all use the try bots
 to run tests and only run them locally for triaging a failure.  Thus it
 probably does make sense to not include hundreds if not thousands of megs of
 test files and such for the default checkout.  Do others agree?

 If so, then we may need to move some of the bulky test data into DEPS so
 that they can be turned off in gclient.  An example is
 webkit/data/layout_tests which has platform specific test expectations.


That should move all the way upstream to WebKit... Real Soon Now, I'm sure!
:)

- Pam



 I think this would make a lot of people on slow internet connections happy.
  :-)

 


--~--~-~--~~~---~--~~
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: Lean Chromium checkout (WAS: Large commit - update your .gclient files to avoid)

2009-11-05 Thread Dirk Pranke

+1. I also wonder if it might be useful to have a names file/service
for configs so I don't have to remember the full URL when doing a
gclient config ...

-- Dirk

On Thu, Nov 5, 2009 at 12:50 PM, Ben Goodger (Google) b...@chromium.org wrote:

 +1. This would be fab. There are so many test executables now it's not
 practical to run them all (unless we have a script... which is sort of
 what the trybot is like you say).

 I like the idea of having full/lean configs. That way you don't need
 to remember to set up the right .gclient when you set up a new
 machine.

 -Ben

 On Thu, Nov 5, 2009 at 12:38 PM, Jeremy Orlow jor...@chromium.org wrote:
 On Thu, Nov 5, 2009 at 12:33 PM, Antoine Labour pi...@google.com wrote:


 On Thu, Nov 5, 2009 at 12:44 PM, Ben Goodger (Google) b...@chromium.org
 wrote:

 it'd be nice to have a gclient config lean or something like that.

 It'd be nice for it to be the default in fact.

 I know we've avoided this in the past because we wanted everyone to run
 tests before committing.  But realistically, I think we all use the try bots
 to run tests and only run them locally for triaging a failure.  Thus it
 probably does make sense to not include hundreds if not thousands of megs of
 test files and such for the default checkout.  Do others agree?
 If so, then we may need to move some of the bulky test data into DEPS so
 that they can be turned off in gclient.  An example is
 webkit/data/layout_tests which has platform specific test expectations.
 I think this would make a lot of people on slow internet connections happy.
  :-)

 


--~--~-~--~~~---~--~~
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: Lean Chromium checkout (WAS: Large commit - update your .gclient files to avoid)

2009-11-05 Thread Pam Greene
On Thu, Nov 5, 2009 at 1:50 PM, Ben Goodger (Google) b...@chromium.orgwrote:


 +1. This would be fab. There are so many test executables now it's not
 practical to run them all (unless we have a script... which is sort of
 what the trybot is like you say).


chrome/tools/test/smoketests.py


Runs all the available unit tests, layout tests, page-cycler tests, etc.
for a build of Chrome, imitating a buildbot.


- Pam



 I like the idea of having full/lean configs. That way you don't need
 to remember to set up the right .gclient when you set up a new
 machine.

 -Ben

 On Thu, Nov 5, 2009 at 12:38 PM, Jeremy Orlow jor...@chromium.org wrote:
  On Thu, Nov 5, 2009 at 12:33 PM, Antoine Labour pi...@google.com
 wrote:
 
 
  On Thu, Nov 5, 2009 at 12:44 PM, Ben Goodger (Google) b...@chromium.org
 
  wrote:
 
  it'd be nice to have a gclient config lean or something like that.
 
  It'd be nice for it to be the default in fact.
 
  I know we've avoided this in the past because we wanted everyone to run
  tests before committing.  But realistically, I think we all use the try
 bots
  to run tests and only run them locally for triaging a failure.  Thus it
  probably does make sense to not include hundreds if not thousands of megs
 of
  test files and such for the default checkout.  Do others agree?
  If so, then we may need to move some of the bulky test data into DEPS so
  that they can be turned off in gclient.  An example is
  webkit/data/layout_tests which has platform specific test expectations.
  I think this would make a lot of people on slow internet connections
 happy.
   :-)

 


--~--~-~--~~~---~--~~
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: Lean Chromium checkout (WAS: Large commit - update your .gclient files to avoid)

2009-11-05 Thread Ben Goodger (Google)

We should include a VM image that these tests get run inside of. ;D

-Ben

On Thu, Nov 5, 2009 at 12:56 PM, Pam Greene p...@chromium.org wrote:
 On Thu, Nov 5, 2009 at 1:50 PM, Ben Goodger (Google) b...@chromium.org
 wrote:

 +1. This would be fab. There are so many test executables now it's not
 practical to run them all (unless we have a script... which is sort of
 what the trybot is like you say).

 chrome/tools/test/smoketests.py
 
 Runs all the available unit tests, layout tests, page-cycler tests, etc.
 for a build of Chrome, imitating a buildbot.
 
 - Pam


 I like the idea of having full/lean configs. That way you don't need
 to remember to set up the right .gclient when you set up a new
 machine.

 -Ben

 On Thu, Nov 5, 2009 at 12:38 PM, Jeremy Orlow jor...@chromium.org wrote:
  On Thu, Nov 5, 2009 at 12:33 PM, Antoine Labour pi...@google.com
  wrote:
 
 
  On Thu, Nov 5, 2009 at 12:44 PM, Ben Goodger (Google)
  b...@chromium.org
  wrote:
 
  it'd be nice to have a gclient config lean or something like that.
 
  It'd be nice for it to be the default in fact.
 
  I know we've avoided this in the past because we wanted everyone to run
  tests before committing.  But realistically, I think we all use the try
  bots
  to run tests and only run them locally for triaging a failure.  Thus it
  probably does make sense to not include hundreds if not thousands of
  megs of
  test files and such for the default checkout.  Do others agree?
  If so, then we may need to move some of the bulky test data into DEPS so
  that they can be turned off in gclient.  An example is
  webkit/data/layout_tests which has platform specific test expectations.
  I think this would make a lot of people on slow internet connections
  happy.
   :-)




 


--~--~-~--~~~---~--~~
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: Lean Chromium checkout (WAS: Large commit - update your .gclient files to avoid)

2009-11-05 Thread Antoine Labour
On Thu, Nov 5, 2009 at 1:38 PM, Jeremy Orlow jor...@chromium.org wrote:

 On Thu, Nov 5, 2009 at 12:33 PM, Antoine Labour pi...@google.com wrote:



 On Thu, Nov 5, 2009 at 12:44 PM, Ben Goodger (Google) 
 b...@chromium.orgwrote:


 it'd be nice to have a gclient config lean or something like that.


 It'd be nice for it to be the default in fact.


 I know we've avoided this in the past because we wanted everyone to run
 tests before committing.  But realistically, I think we all use the try bots
 to run tests and only run them locally for triaging a failure.  Thus it
 probably does make sense to not include hundreds if not thousands of megs of
 test files and such for the default checkout.  Do others agree?


 If so, then we may need to move some of the bulky test data into DEPS so
 that they can be turned off in gclient.  An example is
 webkit/data/layout_tests which has platform specific test expectations.


 I think this would make a lot of people on slow internet connections happy.
  :-)


+1

I don't think it's realistic to expect people to run the layout tests at
every check-in, so I'd think it is a good candidate.

I use git, with git-new-workdir, which lets me share the git repo, including
branches, across several directories. Each of them has a separate .gclient,
which lets me have different deps for each of them. In particular I can have
n-1 lean working dirs, plus one full (where I can run tests). Everytime
a new big component is added, I need to add exclusions to each of the lean
ones (which I forget to do of course).

Antoine

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



[chromium-dev] test_shell performance is bad compared to Chromium

2009-11-05 Thread Alexander Teinum

For a personal project (well, an OS -- check out www.brevityos.org if
you're interested), I need something like test_shell in fullscreen
mode. The UI is basically an HTML-file with an iframe for every
document. CSS-classes are used to describe what application is active,
what documents are active etc.

The problem is that for my project, test_shell performs bad compared
to Chromium. I have compiled with mode set to release, but it's still
noticeably slower.

I've watched Darin Fisher and Brett Wilson's presentations about the
Chromium architecture on YouTube. If I've got it right, then
test_shell is below the layer that implements multi-processes. Brett
says that test_shell is based on WebKit glue.

What needs to be done to make test_shell perform as good as Chromium?
I'm not suggesting that test_shell needs to be changed. I'll probably
do this in a separate directory under chromium-dir/src, or as a Linux
port of Chromium Embedded Framework, if Marshall wants CEF to be
multi-processed.

-- 
Best regards,

Alexander Teinum

--~--~-~--~~~---~--~~
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: Changes to using threads in the browser process

2009-11-05 Thread Jeremy Orlow
On Mon, Nov 2, 2009 at 9:50 PM, John Abd-El-Malek j...@chromium.org wrote:

 Over the last week, I've been making some changes to how threads are used
 in the browser process, with the goal of simplifying cross-thread access and
 improving stability.

 *The problem*
 We were using a number of patterns that were problematic:

 1) using ChromeThread::GetMessageLoop
   -this isn't safe, since it could return a valid pointer, but since the
 caller isn't holding on to a lock anymore, the target MessageLoop could be
 destructed while it's being used

 2) caching of MessageLoop pointers in order to use them later for PostTask
 and friends
   -this was more efficient previously (more on that later) since using
 ChromeThread::GetMessageLoop involved a lock
   -but it spread logic about the order of thread destruction all over the
 code.  Code that moved from the IO thread to the file thread and back, in
 order to avoid doing disk access on the IO thread, ended up having to do an
 extra hop through the UI thread on the way back to the IO thread since the
 file thread outlives the Io thread.  Of course, most code learnt this the
 hard way, after doing the straight forward IO-file-IO thread hop and
 updating the code after seeing reliability or user crashes
   -it made the browser shutdown fragile and hence difficult to update

 3) file thread hops using RefCountedThreadSafe objects which have
 non-trivial destructors
   -to reduce jank, frequently an object on the UI or IO thread would
 execute some code on the file thread, then post the result back to the
 original thread.  We make this easy using RefCountedThreadSafe and
 NewRunnableMethod so this pattern happened often, but it's not always
 safe: NewRunnableMethod holds an extra reference on the object to ensure
 that it doesn't invoke a method on a deleted object.  But it's quite
 possible that before the file thread's stack unwinds and it releases the
 extra reference, that the response task on the original thread executed and
 released its own additional reference.  The file thread is then left with
 the remaining reference and the object gets destructed there.  While for
 most objects this is ok, many have non-trivial destructors, with the worst
 being ones that register with the per-thread NotificationService.  Dangling
 pointers would be left behind and tracking these crashes from ChromeBot or
 the crash dumps has wasted several days at least for me.

 4) having browser code take different code paths if a thread didn't exist
   -this could be either deceptively harmless  (i.e. execute synchronously
 when it was normally asynchronous), when in fact it makes shutdown slower
 because disk access is moved to the UI thread
   -it could lead to data loss, if tasks are silently not posted because the
 code assumes this only happens in unit tests, when it could occur on browser
 shutdown as well


 *The solution*
 1+2: Use ChromeThread::PostTask and friends (i.e. PostDelayedTask,
 DeleteSoon, ReleaseSoon) which are safe and efficient: no locks are grabbed
 if the target thread is known to outlive the current thread.  The four
 static methods have the same signature as the ones from MessageLoop, with
 the addition of the first parameter to indicate the target thread.

 ChromeThread::PostTask(ChromeThread::FILE, FROM_HERE, task);

 3: If your object must be destructed on a specific thread, use a trait from
 ChromeThread:

 class Foo : public base::RefCountedThreadSafeFoo,
 ChromeThread::DeleteOnIOThread


This is really cool and a great idea, but I'm a little concerned about what
happens when the thread has already been torn down.  It seems that it calls
DeleteSoon which calls PostNonNestableTask which calls PostTaskHelper.
 PostTaskHelper deletes the task if the thread is shut down.

This works fine if something is only supposed to touch 2 threads.  But what
if 2 threads simultaneously delete something which is supposed to be deleted
on a third thread that's already been shut down?  And what if they both call
a method on another class that's not thread safe?  I ask because
this scenario is going to prevent me from using this for DOM Storage.

A possible solution would be to guarantee that, if the thread is dead,
destruction happens on the UI thread.  At least in this case, I think it
would work.

Thoughts?


 4: I've removed all the special casing and always made the objects in the
 browser code behave in one way.  If you're writing a unit test and need to
 use an object that goes to a file thread (where before it would proceed
 synchronously), you just need:

 ChromeThread file_thread(ChromeThread::FILE, MessageLoop::current());
 foo-StartAsyncTaskOnFileThread();
 MessageLoop::current()-RunAllPending();

 There are plenty of examples now in the tests.


 *Gotchas*
 -PostTask will silently delete a task if the thread doesn't exist.  This is
 done to avoid having all the code that uses it have special cases if the
 target thread exists or not, and to make Valgrind 

[chromium-dev] Re: test_shell performance is bad compared to Chromium

2009-11-05 Thread Alexander Teinum

I could probably hack it so that it went into fullscreen, and then
disable F11, but that's dirty. All the UI stuff from Chromium would
still be there, although it would be hidden.


Alexander

On Thu, Nov 5, 2009 at 10:32 PM, Dirk Pranke dpra...@chromium.org wrote:
 test_shell being a test shell used mostly for non-interactive testing,
 we haven't given a lot of concern to its perfomance AFAIK. I'm not
 even sure how long of a lifespan it'll have since we aim to
 merge/replace it with WebKit's DumpRenderTree at some point soon.

 Is there some reason you're not just using Chromium in full screen mode?

 -- Dirk

 On Thu, Nov 5, 2009 at 1:18 PM, Alexander Teinum atei...@gmail.com wrote:

 For a personal project (well, an OS -- check out www.brevityos.org if
 you're interested), I need something like test_shell in fullscreen
 mode. The UI is basically an HTML-file with an iframe for every
 document. CSS-classes are used to describe what application is active,
 what documents are active etc.

 The problem is that for my project, test_shell performs bad compared
 to Chromium. I have compiled with mode set to release, but it's still
 noticeably slower.

 I've watched Darin Fisher and Brett Wilson's presentations about the
 Chromium architecture on YouTube. If I've got it right, then
 test_shell is below the layer that implements multi-processes. Brett
 says that test_shell is based on WebKit glue.

 What needs to be done to make test_shell perform as good as Chromium?
 I'm not suggesting that test_shell needs to be changed. I'll probably
 do this in a separate directory under chromium-dir/src, or as a Linux
 port of Chromium Embedded Framework, if Marshall wants CEF to be
 multi-processed.

 --
 Best regards,

 Alexander Teinum

 





-- 
Best regards/Med vennlig hilsen,

Alexander Teinum

--~--~-~--~~~---~--~~
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: test_shell performance is bad compared to Chromium

2009-11-05 Thread Dirk Pranke

test_shell being a test shell used mostly for non-interactive testing,
we haven't given a lot of concern to its perfomance AFAIK. I'm not
even sure how long of a lifespan it'll have since we aim to
merge/replace it with WebKit's DumpRenderTree at some point soon.

Is there some reason you're not just using Chromium in full screen mode?

-- Dirk

On Thu, Nov 5, 2009 at 1:18 PM, Alexander Teinum atei...@gmail.com wrote:

 For a personal project (well, an OS -- check out www.brevityos.org if
 you're interested), I need something like test_shell in fullscreen
 mode. The UI is basically an HTML-file with an iframe for every
 document. CSS-classes are used to describe what application is active,
 what documents are active etc.

 The problem is that for my project, test_shell performs bad compared
 to Chromium. I have compiled with mode set to release, but it's still
 noticeably slower.

 I've watched Darin Fisher and Brett Wilson's presentations about the
 Chromium architecture on YouTube. If I've got it right, then
 test_shell is below the layer that implements multi-processes. Brett
 says that test_shell is based on WebKit glue.

 What needs to be done to make test_shell perform as good as Chromium?
 I'm not suggesting that test_shell needs to be changed. I'll probably
 do this in a separate directory under chromium-dir/src, or as a Linux
 port of Chromium Embedded Framework, if Marshall wants CEF to be
 multi-processed.

 --
 Best regards,

 Alexander Teinum

 


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



[chromium-dev] Tech talk topics

2009-11-05 Thread Jeremy Orlow
About 6 months ago, we had a series of tech talks on various bits of
Chromium's architecture.  (They're listed here:
http://dev.chromium.org/developers/tech-talk-videos)  The youtube ratings
are pretty high, they've all had over a thousand views, and I've seen them
mentioned in a couple chromium-dev threadsso it seems like they've been
helpful.

So here's my question: are there any Chromium-internals related topics you
guys/gals would really like to hear more on?  If so, I'll see if we can't
find speakers, schedule some tech talks, get them recorded, and posted.  And
this time, we'll make sure the audio and video quality is much higher.  :-)

J

--~--~-~--~~~---~--~~
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: Changes to using threads in the browser process

2009-11-05 Thread John Abd-El-Malek
On Thu, Nov 5, 2009 at 1:15 PM, Jeremy Orlow jor...@chromium.org wrote:

 On Mon, Nov 2, 2009 at 9:50 PM, John Abd-El-Malek j...@chromium.orgwrote:

 Over the last week, I've been making some changes to how threads are used
 in the browser process, with the goal of simplifying cross-thread access and
 improving stability.

 *The problem*
 We were using a number of patterns that were problematic:

 1) using ChromeThread::GetMessageLoop
   -this isn't safe, since it could return a valid pointer, but since the
 caller isn't holding on to a lock anymore, the target MessageLoop could be
 destructed while it's being used

 2) caching of MessageLoop pointers in order to use them later for PostTask
 and friends
   -this was more efficient previously (more on that later) since using
 ChromeThread::GetMessageLoop involved a lock
   -but it spread logic about the order of thread destruction all over the
 code.  Code that moved from the IO thread to the file thread and back, in
 order to avoid doing disk access on the IO thread, ended up having to do an
 extra hop through the UI thread on the way back to the IO thread since the
 file thread outlives the Io thread.  Of course, most code learnt this the
 hard way, after doing the straight forward IO-file-IO thread hop and
 updating the code after seeing reliability or user crashes
   -it made the browser shutdown fragile and hence difficult to update

 3) file thread hops using RefCountedThreadSafe objects which have
 non-trivial destructors
   -to reduce jank, frequently an object on the UI or IO thread would
 execute some code on the file thread, then post the result back to the
 original thread.  We make this easy using RefCountedThreadSafe and
 NewRunnableMethod so this pattern happened often, but it's not always
 safe: NewRunnableMethod holds an extra reference on the object to ensure
 that it doesn't invoke a method on a deleted object.  But it's quite
 possible that before the file thread's stack unwinds and it releases the
 extra reference, that the response task on the original thread executed and
 released its own additional reference.  The file thread is then left with
 the remaining reference and the object gets destructed there.  While for
 most objects this is ok, many have non-trivial destructors, with the worst
 being ones that register with the per-thread NotificationService.  Dangling
 pointers would be left behind and tracking these crashes from ChromeBot or
 the crash dumps has wasted several days at least for me.

 4) having browser code take different code paths if a thread didn't exist
   -this could be either deceptively harmless  (i.e. execute synchronously
 when it was normally asynchronous), when in fact it makes shutdown slower
 because disk access is moved to the UI thread
   -it could lead to data loss, if tasks are silently not posted because
 the code assumes this only happens in unit tests, when it could occur on
 browser shutdown as well


 *The solution*
 1+2: Use ChromeThread::PostTask and friends (i.e. PostDelayedTask,
 DeleteSoon, ReleaseSoon) which are safe and efficient: no locks are grabbed
 if the target thread is known to outlive the current thread.  The four
 static methods have the same signature as the ones from MessageLoop, with
 the addition of the first parameter to indicate the target thread.

 ChromeThread::PostTask(ChromeThread::FILE, FROM_HERE, task);

 3: If your object must be destructed on a specific thread, use a trait
 from ChromeThread:

 class Foo : public base::RefCountedThreadSafeFoo,
 ChromeThread::DeleteOnIOThread


 This is really cool and a great idea, but I'm a little concerned about what
 happens when the thread has already been torn down.  It seems that it calls
 DeleteSoon which calls PostNonNestableTask which calls PostTaskHelper.
  PostTaskHelper deletes the task if the thread is shut down.

 This works fine if something is only supposed to touch 2 threads.  But what
 if 2 threads simultaneously delete something which is supposed to be deleted
 on a third thread that's already been shut down?


I'm not sure which object that you're referring to?  The PostTaskHelper will
delete the task.  But if you have a DeleteSoon task, deleting the task (i.e.
because the target thread is gone) doesn't delete the object.

As for simultaneously deleting an object, if more than 1 thread are
accessing an object, they should each have a reference to it.  They can't
ensure that releasing their reference will cause deletion, since there could
be other refences.


  And what if they both call a method on another class that's not thread
 safe?


If they use NewRunnableMethod on an object that's not thread safe, then the
result task would only execute on the target thread.  If the task couldn't
execute because the target thread is gone, then the method won't be invoked.


  I ask because this scenario is going to prevent me from using this for DOM
 Storage.

 A possible solution would be to guarantee that, if the thread 

[chromium-dev] Re: Changes to using threads in the browser process

2009-11-05 Thread Jeremy Orlow
On Thu, Nov 5, 2009 at 1:34 PM, John Abd-El-Malek j...@chromium.org wrote:



 On Thu, Nov 5, 2009 at 1:15 PM, Jeremy Orlow jor...@chromium.org wrote:

 On Mon, Nov 2, 2009 at 9:50 PM, John Abd-El-Malek j...@chromium.orgwrote:

 Over the last week, I've been making some changes to how threads are used
 in the browser process, with the goal of simplifying cross-thread access and
 improving stability.

 *The problem*
 We were using a number of patterns that were problematic:

 1) using ChromeThread::GetMessageLoop
   -this isn't safe, since it could return a valid pointer, but since the
 caller isn't holding on to a lock anymore, the target MessageLoop could be
 destructed while it's being used

 2) caching of MessageLoop pointers in order to use them later for
 PostTask and friends
   -this was more efficient previously (more on that later) since using
 ChromeThread::GetMessageLoop involved a lock
   -but it spread logic about the order of thread destruction all over the
 code.  Code that moved from the IO thread to the file thread and back, in
 order to avoid doing disk access on the IO thread, ended up having to do an
 extra hop through the UI thread on the way back to the IO thread since the
 file thread outlives the Io thread.  Of course, most code learnt this the
 hard way, after doing the straight forward IO-file-IO thread hop and
 updating the code after seeing reliability or user crashes
   -it made the browser shutdown fragile and hence difficult to update

 3) file thread hops using RefCountedThreadSafe objects which have
 non-trivial destructors
   -to reduce jank, frequently an object on the UI or IO thread would
 execute some code on the file thread, then post the result back to the
 original thread.  We make this easy using RefCountedThreadSafe and
 NewRunnableMethod so this pattern happened often, but it's not always
 safe: NewRunnableMethod holds an extra reference on the object to ensure
 that it doesn't invoke a method on a deleted object.  But it's quite
 possible that before the file thread's stack unwinds and it releases the
 extra reference, that the response task on the original thread executed and
 released its own additional reference.  The file thread is then left with
 the remaining reference and the object gets destructed there.  While for
 most objects this is ok, many have non-trivial destructors, with the worst
 being ones that register with the per-thread NotificationService.  Dangling
 pointers would be left behind and tracking these crashes from ChromeBot or
 the crash dumps has wasted several days at least for me.

 4) having browser code take different code paths if a thread didn't exist
   -this could be either deceptively harmless  (i.e. execute synchronously
 when it was normally asynchronous), when in fact it makes shutdown slower
 because disk access is moved to the UI thread
   -it could lead to data loss, if tasks are silently not posted because
 the code assumes this only happens in unit tests, when it could occur on
 browser shutdown as well


 *The solution*
 1+2: Use ChromeThread::PostTask and friends (i.e. PostDelayedTask,
 DeleteSoon, ReleaseSoon) which are safe and efficient: no locks are grabbed
 if the target thread is known to outlive the current thread.  The four
 static methods have the same signature as the ones from MessageLoop, with
 the addition of the first parameter to indicate the target thread.

 ChromeThread::PostTask(ChromeThread::FILE, FROM_HERE, task);

 3: If your object must be destructed on a specific thread, use a trait
 from ChromeThread:

 class Foo : public base::RefCountedThreadSafeFoo,
 ChromeThread::DeleteOnIOThread


 This is really cool and a great idea, but I'm a little concerned about
 what happens when the thread has already been torn down.  It seems that it
 calls DeleteSoon which calls PostNonNestableTask which calls PostTaskHelper.
  PostTaskHelper deletes the task if the thread is shut down.

 This works fine if something is only supposed to touch 2 threads.  But
 what if 2 threads simultaneously delete something which is supposed to be
 deleted on a third thread that's already been shut down?


 I'm not sure which object that you're referring to?  The PostTaskHelper
 will delete the task.  But if you have a DeleteSoon task, deleting the task
 (i.e. because the target thread is gone) doesn't delete the object.


So this means the memory will just be leaked?  That won't work for DOM
Storage since the backing database is shut down in destructors.

As for simultaneously deleting an object, if more than 1 thread are
 accessing an object, they should each have a reference to it.  They can't
 ensure that releasing their reference will cause deletion, since there could
 be other refences.


Sure, but what if the ref count is not thread safe?  Or they access an
object that's not thread safe.  I often do this because I only touch those
members on specific threads, but if I can't guarantee that only one thread
could be deleting an 

[chromium-dev] Re: test_shell performance is bad compared to Chromium

2009-11-05 Thread Adam Langley

On Thu, Nov 5, 2009 at 1:44 PM, Alexander Teinum atei...@gmail.com wrote:
 I could probably hack it so that it went into fullscreen, and then
 disable F11, but that's dirty. All the UI stuff from Chromium would
 still be there, although it would be hidden.

test_shell doesn't implement the fast painting for one. Is the
scrolling performance the problem that you're seeing?


AGL

--~--~-~--~~~---~--~~
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: test_shell performance is bad compared to Chromium

2009-11-05 Thread Alexander Teinum

This is exactly what i want. Thanks!

I'll see if I can make it work.


Alexander

On Thu, Nov 5, 2009 at 10:51 PM, Nico Weber tha...@chromium.org wrote:
 http://codereview.chromium.org/244003/show might be what you want.

 On Thu, Nov 5, 2009 at 1:44 PM, Alexander Teinum atei...@gmail.com wrote:

 I could probably hack it so that it went into fullscreen, and then
 disable F11, but that's dirty. All the UI stuff from Chromium would
 still be there, although it would be hidden.


 Alexander

 On Thu, Nov 5, 2009 at 10:32 PM, Dirk Pranke dpra...@chromium.org wrote:
 test_shell being a test shell used mostly for non-interactive testing,
 we haven't given a lot of concern to its perfomance AFAIK. I'm not
 even sure how long of a lifespan it'll have since we aim to
 merge/replace it with WebKit's DumpRenderTree at some point soon.

 Is there some reason you're not just using Chromium in full screen mode?

 -- Dirk

 On Thu, Nov 5, 2009 at 1:18 PM, Alexander Teinum atei...@gmail.com wrote:

 For a personal project (well, an OS -- check out www.brevityos.org if
 you're interested), I need something like test_shell in fullscreen
 mode. The UI is basically an HTML-file with an iframe for every
 document. CSS-classes are used to describe what application is active,
 what documents are active etc.

 The problem is that for my project, test_shell performs bad compared
 to Chromium. I have compiled with mode set to release, but it's still
 noticeably slower.

 I've watched Darin Fisher and Brett Wilson's presentations about the
 Chromium architecture on YouTube. If I've got it right, then
 test_shell is below the layer that implements multi-processes. Brett
 says that test_shell is based on WebKit glue.

 What needs to be done to make test_shell perform as good as Chromium?
 I'm not suggesting that test_shell needs to be changed. I'll probably
 do this in a separate directory under chromium-dir/src, or as a Linux
 port of Chromium Embedded Framework, if Marshall wants CEF to be
 multi-processed.

 --
 Best regards,

 Alexander Teinum

 





 --
 Best regards/Med vennlig hilsen,

 Alexander Teinum

 





-- 
Best regards/Med vennlig hilsen,

Alexander Teinum

--~--~-~--~~~---~--~~
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: test_shell performance is bad compared to Chromium

2009-11-05 Thread Nico Weber

http://codereview.chromium.org/244003/show might be what you want.

On Thu, Nov 5, 2009 at 1:44 PM, Alexander Teinum atei...@gmail.com wrote:

 I could probably hack it so that it went into fullscreen, and then
 disable F11, but that's dirty. All the UI stuff from Chromium would
 still be there, although it would be hidden.


 Alexander

 On Thu, Nov 5, 2009 at 10:32 PM, Dirk Pranke dpra...@chromium.org wrote:
 test_shell being a test shell used mostly for non-interactive testing,
 we haven't given a lot of concern to its perfomance AFAIK. I'm not
 even sure how long of a lifespan it'll have since we aim to
 merge/replace it with WebKit's DumpRenderTree at some point soon.

 Is there some reason you're not just using Chromium in full screen mode?

 -- Dirk

 On Thu, Nov 5, 2009 at 1:18 PM, Alexander Teinum atei...@gmail.com wrote:

 For a personal project (well, an OS -- check out www.brevityos.org if
 you're interested), I need something like test_shell in fullscreen
 mode. The UI is basically an HTML-file with an iframe for every
 document. CSS-classes are used to describe what application is active,
 what documents are active etc.

 The problem is that for my project, test_shell performs bad compared
 to Chromium. I have compiled with mode set to release, but it's still
 noticeably slower.

 I've watched Darin Fisher and Brett Wilson's presentations about the
 Chromium architecture on YouTube. If I've got it right, then
 test_shell is below the layer that implements multi-processes. Brett
 says that test_shell is based on WebKit glue.

 What needs to be done to make test_shell perform as good as Chromium?
 I'm not suggesting that test_shell needs to be changed. I'll probably
 do this in a separate directory under chromium-dir/src, or as a Linux
 port of Chromium Embedded Framework, if Marshall wants CEF to be
 multi-processed.

 --
 Best regards,

 Alexander Teinum

 





 --
 Best regards/Med vennlig hilsen,

 Alexander Teinum

 


--~--~-~--~~~---~--~~
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: test_shell performance is bad compared to Chromium

2009-11-05 Thread Alexander Teinum

 test_shell doesn't implement the fast painting for one. Is the
 scrolling performance the problem that you're seeing?

Yes, I perceive the scolling, CSS scale-transformations on the
iframes, and moving the iframes around as the biggest performance
problems. All of these issues might be related to that?

On Thu, Nov 5, 2009 at 10:47 PM, Adam Langley a...@chromium.org wrote:
 On Thu, Nov 5, 2009 at 1:44 PM, Alexander Teinum atei...@gmail.com wrote:
 I could probably hack it so that it went into fullscreen, and then
 disable F11, but that's dirty. All the UI stuff from Chromium would
 still be there, although it would be hidden.

 test_shell doesn't implement the fast painting for one. Is the
 scrolling performance the problem that you're seeing?


 AGL




-- 
Best regards/Med vennlig hilsen,

Alexander Teinum

--~--~-~--~~~---~--~~
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: Large commit - update your .gclient files to avoid

2009-11-05 Thread Steve VanDeBogart
Apologies, this will only apply to committers from Google.
--
Steve

On Thu, Nov 5, 2009 at 11:16 AM, Steve VanDeBogart vand...@chromium.orgwrote:

 This afternoon I will update DEPS to pull in 170MB of profile data for
 memory_test. Unless you run memory_test, you probably want to add the
 following line to the custom_deps section of your .gclient file.

 src/data/memory_test/membuster: None,

 --
 Steve


--~--~-~--~~~---~--~~
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: test_shell performance is bad compared to Chromium

2009-11-05 Thread Nico Weber

Maybe star http://crbug.com/23145 to express your interest. That might
motivate mhm to get this ready for checkin.

On Thu, Nov 5, 2009 at 1:58 PM, Alexander Teinum atei...@gmail.com wrote:
 This is exactly what i want. Thanks!

 I'll see if I can make it work.


 Alexander

 On Thu, Nov 5, 2009 at 10:51 PM, Nico Weber tha...@chromium.org wrote:
 http://codereview.chromium.org/244003/show might be what you want.

 On Thu, Nov 5, 2009 at 1:44 PM, Alexander Teinum atei...@gmail.com wrote:

 I could probably hack it so that it went into fullscreen, and then
 disable F11, but that's dirty. All the UI stuff from Chromium would
 still be there, although it would be hidden.


 Alexander

 On Thu, Nov 5, 2009 at 10:32 PM, Dirk Pranke dpra...@chromium.org wrote:
 test_shell being a test shell used mostly for non-interactive testing,
 we haven't given a lot of concern to its perfomance AFAIK. I'm not
 even sure how long of a lifespan it'll have since we aim to
 merge/replace it with WebKit's DumpRenderTree at some point soon.

 Is there some reason you're not just using Chromium in full screen mode?

 -- Dirk

 On Thu, Nov 5, 2009 at 1:18 PM, Alexander Teinum atei...@gmail.com wrote:

 For a personal project (well, an OS -- check out www.brevityos.org if
 you're interested), I need something like test_shell in fullscreen
 mode. The UI is basically an HTML-file with an iframe for every
 document. CSS-classes are used to describe what application is active,
 what documents are active etc.

 The problem is that for my project, test_shell performs bad compared
 to Chromium. I have compiled with mode set to release, but it's still
 noticeably slower.

 I've watched Darin Fisher and Brett Wilson's presentations about the
 Chromium architecture on YouTube. If I've got it right, then
 test_shell is below the layer that implements multi-processes. Brett
 says that test_shell is based on WebKit glue.

 What needs to be done to make test_shell perform as good as Chromium?
 I'm not suggesting that test_shell needs to be changed. I'll probably
 do this in a separate directory under chromium-dir/src, or as a Linux
 port of Chromium Embedded Framework, if Marshall wants CEF to be
 multi-processed.

 --
 Best regards,

 Alexander Teinum

 





 --
 Best regards/Med vennlig hilsen,

 Alexander Teinum

 





 --
 Best regards/Med vennlig hilsen,

 Alexander Teinum


--~--~-~--~~~---~--~~
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: Explaining to users how to enable logging

2009-11-05 Thread Eric Roman
On Thu, Nov 5, 2009 at 2:10 PM, Chase Phillips ch...@chromium.org wrote:

 On Thu, Nov 5, 2009 at 12:34 PM, Eric Roman ero...@chromium.org wrote:

 If you want to ask a user for their chrome_debug.log in a bug report, you
 can just paste them this URL:

 http://dev.chromium.org/for-testers/enable-logging

 I got tired of writing these steps repeatedly in bug reports, so collected
 them into a document.
 I am still unhappy with how complicated this is, and have written some
 suggestions into http://crbug.com/26161.


 Awesome, thanks for writing this up.  As part of some changes I've been
 making I discovered the CHROME_LOG_FILE environment variable.  I updated
 the doc to mention this, too.


Oh sweet, I didn't know about that environment variable either!




 



--~--~-~--~~~---~--~~
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: Changes to using threads in the browser process

2009-11-05 Thread John Abd-El-Malek
On Thu, Nov 5, 2009 at 1:42 PM, Jeremy Orlow jor...@chromium.org wrote:

 On Thu, Nov 5, 2009 at 1:34 PM, John Abd-El-Malek j...@chromium.orgwrote:



 On Thu, Nov 5, 2009 at 1:15 PM, Jeremy Orlow jor...@chromium.org wrote:

 On Mon, Nov 2, 2009 at 9:50 PM, John Abd-El-Malek j...@chromium.orgwrote:

 Over the last week, I've been making some changes to how threads are
 used in the browser process, with the goal of simplifying cross-thread
 access and improving stability.

 *The problem*
 We were using a number of patterns that were problematic:

 1) using ChromeThread::GetMessageLoop
   -this isn't safe, since it could return a valid pointer, but since the
 caller isn't holding on to a lock anymore, the target MessageLoop could be
 destructed while it's being used

 2) caching of MessageLoop pointers in order to use them later for
 PostTask and friends
   -this was more efficient previously (more on that later) since using
 ChromeThread::GetMessageLoop involved a lock
   -but it spread logic about the order of thread destruction all over
 the code.  Code that moved from the IO thread to the file thread and back,
 in order to avoid doing disk access on the IO thread, ended up having to do
 an extra hop through the UI thread on the way back to the IO thread since
 the file thread outlives the Io thread.  Of course, most code learnt this
 the hard way, after doing the straight forward IO-file-IO thread hop and
 updating the code after seeing reliability or user crashes
   -it made the browser shutdown fragile and hence difficult to update

 3) file thread hops using RefCountedThreadSafe objects which have
 non-trivial destructors
   -to reduce jank, frequently an object on the UI or IO thread would
 execute some code on the file thread, then post the result back to the
 original thread.  We make this easy using RefCountedThreadSafe and
 NewRunnableMethod so this pattern happened often, but it's not always
 safe: NewRunnableMethod holds an extra reference on the object to ensure
 that it doesn't invoke a method on a deleted object.  But it's quite
 possible that before the file thread's stack unwinds and it releases the
 extra reference, that the response task on the original thread executed and
 released its own additional reference.  The file thread is then left with
 the remaining reference and the object gets destructed there.  While for
 most objects this is ok, many have non-trivial destructors, with the worst
 being ones that register with the per-thread NotificationService.  Dangling
 pointers would be left behind and tracking these crashes from ChromeBot or
 the crash dumps has wasted several days at least for me.

 4) having browser code take different code paths if a thread didn't
 exist
   -this could be either deceptively harmless  (i.e. execute
 synchronously when it was normally asynchronous), when in fact it makes
 shutdown slower because disk access is moved to the UI thread
   -it could lead to data loss, if tasks are silently not posted because
 the code assumes this only happens in unit tests, when it could occur on
 browser shutdown as well


 *The solution*
 1+2: Use ChromeThread::PostTask and friends (i.e. PostDelayedTask,
 DeleteSoon, ReleaseSoon) which are safe and efficient: no locks are grabbed
 if the target thread is known to outlive the current thread.  The four
 static methods have the same signature as the ones from MessageLoop, with
 the addition of the first parameter to indicate the target thread.

 ChromeThread::PostTask(ChromeThread::FILE, FROM_HERE, task);

 3: If your object must be destructed on a specific thread, use a trait
 from ChromeThread:

 class Foo : public base::RefCountedThreadSafeFoo,
 ChromeThread::DeleteOnIOThread


 This is really cool and a great idea, but I'm a little concerned about
 what happens when the thread has already been torn down.  It seems that it
 calls DeleteSoon which calls PostNonNestableTask which calls PostTaskHelper.
  PostTaskHelper deletes the task if the thread is shut down.

 This works fine if something is only supposed to touch 2 threads.  But
 what if 2 threads simultaneously delete something which is supposed to be
 deleted on a third thread that's already been shut down?


 I'm not sure which object that you're referring to?  The PostTaskHelper
 will delete the task.  But if you have a DeleteSoon task, deleting the task
 (i.e. because the target thread is gone) doesn't delete the object.


 So this means the memory will just be leaked?  That won't work for DOM
 Storage since the backing database is shut down in destructors.


If the object doesn't need to be closed on a specific thread, and you want
to ensure that it's deleted on any thread, then ReleaseSoon and
ChromeThread::DeleteOnIOThread aren't going to serve your need.  You'll
probably want to have either a singleton or an object like
ResourceDispatcherHost that BrowserProcess can delete directly.


 As for simultaneously deleting an object, if more than 1 thread are
 

[chromium-dev] Re: test_shell performance is bad compared to Chromium

2009-11-05 Thread Alexander Teinum

 Maybe star http://crbug.com/23145 to express your interest. That might
 motivate mhm to get this ready for checkin.

Done! :)


Alexander

On Thu, Nov 5, 2009 at 11:02 PM, Nico Weber tha...@chromium.org wrote:
 Maybe star http://crbug.com/23145 to express your interest. That might
 motivate mhm to get this ready for checkin.

 On Thu, Nov 5, 2009 at 1:58 PM, Alexander Teinum atei...@gmail.com wrote:
 This is exactly what i want. Thanks!

 I'll see if I can make it work.


 Alexander

 On Thu, Nov 5, 2009 at 10:51 PM, Nico Weber tha...@chromium.org wrote:
 http://codereview.chromium.org/244003/show might be what you want.

 On Thu, Nov 5, 2009 at 1:44 PM, Alexander Teinum atei...@gmail.com wrote:

 I could probably hack it so that it went into fullscreen, and then
 disable F11, but that's dirty. All the UI stuff from Chromium would
 still be there, although it would be hidden.


 Alexander

 On Thu, Nov 5, 2009 at 10:32 PM, Dirk Pranke dpra...@chromium.org wrote:
 test_shell being a test shell used mostly for non-interactive testing,
 we haven't given a lot of concern to its perfomance AFAIK. I'm not
 even sure how long of a lifespan it'll have since we aim to
 merge/replace it with WebKit's DumpRenderTree at some point soon.

 Is there some reason you're not just using Chromium in full screen mode?

 -- Dirk

 On Thu, Nov 5, 2009 at 1:18 PM, Alexander Teinum atei...@gmail.com 
 wrote:

 For a personal project (well, an OS -- check out www.brevityos.org if
 you're interested), I need something like test_shell in fullscreen
 mode. The UI is basically an HTML-file with an iframe for every
 document. CSS-classes are used to describe what application is active,
 what documents are active etc.

 The problem is that for my project, test_shell performs bad compared
 to Chromium. I have compiled with mode set to release, but it's still
 noticeably slower.

 I've watched Darin Fisher and Brett Wilson's presentations about the
 Chromium architecture on YouTube. If I've got it right, then
 test_shell is below the layer that implements multi-processes. Brett
 says that test_shell is based on WebKit glue.

 What needs to be done to make test_shell perform as good as Chromium?
 I'm not suggesting that test_shell needs to be changed. I'll probably
 do this in a separate directory under chromium-dir/src, or as a Linux
 port of Chromium Embedded Framework, if Marshall wants CEF to be
 multi-processed.

 --
 Best regards,

 Alexander Teinum

 





 --
 Best regards/Med vennlig hilsen,

 Alexander Teinum

 





 --
 Best regards/Med vennlig hilsen,

 Alexander Teinum



--~--~-~--~~~---~--~~
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: test_shell performance is bad compared to Chromium

2009-11-05 Thread Peter Kasting
On Thu, Nov 5, 2009 at 1:44 PM, Alexander Teinum atei...@gmail.com wrote:

 I could probably hack it so that it went into fullscreen, and then
 disable F11, but that's dirty. All the UI stuff from Chromium would
 still be there, although it would be hidden.


Why is that dirty?  This is basically kiosk mode, which other people have
asked for too.  The last time, that ballooned into an enormous unwieldy
patch, but just adding a --fullscreen switch wouldn't be so bad.

Definitely do not attempt to use test_shell for anything other than testing
purposes.  It is not, and should not be, a usable or performant product, and
as Dirk mentioned, we may eliminate it completely in the future.

PK

--~--~-~--~~~---~--~~
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: Explaining to users how to enable logging

2009-11-05 Thread Chase Phillips
On Thu, Nov 5, 2009 at 12:34 PM, Eric Roman ero...@chromium.org wrote:

 If you want to ask a user for their chrome_debug.log in a bug report, you
 can just paste them this URL:

 http://dev.chromium.org/for-testers/enable-logging

 I got tired of writing these steps repeatedly in bug reports, so collected
 them into a document.
 I am still unhappy with how complicated this is, and have written some
 suggestions into http://crbug.com/26161.


Awesome, thanks for writing this up.  As part of some changes I've been
making I discovered the CHROME_LOG_FILE environment variable.  I updated
the doc to mention this, too.


 


--~--~-~--~~~---~--~~
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: test_shell performance is bad compared to Chromium

2009-11-05 Thread Marshall Greenblatt
On Thu, Nov 5, 2009 at 4:32 PM, Dirk Pranke dpra...@chromium.org wrote:


 test_shell being a test shell used mostly for non-interactive testing,
 we haven't given a lot of concern to its perfomance AFAIK. I'm not
 even sure how long of a lifespan it'll have since we aim to
 merge/replace it with WebKit's DumpRenderTree at some point soon.


So is the plan now for test_shell to go away completely?  #3 under *Next
steps:* in this email seemed to suggest that it would be up-streamed:

http://groups.google.com/group/chromium-dev/browse_thread/thread/5352c2facb46f309

Wouldn't merging/replacing test_shell with DRT eliminate the ability to test
the Chromium WebKit API in a simplified environment?



 Is there some reason you're not just using Chromium in full screen mode?

 -- Dirk

 On Thu, Nov 5, 2009 at 1:18 PM, Alexander Teinum atei...@gmail.com
 wrote:
 
  For a personal project (well, an OS -- check out www.brevityos.org if
  you're interested), I need something like test_shell in fullscreen
  mode. The UI is basically an HTML-file with an iframe for every
  document. CSS-classes are used to describe what application is active,
  what documents are active etc.
 
  The problem is that for my project, test_shell performs bad compared
  to Chromium. I have compiled with mode set to release, but it's still
  noticeably slower.
 
  I've watched Darin Fisher and Brett Wilson's presentations about the
  Chromium architecture on YouTube. If I've got it right, then
  test_shell is below the layer that implements multi-processes. Brett
  says that test_shell is based on WebKit glue.
 
  What needs to be done to make test_shell perform as good as Chromium?
  I'm not suggesting that test_shell needs to be changed. I'll probably
  do this in a separate directory under chromium-dir/src, or as a Linux
  port of Chromium Embedded Framework, if Marshall wants CEF to be
  multi-processed.
 
  --
  Best regards,
 
  Alexander Teinum
 
  
 

 


--~--~-~--~~~---~--~~
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: Tech talk topics

2009-11-05 Thread Scott Violet

It's not Chromium, but how about some WebKit tech talks? Such talks
would be incredibly valuable to those helping out now and then with
WebKit.

  -Scott

On Thu, Nov 5, 2009 at 1:35 PM, Jeremy Orlow jor...@chromium.org wrote:
 About 6 months ago, we had a series of tech talks on various bits of
 Chromium's architecture.  (They're listed
 here: http://dev.chromium.org/developers/tech-talk-videos)  The youtube
 ratings are pretty high, they've all had over a thousand views, and I've
 seen them mentioned in a couple chromium-dev threadsso it seems like
 they've been helpful.
 So here's my question: are there any Chromium-internals related topics you
 guys/gals would really like to hear more on?  If so, I'll see if we can't
 find speakers, schedule some tech talks, get them recorded, and posted.  And
 this time, we'll make sure the audio and video quality is much higher.  :-)
 J

 


--~--~-~--~~~---~--~~
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: test_shell performance is bad compared to Chromium

2009-11-05 Thread Adam Langley

On Thu, Nov 5, 2009 at 1:56 PM, Alexander Teinum atei...@gmail.com wrote:
 Yes, I perceive the scolling, CSS scale-transformations on the
 iframes, and moving the iframes around as the biggest performance
 problems. All of these issues might be related to that?

You could try reading chrome/renderer/render_widget.cc, which contains
the painting code. You need to implement fast scrolling in at least
(ScrollRect) and possible some other things before test_shell will be
usable.


AGL

--~--~-~--~~~---~--~~
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: test_shell performance is bad compared to Chromium

2009-11-05 Thread Alexander Teinum

 Why is that dirty?  This is basically kiosk mode, which other people have
 asked for too.  The last time, that ballooned into an enormous unwieldy
 patch, but just adding a --fullscreen switch wouldn't be so bad.

Sorry Dirk, I could have said why I don't think it's an optimal solution.

I think it's fine to have components that are not used, as long as
they don't eat resources or get in the way. The status bar gets in the
way for my project while in fullscreen. There's also a 1 pixel border
on top that I don't want. I don't want the user to trigger any of the
Chromium UI with the keyboard.

A --fullscreen switch could also work. Without being a kiosk computer
expert, I'd think that kiosk mode communicates that the program should
be restricted. It might prevent the user from going back from
fullscreen or exiting Chromium.

On Thu, Nov 5, 2009 at 11:06 PM, Peter Kasting pkast...@google.com wrote:
 On Thu, Nov 5, 2009 at 1:44 PM, Alexander Teinum atei...@gmail.com wrote:

 I could probably hack it so that it went into fullscreen, and then
 disable F11, but that's dirty. All the UI stuff from Chromium would
 still be there, although it would be hidden.

 Why is that dirty?  This is basically kiosk mode, which other people have
 asked for too.  The last time, that ballooned into an enormous unwieldy
 patch, but just adding a --fullscreen switch wouldn't be so bad.
 Definitely do not attempt to use test_shell for anything other than testing
 purposes.  It is not, and should not be, a usable or performant product, and
 as Dirk mentioned, we may eliminate it completely in the future.
 PK



-- 
Best regards/Med vennlig hilsen,

Alexander Teinum

--~--~-~--~~~---~--~~
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: Tech talk topics

2009-11-05 Thread Jeremy Orlow
Sure...we definitely have some in-house expertise on this.  I could even see
if any of the Apple guys would be interested in this...but I wouldn't hold
my breath.  :-)

What types of WebKit topics?

On Thu, Nov 5, 2009 at 2:17 PM, Scott Violet s...@chromium.org wrote:

 It's not Chromium, but how about some WebKit tech talks? Such talks
 would be incredibly valuable to those helping out now and then with
 WebKit.

  -Scott

 On Thu, Nov 5, 2009 at 1:35 PM, Jeremy Orlow jor...@chromium.org wrote:
  About 6 months ago, we had a series of tech talks on various bits of
  Chromium's architecture.  (They're listed
  here: http://dev.chromium.org/developers/tech-talk-videos)  The youtube
  ratings are pretty high, they've all had over a thousand views, and I've
  seen them mentioned in a couple chromium-dev threadsso it seems like
  they've been helpful.
  So here's my question: are there any Chromium-internals related topics
 you
  guys/gals would really like to hear more on?  If so, I'll see if we can't
  find speakers, schedule some tech talks, get them recorded, and posted.
  And
  this time, we'll make sure the audio and video quality is much higher.
  :-)
  J
 
   
 


--~--~-~--~~~---~--~~
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: Tech talk topics

2009-11-05 Thread Scott Violet

A general big picture talk would be a great starter. How the DOM is
modeled, how the render tree works, the interesting objects ...

  -Scott

On Thu, Nov 5, 2009 at 2:22 PM, Jeremy Orlow jor...@chromium.org wrote:
 Sure...we definitely have some in-house expertise on this.  I could even see
 if any of the Apple guys would be interested in this...but I wouldn't hold
 my breath.  :-)
 What types of WebKit topics?

 On Thu, Nov 5, 2009 at 2:17 PM, Scott Violet s...@chromium.org wrote:

 It's not Chromium, but how about some WebKit tech talks? Such talks
 would be incredibly valuable to those helping out now and then with
 WebKit.

  -Scott

 On Thu, Nov 5, 2009 at 1:35 PM, Jeremy Orlow jor...@chromium.org wrote:
  About 6 months ago, we had a series of tech talks on various bits of
  Chromium's architecture.  (They're listed
  here: http://dev.chromium.org/developers/tech-talk-videos)  The youtube
  ratings are pretty high, they've all had over a thousand views, and I've
  seen them mentioned in a couple chromium-dev threadsso it seems like
  they've been helpful.
  So here's my question: are there any Chromium-internals related topics
  you
  guys/gals would really like to hear more on?  If so, I'll see if we
  can't
  find speakers, schedule some tech talks, get them recorded, and posted.
   And
  this time, we'll make sure the audio and video quality is much higher.
   :-)
  J
 
   
 



--~--~-~--~~~---~--~~
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: test_shell performance is bad compared to Chromium

2009-11-05 Thread Alexander Teinum

Whops, I'm saying sorry to Dirk and replying to Peter. Sorry to both of you. ;)

On Thu, Nov 5, 2009 at 11:24 PM, Alexander Teinum atei...@gmail.com wrote:
 Why is that dirty?  This is basically kiosk mode, which other people have
 asked for too.  The last time, that ballooned into an enormous unwieldy
 patch, but just adding a --fullscreen switch wouldn't be so bad.

 Sorry Dirk, I could have said why I don't think it's an optimal solution.

 I think it's fine to have components that are not used, as long as
 they don't eat resources or get in the way. The status bar gets in the
 way for my project while in fullscreen. There's also a 1 pixel border
 on top that I don't want. I don't want the user to trigger any of the
 Chromium UI with the keyboard.

 A --fullscreen switch could also work. Without being a kiosk computer
 expert, I'd think that kiosk mode communicates that the program should
 be restricted. It might prevent the user from going back from
 fullscreen or exiting Chromium.

 On Thu, Nov 5, 2009 at 11:06 PM, Peter Kasting pkast...@google.com wrote:
 On Thu, Nov 5, 2009 at 1:44 PM, Alexander Teinum atei...@gmail.com wrote:

 I could probably hack it so that it went into fullscreen, and then
 disable F11, but that's dirty. All the UI stuff from Chromium would
 still be there, although it would be hidden.

 Why is that dirty?  This is basically kiosk mode, which other people have
 asked for too.  The last time, that ballooned into an enormous unwieldy
 patch, but just adding a --fullscreen switch wouldn't be so bad.
 Definitely do not attempt to use test_shell for anything other than testing
 purposes.  It is not, and should not be, a usable or performant product, and
 as Dirk mentioned, we may eliminate it completely in the future.
 PK



 --
 Best regards/Med vennlig hilsen,

 Alexander Teinum




-- 
Best regards/Med vennlig hilsen,

Alexander Teinum

--~--~-~--~~~---~--~~
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: Changes to using threads in the browser process

2009-11-05 Thread Jeremy Orlow
On Thu, Nov 5, 2009 at 2:01 PM, John Abd-El-Malek j...@chromium.org wrote:



 On Thu, Nov 5, 2009 at 1:42 PM, Jeremy Orlow jor...@chromium.org wrote:

 On Thu, Nov 5, 2009 at 1:34 PM, John Abd-El-Malek j...@chromium.orgwrote:



 On Thu, Nov 5, 2009 at 1:15 PM, Jeremy Orlow jor...@chromium.orgwrote:

 On Mon, Nov 2, 2009 at 9:50 PM, John Abd-El-Malek j...@chromium.orgwrote:

 Over the last week, I've been making some changes to how threads are
 used in the browser process, with the goal of simplifying cross-thread
 access and improving stability.

 *The problem*
 We were using a number of patterns that were problematic:

 1) using ChromeThread::GetMessageLoop
   -this isn't safe, since it could return a valid pointer, but since
 the caller isn't holding on to a lock anymore, the target MessageLoop 
 could
 be destructed while it's being used

 2) caching of MessageLoop pointers in order to use them later for
 PostTask and friends
   -this was more efficient previously (more on that later) since using
 ChromeThread::GetMessageLoop involved a lock
   -but it spread logic about the order of thread destruction all over
 the code.  Code that moved from the IO thread to the file thread and back,
 in order to avoid doing disk access on the IO thread, ended up having to 
 do
 an extra hop through the UI thread on the way back to the IO thread since
 the file thread outlives the Io thread.  Of course, most code learnt this
 the hard way, after doing the straight forward IO-file-IO thread hop and
 updating the code after seeing reliability or user crashes
   -it made the browser shutdown fragile and hence difficult to update

 3) file thread hops using RefCountedThreadSafe objects which have
 non-trivial destructors
   -to reduce jank, frequently an object on the UI or IO thread would
 execute some code on the file thread, then post the result back to the
 original thread.  We make this easy using RefCountedThreadSafe and
 NewRunnableMethod so this pattern happened often, but it's not always
 safe: NewRunnableMethod holds an extra reference on the object to ensure
 that it doesn't invoke a method on a deleted object.  But it's quite
 possible that before the file thread's stack unwinds and it releases the
 extra reference, that the response task on the original thread executed 
 and
 released its own additional reference.  The file thread is then left with
 the remaining reference and the object gets destructed there.  While for
 most objects this is ok, many have non-trivial destructors, with the worst
 being ones that register with the per-thread NotificationService.  
 Dangling
 pointers would be left behind and tracking these crashes from ChromeBot or
 the crash dumps has wasted several days at least for me.

 4) having browser code take different code paths if a thread didn't
 exist
   -this could be either deceptively harmless  (i.e. execute
 synchronously when it was normally asynchronous), when in fact it makes
 shutdown slower because disk access is moved to the UI thread
   -it could lead to data loss, if tasks are silently not posted because
 the code assumes this only happens in unit tests, when it could occur on
 browser shutdown as well


 *The solution*
 1+2: Use ChromeThread::PostTask and friends (i.e. PostDelayedTask,
 DeleteSoon, ReleaseSoon) which are safe and efficient: no locks are 
 grabbed
 if the target thread is known to outlive the current thread.  The four
 static methods have the same signature as the ones from MessageLoop, with
 the addition of the first parameter to indicate the target thread.

 ChromeThread::PostTask(ChromeThread::FILE, FROM_HERE, task);

 3: If your object must be destructed on a specific thread, use a trait
 from ChromeThread:

 class Foo : public base::RefCountedThreadSafeFoo,
 ChromeThread::DeleteOnIOThread


 This is really cool and a great idea, but I'm a little concerned about
 what happens when the thread has already been torn down.  It seems that it
 calls DeleteSoon which calls PostNonNestableTask which calls 
 PostTaskHelper.
  PostTaskHelper deletes the task if the thread is shut down.

 This works fine if something is only supposed to touch 2 threads.  But
 what if 2 threads simultaneously delete something which is supposed to be
 deleted on a third thread that's already been shut down?


 I'm not sure which object that you're referring to?  The PostTaskHelper
 will delete the task.  But if you have a DeleteSoon task, deleting the task
 (i.e. because the target thread is gone) doesn't delete the object.


 So this means the memory will just be leaked?  That won't work for DOM
 Storage since the backing database is shut down in destructors.


 If the object doesn't need to be closed on a specific thread, and you want
 to ensure that it's deleted on any thread, then ReleaseSoon and
 ChromeThread::DeleteOnIOThread aren't going to serve your need.  You'll
 probably want to have either a singleton or an object like
 ResourceDispatcherHost that BrowserProcess 

[chromium-dev] Re: test_shell performance is bad compared to Chromium

2009-11-05 Thread Peter Kasting
On Thu, Nov 5, 2009 at 1:51 PM, Nico Weber tha...@chromium.org wrote:

 http://codereview.chromium.org/244003/show might be what you want.


I thought this was intentionally abandoned because it was growing out of
control.  That's what I was alluding to before.

On Thu, Nov 5, 2009 at 2:24 PM, Alexander Teinum atei...@gmail.com wrote:

 There's also a 1 pixel border
 on top that I don't want. I don't want the user to trigger any of the
 Chromium UI with the keyboard.


What?  What OS?  There shouldn't be any 1 pixel border in our fullscreen
mode.

PK

--~--~-~--~~~---~--~~
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: Large commit - update your .gclient files to avoid

2009-11-05 Thread Peter Kasting
On Thu, Nov 5, 2009 at 2:03 PM, Steve VanDeBogart vand...@chromium.orgwrote:

 Apologies, this will only apply to committers from Google.


For clarity: If you added this line to your .gclient, you can remove it.

PK

--~--~-~--~~~---~--~~
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: test_shell performance is bad compared to Chromium

2009-11-05 Thread Dirk Pranke

On Thu, Nov 5, 2009 at 1:59 PM, Marshall Greenblatt
magreenbl...@gmail.com wrote:

 On Thu, Nov 5, 2009 at 4:32 PM, Dirk Pranke dpra...@chromium.org wrote:

 test_shell being a test shell used mostly for non-interactive testing,
 we haven't given a lot of concern to its perfomance AFAIK. I'm not
 even sure how long of a lifespan it'll have since we aim to
 merge/replace it with WebKit's DumpRenderTree at some point soon.

 So is the plan now for test_shell to go away completely?  #3 under *Next
 steps:* in this email seemed to suggest that it would be up-streamed:

 http://groups.google.com/group/chromium-dev/browse_thread/thread/5352c2facb46f309

 Wouldn't merging/replacing test_shell with DRT eliminate the ability to test
 the Chromium WebKit API in a simplified environment?


Good question, and I didn't actually know the answer, so that provoked
an interesting but short discussion between Ojan and Dimitri and
myself. At the moment we're leaning to keeping test_shell and
DumpRenderTree both. The latter would be the driver for the layout
test harness (as it is upstream), and test_shell would get all of the
layout test code ripped out of it and become more like an actual shell
that can be used to embed webkit for interactive work (and upstreamed,
as you say). The exact functionality and distinctions between the two
(and the justification of the existence of both) probably still needs
some edges smoothed.

-- Dirk

--~--~-~--~~~---~--~~
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: test_shell performance is bad compared to Chromium

2009-11-05 Thread Alexander Teinum

 What?  What OS?  There shouldn't be any 1 pixel border in our fullscreen
 mode.

It's in the Linux-version.

In BrowserWindowGtk::InitWidgets() there’s this line:

gtk_widget_set_size_request(toolbar_border_, -1, 1);

I changed it into:

gtk_widget_set_size_request(toolbar_border_, -1, -1);

That got rid of it, but that also removes it from the normal mode,
where it should be. It's the line between the web browser view and the
toolbars above.

On Thu, Nov 5, 2009 at 11:33 PM, Peter Kasting pkast...@google.com wrote:
 On Thu, Nov 5, 2009 at 1:51 PM, Nico Weber tha...@chromium.org wrote:

 http://codereview.chromium.org/244003/show might be what you want.

 I thought this was intentionally abandoned because it was growing out of
 control.  That's what I was alluding to before.
 On Thu, Nov 5, 2009 at 2:24 PM, Alexander Teinum atei...@gmail.com wrote:

 There's also a 1 pixel border
 on top that I don't want. I don't want the user to trigger any of the
 Chromium UI with the keyboard.

 What?  What OS?  There shouldn't be any 1 pixel border in our fullscreen
 mode.
 PK



-- 
Best regards/Med vennlig hilsen,

Alexander Teinum

--~--~-~--~~~---~--~~
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: test_shell performance is bad compared to Chromium

2009-11-05 Thread Peter Kasting
On Thu, Nov 5, 2009 at 2:46 PM, Alexander Teinum atei...@gmail.com wrote:

  What?  What OS?  There shouldn't be any 1 pixel border in our fullscreen
  mode.

 It's in the Linux-version.

 In BrowserWindowGtk::InitWidgets() there’s this line:

 gtk_widget_set_size_request(toolbar_border_, -1, 1);

 I changed it into:

 gtk_widget_set_size_request(toolbar_border_, -1, -1);

 That got rid of it, but that also removes it from the normal mode,
 where it should be. It's the line between the web browser view and the
 toolbars above.


If you can provide a patch to do the right thing (no line in fullscreen
mode), that'd be awesome, otherwise can you file a bug about this?

PK

--~--~-~--~~~---~--~~
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: test_shell performance is bad compared to Chromium

2009-11-05 Thread Adam Langley

On Thu, Nov 5, 2009 at 2:46 PM, Alexander Teinum atei...@gmail.com wrote:
 It's in the Linux-version.

You should have mentioned the platform.

You have an awful lot of work to get the Linux test_shell up to
Chromium speeds. There's a lot of raw Xlib calls to keep the image of
the page in video memory and to try and use accelerated blits to
scroll.


AGL

--~--~-~--~~~---~--~~
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: test_shell performance is bad compared to Chromium

2009-11-05 Thread Alexander Teinum

Sure.

I'm not into the patching process yet, but give me a couple of days,
and I'll try to get it fixed.


Alexander

On Thu, Nov 5, 2009 at 11:48 PM, Peter Kasting pkast...@google.com wrote:
 On Thu, Nov 5, 2009 at 2:46 PM, Alexander Teinum atei...@gmail.com wrote:

  What?  What OS?  There shouldn't be any 1 pixel border in our fullscreen
  mode.

 It's in the Linux-version.

 In BrowserWindowGtk::InitWidgets() there’s this line:

 gtk_widget_set_size_request(toolbar_border_, -1, 1);

 I changed it into:

 gtk_widget_set_size_request(toolbar_border_, -1, -1);

 That got rid of it, but that also removes it from the normal mode,
 where it should be. It's the line between the web browser view and the
 toolbars above.

 If you can provide a patch to do the right thing (no line in fullscreen
 mode), that'd be awesome, otherwise can you file a bug about this?
 PK



-- 
Best regards/Med vennlig hilsen,

Alexander Teinum

--~--~-~--~~~---~--~~
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: test_shell performance is bad compared to Chromium

2009-11-05 Thread Peter Kasting
On Thu, Nov 5, 2009 at 2:51 PM, Adam Langley a...@chromium.org wrote:

 You have an awful lot of work to get the Linux test_shell up to
 Chromium speeds.


I'm really opposed to doing work like this on test_shell.

It's not just that it's a waste of time.  One of the reasons we have
test_shell is to be as simple an app as possible, so that it's easy to test
things and obvious where the problems are when things go wrong.  Making
test_shell more optimized and performant pretty much necessarily means
making it less braindead-obvious.  That's bad.

PK

--~--~-~--~~~---~--~~
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: test_shell performance is bad compared to Chromium

2009-11-05 Thread Evan Stade
-- Evan Stade


On Thu, Nov 5, 2009 at 2:48 PM, Peter Kasting pkast...@google.com wrote:

 On Thu, Nov 5, 2009 at 2:46 PM, Alexander Teinum atei...@gmail.comwrote:

  What?  What OS?  There shouldn't be any 1 pixel border in our fullscreen
  mode.

 It's in the Linux-version.

 In BrowserWindowGtk::InitWidgets() there’s this line:

 gtk_widget_set_size_request(toolbar_border_, -1, 1);

 I changed it into:

 gtk_widget_set_size_request(toolbar_border_, -1, -1);

 That got rid of it, but that also removes it from the normal mode,
 where it should be. It's the line between the web browser view and the
 toolbars above.


ah, this is my fault. Of course that is not the intended behavior... I'll
fix.



 If you can provide a patch to do the right thing (no line in fullscreen
 mode), that'd be awesome, otherwise can you file a bug about this?

 PK

 


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



[chromium-dev] The future for test shell (WAS: test_shell performance is bad compared to Chromium)

2009-11-05 Thread Jeremy Orlow
On Thu, Nov 5, 2009 at 2:46 PM, Dirk Pranke dpra...@chromium.org wrote:


 On Thu, Nov 5, 2009 at 1:59 PM, Marshall Greenblatt
 magreenbl...@gmail.com wrote:
 
  On Thu, Nov 5, 2009 at 4:32 PM, Dirk Pranke dpra...@chromium.org
 wrote:
 
  test_shell being a test shell used mostly for non-interactive testing,
  we haven't given a lot of concern to its perfomance AFAIK. I'm not
  even sure how long of a lifespan it'll have since we aim to
  merge/replace it with WebKit's DumpRenderTree at some point soon.
 
  So is the plan now for test_shell to go away completely?  #3 under *Next
  steps:* in this email seemed to suggest that it would be up-streamed:
 
 
 http://groups.google.com/group/chromium-dev/browse_thread/thread/5352c2facb46f309
 
  Wouldn't merging/replacing test_shell with DRT eliminate the ability to
 test
  the Chromium WebKit API in a simplified environment?
 

 Good question, and I didn't actually know the answer, so that provoked
 an interesting but short discussion between Ojan and Dimitri and
 myself. At the moment we're leaning to keeping test_shell and
 DumpRenderTree both. The latter would be the driver for the layout
 test harness (as it is upstream), and test_shell would get all of the
 layout test code ripped out of it and become more like an actual shell
 that can be used to embed webkit for interactive work (and upstreamed,
 as you say). The exact functionality and distinctions between the two
 (and the justification of the existence of both) probably still needs
 some edges smoothed.


Features like AppCache and WebDatabase depend on code that will probably
never be unstreamed to WebKit's repo. So either we need to always run at
least some tests under test shell or we'll need to be content with not
running these layout tests.

Note that we have a somewhat hacky way of running layout tests in the UI
test framework that might suffice for this stuff.  Right now, I run
LocalStorage tests in both test_shell and the ui_test framework.

--~--~-~--~~~---~--~~
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: Tech talk topics

2009-11-05 Thread Jeremy Moskovich
IMHO it would be immensely valuable to give a talk explaining what Layout
tests are and how they work in a *simple* enough manner to allow web
developers to create tests for bugs that affect them.  I haven't found any
easily discoverable introductory material on this topic.

Best regards,
Jeremy

On Fri, Nov 6, 2009 at 12:30 AM, Scott Violet s...@chromium.org wrote:


 A general big picture talk would be a great starter. How the DOM is
 modeled, how the render tree works, the interesting objects ...

  -Scott

 On Thu, Nov 5, 2009 at 2:22 PM, Jeremy Orlow jor...@chromium.org wrote:
  Sure...we definitely have some in-house expertise on this.  I could even
 see
  if any of the Apple guys would be interested in this...but I wouldn't
 hold
  my breath.  :-)
  What types of WebKit topics?
 
  On Thu, Nov 5, 2009 at 2:17 PM, Scott Violet s...@chromium.org wrote:
 
  It's not Chromium, but how about some WebKit tech talks? Such talks
  would be incredibly valuable to those helping out now and then with
  WebKit.
 
   -Scott
 
  On Thu, Nov 5, 2009 at 1:35 PM, Jeremy Orlow jor...@chromium.org
 wrote:
   About 6 months ago, we had a series of tech talks on various bits of
   Chromium's architecture.  (They're listed
   here: http://dev.chromium.org/developers/tech-talk-videos)  The
 youtube
   ratings are pretty high, they've all had over a thousand views, and
 I've
   seen them mentioned in a couple chromium-dev threadsso it seems
 like
   they've been helpful.
   So here's my question: are there any Chromium-internals related topics
   you
   guys/gals would really like to hear more on?  If so, I'll see if we
   can't
   find speakers, schedule some tech talks, get them recorded, and
 posted.
And
   this time, we'll make sure the audio and video quality is much higher.
:-)
   J
  

  
 
 

 


--~--~-~--~~~---~--~~
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: Tech talk topics

2009-11-05 Thread Jeremy Orlow
That's an excellent idea!  Do you think you'd be able to give it?  If not,
do you have any suggestions on who would be good?  Maybe Pam?

On Thu, Nov 5, 2009 at 3:08 PM, Jeremy Moskovich jer...@chromium.orgwrote:

 IMHO it would be immensely valuable to give a talk explaining what Layout
 tests are and how they work in a *simple* enough manner to allow web
 developers to create tests for bugs that affect them.  I haven't found any
 easily discoverable introductory material on this topic.

 Best regards,
 Jeremy

 On Fri, Nov 6, 2009 at 12:30 AM, Scott Violet s...@chromium.org wrote:


 A general big picture talk would be a great starter. How the DOM is
 modeled, how the render tree works, the interesting objects ...

  -Scott

 On Thu, Nov 5, 2009 at 2:22 PM, Jeremy Orlow jor...@chromium.org wrote:
  Sure...we definitely have some in-house expertise on this.  I could even
 see
  if any of the Apple guys would be interested in this...but I wouldn't
 hold
  my breath.  :-)
  What types of WebKit topics?
 
  On Thu, Nov 5, 2009 at 2:17 PM, Scott Violet s...@chromium.org wrote:
 
  It's not Chromium, but how about some WebKit tech talks? Such talks
  would be incredibly valuable to those helping out now and then with
  WebKit.
 
   -Scott
 
  On Thu, Nov 5, 2009 at 1:35 PM, Jeremy Orlow jor...@chromium.org
 wrote:
   About 6 months ago, we had a series of tech talks on various bits of
   Chromium's architecture.  (They're listed
   here: http://dev.chromium.org/developers/tech-talk-videos)  The
 youtube
   ratings are pretty high, they've all had over a thousand views, and
 I've
   seen them mentioned in a couple chromium-dev threadsso it seems
 like
   they've been helpful.
   So here's my question: are there any Chromium-internals related
 topics
   you
   guys/gals would really like to hear more on?  If so, I'll see if we
   can't
   find speakers, schedule some tech talks, get them recorded, and
 posted.
And
   this time, we'll make sure the audio and video quality is much
 higher.
:-)
   J
  

  
 
 

 



--~--~-~--~~~---~--~~
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: [chromium-extensions] Re: Desktop Notifications

2009-11-05 Thread Marcos Aruj
Hi all,

We've been testing the Notifications API and have shown them successfully on
a regular page. We are trying to use it from within an extension, but
Chromium crashes when calling requestPermission. It correctly asks to allow
notifications for chrome-extension://XX/, but after
allowing or denying, it crashes.

Let me know if a bug needs to be created, if it's a known issue or if we are
missing something.

Thanks,

Marcos
On Fri, Oct 30, 2009 at 3:57 PM, Marcos Aruj marcos.a...@gmail.com wrote:

 Hi all,

 Quick question, how is the Notifications API going for the release of 4.0?
 Are there any news on this? Any sample code? Just wanted to know if we can
 rely on it now or if we should wait.

 Thanks!

 Marcos

 On Tue, Oct 20, 2009 at 11:04 AM, Darin Fisher da...@chromium.org wrote:

 OK, that sounds reasonable to me.
 -Darin


 On Tue, Oct 20, 2009 at 9:51 AM, John Gregg john...@google.com wrote:

 Not precisely embedding a TabContents; I'm drawing a custom toast using
 views and putting a RenderViewHost+RenderWidgetHostView in it.

  -John


 On Tue, Oct 20, 2009 at 12:27 AM, Darin Fisher da...@chromium.orgwrote:

 Is this accomplished by embedding a TabContents in a custom drawn (using
 Views) toast?
 -Darin


 On Mon, Oct 19, 2009 at 2:17 PM, Drew Wilson atwil...@chromium.orgwrote:

 To be clear - our priority is to support HTML notifications on all
 platforms *before* investigating support for native notification platforms
 (like Growl/libnotify).

 -atw


 On Mon, Oct 19, 2009 at 11:25 AM, Ian Fette i...@chromium.org wrote:

 We're trying to come up with a way to display html notifications on
 these platforms, once we get the windows one checked in. (Likely code 
 that
 we will have to write.)

 2009/10/19 Evan Martin e...@chromium.org


 On Mon, Oct 19, 2009 at 11:16 AM, John Gregg john...@google.com
 wrote:
  The implementation of notifications is nearly complete for Windows
 chromium
  with the final pieces being reviewed right now.  Hopefully it will
 be
  available on the dev channel very soon behind a command-line switch
 for
  developers to start using.
  If you have questions about the specifics of the API, let me know,
 I'm happy
  to answer them and/or provide more documentation.

 I had alluded to this before, but I don't still see a good answer:
 what is the plan on Mac/Linux when the API is called with HTML?







 






 --
 Marcos Aruj Alvarez
 Ingeniero de Software
 ---
 marcos.a...@gmail.com
 -




-- 
Marcos Aruj Alvarez
Ingeniero de Software
---
marcos.a...@gmail.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: The future for test shell (WAS: test_shell performance is bad compared to Chromium)

2009-11-05 Thread Dirk Pranke

Yeah, we would have to work out a way of handling these sorts of features.

-- Dirk

On Thu, Nov 5, 2009 at 3:01 PM, Jeremy Orlow jor...@chromium.org wrote:
 On Thu, Nov 5, 2009 at 2:46 PM, Dirk Pranke dpra...@chromium.org wrote:

 On Thu, Nov 5, 2009 at 1:59 PM, Marshall Greenblatt
 magreenbl...@gmail.com wrote:
 
  On Thu, Nov 5, 2009 at 4:32 PM, Dirk Pranke dpra...@chromium.org
  wrote:
 
  test_shell being a test shell used mostly for non-interactive testing,
  we haven't given a lot of concern to its perfomance AFAIK. I'm not
  even sure how long of a lifespan it'll have since we aim to
  merge/replace it with WebKit's DumpRenderTree at some point soon.
 
  So is the plan now for test_shell to go away completely?  #3 under *Next
  steps:* in this email seemed to suggest that it would be up-streamed:
 
 
  http://groups.google.com/group/chromium-dev/browse_thread/thread/5352c2facb46f309
 
  Wouldn't merging/replacing test_shell with DRT eliminate the ability to
  test
  the Chromium WebKit API in a simplified environment?
 

 Good question, and I didn't actually know the answer, so that provoked
 an interesting but short discussion between Ojan and Dimitri and
 myself. At the moment we're leaning to keeping test_shell and
 DumpRenderTree both. The latter would be the driver for the layout
 test harness (as it is upstream), and test_shell would get all of the
 layout test code ripped out of it and become more like an actual shell
 that can be used to embed webkit for interactive work (and upstreamed,
 as you say). The exact functionality and distinctions between the two
 (and the justification of the existence of both) probably still needs
 some edges smoothed.

 Features like AppCache and WebDatabase depend on code that will probably
 never be unstreamed to WebKit's repo. So either we need to always run at
 least some tests under test shell or we'll need to be content with not
 running these layout tests.
 Note that we have a somewhat hacky way of running layout tests in the UI
 test framework that might suffice for this stuff.  Right now, I run
 LocalStorage tests in both test_shell and the ui_test framework.

--~--~-~--~~~---~--~~
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: [chromium-extensions] Re: Desktop Notifications

2009-11-05 Thread Aaron Boodman

Creating a bug with a small sample attached would be great.

On Thu, Nov 5, 2009 at 3:11 PM, Marcos Aruj marcos.a...@gmail.com wrote:
 Hi all,
 We've been testing the Notifications API and have shown them successfully on
 a regular page. We are trying to use it from within an extension, but
 Chromium crashes when calling requestPermission. It correctly asks to allow
 notifications for chrome-extension://XX/, but after
 allowing or denying, it crashes.
 Let me know if a bug needs to be created, if it's a known issue or if we are
 missing something.
 Thanks,
 Marcos
 On Fri, Oct 30, 2009 at 3:57 PM, Marcos Aruj marcos.a...@gmail.com wrote:

 Hi all,
 Quick question, how is the Notifications API going for the release of 4.0?
 Are there any news on this? Any sample code? Just wanted to know if we can
 rely on it now or if we should wait.
 Thanks!
 Marcos
 On Tue, Oct 20, 2009 at 11:04 AM, Darin Fisher da...@chromium.org wrote:

 OK, that sounds reasonable to me.
 -Darin

 On Tue, Oct 20, 2009 at 9:51 AM, John Gregg john...@google.com wrote:

 Not precisely embedding a TabContents; I'm drawing a custom toast using
 views and putting a RenderViewHost+RenderWidgetHostView in it.
  -John

 On Tue, Oct 20, 2009 at 12:27 AM, Darin Fisher da...@chromium.org
 wrote:

 Is this accomplished by embedding a TabContents in a custom drawn
 (using Views) toast?
 -Darin

 On Mon, Oct 19, 2009 at 2:17 PM, Drew Wilson atwil...@chromium.org
 wrote:

 To be clear - our priority is to support HTML notifications on all
 platforms *before* investigating support for native notification 
 platforms
 (like Growl/libnotify).
 -atw

 On Mon, Oct 19, 2009 at 11:25 AM, Ian Fette i...@chromium.org wrote:

 We're trying to come up with a way to display html notifications on
 these platforms, once we get the windows one checked in. (Likely code 
 that
 we will have to write.)

 2009/10/19 Evan Martin e...@chromium.org

 On Mon, Oct 19, 2009 at 11:16 AM, John Gregg john...@google.com
 wrote:
  The implementation of notifications is nearly complete for Windows
  chromium
  with the final pieces being reviewed right now.  Hopefully it will
  be
  available on the dev channel very soon behind a command-line
  switch for
  developers to start using.
  If you have questions about the specifics of the API, let me know,
  I'm happy
  to answer them and/or provide more documentation.

 I had alluded to this before, but I don't still see a good answer:
 what is the plan on Mac/Linux when the API is called with HTML?







 






 --
 Marcos Aruj Alvarez
 Ingeniero de Software
 ---
 marcos.a...@gmail.com
 -



 --
 Marcos Aruj Alvarez
 Ingeniero de Software
 ---
 marcos.a...@gmail.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: [chromium-extensions] Re: Desktop Notifications

2009-11-05 Thread John Gregg
Thanks for the bug report, I am currently working on getting Notifications
working for extensions and I'm familiar with this issue, although I don't
think there is a bug for it yet.  If you would create one I can update it as
I get the fix checked in (which will hopefully be tomorrow, I think it's a
fairly easy fix).

 -John

On Thu, Nov 5, 2009 at 6:11 PM, Marcos Aruj marcos.a...@gmail.com wrote:

 Hi all,

 We've been testing the Notifications API and have shown them successfully
 on a regular page. We are trying to use it from within an extension, but
 Chromium crashes when calling requestPermission. It correctly asks to allow
 notifications for chrome-extension://XX/, but after
 allowing or denying, it crashes.

 Let me know if a bug needs to be created, if it's a known issue or if we
 are missing something.

 Thanks,

 Marcos

 On Fri, Oct 30, 2009 at 3:57 PM, Marcos Aruj marcos.a...@gmail.comwrote:

 Hi all,

 Quick question, how is the Notifications API going for the release of 4.0?
 Are there any news on this? Any sample code? Just wanted to know if we can
 rely on it now or if we should wait.

 Thanks!

 Marcos

 On Tue, Oct 20, 2009 at 11:04 AM, Darin Fisher da...@chromium.orgwrote:

 OK, that sounds reasonable to me.
 -Darin


 On Tue, Oct 20, 2009 at 9:51 AM, John Gregg john...@google.com wrote:

 Not precisely embedding a TabContents; I'm drawing a custom toast using
 views and putting a RenderViewHost+RenderWidgetHostView in it.

  -John


 On Tue, Oct 20, 2009 at 12:27 AM, Darin Fisher da...@chromium.orgwrote:

 Is this accomplished by embedding a TabContents in a custom drawn
 (using Views) toast?
 -Darin


 On Mon, Oct 19, 2009 at 2:17 PM, Drew Wilson atwil...@chromium.orgwrote:

 To be clear - our priority is to support HTML notifications on all
 platforms *before* investigating support for native notification 
 platforms
 (like Growl/libnotify).

 -atw


 On Mon, Oct 19, 2009 at 11:25 AM, Ian Fette i...@chromium.org wrote:

 We're trying to come up with a way to display html notifications on
 these platforms, once we get the windows one checked in. (Likely code 
 that
 we will have to write.)

 2009/10/19 Evan Martin e...@chromium.org


 On Mon, Oct 19, 2009 at 11:16 AM, John Gregg john...@google.com
 wrote:
  The implementation of notifications is nearly complete for Windows
 chromium
  with the final pieces being reviewed right now.  Hopefully it will
 be
  available on the dev channel very soon behind a command-line
 switch for
  developers to start using.
  If you have questions about the specifics of the API, let me know,
 I'm happy
  to answer them and/or provide more documentation.

 I had alluded to this before, but I don't still see a good answer:
 what is the plan on Mac/Linux when the API is called with HTML?







 






 --
 Marcos Aruj Alvarez
 Ingeniero de Software
 ---
 marcos.a...@gmail.com
 -




 --
 Marcos Aruj Alvarez
 Ingeniero de Software
 ---
 marcos.a...@gmail.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: test_shell performance is bad compared to Chromium

2009-11-05 Thread Mohamed Mansour
On Thu, Nov 5, 2009 at 5:33 PM, Peter Kasting pkast...@google.com wrote:

 On Thu, Nov 5, 2009 at 1:51 PM, Nico Weber tha...@chromium.org wrote:

 http://codereview.chromium.org/244003/show might be what you want.


 I thought this was intentionally abandoned because it was growing out of
 control.  That's what I was alluding to before.


Not entirely abandoned, true it was getting out of control and that is why I
stopped to take a step back. Technically it should be what I did for patch
set one, which is just fullscreen + no statusbar. That is basically what the
functionality is. I will continue working on it tonight.

 - Mohamed Mansour

--~--~-~--~~~---~--~~
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: The future for test shell (WAS: test_shell performance is bad compared to Chromium)

2009-11-05 Thread Jeremy Orlow
On Thu, Nov 5, 2009 at 3:01 PM, Jeremy Orlow jor...@chromium.org wrote:

 On Thu, Nov 5, 2009 at 2:46 PM, Dirk Pranke dpra...@chromium.org wrote:


 On Thu, Nov 5, 2009 at 1:59 PM, Marshall Greenblatt
 magreenbl...@gmail.com wrote:
 
  On Thu, Nov 5, 2009 at 4:32 PM, Dirk Pranke dpra...@chromium.org
 wrote:
 
  test_shell being a test shell used mostly for non-interactive testing,
  we haven't given a lot of concern to its perfomance AFAIK. I'm not
  even sure how long of a lifespan it'll have since we aim to
  merge/replace it with WebKit's DumpRenderTree at some point soon.
 
  So is the plan now for test_shell to go away completely?  #3 under *Next
  steps:* in this email seemed to suggest that it would be up-streamed:
 
 
 http://groups.google.com/group/chromium-dev/browse_thread/thread/5352c2facb46f309
 
  Wouldn't merging/replacing test_shell with DRT eliminate the ability to
 test
  the Chromium WebKit API in a simplified environment?
 

 Good question, and I didn't actually know the answer, so that provoked
 an interesting but short discussion between Ojan and Dimitri and
 myself. At the moment we're leaning to keeping test_shell and
 DumpRenderTree both. The latter would be the driver for the layout
 test harness (as it is upstream), and test_shell would get all of the
 layout test code ripped out of it and become more like an actual shell
 that can be used to embed webkit for interactive work (and upstreamed,
 as you say). The exact functionality and distinctions between the two
 (and the justification of the existence of both) probably still needs
 some edges smoothed.


 Features like AppCache and WebDatabase depend on code that will probably
 never be unstreamed to WebKit's repo.


Because it depends on base, net, etc.


 So either we need to always run at least some tests under test shell


Or we need to do some GYP hackery so that we can compile in their
implementation or our implementation...and be sure that we run our
implementation on at least some of our bots.


 or we'll need to be content with not running these layout tests.

 Note that we have a somewhat hacky way of running layout tests in the UI
 test framework that might suffice for this stuff.  Right now, I run
 LocalStorage tests in both test_shell and the ui_test framework.


--~--~-~--~~~---~--~~
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: Which editor do you recommend on Mac OS X?

2009-11-05 Thread Drew Wilson
So I've officially switched to carbon emacs, and I'm loving it. Is there a
way to launch a second instance - double-clicking the executable seems to
just bring the original instance to the foreground. Feel free to tell me I'm
Doing It Wrong, but when working on two trees simultaneously I like to open
them in separate emacs instances so I don't accidentally make edits in the
wrong tree.

-atw

On Tue, Nov 3, 2009 at 10:16 AM, Kenneth Russell k...@chromium.org wrote:

 There's a Carbon-based, non-Aquamacs Emacs available for Mac OS X.
 Recommended.

 http://www.emacswiki.org/emacs/EmacsForMacOS
 http://www.emacswiki.org/emacs/CarbonEmacsPackage

 -Ken

 On Tue, Nov 3, 2009 at 10:08 AM, Drew Wilson atwil...@chromium.org
 wrote:
  I've been using Aquamacs, although I don't like the fact that it has *so
  many* modes built-in and turned-on by default, and I also don't like the
  fact that it doesn't lend itself well to customization (it has its own
 set
  of initialization files it keeps hidden off). It's decent, though (but
  again, I've devolved over the years to using almost vanilla emacs
 bindings
  to allow moving to new platforms easier).
  I've also been known to use the built-in GNU emacs from a terminal shell
  (especially when working remotely/SSH-ing). I see no reason why you can't
  have the same experience that you do with your Linux box, although you'd
  have to find a way to drag the google3 elisp over.
  -atw
 
  On Tue, Nov 3, 2009 at 9:56 AM, Paweł Hajdan Jr. 
 phajdan...@chromium.org
  wrote:
 
  Recently I started working more and more on Mac OS X, and I'm trying to
  find an editor that would work the best for me.
  On Linux I used GNU Emacs with many customizations. Some of the most
 handy
  ones for working on Chromium were Google Style script and launching the
  compilation from the editor. I also used Vim keybindings (Viper) a lot.
  On Mac, I tried Aquamacs, but some of my customizations broke. Also, the
  Vim emulation seems to be only half-working (selecting text in Vim
 visual
  mode isn't working).
  I also tried Xcode, but it seems that the editor isn't powerful enough.
 I
  don't know how to quickly remove an entire line (2 keystrokes in Vim),
 or a
  few lines (3 keystrokes). However, the Open Quickly option
 (cmd-shift-d)
  is very nice. I also couldn't find an easy solution to automatically
 remove
  trailing whitespace in Xcode.
  Do you have any tips about effective editing on Mac? Which solution
 would
  you recommend?
 
 
 
   
 


--~--~-~--~~~---~--~~
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: Tech talk topics

2009-11-05 Thread Mohamed Mansour
+1 on the WebKit tech talks. And maybe on on the WebKitAPI infrastructure
that darin organized.

 - Mohamed Mansour


On Thu, Nov 5, 2009 at 5:17 PM, Scott Violet s...@chromium.org wrote:


 It's not Chromium, but how about some WebKit tech talks? Such talks
 would be incredibly valuable to those helping out now and then with
 WebKit.

  -Scott

 On Thu, Nov 5, 2009 at 1:35 PM, Jeremy Orlow jor...@chromium.org wrote:
  About 6 months ago, we had a series of tech talks on various bits of
  Chromium's architecture.  (They're listed
  here: http://dev.chromium.org/developers/tech-talk-videos)  The youtube
  ratings are pretty high, they've all had over a thousand views, and I've
  seen them mentioned in a couple chromium-dev threadsso it seems like
  they've been helpful.
  So here's my question: are there any Chromium-internals related topics
 you
  guys/gals would really like to hear more on?  If so, I'll see if we can't
  find speakers, schedule some tech talks, get them recorded, and posted.
  And
  this time, we'll make sure the audio and video quality is much higher.
  :-)
  J
 
  
 

 


--~--~-~--~~~---~--~~
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: Tech talk topics

2009-11-05 Thread Pam Greene
I'd be happy to give a talk about layout tests. It would help me if people
could suggest subtopics, or more simply, ask questions they'd like answered.
I've been working with the things for so long, it's hard for me to know
what's confusing or unclear anymore.

- Pam

On Thu, Nov 5, 2009 at 4:10 PM, Jeremy Orlow jor...@chromium.org wrote:

 That's an excellent idea!  Do you think you'd be able to give it?  If not,
 do you have any suggestions on who would be good?  Maybe Pam?


 On Thu, Nov 5, 2009 at 3:08 PM, Jeremy Moskovich jer...@chromium.orgwrote:

 IMHO it would be immensely valuable to give a talk explaining what Layout
 tests are and how they work in a *simple* enough manner to allow web
 developers to create tests for bugs that affect them.  I haven't found any
 easily discoverable introductory material on this topic.

 Best regards,
 Jeremy

 On Fri, Nov 6, 2009 at 12:30 AM, Scott Violet s...@chromium.org wrote:


 A general big picture talk would be a great starter. How the DOM is
 modeled, how the render tree works, the interesting objects ...

  -Scott

 On Thu, Nov 5, 2009 at 2:22 PM, Jeremy Orlow jor...@chromium.org
 wrote:
  Sure...we definitely have some in-house expertise on this.  I could
 even see
  if any of the Apple guys would be interested in this...but I wouldn't
 hold
  my breath.  :-)
  What types of WebKit topics?
 
  On Thu, Nov 5, 2009 at 2:17 PM, Scott Violet s...@chromium.org wrote:
 
  It's not Chromium, but how about some WebKit tech talks? Such talks
  would be incredibly valuable to those helping out now and then with
  WebKit.
 
   -Scott
 
  On Thu, Nov 5, 2009 at 1:35 PM, Jeremy Orlow jor...@chromium.org
 wrote:
   About 6 months ago, we had a series of tech talks on various bits of
   Chromium's architecture.  (They're listed
   here: http://dev.chromium.org/developers/tech-talk-videos)  The
 youtube
   ratings are pretty high, they've all had over a thousand views, and
 I've
   seen them mentioned in a couple chromium-dev threadsso it seems
 like
   they've been helpful.
   So here's my question: are there any Chromium-internals related
 topics
   you
   guys/gals would really like to hear more on?  If so, I'll see if we
   can't
   find speakers, schedule some tech talks, get them recorded, and
 posted.
And
   this time, we'll make sure the audio and video quality is much
 higher.
:-)
   J
  

  
 
 





 


--~--~-~--~~~---~--~~
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: Tech talk topics

2009-11-05 Thread Andrew Scherkus
Something that would have been immensely helpful to me when I started was a
talk explaining the interaction between the javascript bindings,
HTMLFooElement classes and RenderFoo classes.

I'd volunteer, but I still don't know enough about this stuff myself --
other than when Foo == Media :)

Andrew

On Thu, Nov 5, 2009 at 3:24 PM, Mohamed Mansour m...@chromium.org wrote:

 +1 on the WebKit tech talks. And maybe on on the WebKitAPI infrastructure
 that darin organized.

  - Mohamed Mansour


 On Thu, Nov 5, 2009 at 5:17 PM, Scott Violet s...@chromium.org wrote:


 It's not Chromium, but how about some WebKit tech talks? Such talks
 would be incredibly valuable to those helping out now and then with
 WebKit.

  -Scott

 On Thu, Nov 5, 2009 at 1:35 PM, Jeremy Orlow jor...@chromium.org wrote:
  About 6 months ago, we had a series of tech talks on various bits of
  Chromium's architecture.  (They're listed
  here: http://dev.chromium.org/developers/tech-talk-videos)  The youtube
  ratings are pretty high, they've all had over a thousand views, and I've
  seen them mentioned in a couple chromium-dev threadsso it seems like
  they've been helpful.
  So here's my question: are there any Chromium-internals related topics
 you
  guys/gals would really like to hear more on?  If so, I'll see if we
 can't
  find speakers, schedule some tech talks, get them recorded, and posted.
  And
  this time, we'll make sure the audio and video quality is much higher.
  :-)
  J
 
  
 




 


--~--~-~--~~~---~--~~
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: test_shell performance is bad compared to Chromium

2009-11-05 Thread Alexander Teinum

I want to make it clear, and it might be obvious by now, but
test_shell isn't interesting to me. I just want the fastest browser
engine that I can get.

What makes Chromium different than WebKitGTK+ for my project, is that
Chromium renders the GTK stuff correctly with CSS transformations.
It's also snappier.

Making the rendering part of Chromium easier to use for open source
project would benefit projects such as mine or uzbl for instance. uzbl
is a WebKitGTK+ browser that is controlled similar to Vim.

I realize that CEF is an effort at making it easier to embed Chromium,
but if it's based on test_shell, then well... what about the platform
optimalizations? Are they easy to get into CEF, or does it have to
play catch-up?

On Fri, Nov 6, 2009 at 12:21 AM, Mohamed Mansour m...@chromium.org wrote:
 On Thu, Nov 5, 2009 at 5:33 PM, Peter Kasting pkast...@google.com wrote:

 On Thu, Nov 5, 2009 at 1:51 PM, Nico Weber tha...@chromium.org wrote:

 http://codereview.chromium.org/244003/show might be what you want.

 I thought this was intentionally abandoned because it was growing out of
 control.  That's what I was alluding to before.

 Not entirely abandoned, true it was getting out of control and that is why I
 stopped to take a step back. Technically it should be what I did for patch
 set one, which is just fullscreen + no statusbar. That is basically what the
 functionality is. I will continue working on it tonight.
  - Mohamed Mansour







-- 
Best regards/Med vennlig hilsen,

Alexander Teinum

--~--~-~--~~~---~--~~
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: Tech talk topics

2009-11-05 Thread Jeremy Orlow
Thanks for the suggestions so far!  Here's what I've seen so far:
WebKit API - Darin?
Eric's WebKit talk
LayoutTests - Pam?
Bindings - Andrew?

Keep the ideas coming.  If we get more than we want to tackle we can always
vote on which would be most helpful to the community, but all the ones I've
heard so far sound very valuable.

J

On Thu, Nov 5, 2009 at 3:29 PM, Andrew Scherkus scher...@chromium.orgwrote:

 Something that would have been immensely helpful to me when I started was a
 talk explaining the interaction between the javascript bindings,
 HTMLFooElement classes and RenderFoo classes.

 I'd volunteer, but I still don't know enough about this stuff myself --
 other than when Foo == Media :)

 Andrew

 On Thu, Nov 5, 2009 at 3:24 PM, Mohamed Mansour m...@chromium.org wrote:

 +1 on the WebKit tech talks. And maybe on on the WebKitAPI infrastructure
 that darin organized.

  - Mohamed Mansour


 On Thu, Nov 5, 2009 at 5:17 PM, Scott Violet s...@chromium.org wrote:


 It's not Chromium, but how about some WebKit tech talks? Such talks
 would be incredibly valuable to those helping out now and then with
 WebKit.

  -Scott

 On Thu, Nov 5, 2009 at 1:35 PM, Jeremy Orlow jor...@chromium.org
 wrote:
  About 6 months ago, we had a series of tech talks on various bits of
  Chromium's architecture.  (They're listed
  here: http://dev.chromium.org/developers/tech-talk-videos)  The
 youtube
  ratings are pretty high, they've all had over a thousand views, and
 I've
  seen them mentioned in a couple chromium-dev threadsso it seems
 like
  they've been helpful.
  So here's my question: are there any Chromium-internals related topics
 you
  guys/gals would really like to hear more on?  If so, I'll see if we
 can't
  find speakers, schedule some tech talks, get them recorded, and posted.
  And
  this time, we'll make sure the audio and video quality is much higher.
  :-)
  J
 
  
 




 



--~--~-~--~~~---~--~~
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: test_shell performance is bad compared to Chromium

2009-11-05 Thread Peter Kasting
On Thu, Nov 5, 2009 at 3:34 PM, Alexander Teinum atei...@gmail.com wrote:

 Making the rendering part of Chromium easier to use for open source
 project would benefit projects such as mine or uzbl for instance. uzbl
 is a WebKitGTK+ browser that is controlled similar to Vim.


This is one of the reasons we are trying to upstream our WebKit API
embedding layer.  See a recent post by Darin Fisher on webkit-dev.

PK

--~--~-~--~~~---~--~~
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: [chromium-extensions] Re: Desktop Notifications

2009-11-05 Thread Marcos Aruj
Ok, done: http://www.crbug.com/26859

I attached a crx to the report that triggers the bug.

Thanks!

On Thu, Nov 5, 2009 at 5:19 PM, John Gregg john...@google.com wrote:

 Thanks for the bug report, I am currently working on getting Notifications
 working for extensions and I'm familiar with this issue, although I don't
 think there is a bug for it yet.  If you would create one I can update it as
 I get the fix checked in (which will hopefully be tomorrow, I think it's a
 fairly easy fix).

  -John

 On Thu, Nov 5, 2009 at 6:11 PM, Marcos Aruj marcos.a...@gmail.com wrote:

 Hi all,

 We've been testing the Notifications API and have shown them successfully
 on a regular page. We are trying to use it from within an extension, but
 Chromium crashes when calling requestPermission. It correctly asks to allow
 notifications for chrome-extension://XX/, but after
 allowing or denying, it crashes.

 Let me know if a bug needs to be created, if it's a known issue or if we
 are missing something.

 Thanks,

 Marcos

 On Fri, Oct 30, 2009 at 3:57 PM, Marcos Aruj marcos.a...@gmail.comwrote:

 Hi all,

 Quick question, how is the Notifications API going for the release of
 4.0? Are there any news on this? Any sample code? Just wanted to know if we
 can rely on it now or if we should wait.

 Thanks!

 Marcos

 On Tue, Oct 20, 2009 at 11:04 AM, Darin Fisher da...@chromium.orgwrote:

 OK, that sounds reasonable to me.
 -Darin


 On Tue, Oct 20, 2009 at 9:51 AM, John Gregg john...@google.com wrote:

 Not precisely embedding a TabContents; I'm drawing a custom toast using
 views and putting a RenderViewHost+RenderWidgetHostView in it.

  -John


 On Tue, Oct 20, 2009 at 12:27 AM, Darin Fisher da...@chromium.orgwrote:

 Is this accomplished by embedding a TabContents in a custom drawn
 (using Views) toast?
 -Darin


 On Mon, Oct 19, 2009 at 2:17 PM, Drew Wilson 
 atwil...@chromium.orgwrote:

 To be clear - our priority is to support HTML notifications on all
 platforms *before* investigating support for native notification 
 platforms
 (like Growl/libnotify).

 -atw


 On Mon, Oct 19, 2009 at 11:25 AM, Ian Fette i...@chromium.orgwrote:

 We're trying to come up with a way to display html notifications on
 these platforms, once we get the windows one checked in. (Likely code 
 that
 we will have to write.)

 2009/10/19 Evan Martin e...@chromium.org


 On Mon, Oct 19, 2009 at 11:16 AM, John Gregg john...@google.com
 wrote:
  The implementation of notifications is nearly complete for
 Windows chromium
  with the final pieces being reviewed right now.  Hopefully it
 will be
  available on the dev channel very soon behind a command-line
 switch for
  developers to start using.
  If you have questions about the specifics of the API, let me
 know, I'm happy
  to answer them and/or provide more documentation.

 I had alluded to this before, but I don't still see a good answer:
 what is the plan on Mac/Linux when the API is called with HTML?







 






 --
 Marcos Aruj Alvarez
 Ingeniero de Software
 ---
 marcos.a...@gmail.com
 -




 --
 Marcos Aruj Alvarez
 Ingeniero de Software
 ---
 marcos.a...@gmail.com
 -





-- 
Marcos Aruj Alvarez
Ingeniero de Software
---
marcos.a...@gmail.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] Preventing keypress after accellerator?

2009-11-05 Thread Erik Arvidsson
We have code to suppress the keypress event if keydown triggered a browser
accelerator both inside and outside of WebKit. I don't understand why we
want to prevent a keypress after a Ctrl+A or Ctrl+B keydown?

-- 
erik

--~--~-~--~~~---~--~~
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: Circular relationship in NaCl .gyp files - this is bad!

2009-11-05 Thread Bradley Nelson
Some further info on this topic:

There are circular dependencies in nacl, but the reason this does not
afflict the buildbots is that xcode will handle this correctly IF you CMD-Q
out of xcode before regenerating the project file.
We should nonetheless fix the circularity and then have gyp complain.

-BradN


On Thu, Nov 5, 2009 at 3:33 PM, Mark Mentovai mmento...@google.com wrote:

 Robert Muth wrote:
  I am looking into it.

 Thanks.  I have a change for GYP ready to detect these cases and raise
 an exception.  Once you get your fix in, I'll check my fix into GYP so
 that we can catch these early before they start causing problems.

  PS: Hope we will be sitting close to each other soon.

 Definitely!

 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: Preventing keypress after accellerator?

2009-11-05 Thread James Su
You may refer to following bug reports:
http://crbug.com/21624
http://crbug.com/21471

2009/11/6 Erik Arvidsson a...@chromium.org

 We have code to suppress the keypress event if keydown triggered a browser
 accelerator both inside and outside of WebKit. I don't understand why we
 want to prevent a keypress after a Ctrl+A or Ctrl+B keydown?

Because Ctrl+A and Ctrl+B are special key accelerators which will be handled
by the WebKit or the Browser. For example, Ctrl+B is for toggling bookmark
bar. When pressing Ctrl+B, the key down event will be sent to the WebKit
first, then it'll be forwarded to the Browser if the WebKit didn't handle or
prevent it. Then the Browser will handle it and open or close the bookmark
bar. Then if we still send the key press event of Ctrl+B to the WebKit, it
might be handled by some javascript code in the web page and perform a
specified action. Then the user will notice that two actions were triggered
by pressing Ctrl+B. In most time, such behavior will confuse the user.
Especially if the key triggers tab switching or other dramatic UI change.


 --
 erik

 


--~--~-~--~~~---~--~~
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: Compiling error after I did a 'gclient sync'

2009-11-05 Thread n179911

On Thu, Nov 5, 2009 at 9:23 AM, Evan Martin e...@chromium.org wrote:
 On Wed, Nov 4, 2009 at 11:55 PM, Chase Phillips ch...@chromium.org wrote:
 FWIW I see the same error you see when I try to git clone the WebKit git
 repository again locally while git fetch on an existing repository works
 fine.  I see you've mailed webkit-dev already, and I'm hoping someone there
 will be able to diagnose the problem.
 In the meantime, I recommend you use gclient sync to check out the WebKit
 source over Subversion so you're unblocked at least.

 Another option is to clone WebKit from some other git host.
 For example:
  git clone git://repo.or.cz/webkit.git

 You can then edit .git/config and change the origin URL to point at
 the canonical git.webkit.org, and run git fetch again, and it'll grab
 any newer data that didn't make it out to the mirror.

Thanks. Chase, Evan.
After webkit dev fixes their server problem, I try again using
'tools/sync-webkit-git.py',
But I am getting a different error this time.
And I have tried using 'git://repo.or.cz/webkit.git instead. That does
not solve my problem either.

$ tools/sync-webkit-git.py
Desired revision: r50584.
r50584 not available; fetching.
remote: Counting objects: 948, done.
remote: Compressing objects: 100% (350/350), done.
remote: Total 731 (delta 469), reused 614 (delta 361)
Receiving objects: 100% (731/731), 1011.18 KiB | 170 KiB/s, done.
Resolving deltas: 100% (469/469), completed with 97 local objects.
From git://git.webkit.org/WebKit
   5af4058..968141f  master - origin/master
ERROR: Couldn't map r50584 to a git revision.

--~--~-~--~~~---~--~~
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: Compiling error after I did a 'gclient sync'

2009-11-05 Thread 鵜飼文敏
seems git.webkit.org/WebKit.git is out of sync?
it only has r50565, but should have r50584 or later to build chromium.

On Fri, Nov 6, 2009 at 11:42 AM, n179911 n179...@gmail.com wrote:


 On Thu, Nov 5, 2009 at 9:23 AM, Evan Martin e...@chromium.org wrote:
  On Wed, Nov 4, 2009 at 11:55 PM, Chase Phillips ch...@chromium.org
 wrote:
  FWIW I see the same error you see when I try to git clone the WebKit git
  repository again locally while git fetch on an existing repository works
  fine.  I see you've mailed webkit-dev already, and I'm hoping someone
 there
  will be able to diagnose the problem.
  In the meantime, I recommend you use gclient sync to check out the
 WebKit
  source over Subversion so you're unblocked at least.
 
  Another option is to clone WebKit from some other git host.
  For example:
   git clone git://repo.or.cz/webkit.git
 
  You can then edit .git/config and change the origin URL to point at
  the canonical git.webkit.org, and run git fetch again, and it'll grab
  any newer data that didn't make it out to the mirror.
 
 Thanks. Chase, Evan.
 After webkit dev fixes their server problem, I try again using
 'tools/sync-webkit-git.py',
 But I am getting a different error this time.
 And I have tried using 'git://repo.or.cz/webkit.git instead. That does
 not solve my problem either.

 $ tools/sync-webkit-git.py
 Desired revision: r50584.
 r50584 not available; fetching.
 remote: Counting objects: 948, done.
 remote: Compressing objects: 100% (350/350), done.
 remote: Total 731 (delta 469), reused 614 (delta 361)
 Receiving objects: 100% (731/731), 1011.18 KiB | 170 KiB/s, done.
 Resolving deltas: 100% (469/469), completed with 97 local objects.
 From git://git.webkit.org/WebKit
   5af4058..968141f  master - origin/master
 ERROR: Couldn't map r50584 to a git revision.

 


--~--~-~--~~~---~--~~
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: Extensions performance data

2009-11-05 Thread Adam Barth

Try running a DOM benchmark while there is a content script that's
waiting for a message from a background page.

Adam


On Thu, Nov 5, 2009 at 12:12 PM, Anton Muhin ant...@chromium.org wrote:
 Adam, all,

 I've got http://codereview.chromium.org/355047/ which should speed up
 accessing isolated worlds (it at least passes layout tests).

 Could someone either see if it helps or give me instructions how to bench it?

 yours,
 anton.

 On Tue, Oct 27, 2009 at 8:04 PM, Anton Muhin ant...@chromium.org wrote:
 On Tue, Oct 27, 2009 at 8:00 PM, Adam Barth aba...@chromium.org wrote:
 On Tue, Oct 27, 2009 at 9:52 AM, Anton Muhin ant...@chromium.org wrote:
 if we're sure accessing hidden property is a bottleneck, it should be
 easily solvable: for long time I was toying idea to compile this code
 into native, but didn't see compelling enough reason to do that.  The
 easy way to measure it would be to hack stuff a bit and put data as in
 internal field or just add another getter to context.  If you like, I
 can try to do something like that, but I need a simplistic benchmark
 to estimate performance gain.

 I suspect you'll see a performance gain on any simple DOM benchmark
 that runs in the isolated world.  That code path is hit on every
 wrapper lookup.

 Ok, I will try to have a look at it this week.

 yours,
 anton.



--~--~-~--~~~---~--~~
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: history.back always fires onload in chromium - is it expected?

2009-11-05 Thread Adam Barth

We might or might not decide to implement page cache (Darin is in the
might not camp).  In either case, this LayoutTest shouldn't drive
that decision.

Adam


On Thu, Nov 5, 2009 at 12:17 PM, Tony Chang t...@chromium.org wrote:
 It sounds like the test depends on the page cache being enabled so we
 won't be able to pass it until we support the page cache (
 http://code.google.com/p/chromium/issues/detail?id=2879 ).  There are
 a couple options:

 1) Try to implement the page cache-- abarth probably has some thoughts on 
 this.
 2) Skip the test for now and mention in the bug that it depends on the
 page cache.
 3) Try to fix the test so it at least doesn't timeout if we don't
 support the page cache (I guess
 layoutTestController.overridePreference should return an error?).  We
 would still fail the test, but it wouldn't slow down the layout tests.

 I would probably just do 2 for now.

 On Wed, Nov 4, 2009 at 3:26 AM, Kinuko Yasuda kin...@google.com wrote:
 Hi chromium developers,
 I've been looking into a layout-test bug
 20341 (http://code.google.com/p/chromium/issues/detail?id=20341) and found
 that in chromium history.back always fires onload() even if WebKit's page
 cache is enabled (== WebKitUsePageCachePreferenceKey is set true).
 This makes running this
 test (LayoutTests/loader/go-back-to-different-window-size.html) cause an
 infinite loop both in test_shell and chromium.
 In a quick glance FrameLoaderClientImpl::canCachePage() and
 ApplicationCacheHost::canCacheInPageCache() are hard-coded to return false
 (with a comment saying that we manage the cache so reporting the page as
 non-cacheable), making FrameLoader always go through all the page-loading
 steps.
 Seems like this behavior (calls onload on history.back or not) differs
 across browsers:
 FireFox 3: NO
 Safari: NO
 IE8: YES
 Is it an expected behavior or do we need some fix for it?

 



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



[chromium-dev] A question regarding to the keyboard event flow in the browser process.

2009-11-05 Thread James Su
(Ask this question again, in case you know the answer but missed this
thread.)

Thanks for your clear explanation. Now I have some questions regarding to
the keyboard event flow: As I understand, a keyboard event will firstly be
sent to the RenderWidgetHostView object, which will forward the event to the
renderer. And then if the event was not handled by the renderer, it'll be
sent to the TabContentsView object through RenderViewHostDelegate::View
interface. And I find that there is a HandleKeyboardEvent method in
TabContentsDelegate interface, so seems that the keyboard event should be
sent to the delegate object through this method and handled there. But the
current implements are:

1. In windows and Linux toolkit_views implementations, the focus manager
will be called directly inside TabContentsView's HandleKeyboardEvent method
to handle the keyboard event. And TabContentsDelegate::HandleKeyboardEvent
method only gets called in windows implementation.
2. In Linux gtk implementation, the keyboard event is delivered to the
BrowserWindowGtk object directly in TabContentsViewGtk::HandleKeyboardEvent
method. TabContentsDelegate::HandleKeyboardEvent never gets called.
3. The Mac implementation is just similar than the Linux gtk code, which
never calls TabContentsDelegate::HandleKeyboardEvent method.

The logic here looks a little messy to me. So I'm wondering which is the
most apporpriate logic here. As you said, a TabContents might not always be
attached to a browser window, so should the TabContentsDelegate object
always take charge of the unhandled keyboard event? Is it appropriate for
the TabContentsView object to handle the event instead (like the current
code does)?

Regards
James Su

2009/11/5 Ben Goodger (Google) b...@chromium.org
- 隐藏引用文字 -

As Mohammed notes, there are several diagrams in design docs under
 dev.chromium.org

 I use Omnigraffle for all my diagrams, it's fab. I use the same template
 for everything so the line styles etc all mean something. Lacking a
 collaborative web based version of Omnigraffle, I simply attach the graffle
 files to the docs so they can be edited later.

 A TabContentsView is the view portion of a TabContents. A TabContents is
 not necessarily always associated with a Browser. This is a mistake many
 people make - it's actually wrong to include browser.h etc in TabContents.
 TabContents communicates with Browser via the TabContentsDelegate interface
 which Browser implements. But sometimes the delegate is different... e.g.
 when you detach a tab and drag it around on screen the TabContentsDelegate
 is actually the DraggedTabController. And in ChromeFrame (which embeds a
 TabContents), the TabContentsDelegate is the ExternalTabContainer I think.

 -Ben

 On Wed, Nov 4, 2009 at 8:54 PM, James Su su...@chromium.org wrote:

 Hi,
   Recently, I'm studying the source code under chrome/browser and trying
 to understand the overall architecture, especially the relationship among
 those important classes, such as Browser, BrowserWindow, TabContents,
 TabContentsDelegate, TabContentsView, TabStripModel, RenderWidgetHost,
 RenderWidgetHostView, ExternalTabContainer, etc. Though I already have a
 rough picture of the architecture, there are still many aspects that I don't
 understand very well, such as:

 1. The ownership among these classes.
 2. The relationship between Browser and ExternalTabContainer classes,
 which both implement TabContentsDelegate interface. And how does an external
 tab work?
 3. Does a TabContentsView always associate to a Browser?

   I'm wondering if there is any document to help me understand these
 aspects? I searched on dev.chromium.org but found nothing related.

 Thanks
 James Su

 



--~--~-~--~~~---~--~~
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: history.back always fires onload in chromium - is it expected?

2009-11-05 Thread Kinuko Yasuda
Thanks for the replies, for now I'm going to do 2),
i.e. mark the test SKIP, add a comment and wait for the decision for the
page cache.

(of course I don't think the test should determine the future of the page
cache... :))

Kinuko

On Fri, Nov 6, 2009 at 1:47 PM, Adam Barth aba...@chromium.org wrote:

 We might or might not decide to implement page cache (Darin is in the
 might not camp).  In either case, this LayoutTest shouldn't drive
 that decision.

 Adam


 On Thu, Nov 5, 2009 at 12:17 PM, Tony Chang t...@chromium.org wrote:
  It sounds like the test depends on the page cache being enabled so we
  won't be able to pass it until we support the page cache (
  http://code.google.com/p/chromium/issues/detail?id=2879 ).  There are
  a couple options:
 
  1) Try to implement the page cache-- abarth probably has some thoughts on
 this.
  2) Skip the test for now and mention in the bug that it depends on the
  page cache.
  3) Try to fix the test so it at least doesn't timeout if we don't
  support the page cache (I guess
  layoutTestController.overridePreference should return an error?).  We
  would still fail the test, but it wouldn't slow down the layout tests.
 
  I would probably just do 2 for now.
 
  On Wed, Nov 4, 2009 at 3:26 AM, Kinuko Yasuda kin...@google.com wrote:
  Hi chromium developers,
  I've been looking into a layout-test bug
  20341 (http://code.google.com/p/chromium/issues/detail?id=20341) and
 found
  that in chromium history.back always fires onload() even if WebKit's
 page
  cache is enabled (== WebKitUsePageCachePreferenceKey is set true).
  This makes running this
  test (LayoutTests/loader/go-back-to-different-window-size.html) cause an
  infinite loop both in test_shell and chromium.
  In a quick glance FrameLoaderClientImpl::canCachePage() and
  ApplicationCacheHost::canCacheInPageCache() are hard-coded to return
 false
  (with a comment saying that we manage the cache so reporting the page
 as
  non-cacheable), making FrameLoader always go through all the
 page-loading
  steps.
  Seems like this behavior (calls onload on history.back or not) differs
  across browsers:
  FireFox 3: NO
  Safari: NO
  IE8: YES
  Is it an expected behavior or do we need some fix for it?
 
   
 
 


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



[chromium-dev] Google URL as KURL

2009-11-05 Thread TAMURA, Kent
Why we use Google URL as KURL in WebCore?

Google URL and the default KURL implementation have some differences on
validation rule, and they make a layout test failure of
LayoutTests/fast/forms/ValidityState-typeMismatch-url.html .
(See https://bugs.webkit.org/show_bug.cgi?id=29913 for the detail)
Why we introduced GoogleURL-as-KURL instead of adding features to the
default KURL?

-- 
TAMURA Kent
Software Engineer, Google




--~--~-~--~~~---~--~~
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: Google URL as KURL

2009-11-05 Thread Peter Kasting
On Thu, Nov 5, 2009 at 9:47 PM, TAMURA, Kent tk...@chromium.org wrote:

 Why we use Google URL as KURL in WebCore?


brettw is the man you want.

IIRC the main issues are that we need to have consistent validity
enforcement throughout our entire browser stack, and modifying KURL to make
it act like GURL was both harder and perhaps not as kosher with Apple (I
don't really remember).

PK

--~--~-~--~~~---~--~~
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: Preventing keypress after accellerator?

2009-11-05 Thread Erik Arvidsson
On Thu, Nov 5, 2009 at 17:58, James Su su...@chromium.org wrote:

 You may refer to following bug reports:
 http://crbug.com/21624
 http://crbug.com/21471

 2009/11/6 Erik Arvidsson a...@chromium.org

 We have code to suppress the keypress event if keydown triggered a browser
 accelerator both inside and outside of WebKit. I don't understand why we
 want to prevent a keypress after a Ctrl+A or Ctrl+B keydown?

 Because Ctrl+A and Ctrl+B are special key accelerators which will be
 handled by the WebKit or the Browser. For example, Ctrl+B is for toggling
 bookmark bar. When pressing Ctrl+B, the key down event will be sent to the
 WebKit first, then it'll be forwarded to the Browser if the WebKit didn't
 handle or prevent it. Then the Browser will handle it and open or close the
 bookmark bar. Then if we still send the key press event of Ctrl+B to the
 WebKit, it might be handled by some javascript code in the web page and
 perform a specified action. Then the user will notice that two actions were
 triggered by pressing Ctrl+B. In most time, such behavior will confuse the
 user. Especially if the key triggers tab switching or other dramatic UI
 change.


I don't really agree with that argument. Neither Firefox nor Safari prevents
the keypress after a command. IE just don't fire keypress events for
Ctrl+Key with some exceptions.

We don't send Ctrl+n, Ctrl+t nor Ctrl+w to the render view which I'm not
considering changing. These should not be sent to the current view since
they all remove or moves the user to a new view.



 --
 erik

 




-- 
erik

--~--~-~--~~~---~--~~
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: Preventing keypress after accellerator?

2009-11-05 Thread Peter Kasting
On Thu, Nov 5, 2009 at 10:49 PM, Erik Arvidsson a...@chromium.org wrote:

 On Thu, Nov 5, 2009 at 17:58, James Su su...@chromium.org wrote:

 if we still send the key press event of Ctrl+B to the WebKit, it might be
 handled by some javascript code in the web page and perform a specified
 action. Then the user will notice that two actions were triggered by
 pressing Ctrl+B. In most time, such behavior will confuse the user.
 Especially if the key triggers tab switching or other dramatic UI change.


 I don't really agree with that argument. Neither Firefox nor Safari
 prevents the keypress after a command.


In what way do you disagree?  Just saying Firefox and Safari do x alone
doesn't mean x is right or sensical.  You didn't actually give a reason why
James' description is illogical.

In the abstract it seems correct to me that if the browser handles
something, it should not then also send it to the webpage.

PK

--~--~-~--~~~---~--~~
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: Preventing keypress after accellerator?

2009-11-05 Thread James Su
You might want to read http://crbug.com/21624 first. It's the root cause for
this change. I chose to fix that issue in such a generic way, because it's
much more elegant than dealing with specific key bindings. If you
encountered any issues caused by this change, please report them then let's
think about how to deal with them.

Regards
James Su

2009/11/6 Erik Arvidsson a...@chromium.org

 On Thu, Nov 5, 2009 at 17:58, James Su su...@chromium.org wrote:

 You may refer to following bug reports:
 http://crbug.com/21624
 http://crbug.com/21471

 2009/11/6 Erik Arvidsson a...@chromium.org

 We have code to suppress the keypress event if keydown triggered a browser
 accelerator both inside and outside of WebKit. I don't understand why we
 want to prevent a keypress after a Ctrl+A or Ctrl+B keydown?

 Because Ctrl+A and Ctrl+B are special key accelerators which will be
 handled by the WebKit or the Browser. For example, Ctrl+B is for toggling
 bookmark bar. When pressing Ctrl+B, the key down event will be sent to the
 WebKit first, then it'll be forwarded to the Browser if the WebKit didn't
 handle or prevent it. Then the Browser will handle it and open or close the
 bookmark bar. Then if we still send the key press event of Ctrl+B to the
 WebKit, it might be handled by some javascript code in the web page and
 perform a specified action. Then the user will notice that two actions were
 triggered by pressing Ctrl+B. In most time, such behavior will confuse the
 user. Especially if the key triggers tab switching or other dramatic UI
 change.


 I don't really agree with that argument. Neither Firefox nor Safari
 prevents the keypress after a command. IE just don't fire keypress events
 for Ctrl+Key with some exceptions.

Why don't you consider it's an issue of firefox and Safari? And actually,
Safari on Windows does prevent the keypress after a command.


 We don't send Ctrl+n, Ctrl+t nor Ctrl+w to the render view which I'm not
 considering changing. These should not be sent to the current view since
 they all remove or moves the user to a new view.



 --
 erik

 




 --
 erik


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