Re: [chromium-dev] Can we use a DOM ui page for ftp:/// and file:/// directory listings?

2010-01-07 Thread Dean McNamee
Yeah, so my question was, does that mean test_shell would have a
separate mechanism (the current one?) for file:/// listings?

On Thu, Jan 7, 2010 at 8:47 AM, Darin Fisher da...@chromium.org wrote:
 DOM UI implies chrome://, which is implemented by the ChromeURLDataManager
 (in browser/dom_ui/).  TestShell wouldn't be able to use that.
 -Darin

 On Wed, Jan 6, 2010 at 1:43 PM, Dean McNamee de...@chromium.org wrote:

 I am pretty out of things these days, but will a DOM UI file://
 listing work for test_shell?

 On Wed, Jan 6, 2010 at 8:29 PM, Darin Fisher da...@chromium.org wrote:
  Right, that's the tricky part.  You'd need to do something creative.
  -Darin
 
  On Wed, Jan 6, 2010 at 7:59 AM, Pierre-Antoine LaFayette
  pierre.lafaye...@gmail.com wrote:
 
  Okay. Yes we could use data URI, but where do we retrieve the icon
  resources from at that level?
 
  2010/1/6 Darin Fisher da...@chromium.org
 
  We can also use data: URLs to inject the icons into the HTML file used
  to
  render the directory listings.  We can do that at the time when the
  HTML
  file is generated.
  -Darin
 
 
  On Tue, Jan 5, 2010 at 4:16 PM, Evan Martin e...@chromium.org wrote:
 
  I talked with Arv in person and I think I sufficiently convinced him
  that getting DOMUI security right is tricky.  (Consider: XSSes in the
  FTP display code, and that ftp sites containing HTML pages must not
  have privs when displaying the HTML.)  That may still mean that DOMUI
  is ok, but I would prefer to consider any other option available.
 
  One idea is to say we don't care if any old page can img
  src='chrome://os-style-icon/foobar.psd' to get a Photoshop icon.
  Not sure.
 
  On Tue, Jan 5, 2010 at 3:33 PM, Erik Arvidsson a...@chromium.org
  wrote:
   I think it should be OK to move these to DOMUI. NTP can also link
   to
   local HTML files and we already mark the chrome protocol in such a
   way
   that it cannot be accessed by any other scheme.
  
   erik
  
  
  
   On Tue, Jan 5, 2010 at 15:19, Pierre-Antoine LaFayette
   pierre.lafaye...@gmail.com wrote:
   That's why I wanted to check before starting any work. So the
   question is
   now whether it we'd rather use a DOM UI page or create a similar
   API
   that
   would be used solely by file:// and ftp://. What is needed for
   http://crbug.com/24421 is simply access to the favicon data for
   file
   types.
   I'm not sure if these are available through WebCore or not. The
   drag
   and
   drop functionality required by http://crbug.com/27772 seems like
   it
   would be
   a lot of work without using a DOM UI page.
   Any opinions on this part of my original post?:
   Is there any reason why ChromiumOS' chrome://filebrowse DOM ui
   page
   couldn't
   be generalized to
   be used for these other directory listing pages?
   It just seems to me that it would be rather redundant handle 3
   separate
   instances of a file browse HTML page (ftp://, file:// and
   chrome://filebrowse) in 3 separate ways.
   Thanks.
   2010/1/5 Evan Martin e...@chromium.org
  
   On Tue, Jan 5, 2010 at 2:44 PM, Glen Murphy g...@chromium.org
   wrote:
I don't think anyone has any objection to DOMUIifying those
pages,
and
I don't think it would be a large amount of work. The only
reason
they're not is that there hasn't been a reason to do so.
  
   DOM UI (at least when I last looked) just means that that
   renderer
   (the page) gets extra privileges necessary for doing special
   browser
   calls, such as access to your browsing history for the History
   implementation.
  
   We went to some effort to keep these sorts of pages distinct from
   network content with the hope of reducing the security surface.
    I
   worry changing this for FTP would be going in the wrong
   direction.
  
   It might make more sense to do something *like* DOM UI but with a
   different API just to keep things distinct.  But then we
   reencounter
   the same sorts of problems we have with DOM UI, like for example
   if
   you click a link from an FTP site to an HTML file, how to prevent
   the
   FTP privileges from bleeding into the HTML file.
  
   I feel like Darin is the person who would best know how to
   address
   this.
    :)
  
  
  
   --
   Pierre.
  
   --
   Chromium Developers mailing list: chromium-dev@googlegroups.com
   View archives, change email options, or unsubscribe:
      http://groups.google.com/group/chromium-dev
  
  
 
  --
  Chromium Developers mailing list: chromium-dev@googlegroups.com
  View archives, change email options, or unsubscribe:
     http://groups.google.com/group/chromium-dev
 
 
 
 
  --
  Pierre.
 
 
  --
  Chromium Developers mailing list: chromium-dev@googlegroups.com
  View archives, change email options, or unsubscribe:
     http://groups.google.com/group/chromium-dev
 


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

Re: [chromium-dev] Can we use a DOM ui page for ftp:/// and file:/// directory listings?

2010-01-06 Thread Dean McNamee
I am pretty out of things these days, but will a DOM UI file://
listing work for test_shell?

On Wed, Jan 6, 2010 at 8:29 PM, Darin Fisher da...@chromium.org wrote:
 Right, that's the tricky part.  You'd need to do something creative.
 -Darin

 On Wed, Jan 6, 2010 at 7:59 AM, Pierre-Antoine LaFayette
 pierre.lafaye...@gmail.com wrote:

 Okay. Yes we could use data URI, but where do we retrieve the icon
 resources from at that level?

 2010/1/6 Darin Fisher da...@chromium.org

 We can also use data: URLs to inject the icons into the HTML file used to
 render the directory listings.  We can do that at the time when the HTML
 file is generated.
 -Darin


 On Tue, Jan 5, 2010 at 4:16 PM, Evan Martin e...@chromium.org wrote:

 I talked with Arv in person and I think I sufficiently convinced him
 that getting DOMUI security right is tricky.  (Consider: XSSes in the
 FTP display code, and that ftp sites containing HTML pages must not
 have privs when displaying the HTML.)  That may still mean that DOMUI
 is ok, but I would prefer to consider any other option available.

 One idea is to say we don't care if any old page can img
 src='chrome://os-style-icon/foobar.psd' to get a Photoshop icon.
 Not sure.

 On Tue, Jan 5, 2010 at 3:33 PM, Erik Arvidsson a...@chromium.org wrote:
  I think it should be OK to move these to DOMUI. NTP can also link to
  local HTML files and we already mark the chrome protocol in such a way
  that it cannot be accessed by any other scheme.
 
  erik
 
 
 
  On Tue, Jan 5, 2010 at 15:19, Pierre-Antoine LaFayette
  pierre.lafaye...@gmail.com wrote:
  That's why I wanted to check before starting any work. So the
  question is
  now whether it we'd rather use a DOM UI page or create a similar API
  that
  would be used solely by file:// and ftp://. What is needed for
  http://crbug.com/24421 is simply access to the favicon data for file
  types.
  I'm not sure if these are available through WebCore or not. The drag
  and
  drop functionality required by http://crbug.com/27772 seems like it
  would be
  a lot of work without using a DOM UI page.
  Any opinions on this part of my original post?:
  Is there any reason why ChromiumOS' chrome://filebrowse DOM ui page
  couldn't
  be generalized to
  be used for these other directory listing pages?
  It just seems to me that it would be rather redundant handle 3
  separate
  instances of a file browse HTML page (ftp://, file:// and
  chrome://filebrowse) in 3 separate ways.
  Thanks.
  2010/1/5 Evan Martin e...@chromium.org
 
  On Tue, Jan 5, 2010 at 2:44 PM, Glen Murphy g...@chromium.org
  wrote:
   I don't think anyone has any objection to DOMUIifying those pages,
   and
   I don't think it would be a large amount of work. The only reason
   they're not is that there hasn't been a reason to do so.
 
  DOM UI (at least when I last looked) just means that that renderer
  (the page) gets extra privileges necessary for doing special
  browser
  calls, such as access to your browsing history for the History
  implementation.
 
  We went to some effort to keep these sorts of pages distinct from
  network content with the hope of reducing the security surface.  I
  worry changing this for FTP would be going in the wrong direction.
 
  It might make more sense to do something *like* DOM UI but with a
  different API just to keep things distinct.  But then we reencounter
  the same sorts of problems we have with DOM UI, like for example if
  you click a link from an FTP site to an HTML file, how to prevent
  the
  FTP privileges from bleeding into the HTML file.
 
  I feel like Darin is the person who would best know how to address
  this.
   :)
 
 
 
  --
  Pierre.
 
  --
  Chromium Developers mailing list: chromium-dev@googlegroups.com
  View archives, change email options, or unsubscribe:
     http://groups.google.com/group/chromium-dev
 
 

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




 --
 Pierre.


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

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

Re: [chromium-dev] Thread naming

2010-01-04 Thread Dean McNamee
Traceline is a good way to see how this happens.  We generally name
all of the Chrome threads (base::Thread), but the system is allowed to
create threads of its own.  Loads of APIs create threads, along with
the windows worker pool (which we make good use of to help reuse
threads).  For example, wininet can create it's own thread pools, etc.
 I did some work on cutting down the number of threads and thread
creation times.  In specific thread creation can contend the main UI
thread because of holding the loader lock for DLLMain initialization,
etc.

Here is an older example of traceline output:

http://deanm.github.com/misc/traceline/traceline.xml#startup-release.json

You can easily see which threads are created, when, and the call
stacks for what created them by hovering on the lines.

-- dean

On Thu, Dec 31, 2009 at 7:09 PM, Jim Roskind j...@chromium.org wrote:
 I'm pretty sure we name all the threads we can (or at least used to),  I
 *think* the problem is worker threads in a thread pool, which are started up
 and shut down automatically, and aren't named (and don't have message
 loops).
 When I was doing the work to generate the internal page about:tasks, it was
 critical to have names on all the threads (that I could), as the data also
 shows what threads sent and received tasks.
 Jim
 On Thu, Dec 31, 2009 at 1:11 AM, Berend-Jan Wever skyli...@chromium.org
 wrote:

 If you do not care about the way threads are run inside a process in
 Chromium, you can stop reading now.
 Some of our threads are named, while others are not. See below cdb.exe
 output for a renderer process:

 2:020:x86 ~
    1  Id: d98.1588 Suspend: 1 Teb: 7efd8000 Unfrozen
 Chrome_ChildIOThread
 . 20  Id: d98.1440 Suspend: 1 Teb: 7efdb000 Unfrozen Main Thread
   21  Id: d98.10d4 Suspend: 1 Teb: 7ef4d000 Unfrozen
   22  Id: d98.171c Suspend: 1 Teb: 7efd5000 Unfrozen
 2:020:x86 ~21 s
 ntdll32!ZwWaitForMultipleObjects+0x15:
 76fa99fd c21400          ret     14h
 2:021:x86 kp
 ChildEBP RetAddr
 0399fcd4 7702787d ntdll32!ZwWaitForMultipleObjects+0x15
 0399fe68 750feccb ntdll32!TppWaiterpThread+0x328
 0399fe74 76fdd24d kernel32!BaseThreadInitThunk+0xe
 0399feb4 76fdd45f ntdll32!__RtlUserThreadStart+0x23
 0399fecc  ntdll32!_RtlUserThreadStart+0x1b
 2:021:x86 ~22 s
 ntdll32!NtWaitForWorkViaWorkerFactory+0x12:
 76fab5ee c20800          ret     8
 2:022:x86 kp
 ChildEBP RetAddr
 0357f6ec 76f9b927 ntdll32!NtWaitForWorkViaWorkerFactory+0x12
 0357f81c 750feccb ntdll32!TppWorkerThread+0x1f6
 0357f828 76fdd24d kernel32!BaseThreadInitThunk+0xe
 0357f868 76fdd45f ntdll32!__RtlUserThreadStart+0x23
 0357f880  ntdll32!_RtlUserThreadStart+0x1b

 What are these threads and why are they nameless? Did we create these
 threads at all? (They could have been created by plugins/detours/etc. that
 we have no control over.)
 It would be nice if we could name all threads, so you know what you're
 looking at.
 Thanks!
 BJ

 Berend-Jan SkyLined Wever skyli...@google.com

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

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

-- 
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: linux startup regression

2009-09-03 Thread Dean McNamee

I will investigate this today.

On Thu, Sep 3, 2009 at 4:29 AM, James Hawkinsjhawk...@chromium.org wrote:

 No, and it's only invoked during tab dragging.

 On Wed, Sep 2, 2009 at 7:20 PM, Michael Nordmanmicha...@google.com wrote:
 There's is nothing platform specific about r25099, since other platforms
 don't show a hit... probably not it.

 r25112 - use x11_util::GetXWindowStack

 Does that load additional libraries?

 On Wed, Sep 2, 2009 at 6:41 PM, James Hawkins jhawk...@chromium.org wrote:

 Maybe r25099?  I don't know how long it takes between commit time and
 when the results show up in the graph, so this is a rough guess.

 r25099 --
 Plumb request interception into the appcache library for both chrome
 and test_shell.
 ...
 Chrome:
 * Each UserProfile instantiates a ChromeAppCacheService, which is
 derived from an appcache library class.


 On Wed, Sep 2, 2009 at 6:21 PM, Evan Martine...@chromium.org wrote:
 
 
  http://build.chromium.org/buildbot/perf/linux-release-hardy/startup/report.html?history=150
 
  We seem to have lost about 50% around r25132, but the commits around
  there aren't at all suspicious.  :(
  Any guesses?  Maybe Brett's change?
 
  
 

 



 


--~--~-~--~~~---~--~~
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: linux startup regression

2009-09-03 Thread Dean McNamee

Ug, I can't reproduce this on my desktop. If I had to take a guess, I
would guess Brett's gfx::Font change.

TOT:
*RESULT warm: t=
[134.82,133.98,135.04,134.37,134.95,135.01,134.78,134.69,134.55,134.21,134.27,137.12,134.31,134.20,134.56,135.37,135.02,134.68,134.22,134.58,]
ms

r25120:
*RESULT warm: t=
[135.35,134.35,133.96,134.84,134.52,133.69,134.14,134.07,134.42,134.18,133.86,134.13,133.99,134.50,134.10,134.62,134.21,134.55,134.27,133.60,]
ms

On Thu, Sep 3, 2009 at 10:20 AM, Dean McNameede...@chromium.org wrote:
 I will investigate this today.

 On Thu, Sep 3, 2009 at 4:29 AM, James Hawkinsjhawk...@chromium.org wrote:

 No, and it's only invoked during tab dragging.

 On Wed, Sep 2, 2009 at 7:20 PM, Michael Nordmanmicha...@google.com wrote:
 There's is nothing platform specific about r25099, since other platforms
 don't show a hit... probably not it.

 r25112 - use x11_util::GetXWindowStack

 Does that load additional libraries?

 On Wed, Sep 2, 2009 at 6:41 PM, James Hawkins jhawk...@chromium.org wrote:

 Maybe r25099?  I don't know how long it takes between commit time and
 when the results show up in the graph, so this is a rough guess.

 r25099 --
 Plumb request interception into the appcache library for both chrome
 and test_shell.
 ...
 Chrome:
 * Each UserProfile instantiates a ChromeAppCacheService, which is
 derived from an appcache library class.


 On Wed, Sep 2, 2009 at 6:21 PM, Evan Martine...@chromium.org wrote:
 
 
  http://build.chromium.org/buildbot/perf/linux-release-hardy/startup/report.html?history=150
 
  We seem to have lost about 50% around r25132, but the commits around
  there aren't at all suspicious.  :(
  Any guesses?  Maybe Brett's change?
 
  
 

 



 



--~--~-~--~~~---~--~~
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: Major tab cold regression on mac around r24415

2009-08-26 Thread Dean McNamee

Looking at the graphs this would seem to make sense.  All of the tests
except the one using 'typical_history' have regressed.  That's because
Brett checked in the upgraded database for typical_history, but not
for the other themes.  We should just upgrade those and check them in.

On Wed, Aug 26, 2009 at 9:46 AM, Thomas Van Lenten
thoma...@chromium.org wrote:


 On Wed, Aug 26, 2009 at 12:32 PM, Thomas Van Lenten thoma...@chromium.org
 wrote:


 On Wed, Aug 26, 2009 at 12:28 PM, Evan Martin e...@chromium.org wrote:

 PS Every time I want to call it the EPIC CHANGE.

 On Wed, Aug 26, 2009 at 9:27 AM, Evan Martine...@chromium.org wrote:
  Here's a guess: the history file is restored each time the test
  runs, and Brett's epoch change means that we need to re-migrate the
  history file every time we start.
 
  (I don't recall how this test works, but it seems logical to test NTP
  performance you'd want some data that the NTP would make use of...)

 Wouldn't linux show this data also?  or the non theme test also show it?

 I spoke too
 soon: http://build.chromium.org/buildbot/perf/linux-release-hardy/new-tab-ui-cold/report.html?history=150
 looks like linux also sees it.
 TVL


 TVL


 
  On Wed, Aug 26, 2009 at 9:23 AM, Mike Pinkertonpinker...@chromium.org
  wrote:
 
  If you look at
 
 
   http://build.chromium.org/buildbot/perf/mac-release-10.5/new-tab-ui-cold/report.html?history=150
 
  You'll see a pretty big spike in new tab performance between r24415
  and r24419
 
 
   http://build.chromium.org/buildbot/perf/dashboard/ui/changelog.html?url=/trunk/srcmode=htmlrange=24415:24419
 
  Anyone know what's going on? This is a very serious regression and
  there were no Mac-specific changes anywhere in the vicinity that I
  could see. I filed
 
   http://code.google.com/p/chromium/issues/detail?id=20312
 
  to cover the regression.
 
  --
  Mike Pinkerton
  Mac Weenie
  pinker...@google.com
 
  
 
 





 


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



[chromium-dev] Re: Creating a SkBitmap filled with one color

2009-08-26 Thread Dean McNamee

To answer the technical (non-political) part of this question.

Create a SkBitmap which backs to some pixels.  Create a SkCanvas on
top of it.  Call drawPaint or more directly drawColor.

On Wed, Aug 26, 2009 at 4:17 PM, Nico Weber tha...@chromium.org wrote:

 When I talked with Aaron, he said porting the shelf to OS X isn't
 something I should tackle unless I'm _really_ running out of things to
 do, since they're not even sure they're going to keep it. Has this
 changed, or is the situation different on linux for some reason?

 Nico

 On Wed, Aug 26, 2009 at 4:12 PM, Paweł Hajdan
 Jr.phajdan...@chromium.org wrote:
 How do I create a SkBitmap of arbitrary size, filled with color of my choice
 (on Linux)?
 I'd need that for Linux extension shelf, and the Windows code for that seems
 not easily portable to Linux.
 


 


--~--~-~--~~~---~--~~
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: Creating a SkBitmap filled with one color

2009-08-26 Thread Dean McNamee

On Wed, Aug 26, 2009 at 4:14 PM, Elliot Glaysher (Chromium)
e...@chromium.org wrote:

 See what I do in GtkThemeProvider::LoadThemeBitmap:

    SkBitmap* bitmap = new SkBitmap;
    bitmap-setConfig(SkBitmap::kARGB__Config,
                      kToolbarImageWidth, kToolbarImageHeight);
    bitmap-allocPixels();
    bitmap-eraseRGB(color-red  8, color-green  8, color-blue  8);

This code is incorrect, you should divide by 257, not 256.  See the
GDK_COLOR_RGB macro.

    return bitmap;

 -- Elliot

 On Wed, Aug 26, 2009 at 4:12 PM, Paweł Hajdan
 Jr.phajdan...@chromium.org wrote:
 How do I create a SkBitmap of arbitrary size, filled with color of my choice
 (on Linux)?
 I'd need that for Linux extension shelf, and the Windows code for that seems
 not easily portable to Linux.
 


 


--~--~-~--~~~---~--~~
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: Creating a SkBitmap filled with one color

2009-08-26 Thread Dean McNamee

Yes, this can be reformulated easier as

i * 257 = i * 256 + i

and i / 256 will always be zero for i  256.  Anyway, I suppose it
doesn't matter.  The question is what to do for mapping 16-bit back to
8-bit, when it wasn't necessarily originally produced from 8-bit.  I
suppose that dividing by 256 is the right thing to do, sorry about
that.  It just seemed strange to not do the inverse, but yeah, you're
right...

On Wed, Aug 26, 2009 at 5:21 PM, Nico Weber tha...@chromium.org wrote:
 This code is incorrect, you should divide by 257, not 256.  See the
 GDK_COLOR_RGB macro.

 That's not true. GDK_COLOR_RGB multiplies by 257 (= 0x10001) to
 distribute the bits evenly (
 http://www.mindcontrol.org/~hplus/graphics/expand-bits.html ). To get
 back, you can just shift (or, formulated differently, i == (i*257)/256
 for all i  256).


--~--~-~--~~~---~--~~
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: Cross-compiling on ARM

2009-08-24 Thread Dean McNamee

That still requires you to link locally, and I don't think we have any
ARM machines with enough memory to do that.

On Mon, Aug 24, 2009 at 1:53 PM, Scott Hess sh...@chromium.org wrote:

 Would it be possible/reasonable to use distcc plus a farm of
 cross-compiler machines to let you do faster self-hosted builds?  It's
 not the right solution, but in the past I've found it to sometimes
 be an easier path to take in the short term while you're working on
 fixing all the little problems.

 -scott


 On Fri, Aug 21, 2009 at 12:54 PM, Antoine Labourpi...@chromium.org wrote:

 There's growing interest from several parties in getting Chrome to
 cross-compile onto linux/ARM. Let's make sure everyone is on the same
 page so that we don't duplicate efforts.
 I understand that Joel Stanley, Dean McNamee and Lei Zhang have
 already been doing a lot of work towards that. There's a wiki page
 there: http://code.google.com/p/chromium/wiki/LinuxChromiumArm

 I've identified a few missing pieces to get a full version of chrome -
 there may be others. They are mostly build infrastructure issues:
 - v8 snapshotting needs to be disabled currently, we'd like to enable
 it. That means executing mksnapshot as a target executable, either
 through qemu or directly on device, i.e. the infrastructure to run a
 target program.
 - Gyp uses pkg-config to find includes/lib dependencies, i.e. it's
 going to look at the host for them. If your target distribution
 matches your host maybe you're fine, but it may not work at all, so
 it'd would be good to extract that and get a way to specify the
 dependencies explicitly.
 - The chrome os build relies on the protobuf compiler. The current
 build system builds it as a target executable, so we either need to
 run in qemu / on device it as above, or change the build system to
 understand target vs host executables.

 I wanted to double check if anyone was working on any of that, or if
 anyone has good ideas about how to achieve each of them. Please speak
 up !

 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] Re: Omnibox highlighting and PRIMARY selection concerns

2009-08-21 Thread Dean McNamee

A bug tracker is the right place to have this discussion, and I see
you've filed 19508 which was closed WontFix.  I appreciate your
opinion and dedication to Linux.  We have plenty of Linux users who
have gotten adjusted to this behavior and prefer it.  There is no
clear answer, which is why there has been so much discussion.  I am
not going to try to repeat all of that here.  You can also read bug
13561, which was a previous round of something similar.

Basically you have to stop thinking of the Omnibox as an already
existing GTK widget, and think of it as a new widget designed
specifically for optimizing input of URLs.  That means there is no
conventions for this new type of widget.  GtkEntry / etc were
optimized for clicking a text box and editing / inserting text.  The
Omnibox widget is optimized for clicking and replacing text.  We
believe this behavior makes sense for how people input URLs.

On Thu, Aug 20, 2009 at 11:38 PM, alenpeacock alenlpeac...@gmail.com wrote:

 On Aug 20, 5:40 pm, Dean McNamee de...@chromium.org wrote:
 This thread is massive.  Having been the one who wrote the majority of
 the Omnibox code on Linux, I can promise you that this debate has
 already happened about 15 times previously.  I'm not sure there is any
 more information here, we've already decided how we want things to
 work.

 Doesn't the fact that this debate has happened 15 times already raise
 a red flag for everyone? I mean, to me, that smells like - as they say
 on the internets - you're doing it wrong.

 I hate that we're distracting you guys once again on an issue that you
 all thought was settled, but I can also guarantee that you'll see it
 another 115 times, until it starts to conform with conventions. And
 I'd really hate for us boneheaded non-windows users to keep wasting
 your attention and deflecting your energy when you could be using it
 instead to take care of all those other things that I'm sure are on
 your plates. We're on your side, we really are! I don't want to go
 back to Firefox.

 Please reconsider.
 


--~--~-~--~~~---~--~~
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: Omnibox highlighting and PRIMARY selection concerns

2009-08-21 Thread Dean McNamee

The Omnibox widget code is already very involved, and I don't think it
is a good idea to add any more complexity or additional modes.

Chromium of course is open source, which is a very hidden form of configuration.

Good luck,
-- dean

On Fri, Aug 21, 2009 at 8:57 AM, JT Olds jto...@xnet5.com wrote:
 Can we please make it configurable? I hate the click once select all
 thing. It really drives me nuts. Chromium is so nice otherwise.

 I don't care how hidden of a configuration parameter it is, just so
 long as I can change it.

 On Fri, Aug 21, 2009 at 9:12 AM, Dean McNameede...@chromium.org wrote:

 A bug tracker is the right place to have this discussion, and I see
 you've filed 19508 which was closed WontFix.  I appreciate your
 opinion and dedication to Linux.  We have plenty of Linux users who
 have gotten adjusted to this behavior and prefer it.  There is no
 clear answer, which is why there has been so much discussion.  I am
 not going to try to repeat all of that here.  You can also read bug
 13561, which was a previous round of something similar.

 Basically you have to stop thinking of the Omnibox as an already
 existing GTK widget, and think of it as a new widget designed
 specifically for optimizing input of URLs.  That means there is no
 conventions for this new type of widget.  GtkEntry / etc were
 optimized for clicking a text box and editing / inserting text.  The
 Omnibox widget is optimized for clicking and replacing text.  We
 believe this behavior makes sense for how people input URLs.

 On Thu, Aug 20, 2009 at 11:38 PM, alenpeacock alenlpeac...@gmail.com wrote:

 On Aug 20, 5:40 pm, Dean McNamee de...@chromium.org wrote:
 This thread is massive.  Having been the one who wrote the majority of
 the Omnibox code on Linux, I can promise you that this debate has
 already happened about 15 times previously.  I'm not sure there is any
 more information here, we've already decided how we want things to
 work.

 Doesn't the fact that this debate has happened 15 times already raise
 a red flag for everyone? I mean, to me, that smells like - as they say
 on the internets - you're doing it wrong.

 I hate that we're distracting you guys once again on an issue that you
 all thought was settled, but I can also guarantee that you'll see it
 another 115 times, until it starts to conform with conventions. And
 I'd really hate for us boneheaded non-windows users to keep wasting
 your attention and deflecting your energy when you could be using it
 instead to take care of all those other things that I'm sure are on
 your plates. We're on your side, we really are! I don't want to go
 back to Firefox.

 Please reconsider.
 


 



--~--~-~--~~~---~--~~
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: Lock the Render process in chromium

2009-08-21 Thread Dean McNamee

Joel had some ideas about doing something like thing for power saving.

On Thu, Aug 20, 2009 at 12:51 PM, Adam Langley a...@chromium.org wrote:

 On Thu, Aug 20, 2009 at 9:38 AM, n179911n179...@gmail.com wrote:
 I don't want the renderer process to die. I just want it 'locked' so
 that i can dump out information of the page (DOM, CSS) of the page.
 And I want the page unchange during the information dumping.

 SIGSTOP doesn't kill the process, it just, well, stops it. (SIGCONT to
 start it again.)


 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: Cross-compiling on ARM

