[chromium-dev] Re: Tree is closed - v8 bustage.

2009-04-28 Thread Bradley Nelson
Yes I think so.-BradN

On Tue, Apr 28, 2009 at 9:20 PM, Dimitri Glazkov wrote:

> It looks like the missing dependency did the trick: both clobber of
> Chromium builder and clean local build work now. Can haz open tree?
>
> :DG<
>
> On Tue, Apr 28, 2009 at 9:04 PM, Dimitri Glazkov 
> wrote:
> > Testing the fix ...
> >
> > :DG<
> >
> > On Tue, Apr 28, 2009 at 8:36 PM, Bradley Nelson 
> wrote:
> >> Looking into a fix, this may be a missing dependency from v8_snapshot on
> >> js2c.
> >> It would non-deterministically pass with incredibuild.
> >> -BradN
> >>
> >> On Tue, Apr 28, 2009 at 8:32 PM, Feng Qian  wrote:
> >>>
> >>> libraries.cc is a generated file, did you try a clean build?
> >>>
> >>> On Tue, Apr 28, 2009 at 7:56 PM, Ben Goodger (Google) <
> b...@chromium.org>
> >>> wrote:
> >>> >
> >>> > The tree is closed. Several people are seeing the following error
> when
> >>> > compiling on Windows:
> >>> >
> >>> > Error   1   fatal error C1083: Cannot open source file:
> >>> > '..\..\..\chrome\Debug\obj\global_intermediate\libraries.cc': No such
> >>> > file or directory   c1xx
> >>> > Error   2   fatal error LNK1181: cannot open input file
> >>> > '..\..\..\chrome\debug\lib\v8_nosnapshot.lib'   mksnapshot
> >>> > Error   3   Error result 127 returned from
> >>> > 'C:\Windows\SysWow64\cmd.exe'.   Project
> >>> >
> >>> > It is not clear to me when this started happening. It seems to have
> >>> > shown up mysteriously for a while on the XP release buildbot at
> r14784
> >>> > but then mysteriously disappeared again at 14787. Reverting various
> >>> > changes around this range does not help.
> >>> >
> >>> > The tree should not be reopened until this is resolved.
> >>> >
> >>> > -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: Tree is closed - v8 bustage.

2009-04-28 Thread Dimitri Glazkov

It looks like the missing dependency did the trick: both clobber of
Chromium builder and clean local build work now. Can haz open tree?

:DG<

On Tue, Apr 28, 2009 at 9:04 PM, Dimitri Glazkov  wrote:
> Testing the fix ...
>
> :DG<
>
> On Tue, Apr 28, 2009 at 8:36 PM, Bradley Nelson  wrote:
>> Looking into a fix, this may be a missing dependency from v8_snapshot on
>> js2c.
>> It would non-deterministically pass with incredibuild.
>> -BradN
>>
>> On Tue, Apr 28, 2009 at 8:32 PM, Feng Qian  wrote:
>>>
>>> libraries.cc is a generated file, did you try a clean build?
>>>
>>> On Tue, Apr 28, 2009 at 7:56 PM, Ben Goodger (Google) 
>>> wrote:
>>> >
>>> > The tree is closed. Several people are seeing the following error when
>>> > compiling on Windows:
>>> >
>>> > Error   1       fatal error C1083: Cannot open source file:
>>> > '..\..\..\chrome\Debug\obj\global_intermediate\libraries.cc': No such
>>> > file or directory       c1xx
>>> > Error   2       fatal error LNK1181: cannot open input file
>>> > '..\..\..\chrome\debug\lib\v8_nosnapshot.lib'   mksnapshot
>>> > Error   3       Error result 127 returned from
>>> > 'C:\Windows\SysWow64\cmd.exe'.   Project
>>> >
>>> > It is not clear to me when this started happening. It seems to have
>>> > shown up mysteriously for a while on the XP release buildbot at r14784
>>> > but then mysteriously disappeared again at 14787. Reverting various
>>> > changes around this range does not help.
>>> >
>>> > The tree should not be reopened until this is resolved.
>>> >
>>> > -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: Tree is closed - v8 bustage.

2009-04-28 Thread Dimitri Glazkov

Testing the fix ...

:DG<

On Tue, Apr 28, 2009 at 8:36 PM, Bradley Nelson  wrote:
> Looking into a fix, this may be a missing dependency from v8_snapshot on
> js2c.
> It would non-deterministically pass with incredibuild.
> -BradN
>
> On Tue, Apr 28, 2009 at 8:32 PM, Feng Qian  wrote:
>>
>> libraries.cc is a generated file, did you try a clean build?
>>
>> On Tue, Apr 28, 2009 at 7:56 PM, Ben Goodger (Google) 
>> wrote:
>> >
>> > The tree is closed. Several people are seeing the following error when
>> > compiling on Windows:
>> >
>> > Error   1       fatal error C1083: Cannot open source file:
>> > '..\..\..\chrome\Debug\obj\global_intermediate\libraries.cc': No such
>> > file or directory       c1xx
>> > Error   2       fatal error LNK1181: cannot open input file
>> > '..\..\..\chrome\debug\lib\v8_nosnapshot.lib'   mksnapshot
>> > Error   3       Error result 127 returned from
>> > 'C:\Windows\SysWow64\cmd.exe'.   Project
>> >
>> > It is not clear to me when this started happening. It seems to have
>> > shown up mysteriously for a while on the XP release buildbot at r14784
>> > but then mysteriously disappeared again at 14787. Reverting various
>> > changes around this range does not help.
>> >
>> > The tree should not be reopened until this is resolved.
>> >
>> > -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: DO NOT ADD DEPENDENCIES FROM CHROME/VIEWS on CHROME/COMMON

2009-04-28 Thread Evan Stade

> I've heard other platforms (not windows) were trying avoid depending
> on views

ah, scratch that.

--~--~-~--~~~---~--~~
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: Tree is closed - v8 bustage.

2009-04-28 Thread Bradley Nelson
Looking into a fix, this may be a missing dependency from v8_snapshot on
js2c.It would non-deterministically pass with incredibuild.

-BradN


On Tue, Apr 28, 2009 at 8:32 PM, Feng Qian  wrote:

>
> libraries.cc is a generated file, did you try a clean build?
>
> On Tue, Apr 28, 2009 at 7:56 PM, Ben Goodger (Google) 
> wrote:
> >
> > The tree is closed. Several people are seeing the following error when
> > compiling on Windows:
> >
> > Error   1   fatal error C1083: Cannot open source file:
> > '..\..\..\chrome\Debug\obj\global_intermediate\libraries.cc': No such
> > file or directory   c1xx
> > Error   2   fatal error LNK1181: cannot open input file
> > '..\..\..\chrome\debug\lib\v8_nosnapshot.lib'   mksnapshot
> > Error   3   Error result 127 returned from
> 'C:\Windows\SysWow64\cmd.exe'.   Project
> >
> > It is not clear to me when this started happening. It seems to have
> > shown up mysteriously for a while on the XP release buildbot at r14784
> > but then mysteriously disappeared again at 14787. Reverting various
> > changes around this range does not help.
> >
> > The tree should not be reopened until this is resolved.
> >
> > -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: Tree is closed - v8 bustage.

2009-04-28 Thread Ben Goodger (Google)

fresh checkout, even.

On Tue, Apr 28, 2009 at 8:32 PM, Feng Qian  wrote:
> libraries.cc is a generated file, did you try a clean build?
>
> On Tue, Apr 28, 2009 at 7:56 PM, Ben Goodger (Google)  
> wrote:
>>
>> The tree is closed. Several people are seeing the following error when
>> compiling on Windows:
>>
>> Error   1       fatal error C1083: Cannot open source file:
>> '..\..\..\chrome\Debug\obj\global_intermediate\libraries.cc': No such
>> file or directory       c1xx
>> Error   2       fatal error LNK1181: cannot open input file
>> '..\..\..\chrome\debug\lib\v8_nosnapshot.lib'   mksnapshot
>> Error   3       Error result 127 returned from 
>> 'C:\Windows\SysWow64\cmd.exe'.   Project
>>
>> It is not clear to me when this started happening. It seems to have
>> shown up mysteriously for a while on the XP release buildbot at r14784
>> but then mysteriously disappeared again at 14787. Reverting various
>> changes around this range does not help.
>>
>> The tree should not be reopened until this is resolved.
>>
>> -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: Tree is closed - v8 bustage.

2009-04-28 Thread Feng Qian

libraries.cc is a generated file, did you try a clean build?

On Tue, Apr 28, 2009 at 7:56 PM, Ben Goodger (Google)  wrote:
>
> The tree is closed. Several people are seeing the following error when
> compiling on Windows:
>
> Error   1       fatal error C1083: Cannot open source file:
> '..\..\..\chrome\Debug\obj\global_intermediate\libraries.cc': No such
> file or directory       c1xx
> Error   2       fatal error LNK1181: cannot open input file
> '..\..\..\chrome\debug\lib\v8_nosnapshot.lib'   mksnapshot
> Error   3       Error result 127 returned from 'C:\Windows\SysWow64\cmd.exe'. 
>   Project
>
> It is not clear to me when this started happening. It seems to have
> shown up mysteriously for a while on the XP release buildbot at r14784
> but then mysteriously disappeared again at 14787. Reverting various
> changes around this range does not help.
>
> The tree should not be reopened until this is resolved.
>
> -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: DO NOT ADD DEPENDENCIES FROM CHROME/VIEWS on CHROME/COMMON