2009-08-21 Thread Dean McNamee

On Fri, Aug 21, 2009 at 1:43 PM, Antoine Labour pi...@google.com wrote:

 There's growing interest from several parties in getting Chrome to
 cross-compile onto linux/ARM. Let's make sure everyone is on the same
 page so that we don't duplicate efforts.
 I understand that Joel Stanley, Dean McNamee and Lei Zhang have
 already been doing a lot of work towards that. There's a wiki page
 there: http://code.google.com/p/chromium/wiki/LinuxChromiumArm

 I've identified a few missing pieces to get a full version of chrome -
 there may be others. They are mostly build infrastructure issues:
 - v8 snapshotting needs to be disabled currently, we'd like to enable
 it. That means executing mksnapshot as a target executable, either
 through qemu or directly on device, i.e. the infrastructure to run a
 target program.

If you decide you do want snapshotting on arm (it has some down
sides), I think there is a pretty easy way to go about this.
Basically making the mksnapshot target pause and wait for you to hit
enter.  Then you can run your script or do whatever to run mksnapshot
on the right machine, and bring the output back.  I would not try to
make GYP any more intelligent than this (besides maybe running an
arbitrary script), since how you're going to run mksnapshot and move
the data around is going to vary greatly depending on your setup.  We
could easily just add a gyp variable like v8_mksnaphot_command, and
then you could replace that with whatever script you want.

 - Gyp uses pkg-config to find includes/lib dependencies, i.e. it's
 going to look at the host for them. If your target distribution
 matches your host maybe you're fine, but it may not work at all, so
 it'd would be good to extract that and get a way to specify the
 dependencies explicitly.

I also don't think we should modify our GYP build for this.  You can
set PKG_CONFIG_PATH, etc, to have pkg-config use a different set of pc
files.  You can just create these files for whatever target you are
building, and point pkg-config to use them instead.

 - The chrome os build relies on the protobuf compiler. The current
 build system builds it as a target executable, so we either need to
 run in qemu / on device it as above, or change the build system to
 understand target vs host executables.

 I wanted to double check if anyone was working on any of that, or if
 anyone has good ideas about how to achieve each of them. Please speak
 up !

 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] Re: Cross-compiling on ARM

2009-08-21 Thread Dean McNamee

On Fri, Aug 21, 2009 at 2:58 PM, Antoine Labour pi...@google.com wrote:

 On Fri, Aug 21, 2009 at 2:45 PM, Erik Corryerik.co...@gmail.com wrote:
 2009/8/21 Antoine Labour pi...@google.com:

 There's growing interest from several parties in getting Chrome to
 cross-compile onto linux/ARM. Let's make sure everyone is on the same
 page so that we don't duplicate efforts.
 I understand that Joel Stanley, Dean McNamee and Lei Zhang have
 already been doing a lot of work towards that. There's a wiki page
 there: http://code.google.com/p/chromium/wiki/LinuxChromiumArm

 I've identified a few missing pieces to get a full version of chrome -
 there may be others. They are mostly build infrastructure issues:
 - v8 snapshotting needs to be disabled currently, we'd like to enable
 it. That means executing mksnapshot as a target executable, either
 through qemu or directly on device, i.e. the infrastructure to run a
 target program.

 Actually the armulator (ARM simulator in V8) can be used to create ARM
 snapshots without running anything on the target platform.  The C++
 work is done for this, but the build file work isn't.  What is needed
 is to build mksnapshot.cc with the armulator.  This is done with
 simulator=arm in the scons build.  I don't know how it's done with
 gyp.  When the snapshot.cc file has been generated by mksnapshot you
 need to rebuild V8 from scratch, this time with the cross compiler.
 With the scons build that would be (after saving snapshot.cc and
 blowing away the other generated files) with snapshot=nobuild arch=arm
 wordsize=32.  You need to make sure the CXX, AR, RANLIB and CC
 environment variables point to your cross toolchain.

 As I say, the build file work for this is not done yet.  I am sure
 that it would be worth doing.  The snapshot support makes startup of
 the VM faster at the cost of a moderate increase in size (moderate for
 a system capable of running Chromium).  Since Chromium starts the VM
 on every new tab that is worth doing.  On the other hand the browser
 is perfectly usable without this optimization so it is no show-stopper
 for the ARM version.

 That is very cool to know - I was afraid to ask :). It sounds like
 with some work on gyp, we could entirely cross-compile chrome, full
 featured.

This sounds extremely difficult to do with gyp.  Another thought, what
about using qemu user emulation to run mksnapshot?


 Antoine


 - Gyp uses pkg-config to find includes/lib dependencies, i.e. it's
 going to look at the host for them. If your target distribution
 matches your host maybe you're fine, but it may not work at all, so
 it'd would be good to extract that and get a way to specify the
 dependencies explicitly.
 - The chrome os build relies on the protobuf compiler. The current
 build system builds it as a target executable, so we either need to
 run in qemu / on device it as above, or change the build system to
 understand target vs host executables.

 I wanted to double check if anyone was working on any of that, or if
 anyone has good ideas about how to achieve each of them. Please speak
 up !

 Antoine

 




 --
 Erik Corry, Software Engineer
 Google Denmark ApS.  CVR nr. 28 86 69 84
 c/o Philip  Partners, 7 Vognmagergade, P.O. Box 2227, DK-1018
 Copenhagen K, Denmark.


 


--~--~-~--~~~---~--~~
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: Omnibox highlighting and PRIMARY selection concerns

2009-08-21 Thread Dean McNamee

Note: Firefox on OSX selects all on single click.  So there isn't a
clear answer on OSX either.

On Fri, Aug 21, 2009 at 2:52 PM, Dean McNamee de...@chromium.org wrote:
 On Fri, Aug 21, 2009 at 12:18 PM, alenpeacock alenlpeac...@gmail.com wrote:

 On Aug 21, 10:17 am, Dean McNamee de...@chromium.org wrote:
 The Omnibox widget code is already very involved, and I don't think it
 is a good idea to add any more complexity or additional modes.

  ...but, wait a sec, Chromium on OSX seems to do exactly the right
 thing (for both Mac and Linux). Wouldn't unifying the logic behind
 these conventions for both of these platforms maybe simplify existing
 complexity?

 These are completely separate implementations, so no, there wouldn't
 be any simplification.

 The Omnibox work on OSX is not nearly as complete as Linux or Windows.
  I am not sure they've yet had the discussion about how this should
 work.

 



--~--~-~--~~~---~--~~
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: Cross-compiling on ARM

2009-08-21 Thread Dean McNamee

On Fri, Aug 21, 2009 at 2:34 PM, Lei Zhang thes...@chromium.org wrote:
 On Fri, Aug 21, 2009 at 2:25 PM, Dean McNameede...@chromium.org wrote:

 On Fri, Aug 21, 2009 at 1:43 PM, Antoine Labour pi...@google.com wrote:
 - Gyp uses pkg-config to find includes/lib dependencies, i.e. it's
 going to look at the host for them. If your target distribution
 matches your host maybe you're fine, but it may not work at all, so
 it'd would be good to extract that and get a way to specify the
 dependencies explicitly.

 I also don't think we should modify our GYP build for this.  You can
 set PKG_CONFIG_PATH, etc, to have pkg-config use a different set of pc
 files.  You can just create these files for whatever target you are
 building, and point pkg-config to use them instead.

 I don't remember having to fight pkg-config. Maybe my host/target
 (Ubuntu Hardy x86/Debian Lenny ARM) matched closely enough that it
 didn't matter.

 Thanks for writing the wiki page. I should've done that a long time
 ago. I dumped the bits I remember on the wiki page.

(Joel wrote the wiki page, thanks Joel!)



--~--~-~--~~~---~--~~
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: Omnibox highlighting and PRIMARY selection concerns

2009-08-21 Thread Dean McNamee

On Fri, Aug 21, 2009 at 12:18 PM, alenpeacock alenlpeac...@gmail.com wrote:

 On Aug 21, 10:17 am, Dean McNamee de...@chromium.org wrote:
 The Omnibox widget code is already very involved, and I don't think it
 is a good idea to add any more complexity or additional modes.

  ...but, wait a sec, Chromium on OSX seems to do exactly the right
 thing (for both Mac and Linux). Wouldn't unifying the logic behind
 these conventions for both of these platforms maybe simplify existing
 complexity?

These are completely separate implementations, so no, there wouldn't
be any simplification.

The Omnibox work on OSX is not nearly as complete as Linux or Windows.
 I am not sure they've yet had the discussion about how this should
work.

 


--~--~-~--~~~---~--~~
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: Omnibox highlighting and PRIMARY selection concerns

2009-08-21 Thread Dean McNamee

On Fri, Aug 21, 2009 at 4:01 PM, Stuart Morgan
stuartmor...@chromium.org wrote:
 On Fri, Aug 21, 2009 at 3:36 PM, Dean McNameede...@chromium.org wrote:
 Note: Firefox on OSX selects all on single click.  So there isn't a
 clear answer on OSX either.

 Firefox has historically tended to favor do what Firefox does on
 other platforms over follow the platform standard. In other cases,
 it does the wrong thing on the Mac simply because the behavior was
 written on Windows as cross-platform code and nobody has gotten around
 to fixing it for the Mac yet--text editing in particular has many
 examples of this.

 Firefox does it differently should never be an argument that
 something isn't an established standard on the Mac.

My argument was just that I know of only 2 frequently used URL bars in
browser.  Safari, and Firefox.  They differ in their behavior.  I
don't know how you have an established standard when you only have a
few reference points, and one of the major ones doesn't follow it.
How/where is it standardized?


 -Stuart


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



[chromium-dev] Chromium Linux 64-bit

2009-08-20 Thread Dean McNamee

The v8 team did some amazing work this quarter building a working
64-bit port.  After a handful of changes on the Chromium side, I've
had Chromium Linux building on 64-bit for the last few weeks.  I
believe mmoss or tony is going to get a buildbot running, and working
on packaging.

You can follow the build instructions at:

http://code.google.com/p/chromium/wiki/LinuxChromium64

It also looks like FTA has updated his daily builds so that the 64-bit
packages are true 64-bit:

https://launchpad.net/~chromium-daily/+archive/ppa

Enjoy them big pointers,
-- dean

--~--~-~--~~~---~--~~
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 Linux 64-bit

2009-08-20 Thread Dean McNamee

That is just a utility program, no?

On Thu, Aug 20, 2009 at 12:06 PM, Michael Moss mm...@chromium.org wrote:
 Anybody working on 64-bit breakpad yet?

 src/breakpad/linux/minidump-2-core.cc:303:2: error: #error This code
 has not been ported to your platform yet

 I guess worst case, I can turn this off for official 64-bit builds right now.

 Michael

 On Thu, Aug 20, 2009 at 8:44 AM, Dean McNameede...@chromium.org wrote:

 The v8 team did some amazing work this quarter building a working
 64-bit port.  After a handful of changes on the Chromium side, I've
 had Chromium Linux building on 64-bit for the last few weeks.  I
 believe mmoss or tony is going to get a buildbot running, and working
 on packaging.

 You can follow the build instructions at:

 http://code.google.com/p/chromium/wiki/LinuxChromium64

 It also looks like FTA has updated his daily builds so that the 64-bit
 packages are true 64-bit:

 https://launchpad.net/~chromium-daily/+archive/ppa

 Enjoy them big pointers,
 -- dean

 



--~--~-~--~~~---~--~~
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: Omnibox highlighting and PRIMARY selection concerns

2009-08-20 Thread Dean McNamee

This thread is massive.  Having been the one who wrote the majority of
the Omnibox code on Linux, I can promise you that this debate has
already happened about 15 times previously.  I'm not sure there is any
more information here, we've already decided how we want things to
work.

On Thu, Aug 20, 2009 at 4:11 PM, Amanda Walker ama...@chromium.org wrote:

 Oops, didn't see how long the thread was :-).

 On Thu, Aug 20, 2009 at 7:10 PM, Amanda Walkerama...@chromium.org wrote:
 Safari does not.  Single click sets the text caret where you click.

 On Thu, Aug 20, 2009 at 4:56 PM, Peter Kastingpkast...@chromium.org wrote:
 On Thu, Aug 20, 2009 at 1:36 PM, Adam Barth aba...@chromium.org wrote:

 On Thu, Aug 20, 2009 at 12:07 PM, JT  Oldsjto...@xnet5.com wrote:
  1) on a single click to the omnibox, the cursor should be placed. The
  contents of the omnibox should not be selected.

 We violate this convention on Windows too.

 Yep, and so does every other browser in the universe.  There's a convention
 that a single click in a browser's address bar selects all, so to speak.
 PK
 




 --
 Portability is generally the result of advance planning rather than trench
 warfare involving #ifdef -- Henry Spencer (1992)




 --
 Portability is generally the result of advance planning rather than trench
 warfare involving #ifdef -- Henry Spencer (1992)

 


--~--~-~--~~~---~--~~
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: FreeBSD port and ifdefs

2009-08-19 Thread Dean McNamee

we could go with like _nix or something, and consider OSX to not be
unix (which is kinda isn't).  Really, in theory, we should have more
granular ifdefs ./configure style, but that is also really a pain in
my opinion.

On Wed, Aug 19, 2009 at 1:00 PM, Adam Langley a...@chromium.org wrote:

 On Wed, Aug 19, 2009 at 11:43 AM, Ben Laurieb...@chromium.org wrote:
 #if defined(OS_LINUX) || defined(OS_FREEBSD)
 and this is ugly.

 It doesn't deeply worry me, except when NetBSD, OpenBSD come along.
 Could you use OS_BSD instead? I know that some may assume that OS X
 would be included, but I don't have a better name.


 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: FreeBSD port and ifdefs

2009-08-19 Thread Dean McNamee

I kinda feel like this is one of those things you can try hard to
premeditate, but in the end you'll just have to deal with it being
ugly for a while and hope it eventually converges to something better.
 Sort of a non-answer, but I'd be happy to see this running on a BSD
first, and then we can argue about the patch.

I just went through some work trying to build it on OpenBSD (promised
a friend I'd try).  There are a lot of little things we need to do
before we even have this debated.  Pretty much everything in
third_party (icu, libevent), gmock, etc.  Some of these will probably
require changes upstream.

On Wed, Aug 19, 2009 at 1:53 PM, Amanda Walker ama...@chromium.org wrote:

 On Wed, Aug 19, 2009 at 4:14 PM, Evan Martine...@chromium.org wrote:
 It seems the configurations we'll see most frequently in code are:
 1) POSIX (basically, non-Windows -- we have this already)
 2) POSIX minus Mac (since Mac has the most extensions, especially at
 the GUI layer)
 3) POSIX minus Linux (aka everything BSD-derived, more or less)

 Dean proposes a define for #2, agl proposes a define for #3.  I think
 it'd be nice to keep the defines down if possible.

 I strongly dislike a #define for #2.  I think that having defines for
 particular combinations of platforms is the wrong way to denote the
 absence or presence of a particular API or feature.  Rather, I would
 prefer to leave the platform flags as general as possible, and then
 have features for particular differences within a major platform (this
 also parallels how webkit's feature controls work, how we're denoting
 usage of GTK, etc.).

 So, for example, MacOS X might be OS_POSIX and USES_MACH_THREADS or
 something.  OS_POSIX_BUT_NOT_MAC seems like the wrong direction.

 --Amanda

 


--~--~-~--~~~---~--~~
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: Halting JS execution in V8?

2009-08-12 Thread Dean McNamee

Mads is working on something for this.

On Wed, Aug 12, 2009 at 12:58 PM, Drew Wilsonatwil...@chromium.org wrote:
 Hi all,
 It appears from looking at the worker code that if worker script enters into
 an infinite loop, the associated worker thread/process will never exit. The
 JavaScriptCore implementation uses the JSC timeoutChecker mechanism to
 halt script execution. Is there an analog we can use for V8?
 I didn't see anything that looked particularly likely from a quick browse
 through the v8 headers, and I also didn't see anything similar for page
 script in V8Proxy.cpp, so I'm obviously missing something since page script
 handles infinite loops gracefully.
 -atw
 


--~--~-~--~~~---~--~~
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: Allocator Choice

2009-08-11 Thread Dean McNamee

Do we have numbers on how the 4 allocates compare on those tests (page
cycler, etc)?

On Tue, Aug 11, 2009 at 8:25 PM, Mike Belshembel...@google.com wrote:
 In an effort to make it easier to test debugging heaps and allocators, I
 just landed a changelist which makes our allocators switchable at runtime.
  Unlike Obama's plan for healthcare, this CL is about giving you more
 choice.
 From an environment variable, you can now switch between 4 different
 allocators.
   set CHROME_ALLOCATOR=tcmalloc       // default - use TC Malloc
   set CHROME_ALLOCATOR=jemalloc       // use JEMalloc, the allocator also
 used in firefox
   set CHROME_ALLOCATOR=winheap       // use the built in windows heap
   set CHROME_ALLOCATOR=winlfh          // use the low-fragmentation windows
 heap

 This change also contains a fix to tcmalloc to more aggressively return
 pages (in other words, actually return them sometimes).  Without this fix,
 Chrome grows but doesn't shrink.  As a result, this change *DOES* have a
 negative performance impact on chrome (we're now returning pages fairly
 aggressively)
 Good news:
   - Our memory test shows a 4% drop (not terribly significant)

  http://build.chromium.org/buildbot/perf/vista-release-dual-core/memory/report.html?history=150graph=commit_charge
 Neutral news:
   - The Moz page cycler shows no change:

  http://build.chromium.org/buildbot/perf/vista-release-dual-core/moz/report.html?history=150
 Bad news
   - The JS page cycler shows a 3% drop.

  http://build.chromium.org/buildbot/perf/xp-release-dual-core/morejs/report.html?history=150
 I'm working on this.
 Let me know if you have problems or feedback.  Also, if you do play around
 with the allocator choices, let me know your experience.
 Mike

 


--~--~-~--~~~---~--~~
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: new hunspell has tons of valgrind warnings... revert?

2009-08-03 Thread Dean McNamee

I've never seen valgrind have problems with memory mapped files.

On Mon, Aug 3, 2009 at 1:14 AM, Brett Wilsonbre...@chromium.org wrote:

 On Sat, Aug 1, 2009 at 4:34 PM, Dan Kegeld...@kegel.com wrote:
 I suppose you could try running the hunspell test suite itself
 under valgrind.  Their README tells how to do it, but
 when I tried, I couldn't get it to work.  (Wonder if that
 means they haven't run it, either?)

 Hi Dan,

 Purify has some problems with tracking memory that the OS memory maps,
 and it ends up giving uninitialized memory reads for any 0xCCs that
 the OS memory maps (since it doesn't see the write).

 Does Valgrind have a similar problem? Most of the data is memory
 mapped. It seems unlikely to me given we didn't have this problem
 before, but it's worth checking.

 My main concern is: who is working on this? It's OK like this for a
 couple of days I guess, but this seems like a potentially serious
 problem we don't want to file a bug and get to it later. It also
 seems like Mohammed will need help, and I'll be out part of next week
 (still figuring out the days). If we can't fond somebody to look at
 this soon, we should probably back out until there is somebody.

 Brett

 


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



[chromium-dev] Re: FYI: Upcoming O3D integration changes.

2009-07-23 Thread Dean McNamee

Any idea on how much this increase the size of chrome.dll?

On Wed, Jul 22, 2009 at 9:51 PM, Nicolas Sylvainnsylv...@chromium.org wrote:


 On Wed, Jul 22, 2009 at 11:47 AM, Greg Spencer gspen...@google.com wrote:


 On Wed, Jul 22, 2009 at 11:27 AM, Nicolas Sylvain nsylv...@chromium.org
 wrote:

   src/third_party/nixysa/files:

 why in a subdir called files?

 A leftover from converting from p4/scons -- I'll remove it.

   # NACL has to be in this weird directory because it looks for
   # googleclient two levels above it.
   src/third_party/native_client/googleclient/native_client:

 Looks like they should change their code to make it work without assuming
 all these directories.
 and this code is already fetched in src/native_client, we don't want it
 twice.

 Yes, that just happened recently -- I'll try to switch to using their new
 GYP build.

 For those who are curious :
 $ du -h --max-depth=1 .
 4.1M    ./gflags
 34M     ./native_client
 1.3M    ./nixysa
 251K    ./npapi
 2.1M    ./ply-3.1
 24M     ./vectormath
 64M     .

 And the additional native_client will disappear, so more like 30M.  (and
 these numbers include all the .svn dirs, so the real code is half that).
 The docs in the vectormath library are 17M, so we could probably delete
 those from the repo if size is an issue, and make it 13M total.

 That would be great!
 Thanks
 Nicolas

 -Greg.


 


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



[chromium-dev] Re: Proposal for adding ChangeLog files to Chromium

2009-07-22 Thread Dean McNamee

-100 million to changelogs.

On Wed, Jul 22, 2009 at 8:28 AM, Anthony LaForgelafo...@google.com wrote:
 It also strikes me that we'd have have trouble filtering out reverts using
 the RELEASE_NOTE tag.  Since the original change with the RELEASE_NOTE tag
 and the reverted change would be in different revisions I'm not sure a
 simple grep would suffice.
 Kind Regards,

 Anthony Laforge
 Technical Program Manager
 Mountain View, CA


 On Tue, Jul 21, 2009 at 11:08 PM, Anthony LaForge lafo...@google.com
 wrote:

 The main advantage that I could see for a file would be that I could point
 people to a single file (at any given revision) which could tell then the
 exact state of feature work and history.  It seems to me that the
 RELEASE_NOTE tag would be more cumbersome.
 Kind Regards,

 Anthony Laforge
 Technical Program Manager
 Mountain View, CA


 On Tue, Jul 21, 2009 at 10:27 PM, Evan Martin e...@chromium.org wrote:

 On Tue, Jul 21, 2009 at 10:22 PM, Adam Langleya...@chromium.org wrote:
 
  On Tue, Jul 21, 2009 at 9:37 PM, Anthony LaForgelafo...@google.com
  wrote:
  In order to make it easier for the community to see the changes are
  going on
  inside Chromium I'd like to propose that we add one or more ChangeLog
  files
  into our code base.  The proposed usage would go something like this:
 
  I'm not saying anything that Jeremy and Adam haven't already said,
  just reinforcing their point in case there's any question.
 
  What you want is `git log | grep RELEASE_NOTE`

 git log --grep=RELEASE_NOTE
 will show the full log entries that match that text.

 PS: I've gotta be 100% on responding to threads that mention git, huh.



 


--~--~-~--~~~---~--~~
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: Mozilla design challenge

2009-07-21 Thread Dean McNamee

I feel like people are using tabs as a replacement for a good history
system.  At least in all current browser implementations, tabs are
running.  Even if we can make the UI scale to 1000 tabs, the 500
flash instances that are likely running aren't really going to
perform.  The making tab performance scale is a separate technical
issue that will hopefully also improve.

Looking at a lot of these design videos, they looked more like good
ideas to me for history navigation than tab navigation.  If history
was good, I think people wouldn't be so worried about losing
something by closing a tab.  Having had bad history systems for so
many years, people are now trained to keep tabs open if they ever
might want to look at that page again in the future :\

On Sat, Jul 18, 2009 at 1:16 AM, Peter Kastingpkast...@google.com wrote:
 http://design-challenge.mozilla.com/summer09/
 The results of the Reinventing Tabs in the Browser challenge have been
 announced.
 Collapsible Tab Groups includes among others some things I've proposed,
 including grouping and collapsing groups.
 Favitabs reminds me of some old brainstorming ideas from pamg about
 converting certain tabs into favicon buttons.
 Folks considering the future of tabs (e.g. Ben, Glen, Scott) might do well
 to take a look at some of these.
 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: FYI canvas is hosed

2009-07-15 Thread Dean McNamee

If anyone out there from Mozilla is reading, or someone knows where to
redirect this bug, that would be really helpful:

https://bugzilla.mozilla.org/show_bug.cgi?id=504301

Thanks

On Tue, Jul 14, 2009 at 8:23 PM, Dean McNameede...@chromium.org wrote:
 My point was the behavior before the patch was wrong.  What they did
 now is closer, but still wrong.

 On Tue, Jul 14, 2009 at 8:22 PM, Peter Kastingpkast...@chromium.org wrote:
 On Tue, Jul 14, 2009 at 11:15 AM, Dean McNamee de...@chromium.org wrote:

 We weren't spec compliant:

 http://dev.w3.org/html5/spec/Overview.html

 The lineTo(x, y) method must do nothing if the context has no subpaths.

 Isn't that what I just said?  That the current behavior doesn't match the
 spec?
 I still don't understand what's going on or what chromium-dev should do
 about 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] FYI canvas is hosed

2009-07-14 Thread Dean McNamee

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

-- dean

--~--~-~--~~~---~--~~
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: FYI canvas is hosed

2009-07-14 Thread Dean McNamee

We weren't spec compliant:

http://dev.w3.org/html5/spec/Overview.html

The lineTo(x, y) method must do nothing if the context has no subpaths.

On Tue, Jul 14, 2009 at 8:13 PM, Peter Kastingpkast...@chromium.org wrote:
 On Tue, Jul 14, 2009 at 3:11 AM, Dean McNamee de...@chromium.org wrote:

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

 Maybe the spec needs to change?  It seems like the patch moved away from
 spec-compliant behavior to match Gecko.
 I'm not sure what chromium-dev can do for you on this issue.  Is there some
 way we can help?
 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: FYI canvas is hosed

2009-07-14 Thread Dean McNamee

My point was the behavior before the patch was wrong.  What they did
now is closer, but still wrong.

On Tue, Jul 14, 2009 at 8:22 PM, Peter Kastingpkast...@chromium.org wrote:
 On Tue, Jul 14, 2009 at 11:15 AM, Dean McNamee de...@chromium.org wrote:

 We weren't spec compliant:

 http://dev.w3.org/html5/spec/Overview.html

 The lineTo(x, y) method must do nothing if the context has no subpaths.

 Isn't that what I just said?  That the current behavior doesn't match the
 spec?
 I still don't understand what's going on or what chromium-dev should do
 about 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: Reviewers

2009-07-08 Thread Dean McNamee

I got it.

Thanks

On Wed, Jul 8, 2009 at 12:49 AM, Thiago Farinathiago.far...@gmail.com wrote:

 Lei can you review this patch for me?
 http://codereview.chromium.org/155078

 On Jul 6, 11:56 pm, Lei Zhang thes...@chromium.org wrote:
 You didn't give enough context. It'll be more helpful if you put links
 to the patches you want reviewed.



 On Mon, Jul 6, 2009 at 7:47 PM, Thiago Farinathiago.far...@gmail.com wrote:

  When I don't know who can review some patch for me what I have to do?

  Currently I have 3 patchs waiting for review, but I haven't received
  any feedback or contact until now.

  What I have to do in this cases?
 


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



[chromium-dev] Who wants to fix a build warning?

2009-07-08 Thread Dean McNamee

  CXX /.../out/Debug/obj/webkit/glue/temporary_glue.o
In file included from ./base/timer.h:49,
 from ./webkit/glue/resource_fetcher.h:19,
 from ./webkit/glue/image_resource_fetcher.h:9,
 from ./webkit/glue/webview_impl.h:16,
 from webkit/glue/temporary_glue.cc:8:
./base/logging.h:226:1: warning: LOG redefined
In file included from third_party/WebKit/JavaScriptCore/wtf/RefCounted.h:24,
 from third_party/WebKit/WebCore/history/BackForwardList.h:31,
 from ./webkit/glue/back_forward_list_client_impl.h:8,
 from ./webkit/glue/webview_impl.h:15,
 from webkit/glue/temporary_glue.cc:8:
third_party/WebKit/JavaScriptCore/wtf/Assertions.h:230:1: warning:
this is the location of the previous definition

Thanks
-- dean

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



[chromium-dev] Re: what's difference between master.chromium and master.chromium.fyi?

2009-07-06 Thread Dean McNamee

2009/7/6 Rosail Davis sitan2...@sina.com:
 From the main waterfall, the experimental link takes to you the fyi one.
The fyi waterfall lists the bots that we run, but don't close the tree for.

 The bots on main waterfall are critical bots, the bots on fyi waterfall are
 not so importan, right?

 Well, how do you judge whether a bot should be included in main or fyi? Can
 you give me an example?

For example, when we were just starting the Linux port, we wanted to
know what the status was, but it was often in a state of being broken,
not building, crashing tests, etc.  We wanted to know this, but we
didn't want normal developers to worry about it, or to close the tree
over it.  Most of things in FYI eventually make it to the main
dashboard after they become stable enough, etc.

Some things that are less critical for every change list, like code
coverage, will probably never make the main waterfall.

 


--~--~-~--~~~---~--~~
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: memory leak in the jpeg_codec.cc

2009-07-06 Thread Dean McNamee

I didn't either at first, and then Lei pointed out it's using
set/longjmp.  Gnarly.

On Mon, Jul 6, 2009 at 4:26 PM, Evan Martine...@chromium.org wrote:

 I don't understand this bug report.  Where is the code path that
 allocates memory but doesn't free it?  You just wrote if error
 happens in libjpeg but that is not clear.

 On Mon, Jul 6, 2009 at 1:50 AM, runtimerun_t...@tut.by wrote:

 I sent a bug report
 http://code.google.com/p/chromium/issues/detail?id=15990
 I don't know I did it correct or not.

 Lei Zhang wrote:
 It probably needs to be converted into a scoped_array like in
 JPEGCodec::Decode. Can you file a bug for this on http://crbug.com/ ?

 On Thu, Jul 2, 2009 at 5:59 AM, runtimerun_t...@tut.by wrote:
 
  Hi
  There is memory leak in the module jpeg_codec.cc, member function
 
  bool JPEGCodec::Encode(const unsigned char* input, ColorFormat format,
                        int w, int h, int row_byte_width,
                        int quality, std::vectorunsigned char*
  output);
 
  code
 
     // output row after converting
     unsigned char* row = new unsigned char[w * 3];
 
     while (cinfo.next_scanline  cinfo.image_height) {
       converter(input[cinfo.next_scanline * row_byte_width], w, row);
       jpeg_write_scanlines(cinfo, row, 1);
     }
     delete[] row;
 
  The allocated in row pointer memory will not be released if error
  happens in libjpeg.
 
  
 
 


 


--~--~-~--~~~---~--~~
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: Help with logging in Linux.

2009-07-06 Thread Dean McNamee

If it detaches from the terminal this probably means you have
another instance of Chromium already running.  We check the profile
lock on startup, and if there is already a running process holding
that lock, we message it to create a new window.

This might not be it, but it kinda sounds like it.  Otherwise I would
debug / strace / etc to figure out what's going on.

On Mon, Jul 6, 2009 at 6:43 AM, Anandakmis...@gmail.com wrote:

 Hi all,

 I'm working on one of the bugs in chrome and the thing that's halted
 my progress is that I can't get logging to work on Linux. I build
 chrome in Debug mode, but when I launch it (with --log-level=0), it
 spits out a few log message and then detaches from the terminal. I get
 no further logging despite littering my code with LOG(INFO) messages.
 I'm not building with any special flags, just 'hammer chrome' and I'm
 just running with ' --log-level=0' and nothing else. Help!

 


--~--~-~--~~~---~--~~
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: changing chrome_exe to chrome, converting chrome.exe to gyp

2009-07-03 Thread Dean McNamee
Hey Bradley,

Thanks, I can build again from the command line.  My CPU utilization
is still annoying low.  I made sure and NUM_CPUS is 4.  Compare this
to the Linux make build, which keeps my 4 cores at 100% cpu all the
way through.

Thanks
-- dean

On Sun, Jun 28, 2009 at 2:06 AM, Bradley Nelsonbradnel...@google.com wrote:
 Hi Dean,
 So I've dropped in a change that switches directories to have name like:
 (base)
 (test_shell)
 This will allow you to run things at the command line again.
 I don't find this choice particularly ascetic myself. But the options where
 limited, because the following characters cannot appear in solution folder
 names:
 / ? :  \ *| # %
 Let me know if you run into any more problems with this.
 Also definitely let me know if someone thinks of something less ugly.
 -BradN


 On Fri, Jun 19, 2009 at 3:10 AM, Dean McNamee de...@chromium.org wrote:

 This also broke building from the command line.

 I usually never open Visual Studio as an IDE.  I build on the command
 line with something like:

 devenv chrome\\chrome.sln /Build release /Project test_shell

 It looks like project names like test_shell now have complicated names
 like test_shell (webkit\tools\test_shell\test_shell), and I haven't
 been able to manage supplying those on the command line.

 Is there a way we can get back our nice project names test_shell,
 chrome, etc?

 On Fri, Jun 19, 2009 at 1:30 AM, Andrew Scherkusscher...@chromium.org
 wrote:
  Here's a quick example:
   1) Delete whole Debug directory
   2) gclient runhooks --force
   3) Set test_shell as startup project
   4) Hit F5
  Sample output of things that shouldn't be dependencies (mostly because
  they're other executables)
      sandbox (sandbox\sandbox) - Debug Win32
      chrome_dll - Debug Win32
      net_perftests - Debug Win32
      base_unittests - Debug Win32
      net_unittests - Debug Win32
      v8_shell - Debug Win32
      mini_installer - Debug Win32
      test_support_unit - Debug Win32
      test_support_ui - Debug Win32
      codesighs (third_party\codesighs\codesighs) - Debug Win32
      automated_ui_tests - Debug Win32
      memory_test - Debug Win32
      activex_test_control - Debug Win32
 
  On Thu, Jun 18, 2009 at 4:08 PM, Bradley Nelson bradnel...@google.com
  wrote:
 
  Andrew, can you give an example of something that built that shouldn't
  have for test_shell?  Maybe we have some overspecified dependencies as
  well.
 
  -BradN
 
  On Thu, Jun 18, 2009 at 3:49 PM, Andrew Scherkus
  scher...@chromium.org
  wrote:
 
  I'll see if I can repro this again before filing a bug, but similar to
  what Daniel and John reported, when I right click on test_shell and
  say
  Build it builds the minimal set required to fully build+link
  test_shell.exe
  However when I set test_shell as the start-up project and launch the
  debugger, Visual Studio warns that every other project in chrome.sln
  must be
 
  built before running (not true!).  Is there a difference in build vs. runtime dependencies?
  Andrew
 
  On Thu, Jun 18, 2009 at 3:25 PM, Steven Knight s...@chromium.org
  wrote:
 
  All--
  When you notice missing dependencies, pleased add them to the
  necessary
  .gyp file(s)!  One of the main reasons we've been trying to land all
  this
  stuff is so that tracking down all these pieces isn't single-threaded
  through one person (or two).  If you're not comfortable making the
  change
  yourself, then please file a bug so the dependency problems get
  tracked and
  fixed in an organized fashion.
  Re:  unnecessary rebuilds:  please file bugs so they don't get lost.
   Please include the target you were building, and the the
  libs/targets that
  were rebuilt unnecessarily.  You don't have to be exhaustive about
  the list,
  it's more important here that at least some information gets
  collected and
  doesn't languish on the ML or get dropped on the floor.
  I'm working on a buildbot script that will test for missing
  dependencies
  by building every target from scratch individually, and will then
  test for
  unnecessary rebuilds by rebuilding each target after no updates.
   That's
  been taking a back seat to just getting the conversion completed, but
  I've
  accelerated my work on it as we wind down to the last few targets.
          --SK
 
  On Thu, Jun 18, 2009 at 3:11 PM, John Abd-El-Malek j...@chromium.org
  wrote:
 
 
  On Thu, Jun 18, 2009 at 3:10 PM, John Abd-El-Malek
  j...@chromium.org
  wrote:
 
  Yeah it happened to me before as well, I just figured I'd complain
  now..  Note another missing dependency is on crash_service.exe
  , npapi_layout_test_plugin, and npapi_test_plugin
 
  btw just to be clear, these are missing dependencies on ui_tests.
 
 
  On Thu, Jun 18, 2009 at 3:00 PM, Jeremy Orlow jor...@google.com
  wrote:
 
  I actually had this problem _before_ this change.  Guess I should
  have brought it up, but I figured it was just something funny on
  my system.
 
  On Thu, Jun 18, 2009 at 2:21 PM, John Abd

[chromium-dev] Re: Font handling in chromium

2009-07-01 Thread Dean McNamee

On Tue, Jun 30, 2009 at 10:29 PM, n179911n179...@gmail.com wrote:

 On Tue, Jun 30, 2009 at 12:31 PM, Adam Langleya...@chromium.org wrote:
 On Tue, Jun 30, 2009 at 12:29 PM, n179911n179...@gmail.com wrote:
 How does Chromium handling font loading?

 Which platform?


 MacOS X and Linux.

I don't know about OSX, for Linux the code is in webkit at:

WebKit/WebCore/platform/graphics/chromium/

See the files with font and linux in the name.


 Thank you.


 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: Frustrating problem with Linux Make build

2009-07-01 Thread Dean McNamee

Patches are welcome.  It looks like maybe in chrome.gyp, the debugger
target should also debug on chrome_strings ?

On Wed, Jul 1, 2009 at 12:50 PM, Ben Laurieb...@google.com wrote:

 On Wed, Jul 1, 2009 at 11:11 AM, Ben Laurieb...@google.com wrote:
 On Wed, Jul 1, 2009 at 8:22 AM, Ben Goodger (Google)b...@chromium.org 
 wrote:
 Sounds like a dependency issue. Can you explicitly build the
 chrome_strings target and then try building the target you were
 trying to build again?

 $ make chrome_strings
 make: *** No rule to make target `chrome_strings'.  Stop.

 BTW, if I try to build the missing file...

 $ make  out/Debug/obj/gen/chrome/grit/generated_resources.h
 make: *** No rule to make target
 `out/Debug/obj/gen/chrome/grit/generated_resources.h'.  Stop.

 However:

 $ make  out/Debug/obj/gen/chrome/grit/renderer_resources.h
 make: Nothing to be done for
 `out/Debug/obj/gen/chrome/grit/renderer_resources.h'.

 OK, so this seems like a dependencies issue - and given the logic of
 the makefiles, AUIU (i.e. hazily), I don't see how this is supposed to
 work.

 If I add the line:

 $(obj)/chrome/browser/debugger/devtools_window.o:
 $(obj)/gen/chrome/grit/generated_resources.h

 to chrome/debugger.mk

 then it all builds fine. According to my reading of the makefiles,
 there's nothing to ensure this happens on a clean build because:

 a) There are not yet any dependency files, and

 b) Dependency files are not read for targets that will be built anyway
 (according to the comments)

 What I now don't understand is why it works for anyone?

 Also, it seems to me that b) is a bad idea because files like
 generated_resources.h, even if they do get rebuilt, might get rebuilt
 at the wrong moment (i.e. too late for their dependencies).

 Or perhaps I totally don't understand what's going on?

 Oh, actually, I think I just nailed it.

 If I do:

 $ make chrome

 it fails.

 If I do:

 $ make -j30 chrome

 it works.

 So, I think my conclusion about dependencies is correct. With -j30 it
 just happens that the dependency gets built in time, without, it
 doesn't.

 


--~--~-~--~~~---~--~~
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: Frustrating problem with Linux Make build

2009-07-01 Thread Dean McNamee

On Wed, Jul 1, 2009 at 2:21 PM, Dean McNameede...@chromium.org wrote:
 Patches are welcome.  It looks like maybe in chrome.gyp, the debugger
 target should also debug on chrome_strings ?

Er, it should also _depend_ on.  Anyway, the Makefiles are generated
from the gyp files.  There could be a bug in the makefile generator,
but it is more likely the problem is the dependency isn't correct in
the gyp file.

I don't know enough about the debugger to tell you what it should depend on.

From the sound of the original message chrome_strings might need to be
added.  The difference between chrome_resources and chrome_strings is
not super clear to me, but I imagine the first is images, etc, and the
second is localized strings.

-- dean


 On Wed, Jul 1, 2009 at 12:50 PM, Ben Laurieb...@google.com wrote:

 On Wed, Jul 1, 2009 at 11:11 AM, Ben Laurieb...@google.com wrote:
 On Wed, Jul 1, 2009 at 8:22 AM, Ben Goodger (Google)b...@chromium.org 
 wrote:
 Sounds like a dependency issue. Can you explicitly build the
 chrome_strings target and then try building the target you were
 trying to build again?

 $ make chrome_strings
 make: *** No rule to make target `chrome_strings'.  Stop.

 BTW, if I try to build the missing file...

 $ make  out/Debug/obj/gen/chrome/grit/generated_resources.h
 make: *** No rule to make target
 `out/Debug/obj/gen/chrome/grit/generated_resources.h'.  Stop.

 However:

 $ make  out/Debug/obj/gen/chrome/grit/renderer_resources.h
 make: Nothing to be done for
 `out/Debug/obj/gen/chrome/grit/renderer_resources.h'.

 OK, so this seems like a dependencies issue - and given the logic of
 the makefiles, AUIU (i.e. hazily), I don't see how this is supposed to
 work.

 If I add the line:

 $(obj)/chrome/browser/debugger/devtools_window.o:
 $(obj)/gen/chrome/grit/generated_resources.h

 to chrome/debugger.mk

 then it all builds fine. According to my reading of the makefiles,
 there's nothing to ensure this happens on a clean build because:

 a) There are not yet any dependency files, and

 b) Dependency files are not read for targets that will be built anyway
 (according to the comments)

 What I now don't understand is why it works for anyone?

 Also, it seems to me that b) is a bad idea because files like
 generated_resources.h, even if they do get rebuilt, might get rebuilt
 at the wrong moment (i.e. too late for their dependencies).

 Or perhaps I totally don't understand what's going on?

 Oh, actually, I think I just nailed it.

 If I do:

 $ make chrome

 it fails.

 If I do:

 $ make -j30 chrome

 it works.

 So, I think my conclusion about dependencies is correct. With -j30 it
 just happens that the dependency gets built in time, without, it
 doesn't.

 



--~--~-~--~~~---~--~~
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: VectorCanvas usage

2009-07-01 Thread Dean McNamee

I believe it's used for printing on Windows.  The idea is to capture
the API call so the vector info can be turned into a WMF or GDI-style
command buffer or whatever for printing on Windows.

If you need the details Marc-Antoine would know.

On Wed, Jul 1, 2009 at 1:34 PM, mailandroidmailandr...@gmail.com wrote:

 Hi,

  The VectorCanvas is inherited from PlatformCanvasWin and overrides
 many functions.
 Could anyone explain me what is VectorCanvas and why it is used in
 Chrome?

 regards

 


--~--~-~--~~~---~--~~
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: How do I deploy an NPAPI plugin over the internet from HTML ?

2009-06-26 Thread Dean McNamee

On Fri, Jun 26, 2009 at 11:24 AM, Non-Stickkevin.ra...@ntlworld.com wrote:

 OK.  Thanks for the information.

 Before I proceed to build an independent installer, please can you
 advise
 whether or not there are any plans for Chrome to provide such a
 mechanism
 for automatic NPAPI Plugin downloads at some point in the future ?

No, I don't think so.


 


--~--~-~--~~~---~--~~
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: question about helpwanted items (how it works)

2009-06-26 Thread Dean McNamee

Yeah, this is great, thanks.

On Fri, Jun 26, 2009 at 5:28 PM, Evan Martine...@chromium.org wrote:

 Thanks for writing this!  I would personally use this feature
 frequently.  The code looks good too.

 On Fri, Jun 26, 2009 at 4:35 AM, nakroyoav.zilberb...@gmail.com wrote:

 http://codereview.chromium.org/147202 (i didn't know how to use gcl
 properly, so i re-submitted and deleted the prev issue, prev was only
 up for a very short while)
 


 


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



[chromium-dev] Linux buildbots, which locale?

2009-06-25 Thread Dean McNamee

http://build.chromium.org/buildbot/waterfall/builders/Modules%20Linux%20(dbg)/builds/9486/steps/base_unittests/logs/stdio
http://build.chromium.org/buildbot/waterfall/builders/Modules%20Linux%20(dbg)/builds/9486/steps/net_unittests/logs/stdio