2009-04-28 Thread Evan Stade

> Sadly, chrome/common sounds generic enough that it's become a place to
> stash files. I'm not blameless - for some reason I put Animation
> there, when it clearly belongs in views/.

I've heard other platforms (not windows) were trying avoid depending
on views, but they definitely need animation.h

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



[chromium-dev] Tree is closed - v8 bustage.

2009-04-28 Thread Ben Goodger (Google)

The tree is closed. Several people are seeing the following error when
compiling on Windows:

Error   1   fatal error C1083: Cannot open source file:
'..\..\..\chrome\Debug\obj\global_intermediate\libraries.cc': No such
file or directory   c1xx
Error   2   fatal error LNK1181: cannot open input file
'..\..\..\chrome\debug\lib\v8_nosnapshot.lib'   mksnapshot
Error   3   Error result 127 returned from 'C:\Windows\SysWow64\cmd.exe'.   
Project

It is not clear to me when this started happening. It seems to have
shown up mysteriously for a while on the XP release buildbot at r14784
but then mysteriously disappeared again at 14787. Reverting various
changes around this range does not help.

The tree should not be reopened until this is resolved.

-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: depricating CppBindingClass

2009-04-28 Thread Mike Belshe
Yup.  I am not saying we need to get rid of all of it immediately; just put
some comments in the header so that we don't use it *more*.
Mike


On Tue, Apr 28, 2009 at 6:38 PM, Feng Qian  wrote:

> CppBindingClass was started for test_shell if I remember correctly,
> and I think the functionality can be replaced by using NPAPI instead.
> I had an implementation of replacing CppBindingClass by NPAPI in
> test_shell (to avoid two implementations for JSC and V8), I don't
> remember where the code went.
>
> On Tue, Apr 28, 2009 at 6:15 PM, Mike Belshe  wrote:
> > I've felt this way for a while, and I figured I'd throw it out to see if
> we
> > all agree.
> > I'm hoping we can deprecate CppBindingClass.  At this point, most
> extensions
> > are better served (I think!) via the v8::extension facility than the
> > CppBindingObject.  If there are cases where this isn't true, I'd happily
> > work on v8::extension to make it so it could be.
> > If nobody objects, I hope we can agree to stop adding any new
> > CppBindingClass based bindings, and then over time get rid of
> > CppBindingObject altogether.
> > Anyone feel strongly in opposition?
> >
> > 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: Need to run parts of WebCore in either the browser process or some "browser helper" process

2009-04-28 Thread Jeremy Orlow
On Tue, Apr 28, 2009 at 6:26 PM, Evan Martin  wrote:

> On Tue, Apr 28, 2009 at 5:59 PM, Aaron Boodman  wrote:
> > Is the idea that someday the browser and renderer processes
> > might be separate binaries?
>
> Though this shouldn't drive your decision, about 50% of our code
> weight (at least by one metric) is WebKit.  You could imagine that the
> browser process doesn't need a copy of that, and that the renderer
> process doesn't need a copy of all the browser process stuff (network
> stack, UI goop).  On Linux, startup time is heavily affected by the
> cost of the dynamic linker pulling in GTK, which we only would need
> from the browser process if we had separate binaries.  However,
> OS-level page sharing may mean having separate binaries doesn't
> actually help too much here.
>

This is definitely something to keep in mind, but shouldn't we be able to
just compile in the bits of webkit we care about?  Yeah, we'll have 2 copies
of WTF, but the rest should be pretty separate.


On Tue, Apr 28, 2009 at 6:22 PM, Aaron Boodman  wrote:

>
> I fear that this is really a question for Darin, who is on vacation.


Darin was there on that lunch and was actually the one who first suggested
running parts of WebCore in the browser to me during a 1:1.  :-)

--~--~-~--~~~---~--~~
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: Need to run parts of WebCore in either the browser process or some "browser helper" process

2009-04-28 Thread Aaron Boodman

On Tue, Apr 28, 2009 at 6:31 PM, Michael Nordman  wrote:
 I have always felt like running the WebCore "backend" in the browser was 
 elegant
>>>
>>> Yea, but we need a webcore backend to run :)
>>
>> Well last time I looked at this there was already a Database backend :)
>
> Right... interpretting random SQL from the web :)

Not talking about that part; talking about DatabaseTracker and
friends, which keep track of all the open databases, what their quotas
and usage is, and what the queue of waiting transactions and
statements are. It doesn't do any actual SQL execution, obviously that
has to be in the renderer.

- 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: Need to run parts of WebCore in either the browser process or some "browser helper" process

2009-04-28 Thread Michael Nordman

On Tue, Apr 28, 2009 at 6:22 PM, Aaron Boodman  wrote:
> On Tue, Apr 28, 2009 at 6:18 PM, Michael Nordman  
> wrote:
>>
>> + chromium-dev
>>
>>> Can you please explain what you think has changed since such decisions were 
>>> made (or why it's time to revisit such decisions)?
>>
>> I don't think there was code in webcore suitable for this purpose
>> before... html parsing, javascript,sql interpretting... all dangerous
>> from a security point of view (acting in very complex ways on
>> untrusted web content).  The backend logic for these new features
>> aren't like that. Its not so much that its webcore code is untrusted,
>> as much as the data it operates on is untrusted.
>
> I think this gets at the core of my question: is it OK to run webcore
> code in the browser process if it is similar in nature to chromium
> code we would run in the browser process? Or is there some deeper
> structural reason we don't want to do that?
>
> I fear that this is really a question for Darin, who is on vacation.

Me too, when i asked him he said "thats not a problem".

>
>>> I have always felt like running the WebCore "backend" in the browser was 
>>> elegant
>>
>> Yea, but we need a webcore backend to run :)
>
> Well last time I looked at this there was already a Database backend :)

Right... interpretting random SQL from the web :)

>
> - 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: Need to run parts of WebCore in either the browser process or some "browser helper" process

2009-04-28 Thread Evan Martin

On Tue, Apr 28, 2009 at 5:59 PM, Aaron Boodman  wrote:
> Is the idea that someday the browser and renderer processes
> might be separate binaries?

Though this shouldn't drive your decision, about 50% of our code
weight (at least by one metric) is WebKit.  You could imagine that the
browser process doesn't need a copy of that, and that the renderer
process doesn't need a copy of all the browser process stuff (network
stack, UI goop).  On Linux, startup time is heavily affected by the
cost of the dynamic linker pulling in GTK, which we only would need
from the browser process if we had separate binaries.  However,
OS-level page sharing may mean having separate binaries doesn't
actually help too much here.

--~--~-~--~~~---~--~~
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: depricating CppBindingClass

2009-04-28 Thread Aaron Boodman

+1. Chromium extensions have been extremely happy with the (poorly
named, if I do say so myself) v8 extensions facility. I've been
meaning to write a (personal) blog post about how much they rock.

- a

On Tue, Apr 28, 2009 at 6:15 PM, Mike Belshe  wrote:
> I've felt this way for a while, and I figured I'd throw it out to see if we
> all agree.
> I'm hoping we can deprecate CppBindingClass.  At this point, most extensions
> are better served (I think!) via the v8::extension facility than the
> CppBindingObject.  If there are cases where this isn't true, I'd happily
> work on v8::extension to make it so it could be.
> If nobody objects, I hope we can agree to stop adding any new
> CppBindingClass based bindings, and then over time get rid of
> CppBindingObject altogether.
> Anyone feel strongly in opposition?
>
> 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: Need to run parts of WebCore in either the browser process or some "browser helper" process

2009-04-28 Thread Aaron Boodman

On Tue, Apr 28, 2009 at 6:18 PM, Michael Nordman  wrote:
>
> + chromium-dev
>
>> Can you please explain what you think has changed since such decisions were 
>> made (or why it's time to revisit such decisions)?
>
> I don't think there was code in webcore suitable for this purpose
> before... html parsing, javascript,sql interpretting... all dangerous
> from a security point of view (acting in very complex ways on
> untrusted web content).  The backend logic for these new features
> aren't like that. Its not so much that its webcore code is untrusted,
> as much as the data it operates on is untrusted.

I think this gets at the core of my question: is it OK to run webcore
code in the browser process if it is similar in nature to chromium
code we would run in the browser process? Or is there some deeper
structural reason we don't want to do that?

I fear that this is really a question for Darin, who is on vacation.

>> I have always felt like running the WebCore "backend" in the browser was 
>> elegant
>
> Yea, but we need a webcore backend to run :)

Well last time I looked at this there was already a Database backend :)

- 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: Need to run parts of WebCore in either the browser process or some "browser helper" process

2009-04-28 Thread Michael Nordman

+ chromium-dev

> Can you please explain what you think has changed since such decisions were 
> made (or why it's time to revisit such decisions)?

I don't think there was code in webcore suitable for this purpose
before... html parsing, javascript,sql interpretting... all dangerous
from a security point of view (acting in very complex ways on
untrusted web content).  The backend logic for these new features
aren't like that. Its not so much that its webcore code is untrusted,
as much as the data it operates on is untrusted.

> I have always felt like running the WebCore "backend" in the browser was 
> elegant

Yea, but we need a webcore backend to run :)

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



[chromium-dev] depricating CppBindingClass

2009-04-28 Thread Mike Belshe
I've felt this way for a while, and I figured I'd throw it out to see if we
all agree.
I'm hoping we can deprecate CppBindingClass.  At this point, most extensions
are better served (I think!) via the v8::extension facility than the
CppBindingObject.  If there are cases where this isn't true, I'd happily
work on v8::extension to make it so it could be.

If nobody objects, I hope we can agree to stop adding any new
CppBindingClass based bindings, and then over time get rid of
CppBindingObject altogether.

Anyone feel strongly in opposition?

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: Clipboard crash strikes again

2009-04-28 Thread Adam Langley

On Tue, Apr 28, 2009 at 2:49 AM, Dean McNamee  wrote:
> I'm interested in learning more about raw X, if Adam's too busy I can
> start working on this.

The X clipboard work is quite involved. You need to read and love:
http://tronche.com/gui/x/icccm/sec-2.html#s-2

I've uploaded http://codereview.chromium.org/100145, which a
scattering of some of the bits which I was building. None of it even
compiles. Maybe take a look at the xclipboard.h file to an idea of the
interface which I was aiming for.

Evan made a good point that, in the short term, maybe we should
terminate the clipboard calls on the UI thread. That should work
outside the case of plugins which, given that we don't have plugins
yet, doesn't seem so bad. Longer term, it would be nice to do this
ourselves so that we didn't have to send the selection over IPC every
time it changed.

I think tomorrow I'll be working on something else. Probably Thursday too.


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: Need to run parts of WebCore in either the browser process or some "browser helper" process

2009-04-28 Thread Jeremy Orlow
Well, the question comes down to this: Can we trust running small amounts of
WebCore in the browser process.
Historically, the answer to running WebCore in the browser has been a
resounding no.  Can you please explain what you think has changed since such
decisions were made (or why it's time to revisit such decisions)?

My _feeling_ is that it would be OK with a security review, and my feeling
is that a security review is possible since the code is fairly isolated, but
that's just my opinion.  I don't have anything terribly solid to back it up.

J

On Tue, Apr 28, 2009 at 5:46 PM, Michael Nordman wrote:

> On Tue, Apr 28, 2009 at 5:38 PM, Jeremy Orlow  wrote:
> > On Tue, Apr 28, 2009 at 5:27 PM, Michael Nordman 
> > wrote:
> >>
> >> > In some sense we do have separate process in which to run sandboxed
> >> > 'backend' code relevant to multiple renders if the need arises... the
> >> > worker process.
> >
> > The way you stated this is a bit odd, but on the surface I guess this
> could
> > be solved via special "shared workers" that ran WebKit code instead of
> > javascript.  That said, this means a lot of extra processes (for now,
> shared
> > workers are each in their own process), this blocks localStorage on that,
> > and actually makes the design more complicated.  This might be worth
> > exploring at some point, but not now.
>
> Let me re-iterate my main point... i dont think we need to sandbox the
> localstorage or appcache backend code, so we should be able to run
> that directly in the browser process.
>

--~--~-~--~~~---~--~~
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: Need to run parts of WebCore in either the browser process or some "browser helper" process

2009-04-28 Thread Aaron Boodman

I have always felt like running the WebCore "backend" in the browser
process with an IPC channel between it and the frontend was a really
elegant design for this problem. And I never really understood why we
weren't allowed to depend on WebCore (even indirectly) in the browser
process. Is the idea that someday the browser and renderer processes
might be separate binaries?

- a

On Tue, Apr 28, 2009 at 5:05 PM, Jeremy Orlow  wrote:
> Yes, yes, I know this is a "horrible idea", but please hear me out  :-)
>
> Last week, a couple of us (Darin F, Michael N, Jeremy M, and I) had lunch at
> Apple to talk to talk about sharing more code. HTML 5 brings with it a lot
> of APIs that reach outside of the top level browsing context boundary (i.e.
> the render process boundary in Chromium). We talked specifically about
> localStorage and appCache. Although I believe the following generalizes well
> for any such API, I recognize that there are some unique constraints for
> stuff like databases...so I'm not even going to talk about them right now.
> Anyhow...
> For a while now, I've looked at a bunch of ways to make localStorage
> multi-process aware, but really none of them have any hope except one:
> splitting localStorage into a frontend and backend. The frontend would be
> the portion in each renderer process that connects into the JS bindings. A
> single backend would store all the data and be shared by the frontends.
> Originally, my plan was to do this split and then write my own back end in
> the browser process, but there are several problems with this. From a
> technical standpoint, it's unclear how testing would work since our
> test_shell would be testing a different backend from what's in Chromium. It
> also means we have more code to maintain, and that code is completely off of
> WebKit's radar. It also makes Apple mad and Dimitri sad. So really, this
> doesn't seem like a good solution.
> Assuming the only viable solution is having several frontends talking to one
> backend (I'm confident this is true) and assuming having our own backend is
> not viable (this also seems true), then the only choice is for us to use the
> WebCore backend. We can't run this in any renderer process since the
> response times for browser->renderer communication are unbounded. So that
> leaves either the browser process or some browser helper process.
> Creating a helper process for the browser seems like a pretty interesting
> idea to me since there's already a lot of somewhat dangerous stuff running
> in the browser process. (The only thing I can remember right now is v8 for
> parsing .pac files, but I know there's more.) Basically, the helper process
> would be a sandboxed process where anything "dangerous" but not bound to a
> single renderer process would run. Ideally it would store little to no state
> so that the browser could easily restart it and resend any pending messages
> if it crashed. For localStorage, the backend (which is part of WebCore)
> would run there and all localStorage messages would be proxied through the
> browser process. The VFS could be used to retrieve file handles.
> The other option is to simply run part of WebCore's localStorage within the
> browser process. LocalStorage only depends on WTF, so this really isn't
> _that_ terrible of an idea. Thoughts?
> Anyhow, the WebKit guys we talked to like the idea of a split
> frontend/backend, especially if it means we'll continue sharing code. I
> believe Michael is going to be doing something similar for AppCache.
> J
> >
>

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



[chromium-dev] Re: Need to run parts of WebCore in either the browser process or some "browser helper" process

2009-04-28 Thread Michael Nordman

On Tue, Apr 28, 2009 at 5:38 PM, Jeremy Orlow  wrote:
> On Tue, Apr 28, 2009 at 5:27 PM, Michael Nordman 
> wrote:
>>
>> > In some sense we do have separate process in which to run sandboxed
>> > 'backend' code relevant to multiple renders if the need arises... the
>> > worker process.
>
> The way you stated this is a bit odd, but on the surface I guess this could
> be solved via special "shared workers" that ran WebKit code instead of
> javascript.  That said, this means a lot of extra processes (for now, shared
> workers are each in their own process), this blocks localStorage on that,
> and actually makes the design more complicated.  This might be worth
> exploring at some point, but not now.

Let me re-iterate my main point... i dont think we need to sandbox the
localstorage or appcache backend code, so we should be able to run
that directly in the browser process.

--~--~-~--~~~---~--~~
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: Need to run parts of WebCore in either the browser process or some "browser helper" process

2009-04-28 Thread Jeremy Orlow
On Tue, Apr 28, 2009 at 5:27 PM, Michael Nordman wrote:

> > In some sense we do have separate process in which to run sandboxed
> > 'backend' code relevant to multiple renders if the need arises... the
> > worker process.
>

The way you stated this is a bit odd, but on the surface I guess this could
be solved via special "shared workers" that ran WebKit code instead of
javascript.  That said, this means a lot of extra processes (for now, shared
workers are each in their own process), this blocks localStorage on that,
and actually makes the design more complicated.  This might be worth
exploring at some point, but not now.

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



[chromium-dev] Re: webkit gyp conversion planned for tomorrow (Tuesday) evening

2009-04-28 Thread Bradley Nelson
Hi All,
Due to some last minute integration issues this will get pushed to 8pmPDT.
Wish me luck!

-BradN


On Mon, Apr 27, 2009 at 4:51 PM, Steven Knight  wrote:

> Brad Nelson is planning to close the tree some time tomorrow night (Tuesday
> 28 April) to land the conversion of webkit to gyp-based build.
>
> To get out from under playing constant catch-up with the rapidly-moving
> code base, it's possible that we'll leave the tree converted even if there
> are a small number--two or three?--of unit test failures.  (By comparison,
> the last attempt to convert webkit had about five unit test failures plus a
> V8 performance regression -- since fixed -- that tipped the scales in favor
> of backing out the change.)
>
> If there are any outstanding problems, we'll send out an announcement--and
> could really use help making sure we weed out any known (and unkown)
> problems as quickly as possible.
>
> After we let the webkit conversion soak a bit, we'll schedule the
> conversion of the chrome/ subdirectory itself, based on how things have gone
> with webkit.
>
> WHILE WE'RE STILL IN TRANSITION:  please continue to add new webkit/ and
> chrome/ files to *both* Visual Studio and the {webkit,chrome}.gyp files.  We
> have just recently caught up both of these components with the last few
> weeks of added and deleted files.  It helps immensely if we don't have to
> keep tracking these down  by hand.
>
> If the planned timing is bad for you, let me or Brad know.
>
> Thanks,
>
> --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] Need to run parts of WebCore in either the browser process or some "browser helper" process

2009-04-28 Thread Jeremy Orlow
Yes, yes, I know this is a "horrible idea", but please hear me out  :-)