I just committed a change that converted our
sys_string_conversion_linux from using ICU UTF-8 (assuming that the
system locale was always UTF-8) to calling the system APIs that will
vary depending on the locale.  I believe this is technically what we
want, we want these APIs to do the conversion to whatever locale your
system is set to.

On my machine these all pass fine.  I don't know what locale we have
set on the buildbots, but it all seems to fail.  It is also kind of
curious that some of our net/file tests depend on locale, but I
suppose that makes sense.

For now I'll pull out my changes until we can get the buildbots on a
utf-8 locale (like en_US.UTF-8).

-- dean

--~--~-~--~~~---~--~~
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: Linux buildbots, which locale?

2009-06-25 Thread Dean McNamee

I just took a look at what was happening on one of the Linux
buildbots.  It looks like we completely clear the env and just
explicitly set a few things.  We need to add LANG=en_US.UTF-8 to that
list of things.  Any takers?

Thanks

On Thu, Jun 25, 2009 at 2:12 PM, Dean McNameede...@chromium.org wrote:
 http://build.chromium.org/buildbot/waterfall/builders/Modules%20Linux%20(dbg)/builds/9486/steps/base_unittests/logs/stdio
 http://build.chromium.org/buildbot/waterfall/builders/Modules%20Linux%20(dbg)/builds/9486/steps/net_unittests/logs/stdio

 I just committed a change that converted our
 sys_string_conversion_linux from using ICU UTF-8 (assuming that the
 system locale was always UTF-8) to calling the system APIs that will
 vary depending on the locale.  I believe this is technically what we
 want, we want these APIs to do the conversion to whatever locale your
 system is set to.

 On my machine these all pass fine.  I don't know what locale we have
 set on the buildbots, but it all seems to fail.  It is also kind of
 curious that some of our net/file tests depend on locale, but I
 suppose that makes sense.

 For now I'll pull out my changes until we can get the buildbots on a
 utf-8 locale (like en_US.UTF-8).

 -- dean


--~--~-~--~~~---~--~~
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: Memory usage in chrome

2009-06-23 Thread Dean McNamee

Have you tried running with --memory-model=high ?

2009/6/23 PhistucK phist...@gmail.com:
 This explanation actually shows me the source of this serious jank (I hope I
 am using the term in the right context) I am having all of the time.
 I am getting back to Chrome after a few minutes of dealing with some other
 application and I have to wait, sometimes even for twenty seconds or more,
 until I get the control back on the tab contents.
 Sometimes I am not using a tab for a few minutes (or more) and when I switch
 back to it, it takes it twenty seconds or more until I get the control back
 of the tab contents.
 :(

 ☆PhistucK


 On Mon, Jun 22, 2009 at 19:57, Mike Belshe mbel...@google.com wrote:


 On Mon, Jun 22, 2009 at 9:29 AM, Mike Beltzner beltz...@mozilla.com
 wrote:

 On 21-Jun-09, at 10:22 AM, Mike Belshe wrote:

 Second, the author is basically right.  Since he's running on Vista, its
 a bit hard to tell whether his stats included shared memory or not; using
 the default memory statistic (Memory (Private Working Set)) is actually a
 pretty good measure to just sum.  But he doesn't say which measurement he
 used.

 Doesn't Private Bytes accurately represent the private memory for a given
 process? I thought the whole point of that was that it didn't measure any
 shared memory pools.

 Yes, that accurately represents the private memory for a process, but it
 doesn't reflect the user's experience.  Windows generally tracks working
 set.  Why?  Because the working set is the amount of memory *not available
 to other apps*.  If other apps can have the memory, then using the bytes is
 inconsequential.
 For most applications, there isn't much difference between private bytes
 and working set private bytes.  However, because of Chrome's multi-proc
 architecture, there is a big difference.  The reason is because
 Chrome intentionally gives memory back to the OS.  For instance, on my
 current instance of Chrome, I'm using 16 tabs.  The sum of the private bytes
 is 514408.  The sum of the private working set bytes is 275040, nearly half
 of the private bytes number.  This is on a machine with 8GB of RAM, so there
 is plenty of memory to go around.  But if some other app wants the memory,
 Chrome gave it back to the OS and will suffer the page faults to get it
 back.  Since Chrome has given it back to the OS (and has volunteered to take
 the performance consequences of getting it back), I don't think it should be
 counted as Chrome usage.  Others may disagree. But Windows uses working set
 as the primary metric for all applications the OS folks agree that working
 set is the right way to account for memory usage.
 Single process browsers have a hard time giving memory back, because they
 can't differentiate which pages are accounted to unused, background tabs and
 which pages are accounted to the active, in-use tabs.
 Finally, the common metric which definitely doesn't work well is Windows
 XP's default metric:  working set (private + shared).  Because of shared
 memory between processes, simply summing the working set will far overstate
 the actual RAM used.  Part of the motivation with Vista changing the default
 metric from working set to private working set was precisely to deal with
 the issue of better accounting of shared memory.
 Mike





 


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



[chromium-dev] Pixel layout tests and checksums

2009-06-22 Thread Dean McNamee

Last week I updated our DEPS to pull in a newer version of Skia.  I
was stumped at a few cases where the checked in PNG looked completely
wrong, but yet it was passing on the buildbots.  There was no way that
image could have been the output.

It just dawned on me today, but I haven't verified it.  I can dig up
my commit to verify it, but I'd say 99% sure this was the case.

If the checksum is valid, we don't even go to the PNG.  Therefor I
believe we have a bunch of layout tests where the checked in PNG is
completely wrong, but the checksum is right.

I don't have the time right now, but it would be great if someone
could write a script and clean this up.

Thanks
-- dean

--~--~-~--~~~---~--~~
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: changing chrome_exe to chrome, converting chrome.exe to gyp

2009-06-19 Thread Dean McNamee

This also broke building from the command line.

I usually never open Visual Studio as an IDE.  I build on the command
line with something like:

devenv chrome\\chrome.sln /Build release /Project test_shell

It looks like project names like test_shell now have complicated names
like test_shell (webkit\tools\test_shell\test_shell), and I haven't
been able to manage supplying those on the command line.

Is there a way we can get back our nice project names test_shell,
chrome, etc?

On Fri, Jun 19, 2009 at 1:30 AM, Andrew Scherkusscher...@chromium.org wrote:
 Here's a quick example:
  1) Delete whole Debug directory
  2) gclient runhooks --force
  3) Set test_shell as startup project
  4) Hit F5
 Sample output of things that shouldn't be dependencies (mostly because
 they're other executables)
     sandbox (sandbox\sandbox) - Debug Win32
     chrome_dll - Debug Win32
     net_perftests - Debug Win32
     base_unittests - Debug Win32
     net_unittests - Debug Win32
     v8_shell - Debug Win32
     mini_installer - Debug Win32
     test_support_unit - Debug Win32
     test_support_ui - Debug Win32
     codesighs (third_party\codesighs\codesighs) - Debug Win32
     automated_ui_tests - Debug Win32
     memory_test - Debug Win32
     activex_test_control - Debug Win32

 On Thu, Jun 18, 2009 at 4:08 PM, Bradley Nelson bradnel...@google.com
 wrote:

 Andrew, can you give an example of something that built that shouldn't
 have for test_shell?  Maybe we have some overspecified dependencies as well.

 -BradN

 On Thu, Jun 18, 2009 at 3:49 PM, Andrew Scherkus scher...@chromium.org
 wrote:

 I'll see if I can repro this again before filing a bug, but similar to
 what Daniel and John reported, when I right click on test_shell and say
 Build it builds the minimal set required to fully build+link test_shell.exe
 However when I set test_shell as the start-up project and launch the
 debugger, Visual Studio warns that every other project in chrome.sln must be
 built before running (not true!).  Is there a difference in build vs. runtime dependencies?
 Andrew

 On Thu, Jun 18, 2009 at 3:25 PM, Steven Knight s...@chromium.org wrote:

 All--
 When you notice missing dependencies, pleased add them to the necessary
 .gyp file(s)!  One of the main reasons we've been trying to land all this
 stuff is so that tracking down all these pieces isn't single-threaded
 through one person (or two).  If you're not comfortable making the change
 yourself, then please file a bug so the dependency problems get tracked and
 fixed in an organized fashion.
 Re:  unnecessary rebuilds:  please file bugs so they don't get lost.
  Please include the target you were building, and the the libs/targets that
 were rebuilt unnecessarily.  You don't have to be exhaustive about the 
 list,
 it's more important here that at least some information gets collected and
 doesn't languish on the ML or get dropped on the floor.
 I'm working on a buildbot script that will test for missing dependencies
 by building every target from scratch individually, and will then test for
 unnecessary rebuilds by rebuilding each target after no updates.  That's
 been taking a back seat to just getting the conversion completed, but I've
 accelerated my work on it as we wind down to the last few targets.
         --SK

 On Thu, Jun 18, 2009 at 3:11 PM, John Abd-El-Malek j...@chromium.org
 wrote:


 On Thu, Jun 18, 2009 at 3:10 PM, John Abd-El-Malek j...@chromium.org
 wrote:

 Yeah it happened to me before as well, I just figured I'd complain
 now..  Note another missing dependency is on crash_service.exe
 , npapi_layout_test_plugin, and npapi_test_plugin

 btw just to be clear, these are missing dependencies on ui_tests.


 On Thu, Jun 18, 2009 at 3:00 PM, Jeremy Orlow jor...@google.com
 wrote:

 I actually had this problem _before_ this change.  Guess I should
 have brought it up, but I figured it was just something funny on my 
 system.

 On Thu, Jun 18, 2009 at 2:21 PM, John Abd-El-Malek j...@chromium.org
 wrote:

 +1 this is affecting a lot of people.

 On Thu, Jun 18, 2009 at 12:43 PM, Daniel Cowx
 daniel.c...@gmail.com wrote:

 I notice that when I load chrome.sln and do a build, not all the
 dependencies are built anymore. For instance, theme_dll isn't built
 (not listed in the proj deps), is this expected?

 On Jun 18, 12:38 am, Steven Knight s...@chromium.org wrote:
  Okay, it looks like this change is sticking, at least until
  someone
  discovers Yet Another Unintended Side Effect.  So heed the
  warnings in the
  previous message, quoted below.
  Git users on Linux:  this requires an update to gyp to work
  properly, so
  make sure you gclient sync after you git pull, or whatever
  the right
  combination of commands is.  If you see Python stack traces from
  gyp
  accompanied by complaints about looking up a Dir as a File,
  make sure the
  tools/gyp subdirectory is at r521.
 
          --SK
 
 
 
  On Wed, Jun 17, 2009 at 9:25 PM, Steven Knight
  s...@chromium.org 

[chromium-dev] Re: changing chrome_exe to chrome, converting chrome.exe to gyp

2009-06-19 Thread Dean McNamee
Additionally it seems like I'm getting no parallelism.  I checked my
visual studio settings and everything seems fine.  Attached is a
screenshot of how my CPU usage has looked for the entire processing of
building test_shell (from chrome.sln).

-- dean

On Fri, Jun 19, 2009 at 12:10 PM, Dean McNameede...@chromium.org wrote:
 This also broke building from the command line.

 I usually never open Visual Studio as an IDE.  I build on the command
 line with something like:

 devenv chrome\\chrome.sln /Build release /Project test_shell

 It looks like project names like test_shell now have complicated names
 like test_shell (webkit\tools\test_shell\test_shell), and I haven't
 been able to manage supplying those on the command line.

 Is there a way we can get back our nice project names test_shell,
 chrome, etc?

 On Fri, Jun 19, 2009 at 1:30 AM, Andrew Scherkusscher...@chromium.org wrote:
 Here's a quick example:
  1) Delete whole Debug directory
  2) gclient runhooks --force
  3) Set test_shell as startup project
  4) Hit F5
 Sample output of things that shouldn't be dependencies (mostly because
 they're other executables)
     sandbox (sandbox\sandbox) - Debug Win32
     chrome_dll - Debug Win32
     net_perftests - Debug Win32
     base_unittests - Debug Win32
     net_unittests - Debug Win32
     v8_shell - Debug Win32
     mini_installer - Debug Win32
     test_support_unit - Debug Win32
     test_support_ui - Debug Win32
     codesighs (third_party\codesighs\codesighs) - Debug Win32
     automated_ui_tests - Debug Win32
     memory_test - Debug Win32
     activex_test_control - Debug Win32

 On Thu, Jun 18, 2009 at 4:08 PM, Bradley Nelson bradnel...@google.com
 wrote:

 Andrew, can you give an example of something that built that shouldn't
 have for test_shell?  Maybe we have some overspecified dependencies as well.

 -BradN

 On Thu, Jun 18, 2009 at 3:49 PM, Andrew Scherkus scher...@chromium.org
 wrote:

 I'll see if I can repro this again before filing a bug, but similar to
 what Daniel and John reported, when I right click on test_shell and say
 Build it builds the minimal set required to fully build+link test_shell.exe
 However when I set test_shell as the start-up project and launch the
 debugger, Visual Studio warns that every other project in chrome.sln must 
 be
 built before running (not true!).  Is there a difference in build vs. runtime dependencies?
 Andrew

 On Thu, Jun 18, 2009 at 3:25 PM, Steven Knight s...@chromium.org wrote:

 All--
 When you notice missing dependencies, pleased add them to the necessary
 .gyp file(s)!  One of the main reasons we've been trying to land all this
 stuff is so that tracking down all these pieces isn't single-threaded
 through one person (or two).  If you're not comfortable making the change
 yourself, then please file a bug so the dependency problems get tracked 
 and
 fixed in an organized fashion.
 Re:  unnecessary rebuilds:  please file bugs so they don't get lost.
  Please include the target you were building, and the the libs/targets 
 that
 were rebuilt unnecessarily.  You don't have to be exhaustive about the 
 list,
 it's more important here that at least some information gets collected and
 doesn't languish on the ML or get dropped on the floor.
 I'm working on a buildbot script that will test for missing dependencies
 by building every target from scratch individually, and will then test for
 unnecessary rebuilds by rebuilding each target after no updates.  That's
 been taking a back seat to just getting the conversion completed, but I've
 accelerated my work on it as we wind down to the last few targets.
         --SK

 On Thu, Jun 18, 2009 at 3:11 PM, John Abd-El-Malek j...@chromium.org
 wrote:


 On Thu, Jun 18, 2009 at 3:10 PM, John Abd-El-Malek j...@chromium.org
 wrote:

 Yeah it happened to me before as well, I just figured I'd complain
 now..  Note another missing dependency is on crash_service.exe
 , npapi_layout_test_plugin, and npapi_test_plugin

 btw just to be clear, these are missing dependencies on ui_tests.


 On Thu, Jun 18, 2009 at 3:00 PM, Jeremy Orlow jor...@google.com
 wrote:

 I actually had this problem _before_ this change.  Guess I should
 have brought it up, but I figured it was just something funny on my 
 system.

 On Thu, Jun 18, 2009 at 2:21 PM, John Abd-El-Malek j...@chromium.org
 wrote:

 +1 this is affecting a lot of people.

 On Thu, Jun 18, 2009 at 12:43 PM, Daniel Cowx
 daniel.c...@gmail.com wrote:

 I notice that when I load chrome.sln and do a build, not all the
 dependencies are built anymore. For instance, theme_dll isn't built
 (not listed in the proj deps), is this expected?

 On Jun 18, 12:38 am, Steven Knight s...@chromium.org wrote:
  Okay, it looks like this change is sticking, at least until
  someone
  discovers Yet Another Unintended Side Effect.  So heed the
  warnings in the
  previous message, quoted below.
  Git users on Linux:  this requires an update to gyp to work
  properly, so
  make sure 

[chromium-dev] Re: skia backend support

2009-06-17 Thread Dean McNamee
Skia is already enabled in Chrome. We are not using the GL backend (it's not
really finished). Thanks -- dean On Wed, Jun 17, 2009 at 1:43 PM,
mailandroid wrote:   I was looking at the support of skia backend for
rendering (OpenGL/  OpenVG). How and where can we enable these backend in
skia for  chrome?  Please provide me the details. 

--~--~-~--~~~---~--~~
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: some trival details

2009-06-15 Thread Dean McNamee

You could answer a lot of these questions yourself, with a little bit
of digging or a Google search.  I'll try to give you a boost though.

2009/6/15  sitan2...@sina.com:
  I began to read chromium's source codes, and got caught in these trival
 questions:

 1. what's gfx? I always see that.

gfx:: is a namespace where lots of our graphics related code lives.
See base/gfx and app/gfx.


 2. what's the usage of .gyp files?

Something like cmake, a meta-language to declare our build
configuration, and then generate Visual Studio, Scons, Makefiles,
XCode projects.  This happens transparently by gclient, or manually
by gclient runhooks --force.

http://code.google.com/p/gyp/


 3.Is gmock used to help automation test? What else does chrome use for
 automation test? I'm curious about that.

gmock was just recently introduced.  I'm not sure if or where we are using it.


 4.gcapi confused me, what is it?

 5.mini_installer.exe and setup.exe? I can't execute them. What're they used
 for?

Search the lists for discussions on this.  I don't know much about how
our installer works, but these are part of it.


 6.what is courgette? and used for?

Helping to make the downloads of incremental updates smaller.

http://neugierig.org/software/chromium/notes/2009/05/courgette.html

 


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



[chromium-dev] Makefile build broken

2009-06-11 Thread Dean McNamee

At least for me, I'm hitting an error with generate_stubs.py.  Will
try to figure out the proper fix, in the mean time I fixed up the
paths manually and ran the following from my source root.  I was able
to successfully build.  This is for a debug build, replace Debug w/
Release for a release build.

python third_party/ffmpeg/generate_stubs.py -i out/Debug/obj/gen -o
out/Debug/obj/gen/ffmpeg/third_party/ffmpeg -t posix_stubs -e
third_party/ffmpeg/ffmpeg_stub_headers.fragment -s ffmpeg_stubs -p
third_party/ffmpeg
third_party/ffmpeg/{avcodec-52.sigs,avformat-52.sigs,avutil-50.sigs}

-- dean

--~--~-~--~~~---~--~~
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: Naming things _views

2009-06-11 Thread Dean McNamee

Does this mean we can do something similar for GTK?

It feels a bit unfair that we have to name everything
browser/gtk/blah_gtk.cc  and BrowserToolbarGtk, etc, while views gets
the short name.  For example

views: views/info_bubble.cc and class name InfoBubble
gtk: gtk/info_bubble_gtk.cc and class name InfoBubbleGtk

On Thu, Jun 11, 2009 at 7:45 AM, Ben Goodger (Google)b...@chromium.org wrote:

 If you're porting a file in the browser/ directory and going to be
 renaming a file foo _views.cc/h, consider just moving the file into
 browser/views and not renaming it.

 -Ben

 


--~--~-~--~~~---~--~~
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: No symbols for Google Chrome 2.0.172.30

2009-06-10 Thread Dean McNamee

Hey Nicolas,

Did these symbols ever get uploaded?

Thanks

On Sun, Jun 7, 2009 at 2:55 AM, yuhongyuhongbao_...@hotmail.com wrote:

 SYMSRV:  
 http://build.chromium.org/buildbot/symsrv/chrome_exe.pdb/0C57BF1B1D3D48
 49B3037D4FE9424CCC2/chrome_exe.pdb not found
 DBGHELP: chrome - no symbols loaded
 [SYMCHK] MODULE64 Info --
 [SYMCHK] Struct size: 1672 bytes
 [SYMCHK] Base: 0x0040
 [SYMCHK] Image size: 782336 bytes
 [SYMCHK] Date: 0x4a128615
 [SYMCHK] Checksum: 0x000c0d3d
 [SYMCHK] NumSyms: 0
 [SYMCHK] SymType: SymNone
 [SYMCHK] ModName: chrome
 [SYMCHK] ImageName: C:\Users\bob\AppData\Local\Google\Chrome
 \Application\chrome.
 exe
 [SYMCHK] LoadedImage: C:\Users\bob\AppData\Local\Google\Chrome
 \Application\chrom
 e.exe
 [SYMCHK] PDB: 
 [SYMCHK] CV: RSDS
 [SYMCHK] CV DWORD: 0x53445352
 [SYMCHK] CV Data:  C:\b\slave\chrome-official-2\build\src\chrome
 \Release\chrome_
 exe.pdb
 [SYMCHK] PDB Sig:  0
 [SYMCHK] PDB7 Sig: {----}
 [SYMCHK] Age: 0
 [SYMCHK] PDB Matched:  TRUE
 [SYMCHK] DBG Matched:  TRUE
 [SYMCHK] Line nubmers: FALSE
 [SYMCHK] Global syms:  FALSE
 [SYMCHK] Type Info:FALSE
 [SYMCHK] 
 SymbolCheckVersion  0x0002
 Result  0x00010001
 DbgFilename chrome.dbg
 DbgTimeDateStamp0x
 DbgSizeOfImage  0x
 DbgChecksum 0x
 PdbFilename C:\b\slave\chrome-official-2\build\src\chrome
 \Release\chrome
 _exe.pdb
 PdbSignature{0C57BF1B-1D3D-4849-B303-7D4FE9424CCC}
 PdbDbiAge   0x0002

 


--~--~-~--~~~---~--~~
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: Zygote mode on by default in Linux now. Here's how to disable it...

2009-06-09 Thread Dean McNamee

Yeah, I just took a poke at this, it seems that

zygote
  \ browser
  \ renderer
  \ renderer ...

Is there a design document or anything somewhere?

Also, did we get an measurements on tab startup performance, memory
sharing, etc?

On Tue, Jun 9, 2009 at 10:57 AM, Lei Zhangthes...@chromium.org wrote:

 Does this mean the zygote manager process is the parent process for
 the browser process and all renderer processes? Whereas before the
 browser process was the parent to all renderer processes.

 On Mon, Jun 8, 2009 at 5:39 PM, Dan Kegeldaniel.r.ke...@gmail.com wrote:

 http://src.chromium.org/viewvc/chrome?view=revrevision=17909 enabled
 zygote mode on Linux by default.  This changes how processes
 work on Linux; the initial process becomes a fork server,
 and holds open file descriptors for the .pak files.
 This lets us continue running even if the app is
 updated or uninstalled while we're running.  The
 next time you restart, the new files will take effect.

 If for some reason (say, you don't like the fact that the
 main process is now this funky fork server) you want to
 go back to how things were before temporarily,
 you can disable zygote mode by doing
  export DISABLE_ZYGOTE_MANAGER=x
 before running.

 The valgrind ui_test bots are currently greener than they should
 be, possibly because zygote mode is interfering with
 how I set ui_test mode up under valgrind.  I'll have a
 look at that tomorrow.

 


 


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



Re: Zygotes [was Re: [chromium-dev] Re: Avoiding crash after autoupdate on Linux]

2009-06-09 Thread Dean McNamee

On Tue, May 26, 2009 at 10:54 PM, Evan Martine...@chromium.org wrote:

 On Tue, May 26, 2009 at 1:06 PM, Adam Langley a...@chromium.org wrote:
 But we've gone over this before? Zygotes disable ASLR, make debugging harder
 etc. They might have some performance benefits, but I don't believe that
 they're the correct solution for the auto update issue.

 I suggested Dan bring this up on chromium-dev so we could hash it out
 publicly.  :)

 (For context for the rest of the list: the question is whether we
 re-fork a preforked zygote renderer subprocess or do a new fork/exec
 of our binary when we want a new renderer process.)

 Here's a list of the issues I've heard about.


 ASLR: you say it disables ASLR, but it seems you get whatever
 randomized address space the initial zygote got.  Net effect is that
 within a given browser instance each renderer will have the same
 layout.  How bad is that?  (Honest question, not suggesting it isn't
 bad.)

There are two things that seemed medium bad to me about zygotes and ASLR.

- The renderers always have the same layout, meaning if you could find
some bug that allowed you to spawn a new tab/process, attack it, and
let it crash, you could brute force addresses until you hit it.
Although, I suppose the probability is similar either way.

- The browser and renderers share the same layout.  If you can find a
pointer leak / bug in the renderer, you then know the address layout
to try and attack the browser process.


 Debugging: you say it's harder, but I'm not sure why.  Because of the
 renderer-cmd-prefix stuff?  But gdb is just as capable of attaching to
 a pid -- rather than --renderer-cmd-prefix='xterm -e gdb' we could
 just as well do --renderer-cmd-pid-prefix='xterm -e gdb -p'.

 On the pro-zygote side, issues we have:

 Updates clobbering our files.  If we open everything before we fork
 we're good.  (I'm not confident that we can open everything we want
 before we fork -- the inspector is a collection of random files
 scattered in /usr/share.  But the inspector problem applies to any
 solution I've yet seen and we ought to be able to pack it into one
 mmappable file if we want.)

 Sharing: with zygotes, each instance of webkit shares memory pages,
 even the ones we tweak after renderer startup but before we fork.

 Performance: may be faster to start renderers if we've preforked.

 Sharing/performance of course don't count as benefits until we have
 numbers to support them.  Dan did preliminary measurements and found
 no perf win, but I don't know if we have tests that measure the
 performance of starting many tabs.

 However, we could easily make a hardlink with a specific version in the name.
 That could go wrong if packaging systems write the same inode when updating
 rather than creating a new one, but I suspect that they don't. A patch to use
 the zygote hammer for the auto-updating issue would first have to show that
 there's no easier alternatives!

 I don't have a strong opinion on what we should do here beyond right
 now we're broken and we should fix that.  We can imagine many
 solutions but each time there's a bit of hand-waving.  Perhaps you
 could make a concrete counterproposal?  (Again, I don't mean that to
 sound as hostile as it might seem -- I honestly think it'd be good to
 be able to weigh pros/cons of approaches.)

 


--~--~-~--~~~---~--~~
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: [linux] nested messageloop patch landed

2009-06-04 Thread Dean McNamee

I'm really curious of why that would be.  I realize the old code was a
bit buggy, but I wonder exactly where the startup improvement came in.
 I think it would be pretty important to understand...

Any takers?

On Thu, Jun 4, 2009 at 1:34 AM, Nicolas Sylvainnsylv...@chromium.org wrote:


 On Wed, Jun 3, 2009 at 3:25 PM, Lei Zhang thes...@chromium.org wrote:

 Aren't the bots in virtual machines? Since we're in the middle of some
 hardware upgrades, perhaps the new host machine isn't as loaded. Would
 that affect the performance numbers?

 The first time the blue line dropped it was a real improvement.
 The second drop, where both the yellow and the blue line dropped, was because 
 we moved to the new (and better) machine.
 Nicolas


 I still remember the numbers from my box from the last time I made the
 numbers go the other way. It was in the 300-350 ms range. I ran the
 test again just now and it's down to ~200 ms.

 On Wed, Jun 3, 2009 at 3:25 PM, Lei Zhang thes...@google.com wrote:
  Aren't the bots in virtual machines? Since we're in the middle of some
  hardware upgrades, perhaps the new host machine isn't as loaded. Would
  that affect the performance numbers?
 
  I still remember the numbers from my box from the last time I made the
  numbers go the other way. It was in the 300-350 ms range. I ran the
  test again just now and it's down to ~200 ms.
 
  On Wed, Jun 3, 2009 at 2:56 PM, Evan Martin e...@chromium.org wrote:
 
  This patch, aside from fixing Antoine's problem and those other two
  bugs, seems to have significantly improved our startup time:
 
   
  http://build.chromium.org/buildbot/perf/linux-release/startup/report.html?history=150
 
  (The second drop is due to running on new hardware.)
 
  I kinda suspect we're measuring something wrong, because we're down to
  65ms (!).
 
  On Mon, Jun 1, 2009 at 3:04 PM, Evan Martin e...@chromium.org wrote:
  Antoine wrote a patch to make nested message loops work on Linux.
   http://codereview.chromium.org/115812
 
  It's always a bit scary touching the message loop code, but this will
  fix two real issues we know about:
   - file save dialogs crash on some subset of platforms
   - copy and paste crashers
 
  My plan: I am going to land this patch, see if it does anything
  horrible in the next few days or two.
  So if you suddenly start getting new crashers, let me know.  We can
  always back it out.
 
 
  
 
 




 


--~--~-~--~~~---~--~~
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: Fwd: Chromium code coverage dashboard is up

2009-06-03 Thread Dean McNamee

Seems there are some bugs relating to which files count.  For example:

http://build.chromium.org/buildbot/coverage/linux-debug/17471/CHROMIUM/base/index.html

It counts files like wmi_util, which is Windows specific and not
compiled on Linux.

On Wed, Jun 3, 2009 at 9:12 PM, Paweł Hajdan Jr.phajdan...@chromium.org wrote:

 Looks cool! I wonder... what does instrumented, but not executed
 (yellow) mean?

 On Wed, Jun 3, 2009 at 18:31, Randall Spangler rspang...@google.com wrote:
 The Chromium code coverage dashboard is now live!

 View it here: http://build.chromium.org/buildbot/coverage/
 ...or click on the 'coverage' link at the top of the main
 http://build.chromium.org waterfall, right next to the 'perf' link.

 This dashboard reports code coverage statistics on Chromium on each platform
 - that is, which lines of code are executed by unit tests.  It's one measure
 of how comprehensive the tests are, and helps identify tests which aren't
 running and source code which has excaped testing.

 The top-level dashboard reports the following:

 Percent coverage for source code (excluding tests) - that is, what we want
 to test.
 Percent coverage for the tests themselves.  The low numbers here indicate
 that not all the tests are currently running under coverage.  This should
 approach 100%.

 If you click through on a graph, you get a full-page view of the graph where
 you can click on an individual data point to get more details on that build.

 CL = details on the changelists for that build (you're seen this before on
 other perf graphs..)
 Coverage = detailed coverage data on all subdirectories and files, down to
 line-by-line coverage (this is new!)

 Coverage runs nightly on linux and mac platforms and currently covers only
 the base/net/media/printing submodules.

 The builds are on the right side of the experimental dashboard
 (http://build.chromium.org/buildbot/waterfall.fyi)

 Coming soon: windows platform, test_shell, more submodules, etc.

 (Thanks to jrg for getting unit tests running under coverage, and nsylvain
 for helping me with buildbot.)

 - Randall
 rspang...@chromium.org


 


 


--~--~-~--~~~---~--~~
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: Where is the integration point betwee chromium and V8

2009-05-29 Thread Dean McNamee

My spidey sense would guess that you set the breakpoint in the Browser
process, when V8 and WebKit run in the Renderer process.

Good luck
-- dean

2009/5/29 Lucius Fox lucius.fo...@gmail.com:

 Thank you.

 I tried your suggestion on XCode on MacOS. But it still does not break for me.

 I set a break point at:

 LocalScript Script::Compile(v8::HandleString source,
                              v8::ScriptOrigin* origin,
                              v8::ScriptData* script_data) {
  ON_BAILOUT(v8::Script::Compile(), return LocalScript());
  LOG_API(Script::Compile);
  ENTER_V8;
  i::Handlei::String str = Utils::OpenHandle(*source);
  i::Handlei::Object name_obj;
  int line_offset = 0;
  int column_offset = 0;
 /* Set my break point in the line below */
  if (origin != NULL) {

 Here is how I set my breakpoint:
 1. I open the build/all.xcodeproj
 2. click open the test_shell.xcodeproj
 3. click open the v8.xcodeproject
 4. open api.cc
 5. set breakpoint in the location I mentioned above
 6. go to test_shell.xcodeproj and click 'Build and Go(Debug)'
 7. load an url, (e.g. www.yahoo.com)

 The site gets loaded, but the break point never breaks.

 I appreciate if anyone can help me with this.

 Thank you.


 2009/5/27 Søren Gjesse sgje...@chromium.org:
 Hi,

 There must be something wrong with your setting of break points. There is
 only on way of getting JavaScript code into V8 from a client application,
 and that is through the static method v8::Script::Compile in the public API.
 This method is defined in api.cc where it in turn calls
 v8::internal:Compiler::Complie defined in compiler.cc. All the adding of
 code to V8 from Chromium is handled in v8_proxy.cpp.

 Code added from within JavaScript through the use of eval will be handled by
 v8::internal:Compiler::ComplieEval.

 Note that if you are using Chromium for this you need to take the
 multiprocess architecture into account either by using the --single-process
 switch to turn it off or by attaching to the process you will actually like
 to debug.

 Regards,
 Søren

 On Thu, May 28, 2009 at 07:52, Lucius Fox lucius.fo...@gmail.com wrote:

 Hi,

 i am trying to understand how chromium passes JS script node/JS file
 to v8 engine for execution.
 So i setup breakpoints in Xcode with test)shell xcode project opened:
 Compiler::Compile
 Compiler::CompileEval
 Compiler::CompileLazy

 And then I 'build and go (debug)' to get a TestShell. It did start up
 the TestShell, and it did break in the initial breakpoint I setup in
 test_shell_main.cc. But when I load a page with Javascript for sure,
 e.g. www.cnn.con, it never breaks in the Compiler functions that I
 mentioned above.

 Can you please tell me how does chromium passes JS script node/JS file
 to v8 engine for execution

 



 


--~--~-~--~~~---~--~~
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: Where is the integration point betwee chromium and V8

2009-05-29 Thread Dean McNamee

I just re-read your post and realized you were using test_shell, which
is single process.  In that case, I am not sure what the problem is,
and have no experience with xcode.

Sorry, good luck

On Fri, May 29, 2009 at 11:06 AM, Dean McNameede...@chromium.org wrote:
 My spidey sense would guess that you set the breakpoint in the Browser
 process, when V8 and WebKit run in the Renderer process.

 Good luck
 -- dean

 2009/5/29 Lucius Fox lucius.fo...@gmail.com:

 Thank you.

 I tried your suggestion on XCode on MacOS. But it still does not break for 
 me.

 I set a break point at:

 LocalScript Script::Compile(v8::HandleString source,
                              v8::ScriptOrigin* origin,
                              v8::ScriptData* script_data) {
  ON_BAILOUT(v8::Script::Compile(), return LocalScript());
  LOG_API(Script::Compile);
  ENTER_V8;
  i::Handlei::String str = Utils::OpenHandle(*source);
  i::Handlei::Object name_obj;
  int line_offset = 0;
  int column_offset = 0;
 /* Set my break point in the line below */
  if (origin != NULL) {

 Here is how I set my breakpoint:
 1. I open the build/all.xcodeproj
 2. click open the test_shell.xcodeproj
 3. click open the v8.xcodeproject
 4. open api.cc
 5. set breakpoint in the location I mentioned above
 6. go to test_shell.xcodeproj and click 'Build and Go(Debug)'
 7. load an url, (e.g. www.yahoo.com)

 The site gets loaded, but the break point never breaks.

 I appreciate if anyone can help me with this.

 Thank you.


 2009/5/27 Søren Gjesse sgje...@chromium.org:
 Hi,

 There must be something wrong with your setting of break points. There is
 only on way of getting JavaScript code into V8 from a client application,
 and that is through the static method v8::Script::Compile in the public API.
 This method is defined in api.cc where it in turn calls
 v8::internal:Compiler::Complie defined in compiler.cc. All the adding of
 code to V8 from Chromium is handled in v8_proxy.cpp.

 Code added from within JavaScript through the use of eval will be handled by
 v8::internal:Compiler::ComplieEval.

 Note that if you are using Chromium for this you need to take the
 multiprocess architecture into account either by using the --single-process
 switch to turn it off or by attaching to the process you will actually like
 to debug.

 Regards,
 Søren

 On Thu, May 28, 2009 at 07:52, Lucius Fox lucius.fo...@gmail.com wrote:

 Hi,

 i am trying to understand how chromium passes JS script node/JS file
 to v8 engine for execution.
 So i setup breakpoints in Xcode with test)shell xcode project opened:
 Compiler::Compile
 Compiler::CompileEval
 Compiler::CompileLazy

 And then I 'build and go (debug)' to get a TestShell. It did start up
 the TestShell, and it did break in the initial breakpoint I setup in
 test_shell_main.cc. But when I load a page with Javascript for sure,
 e.g. www.cnn.con, it never breaks in the Compiler functions that I
 mentioned above.

 Can you please tell me how does chromium passes JS script node/JS file
 to v8 engine for execution

 



 



--~--~-~--~~~---~--~~
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: Should the header file sentries contain double underscores?

2009-05-12 Thread Dean McNamee

Yes, this is legacy.  You'll see that new code uses (at least should
use) a single trailing underscore:

cpu.h:#ifndef BASE_CPU_H_
cpu.h:#define BASE_CPU_H_
cpu.h:#endif  // BASE_CPU_H_

It should be an easy mass replace, but it's not really more than an
ideological concern.  We've just been slowly updating guards as we
touch the files.

Thanks
-- dean

On Tue, May 12, 2009 at 1:37 PM, Glider ramosian.gli...@gmail.com wrote:

 Hi chromium-dev,

 The Chromium header files begin with a sentry section that looks like:
 #ifndef PATH_FILENAME__
 #define PATH_FILENAME__

 However, the names containing __ are reserved according to the C++
 standard and cannot be used.

 Is that a legacy in the codebase, or should it be fixed?

 WBR,
 Alexander Potapenko


 


--~--~-~--~~~---~--~~
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: Plugin painting and deadlock

2009-05-04 Thread Dean McNamee

On Mon, May 4, 2009 at 12:15 AM, Darin Fisher da...@chromium.org wrote:
 Painting is not the only issue.  On Windows there are several ways in which
 the thread responsible for a HWND can block waiting for the thread
 responsible for a child HWND to respond.  Are you sure there are no X calls
 that block in a similar fashion?  Are there no cases where you can query
 something about a child X window that would require asking the client
 associated with that X window to provide some data?

One nice thing about X and the client/server model, is that there is a
clear interface
and description of what can happen.  I don't think X ever asks an
application for
information, instead the application always tells X things, and X
maintains the state.

Therefore I can't imagine anything happening in X like this:

App1 - request - X - request App2

That is because X does not have a mechanism to ask things from the
client, only to
notify it about events.  That said, we're using Xembed for plugins,
and I don't know exactly what it involves.  I would still be surprised
to see this situation arise however.

To quote some X tutorial: http://www.visi.com/~grante/Xtut/

As stated earlier, the X protocol defines what passes back and forth
between the client and the server. The information that travels
between client and server is broken up into ``packets'' at the X
protocol level (which is different than Ethernet or TCP/IP packets or
frames). There are four types of packets:

- Request
A request packet is sent by the client to the server to ask that the
server perform some action or return some information.

- Reply
A reply packet is sent by the server to the client in response to a
request from the server. Not all requests generate replies.

- Event
An event packet is sent by the server to the client to inform it of
user input or some other happening about which it might want to do
something (for example a window was re-sized or a previously obscured
window was uncovered).

- Error
An error packet is sent by the server to the client to inform it that
a request was not valid. Since requests are queued, the error might
not be discovered until after several more requests have been queued
by the client.


 -Darin

 On Sun, May 3, 2009 at 1:36 PM, Evan Martin e...@chromium.org wrote:

 Two statements of fact first, and then a proposal afterwards.  Please
 correct my facts if I'm wrong.

 1) On Windows, when you have a windowed plugin and paint the main
 window, it synchronously (?) paints the child windows including
 plugins.  (This is the major point I'm unsure about; I don't
 understand Windows very well.  See
 webkit/glue/plugins/test/plugin_create_instance_in_paint.cc [1] for a
 test that indicates that this is the problem.)  Because of this, we
 can end up with a deadlock when the plugin WM_PAINT handler calls into
 renderer javascript which calls back into the browser process (for
 example, to query something like the screen size).  We work around
 this by handling those synchronous queries on the IO thread, not the
 UI thread, in the browser process.

 2) On Linux, queries about the screen (and clipboard handling) go via
 X and GTK wraps X.  GTK/X aren't implicitly threadsafe so we can't
 directly handle the above queries on the IO thread; if we add locks we
 recreate the deadlock problem.  The alternative Adam hacked up is an
 *additional* thread with its own connection to X, and then we must be
 careful to not touch any GTK functions there.  (This is especially
 annoying because the point of using toolkits like GTK is that it
 provides a nice interface to these functions.)


 Ok, those were the facts as I understand them.  Here's the thought:
 maybe we don't have this synchronous painting problem on X.  (It seems
 strange to me it exists on Windows, maybe because I misunderstand the
 problem.)  I created a test app (code attached) that stuffs a child
 process with a button in the host process, where clicking the button
 makes the child process hang for five seconds.  While the child is
 hung, the button obviously doesn't repaint, but you can continue to
 resize and observe the main window repainting.

 Conclusion, if the above is all correct: we don't need to go through
 convolutions to avoid this deadlock problem.
 - With little code change, we can proxy those renderer-browser calls
 back to the UI thread on Linux only.  r15028 [2] did just that.
 - To be cleaner, we could just terminate those calls on the UI thread
 (again, only on Linux) using the existing messaging infrastructure.

 (PS: I'm not sure if windowless plugins play into this at all.  I
 recall there's a potential for a synchronous paint in some
 circumstances, but I believe that's synchronous between the renderer
 and the plugin, right?)

 [1]
 http://src.chromium.org/viewvc/chrome/trunk/src/webkit/glue/plugins/test/plugin_create_instance_in_paint.cc
 [2] http://src.chromium.org/viewvc/chrome?view=revrevision=15028




 



[chromium-dev] Re: Plugin painting and deadlock

2009-05-04 Thread Dean McNamee

On Mon, May 4, 2009 at 5:48 PM, Darin Fisher da...@chromium.org wrote:
 On Mon, May 4, 2009 at 1:08 AM, Dean McNamee de...@chromium.org wrote:

 On Mon, May 4, 2009 at 12:15 AM, Darin Fisher da...@chromium.org wrote:
  Painting is not the only issue.  On Windows there are several ways in
  which
  the thread responsible for a HWND can block waiting for the thread
  responsible for a child HWND to respond.  Are you sure there are no X
  calls
  that block in a similar fashion?  Are there no cases where you can query
  something about a child X window that would require asking the client
  associated with that X window to provide some data?

 One nice thing about X and the client/server model, is that there is a
 clear interface
 and description of what can happen.  I don't think X ever asks an
 application for
 information, instead the application always tells X things, and X
 maintains the state.

 Therefore I can't imagine anything happening in X like this:

 App1 - request - X - request App2

 That is because X does not have a mechanism to ask things from the
 client, only to
 notify it about events.  That said, we're using Xembed for plugins,
 and I don't know exactly what it involves.  I would still be surprised
 to see this situation arise however.

 To quote some X tutorial: http://www.visi.com/~grante/Xtut/

 As stated earlier, the X protocol defines what passes back and forth
 between the client and the server. The information that travels
 between client and server is broken up into ``packets'' at the X
 protocol level (which is different than Ethernet or TCP/IP packets or
 frames). There are four types of packets:

 - Request
 A request packet is sent by the client to the server to ask that the
 server perform some action or return some information.

 - Reply
 A reply packet is sent by the server to the client in response to a
 request from the server. Not all requests generate replies.

 - Event
 An event packet is sent by the server to the client to inform it of
 user input or some other happening about which it might want to do
 something (for example a window was re-sized or a previously obscured
 window was uncovered).

 - Error
 An error packet is sent by the server to the client to inform it that
 a request was not valid. Since requests are queued, the error might
 not be discovered until after several more requests have been queued
 by the client.


 Good to know.  However, this morning it occurred to me that it almost
 doesn't matter.  Consider the case of scrolling a page with plugins:
 To scroll the page so that it looks like everything is scrolling as one
 piece, we have to blit the backingstore to the screen for the render view,
 and then we need to re-position and possibly re-paint any exposed plugin
 windows.  We need to make all of this happen together, which on Windows is
 accomplished by synchronizing the browser UI thread with the plugin UI
 thread.

Sorry, I am not too familiar with this code, so I'm probably a bit
lost.  Are you talking about windowed or windowless plugins?  You said
reposition, so I am assuming you are talking about windowed plugins.
In that case I completely don't understand what you just said :)

Thanks

 So, I don't believe that we can avoid the need to block the browser UI
 thread on the plugin UI thread.
 -Darin

--~--~-~--~~~---~--~~
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: Extracting Views, creating app/

2009-04-28 Thread Dean McNamee

If people need things moved to base, you can file a bug against me.

During this refactor, it would be nice to also have the opposite, a
clean dependencies on what uses views.  For Linux we would like to
build without views.  Right now there are dependencies from outside of
views/ to views/.  There is a bug filed to try to untangle it, but I
suppose it makes sense to wait until you pull views/ out completely.

On Tue, Apr 28, 2009 at 1:00 AM, Scott Violet s...@chromium.org wrote:

 chrome/common/scoped_vector.h

 This file really wants to be in base.

 Same thing for chrome/common/stl_util-inl.h .

  -Scott

 


--~--~-~--~~~---~--~~
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: gyp shared library builds on Linux

2009-04-24 Thread Dean McNamee

Looks like it's missing -ldl, but I haven't looked closely.

On Fri, Apr 24, 2009 at 12:57 PM, nshah nidhi.kejri...@gmail.com wrote:

 hi there,

 thanks for working on getting the shared lib of libraries! I was
 pointed to this work by Evan Martin as well and he pointed me to this
 (http://codereview.chromium.org/88058). However I am having some
 difficulty getting it to build and it errors out while building
 libxml.

 ==
 ...
 Compiling /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/
 src/sconsbuild/Debug/obj/third_party/harfbuzz/src/harfbuzz-gsub.os
 Linking /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
 sconsbuild/Debug/lib/libxml2.so
 Linking /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
 sconsbuild/Debug/xmlcatalog
 Compiling /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/
 src/sconsbuild/Debug/obj/third_party/harfbuzz/src/harfbuzz-impl.os
 Compiling /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/
 src/sconsbuild/Debug/obj/third_party/harfbuzz/src/harfbuzz-open.os
 Compiling /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/
 src/sconsbuild/Debug/obj/third_party/harfbuzz/src/harfbuzz-shaper.os
 /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
 sconsbuild/Debug/lib/libxml2.so: undefined reference to `dlsym'
 /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
 sconsbuild/Debug/lib/libxml2.so: undefined reference to `dlerror'
 /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
 sconsbuild/Debug/lib/libxml2.so: undefined reference to `dlopen'
 /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
 sconsbuild/Debug/lib/libxml2.so: undefined reference to `dlclose'
 collect2: ld returned 1 exit status
 scons: *** [/home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/
 src/sconsbuild/Debug/xmlcatalog] Error 1
 scons: building terminated because of errors.
 ===

  Here are the steps that I tried:

 a) first I tried to download each patch from patch set 4 and patched
 the corresponding files  manually. Removed sconsbuild directory and
 rebuilt. it had the same errors.

 I read your instructions in Description section but I did not
 understand where exactly I need to make changes to exclude and include
 those files. I looked at all_main.scons and common.gypi. it would be
 really helpful if you can elaborate on those instructions.



 b) I did a get latest with revision 14166 by using following command:
 CHROMIUM_ROOT$ gclient sync --revision s...@14166

 (chromium root = directory that has src directory in it).


 Let me know what steps I might be missing. Another point I want to add
 is that I have followed the instructions in 'Staying Green more of the
 time' section of getting code on chrome wiki for linux developers, if
 that matters any.

 Thanks,

 On Apr 21, 8:21 pm, Steven Knight s...@chromium.org wrote:
 The gyp build can generate shared libraries on Linux (as of r14166).

 You can set up to use shared libraries by setting the GYP_DEFINES variable
 as follows:

 $ export GYP_DEFINES='library=shared_library'
 $ gclient runhooks --force

 If it's not set when you run gclient, it will silently generate .scons
 files that build with static libraries, of course, so put it in your
 .profile or .bashrc or whatever suits.

 As an alternative to an environment variable, put the following text in the
 ~/.gyp/include.gypi startup file in your home directory:

 {
   'variables': {
     'library': 'shared_library',
   },

 }

 Note that you *can* build shared and static in the same tree by switching
 back and forth (the shared object files will have a different suffix), but
 the .a and .so files get built in the same sconsbuild/{Debug,Release}/lib
 directory.  This can throw you for a loop if the linker decides to use an
 old .so in preference to the new .a you just built, so it's safer to clean
 things out (at least the lib/ subdirectory, anyway).

         --SK
 