Last week, a couple of us (Darin F, Michael N, Jeremy M, and I) had lunch at
Apple to talk to talk about sharing more code. HTML 5 brings with it a lot
of APIs that reach outside of the top level browsing context boundary (i.e.
the render process boundary in Chromium). We talked specifically about
localStorage and appCache. Although I believe the following generalizes well
for any such API, I recognize that there are some unique constraints for
stuff like databases...so I'm not even going to talk about them right now.
Anyhow...

For a while now, I've looked at a bunch of ways to make localStorage
multi-process aware, but really none of them have any hope except one:
splitting localStorage into a frontend and backend. The frontend would be
the portion in each renderer process that connects into the JS bindings. A
single backend would store all the data and be shared by the frontends.

Originally, my plan was to do this split and then write my own back end in
the browser process, but there are several problems with this. From a
technical standpoint, it's unclear how testing would work since our
test_shell would be testing a different backend from what's in Chromium. It
also means we have more code to maintain, and that code is completely off of
WebKit's radar. It also makes Apple mad and Dimitri sad. So really, this
doesn't seem like a good solution.

Assuming the only viable solution is having several frontends talking to one
backend (I'm confident this is true) and assuming having our own backend is
not viable (this also seems true), then the only choice is for us to use the
WebCore backend. We can't run this in any renderer process since the
response times for browser->renderer communication are unbounded. So that
leaves either the browser process or some browser helper process.

Creating a helper process for the browser seems like a pretty interesting
idea to me since there's already a lot of somewhat dangerous stuff running
in the browser process. (The only thing I can remember right now is v8 for
parsing .pac files, but I know there's more.) Basically, the helper process
would be a sandboxed process where anything "dangerous" but not bound to a
single renderer process would run. Ideally it would store little to no state
so that the browser could easily restart it and resend any pending messages
if it crashed. For localStorage, the backend (which is part of WebCore)
would run there and all localStorage messages would be proxied through the
browser process. The VFS could be used to retrieve file handles.

The other option is to simply run part of WebCore's localStorage within the
browser process. LocalStorage only depends on WTF, so this really isn't
_that_ terrible of an idea. Thoughts?

Anyhow, the WebKit guys we talked to like the idea of a split
frontend/backend, especially if it means we'll continue sharing code. I
believe Michael is going to be doing something similar for AppCache.

J

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



[chromium-dev] Re: Changes to FilePath?

2009-04-28 Thread Greg Spencer
On Tue, Apr 28, 2009 at 3:26 PM, Erik Kay  wrote:

> On Tue, Apr 28, 2009 at 3:19 PM, Greg Spencer  wrote:
>
>> But that's exactly the point.  FilePath is the class that created the path
>> to begin with.  So it can know what the LC_*/LANG variables were was when it
>> was created, and do the right conversion when you ask the FilePath to
>> convert to UTF16.  Also, if the developer calls something called
>> FilePath::CreateFromUTF8, then it can know it was supposed to be UTF8 and
>> remember that.
>>
>
> If you created it yourself, that's fine.  FilePaths aren't always created
> manually by users.  They often are populated from system APIs where you
> can't know.  See file_util* for some examples.  So the problem is that if
> you add this API, people will mistakenly use the conversion functions when
> they can't be safe.  I agree it sucks.  I just don't know of a reasonable
> solution.
>

So there's currently no right way to do the conversion, but I still think
that the FilePath constructor is probably in the best position to inspect
LC_ALL, etc. and do as close to the right thing as possible.  I doubt most
Linux developers even think about this, and so the chances that they will
implement anything other than assuming that it's ASCII are slim -- this
would allow us to at least implement a baseline for them.  Or would that
just screw things up worse?

Doesn't this mean that it's possible that the path manipulation routines
fail for sufficiently odd encodings? (jis or something where an encoded char
might include a "/"?)

-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: Changes to FilePath?

2009-04-28 Thread Evan Martin

On Tue, Apr 28, 2009 at 3:26 PM, Erik Kay  wrote:
>> But that's exactly the point.  FilePath is the class that created the path
>> to begin with.  So it can know what the LC_*/LANG variables were was when it
>> was created, and do the right conversion when you ask the FilePath to
>> convert to UTF16.  Also, if the developer calls something called
>> FilePath::CreateFromUTF8, then it can know it was supposed to be UTF8 and
>> remember that.
>
>
> If you created it yourself, that's fine.  FilePaths aren't always created
> manually by users.  They often are populated from system APIs where you
> can't know.  See file_util* for some examples.  So the problem is that if
> you add this API, people will mistakenly use the conversion functions when
> they can't be safe.  I agree it sucks.  I just don't know of a reasonable
> solution.

We have this problem already, when FilePaths need to work with
wstring-based APIs like the win32 one.
What we've done so far is use a function with an awkward name
(ToWStringHack, FromWStringHack) to try to create bias against them.

On the other hand, the codebase now has 309 lines containing
"WStringHack" so I don't know it's been too successful.

It might be worth figuring out a name that does what Greg needs that
is similarly awkward but doesn't involve "Hack" for circumstances
where you really just need to do the conversion.

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



[chromium-dev] Re: Changes to FilePath?

2009-04-28 Thread Erik Kay
On Tue, Apr 28, 2009 at 3:19 PM, Greg Spencer  wrote:

> On Tue, Apr 28, 2009 at 3:11 PM, Erik Kay  wrote:
>
>> The biggest problem with this change is that it's not possible to do this
>> conversion on Linux in a safe way.  In Linux, there is no charset defined by
>> the filesystem.  Each filename is just a blob of bytes.  Apps are supposed
>> to respect an environment variable, but since this environment variable
>> could change over time and be different from user to user, there's no
>> reliable way to know what the charset is, so you can't convert from a
>> FilePath on Linux to UTF8 or UTF16 unless you were the one who created the
>> path to begin with.
>>
>
> But that's exactly the point.  FilePath is the class that created the path
> to begin with.  So it can know what the LC_*/LANG variables were was when it
> was created, and do the right conversion when you ask the FilePath to
> convert to UTF16.  Also, if the developer calls something called
> FilePath::CreateFromUTF8, then it can know it was supposed to be UTF8 and
> remember that.
>


If you created it yourself, that's fine.  FilePaths aren't always created
manually by users.  They often are populated from system APIs where you
can't know.  See file_util* for some examples.  So the problem is that if
you add this API, people will mistakenly use the conversion functions when
they can't be safe.  I agree it sucks.  I just don't know of a reasonable
solution.

Erik

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



[chromium-dev] Re: Changes to FilePath?

2009-04-28 Thread Greg Spencer
On Tue, Apr 28, 2009 at 3:19 PM, Greg Spencer  wrote:

> On Tue, Apr 28, 2009 at 3:11 PM, Erik Kay  wrote:
>
>> The biggest problem with this change is that it's not possible to do this
>> conversion on Linux in a safe way.
>>
>
And besides -- this problem isn't introduced by this change: it exists
already because currently there's no safe way to convert, regardless of the
API (since a consumer of a FilePath doesn't know what encoding it contains).

-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: Changes to FilePath?

2009-04-28 Thread Greg Spencer
On Tue, Apr 28, 2009 at 3:11 PM, Erik Kay  wrote:

> The biggest problem with this change is that it's not possible to do this
> conversion on Linux in a safe way.  In Linux, there is no charset defined by
> the filesystem.  Each filename is just a blob of bytes.  Apps are supposed
> to respect an environment variable, but since this environment variable
> could change over time and be different from user to user, there's no
> reliable way to know what the charset is, so you can't convert from a
> FilePath on Linux to UTF8 or UTF16 unless you were the one who created the
> path to begin with.
>

But that's exactly the point.  FilePath is the class that created the path
to begin with.  So it can know what the LC_*/LANG variables were was when it
was created, and do the right conversion when you ask the FilePath to
convert to UTF16.  Also, if the developer calls something called
FilePath::CreateFromUTF8, then it can know it was supposed to be UTF8 and
remember that.

-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: Changes to FilePath?

2009-04-28 Thread Erik Kay
(resend - arg)

On Tue, Apr 28, 2009 at 2:47 PM, Greg Spencer  wrote:

> On Tue, Apr 28, 2009 at 2:41 PM, Amanda Walker wrote:
>
>>
>> On Tue, Apr 28, 2009 at 4:39 PM, Greg Spencer 
>> wrote:
>> > 1) I'd like to add some explicit routines for converting to/from UTF8
>> and
>> > UTF16.  While it's nice (and important) that FilePath uses the
>> platform's
>> > native string, we've found that many third party libraries have made
>> other
>> > assumptions, where they always expect UTF8 (char) or UTF16 (wchar_t)
>> paths
>> > regardless of platform, and converting a FilePath to and from those
>> forms is
>> > a platform-dependent exercise which should be centralized into the class
>> > (i.e. adding "ToUTF8" and "ToWide" functions to the class, and explicit
>> > constructors that take each type).
>>
>> One thing many of us have found, across multiple projects, is that
>> wchar_t is fraught with complication as soon as more than one platform
>> is involved. "wchar_t == UTF16" is a Windowsism (gcc defaults to 4
>> bytes, for example, and L"mumble" gets stored in UCS-4, not UTF-16).
>> Chrome started with more or less what you are suggesting, and we moved
>> off of it after much pain.
>
>
> I understand those issues quite well (but I probably should call the
> conversion method ToUTF16, now that you mention it).  And char* isn't
> necessarily UTF8 on all platforms either.
>
> OK, so what's the currently recommended path for converting to UTF16 or
> UTF8 from a FilePath?
>

The biggest problem with this change is that it's not possible to do this
conversion on Linux in a safe way.  In Linux, there is no charset defined by
the filesystem.  Each filename is just a blob of bytes.  Apps are supposed
to respect an environment variable, but since this environment variable
could change over time and be different from user to user, there's no
reliable way to know what the charset is, so you can't convert from a
FilePath on Linux to UTF8 or UTF16 unless you were the one who created the
path to begin with.

Erik

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



[chromium-dev] Re: Changes to FilePath?

2009-04-28 Thread Greg Spencer
On Tue, Apr 28, 2009 at 2:51 PM, Peter Kasting  wrote:

> On Tue, Apr 28, 2009 at 2:48 PM, Greg Spencer  wrote:
>
>> So, I was unable to find the conversion utilities in base that do the
>> conversion to/from UTF8.  What are they called?  If I missed them (and I
>> looked for a while before I gave up), then maybe they need to be more
>> prominent?
>>
>
> See base/string_util.h, UTF8ToUTF16() etc.
>

Yes, but those are generic string conversions, and so to convert a FilePath
to UTF16 on all platforms, my code has to look something like:

--
FilePath path(FILE_PATH_LITERAL("Foo.bar"));
collada::fstring collada_path; // a UTF16 path.
#if defined(OS_WIN)
  collada_path = path.value();
#elif defined(OS_MACOSX)
  collada_path = UTF8ToUTF16(path.value());
#elif defined(OS_LINUX)
  // (or whatever this linux flavor uses for a filename encoding.)
  collada_path = Latin1ToUTF16(path.value());
#endif
--

This seems like code that belongs in FilePath because it knows exactly what
the filename encoding would be on each platform.

Yes, partly because including dedicated helpers like this makes it sound as
> if the class is somehow special-cased or fastpathed to deal better with
> these than a generic converter would be.
>

But it can.  For instance, on the Mac, we know that filenames are UTF8
encoded.  We have not such guarantee on Linux, even though they both use a
char* format in FilePath.  If FilePath were doing the conversion, then it
could be very picky about doing the conversion properly on each platform,
because converting a Latin-1 string to a wide char using a UTF8 codec may
end up with some strange results.

The other argument is simply that converting utf8 to utf16 is a generic sort
> of functionality that belongs in base/ or another similar general-purpose
> location, rather than specifically in FilePath.
>

And the implementation in FilePath would be using those generic functions,
but it would be using them (or not) as applied to the specific platform it
is compiled on, whereas the conversion routines don't know anything about
FilePath's platform specific semantics.

-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: Changes to FilePath?

2009-04-28 Thread Peter Kasting
On Tue, Apr 28, 2009 at 2:48 PM, Greg Spencer  wrote:

> So, I was unable to find the conversion utilities in base that do the
> conversion to/from UTF8.  What are they called?  If I missed them (and I
> looked for a while before I gave up), then maybe they need to be more
> prominent?
>

See base/string_util.h, UTF8ToUTF16() etc.

What is the danger here of being lazy?  Is it that developers will
> unwittingly do expensive conversions?
>

Yes, partly because including dedicated helpers like this makes it sound as
if the class is somehow special-cased or fastpathed to deal better with
these than a generic converter would be.

The other argument is simply that converting utf8 to utf16 is a generic sort
of functionality that belongs in base/ or another similar general-purpose
location, rather than specifically in FilePath.

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: Changes to FilePath?

2009-04-28 Thread Greg Spencer
On Tue, Apr 28, 2009 at 2:31 PM, Peter Kasting  wrote:

> On Tue, Apr 28, 2009 at 1:39 PM, Greg Spencer  wrote:
>
>> 1) I'd like to add some explicit routines for converting to/from UTF8 and
>> UTF16.  While it's nice (and important) that FilePath uses the platform's
>> native string, we've found that many third party libraries have made other
>> assumptions, where they always expect UTF8 (char) or UTF16 (wchar_t) paths
>> regardless of platform, and converting a FilePath to and from those forms is
>> a platform-dependent exercise which should be centralized into the class
>> (i.e. adding "ToUTF8" and "ToWide" functions to the class, and explicit
>> constructors that take each type).
>
>
> I'm pretty strongly against this for the same reasons as Evan.  I think
> consumers who need to convert should be doing the conversion using their own
> routines (e.g. Chrome uses ones in our base/ module).
>

So, I was unable to find the conversion utilities in base that do the
conversion to/from UTF8.  What are they called?  If I missed them (and I
looked for a while before I gave up), then maybe they need to be more
prominent?

What is the danger here of being lazy?  Is it that developers will
unwittingly do expensive conversions?  If so, I would expect that a member
function called "ToUTF8" would be just as much of a performance warning as a
helper function called "FilePathToUTF8", but be a heck of a lot more
convenient (since it would not require the developer to create a local
variable for use as a return value from the helper, and can be used as an
argument to another library's functions).  I can see the argument for not
having a casting constructor that isn't from the platform native form, but
in that case, a factory method called "CreateFromUTF8" should be a
sufficient warning to the developer that it might be expensive.

-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: Changes to FilePath?

2009-04-28 Thread Greg Spencer
On Tue, Apr 28, 2009 at 2:41 PM, Amanda Walker  wrote:

>
> On Tue, Apr 28, 2009 at 4:39 PM, Greg Spencer  wrote:
> > 1) I'd like to add some explicit routines for converting to/from UTF8 and
> > UTF16.  While it's nice (and important) that FilePath uses the platform's
> > native string, we've found that many third party libraries have made
> other
> > assumptions, where they always expect UTF8 (char) or UTF16 (wchar_t)
> paths
> > regardless of platform, and converting a FilePath to and from those forms
> is
> > a platform-dependent exercise which should be centralized into the class
> > (i.e. adding "ToUTF8" and "ToWide" functions to the class, and explicit
> > constructors that take each type).
>
> One thing many of us have found, across multiple projects, is that
> wchar_t is fraught with complication as soon as more than one platform
> is involved. "wchar_t == UTF16" is a Windowsism (gcc defaults to 4
> bytes, for example, and L"mumble" gets stored in UCS-4, not UTF-16).
> Chrome started with more or less what you are suggesting, and we moved
> off of it after much pain.


I understand those issues quite well (but I probably should call the
conversion method ToUTF16, now that you mention it).  And char* isn't
necessarily UTF8 on all platforms either.

OK, so what's the currently recommended path for converting to UTF16 or UTF8
from a FilePath?

-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: Changes to FilePath?

2009-04-28 Thread Amanda Walker

On Tue, Apr 28, 2009 at 4:39 PM, Greg Spencer  wrote:
> 1) I'd like to add some explicit routines for converting to/from UTF8 and
> UTF16.  While it's nice (and important) that FilePath uses the platform's
> native string, we've found that many third party libraries have made other
> assumptions, where they always expect UTF8 (char) or UTF16 (wchar_t) paths
> regardless of platform, and converting a FilePath to and from those forms is
> a platform-dependent exercise which should be centralized into the class
> (i.e. adding "ToUTF8" and "ToWide" functions to the class, and explicit
> constructors that take each type).