--~--~-~--~~~---~--~~
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: gyp shared library builds on Linux

2009-04-24 Thread Dean McNamee

The obvious fix would be to add -ldl, but I don't see why libxml
should be using it...

From a quick peek at the code, I saw xmlmodules.c using dlerror / etc
for dynamic module support.  Since libxml is running sandboxed, do we
really want dynamic module support?

In specific, it seems like we have LIBXML_MODULES_ENABLED defined in
our xmlversion.h...

On Fri, Apr 24, 2009 at 2:18 PM, nshah nidhi.kejri...@gmail.com wrote:

 This group is very impressive, always so quick in reply!
 Thanks for quick reply!
 I did hammer --verbose and here is the command if that helps:

 cd /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/base
  ../chrome/tools/build/linux/version.sh
 file_version_info_linux.h.version /home/dev/ProgramFiles/v8/home/
 chrome-svn/tarball/chromium/src/sconsbuild/Debug/obj/
 global_intermediate/base/file_version_info_linux.h
 flock /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
 sconsbuild/Debug/linker.lock gcc -o /home/dev/ProgramFiles/v8/home/
 chrome-svn/tarball/chromium/src/sconsbuild/Debug/xmlcatalog -L/home/
 dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/sconsbuild/
 Debug/lib -Wl,-rpath=/home/dev/ProgramFiles/v8/home/chrome-svn/tarball/
 chromium/src/sconsbuild/Debug/lib -m32 -pthread /home/dev/ProgramFiles/
 v8/home/chrome-svn/tarball/chromium/src/sconsbuild/Debug/obj/
 third_party/libxml/xmlcatalog.o -Wl,--start-group -lm -lxml2 -Wl,--end-
 group
 /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
 sconsbuild/Debug/lib/libxml2.so: undefined reference to `dlsym'
 /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
 sconsbuild/Debug/lib/libxml2.so: undefined reference to `dlerror'
 /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
 sconsbuild/Debug/lib/libxml2.so: undefined reference to `dlopen'
 /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
 sconsbuild/Debug/lib/libxml2.so: undefined reference to `dlclose'
 collect2: ld returned 1 exit status
 scons: *** [/home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/
 src/sconsbuild/Debug/xmlcatalog] Error 1
 gcc -o /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
 sconsbuild/Debug/obj/third_party/harfbuzz/src/harfbuzz-tibetan.os -c -
 m32 -pthread -march=pentium4 -fno-exceptions -msse2 -mfpmath=sse -I/
 usr/include/freetype2 -O0 -g -fPIC -DCHROMIUM_BUILD -DTOOLKIT_GTK=1 -
 D_DEBUG -I/home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/
 src/sconsbuild/Debug/obj/third_party/harfbuzz/src -I/home/dev/
 ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/third_party/
 harfbuzz/src /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/
 chromium/src/third_party/harfbuzz/src/harfbuzz-tibetan.c
 scons: building terminated because of errors.

 On Apr 24, 7:41 am, Dean McNamee de...@chromium.org wrote:
 Looks like it's missing -ldl, but I haven't looked closely.

 On Fri, Apr 24, 2009 at 12:57 PM, nshah nidhi.kejri...@gmail.com wrote:

  hi there,

  thanks for working on getting the shared lib of libraries! I was
  pointed to this work by Evan Martin as well and he pointed me to this
  (http://codereview.chromium.org/88058). However I am having some
  difficulty getting it to build and it errors out while building
  libxml.

  ==
  ...
  Compiling /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/
  src/sconsbuild/Debug/obj/third_party/harfbuzz/src/harfbuzz-gsub.os
  Linking /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
  sconsbuild/Debug/lib/libxml2.so
  Linking /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
  sconsbuild/Debug/xmlcatalog
  Compiling /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/
  src/sconsbuild/Debug/obj/third_party/harfbuzz/src/harfbuzz-impl.os
  Compiling /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/
  src/sconsbuild/Debug/obj/third_party/harfbuzz/src/harfbuzz-open.os
  Compiling /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/
  src/sconsbuild/Debug/obj/third_party/harfbuzz/src/harfbuzz-shaper.os
  /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
  sconsbuild/Debug/lib/libxml2.so: undefined reference to `dlsym'
  /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
  sconsbuild/Debug/lib/libxml2.so: undefined reference to `dlerror'
  /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
  sconsbuild/Debug/lib/libxml2.so: undefined reference to `dlopen'
  /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
  sconsbuild/Debug/lib/libxml2.so: undefined reference to `dlclose'
  collect2: ld returned 1 exit status
  scons: *** [/home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/
  src/sconsbuild/Debug/xmlcatalog] Error 1
  scons: building terminated because of errors.
  ===

   Here are the steps that I tried:

  a) first I tried to download each patch from patch set 4 and patched

[chromium-dev] Re: gyp shared library builds on Linux

2009-04-24 Thread Dean McNamee

Just to follow up explicitly to what Craig said, you should do
something like the following, and make sure there are no errors:

# Clobber
rm -rf sconsbuild
# Make sure everything is up to date
gclient sync --force
# Make sure the scons files were regenerated from the gyp files
gclient runhooks --force

On Fri, Apr 24, 2009 at 4:50 PM, Craig Schlenter
craig.schlen...@gmail.com wrote:

 Actually all the targets work ... Steven fixed them all and I just
 hadn't realised that so the hammer app thing and my earlier rambling
 is ignorable. I see from your other mail that you are using the
 tarball though so I'd recommend trying to sync up with the current svn
 trunk. It should all work there. Also you must do the gclient runhooks
 --force thing ...

 I might be on #chromium later ... Drop by if you're still having
 trouble. That's easier than trying to solve it here...

 --Craig

 On 24 Apr 2009, at 15:55, nshah nidhi.kejri...@gmail.com wrote:


 actully I saw it there but then I was not sure if it needs another
 condition block for shared_library but before asking you again I
 wanted to try to build chrome (hammer app) and see if that works as
 you suggested.

 Thanks!
 Nidhi

 On Apr 24, 9:16 am, Craig Schlenter craig.schlen...@gmail.com wrote:
 Hmmm ... actually it seems as if -ldl is present in
 third_party/libxml/libxml.gyp ... so take a look if it's there for
 you
 and run gclient sync if it isn't. Try running gclient runhooks --
 force
 if none of the other things work. Perhaps your scons files have not
 been updated properly.

 --Craig

 On Fri, Apr 24, 2009 at 3:05 PM, Craig Schlenter

 craig.schlen...@gmail.com wrote:
 Hi

 At some point I had used -ldl in the xml gyp file but then I dropped
 that when I purely
 targeted chrome and not any of the other targets ... in fact I
 haven't
 even tried building
 the other targets for a while so it's quite possible that they won't
 build as shared targets.

 Try
 hammer app
 and see if that works or add '-ldl' after '-lm' in libxml.gyp near
 the
 xmlcatalog stuff.

 Thanks!

 --Craig

 On Fri, Apr 24, 2009 at 2:26 PM, Dean McNamee de...@chromium.org
 wrote:

 The obvious fix would be to add -ldl, but I don't see why libxml
 should be using it...

 From a quick peek at the code, I saw xmlmodules.c using dlerror /
 etc
 for dynamic module support.  Since libxml is running sandboxed,
 do we
 really want dynamic module support?

 In specific, it seems like we have LIBXML_MODULES_ENABLED defined
 in
 our xmlversion.h...

 On Fri, Apr 24, 2009 at 2:18 PM, nshah nidhi.kejri...@gmail.com
 wrote:

 This group is very impressive, always so quick in reply!
 Thanks for quick reply!
 I did hammer --verbose and here is the command if that helps:

 cd /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/
 src/base
  ../chrome/tools/build/linux/version.sh
 file_version_info_linux.h.version /home/dev/ProgramFiles/v8/home/
 chrome-svn/tarball/chromium/src/sconsbuild/Debug/obj/
 global_intermediate/base/file_version_info_linux.h
 flock /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/
 src/
 sconsbuild/Debug/linker.lock gcc -o /home/dev/ProgramFiles/v8/
 home/
 chrome-svn/tarball/chromium/src/sconsbuild/Debug/xmlcatalog -L/
 home/
 dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
 sconsbuild/
 Debug/lib -Wl,-rpath=/home/dev/ProgramFiles/v8/home/chrome-svn/
 tarball/
 chromium/src/sconsbuild/Debug/lib -m32 -pthread /home/dev/
 ProgramFiles/
 v8/home/chrome-svn/tarball/chromium/src/sconsbuild/Debug/obj/
 third_party/libxml/xmlcatalog.o -Wl,--start-group -lm -lxml2 -
 Wl,--end-
 group
 /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
 sconsbuild/Debug/lib/libxml2.so: undefined reference to `dlsym'
 /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
 sconsbuild/Debug/lib/libxml2.so: undefined reference to `dlerror'
 /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
 sconsbuild/Debug/lib/libxml2.so: undefined reference to `dlopen'
 /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/
 sconsbuild/Debug/lib/libxml2.so: undefined reference to `dlclose'
 collect2: ld returned 1 exit status
 scons: *** [/home/dev/ProgramFiles/v8/home/chrome-svn/tarball/
 chromium/
 src/sconsbuild/Debug/xmlcatalog] Error 1
 gcc -o /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/
 chromium/src/
 sconsbuild/Debug/obj/third_party/harfbuzz/src/harfbuzz-
 tibetan.os -c -
 m32 -pthread -march=pentium4 -fno-exceptions -msse2 -mfpmath=sse
 -I/
 usr/include/freetype2 -O0 -g -fPIC -DCHROMIUM_BUILD -
 DTOOLKIT_GTK=1 -
 D_DEBUG -I/home/dev/ProgramFiles/v8/home/chrome-svn/tarball/
 chromium/
 src/sconsbuild/Debug/obj/third_party/harfbuzz/src -I/home/dev/
 ProgramFiles/v8/home/chrome-svn/tarball/chromium/src/third_party/
 harfbuzz/src /home/dev/ProgramFiles/v8/home/chrome-svn/tarball/
 chromium/src/third_party/harfbuzz/src/harfbuzz-tibetan.c
 scons: building terminated because of errors.

 On Apr 24, 7:41 am, Dean McNamee de

[chromium-dev] Re: [Linux] Heads-up: New build dependency

2009-04-17 Thread Dean McNamee

Not to make more things complicated, but shouldn't it be possible to
only use gconf if it's available, otherwise don't get the proxy
settings?

I am just worried that we are slowing sucking in the whole world into
our dependency list.

I guess we obviously need the headers for building, but at runtime it
would be nice to just fallback instead of requiring a dependency.
Dunno...

On Fri, Apr 17, 2009 at 5:29 PM, Stephane Doyon sdo...@chromium.org wrote:

 If you don't build on Linux, then you can stop reading now.

 I will be checking in this CL
 (http://codereview.chromium.org/60009)
 that will require gconf as a build dependency for Linux.

 You need to do:
 sudo apt-get install libgconf2-dev
 (or equivalent for your distro)
 and if you are on a 64bits system:
 sudo ln -s libgconf-2.so.4 /usr/lib32/libgconf-2.so

 maruel@ has been kind enough to update the build slaves.
 I have also updated the wiki, and the build/install-build-deps.sh script
 will be updated by the same CL.

 I'll wait until Monday so people have a chance to see this.

 Thanks

 


--~--~-~--~~~---~--~~
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: [Linux] Heads-up: New build dependency

2009-04-17 Thread Dean McNamee

On Fri, Apr 17, 2009 at 8:25 PM, Stephane Doyon sdo...@chromium.org wrote:
 On Fri, 17 Apr 2009, Dean McNamee wrote:

 Not to make more things complicated, but shouldn't it be possible to
 only use gconf if it's available, otherwise don't get the proxy
 settings?

 I am just worried that we are slowing sucking in the whole world into
 our dependency list.

 I guess we obviously need the headers for building, but at runtime it
 would be nice to just fallback instead of requiring a dependency.
 Dunno...

 AFAICT the whole GNOME world depends on gconf so that in practice
 libgconf2-4 is always installed, so as a run-time dependency it shouldn't be
 a problem.

Ok, makes sense.  I sort of misread that this was just an announcement
about installing the dev package (headers, etc).

Thanks


 (It's vaguely amusing to see what apt-get wants to throw away if you ask it
 to uninstall the run-time lib libgconf2-4.)

 On Fri, Apr 17, 2009 at 5:29 PM, Stephane Doyon sdo...@chromium.org
 wrote:

 If you don't build on Linux, then you can stop reading now.

 I will be checking in this CL
 (http://codereview.chromium.org/60009)
 that will require gconf as a build dependency for Linux.

 You need to do:
 sudo apt-get install libgconf2-dev
 (or equivalent for your distro)
 and if you are on a 64bits system:
 sudo ln -s libgconf-2.so.4 /usr/lib32/libgconf-2.so

 maruel@ has been kind enough to update the build slaves.
 I have also updated the wiki, and the build/install-build-deps.sh script
 will be updated by the same CL.

 I'll wait until Monday so people have a chance to see this.

 Thanks

 



--~--~-~--~~~---~--~~
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: gyp build on Linux

2009-04-02 Thread Dean McNamee

Word on the street is that the ccflags are all wrong, and that release
builds aren't being built release properly.

On Thu, Apr 2, 2009 at 7:23 AM, Mark Mentovai m...@chromium.org wrote:

 Awesome.  This is seriously good news.  Thanks!

 Mark

 Steven Knight wrote:
 Linux builds have been converted to gyp-generated SCons files.

 I'm in the process of updating the wiki pages to reflect the change.  Here's
 the executive summary of the most important points (or the ones I can
 remember):


    - The gclient hook will have gyp generate the .scons files for you
  after next update

    - Output is now generated in src/sconsbuild/{Debug,Release}

    - Consequently, it's going to rebuild your (Linux) world after
  your first update

    - The main build entry point is now the src/build directory;
  see below for a little more detail.

    - Start using --mode=Release (not --mode=opt) to build the
  release version

    - LOAD= does not work at the moment, but will shortly (there's a
  CL teed up)

    - Sorry SHARED=1 people, that's broken again

 Build instructions:

 $ cd $CHROMIUM_ROOT/src/build
 $ hammer [targets]

 Default is all.  You can specify any of the targets from the .gyp files to
 build just the specified targets.  So:

 $ cd $CHROMIUM_ROOT/src/build
 $ hammer app
 $ ../sconsbuild/Debug/chrome

 If you prefer to do everything from the src/ directory, use -C (like make):

 $ cd $CHROMIUM_ROOT/src
 $ hammer -C build app
 $ sconsbuild/Debug/chrome

 If you have questions or notice problems, you know who to find...

 


--~--~-~--~~~---~--~~
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: gyp build on Linux

2009-04-02 Thread Dean McNamee

I can't actually get it to build (trying Release for now), I am
getting linker errors for X calls, we are probably not linking
correctly.  I will debug it :\

On Thu, Apr 2, 2009 at 12:11 PM, Dean McNamee de...@chromium.org wrote:
 Word on the street is that the ccflags are all wrong, and that release
 builds aren't being built release properly.

 On Thu, Apr 2, 2009 at 7:23 AM, Mark Mentovai m...@chromium.org wrote:

 Awesome.  This is seriously good news.  Thanks!

 Mark

 Steven Knight wrote:
 Linux builds have been converted to gyp-generated SCons files.

 I'm in the process of updating the wiki pages to reflect the change.  Here's
 the executive summary of the most important points (or the ones I can
 remember):


    - The gclient hook will have gyp generate the .scons files for you
  after next update

    - Output is now generated in src/sconsbuild/{Debug,Release}

    - Consequently, it's going to rebuild your (Linux) world after
  your first update

    - The main build entry point is now the src/build directory;
  see below for a little more detail.

    - Start using --mode=Release (not --mode=opt) to build the
  release version

    - LOAD= does not work at the moment, but will shortly (there's a
  CL teed up)

    - Sorry SHARED=1 people, that's broken again

 Build instructions:

 $ cd $CHROMIUM_ROOT/src/build
 $ hammer [targets]

 Default is all.  You can specify any of the targets from the .gyp files to
 build just the specified targets.  So:

 $ cd $CHROMIUM_ROOT/src/build
 $ hammer app
 $ ../sconsbuild/Debug/chrome

 If you prefer to do everything from the src/ directory, use -C (like make):

 $ cd $CHROMIUM_ROOT/src
 $ hammer -C build app
 $ sconsbuild/Debug/chrome

 If you have questions or notice problems, you know who to find...

 



--~--~-~--~~~---~--~~
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: gyp build on Linux

2009-04-02 Thread Dean McNamee

Notice the lack of -O2, etc.  This also broke SYMBOLS= PROFILE=, COVERAGE=, etc.

I am tempted to revert it all.

de...@trex:build$ hammer -j6 --mode=Release SYMBOLS=1 --verbose v8_shell
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
g++ -o 
/usr/local/google/home/deanm/chrome/git/new/src/sconsbuild/Release/obj/v8/src/snapshot-empty.o
-c -m32 -pthread -march=pentium4 -fno-exceptions -msse2 -mfpmath=sse
-DCHROMIUM_BUILD -DNDEBUG
-I/usr/local/google/home/deanm/chrome/git/new/src/sconsbuild/Release/obj/v8/src
-I/usr/local/google/home/deanm/chrome/git/new/src/v8/src
/usr/local/google/home/deanm/chrome/git/new/src/v8/src/snapshot-empty.cc
g++ -o 
/usr/local/google/home/deanm/chrome/git/new/src/sconsbuild/Release/obj/v8/src/accessors.o
-c -m32 -pthread -march=pentium4 -fno-exceptions -msse2 -mfpmath=sse
-DCHROMIUM_BUILD -DNDEBUG
-I/usr/local/google/home/deanm/chrome/git/new/src/sconsbuild/Release/obj/v8/src
-I/usr/local/google/home/deanm/chrome/git/new/src/v8/src
/usr/local/google/home/deanm/chrome/git/new/src/v8/src/accessors.cc
g++ -o 
/usr/local/google/home/deanm/chrome/git/new/src/sconsbuild/Release/obj/v8/src/allocation.o
-c -m32 -pthread -march=pentium4 -fno-exceptions -msse2 -mfpmath=sse
-DCHROMIUM_BUILD -DNDEBUG
-I/usr/local/google/home/deanm/chrome/git/new/src/sconsbuild/Release/obj/v8/src
-I/usr/local/google/home/deanm/chrome/git/new/src/v8/src
/usr/local/google/home/deanm/chrome/git/new/src/v8/src/allocation.cc



On Thu, Apr 2, 2009 at 12:43 PM, Dean McNamee de...@chromium.org wrote:
 -lX11 -lXrender -lXext (at least) was dropped in the switch to gyp.  I
 tried to understand how gyp worked or where these were coming from,
 but no luck.

 On Thu, Apr 2, 2009 at 12:35 PM, Dean McNamee de...@chromium.org wrote:
 I can't actually get it to build (trying Release for now), I am
 getting linker errors for X calls, we are probably not linking
 correctly.  I will debug it :\

 On Thu, Apr 2, 2009 at 12:11 PM, Dean McNamee de...@chromium.org wrote:
 Word on the street is that the ccflags are all wrong, and that release
 builds aren't being built release properly.

 On Thu, Apr 2, 2009 at 7:23 AM, Mark Mentovai m...@chromium.org wrote:

 Awesome.  This is seriously good news.  Thanks!

 Mark

 Steven Knight wrote:
 Linux builds have been converted to gyp-generated SCons files.

 I'm in the process of updating the wiki pages to reflect the change.  
 Here's
 the executive summary of the most important points (or the ones I can
 remember):


    - The gclient hook will have gyp generate the .scons files for you
  after next update

    - Output is now generated in src/sconsbuild/{Debug,Release}

    - Consequently, it's going to rebuild your (Linux) world after
  your first update

    - The main build entry point is now the src/build directory;
  see below for a little more detail.

    - Start using --mode=Release (not --mode=opt) to build the
  release version

    - LOAD= does not work at the moment, but will shortly (there's a
  CL teed up)

    - Sorry SHARED=1 people, that's broken again

 Build instructions:

 $ cd $CHROMIUM_ROOT/src/build
 $ hammer [targets]

 Default is all.  You can specify any of the targets from the .gyp files 
 to
 build just the specified targets.  So:

 $ cd $CHROMIUM_ROOT/src/build
 $ hammer app
 $ ../sconsbuild/Debug/chrome

 If you prefer to do everything from the src/ directory, use -C (like 
 make):

 $ cd $CHROMIUM_ROOT/src
 $ hammer -C build app
 $ sconsbuild/Debug/chrome

 If you have questions or notice problems, you know who to find...

 





--~--~-~--~~~---~--~~
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: gyp build on Linux

2009-04-02 Thread Dean McNamee

-lX11 -lXrender -lXext (at least) was dropped in the switch to gyp.  I
tried to understand how gyp worked or where these were coming from,
but no luck.

On Thu, Apr 2, 2009 at 12:35 PM, Dean McNamee de...@chromium.org wrote:
 I can't actually get it to build (trying Release for now), I am
 getting linker errors for X calls, we are probably not linking
 correctly.  I will debug it :\

 On Thu, Apr 2, 2009 at 12:11 PM, Dean McNamee de...@chromium.org wrote:
 Word on the street is that the ccflags are all wrong, and that release
 builds aren't being built release properly.

 On Thu, Apr 2, 2009 at 7:23 AM, Mark Mentovai m...@chromium.org wrote:

 Awesome.  This is seriously good news.  Thanks!

 Mark

 Steven Knight wrote:
 Linux builds have been converted to gyp-generated SCons files.

 I'm in the process of updating the wiki pages to reflect the change.  
 Here's
 the executive summary of the most important points (or the ones I can
 remember):


    - The gclient hook will have gyp generate the .scons files for you
  after next update

    - Output is now generated in src/sconsbuild/{Debug,Release}

    - Consequently, it's going to rebuild your (Linux) world after
  your first update

    - The main build entry point is now the src/build directory;
  see below for a little more detail.

    - Start using --mode=Release (not --mode=opt) to build the
  release version

    - LOAD= does not work at the moment, but will shortly (there's a
  CL teed up)

    - Sorry SHARED=1 people, that's broken again

 Build instructions:

 $ cd $CHROMIUM_ROOT/src/build
 $ hammer [targets]

 Default is all.  You can specify any of the targets from the .gyp files 
 to
 build just the specified targets.  So:

 $ cd $CHROMIUM_ROOT/src/build
 $ hammer app
 $ ../sconsbuild/Debug/chrome

 If you prefer to do everything from the src/ directory, use -C (like make):

 $ cd $CHROMIUM_ROOT/src
 $ hammer -C build app
 $ sconsbuild/Debug/chrome

 If you have questions or notice problems, you know who to find...

 




--~--~-~--~~~---~--~~
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: gyp build on Linux

2009-04-02 Thread Dean McNamee

(this isn't just V8, all of chromium is built without optimization in
release).  There are lots of other issues all over the place.

On Thu, Apr 2, 2009 at 1:14 PM, Dean McNamee de...@chromium.org wrote:
 Notice the lack of -O2, etc.  This also broke SYMBOLS= PROFILE=, COVERAGE=, 
 etc.

 I am tempted to revert it all.

 de...@trex:build$ hammer -j6 --mode=Release SYMBOLS=1 --verbose v8_shell
 scons: Reading SConscript files ...
 scons: done reading SConscript files.
 scons: Building targets ...
 g++ -o 
 /usr/local/google/home/deanm/chrome/git/new/src/sconsbuild/Release/obj/v8/src/snapshot-empty.o
 -c -m32 -pthread -march=pentium4 -fno-exceptions -msse2 -mfpmath=sse
 -DCHROMIUM_BUILD -DNDEBUG
 -I/usr/local/google/home/deanm/chrome/git/new/src/sconsbuild/Release/obj/v8/src
 -I/usr/local/google/home/deanm/chrome/git/new/src/v8/src
 /usr/local/google/home/deanm/chrome/git/new/src/v8/src/snapshot-empty.cc
 g++ -o 
 /usr/local/google/home/deanm/chrome/git/new/src/sconsbuild/Release/obj/v8/src/accessors.o
 -c -m32 -pthread -march=pentium4 -fno-exceptions -msse2 -mfpmath=sse
 -DCHROMIUM_BUILD -DNDEBUG
 -I/usr/local/google/home/deanm/chrome/git/new/src/sconsbuild/Release/obj/v8/src
 -I/usr/local/google/home/deanm/chrome/git/new/src/v8/src
 /usr/local/google/home/deanm/chrome/git/new/src/v8/src/accessors.cc
 g++ -o 
 /usr/local/google/home/deanm/chrome/git/new/src/sconsbuild/Release/obj/v8/src/allocation.o
 -c -m32 -pthread -march=pentium4 -fno-exceptions -msse2 -mfpmath=sse
 -DCHROMIUM_BUILD -DNDEBUG
 -I/usr/local/google/home/deanm/chrome/git/new/src/sconsbuild/Release/obj/v8/src
 -I/usr/local/google/home/deanm/chrome/git/new/src/v8/src
 /usr/local/google/home/deanm/chrome/git/new/src/v8/src/allocation.cc



 On Thu, Apr 2, 2009 at 12:43 PM, Dean McNamee de...@chromium.org wrote:
 -lX11 -lXrender -lXext (at least) was dropped in the switch to gyp.  I
 tried to understand how gyp worked or where these were coming from,
 but no luck.

 On Thu, Apr 2, 2009 at 12:35 PM, Dean McNamee de...@chromium.org wrote:
 I can't actually get it to build (trying Release for now), I am
 getting linker errors for X calls, we are probably not linking
 correctly.  I will debug it :\

 On Thu, Apr 2, 2009 at 12:11 PM, Dean McNamee de...@chromium.org wrote:
 Word on the street is that the ccflags are all wrong, and that release
 builds aren't being built release properly.

 On Thu, Apr 2, 2009 at 7:23 AM, Mark Mentovai m...@chromium.org wrote:

 Awesome.  This is seriously good news.  Thanks!

 Mark

 Steven Knight wrote:
 Linux builds have been converted to gyp-generated SCons files.

 I'm in the process of updating the wiki pages to reflect the change.  
 Here's
 the executive summary of the most important points (or the ones I can
 remember):


    - The gclient hook will have gyp generate the .scons files for you
  after next update

    - Output is now generated in src/sconsbuild/{Debug,Release}

    - Consequently, it's going to rebuild your (Linux) world after
  your first update

    - The main build entry point is now the src/build directory;
  see below for a little more detail.

    - Start using --mode=Release (not --mode=opt) to build the
  release version

    - LOAD= does not work at the moment, but will shortly (there's a
  CL teed up)

    - Sorry SHARED=1 people, that's broken again

 Build instructions:

 $ cd $CHROMIUM_ROOT/src/build
 $ hammer [targets]

 Default is all.  You can specify any of the targets from the .gyp 
 files to
 build just the specified targets.  So:

 $ cd $CHROMIUM_ROOT/src/build
 $ hammer app
 $ ../sconsbuild/Debug/chrome

 If you prefer to do everything from the src/ directory, use -C (like 
 make):

 $ cd $CHROMIUM_ROOT/src
 $ hammer -C build app
 $ sconsbuild/Debug/chrome

 If you have questions or notice problems, you know who to find...

 






--~--~-~--~~~---~--~~
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: gyp build on Linux

2009-04-02 Thread Dean McNamee

I confirmed the debug build line has no -g.

Also, all of the buildbots are red because of ICU issues:

http://build.chromium.org/buildbot/waterfall/builders/Modules%20Linux%20(dbg)/builds/6601/steps/test_shell_tests/logs/MimeTypeTests

On Thu, Apr 2, 2009 at 3:46 PM, Dan Kegel daniel.r.ke...@gmail.com wrote:
 And it seems to be built without debugging flags in debug mode.
 At least, I can't single-step through code on Linux.

 On Thu, Apr 2, 2009 at 4:18 AM, Dean McNamee de...@chromium.org wrote:
 (this isn't just V8, all of chromium is built without optimization in
 release).  There are lots of other issues all over the place.

 On Thu, Apr 2, 2009 at 1:14 PM, Dean McNamee de...@chromium.org wrote:
 Notice the lack of -O2, etc.  This also broke SYMBOLS= PROFILE=, COVERAGE=, 
 etc.

 I am tempted to revert it all.


--~--~-~--~~~---~--~~
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: variant definitions in the .gyp files

2009-04-02 Thread Dean McNamee

On Thu, Apr 2, 2009 at 7:48 PM, Mark Mentovai m...@chromium.org wrote:

 Steven Knight wrote:
   'official': {
 'defines': ['OFFICIAL_BUILD'],
 # Make sure units of code and data go in their own section,
 # and then GC them in the linker to remove unreferenced data
 # and code.  Currently gold doesn't support --gc-sections,
 # so you'll have to build with the original GNU ld.
 'cflags': ['-ffunction-sections', '-fdata-sections'],
 'linkflags': ['-Wl,--gc-sections'],
   },

 I agree with what Tom said regarding 'official' as a variant.
 variants will need to have the same restrictions that configurations
 do, meaning that they won't be able to influence 'sources' or
 'actions' or 'rules' or anything else in input.py's
 non_configuration_keys list.  For 'official', we do need the ability
 to make changes to some non_configuration_keys, so this won't fly.
 'official' will need to remain a GYP generation-time tunable.

   'symbols': {
 'cflags': ['-g'],
   },

 For Chrome's purposes, I don't see why we would ever want to build
 without symbols.  Either you're a developer and symbols are handy in a
 direct way, or you're building an official release build and symbols
 are handy for crash reporting.  In what cases would -g0 be useful?

We did this for speed, not generating debug symbols in all of your
objects, and linking together a massive binary, can cut down the build
time significantly.  Basically for a lot of people release is
something they can build and use, and debug is something they will use
for development.  The stack traces / debugging / etc in a optimized
build isn't that great anyway, so basically what you generally want is
something like:

debug - symbols
release - no symbols
official - symbols

but it is nice to be able to build a release w/ symbols if you want, a
good example is for running valgrind, etc.


 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: Chromium App Executables Disk Layout

2009-03-24 Thread Dean McNamee

Something important would be to understand the overhead for a shared
library (fpic, relocation, etc).

On Tue, Mar 24, 2009 at 7:45 PM, Thomas Van Lenten
thoma...@chromium.org wrote:
 The Windows product builds a small executable that then loads the main
 chromium dll, and hands off control to that.  I believe this is done solely
 for updating reasons.  All the difference processes start from that one
 shim.

 On the Mac, we are currently building as a single executable.  But, this
 brings up some complications, we need to be able to launch the Renderers
 with different Cocoa initialization.  This data comes out of the info.plist,
 so we really need different bundles on disk (the OS acts on the data before
 the process is even started).  So what it's looking like is that we need to
 move to a world where we also have a small shim for Chromium that loads a
 main shared lib and hands off control.  Then we'll have a second shim for
 Renderers (and maybe plugin hosts, etc.) that loads the main shared lib and
 hands off control.  Each of these shims will have different info.plists to
 provide the different Cocoa configuration information.

 Linux currently builds as one executable also.  But Adam proposed we create
 a second executable (via hardlink?) for AppArmor as a sandbox?

 Does it make sense to standardize/require a small shell and shared lib for
 all platforms?  One advantage of this approach on all platforms is they can
 initialize breakpad/crash reporting to the started up in the shim, so a
 crash during the loading of the main shared lib would be captured.  One
 place not standardizing this gets ugly is within the build system, where it
 could become very complex expressing what goes into apps vs. shared libs.

 Thoughts/suggestions/comments?

 TVL


 


--~--~-~--~~~---~--~~
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: sheriffs: please keep the purify bots green

2009-03-18 Thread Dean McNamee

It looks similar to:

http://build.chromium.org/buildbot/waterfall/builders/XP%20Unit%20(purify)/builds/2466/steps/purify%20test:%20unit/logs/stdio

Which is what caused hclam's patch to reverted previously.

On Wed, Mar 18, 2009 at 7:55 PM, Adam Langley a...@chromium.org wrote:

 On Wed, Mar 18, 2009 at 11:48 AM, Marc-Antoine Ruel mar...@chromium.org 
 wrote:
 It could be anywhere from 11801 to 11818. ben, jam, agl, dkegel, hclam,
 levin, tc, pkasting checked in during that time frame. ager, sgk did
 non-code changes so I don't think it's them.
 We'll soon make the tree automatically close on failure on some tests. One
 of the issue here is latency.
 Erik, if you can track it down, that'd be really appreciated.

 Possibly hclam:

 UMR in chrome/common/render_messages.h:1257
 IPC::ParamTraits::Write(Message::IPC *,ViewHostMsg_Resource_Request
 const)



 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] When creating new files

2009-03-17 Thread Dean McNamee

Usually when I create a new file, I just copy some old one, but then I
get the copyright date wrong, or forget to update the include guards.
I just fixed a lot of incorrect include guards in our code, which were
clearly mistakes from manually typing out the names.  It could be much
easier, so here is my script.  You run it something like genc
chrome/common/my_new_file.h  my_new_file.h  I also use it for .cc
files and just remove the guards.

#!/bin/sh

if [ $# -ne 1 ]; then
  echo usage: genc base/pants.h
  exit 1
fi

GUARD=`echo $1_ | tr '[:lower:]./-' '[:upper:]___'`

cat EOF
// Copyright (c) 2009 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef $GUARD
#define $GUARD

#endif  // $GUARD
EOF

--~--~-~--~~~---~--~~
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: Doing some research with views and GTK.

2009-03-15 Thread Dean McNamee

I had a discussion about Views with Scott.  I think I am on the side
of the fence that porting views it not a good idea.  One of the things
that came up is remote X, would it be possible to ever have good
remote X performance with the Views panting model?  I wouldn't want to
paint ourselves into a corner (dum dum dum).

On Sat, Mar 14, 2009 at 4:43 AM,  t...@chromium.org wrote:

 I started a page describing some of the high level tradeoffs between the
 two.  Please add items or elaborate.

 http://code.google.com/p/chromium/wiki/GtkVsViewsGtk

 On Fri, 13 Mar 2009, Ben Goodger (Google) wrote:


 Scott Violet, Elliot, Evan Martin, Adam Langley, Tony, Linus and I met
 briefly earlier today to discuss Linux UI and Gtk.

 What we agreed is that next week Elliot and I will spend some time
 researching what it would take to use views with Gtk, including the
 Widget/Window types and NativeControl. The plan is to use native Gtk
 widgets for the outer container and for all locations where a
 NativeControl is used on Windows, so the applicable system integration
 for things like IME in text fields should just work. In this
 capacity, views is used as a layout engine and an event
 receiver/propagation system for views that aren't GtkWidgets, as it is
 on Windows for widgets that aren't HWNDs/Common Controls. As usual,
 Skia is providing the rendering.

 Since we're just researching right now, don't let this delay any UI
 work that's already under way. We'll report back to this group at the
 end of next week with our findings.

 -Ben

 

 


--~--~-~--~~~---~--~~
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: Doing some research with views and GTK.

2009-03-15 Thread Dean McNamee

On Sat, Mar 14, 2009 at 12:59 AM, Ben Goodger (Google) b...@chromium.org 
wrote:

 Scott Violet, Elliot, Evan Martin, Adam Langley, Tony, Linus and I met
 briefly earlier today to discuss Linux UI and Gtk.

 What we agreed is that next week Elliot and I will spend some time
 researching what it would take to use views with Gtk, including the
 Widget/Window types and NativeControl. The plan is to use native Gtk
 widgets for the outer container and for all locations where a
 NativeControl is used on Windows, so the applicable system integration
 for things like IME in text fields should just work. In this
 capacity, views is used as a layout engine and an event
 receiver/propagation system for views that aren't GtkWidgets, as it is
 on Windows for widgets that aren't HWNDs/Common Controls. As usual,
 Skia is providing the rendering.

I think it's important to point our here that Skia (well ChromeCanvas)
is not equal on Linux and Windows.  Specifically Windows draws text
using GDI, which current is much more powerful than drawing text using
Skia.  Until Skia has a text layout engine, panting text with Skia is
basically a no go.  We would still need to draw the text with Pango /
Cairo, but we could incorporate that into ChromeCanvas...


 Since we're just researching right now, don't let this delay any UI
 work that's already under way. We'll report back to this group at the
 end of next week with our findings.

 -Ben

 


--~--~-~--~~~---~--~~
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: Status Bubble GTK?

2009-03-13 Thread Dean McNamee

In case you wanted to boring technical details on the topic:

From the ICCCM:

http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.10


If the window will be visible for a very short time and should not be
decorated at all, the client can set override-redirect on the window.
In general, this should be done only if the pointer is grabbed while
the window is mapped. The window manager will never interfere with
these windows, which should be used with caution. An example of an
appropriate use is a pop-up menu.


From GTK, when creating a popup, it sets the GDK type to:

GDK_WINDOW_TEMP

From GDK, when handling this window type:

  if (private-window_type == GDK_WINDOW_TEMP)
  {
xattributes.save_under = True;
xattributes.override_redirect = True;
xattributes.cursor = None;
xattributes_mask |= CWSaveUnder | CWOverrideRedirect;

My understanding is that the window manager will never see these
windows, as it ignores the window managers SubstructureRedirectMask.
This is the reason popups actually work correctly and are put exactly
where you ask them to be put, the window manager doesn't even get a
chance to see them.

The other solution it sounded like you were saying is to try to create
a normal window, but asking the window manager to position it exactly
how you want and without decorations.  I don't believe this works in
practice with a lot of window managers (tiling, etc).  These are
hints, and I believe they very often go ignored.

It seems the only real solution would be to use a popup, but to
manually go to X and manage the stacking order, if this is even
possible.  I think the best thing to do is to make it a child window
of the WebContents, and we can position it within the contents exactly
where we want it.  It will never extend outside of our top level
window, but I think that's ok.

I wonder if the situation is at all similar on Mac.

On Fri, Mar 13, 2009 at 1:02 PM, Dean McNamee de...@chromium.org wrote:
 Hey Darin,

 I'm a bit familiar with this problem.  From what I understand, the
 window manager doesn't get a chance to handle popup windows.  The
 problem we have with the status bubble now, is if chrome is not on top
 (it's behind some other window), and you mouse over a link, our status
 bubble popup comes up over the window in front, since a popup wants to
 be topmost.

 We would probably have to try to manage the stacking order ourselves,
 since the window manager can't help with this situation.  I personally
 think what Evan is proposing is simpler and good enough, additionally
 Linux users aren't going to expect this behavior of things moving
 outside the main window.  It's nice on Windows, but I don't really
 think it's worth the work on Linux.

 On Thu, Mar 12, 2009 at 10:40 PM, Evan Martin e...@chromium.org wrote:

 On Thu, Mar 12, 2009 at 2:34 PM, Darin Fisher da...@chromium.org wrote:
 I see... there has to be a way with window manager hints to make this work
 :-)

 I hope so, too.  I played around with it for a while in a test app,
 and then decided that doing it Right was going to be a lot of effort
 and I'd be better off fixing gaping holes than polishing this.  I made
 it extra-ugly just so nobody would take it too seriously.

 We might be getting a 20% who's written a window manager before; I was
 trying to interest him in this problem as a starter project.

 



--~--~-~--~~~---~--~~
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: focusRingColor() listening to system settings changes on Windows?

2009-03-09 Thread Dean McNamee

I would have to guess that if there was, it would be some window
message (WM_THEMECHANGED ?) sent to our top level window, and the
plumbing would be annoying for it.

On Mon, Mar 9, 2009 at 10:21 AM, Jeremy Moskovich jer...@chromium.org wrote:
 (mailed to random people who I thought might know the answer).
 In platform/graphics/chromium/ColorChromium.cpp we currently hardcode the
 value of focusRingColor on OS X  Windows.
 On OS X Safari listens on a notification to see if the user has changed the
 system focus color.
 Is there a similar notification mechanism on Windows we should be using?
 Best regards,
 Jeremy
 


--~--~-~--~~~---~--~~
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-checkins] r10972 - in trunk/src: chrome/browser/renderer_host chrome/common net/base net/http net/url_request webkit/glue

2009-03-05 Thread Dean McNamee

I just verified that this patch completely broke everything.  You
committed late at night when no sheriff or anyone was around, and then
you went to bed.

Thanks for not testing your code, and not watching the tree go red after it.

Appreciation from another time zone,
-- dean

On Thu, Mar 5, 2009 at 7:38 AM,  hc...@chromium.org wrote:

 Author: hc...@chromium.org
 Date: Wed Mar  4 22:38:52 2009
 New Revision: 10972

 Log:
 Highlights of changes:
 1. Added entry to ResourceResponseHead so that it contains
   either a base::PlatformFile (OS_WIN) or
   base::FileDescriptor (OS_POSIX) for passing the file
   handle from browser to renderer process.
 2. Also added IPC messages for reporting download progress
   and ACK message for it. ResourceLoaderBridge::Peer::OnDownloadProgress
   is added so that the peer is notified of the download
   progress in the renderer process.
 3. Load flag to kick start the resource loading for media
   files. LOAD_MEDIA_RESOURCE is added so that
   ResourceDispatcherHost knows how to use a different
   ResourceHandler for handling media resource request.

 Review URL: http://codereview.chromium.org/27168

 Modified:
   trunk/src/chrome/browser/renderer_host/resource_dispatcher_host.cc
   trunk/src/chrome/browser/renderer_host/resource_handler.h
   trunk/src/chrome/common/render_messages.h
   trunk/src/chrome/common/render_messages_internal.h
   trunk/src/chrome/common/resource_dispatcher.cc
   trunk/src/chrome/common/resource_dispatcher.h
   trunk/src/net/base/load_flags.h
   trunk/src/net/http/http_cache.cc
   trunk/src/net/http/http_cache_unittest.cc
   trunk/src/net/url_request/url_request.h
   trunk/src/webkit/glue/resource_loader_bridge.h

 Modified: trunk/src/chrome/browser/renderer_host/resource_dispatcher_host.cc
 ==
 --- trunk/src/chrome/browser/renderer_host/resource_dispatcher_host.cc  
 (original)
 +++ trunk/src/chrome/browser/renderer_host/resource_dispatcher_host.cc  Wed 
 Mar  4 22:38:52 2009
 @@ -815,6 +815,15 @@
   response-response_head.content_length = request-GetExpectedContentSize();
   request-GetMimeType(response-response_head.mime_type);

 +  // Structure of ResourceResponseHead depends on the platform, so we do it
 +  // differently.
 +#if defined(OS_POSIX)
 +  response-response_head.response_data_file.fd = 
 request-response_data_file();
 +  response-response_head.response_data_file.auto_close = false;
 +#elif defined(OS_WIN)
 +  response-response_head.response_data_file = request-response_data_file();
 +#endif
 +
   if (request-ssl_info().cert) {
     int cert_id =
         CertStore::GetSharedInstance()-StoreCert(

 Modified: trunk/src/chrome/browser/renderer_host/resource_handler.h
 ==
 --- trunk/src/chrome/browser/renderer_host/resource_handler.h   (original)
 +++ trunk/src/chrome/browser/renderer_host/resource_handler.h   Wed Mar  4 
 22:38:52 2009
 @@ -12,6 +12,11 @@
  #ifndef CHROME_BROWSER_RENDERER_HOST_RESOURCE_HANDLER_H_
  #define CHROME_BROWSER_RENDERER_HOST_RESOURCE_HANDLER_H_

 +#include build/build_config.h
 +#if defined(OS_POSIX)
 +#include base/file_descriptor_posix.h
 +#endif
 +#include base/platform_file.h
  #include chrome/common/filter_policy.h
  #include net/url_request/url_request_status.h
  #include webkit/glue/resource_loader_bridge.h
 @@ -29,6 +34,20 @@
   // Specifies if the resource should be filtered before being displayed
   // (insecure resources can be filtered to keep the page secure).
   FilterPolicy::Type filter_policy;
 +
 +  // A platform specific handle for a file that carries response data. This
 +  // entry is used if the resource request is of type ResourceType::MEDIA and
 +  // the underlying cache layer keeps the response data in a standalone file.
 +#if defined(OS_POSIX)
 +  // If the response data file is available, the file handle is stored in
 +  // response_data_file.fd, its value is base::kInvalidPlatformFileValue
 +  // otherwise.
 +  base::FileDescriptor response_data_file;
 +#elif defined(OS_WIN)
 +  // An asynchronous file handle to the response data file, its value is
 +  // base::kInvalidPlatformFileValue if the file is not available.
 +  base::PlatformFile response_data_file;
 +#endif
  };

  // Parameters for a synchronous resource response.

 Modified: trunk/src/chrome/common/render_messages.h
 ==
 --- trunk/src/chrome/common/render_messages.h   (original)
 +++ trunk/src/chrome/common/render_messages.h   Wed Mar  4 22:38:52 2009
 @@ -377,6 +377,9 @@
      case ResourceType::OBJECT:
        type = LOBJECT;
        break;
 +     case ResourceType::MEDIA:
 +       type = LMEDIA;
 +       break;
      default:
        type = LUNKNOWN;
        break;
 @@ -1334,12 +1337,14 @@
     ParamTraitswebkit_glue::ResourceLoaderBridge::ResponseInfo::Write(m, p);
     WriteParam(m, 

[chromium-dev] Re: [chromium-checkins] r10972 - in trunk/src: chrome/browser/renderer_host chrome/common net/base net/http net/url_request webkit/glue

2009-03-05 Thread Dean McNamee

I didn't mean that to be such a personal flame, we need to have some
better guards to prevent this from happening.  It's just frustrating
when the tree is broken for hours at a time.  It's happened a lot
lately, the tree has been closed and/or hosed for the majority of my
workday week.  The sheriff wakes up, reverts everything closes the
tree, nurses it back to heath, and then it happens again the next
morning.  It's not really a good strategy.

Maybe we need to limit the hours people are commit, if a sheriff isn't
around to fix things?  I don't really think that's a good strategy
either.  I don't know.

On Thu, Mar 5, 2009 at 5:34 PM, Dean McNamee de...@chromium.org wrote:
 I just verified that this patch completely broke everything.  You
 committed late at night when no sheriff or anyone was around, and then
 you went to bed.

 Thanks for not testing your code, and not watching the tree go red after it.

 Appreciation from another time zone,
 -- dean

 On Thu, Mar 5, 2009 at 7:38 AM,  hc...@chromium.org wrote:

 Author: hc...@chromium.org
 Date: Wed Mar  4 22:38:52 2009
 New Revision: 10972

 Log:
 Highlights of changes:
 1. Added entry to ResourceResponseHead so that it contains
   either a base::PlatformFile (OS_WIN) or
   base::FileDescriptor (OS_POSIX) for passing the file
   handle from browser to renderer process.
 2. Also added IPC messages for reporting download progress
   and ACK message for it. ResourceLoaderBridge::Peer::OnDownloadProgress
   is added so that the peer is notified of the download
   progress in the renderer process.
 3. Load flag to kick start the resource loading for media
   files. LOAD_MEDIA_RESOURCE is added so that
   ResourceDispatcherHost knows how to use a different
   ResourceHandler for handling media resource request.

 Review URL: http://codereview.chromium.org/27168

 Modified:
   trunk/src/chrome/browser/renderer_host/resource_dispatcher_host.cc
   trunk/src/chrome/browser/renderer_host/resource_handler.h
   trunk/src/chrome/common/render_messages.h
   trunk/src/chrome/common/render_messages_internal.h
   trunk/src/chrome/common/resource_dispatcher.cc
   trunk/src/chrome/common/resource_dispatcher.h
   trunk/src/net/base/load_flags.h
   trunk/src/net/http/http_cache.cc
   trunk/src/net/http/http_cache_unittest.cc
   trunk/src/net/url_request/url_request.h
   trunk/src/webkit/glue/resource_loader_bridge.h

 Modified: trunk/src/chrome/browser/renderer_host/resource_dispatcher_host.cc
 ==
 --- trunk/src/chrome/browser/renderer_host/resource_dispatcher_host.cc  
 (original)
 +++ trunk/src/chrome/browser/renderer_host/resource_dispatcher_host.cc  Wed 
 Mar  4 22:38:52 2009
 @@ -815,6 +815,15 @@
   response-response_head.content_length = request-GetExpectedContentSize();
   request-GetMimeType(response-response_head.mime_type);

 +  // Structure of ResourceResponseHead depends on the platform, so we do it
 +  // differently.
 +#if defined(OS_POSIX)
 +  response-response_head.response_data_file.fd = 
 request-response_data_file();
 +  response-response_head.response_data_file.auto_close = false;
 +#elif defined(OS_WIN)
 +  response-response_head.response_data_file = 
 request-response_data_file();
 +#endif
 +
   if (request-ssl_info().cert) {
     int cert_id =
         CertStore::GetSharedInstance()-StoreCert(

 Modified: trunk/src/chrome/browser/renderer_host/resource_handler.h
 ==
 --- trunk/src/chrome/browser/renderer_host/resource_handler.h   (original)
 +++ trunk/src/chrome/browser/renderer_host/resource_handler.h   Wed Mar  4 
 22:38:52 2009
 @@ -12,6 +12,11 @@
  #ifndef CHROME_BROWSER_RENDERER_HOST_RESOURCE_HANDLER_H_
  #define CHROME_BROWSER_RENDERER_HOST_RESOURCE_HANDLER_H_

 +#include build/build_config.h
 +#if defined(OS_POSIX)
 +#include base/file_descriptor_posix.h
 +#endif
 +#include base/platform_file.h
  #include chrome/common/filter_policy.h
  #include net/url_request/url_request_status.h
  #include webkit/glue/resource_loader_bridge.h
 @@ -29,6 +34,20 @@
   // Specifies if the resource should be filtered before being displayed
   // (insecure resources can be filtered to keep the page secure).
   FilterPolicy::Type filter_policy;
 +
 +  // A platform specific handle for a file that carries response data. This
 +  // entry is used if the resource request is of type ResourceType::MEDIA 
 and
 +  // the underlying cache layer keeps the response data in a standalone 
 file.
 +#if defined(OS_POSIX)
 +  // If the response data file is available, the file handle is stored in
 +  // response_data_file.fd, its value is base::kInvalidPlatformFileValue
 +  // otherwise.
 +  base::FileDescriptor response_data_file;
 +#elif defined(OS_WIN)
 +  // An asynchronous file handle to the response data file, its value is
 +  // base::kInvalidPlatformFileValue if the file is not available.
 +  base::PlatformFile

[chromium-dev] Re: [chromium-checkins] r10972 - in trunk/src: chrome/browser/renderer_host chrome/common net/base net/http net/url_request webkit/glue

2009-03-05 Thread Dean McNamee

On Thu, Mar 5, 2009 at 6:01 PM, Nicolas Sylvain nsylv...@chromium.org wrote:
 There is one thing though, I don't think hclam checkin turned any Linux
 tests red. The linux build was unusable, but the unit tests and layout tests
 were passing. It seems like there is a lack of tests here.

Yeah, we aren't running UI tests yet, and that would have caught this
(or page cycler or anything else).  I think we're getting close, but
there is a bunch of things involved to get everything working.  We
definitely need better testing, but I think we're all test burnt out
from working on layout tests, and just want to get some of our UI
going.

 When I woke up I reverted his change because it broke Purify on windows and
 another unit test on windows, on only 1 bot.  There is a possibility that he
 did wait, but did not judge that the tree was red enough to worry about it.
 (the unit test did look like a flakyness, and Purify is often slow to give
 results).
 I learned just after the revert that it did fix the problem with linux.
 So, my recommendations:
 1. hclam: don't resubmit until you are sure it does not break linux. I'm
 sure any linux people here can help you with this.
 2. linux people: We need more tests.
 3. Everyone: If the tree is broken, and no sheriff is around, please, try to
 find what broke it, and revert the change.

I pretty much wasted my day doing 3).  It was my fault for not
starting at the top and just going down, reverting, rebuild, etc.
That would have found it pretty quickly.  Mostly because it takes so
long to build, I instead tried to debug it, hoping I would find the
answer quickly.  In the end I chased a bunch of wrong ideas and wasted
a ton of time on it.

 If the tree is broken because of a problem with the buildbots, and no one is
 around to fix it, you can also page me. (I'll add the email alias to my who
 page).

It's not so fair to wake you up in the middle of the night.  I'd
rather just take the day off :)

I'm sure I was far too hard on hclam, I'm not super angry or anything.
 I am just trying to point out a problem that we continually seem to
have, and we obviously need to improve here and have clear steps about
how we're doing it.  More tests on Mac and Linux definitely need to
happen.  If SVN wasn't so slow, I would have just sync'd back a few
revisions.  We should make our build and source control faster, the
build I know we're working on.

I think also some improvement to the waterfall is going to be really
helpful.  We have so many builds and builders and tests now, it's
really hard to take all the information in.  When there is a problem,
we should have like a top 10 recent shady commits page, which tries
to attribute new failures across all our builders and tests to a
change list.  It's often hard to tell from a single builder if a patch
was bad, but if it caused a purify problem here, another problem here,
etc, then at least that would give people a good starting point of
where to look when they think the tree has gone sour.  We also
obviously need to improve our test flakiness.

I've committed more than my share of shady patches, and I think so has
the rest of the team.  Again, I didn't meant to try to blame things so
personally.  And you're right, even when you do commit and watch the
tree, it's often hard to tell the outcome, when it goes from kinda
red to still kinda red, that isn't a great gauge.  It just seems
with all of the new platforms / code / complexity, we need some better
ways of managing when it happens, because it's going to keep on
happening.  I think the outcome goal should be to not have sheriffs,
and to have a system that can handle itself.

 Nicolas

 On Thu, Mar 5, 2009 at 8:47 AM, Amanda Walker ama...@chromium.org wrote:

 On Thu, Mar 5, 2009 at 11:41 AM, Dean McNamee de...@chromium.org wrote:
  Maybe we need to limit the hours people are commit, if a sheriff isn't
  around to fix things?  I don't really think that's a good strategy
  either.  I don't know.

 Well, it's not the sheriff's responsibility to fix every checkin,
 they're just there as a safety net.  All of us should be making sure
 we don't break the build, every time we commit something.  I don't
 think limiting commit hours is a workable strategy, given how many
 people are working across so many time zones.  However, last night was
 a good reminder that no one should ever commit and then leave without
 watching the build to make sure it landed cleanly.  It just leaves a
 mess for other people, which is unfriendly.

 --Amanda

 



--~--~-~--~~~---~--~~
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-checkins] r10972 - in trunk/src: chrome/browser/renderer_host chrome/common net/base net/http net/url_request webkit/glue

2009-03-05 Thread Dean McNamee

On Thu, Mar 5, 2009 at 7:03 PM, Alpha (Hin-Chung) Lam hc...@google.com wrote:

 2009/3/5 Amanda Walker ama...@chromium.org

 On Thu, Mar 5, 2009 at 12:38 PM, Alpha (Hin-Chung) Lam hc...@google.com
 wrote:
  everytime I do a checkin I do a sync and send it
  to the try server, which really takes me a lot of time, but still try
  server
  is showing me green light to check in, am I suppose to not trust the try
  server and rely on human intelligence?

 In this case watching the build wouldn't have helped, since the
 buildbots stayed green (I had misinterpreted Dean's original message,
 the tone of which he has since apologized for).

 However, to answer the general question, you should not completely
 trust the try server.  If the try server breaks, it's a very good
 indication that an actual commit would break, but the reverse is not
 true.  If the try server succeeds, it doesn't mean that a commit will
 succeed, since the try server runs fewer tests (and there may be
 commits to the tree in between doing a try and doing a commit).  So
 even if the try succeeds, it's still important to watch the buildbots
 to make sure the actual commit also succeeds.  That wasn't the problem
 in this instance (you wouldn't have seen this failure), but I wanted
 to make sure people don't rely too much on the try server.  It's a
 good preflight check, but it won't catch everything.

 Thanks Amanda and Nicolas for the clarifactions.
 Sorry Dean for wasting your time to debug, I should have comminucated better
 as the patch really is posix specific.
 Sorry all chromium commiters if I have caused trouble to you.

Hey, it's no big deal.  I just want to make sure we took the instance
as an example of how we can improve our build setup, and how we can
keep the tree more stable.


 Alpha


 --Amanda


 


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



[chromium-dev] What's the deal temp_scaffolding_subs ?

2009-03-04 Thread Dean McNamee

I am working on Linux omnibox, and chasing a stupid crash into
temp_scaffolding_stubs.cc (TabContents).

Every method I looked at was just a copy and paste from
tab_contents.cc, without any modifications.  Why?  Why are we not just
using the code in tab_contents.cc ?  There is just a massive ifdef
around it, with no comment as to what doesn't work, why it copied
verbatim into stubs, etc.  Totally confused.

Thanks
-- dean

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



[chromium-dev] Linux modules debug red

2009-02-27 Thread Dean McNamee

It's been red for a while:

[--] 15 tests from GKURL
[ RUN  ] GKURL.SameGetters
[   OK ] GKURL.SameGetters (82 ms)
[ RUN  ] GKURL.DifferentGetters
ASSERTION FAILED: isMainThread()
(/b/slave/linux/build/src/third_party/WebKit/WebCore/platform/text/TextEncodingRegistry.cpp:172
buildBaseTextCodecMaps)
program finished with exit code 245

--~--~-~--~~~---~--~~
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: NSS and NSPR

2009-02-26 Thread Dean McNamee

I realize our checkouts are big, but there is a ton of other stuff
besides NSS.  I don't really see the point in trying to do this just
now, it's seems likely to break a bunch of other platforms and be a
bit of a mess.  If you feel that it's that important, ok, don't break
anything :)

On Thu, Feb 26, 2009 at 8:36 AM, Darin Fisher da...@chromium.org wrote:
 Hmm... I'm OK with having the small duplication of NSS/NSPR code for the
 foreseeable future.  I think it is nice that base doesn't require all of
 NSS+NSPR.  So, I guess that's a +1 in favor of moving it to deps_os as
 planned.

 -Darin



 On Wed, Feb 25, 2009 at 9:08 PM, Michael Moss mm...@chromium.org wrote:

 Does that imply that it shouldn't move to deps? We can restrict it to
 Linux with deps_os now, and then make it apply to all platforms later,
 right? Or is it better to just leave it in trunk since it's already
 there? I'm fine with it either way, though it's less hassle for me to
 leave it where it is, and it means it's in my git tree instead of
 gclient/svn, but that's only a minor benefit since I don't expect to
 be changing it a lot once all these initial commits are in.

 Michael

 On Wed, Feb 25, 2009 at 8:08 PM, Darin Fisher da...@chromium.org wrote:
  If we do that cleanup, then we will need NSS and NSPR on all platforms.
  -Darin
 
 
  On Wed, Feb 25, 2009 at 7:31 PM, Michael Moss mm...@chromium.org
  wrote:
 
  There are actually both nss and nspr under base, but only a handful of
  files, not the whole trees. I plan to clean those up as appropriate,
  once this is all in and working.
 
  Michael
 
  On Wed, Feb 25, 2009 at 5:15 PM, Lei Zhang thes...@chromium.org
  wrote:
  
   BTW, we have both src/third_party/nss/ and src/base/third_party/nss/.
  
   On Wed, Feb 25, 2009 at 5:04 PM, Thomas Van Lenten
   thoma...@chromium.org wrote:
   Sorry for arriving late w/ this question...
  
   I'm guessing NSS  NSPR are needed for the linux build?  Should they
   be
   pulled in via DEPS instead of being directly in src/third_party?  In
   the
   current form it causes both mac and windows to have to add ~80M to
   their svn
   trees that really isn't needed.
  
   TVL
  
  
   
  
  
   
  
 
  
 
 


 


--~--~-~--~~~---~--~~
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: NSS and NSPR

2009-02-26 Thread Dean McNamee

I don't understand why we need to import all of this code just so we
can build an .so.

Why don't we just take the .so's from the 32-bit package we're already
using, and stick them into our .deb?  We can check them into svn if
don't want developers to have to have it, but that problem is already
solved by the install script.

Tracking third_party source (security updates, etc) is a huge pain,
and has caused a lot of problems in the past.  Also, having to build
it seems pointless.

On Thu, Feb 26, 2009 at 6:42 PM, Adam Langley a...@chromium.org wrote:

 On Thu, Feb 26, 2009 at 9:26 AM, Michael Moss mm...@chromium.org wrote:
 include nss and nspr directly in our build, thus bypassing any issues
 with missing system libs.

 Also note that, for the people using git, it's all in the history now
 anyway so it doesn't matter to us if it ever gets removed.


 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: Merge 41017:41057 also needs a clobber for Windows folks

2009-02-19 Thread Dean McNamee

When we spot cases like this, can't we fix the makefiles / build files
so that the dependencies are properly described?

On Thu, Feb 19, 2009 at 12:31 AM, Dimitri Glazkov dglaz...@google.com wrote:

 As it turns out, the clobber applies to Mac and possibly Linux builds.
 Basically, clobber all.

 :DG

 On Wed, Feb 18, 2009 at 3:11 PM, Dimitri Glazkov dglaz...@google.com wrote:
 Hi All,

 Because the latest merge introduces a change to
 third_party/WebKit/WebCore/css/html4.css, which is only picked up by
 DerivedSources.make, making that change actually appear in your build
 requires a clobber.

 :DG


 


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



[chromium-dev] Linux Omnibox

2009-02-19 Thread Dean McNamee

I've started working on a GTK omnibox widget.  I'll let you know when
I have some more progress.

--~--~-~--~~~---~--~~
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: [linux] plugin info caching

2009-02-17 Thread Dean McNamee

I was just reminded of this thread.  I'm not sure if it was
premeditated, but having the mime-types be a function
(NP_GetMIMEDescription) is actually important for a specific Linux
use-case.  nspluginwrapper is a single plugin that proxies access to
other plugins (for example, 64bit - 32bit).  It doesn't know at build
time which plugins it will be proxying for.  At runtime, it's
initialization will walk the directories specific in the npw
configuration, and look for suitable plugins to proxy.

You should be careful with caching metadata here also, since
nspluginwrapper's library.so could be the same, but it could now be
proxying more / different plugins.

On Wed, Jan 28, 2009 at 8:50 AM, Darin Fisher da...@chromium.org wrote:
 Hmm, yeah... if it is easy to do so without a lot of code, that'd be great.
 -Darin

 On Tue, Jan 27, 2009 at 11:36 PM, John Abd-El-Malek j...@chromium.org
 wrote:

 One of my goals with the out of process worker code is it to make it
 easier to have many different types of child processes.  Perhaps it makes
 sense to have the linux port do this stuff in a child process once that code
 is ready.

 On Tue, Jan 27, 2009 at 10:49 PM, Darin Fisher da...@chromium.org wrote:

 Wow.  It sucks that we'll need to load plugins in the main browser
 process.  That gives plugins a nice opportunity to hose the browser.  Oh
 well :-(  If we really wanted to, I suppose we could have a plugin scanner
 process, but that seems unfortunately heavyweight.
 -Darin


 On Tue, Jan 27, 2009 at 6:38 PM, Evan Martin e...@chromium.org wrote:

 I'd been sending this sort of stuff to Dean and John but maybe other
 people will find it interesting.

 Plugin loading works in two phases:
 - at startup, we scan the plugin directories for metadata, like plugin
 names and which mime-types they apply to;
 - at runtime, when we're asked for a specific plugin by mime type, we
 open the appropriate library and have at it.

 On Windows and Mac, the startup step queries file metadata (version
 info on Windows, plists on Mac).
 On Linux, that step must dlopen() the plugin and poke a function in
 it.  This means if a plugin ends up getting used we open it twice,
 which is especially brutal because Flash can take multiple seconds to
 open for me (complicated story, Adobe is working on it).

 It appears that Mozilla (maybe for similar reasons) caches this info
 across browser runs and relies on the file mtime to see when its cache
 has expired, much to some users' dismay:
  https://bugzilla.mozilla.org/show_bug.cgi?id=125469
 Or at least they did in 2002.  ;)

 For now (for test_shell) I think I'll just pay the double-load cost.
 The alternative is leaving plugins open, which I think wastes memory
 and hurts load time.  At some point we'll have to look at performance
 and decide about the cache thing.

 PS: Do we scan for plugins on a background thread in the normal
 browser startup?  If so, how do we prevent races between that scan and
 someone's home page requesting a plugin?








 


--~--~-~--~~~---~--~~
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: checkdeps failure when a unit test relies on v8.h

2009-02-16 Thread Dean McNamee

I thought the js debugger was out of process (or trying to be)?

On Mon, Feb 16, 2009 at 1:29 PM, Marc-Antoine Ruel mar...@chromium.org wrote:
 the js debugger

 On Mon, Feb 16, 2009 at 5:53 AM, Dean McNamee de...@chromium.org wrote:

 What for?

 On Mon, Feb 16, 2009 at 12:18 AM, Erik Kay erik...@chromium.org wrote:

 v8 is already in the browser process.

 Erik


 On Sun, Feb 15, 2009 at 1:46 PM, Evan Martin e...@chromium.org wrote:

 Does this mean we'll have v8 in the browser process?

 We had idly chatted about running a 64-bit browser process to fix the
 library hell on Linux.  It shouldn't block you either way -- I'm just
 curious.

 On Sun, Feb 15, 2009 at 1:42 AM, Aaron Boodman a...@chromium.org wrote:

 I'm trying to commit a change
 (http://codereview.chromium.org/19737/diff/1440/1448 ) which adds a
 base class for unit tests that exercise JavaScript. It uses v8.h,
 which is disallowed by DEPS. What is the right way to do this?

 - 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] Re: Linux layout tests need rebaselining

2009-02-15 Thread Dean McNamee

I just spot checked one of these (size15) and the new image looks
better than the old.  I can rebaseline these quick and I will TBR you.

On Sun, Feb 15, 2009 at 10:27 AM, Mark Larson (Google) m...@chromium.org 
wrote:
 I broke the following layout tests on Linux:
 Regressions: Unexpected failures (5):
   LayoutTests/fast/backgrounds/size/backgroundSize15.html = FAIL
   LayoutTests/fast/backgrounds/size/backgroundSize18.html = FAIL
   LayoutTests/fast/backgrounds/size/zero.html = FAIL
   LayoutTests/fast/canvas/canvas-bg.html = FAIL
   
 LayoutTests/tables/mozilla_expected_failures/marvin/backgr_position-table-column.html
 = FAIL
 I have no way to fix them. I have a linux box, but it's Ubuntu 6.
 The change I made puts back a change to Skia that was dropped in the merge
 in December. (See
 http://crbug.com/5564, 
 http://src.chromium.org/viewvc/chrome?view=revrevision=9839,
 and the original merge
 at http://src.chromium.org/viewvc/chrome?view=revrevision=6925).
 I think these tests can just be re-baselined (since they were probably
 already baselined to the version of Skia on trunk). If someone with a
 working Linux test_shell could take care of that, it'd be great.
 Meanwhile, the webkit linux builder is red.
 Thanks,
 Mark
 


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



[chromium-dev] Re: Passing around NativeViews between processes.

2009-02-13 Thread Dean McNamee

Hey Darin,

The long story is pretty long, but I can explain it if you're
interested in all of the details.  The medium sized version:

Gtk implements a non-trivial amount of code for handling the X event
forwarding and management of the xembed protocol, which is how modern
plugin embedding on Linux works.  In order to take advantage of this
code, we need a GtkWidget (in this case a GtkSocket) in the Gtk
hierarchy.  If we were to do things like move the backing X window
directly (without asking Gtk to move it), Gtk is just going to move
it back on the next layout, since Gtk is managing its position.

Evan had originally implemented a custom container widget that prevent
Gtk from laying out the plugin windows.  However, it turned out layout
is an important step, as the GtkSocket uses these events to send an
expose message to the plugin.  There is a balance here, the more we
start trying to sidestep how Gtk wants things to be done, the more
we're skipping over important code thats required and expected by the
embedded plugins.

I have a strategy that I think will work for plugins.  It will mean
that the window can be create and managed from only the same process.
If the renderer needs to tell the browser to move a window, we need to
move the GtkWidget, and not the X window.  We can't work in X window
IDs here, we need the GtkWidget* so we can move it within its parent
container.  We could put the X id in a map, and pull out the
GtkWidget*, but then the id is arbitrary.  We could also iterate over
all of the plugin windows, asking for their X window id until it
matches, that's an O(n) search which would probably be ok, but it's
not very elegant.

I believe the situation is similar on the Mac.  I'm not sure the
current design of passing HWNDs between processes conceptually extends
beyond win32.

My impression so far from a handful of conversions is there isn't a
big willingness to change here.  If that's the case, we will just have
to come up with some hacks that allows the win32 design work on the
other platforms.

Thanks
-- dean

On Fri, Feb 13, 2009 at 4:08 AM, Darin Fisher da...@chromium.org wrote:
 I had assumed that NativeWindowID should just be the X window ID in our
 Linux build.  That is what NPAPI uses (see NPWindow), and so it is what we
 will need to pass around.
 I think you can initialize a GdkWindow from a X window ID.  I don't think we
 should worry about the case where GDK is not running on top of X :-)
 It would probably take some considerable work to stop passing HWNDs / X
 window IDs through the renderer on behalf of plugins.
 -Darin


 On Wed, Feb 11, 2009 at 6:51 AM, Dean McNamee de...@chromium.org wrote:

 On Windows, pretty much everything deals in HWNDs, which is an integer
 index into a kernel handle table.  This means HWNDs, which are just
 integer window ids, are good across processes.  The fact that all of
 the Windows APIs work in HWNDs, means that it is the primitive for
 NativeWindow and NativeView on Windows.

 On Linux, we have a similar concept, the X window id.  However, our
 NativeWindow is currently a GtkWindow, and NativeView is a GtkWidget.
 Both a GtkWindow (this is the top level application window) and a
 GtkWidget can be backed by a GdkWindow, which encapsulates the X
 window id.  Gtk is a cross-platform toolkit, which is one of the
 reasons you don't deal w/ the window ids directly.

 A recent example of this I've encountered is
 DidMove(WebPluginGeometry), which has a NativeView handle.  This is
 not going to be IPC-able, as this would be a pointer to a GtkWidget
 instance, which obviously won't be good across processes.  In order to
 have something that would be, we would need to do GtkWidget -
 GdkWindow - x window id.  Then on the other side we'd have to create
 a new GdkWindow around the x window id.

 It seems we might need some new abstractions, since on Linux both
 NativeView and NativeWindow are pointers, not integers that are valid
 between processes.  It seems like we need some NativeWindowId
 abstraction.  Hey, I just looked at the code, I noticed someone added
 a NativeViewId type and conversion methods, so we already have the
 abstraction.  We just need to start using them.

 I'm not sure this is enough security-wise though.  It is scary to
 allow the to renderer send messages to the browser, telling it to do
 operations on arbitrary windows.  I think this is where Adam mentioned
 something like HMAC, or we could do some sort of handle type thing to
 implement security.  This might be a bit tricky, depending where the
 window is created an used (we have 3 processes involved, plugin,
 browser, and renderer).  It would be nice if we could also enforce IDs
 per-renderer process, and not just HMAC'd to any renderer.

 In some of these cases, we are probably just using the HWND out of
 convenience so we don't have to keep state.  It seems like it's
 probably a mess to try to duplicate the state in the browser process,
 but that's also one possible solution

  1   2   >