One thing many of us have found, across multiple projects, is that
wchar_t is fraught with complication as soon as more than one platform
is involved. "wchar_t == UTF16" is a Windowsism (gcc defaults to 4
bytes, for example, and L"mumble" gets stored in UCS-4, not UTF-16).
Chrome started with more or less what you are suggesting, and we moved
off of it after much pain.

--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: Changes to FilePath?

2009-04-28 Thread Peter Kasting
On Tue, Apr 28, 2009 at 1:39 PM, Greg Spencer  wrote:

> 1) I'd like to add some explicit routines for converting to/from UTF8 and
> UTF16.  While it's nice (and important) that FilePath uses the platform's
> native string, we've found that many third party libraries have made other
> assumptions, where they always expect UTF8 (char) or UTF16 (wchar_t) paths
> regardless of platform, and converting a FilePath to and from those forms is
> a platform-dependent exercise which should be centralized into the class
> (i.e. adding "ToUTF8" and "ToWide" functions to the class, and explicit
> constructors that take each type).


I'm pretty strongly against this for the same reasons as Evan.  I think
consumers who need to convert should be doing the conversion using their own
routines (e.g. Chrome uses ones in our base/ module).

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: Changes to FilePath?

2009-04-28 Thread Greg Spencer
On Tue, Apr 28, 2009 at 1:57 PM, Thomas Van Lenten wrote:

> On Tue, Apr 28, 2009 at 4:39 PM, Greg Spencer  wrote:
>
>> 4) Make sure we handle case sensitivity vs case preservation correctly.
>> It's unclear to me that FilePath does this correctly on the Mac -- Mac file
>> names are case preserving, but case insensitive, Unix filenames are both
>> (and windows filenames are neither :-).
>
>
> FYI - it's a drive format time option on the Mac, so they can be case
> preserving and case sensitive.
>

Thanks for pointing that out. In fact, NTFS is actually case sensitive,
where FAT32 is not (see http://support.microsoft.com/kb/100625).  So we have
issues there as well.  The real issue would be dealing with relative paths
that don't exist yet -- there would be no way to inspect the file location
to find out what mode it was in.  I think I would just punt and go with the
widely-used defaults (the ones I mentioned above), since most apps seem to
assume those limitations.  An alternative would be to have an API to specify
the desired mode, and default to the common case on each platform.

-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: Changes to FilePath?

2009-04-28 Thread Evan Martin

On Tue, Apr 28, 2009 at 1:39 PM, Greg Spencer  wrote:
> 1) I'd like to add some explicit routines for converting to/from UTF8 and
> UTF16.  While it's nice (and important) that FilePath uses the platform's
> native string, we've found that many third party libraries have made other
> assumptions, where they always expect UTF8 (char) or UTF16 (wchar_t) paths
> regardless of platform, and converting a FilePath to and from those forms is
> a platform-dependent exercise which should be centralized into the class
> (i.e. adding "ToUTF8" and "ToWide" functions to the class, and explicit
> constructors that take each type).

Can you give some examples of where this is needed?  We've
historically fought against this pretty hard, and as soon as accessors
are available users will get lazy about it.

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



[chromium-dev] Re: Omnibox Experiments

2009-04-28 Thread Evan Martin

- Having used this for a while, my main feedback is that that icons
are subtle enough that I don't notice them.
It's possible they're playing into my subconscious, but it doesn't
feel that way.

- It's a little strange that starred entries in the result list have
the *empty* star as their icon.  (Contrast callofduty.com's star with
the star in the toolbar above.)

Sorry, I'm not a designer, so I can only offer criticism not improvements.  :\

On Mon, Apr 27, 2009 at 2:41 PM, Nicholas Jitkoff  wrote:
> Hey all,
>
> We're experimenting with improvements to the presentation of results
> in the omnibox.
> I've attached our current design. You'll start to see this appear in
> some of the builds.
> Please feel free to send me any comments.
>
>
> >
>
>
>
>
>
>
> Nicholas
>

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



[chromium-dev] Re: Changes to FilePath?

2009-04-28 Thread Thomas Van Lenten
On Tue, Apr 28, 2009 at 4:39 PM, Greg Spencer  wrote:

> Hi Chromium Developers,
>
> I'm working on Google's O3D (http://code.google.com/p/o3d), and we
> (naturally) share some of Chrome's base classes for our code, including the
> very useful class FilePath.
>
> However, in using FilePath in the last few months, I've seen that it needs
> some refinement.  I'd like to augment the FilePath class with some things
> that would make it more generally useful -- it's very nicely set up, but
> it's missing a few things that make it harder to work with than it needs to
> be:
>
> 1) I'd like to add some explicit routines for converting to/from UTF8 and
> UTF16.  While it's nice (and important) that FilePath uses the platform's
> native string, we've found that many third party libraries have made other
> assumptions, where they always expect UTF8 (char) or UTF16 (wchar_t) paths
> regardless of platform, and converting a FilePath to and from those forms is
> a platform-dependent exercise which should be centralized into the class
> (i.e. adding "ToUTF8" and "ToWide" functions to the class, and explicit
> constructors that take each type).
>
> 2) I'd like to make it possible to instantiate a POSIX FilePath object on
> Windows and a Windows FilePath on POSIX platforms.  This is because some
> libraries (e.g. the zip library, or tar files), use POSIX semantics for
> their paths even on Windows (I haven't seen a use case for Windows paths on
> POSIX yet, actually).   This would make it possible to use the nice API that
> FilePath has to manipulate paths appropriately for these other libraries.
> This could be easily accomplished by having POSIX and Windows versions of
> FilePath, and then typedef'ing FilePath differently on different platforms
> to one of these versions.
>
> 3) It would be helpful to have real path normalization for each of the
> platforms (although I know what a testing nightmare that can be).  I might
> try and tackle this if people think it would be beneficial.
>
> 4) Make sure we handle case sensitivity vs case preservation correctly.
> It's unclear to me that FilePath does this correctly on the Mac -- Mac file
> names are case preserving, but case insensitive, Unix filenames are both
> (and windows filenames are neither :-).


FYI - it's a drive format time option on the Mac, so they can be case
preserving and case sensitive.

TVL


>
>
> So, is there any resistance to any of the above?  Do you have other
> suggestions that I might take into account?  Am I violating any design
> assumptions of FilePath?  For #2, is speed/size enough of a concern to avoid
> a virtual base class (I wouldn't think so, but you never know..)?
>
> -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] Changes to FilePath?

2009-04-28 Thread Greg Spencer
Hi Chromium Developers,

I'm working on Google's O3D (http://code.google.com/p/o3d), and we
(naturally) share some of Chrome's base classes for our code, including the
very useful class FilePath.

However, in using FilePath in the last few months, I've seen that it needs
some refinement.  I'd like to augment the FilePath class with some things
that would make it more generally useful -- it's very nicely set up, but
it's missing a few things that make it harder to work with than it needs to
be:

1) I'd like to add some explicit routines for converting to/from UTF8 and
UTF16.  While it's nice (and important) that FilePath uses the platform's
native string, we've found that many third party libraries have made other
assumptions, where they always expect UTF8 (char) or UTF16 (wchar_t) paths
regardless of platform, and converting a FilePath to and from those forms is
a platform-dependent exercise which should be centralized into the class
(i.e. adding "ToUTF8" and "ToWide" functions to the class, and explicit
constructors that take each type).

2) I'd like to make it possible to instantiate a POSIX FilePath object on
Windows and a Windows FilePath on POSIX platforms.  This is because some
libraries (e.g. the zip library, or tar files), use POSIX semantics for
their paths even on Windows (I haven't seen a use case for Windows paths on
POSIX yet, actually).   This would make it possible to use the nice API that
FilePath has to manipulate paths appropriately for these other libraries.
This could be easily accomplished by having POSIX and Windows versions of
FilePath, and then typedef'ing FilePath differently on different platforms
to one of these versions.

3) It would be helpful to have real path normalization for each of the
platforms (although I know what a testing nightmare that can be).  I might
try and tackle this if people think it would be beneficial.

4) Make sure we handle case sensitivity vs case preservation correctly.
It's unclear to me that FilePath does this correctly on the Mac -- Mac file
names are case preserving, but case insensitive, Unix filenames are both
(and windows filenames are neither :-).

So, is there any resistance to any of the above?  Do you have other
suggestions that I might take into account?  Am I violating any design
assumptions of FilePath?  For #2, is speed/size enough of a concern to avoid
a virtual base class (I wouldn't think so, but you never know..)?

-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: adding libraries to gyp

2009-04-28 Thread Evan Martin

It's not urgent at all.

On Tue, Apr 28, 2009 at 1:06 PM, Bradley Nelson  wrote:
> Hi Evan,
> I'm doing a similar change now to migrate v8.gyp from temp_gyp to src/v8.
> Once I get that working I'll see if I can get this change working.
> If it isn't urgent, it might be easier to wait until after at least webkit
> is switched (hopefully tonight at 6).
> -BradN
>
> On Tue, Apr 28, 2009 at 12:36 PM, Evan Martin  wrote:
>>
>> For reference, here was the failure:
>>
>> http://build.chromium.org/buildbot/waterfall/builders/Chromium%20XP/builds/4079/steps/compile/logs/stdio_html
>>
>> It needed to depend on this new "main" lib from gtest.
>>
>> On Tue, Apr 28, 2009 at 12:34 PM, Bradley Nelson 
>> wrote:
>> > Hi Evan,
>> > I'll take a look.
>> > Once we switched completely the msvs_guid's can go away (it will
>> > generate
>> > stable but random ones).
>> > -BradN
>> >
>> > On Tue, Apr 28, 2009 at 12:31 PM, Evan Martin  wrote:
>> >>
>> >> In http://codereview.chromium.org/99132 , I split one library into two.
>> >> This worked fine up until the Windows build, which only uses gyp
>> >> halfway, got the change to use the split library but didn't get the
>> >> change to fix consumers of the library.  :(
>> >>
>> >> Is there any reasonable way to work through this?  It appears I need
>> >> to do chrome.sln surgery to make this work, and that involves adding a
>> >> ton to the project, etc.
>> >> Should I just wait for gyp to go through Windows before doing this?
>> >>
>> >> (Once we're using gyp everywhere, can we just make up new guids for
>> >> the msvs_guid field in the gyp file?)
>> >>
>> >> >> >>
>> >
>> >
>
>

--~--~-~--~~~---~--~~
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: adding libraries to gyp

2009-04-28 Thread Bradley Nelson
Hi Evan,
I'm doing a similar change now to migrate v8.gyp from temp_gyp to src/v8.
Once I get that working I'll see if I can get this change working.
If it isn't urgent, it might be easier to wait until after at least webkit
is switched (hopefully tonight at 6).

-BradN

On Tue, Apr 28, 2009 at 12:36 PM, Evan Martin  wrote:

> For reference, here was the failure:
>
> http://build.chromium.org/buildbot/waterfall/builders/Chromium%20XP/builds/4079/steps/compile/logs/stdio_html
>
> It needed to depend on this new "main" lib from gtest.
>
> On Tue, Apr 28, 2009 at 12:34 PM, Bradley Nelson 
> wrote:
> > Hi Evan,
> > I'll take a look.
> > Once we switched completely the msvs_guid's can go away (it will generate
> > stable but random ones).
> > -BradN
> >
> > On Tue, Apr 28, 2009 at 12:31 PM, Evan Martin  wrote:
> >>
> >> In http://codereview.chromium.org/99132 , I split one library into two.
> >> This worked fine up until the Windows build, which only uses gyp
> >> halfway, got the change to use the split library but didn't get the
> >> change to fix consumers of the library.  :(
> >>
> >> Is there any reasonable way to work through this?  It appears I need
> >> to do chrome.sln surgery to make this work, and that involves adding a
> >> ton to the project, etc.
> >> Should I just wait for gyp to go through Windows before doing this?
> >>
> >> (Once we're using gyp everywhere, can we just make up new guids for
> >> the msvs_guid field in the gyp file?)
> >>
> >> > >>
> >
> >
>

--~--~-~--~~~---~--~~
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: adding libraries to gyp

2009-04-28 Thread Evan Martin

For reference, here was the failure:
http://build.chromium.org/buildbot/waterfall/builders/Chromium%20XP/builds/4079/steps/compile/logs/stdio_html

It needed to depend on this new "main" lib from gtest.

On Tue, Apr 28, 2009 at 12:34 PM, Bradley Nelson  wrote:
> Hi Evan,
> I'll take a look.
> Once we switched completely the msvs_guid's can go away (it will generate
> stable but random ones).
> -BradN
>
> On Tue, Apr 28, 2009 at 12:31 PM, Evan Martin  wrote:
>>
>> In http://codereview.chromium.org/99132 , I split one library into two.
>> This worked fine up until the Windows build, which only uses gyp
>> halfway, got the change to use the split library but didn't get the
>> change to fix consumers of the library.  :(
>>
>> Is there any reasonable way to work through this?  It appears I need
>> to do chrome.sln surgery to make this work, and that involves adding a
>> ton to the project, etc.
>> Should I just wait for gyp to go through Windows before doing this?
>>
>> (Once we're using gyp everywhere, can we just make up new guids for
>> the msvs_guid field in the gyp file?)
>>
>> >>
>
>

--~--~-~--~~~---~--~~
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: adding libraries to gyp

2009-04-28 Thread Bradley Nelson
Hi Evan,
I'll take a look.
Once we switched completely the msvs_guid's can go away (it will generate
stable but random ones).

-BradN

On Tue, Apr 28, 2009 at 12:31 PM, Evan Martin  wrote:

>
> In http://codereview.chromium.org/99132 , I split one library into two.
> This worked fine up until the Windows build, which only uses gyp
> halfway, got the change to use the split library but didn't get the
> change to fix consumers of the library.  :(
>
> Is there any reasonable way to work through this?  It appears I need
> to do chrome.sln surgery to make this work, and that involves adding a
> ton to the project, etc.
> Should I just wait for gyp to go through Windows before doing this?
>
> (Once we're using gyp everywhere, can we just make up new guids for
> the msvs_guid field in the gyp file?)
>
> >
>

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



[chromium-dev] adding libraries to gyp

2009-04-28 Thread Evan Martin

In http://codereview.chromium.org/99132 , I split one library into two.
This worked fine up until the Windows build, which only uses gyp
halfway, got the change to use the split library but didn't get the
change to fix consumers of the library.  :(

Is there any reasonable way to work through this?  It appears I need
to do chrome.sln surgery to make this work, and that involves adding a
ton to the project, etc.
Should I just wait for gyp to go through Windows before doing this?

(Once we're using gyp everywhere, can we just make up new guids for
the msvs_guid field in the gyp file?)

--~--~-~--~~~---~--~~
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: Suggestion for crossplatform ProcessSingleton and ChromeBrowserProcessId()

2009-04-28 Thread stoyan

On Mon, Apr 27, 2009 at 8:21 AM, Evan Martin  wrote:
>
> On Thu, Apr 23, 2009 at 1:35 PM, Nikita Ofitserov  wrote:
>> Don't try to get pid dynamically, but create on startup in datadir
>> file 'ChromePid' or something like that with pid. Also, create an IPC
>> channel with channel_id equal to pid with forced FIFO mode on POSIX.
>> Current POSIX implementation should be modified to allow this and to
>> store socket in datadir, not in /var/tmp. Then ProcessSingleton check
>> would be simple and crossplatform: find pid file, read pid, connect to
>> channel, send some message and wait for response.
>>
>> This eliminates all differences between platforms in
>> process_singleton_* and chrome_process_util_*.
>
> Having seen the rest of the discussion now, I think a fair summary of this is:
> 1) On Windows, the existing code is cleaner (no extra pid file, cleans
> itself up for free).


Well, on Windows code looks racy, does not work well across multiple
desktops, and probably will create troubles accessing userdata when
same instance is running in different terminal sessions (with same
user account).

Stoyan


> 2) On Mac, they will use a different mechanism for process_singleton.
>
> That still leaves:
>  - Linux process_singleton, process_util
>  - Mac process_util
>
> The Linux process_singleton still needs the socket for being able to
> send commands through (after your change, which I'd still like
> commit), so it's unlikely to change.
>
> That leaves process_util for Linux and Mac, which uses fuser (or
> something similar) and that is a hack.  However, it's only used for ui
> tests, I believe -- it's not needed in normal usage.  I am not opposed
> to (lazily, on a background thread) writing a pid file on Linux,
> though I'd prefer some other solution if one could be found.  Maybe
> it's to just remove the need for ChromeBrowserProcessId() somehow.
>
> >
>

--~--~-~--~~~---~--~~
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: Getting LOG(INFO) to print

2009-04-28 Thread Evan Martin

http://codereview.chromium.org/99140 is a patch to cut out a bunch of log spew.
Rather than argue about this some more, I upload it there for anyone's benefit.
I just keep this in a branch locally and merge it into code I'm working on.

On Wed, Apr 22, 2009 at 6:06 PM, cpu  wrote:
>
> My apologies to Pink. For future reference here is the email I sent to
> the team:
>
> date    Fri, Aug 29, 2008 at 2:45 PM
> subject default logging level change in chrome
>
> I've committed a change in ToT for chrome that:
> 1- Increases the default (minimum) login level from INFO to WARNING
> 2- Allows to specify any logging level in the command line with
> --log-level=n, with n = 0,1,2,3. Note that 0=INFO, 1=WARNING, 2=ERROR,
> 3= FATAL
>
> This decreases the amount of noise you see in the debugger. There is
> still quite a few noisy messages you see, mostly on the warning level.
> I would like to ask my fellow chromiunistas if they feel like
> increasing the default level one more notch.
>
> This change only affects chrome. Other modules are unit tests and
> shell_test are not affected.
>
> -cpu
>
>
> On Apr 22, 11:52 am, Evan Martin  wrote:
>> code.google.com is world-writable, so many of the docs there involve
>> user contributions.  (E.g. the fedora build instructions.)
>>
>>
>>
>> On Wed, Apr 22, 2009 at 11:49 AM, Andrew Scherkus  
>> wrote:
>> > I might have missed this memo, but why are we splitting documentation 
>> > across
>> > dev.chromium.org and code.google.com?
>> > Andrew
>>
>> > On Wed, Apr 22, 2009 at 11:37 AM, Evan Martin  wrote:
>>
>> >> Since Pinkerton just lost some hours to this and I did again:
>> >> The secret to getting LOG(INFO) to show is to pass --log-level=0 when you
>> >> run.
>>
>> >> I added this tohttp://code.google.com/p/chromium/wiki/LinuxDebugging
>> >> (which, by the way, has had a lot of content added since you last
>> >> looked).
> >
>

--~--~-~--~~~---~--~~
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 resources always rebuilding

2009-04-28 Thread Evan Martin

On Tue, Apr 28, 2009 at 10:26 AM, Mark Mentovai  wrote:
> Tony Chang wrote:
>> I'm not sure this is related to the mac try servers being slow.  This
>> only causes GRIT to re-run (maybe 10s to run on all files?), but
>> prevents .cc files from being recompiled.
>
> If there was a change that (intentionally or otherwise) caused GRIT to
> run on each build, the effects could easily add up to more than 10s on
> all files even during a null build when you start to factor in
> additional linking time, etc., as Mike points out.

Tony's point is that GRIT will run, decide that none of its outputs
are different, and then touch no output files.  Nothing else should
run based on that (?).

--~--~-~--~~~---~--~~
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 resources always rebuilding

2009-04-28 Thread Mark Mentovai

Tony Chang wrote:
> I'm not sure this is related to the mac try servers being slow.  This
> only causes GRIT to re-run (maybe 10s to run on all files?), but
> prevents .cc files from being recompiled.

If there was a change that (intentionally or otherwise) caused GRIT to
run on each build, the effects could easily add up to more than 10s on
all files even during a null build when you start to factor in
additional linking time, etc., as Mike points out.

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 resources always rebuilding

2009-04-28 Thread Mike Pinkerton

Even if cc files aren't getting touched, the app does re-link, which
is non-trivial in nature. I see that reproduced on my local tree.

Hrm, if this isn't the issue, what changed last week or so to cause
the massive slowdown?

On Tue, Apr 28, 2009 at 12:48 PM, Tony Chang  wrote:
> I'm not sure this is related to the mac try servers being slow.  This
> only causes GRIT to re-run (maybe 10s to run on all files?), but
> prevents .cc files from being recompiled.
>
> Mike is right that it causes null builds to be slower.
>
> I'm happy to rollback, it doesn't matter either way for me, but if
> we're trying to speed up the mac try slaves, this probably isn't going
> to help (this change has been in for almost a month).
>
> tony
>
> On Tue, Apr 28, 2009 at 8:46 AM, Mike Pinkerton  
> wrote:
>> Yes, this is certainly a direct cause of making a "null build" on mac
>> take far, far longer than it should.
>>
>> Can we just back out Tony's change that was made in the rules to go
>> back to the way things were in the short term?
>>
>> On Tue, Apr 28, 2009 at 11:31 AM, Marc-Antoine Ruel  
>> wrote:
>>>
>>> You really should take a look ASAP because yesterday, the mac try
>>> slaves were like 35+ jobs being. That makes mac testing inexistent and
>>> will just cause more mac breakage. I assume today, tomorrow, etc will
>>> be as bad.
>>
>> --
>> Mike Pinkerton
>> Mac Weenie
>> pinker...@google.com
>>
>



-- 
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: chromium resources always rebuilding

2009-04-28 Thread Tony Chang

I'm not sure this is related to the mac try servers being slow.  This
only causes GRIT to re-run (maybe 10s to run on all files?), but
prevents .cc files from being recompiled.

Mike is right that it causes null builds to be slower.

I'm happy to rollback, it doesn't matter either way for me, but if
we're trying to speed up the mac try slaves, this probably isn't going
to help (this change has been in for almost a month).

tony

On Tue, Apr 28, 2009 at 8:46 AM, Mike Pinkerton  wrote:
> Yes, this is certainly a direct cause of making a "null build" on mac
> take far, far longer than it should.
>
> Can we just back out Tony's change that was made in the rules to go
> back to the way things were in the short term?
>
> On Tue, Apr 28, 2009 at 11:31 AM, Marc-Antoine Ruel  
> wrote:
>>
>> You really should take a look ASAP because yesterday, the mac try
>> slaves were like 35+ jobs being. That makes mac testing inexistent and
>> will just cause more mac breakage. I assume today, tomorrow, etc will
>> be as bad.
>
> --
> 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: How do I not sync the layout tests in an existing client?

2009-04-28 Thread Nicolas Sylvain
On Mon, Apr 27, 2009 at 6:47 PM, Glen Murphy  wrote:

>
> I have zero need for the layout tests, yet I've never been able to set
> up a client without them - even with the suggested custom_deps line, I
> still get them.
>
> I've tried deleting my webkit dir, a carpet-bomb custom deps like, and
> gclient sync --force, and I still get the damned things.
> layout_tests/platform don't seem covered by the suggested custom_deps
> line, but I don't really know how these things work.
>
>"custom_deps" : {
>  "src/webkit/data": None,
>  "src/webkit/data/layout_tests/": None,
>  "src/webkit/data/layout_tests/LayoutTests": None,
>  "src/webkit/data/layout_tests/platform": None,
>  "src/webkit/data/layout_tests/platform/chromium-linux/LayoutTests":
> None,
>}
>

The only one that works is:
"src/webkit/data/layout_tests/LayoutTests": None

Because this is fetched with the DEPS files.

The other ones are in the checkout directly (under src/ in the repository),
and they can't be bypassed by the custom_deps.

Your svn-ignore might work, but make sure you don't submit this!

Nicolas



>
> >
>

--~--~-~--~~~---~--~~
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 resources always rebuilding

2009-04-28 Thread Mike Pinkerton

Yes, this is certainly a direct cause of making a "null build" on mac
take far, far longer than it should.

Can we just back out Tony's change that was made in the rules to go
back to the way things were in the short term?

On Tue, Apr 28, 2009 at 11:31 AM, Marc-Antoine Ruel  wrote:
>
> You really should take a look ASAP because yesterday, the mac try
> slaves were like 35+ jobs being. That makes mac testing inexistent and
> will just cause more mac breakage. I assume today, tomorrow, etc will
> be as bad.

-- 
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: chromium resources always rebuilding

2009-04-28 Thread Marc-Antoine Ruel

You really should take a look ASAP because yesterday, the mac try
slaves were like 35+ jobs being. That makes mac testing inexistent and
will just cause more mac breakage. I assume today, tomorrow, etc will
be as bad.

You can be our sheriff in the meantime if you want. :)

M-A

On Tue, Apr 28, 2009 at 9:02 AM, Thomas Van Lenten
 wrote:
> The deps for all the files generated is a problem, Mark and I have talked
> about it a few times, but haven't come up with something complete for it
> yet, hopefully it will pop back up on our queues shortly so we can figure
> out something more complete.
>
> TVL
>
>
> On Mon, Apr 27, 2009 at 6:14 PM, Evan Martin  wrote:
>>
>> PS: here's a hack I did in make.gyp to output a rule that manually
>> touches the output file to work around this.  Perhaps you could do
>> something in your Xcode generator to work around it for now.
>>
>> # Deep inside the "rules" conversions code path:
>>
>>       if name == 'resources_grit':
>>          # HACK: This is ugly.  Grit intentionally doesn't touch the
>>          # timestamp of its output file when the file doesn't change,
>>          # which is fine in hash-based dependency systems like scons
>>          # and forge, but not kosher in the make world.  After some
>>          # discussion, hacking around it here seems like the least
>>          # amount of pain.
>>          fp.write('\...@touch --no-create $...@\n')
>>
>> On Mon, Apr 27, 2009 at 3:12 PM, Evan Martin  wrote:
>> > The build system has a generation dependency path like this:
>> >
>> > 1) final output depends on
>> >  2) grit header and cc, which depends on
>> >    3) grit input .grd file, which depends on
>> >      4) theme resources
>> >
>> > This means whenever you tweak theme resources, you cause a recompile,
>> > even when the .cc and .h in (2) don't change.  So Glen requested Tony
>> > change grit to not touch the outputs if their contents don't change,
>> > and that's what's causing the problem.
>> >
>> > This works fine for scons (because it uses file content hashes to
>> > compute whether dependencies need rebuilding), but breaks systems
>> > (including make and Xcode) that rely on file timestamps.  Why?
>> > Because you end up with the timestamp of 3 being newer than the
>> > timestamp of 2, so the dependency checker thinks you always need to
>> > re-run grit to convert 3=>2.
>> >
>> > The symptom you get is that grit runs every time you build.
>> >
>> > I think the correct fix is to make grit just modify the output files,
>> > like every other program does.  Sorry, Glen.
>> >
>>
>>
>
>
> >
>

--~--~-~--~~~---~--~~
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 resources always rebuilding

2009-04-28 Thread Thomas Van Lenten
The deps for all the files generated is a problem, Mark and I have talked
about it a few times, but haven't come up with something complete for it
yet, hopefully it will pop back up on our queues shortly so we can figure
out something more complete.

TVL


On Mon, Apr 27, 2009 at 6:14 PM, Evan Martin  wrote:

>
> PS: here's a hack I did in make.gyp to output a rule that manually
> touches the output file to work around this.  Perhaps you could do
> something in your Xcode generator to work around it for now.
>
> # Deep inside the "rules" conversions code path:
>
>   if name == 'resources_grit':
>  # HACK: This is ugly.  Grit intentionally doesn't touch the
>  # timestamp of its output file when the file doesn't change,
>  # which is fine in hash-based dependency systems like scons
>  # and forge, but not kosher in the make world.  After some
>  # discussion, hacking around it here seems like the least
>  # amount of pain.
>  fp.write('\...@touch --no-create $...@\n')
>
> On Mon, Apr 27, 2009 at 3:12 PM, Evan Martin  wrote:
> > The build system has a generation dependency path like this:
> >
> > 1) final output depends on
> >  2) grit header and cc, which depends on
> >3) grit input .grd file, which depends on
> >  4) theme resources
> >
> > This means whenever you tweak theme resources, you cause a recompile,
> > even when the .cc and .h in (2) don't change.  So Glen requested Tony
> > change grit to not touch the outputs if their contents don't change,
> > and that's what's causing the problem.
> >
> > This works fine for scons (because it uses file content hashes to
> > compute whether dependencies need rebuilding), but breaks systems
> > (including make and Xcode) that rely on file timestamps.  Why?
> > Because you end up with the timestamp of 3 being newer than the
> > timestamp of 2, so the dependency checker thinks you always need to
> > re-run grit to convert 3=>2.
> >
> > The symptom you get is that grit runs every time you build.
> >
> > I think the correct fix is to make grit just modify the output files,
> > like every other program does.  Sorry, Glen.
> >
>
> >
>

--~--~-~--~~~---~--~~
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  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: Clipboard crash strikes again

2009-04-28 Thread Dean McNamee

I'm interested in learning more about raw X, if Adam's too busy I can
start working on this.

On Tue, Apr 28, 2009 at 3:58 AM, Evan Martin  wrote:
>
> It's one of our only 3 P0 bugs!
> http://code.google.com/p/chromium/issues/list?q=os:linux&sort=pri
>
> AGL wants to rewrite all the clipboard code to not use GTK :( so you
> could either help by claiming it yourself or claiming one of his other
> bugs:
>  http://code.google.com/p/chromium/issues/list?can=2&q=owner:a...@chromium.org
>
> On Mon, Apr 27, 2009 at 6:45 PM, Dan Kegel  wrote:
>>
>> I was going to reply to some LWN thread about
>> web browsers being slow on Linux.
>> Naturally, I was going to use a freshly built Chromium to do
>> it.  But I used ^C/^V, and that's all she wrote.  I
>> hung my head and gave up on replying.
>>
>> I'm really looking forward to the clipboard working...
>>
>> >
>>
>
> >
>

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