Re: [chromium-dev] WebKitApi (test_shell) and DevTools, JS debugging

2010-01-18 Thread Peter Kasting
On Mon, Jan 18, 2010 at 9:16 AM, vridosh vrid...@gmail.com wrote:

 As far as I
 understand, that's why Debugger tab was not available in test_shell in
 early Chromium builds.


Probably the real reason is because test_shell isn't meant to be a reference
implementation of everything and we never bothered to spend any time on it.

So, the main question is - is it possible at all to make DevTools JS
 debugger in test_shell to work correctly?


AFAIK test_shell is obsolete and is going to die when we implement
DumpRenderTree atop the WebKit API.  Darin or Dimitri or someone can correct
me if I'm wrong.

I would definitely not depend on or look at test_shell for any serious
project.

PK
-- 
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] Re: opening local files with chrome from command line, relative paths

2010-01-18 Thread Peter Kasting
On Mon, Jan 18, 2010 at 4:54 PM, Dirk Pranke dpra...@chromium.org wrote:

 So, you then get the following algorithm:

 1) if there is a ':' in the URI, you split the URI into scheme and
 scheme-specific part.

 2) If there is a scheme:

  2.1) If the scheme is a recognized/supported one, dispatch the URL
 as you would normally.

  2.2) If scheme matches [a-zA-Z] and you are on Windows, treat as an
 absolute local file URL

  2.3) Else, treat this as a syntax error in the URI

 3) If there is no scheme:

  3.1) If the URI starts with a /, treat it as a full path relative
 to the current context (e.g., current scheme, host and port. If your
 current context is a local filesystem, then treat it as a file://
 scheme

  3.2) If the URI starts with a \, you're on Windows, and the
 context is a local file system point, repeat as above, prepending with
 the current drive

  3.3) If the URI doesn't start with a / or a \, then, optionally,
 check to see if the URI resolves to a valid hostname. This catches the
 chrome.exe www.google.com use case

  3.4) If the URI doesn't resolve to a valid hostname, then interpret
 it as a relative URL


I'd pretty strongly like to not specify steps like these.  They duplicate
code we already have for interpreting user input, except with less fidelity.
 We have quite sophisticated heuristics for how to figure out the correct
scheme, parse drive letters, UNC paths, etc.  We don't need to write another
set.

I also don't really care about trying to fix up www.google.com; if it
falls out of the existing code, fine, but I wouldn't bother spending time on
it.  I'm definitely opposed to doing anything like try DNS resolution on X
and fall back to Y since it makes the results unpredictable based on your
network.  What if the user specifies a filename that's also an intranet
host?  What if the user says www.google.com but the network is currently
down -- does the browser show a couldn't open local file www.google.com
error?  etc.

It's enough to simply say run the input through fixup, supplying the CWD as
the relative file path base.  We have code that can basically take it from
there.

PK
-- 
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] Re: Two Students Looking to work on Chromium for a Semester-Long Class Project (and beyond)

2010-01-16 Thread Peter Kasting
On Sat, Jan 16, 2010 at 2:25 AM, Alex Gartrell alexgartr...@gmail.comwrote:

 I've decided to try to tackle crbug.com/20005 (thanks Peter for the
 list).  I'll dive into it more tomorrow.  I don't know if there's an
 'assignee' role or something on the bug tracker, but I'm currently
 working under the assumption that I should just submit a patch when I
 finish it.


Since it's your first time working in the codebase, feel free to grab people
as needed before you get to the patch submission stage.  The best person on
this bug is w...@chromium.org.  He's friendly :)

PK
-- 
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] Two Students Looking to work on Chromium for a Semester-Long Class Project (and beyond)

2010-01-15 Thread Peter Kasting
On Thu, Jan 14, 2010 at 9:54 PM, Alex Gartrell alexgartr...@gmail.comwrote:

 - We both submitted patches that were accepted to Mozilla as part of
 the prerequisite course to this one (So we know about dvcs, the patch
 submission process, etc.)


One thing to note is that Chromium uses neither a distributed VC system nor
Bugzilla, so your development process will look a little different than with
Mozilla patches.  That said, hopefully it shouldn't be hard to accommodate.


 We're pretty open minded as far as the actual project is concerned.
 One thing that was suggested to me in the irc by rubenbb was working
 with SPDY.  I'm kind of a networks geek (doing some research stuff in
 that arena), so that'd be cool.  But really, anything cool would be
 good.


Are you looking to work together on the project or separately?  And are you
looking for a single, larger task, or a lot of smaller issues?  I have a
number of smaller bugs I could throw at you but I'd only want to do that if
that's your interest :)

Your first task should be to get the code checked out, built, and perhaps
running in a debugger.  Start at http://dev.chromium.org/Home and look for
your OS of choice in the second bullet point; that should get you going.
 The majority of Chromium developers work in Windows with MSVC, but there
are healthy numbers of Mac and Linux folks too.  If you have problems, come
hang out on irc.freenode.net #chromium; that's the best place to get quick
answers.

PK
-- 
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] Ajax maximum response size

2010-01-15 Thread Peter Kasting
Ever think of using Web Sockets?

PK
-- 
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] Re: Two Students Looking to work on Chromium for a Semester-Long Class Project (and beyond)

2010-01-15 Thread Peter Kasting
On Fri, Jan 15, 2010 at 12:35 PM, Alex Gartrell alexgartr...@gmail.comwrote:

 Pam's right in that we're looking for a 'Chromium mentor'.


Right.  I understood that, and might be willing to do it; I was more
concerned with what you were actually interested in working on (in terms of
size and style) to get an idea of who'd be appropriate.

We were also interested to see what suggestions you had for things to
 work on.  Right now, we're thinking about taking on a couple 'lay of
 the land' type bugs and then hopefully doing a more non-trivial patch
 later.  Of course, we're still trying to figure stuff out with our
 professor right now, but we're very interested in hearing suggestions.


I once made a list of some of the smaller, but not completely pointless,
bugs I was aware of that I thought someone coming up to speed might be able
to handle.  This list doesn't have anything from the last four months, and
is heavily biased towards the areas I have worked on (== a lot of address
bar stuff especially), but maybe there is something in here that catches
your eye.  Some of these are more difficult than others, but I would be
happy to handhold you through solving any of them.  They would probably
prepare you for tackling bigger projects.

crbug.com/4005
crbug.com/4095
crbug.com/6177
crbug.com/6770
*crbug.com/6872*
crbug.com/6888
crbug.com/7438
crbug.com/7982
crbug.com/9044
crbug.com/9694
crbug.com/9885
crbug.com/12305
crbug.com/13279
crbug.com/13703
crbug.com/14748
crbug.com/16746
crbug.com/18107
crbug.com/18587
crbug.com/20005
crbug.com/20250
crbug.com/22853
crbug.com/22982

PK
-- 
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] [LTTF] Finders Pool Drained, Under 300 Failures on Win XP Release

2010-01-15 Thread Peter Kasting
Dimitri, the LTTF, and anyone else involved, you are awesome, and I consider
your work to have the largest importance / (satisfaction + recognition)
value on the team.  This is a thankless task.  You have given me hope that
someday we could conceivably reach 0 failures.

PK
-- 
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] Re: opening local files with chrome from command line, relative paths

2010-01-14 Thread Peter Kasting
On Thu, Jan 14, 2010 at 9:19 AM, Scott Hess sh...@google.com wrote:

 [BTW, don't take my argument as support for allowing relative paths on
 the command-line.  It's such a low-volume use-case that I'd be
 perfectly fine requiring explicit fully-qualified URLs and be done
 with it.


:( This lack-of-feature has bitten me numerous times in the past few months.
 I support the Firefox way.

PK
-- 
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] Date of M5 drop?

2010-01-14 Thread Peter Kasting
On Thu, Jan 14, 2010 at 4:48 AM, OwenCM owencmo...@googlemail.com wrote:

 Hi, I've been scouring the groups and can't find the answer anywhere,
 what time scale are we looking at until the dev branch hits m5?


What do you mean by hits m5?  Do you mean, the major version stamp gets
changed from 4 to 5?  If so, the timing is kind of irrelevant, because that
alone doesn't mean much.  We could change it today, or next week, or
whenever, as long as (a) version 4 has already branched and (b) version 5
hasn't branched yet.

The best way to figure out what will be in some particular stable release is
to look at whatever branch the beta releases are shipped from, as that
represents the thing that's being stabilized.  On Windows, the last several
beta releases have been on the 249 branch, so that's the best representation
of version 4.

If you're looking for a branch date for version 5, we don't generally
announce those, I don't think.

PK
-- 
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] Re: opening local files with chrome from command line, relative paths

2010-01-14 Thread Peter Kasting
On Thu, Jan 14, 2010 at 1:55 PM, Scott Hess sh...@google.com wrote:

 If you try to open a
 relative path and it doesn't work, you go Oh, right, relative path.


No, actually, what I say every time is What the heck, why did it try to
open this as a hostname? and then I laboriously navigate through twenty
folders of hierarchy on my disk inside the browser, and it sucks.


 The bone of contention in the thread is what should be done when you
 didn't mean to open a relative path.


I know.  You do what Firefox does, is my answer.  I don't think Victor's
objections have merit.

The number of users who supply filenames on the command line is small, but
of those users, I think pretty much all would prefer the Firefox method to
our current method, so I see no reason to leave things as they are.  The
only thing that the small userbase affects is the priority of this
implementation, which should be low.

PK
-- 
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] Re: opening local files with chrome from command line, relative paths

2010-01-14 Thread Peter Kasting
On Thu, Jan 14, 2010 at 2:05 PM, Peter Kasting pkast...@google.com wrote:

 I don't think Victor's objections have merit.


(For public benefit)

Partly because you can't put ':' in a filename on Windows, which is the OS
where local files aren't resolved.   On the Mac opening local files already
works (according to Scott) and I'd be surprised if Linux was different.  In
other words, I'm not asking for new surface area from this purported attack
possibility.

PK
-- 
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] seeking c++ expertise for a tiny tricky bit of code

2010-01-13 Thread Peter Kasting
On Wed, Jan 13, 2010 at 9:42 AM, Evan Martin e...@chromium.org wrote:

 At the code level I think it's not too hard for us to be aliasing
 correct (people like Craig have already fixed all of the places where
 we were wrong, and we have tools like bit_cast in basictypes.h to
 make it not too painful), so I'm not too opposed to it.

 But on a practical note, the default only matters on Linux with gcc
 4.4, which is not a build configuration we (Google) yet use
 extensively, which means that we break solely but frequently for
 third-party builds:
  http://code.google.com/p/chromium/issues/list?can=1q=strict+aliasing
  (note how much of those mention fedora or ubuntu)


Given your first paragraph, the comment that we're building Chrome OS with
gcc 4.4, and my own experience with aliasing-related bugs and optimizations,
I'm not sure why we shouldn't throw -fstrict-aliasing (for first-party
code).  If we're already correct, this just prevents us from adding new
failures, which is a Good Thing.  I don't know whether we will actually see
a perf win, but we certainly won't see a perf loss, and there's less chance
of weird, obscure bugs.

PK
-- 
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] seeking c++ expertise for a tiny tricky bit of code

2010-01-13 Thread Peter Kasting
On Wed, Jan 13, 2010 at 10:53 AM, Craig Schlenter craig.schlen...@gmail.com
 wrote:

 I'm one try-server run away from possibly turning -fno-strict-aliasing on
 for
 all linux/bsd gcc: http://codereview.chromium.org/519034

 From a process standpoint, given that there is some disagreement here
 is someone going to come find me with a clue bat if I commit this?


I don't think anyone will be rabid :)

That said, my comment in my prior email stands: if we're basically capable
of throwing -fstrict-aliasing for first-party code now, what do we gain by
instead throwing -fno-strict-aliasing?  I would be sad to see us do this
unless it really buys us something.

PK
-- 
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] seeking c++ expertise for a tiny tricky bit of code

2010-01-13 Thread Peter Kasting
On Wed, Jan 13, 2010 at 11:22 AM, Craig Schlenter 
craig.schlen...@chromium.org wrote:

 Other than the immediate gain of hiding crbug.com/28749,


Which you have a patch (actually two, but one with r+) for, right?


 I think the biggest
 benefit is that end users relying on 4.4 builds are likely to have a more
 stable
 experience in future since it is a safe default.


I don't understand what you mean.  Whichever way we set the flag, we'll be
compiling with it.  So that will be the safe thing for others to compile
us with.  Throwing -fstrict-aliasing has the added advantage that it makes
_both_ settings safe.


 The other thing it buys us is a more relaxed timetable to solve the
 aliasing
 problems if it doesn't break the tree by default.


Do we have other aliasing problems?  If so my opinion changes.

PK
-- 
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] seeking c++ expertise for a tiny tricky bit of code

2010-01-13 Thread Peter Kasting
On Wed, Jan 13, 2010 at 11:28 AM, Evan Martin e...@chromium.org wrote:

 PS: I'd be willing to flip the flag just after we do the next beta
 channel push and see how many more problems we get because of it.
 But in general, if it doesn't buy us any performance and it does cause
 hard-to-track-down crashes, I don't see why we should use it.


If it causes hard-to-track-down crashes I agree that is bad.  If the
compiler can't catch errors like this at compile time and we have them at
runtime, then I agree with you that we should turn off strict aliasing for
now.

 The
 correctness gain doesn't buy us anything on other platforms anyway.


It depends what you mean.  We use GCC on Linux, Mac, and ChromeOS, and we
want to be able to run ChromeOS on ARM, where strict aliasing makes a bigger
performance impact than on x86 due to the number of available registers.  On
Windows, I don't believe MSVC allows you to enable strict aliasing rules,
but ICC would, although for some reason we've never evaluated using it.

PK
-- 
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] seeking c++ expertise for a tiny tricky bit of code

2010-01-13 Thread Peter Kasting
On Wed, Jan 13, 2010 at 12:07 PM, Craig Schlenter craig.schlen...@gmail.com
 wrote:

  Do we have other aliasing problems?  If so my opinion changes.

 There are some aliasing issues still in play. Off the top of my head:

 1. unit_tests has what might be an issue in stl_tree.h or a compiler issue
  (bug filed with gcc ppl) and it was already using
 -fno-strict-aliasing to avoid this with gcc 4.4.
 2. skia has an unresolved issue. Note the filing date:
 http://code.google.com/p/skia/issues/detail?id=18
 3. v8 has an aliasing issue in dtoa and somewhere else that I forget.
 4. there are issues in third party code of course eg. icu, webkit etc.


2-4 I'm not worried about because they're effectively third-party (even if
they're done in-house), but 1 is an issue, and cases the compiler doesn't
catch are issues.  So it seems best to go ahead and turn off strict
aliasing.

I'd love to see us fix and enable it later.  Not sure what will provide the
motivation to do that.

PK
-- 
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] RFC: Extensions Incognito

2010-01-13 Thread Peter Kasting
On Wed, Jan 13, 2010 at 2:28 PM, mpcompl...@chromium.org wrote:

 I've shared Extensions 
 Incognitohttp://docs.google.com/Doc?docid=0AbzUSl_g6CjAZGdzZHJnanJfM2RiY3N3dmZzhl=eninvite=CJ3Si8MG
 *
 *


The idea of having the ability to do both read-only and read-write access to
the main profile is one that's mirrored in the low-level APIs inside
Chromium, where we have an enum that differentiates between these cases that
we can pass when trying to gain access to various data stores, which
modifies what happens.  I like this parallel and maybe we can implement the
high-level APIs in terms of those low-level ones.

On Wed, Jan 13, 2010 at 2:45 PM, Antony Sargent asarg...@chromium.org
 wrote:

 Right now a convenient way to see if a website is having problems due to
 some extension's content script is to open an Incognito window. Would it
 make sense to add a way to easily disable extensions in Incognito mode,


I think the use case is important (does one of my extensions break stuff),
but the current method to solve it (open an incognito window) is a hack, so
I wouldn't want to tie a proper solution to Incognito mode.  It seems like
this is a good use case to keep in mind when figuring out what UI to give
users to control extensions (and plugins).  We have some, but there seems to
be general agreement that we can do more/better (e.g. a simple disable all
button).

I also think there's a use case for saying that X extensions should be
enabled/disabled in normal mode but not Incognito, but that may be more
granularity than we can coherently expose in UI.

PK
-- 
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] seeking c++ expertise for a tiny tricky bit of code

2010-01-12 Thread Peter Kasting
On Tue, Jan 12, 2010 at 10:37 PM, Craig Schlenter 
craig.schlen...@chromium.org wrote:

 That makes the compiler toss an aliasing error immediately:

 cc1plus: warnings being treated as errors
 base/rand_util_posix.cc: In function ‘uint64 base::RandUint64()’:
 base/rand_util_posix.cc:32: error: dereferencing pointer ‘instance’
 does break strict-aliasing rules
 base/rand_util_posix.cc:47: note: initialized from here

 Beforehand the compiler didn't warn or error at all despite -Wall -Werror
 btw.
 but it did detect the problem when I did -Wstrict-aliasing=2


Sadly I don't understand the issue at all, so I can't help you.  But I do
know that in the past gcc has thrown aliasing errors about code that should
be legal.  I hope this is not happening to you in this case.

PK
-- 
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-10 Thread Peter Kasting
On Sun, Jan 10, 2010 at 7:15 AM, Pierre-Antoine LaFayette 
pierre.lafaye...@gmail.com wrote:

 Is it illegal for the WebKit glue layer to send synchronous messages to the
 browser requesting the icon data URI?


I don't know, but in general sync messages suck.  Why couldn't you use an
async message and just show the icon once it arrives?

PK
-- 
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] How can I tell if a Renderer process finishes loading a page

2010-01-09 Thread Peter Kasting
On Sat, Jan 9, 2010 at 12:15 AM, hap 497 hap...@gmail.com wrote:

 So how does renderer process knows the whole page is loaded completely
 and tell the browser process to stop the spinning icons and shows the
 favicon of the page?


Sounds like you should start by looking in the browser for what controls the
throbber and backtrack from there.  You want the NavigationController class.

PK
-- 
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] svn question about line-endings

2010-01-08 Thread Peter Kasting
On Thu, Jan 7, 2010 at 7:42 PM, alokp al...@chromium.org wrote:

 SVN Gurus,

 I have a question about my CL - http://codereview.chromium.org/527016/show
 .
 Mac and Linux trybots are failing at the patch stage due to line
 endings. The files in my cl were originally submitted with wrong line-
 endings. My CL fixes the line-endings and now patch is failing on mac
 and linux. If I submit the CL, will it break gclient sync and hence
 build too?


What do you mean by fixes the line endings?

What you want to do is svn pset svn:eol-style LF on all those files.  Do
that as a standalone change.  Then after that you shouldn't have problems.

PK
-- 
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] svn question about line-endings

2010-01-08 Thread Peter Kasting
On Fri, Jan 8, 2010 at 10:25 AM, Alok Priyadarshi al...@google.com wrote:

 Yes thats what I did to fix line-endings: svn pset svn:eol-style LF.

 But this CL contains other changes as well in addition to fixing
 line-endings. Should I do them in separate CLs?


Yes, I would do them in separate CLs, since not only is it clearer, but I
think it'll make your trybot problems go away.

You don't need review on the change that just sets the eol-style prop; just
go ahead and commit it directly (assuming the tree is open).

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] Don't use Empty[String,WString,String16,GURL]() unless you really need to

2010-01-07 Thread Peter Kasting
If you have ever used any of the EmptyXXX() functions, or ever will, please
read on.

These functions (in string_util.h and gurl.h) are meant for a single,
specific use case:

const std::string MyClass::foo() const {
  return (everything == OK) ? member_string : EmptyString();
}

Here you cannot return string(), because it's destroyed before the
function returns, and the caller receives garbage; and you don't want to
have the function return by value, because you can access the member
variable directly and save a copy.  The utility functions give you a global
empty string that you can safely return a const reference to.

DON'T USE THESE OUTSIDE THIS CASE.  You should never use these as
initializers, arguments to functions, or return values in functions that
return by value.  Just use the default constructor; that's what it's there
for.

I have a change out for review that removes the erroneous uses of these from
our codebase and clarifies the comment on their declaration, but it's worth
calling this out directly so they don't creep back in.

PK
-- 
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] Replicated State among tabs in Chromium

2010-01-07 Thread Peter Kasting
On Thu, Jan 7, 2010 at 1:30 PM, Fady Samuel fadysam...@gmail.com wrote:

 What about allowing the renderer to run asynchronously with the
 script?  Right now you're either producing the view or you're running script
 but never both concurrently, correct?  Parallelizing them should not
 introduce issues I think (assuming the renderer has the equivalent of a
 snapshot view of the DOM tree)?


But the chief use of JS is to manipulate the DOM.  There's little real
parallelism to extract there, and great cost to doing so.

PK
-- 
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] Don't use Empty[String,WString,String16,GURL]() unless you really need to

2010-01-07 Thread Peter Kasting
On Thu, Jan 7, 2010 at 1:34 PM, Jeremy Orlow jor...@chromium.org wrote:

 (As discussed during lunch...)  Why not just do this in this case and
 remove EmptyString() altogether?

 const std::string MyClass::foo() const {
   static std::string empty = EmptyString();
   return (everything == OK) ? member_string : empty;
 }


This is illegal per the Google style guide:

Objects with static storage duration, including ... function static
variables, must be Plain Old Data (POD): only ints, chars, floats, or
pointers, or arrays/structs of POD. ... This rule completely disallows
vector (use C arrays instead), or string (use const char []).

If you see code like this in our codebase, please fix it to not use
static/global non-POD types.

PK
-- 
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] Don't use Empty[String,WString,String16,GURL]() unless you really need to

2010-01-07 Thread Peter Kasting
On Thu, Jan 7, 2010 at 1:50 PM, Jeremy Orlow jor...@chromium.org wrote:

 What about renaming the function?  EmptyStringHACK() or something?


It's not a hack.  It's a perfectly legitimate thing to use, and not
something we're going to get rid of, unlike ToWStringHack().

Darin suggested we could make these return const pointers instead of const
refs, so callers would need to explicitly deref, to make things look uglier.
 I'm not a big fan of this.

If someone does misuse one of these, it won't corrupt memory, so it's not
catastrophe.  Removing all the wrong uses and adding clear comments about
the right uses, here and in the code, seems sufficient to me.

PK
-- 
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] Don't use Empty[String,WString,String16,GURL]() unless you really need to

2010-01-07 Thread Peter Kasting
On Thu, Jan 7, 2010 at 2:50 PM, Albert Wong (王重傑) ajw...@google.com wrote:

 Is there something wrong with returning by copy, and relying on the
 compiler to execute a return value optimization?


I'm not totally sure what your comment is saying.

If you are saying that everywhere in the code can return by value instead of
by const ref and the compiler will optimize it equivalently, you are wrong;
I was under the same misapprehension until yesterday.  We've verified that
even in the best case (full optimizations, all functions visible to the
compiler, simple bodies), returning a member by value instead of by const
ref takes more code.

If you are saying that the RVO exists and matters, then of course you're
correct.  When you write code like this:

std::string foo() {
  std::string a;
  // Calculations with a
  return a;
}

...The compiler uses the RVO to avoid copying |a| to the return value at
EOF, and instead just allocate |a| directly to the return slot.  This is why
we prefer return-by-value to return-by-outparam where possible: RVO makes it
just as cheap, and clearer.  But neither is as cheap as return-by-const-ref
if you've already got the referenced object sitting around, as you do on
class member accessors; it's one copy versus zero.

PK
-- 
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] Don't use Empty[String,WString,String16,GURL]() unless you really need to

2010-01-07 Thread Peter Kasting
On Thu, Jan 7, 2010 at 3:45 PM, Aaron Boodman a...@google.com wrote:

 Out of curiosity, what is wrong with using EmptyString() in those
 cases? Is there a correctness problem? Unnecessary inclusion of
 string_util.h?


There are a couple reasons.  Code clarity and consistency is a primary one;
using EmptyString() implies you _need_ EmptyString() and that the default
constructor won't work, which can be confusing.  (I am especially frustrated
with code like std::string x(EmptyString());.)  For folks used to using
WebKit string classes, which differentiate between empty and NULL, this can
look like you're saying more about the semantics of the statement than you
actually are.  If you see code with hundreds of EmptyString()s you begin
wondering whether your code should use it too.

Another reason is that EmptyString() does a threadsafe access to a global
object, whereas the default constructor is a comparatively simple block of
inlinable code that the compiler understands and may frequently be able to
optimize better.

There is not a correctness issue, which is why uses of this can seep into
the codebase without people noticing.  It is, of course, nice to avoid
including string_util.h as you mention, though I'd consider that a minor
benefit.

The totality of the reasons is somewhat lost (to me at least) in the mists
of time; EmptyString() dates from the earliest days of the codebase, and at
the time we went round and round a number of times to determine the best
solutions for each situation.

PK
-- 
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] Don't use Empty[String,WString,String16,GURL]() unless you really need to

2010-01-07 Thread Peter Kasting
On Thu, Jan 7, 2010 at 8:00 PM, Michael Nordman micha...@google.com wrote:

 Where as It looks like GURL::EmptyGURL() may be a tad less costly than
 GURL().


Not if you ever need to initialize another GURL with it (since the compiler
can't collapse the copy).  Which is true much of the time that EmptyGURL()
can be replaced by GURL().

And the code clarity reasons still stand.  Please don't do this in the name
of hoping you'll save an instruction somewhere, it's much like premature
optimization.

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] Core Principles: A refresher (especially for newer contributors/team members)

2010-01-06 Thread Peter Kasting
A while ago, Ben Goodger (our fearless tech lead) wrote up a set of core
principles around Chromium.  If you have not read and pondered these, please
do:

http://dev.chromium.org/developers/core-principles

In particular, as we've had more contributors both inside and outside Google
over the past year, I feel there have been an increasing number of debates
about things like adding more options and prompts, or making the UI more
complex in other ways.  One of our design goals is never to present users
information and choices they don't understand or care about, and to make the
browser automatically do the right thing, so that it's a natural extension
of your will instead of a piece of software (in the words of the
document).  While this presents us with hard choices, and we can't always
accommodate every user (including some of us developers!), it's important
that we share a unified vision of what the product should be.  Ben once
mused that he'd love for us to be able to _remove_ options and prefs in each
subsequent version.

My own summary is this: trying to please everyone results in a product that
doesn't perfectly please anyone; we should be willing to be bold, be
arrogant, and create a product that is unsuitable for a few users, if that
means it is exceptional for most.  There are many good choices in the
browser space today, and it's perfectly fine if an individual finds that
Firefox, Safari, or any other browser is a better fit for him--as long as we
understand and accept the tradeoff that triggers that decision.

I hope you're passionate about making something great, and that whatever
you're working on is focused around these core principles.

PK
-- 
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] Replicated State among tabs in Chromium

2010-01-04 Thread Peter Kasting
On Mon, Jan 4, 2010 at 4:58 PM, Darin Fisher da...@chromium.org wrote:

 There are some caches in webkit (the resource cache in particular, but
 there are others) that would be nice to share between processes.


If you look into this, note that there are major tricky issues here around
synchronization if you start trying to share caches between processes
without hammering perf.

Also, the gain from sharing these will not necessarily be large, for two
reasons:
* We already set a fairly small global size limit for the sum of all
resource caches (and the other caches are pretty trivial)
* Renderers in separate processes are very likely to be on separate sites
and have mostly disjoint cacheable sets

PK

-- 
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] Replicated State among tabs in Chromium

2010-01-04 Thread Peter Kasting
On Mon, Jan 4, 2010 at 5:17 PM, Fady Samuel fadysam...@gmail.com wrote:

 I'm also interested in looking into state that is already shared but makes
 excessive use of locking and may be hindering performance.


I'm not aware of anything that really falls into this category.  We share
the visited link state but use a carefully-designed system to avoid
excessive locking.  Renderers can share bitmaps with the browser via shared
memory, but there isn't contention here that I'm aware of.

PK

-- 
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] Replicated State among tabs in Chromium

2010-01-04 Thread Peter Kasting
On Mon, Jan 4, 2010 at 5:48 PM, Fady Samuel fadysam...@gmail.com wrote:

 So as Peter said a lot of this cache state will not be used in multiple
 tabs because many of these tabs will be different webpages. That's not to
 say that one doesn't open multiple pages from a single site however, in
 which case the image cache might have a lot replication overhead.


However, opening multiple pages from a single site will usually also lead to
those pages being in the same process (depending on how they were opened).

PK

-- 
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] Replicated State among tabs in Chromium

2010-01-04 Thread Peter Kasting
(re-adding chromium-dev)

On Mon, Jan 4, 2010 at 5:58 PM, Fady Samuel fadysam...@gmail.com wrote:

 Was this done to reduce memory overhead?


No, it was done because the newly opened pages and the original pages can
script each other.  From what I understand, making sites in different
processes able to script each other is somewhere between very hard and
impossible.  Darin Fisher, Charlie Reis, Adam Barth and others know much
more about this.

Doesn't this introduce a fault tolerance issue?


In that it increases the number of tabs affected by renderer crashes?  Yes,
but we don't really have a choice.  That's how the web works.

I believe MS' Gazelle project purposefully breaks scriptability here in
order to maintain more robust separation.  This pretty much breaks the web
and wouldn't be shippable as a consumer browser.

PK

-- 
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] Replicated State among tabs in Chromium

2010-01-04 Thread Peter Kasting
On Mon, Jan 4, 2010 at 6:32 PM, Fady Samuel fadysam...@gmail.com wrote:

 I know I'm asking you a lot of questions here.


And you keep removing chromium-dev.  Why?  I'm not the knowledgeable person
about much of this stuff, I'm just trying to be helpful.

Alex mentioned the Webkit DOM tree, indicating that making the nodes of the
 DOM tree immutable in this fashion would be interesting.


Why?  AFAIK the DOM tree isn't shared across processes, and the renderer is
effectively single-threaded as far as this is concerned.

How does the current traversal of the DOM tree work? Does it require
 locking? Do you create a copy of the tree for rendering purposes?

 I assume scripting enables dynamic updates of the DOM tree to happen all
 the time? I haven't looked into this much myself yet. How is the
 synchronization handled there currently?


As I said, I believe the DOM tree isn't shared across processes, so there is
no synchronization that I know of.

I am way out of my depth in this area so you really should not ask me
specifically.

PK

-- 
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] Replicated State among tabs in Chromium

2010-01-04 Thread Peter Kasting
On Mon, Jan 4, 2010 at 6:55 PM, Fady Samuel fadysam...@gmail.com wrote:

 So a script cannot execute concurrently with the traversal of the DOM tree?
 Could this be a performance bottleneck?


Pretty much nothing in the renderer can execute concurrently with other
things in the renderer.  There have been academic papers published about
trying to parallelize parts of web rendering, and some though experiments
from various smart Mozilla and WebKit folks, but from what I've seen it's
not promising.  The web wasn't really designed with thread- or process-level
parallelism on the part of the UA in mind.  (Witness, for example, the
horror of sync XHR, or how difficult it is to make alert()s not be
renderer-modal.)

In particular, it's fairly well-defined that script sees a coherent state as
it executes, so unless you can solve the halting problem, there are pretty
severe limits on how much you could parallelize script execution with other
stuff.

PK

-- 
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] adding and saving preferences

2010-01-03 Thread Peter Kasting
On Sat, Jan 2, 2010 at 2:07 PM, Andy Ames a...@amesgames.net wrote:

 I have added a preference to pref_names.h/cc.

 In chrome/browser/browser.cc, I added the regisration of the user
 preference to ths static Browser::RegisterUserPrefs(PrefService*
 prefs) function:

 prefs-RegisterDictionaryPrefs(prefs::kPrinterSettings);


Generally prefs are used in specific classes (e.g. printer-specific code),
and you should register them from that code instead of using Browser as a
general-purpose dumping ground.

I then set a child string pref of the dictionary using:

 browser_-profile()-GetPrefs()-SetString(prefs::kPrinterSettings +
 L.child);


I don't think this would work.  Are there comments in the Value header about
how to use the classes there?  I think you need to GetMutableDictionary() on
your pref and then add a string to that dictionary.  AFAIK this will then
get saved automatically.  See e.g. the code for remembering zoom levels per
hostname, which uses strings in a dictionary.

PK

-- 
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] suppressing print dialog in kiosk mode

2009-12-31 Thread Peter Kasting
On Thu, Dec 31, 2009 at 2:32 AM, Andy Ames a...@amesgames.net wrote:

 I am considering using a separate switch such as --supress-print-
 dialog, since kiosk mode and suppressing the print dialog are
 orthogonal features.


They don't seem orthogonal, since in kiosk mode it doesn't seem like you
would ever want to show a user a print dialog (or any other kind of system
configuration dialog).

2) The command-line switches for the printer and its print settings
 are prefixed with --print-settings. The printer name is specified with
 --print-settings-printer.


Ugh.  Prefer descriptive individual names over groupwise patterns.

It does seem a little odd to break from the norm where command-line
 switches are static and well-documented in the switches source files.
 I had to add a function to CommandLine in order to enumerate the
 switches and look for ones with a particular prefix (--print-
 settings). Thoughts?


Why not instead make these things that can be configured in the preferences,
which (being JSON) can be more descriptive without affecting the
command-line parsing code?

4) WISH: Instead of putting this massive list of switches on the
 command-line, using an about:config seems ideal. Has anyone started
 this?


See my comment above.

PK

-- 
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] [WebGL] Recommending --no-sandbox

2009-12-30 Thread Peter Kasting
On Wed, Dec 30, 2009 at 3:56 PM, Jeremy Orlow jor...@google.com wrote:

 2) Info bar.  This seems like one of the more popular options at the
 moment.


 This is a bad idea, we shouldn't do it.  It's not as annoying as a modal
 dialog, it has problems with clashing with other infobars on start.
  Basically it's inferior to a modal dialog in every way.


 FYI: The ui-leads (in an off-list thread) seem to like Evan's initial patch
 that goes this route.


I would really appreciate being on this thread.  I haven't seen this at all
and I don't see why any mails relating to this need to be private.

What is the rationale for being less annoying than a modal dialog,
particularly in light of Glen's comments above (which I fully agree with)?
 Evan's screenshot is not in-your-face enough.

Glen's idea of making the dialog actually confirm turning the flag off,
instead of just being a notification, is also worth implementing.

PK

-- 
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] Setting global preferences/settings in code

2009-12-19 Thread Peter Kasting
On Sat, Dec 19, 2009 at 12:59 AM, PhistucK phist...@gmail.com wrote:

 Though, I think, currently, there is no way to inject bookmarks.


I believe there is, or will be, because I believe we've had this request
before.

PK

-- 
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] Setting global preferences/settings in code

2009-12-18 Thread Peter Kasting
We have at least some capabilities here since our installer can set some of
these values.  I'm not sure what all the capabilities are.

Make sure you don't get confused by discussions about about:config and
similar.  Generally those are about either add more prefs or add a way to
get at more prefs (usually both), whereas your request is some way to set
the defaults for prefs that already exist.  We generally ignore requests
for the former but the latter (what you want) seems reasonable to me.

CCing someone likely to know about this stuff.

PK

-- 
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] Different or same cookies storage in different tabs?

2009-12-16 Thread Peter Kasting
Chromium code has the concept of a Profile.  All renderers are associated
with a profile.  There is one cookie store per profile.

By default, renderers are all given the same profile.  When you use
Incognito mode, for the purposes of cookies you can think of it like
creating a new profile which will never be saved to disk, so Incognito tabs'
cookie stores are distinct from non-Incognito tabs.

From a UI point of view we don't allow tabs from separate profiles to
cohabit the same window.  Thus to the user it appears we have Incognito vs.
non-Incognito windows, not tabs.

There is code in place to provide some basic UI for having multiple
(non-Incognito) profiles.  It's off by default.  There are probably bugs and
the user experience isn't good.  The closest bug about providing a good UX
for this functionality is crbug.com/812 .  There is no timeframe on that
work, or necessarily even agreement that it will ever happen.

PK

-- 
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] Re: [chromium-reviews] Add the cmdline -open-in-new-window switch

2009-12-15 Thread Peter Kasting
On Tue, Dec 15, 2009 at 4:45 PM, Evan Stade est...@chromium.org wrote:

 To put it a different way, the cost of supporting these now is basically
 indistinguishable from the cost of just adding --new-window.


 in terms of code, I don't think that's true. The current patch is extremely
 light weight.


And the new patch would be equally light weight.

We're never going to remove them, so there won't be any maintenance burden.
  But if we implement --new-window and decide we need to support one of
 these, we have to add a new option.


 Are you gnashing your teeth over the fact we already have --incognito?


Yeah, I think it was shortsighted.

Whatever.  I don't care enough about this to argue any longer.  Do whatever
you want with the patch.

PK

-- 
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] Re: [chromium-reviews] Add the cmdline -open-in-new-window switch

2009-12-14 Thread Peter Kasting
On Mon, Dec 14, 2009 at 10:33 AM, Darin Fisher da...@chromium.org wrote:

 I think for parity with other apps, we should provide a command line switch
 to force the WindowOpenDisposition to NEW_WINDOW.  For bonus points,
 we could expose other dispositions.


Given mdm's explanation, I agree.  And I agree that it would be nice to
expose other dispositions.  It's not particularly more difficult to do this,
so we could just implement --disposition= with a few different possible
strings.

PK

-- 
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] Re: [chromium-reviews] Add the cmdline -open-in-new-window switch

2009-12-14 Thread Peter Kasting
On Mon, Dec 14, 2009 at 4:34 PM, Evan Stade est...@chromium.org wrote:

 I think adding a --disposition= field is overkill and will be harder to
 maintain (which is the worst part about command line flags). If a new
 disposition is added to webkit, one is renamed, or one is deleted, are you
 willing to either maintain this code or have users' desktop shortcuts break?


Given that I'm the one that created the dispositions in the first place,
yeah, I am.

CURRENT_TAB and NEW_BACKGROUND_TAB are pretty useful.  The rest aren't, so
I'd only add those two alongside the two you mentioned.

I don't know why we have both SUPPRESS_OPEN and IGNORE_ACTION; I added the
first and Ojan added the second.  At this point it looks like we only ever
set IGNORE_ACTION, and we only ever act on SUPPRESS_OPEN, so something is
really messed up.

PK

-- 
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] Re: [chromium-reviews] Add the cmdline -open-in-new-window switch

2009-12-14 Thread Peter Kasting
On Mon, Dec 14, 2009 at 4:47 PM, Evan Stade est...@chromium.org wrote:

 we have had a lot of bug reports asking for NEW_WINDOW, but none for these
 two dispositions. What use cases do you envisage?


Wanting to open pages in either of these ways?  Firefox used to have options
to control this and I was sad when they removed them.  CURRENT_TAB is useful
for people who like only using one tab (there are some) and for using Chrome
as an external viewer for HTML-based content.  NEW_BACKGROUND_TAB is useful
for shoveling stuff in without disturbing whatever the user is doing.

To put it a different way, the cost of supporting these now is basically
indistinguishable from the cost of just adding --new-window.  We're never
going to remove them, so there won't be any maintenance burden.  But if we
implement --new-window and decide we need to support one of these, we have
to add a new option.  Same if we ever add any other useful disposition and
want to support it.  So this ensures we won't ever need to add more options.

PK

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

[chromium-dev] Re: [chromium-reviews] Add the cmdline -open-in-new-window switch

2009-12-12 Thread Peter Kasting
On Sat, Dec 12, 2009 at 12:54 AM, Clemens Fruhwirth
clem...@endorphin.orgwrote:

 http://codereview.chromium.org/464060 adds the small one-line feature
 to open an URL in a new window from commandline

 Can any review these changes?


Please read http://dev.chromium.org/developers/contributing-code .  In
particular, because the original bug here has never been triaged, you need
to get approval from the UI team that the idea is one we want implemented.
 Then, if that goes well, you need to pick a particular reviewer to review
your patch.  chromium-reviews is a CC list that tracks code reviews, not a
direct mailing list to ask for reviewers on.

In this particular case, the patch doesn't solve what I perceive to be the
original bug as stated (provide an option to open all links in new
windows) because it provides a command-line option that external programs
can use to open new windows, but nothing to deal with links opened within
the browser.  Also, I'm not sure this is behavior that we want to add
command-line switches for; we try and avoid these unless they're truly
necessary.

PK

-- 
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] Re: [WebGL] Recommending --no-sandbox

2009-12-11 Thread Peter Kasting
On Fri, Dec 11, 2009 at 1:57 AM, Jeremy Orlow jor...@chromium.org wrote:

 As for the info bar/modal dialog:  I've been thinking for a bit, and I'm
 not sure this is enough.  We have plenty of data that shows users often
 leave browsers open for a very long time.  The main risk is that someone
 sets the flag, starts their browser, trys out the new cool feature, and then
 leaves the browser window open...for a long time.  The next time they start
 it they'll see the warning again, but the period of time in between (that
 they're more vulnerable) could be non-trivial.


I think that the combo of factors involved here makes this enough of an edge
that we can Not Worry About It.

I think an infobar at startup is not annoying enough, and as Darin says, we
often have other infobars to show then, which is problematic.

PK

-- 
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] Re: [WebGL] Recommending --no-sandbox

2009-12-11 Thread Peter Kasting
On Fri, Dec 11, 2009 at 11:01 AM, PhistucK phist...@gmail.com wrote:

 But, as I understand, some people do use it due to issues with the sandbox,
 real issues, system incompatibilities.
 That would be really unfair towards them.


Most issues should be fixable.  We need to hear about problems the sandbox
causes, and fix them.  If people just disable the sandbox, we won't hear
about them.

If there is some issue that is not fixable, I would prefer those users not
use Chrome than that they exist in the steady state of using it with the
sandbox off.

PK

-- 
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] Thoughts on // NOLINT?

2009-12-10 Thread Peter Kasting
On Thu, Dec 10, 2009 at 10:45 AM, Jonathan Dixon j...@chromium.org wrote:

 In essence:

 return DoWork(foo)
 #if defined(OS_POSIX)
  DoWork(posix_specific)
 #endif
 ;  // -- Lint complains about this guy


I'd prefer this:

#if defined(OS_POSIX)
  return DoWork(foo)  DoWork(posix_specific);
#else
  return DoWork(foo);
#endif

The same number of lines, but much easier to read.

PK

-- 
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] Thoughts on // NOLINT?

2009-12-10 Thread Peter Kasting
On Thu, Dec 10, 2009 at 11:20 AM, Jacob Mandelson ja...@mandelson.orgwrote:

 If something extra in an expression is a common case, I've sometimes
 seen it done like:
return DoWork(foo) POSIX_ONLY( DoWork(posix_specific));
 where POSIX_ONLY will expand to nothing or its argument.
 It's ugly, but compact.


The Google C++ Style Guide says to avoid macros when there is a non-macro
way to do the same thing.

PK

-- 
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] Extensions and the Mac

2009-12-10 Thread Peter Kasting
On Thu, Dec 10, 2009 at 5:02 PM, Avi Drissman a...@google.com wrote:

 Q: Can't we have the extensions gallery warn that it won't work?
 A: Sorry, we can't do that in an automated fashion. The extensions author
 should mention it. Too bad they don't.


But we explicitly review patches with binary components.  I can't see how it
could be impossible for us to also mark them as Win-only.

PK

-- 
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] [WebGL] Recommending --no-sandbox

2009-12-10 Thread Peter Kasting
On Thu, Dec 10, 2009 at 8:22 PM, Darin Fisher da...@chromium.org wrote:

 Perhaps --enable-webgl should instead implicitly disable the sandbox today


I think this is better than having users manually disable it.  They'll be
running without a sandbox either way, but this (a) makes the enabling
process less error-prone and (b) makes it more likely the sandbox will get
turned back on eventually.

PK

-- 
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] [WebGL] Recommending --no-sandbox

2009-12-10 Thread Peter Kasting
On Thu, Dec 10, 2009 at 9:38 PM, John Abd-El-Malek j...@chromium.org wrote:

 We disable --single-process and --in-process-plugins on release Google
 Chrome builds to avoid the support headache that it causes.  I think we
 should do the same for --no-sandbox.


There are legit reasons we have asked users to try temporarily disabling the
sandbox, more frequently than for those other flags.  I'd prefer to just
make the UI turn ugly a la Jeremy's bug.

PK

-- 
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] Re: Visualizing painting

2009-12-09 Thread Peter Kasting
On Wed, Dec 9, 2009 at 5:30 AM, MAD m...@chromium.org wrote:

 Thanks pkasting@ for trying this with
 http://src.chromium.org/viewvc/chrome?view=revrevision=34108

 But as the page cyclers dashboard seem to confirm, this is still a
 issue... :-(
 http://build.chromium.org/buildbot/perf/xp-release-dual-core/moz/report.html?history=150


Yeah, sorry.  I leave this in your hands.

I have just checked in a change which makes the disabled code build on
linux_views, once you wish to try again, so you won't have the build bustage
problem I did.

PK

-- 
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] Thoughts on // NOLINT?

2009-12-09 Thread Peter Kasting
On Wed, Dec 9, 2009 at 3:48 PM, John Abd-El-Malek j...@chromium.org wrote:

 Lately I've been seeing more and more // NOLINT added to the code.  It's
 great that people are running lint to make sure that they're following the
 guidelines, but I personally find adding comments or gibberish to our code
 for tools that are supposed to make the code quality better happy/more
 consistent a bit ironic.  I also find it distracting when reading the code.
  Am I the only one?


You are not.  We should prefer linter errors to // NOLINT comments, because
we should prefer to optimize code readability at the expense of reviewers
making more judgment calls, and these comments are definitely visual noise
that detracts from readability.

I support an immediate s/\/\/\ NOLINT//g.

PK

-- 
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] Height of Personal Stuff tab in Options window

2009-12-08 Thread Peter Kasting
On Tue, Dec 8, 2009 at 4:03 PM, Ian Fette i...@chromium.org wrote:

 Putting on my individual contributor hat here, I have to say that Ben's
 solution would seem very non-intuitive to me. I'm not aware of any app that
 works that way, and I would probably think that the dialog was just cut off
 (as is currently the case on my netbook), and would not expect to be able to
 somehow auto-scroll it by touching the edge. It seems to me that you would
 want to somehow visually indicate that there is more of this dialog to be
 seen, preferably show how much dialog is left to be seen and allow someone
 to move through that, at which point we're talking scroll bars...


Also throwing my hat into the ring to say that I don't think Ben's proposal
is great.

I think Ben's goal is to fight against options sprawl.  Being hardnosed
about not adding scrollbars or tabs is a way to put pressure on to decrease
options menu size, rather than increase.  I applaud this principle.

The thing is, if we're already offscreen, and we add a magic solution like
autoscroll at screen edge or any other similar solution, we effectively
have a scrollbar -- just a hard to use one.  It's the worst of both worlds.

I would love to see us continually rip out more and more options.  If we are
unable to do that, I think having a scrollbar is better than having a magic
scroll function.

PK

-- 
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] Height of Personal Stuff tab in Options window

2009-12-08 Thread Peter Kasting
On Tue, Dec 8, 2009 at 4:25 PM, Evan Stade est...@chromium.org wrote:

 On Tue, Dec 8, 2009 at 4:18 PM, Peter Kasting pkast...@google.com wrote:

 * We have crazy word wrapping.  The bookmark sync text could fit on one
 line.  Why does it wrap?  etc. elsewhere


 yes, we can save two lines in bookmark sync by removing the blank line and
 disallowing line wrap on the first label (although I'd guess that might
 force the dialog to be too wide in some locales).


Why do we need to disallow wrapping?  Why can't we just wrap at the right
margin, instead of somewhere in the middle of the dialog?  We aren't just
manually splitting this into two arbitrary strings, are we?

* What is with the blank line below that text?


 read original post


My bad, missed that

* Show Saved Passwords button should be vertically level with offer to
 save passwords radio button, horizontally on right side of dialog (a la
 Firefox)


 this suggestion conflicts with the gnome hig


I'm not convinced Chrome in general complies with the Gnome HIG.  In general
I'd be OK with a violation like this.

* Appearance section is a mess.  Why are there buttons for GTK/Classic theme
 when it looks like what's desired is a radio button pair?


 to match windows


But Windows just has a reset button.  It's not obvious that's how these
are functioning.  This looks more like a 3-radio group: GTK Classic
name of custom theme with a get themes button by the third one.

 Why are there these other options?  We should decide, based on what the
 user's windowmanager best supports, which combo of settings will work best
 and just do it.  We don't give Windows Aero users a button called use
 classic theme or Mac users a button to use the system-style (down-hanging,
 square-edged) tabs.


 not plausible. Windows and Mac have the advantage of only a single window
 manager, or very few WMs if you count different editions of the same WM.
 Linux has tons of WM and each provides a different set of functionality to
 the user, mostly through the window frame. We can either force all users to
 give up all their WM functionality (no go) or give up on the custom frame
 for linux altogether (no go).


I'm not convinced.  It seems easy to enumerate the dozen most common WMs
(KWM, blackbox, fluxbox, etc.) and decide what's best for each of them, and
that will cover most cases.  For the rest, we use the window manager frame
because we don't know what they might do.

The whole issue with removing options is that you have to be willing to make
choices on the user's behalf and presume you know what's best.  It's easy to
punt things to options.  That's how we get products like Seamonkey.  Chrome
should be the opposite.  We should be arrogant.

PK

-- 
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] Height of Personal Stuff tab in Options window

2009-12-08 Thread Peter Kasting
On Tue, Dec 8, 2009 at 4:55 PM, Ben Goodger (Google) b...@chromium.orgwrote:

 BTW I think the Use Gtk Theme button should be replaced by a special
 theme that triggers this mode, much like the default theme we have
 in the theme gallery. This would make the selection of this mode vs.
 others feel more natural wrt the others.


That sounds like a great idea to me.

Going further, I would love if the default theme(s) available for each
platform were visible in the gallery.  Then we don't need a default
button/set of buttons, and we can condense down to a simple choose theme
link/button.

PK

-- 
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] Height of Personal Stuff tab in Options window

2009-12-08 Thread Peter Kasting
On Tue, Dec 8, 2009 at 4:59 PM, Evan Stade est...@chromium.org wrote:

 this makes the assumption that there is some best setting for each WM,
 which is false. What's best for me on metacity is not what's best for you on
 metacity.


Unfortunately, if you really believe that, then for one of us the default is
wrong, and statistically the aggrieved party is unlikely to find,
understand, and change the option.  The option doesn't actually solve the
problem the majority of the time.

Therefore, in most cases we should just pick what we think is best, and let
people who don't like it either adapt or leave, because that reduces
cognitive friction, support costs, and code complexity.  Unfortunately in
this case we're talking about supporting both codepaths, which nixes the
maintenance pluses.  We still get fewer user choices though, which would be
enough for me.

there have been many, many, many bugs where a user requests some random
 functionality provided by their particular WM, and our only answer (save
 re-implementing the functionality) is to tell them to disable the custom
 frame.


This is why I said the default should be window manager frame for all WMs
we have not explicitly whitelisted.  We can only get away with the custom
frame if we know it will work well.

PK

-- 
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] Profiles + SharedWorkers

2009-12-07 Thread Peter Kasting
On Mon, Dec 7, 2009 at 11:37 AM, Drew Wilson atwil...@chromium.org wrote:

 I currently am special-casing incognito windows, so incognito windows don't
 share workers with non-incognito workers, but I don't do anything to deal
 with profiles in general (so if you were running with separate profiles,
 those profiles would see one another's workers).


That's bad.  You should not special-case Incognito.  You should make these
profile-scoped.

I'm trying to figure out the best way to address this (and whether this is
 something that needs to be addressed in the near term, given that we don't
 officially support profiles - it sounds like chromeos may make some use of
 them?).


We do officially support profiles: they're how Incognito works.  And we go
to great lengths elsewhere to make them work right in general.  We don't
have UI for widespread general use of lots of profiles, but the
functionality works well.

If you look at the implementation of profiles you will find that most things
that act global are really hung off the profile.

ResourceMessageFilter has a reference to a Profile object - are these
 Profile objects global (for example, in the typical situation of a single
 profile + incognito, are there only two Profile objects in the Browser
 process)?


Yes.

PK

-- 
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] Re: Plugin Manager UI Proposal

2009-12-07 Thread Peter Kasting
Sigh, resending now that I have re-added my address to Groups after it got
auto-removed :(

On Mon, Dec 7, 2009 at 12:25 PM, Peter Kasting pkast...@google.com wrote:

 On Mon, Dec 7, 2009 at 11:45 AM, Panayiotis Mavrommatis 
 panayio...@google.com wrote:

 I'm not sure if my email did reach chromium-dev,


 It didn't, so I was confused at first :)

  - Modify about:plugins for this purpose. That page is a simple

  javascript page that iterates over navigator.plugins. Similar to
 other
  about: pages it doesn't have access to chrome internals. We feel
  chrome://plugins follows the model of chrome://extensions better,
 in that
  this page cannot be inspected and allows the user to modify state
 of the
  browser.


 To users the distinction is meaningless.  I suspect (but am not sure) that
 we can write an internal handler that serves about:plugins in whatever way
 we want (e.g. as a DOM UI page with two-way communication with the browser).

  - Add the plugins to chrome://extensions  -- we can do that too,
 we'll
  let Chromium devs chime in on what's the preferred option here.


 We should definitely put the two together in whatever UI we end up with.
  Users don't perceive these differently (just try explaining to a
 non-developer how when they say plugins they really mean extensions),
 and the information to see and actions to take are pretty much identical
 with an extension versus a plugin.

  - Modify mostly PluginService (chrome/browser/plugin_service.cc)
  - Will store state in the sqlite database, per user.


 I'm not familiar with this code.  Does it already use a sqlite database?
  If not it might make sense to just shove this in the Preferences file.
  This is where we list other similar data, and it avoids the overhead of
 having another file to open and read on startup.

  - A plugin is identified by its path in the filesystem. Different
 paths
  are considered different plugins.


 Does this imply that different versions of a plugin are different plugins?
  I ask because it would be annoying to find the Flash auto-reenabled itself
 after it auto-updated.  Perhaps same name OR same path?

 PK


-- 
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] Visualizing painting

2009-12-07 Thread Peter Kasting
On Mon, Dec 7, 2009 at 8:15 PM, Darin Fisher da...@chromium.org wrote:

 Chrome now supports a handy command line flag that'll show you the regions
 of the
 page that are being re-painted.  This can be helpful if you are tracking
 down repaint
 issues.

 $ chrome --show-paint-rects

 It's interesting to see what causes large re-paints ;-)


I would love to see someone enable the window resize gripper on Windows
(which has never been enabled due to repaint perf issues) and start using
this flag to figure out what's up.

Added incentive: maybe Darin's repaint coalescing work has eliminated the
performance problems of this code and we can just turn it on.

PK

-- 
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] NaCl related build error

2009-12-01 Thread Peter Kasting
On Mon, Nov 30, 2009 at 10:01 PM, Antony Sargent asarg...@chromium.orgwrote:

 I just updated to revision 33425, and a clean build (manually deleted Debug
 directory before opening .sln file) gives the following error in
 service_runtime_x86. I'm running Visual Studio 2008 on Vista x64. Anyone
 else seeing this, or know what might be the problem?


NaCl has had problems building with Cygwin for almost two weeks.  I believe
Brad Nelson just fixed things, so try wiping out your Debug/ dir,
re-syncing, and rebuilding.  (I haven't yet tested this myself.)

PK

-- 
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] [MEMORY] CreateDIBSection: memory usage for bitmaps in Windows

2009-11-27 Thread Peter Kasting
On Fri, Nov 27, 2009 at 5:43 PM, Kenneth Russell k...@chromium.org wrote:

 While investigating
 http://code.google.com/p/chromium/issues/detail?id=21921 I observed
 that on Windows that when the Chrome window is resized, a Skia canvas
 the size of the entire window is allocated and discarded in order to
 paint the window background. I don't think this happens during normal
 repainting operations but is probably one cause of allocation
 thrashing of these objects. If it would be helpful I can try to
 reconstruct where this happens but others on this list probably know
 where it is off the top of their heads.


+CC brettw, darin

PK

-- 
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] PrefsService shared with OffTheRecordProfile

2009-11-25 Thread Peter Kasting
On Wed, Nov 25, 2009 at 12:14 PM, Adam Barth aba...@chromium.org wrote:

 On Wed, Nov 25, 2009 at 11:38 AM, John Gregg john...@google.com wrote:
  if you whitelist an
  origin for popups while in incognito mode, that origin is whitelisted
  permanently even when you go back to normal mode.  And in my case, it
  behaves likewise for notifications, since those permissions are stored in
  the PrefsService.  Is that how we want it to work?

 Nope.  That sounds like a bug.  We should never write URLs or hosts
 the user visits while in incognito to disk.


This is the sort of thing for which Profile::ServiceAccessType was invented.
 Ideally, things like recording whitelisted popup hosts should request
IMPLICIT_ACCESS, which should result in no read happening.

PK

-- 
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] PrefsService shared with OffTheRecordProfile

2009-11-25 Thread Peter Kasting
On Wed, Nov 25, 2009 at 12:49 PM, John Gregg john...@google.com wrote:

 On Wed, Nov 25, 2009 at 12:26 PM, Peter Kasting pkast...@google.comwrote:

 This is the sort of thing for which Profile::ServiceAccessType was
 invented.  Ideally, things like recording whitelisted popup hosts should
 request IMPLICIT_ACCESS, which should result in no read happening.


 From reading the code, I'm not sure that's consistent.  Adding a
 whitelisted host for popups is a result of a user action (the user choosing
 always allow from the blocked popup container), so according to the code
 comments, that would be an explicit access.  It's kind of a gray area: it's
 like adding a bookmark in terms of user-initiation, but it also affects web
 browsing.


Hmm.  On the one hand, we persist things like created bookmarks and
downloaded files.  On the other hand, we don't preserve changes due to other
user actions like clicking a link.  It's not obvious to me what the best
example is.

PK

-- 
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] PrefsService shared with OffTheRecordProfile

2009-11-25 Thread Peter Kasting
On Wed, Nov 25, 2009 at 11:38 AM, John Gregg john...@google.com wrote:

 if you whitelist an origin for popups while in incognito mode, that origin
 is whitelisted permanently even when you go back to normal mode.


On further reflection I'm convinced persisting these changes is wrong.  I
have now posted a patch to fix this at http://codereview.chromium.org/434109.

I have similarly updated my change to add per-host remembering of zoom
levels ( http://codereview.chromium.org/437077 ) to also avoid persisting
changes while off the record.

PK

-- 
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] UI Jank Task Force Status Update

2009-11-23 Thread Peter Kasting
On Mon, Nov 23, 2009 at 2:58 PM, Glenn Wilson gwil...@chromium.org wrote:

 Investigating using a flat file for safebrowsing instead of SQLite (need to
 recreate bloom filter and watch disk I/O)


jam crunched some numbers here.  During the bloom filter recreation process
we read about 50 MB and write about 40 MB.  The actual raw size of the
hashes is roughly 4 MB.  I don't know how big the bloom filter is but it's
not terribly big.  Conclusion: by moving from sqlite to some kind of raw
file on disk, we could save a large amount of the IO.

PK

-- 
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] Core Text

2009-11-23 Thread Peter Kasting
On Mon, Nov 23, 2009 at 2:51 PM, Dirk Pranke dpra...@chromium.org wrote:

 As an aside, have we looked at using DirectWrite() on Windows?


crbug.com/25541

(No)

PK

-- 
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] Singleton shenanigans in base/time_win.cc causing problems (not the first time)

2009-11-22 Thread Peter Kasting
On Sun, Nov 22, 2009 at 4:28 PM, Mike Belshe mbel...@google.com wrote:

 I think we should have a list of low-level functionality which we just
 never cleanup.

 For the items you listed, I think you should leak them all.  Trying to
 cleanup these items creates complicated code and ultimately won't run any
 better and possibly slower.


+1 for leaking a much as possible on shutdown.  We should make sure we shut
down anything that can write data to disk, and then just kill the process.
 Right now I suspect we clean up much more stuff in the browser process than
we have to.

PK

-- 
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] whitlisting compilers for -Werror

2009-11-21 Thread Peter Kasting
On Sat, Nov 21, 2009 at 10:19 AM, Evan Martin e...@chromium.org wrote:

 I have been particularly frustrated with gcc warning bugs that have
 been fixed in newer versions of gcc.  In older gccs, the following
 code produces a variable may be used uninitialized warning depending
 on your optimization settings.
  int x;
  { x = 3; }
  printf(%d\n, x);
 The fix is to put in a redundant initialization of x, but people
 (reasonably) will remove them when working on the code.


There is another fix, which is to disable to warning within the file or
globally for GCC versions less than X.  GCC exposes a number of different
macros and switches that let you determine the version precisely either from
script or in the preprocessor, and we already have a file that holds
compiler-specific magic.

The reason this would be nice compared to the whitelist proposal is that it
wouldn't produce false negatives.  The assumption is that there are only a
small number of these kinds of cases, so enumerating them is not going to do
awful things to our code.

Random side note: In the final build fix you linked, you used a C-style
(void) cast.  Can we use a C++-style cast?  The style guide frowns on
C-style casts.  (This assumes we don't disable the warning via your or my
above methods.)

PK

-- 
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] whitlisting compilers for -Werror

2009-11-21 Thread Peter Kasting
On Sat, Nov 21, 2009 at 12:06 PM, Evan Martin e...@chromium.org wrote:

 This works for warnings we know about now, but not warnings that will
 occur in the future, which is the larger problem.
 I'd say we break the automated Ubuntu builds every couple of weeks
 (and get an additional report from users at about that same rate).


What I'm concerned about is that occasionally these warnings may be real and
useful, rather than always being stupid.  It seems like each warning should
be something we at least take a look at to make sure it's not a concern,
which is why I'm uneasy just disabling warnings.  (This goes for Jens'
compile error case too.)

PK

-- 
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] class has virtual method but non-virtual destructor

2009-11-20 Thread Peter Kasting
On Fri, Nov 20, 2009 at 12:42 PM, Mark Mentovai m...@chromium.org wrote:

 As Evan points out, there are some cases when it's not absolutely
 necessary to have a base or interface class declare a virtual
 destructor.


For a concrete example, take AutocompleteEditController, which is declared
in autocomplete_edit.h.  This is an abstract base class that names several
different methods.  The purpose of the class is to insulate the
functionality the edit needs from whatever code actually implements that
functionality.  However, the edit doesn't create or own pointers to its
controller, and never deletes its controller, so this abstract class doesn't
have a virtual destructor.  The pattern here is implements interface X as
opposed to the is a specialized type of an X pattern of parent and child
classes.

PK

-- 
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] class has virtual method but non-virtual destructor

2009-11-20 Thread Peter Kasting
On Fri, Nov 20, 2009 at 1:31 PM, James Robinson jam...@google.com wrote:

 On Fri, Nov 20, 2009 at 12:59 PM, Peter Kasting pkast...@google.comwrote:

 For a concrete example, take AutocompleteEditController, which is declared
 in autocomplete_edit.h.  This is an abstract base class that names several
 different methods.  The purpose of the class is to insulate the
 functionality the edit needs from whatever code actually implements that
 functionality.  However, the edit doesn't create or own pointers to its
 controller, and never deletes its controller, so this abstract class doesn't
 have a virtual destructor.  The pattern here is implements interface X as
 opposed to the is a specialized type of an X pattern of parent and child
 classes.


 What's the benefit of omitting the virtual destructor?


I'm not trying to say it has massive benefits.  I'm trying to make concrete
the rather abstract statement that we have patterns right now where objects
don't specify destructors.

If you want me to argue for it, then I would probably say that it's a little
simpler and clearer without a destructor, and for someone used to reading
our code it's a tipoff that this is an instance of the interface class
pattern.  If I were to add a destructor, I'd declare one in private as
opposed to adding a virtual one, again just to emphasize that this is an
interface as opposed to a parent of more specialized children.  Not a very
important set of reasons.

If you feel violently, write the patch.  I won't stop you.

PK

-- 
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] class has virtual method but non-virtual destructor

2009-11-20 Thread Peter Kasting
On Fri, Nov 20, 2009 at 2:53 PM, Jacob Mandelson ja...@mandelson.orgwrote:

 http://codereview.chromium.org/201100/show


Yes, that caused a large subsequent discussion at which it seemed like it
was determined that this was fine.  I was surprised to hear this issue come
up again because I'd assumed you'd already checked in your fixes.

PK

-- 
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] class has virtual method but non-virtual destructor

2009-11-20 Thread Peter Kasting
On Fri, Nov 20, 2009 at 3:01 PM, Jacob Mandelson ja...@mandelson.orgwrote:

 I had the impression that at the end of the discussion you were still
 against.  Can you LG 201100 and 200106 ?


Done.  I didn't bother looking at the patch, I assume you did the right
thing and followed relevant style rules.  Let me know if you want me to do a
real review.

PK

-- 
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] class has virtual method but non-virtual destructor

2009-11-20 Thread Peter Kasting
On Fri, Nov 20, 2009 at 3:06 PM, James Robinson jam...@google.com wrote:

 I'd also favor just going with virtual d'tors rather than protected
 non-virtual ones.  Protected virtual if you want to enforce that the object
 is never deleted via a ptr to the base class.


I have no opinion here so I'll let you guys sort this out independently.

PK

-- 
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] user-contributed translations

2009-11-19 Thread Peter Kasting
On Thu, Nov 19, 2009 at 2:17 PM, Evan Martin e...@chromium.org wrote:

 Also, another option for these users is to write their own
 translations and let downstream (Chromium distributors) ship them.


I do think it would be nice to document somewhere how someone could build a
Chromium with their own translation included, for an existing or new
language.  I'd expect the usage of such steps would be low.  However, in a
few cases, serious public contributors might use this to test and refine a
translation to the point where perhaps it would be useful to present to some
of the team that's doing the translations (dunno exactly how they work).

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] Memory purger available for testing

2009-11-18 Thread Peter Kasting
This morning I checked in the central bits of the MemoryPurger.  This allows
you to start Chrome with --purge-memory-button, which will add a button to
the Task Manager called Purge Memory.  Pressing this button will attempt
to free as much memory as possible* from the browser and renderer processes.
 My hope is that this will be useful in finding cases where we're using too
much memory; I'd like to eventually hook pieces of this to automatic
signals.

Please let me know anything interesting you find with this.

PK

*Currently purged:
Browser process: History backend, Web data backend (search keywords etc.),
Proxy resolver JS heaps, Safe Browsing backend, TCMalloc free pages
Renderer process: Spellchecker, WebCore object cache, WebCore font cache,
WebCore cross-origin preflight cache, sqlite database backing stores, JS
heap, TCMalloc free pages.

Let me know if there are major memory consumers I'm missing.

-- 
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 purger available for testing

2009-11-18 Thread Peter Kasting
On Wed, Nov 18, 2009 at 1:16 PM, Peter Kasting pkast...@google.com wrote:

 *Currently purged:
 Browser process: History backend, Web data backend (search keywords
 etc.), Proxy resolver JS heaps, Safe Browsing backend, TCMalloc free pages


Chase noted I forgot to list one other thing I'm purging in the browser
process: Backing stores.

PK

-- 
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] Linting chrome/ in pre-submit checks

2009-11-17 Thread Peter Kasting
On Tue, Nov 17, 2009 at 11:16 AM, Elliot Glaysher (Chromium) 
e...@chromium.org wrote:

 Currently, it only runs it at (gcl/git cl)
 upload time and only generates warnings. In the future, it should
 error at commit time, but I want to put this through a trial period so
 please pay attention to the warnings and yell and scream at me if
 there are false positives.


There are some unittests where we have super-long bits which go over 80
chars, and there are also some where the linter thinks our indenting is
strange when we do something like:

struct Foo { ... };
Foo foo_cases[] = {
  {a,
   b,
   c},
}

(It doesn't like the uneven number of spaces when lining up the struct
member initializers).

I don't know whether those will trigger warnings/errors in your tool.

- ';' shouldn't be used in empty loops. Use {} instead.


This makes me super sad.  ; alone, indented, is so much more obvious.

PK

-- 
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] Linting chrome/ in pre-submit checks

2009-11-17 Thread Peter Kasting
On Tue, Nov 17, 2009 at 11:40 AM, Evan Martin ev...@google.com wrote:

 Since we're talking about style, I'll note that this pattern is no
 good (and I've seen it explicitly called out somewhere before).

 The problem is that your assertions are not helpful.  You get
 expected 'foo', got 'bar' on line 80 but line 80 is just the body of
 a for loop.


(a) I frequently write EXPECT_EQ(a, b)  Test case in question is   c;
(b) Even when this is not true it costs me almost no time to track down the
case in question in the debugger (if I need to; often the expected result is
unique)

Don't assume what is and is not helpful to me.

PK

-- 
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] Chromium Updater Fails to Initialize

2009-11-16 Thread Peter Kasting
On Mon, Nov 16, 2009 at 11:14 AM, OuterLimits procoolh...@gmail.com wrote:

 I've been using this forever but I had to rebuild windows from scratch
 a few days ago and had to download everything again but now chromium
 updater 'fails to initialize'

 This is what I've been using below..  Is there another way to set up
 nightly downloads? Thanks

 http://forums.tlokzz.com/images/voodoo/buttons/download.gif


You linked an image of a button.

We don't produce anything called Chromium Downloader and therefore we
don't serve as a support system for it.  Go harass the people who wrote it.

We don't currently have a supported mechanism for nightly builds.  The Dev
channel is weekly-or-greater frequency and we encourage testers to use that
for now.

PK

-- 
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] new matrix-view perf dashboard

2009-11-16 Thread Peter Kasting
On Mon, Nov 16, 2009 at 4:05 PM, Steven Knight s...@chromium.org wrote:

 Let me know if you notice any problems or have any suggestions for making
 this more useful.


My lone suggestion is that page-load-time isn't accurate for all rows --
for example, the SunSpider row is measuring a benchmark number.  It would be
nice to have a more accurate description, which would probably have to be
per-row.  I guess the page overall would have to be called primary
measurement or something.

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] Warning about missing newline

2009-11-16 Thread Peter Kasting
Does this warning help anyone, anywhere, for any reason?  It's on explicitly
for the Mac and implicitly for Linux, and when you combine it with Warn As
Error and Visual Studio not auto-adding a trailing newline, it means my
patches frequently trivially fail to compile on the trybots.  Easy fix, but
seems stupid and annoying.

Can we turn this off?  Or am I missing something?

PK

-- 
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] Warning about missing newline

2009-11-16 Thread Peter Kasting
On Mon, Nov 16, 2009 at 9:07 PM, Ian Fette i...@chromium.org wrote:

 Lint will warn you about this -- and I know that everyone runs gcl lint
 changelist_name before uploading...


Why do I have to remember to run a separate command?  Why does this not run
during presubmit?

PK

-- 
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] Any interest in command line tools for network stack?

2009-11-13 Thread Peter Kasting
On Fri, Nov 13, 2009 at 11:13 AM, Chris Bentzel cbent...@gmail.com wrote:

 Should I spend time trying to flesh these
 out and add to net/tools, or is this something which doesn't belong in
 the chromium codebase?


I'm weakly against the idea, since adding dependencies increases the burden
when we want to redesign or update pieces of the network stack.  I would
change my vote to be in favor if these tools allowed some kind of testing of
the stack that is not currently feasible; better testing is always a good
goal.

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] More sheriffs?

2009-11-13 Thread Peter Kasting
At lunch today, a few of us discussed the idea of moving from two sheriffs
to four.

There are several reasons we contemplated such a change:
* The team is large enough that on the current schedule, you go months
between sheriffing, which is so long that you forget things like what tools
help you do what.
* Sheriffing is a heavy burden, and getting moreso with more team members.
* Either the two sheriffs are in different time zones, in which case you
have effectively one sheriff on duty who has to do everything (bad due to
point above), or they're not, in which case a chunk of the day is not
covered at all.
* New sheriffs could really use a mentor sheriff with them, which is
pretty difficult to schedule.

I think these are good reasons, so I propose we make this change.  Comments?

PK

-- 
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] More sheriffs?

2009-11-13 Thread Peter Kasting
On Fri, Nov 13, 2009 at 12:35 PM, Ben Goodger b...@google.com wrote:

 On Fri, Nov 13, 2009 at 12:31 PM, Peter Kasting pkast...@google.com
 wrote:
  * The team is large enough that on the current schedule, you go months
  between sheriffing, which is so long that you forget things like what
 tools
  help you do what.

 This info should be written down and kept up to date by sheriffs on a
 daily basis.


See http://dev.chromium.org/developers/tree-sheriffs , which is linked off
our main developer wiki page.

PK

-- 
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] More sheriffs?

2009-11-13 Thread Peter Kasting
On Fri, Nov 13, 2009 at 12:44 PM, Stuart Morgan stuartmor...@google.comwrote:

 If we end up actually having four at a time that seems likely to be
 worse than two: either four people are doing nothing but sheriffing,
 which there is probably not enough work for, or all four people are
 more likely to think that someone else is probably watching and they
 can do something else.


I can only say that in my own sheriffing experience that this is utterly
untrue, and having two people at once is amazingly helpful since we can
track down different problem areas; one working on purify and valgrind
errors while another works on layout tests.  There has never been a time in
such cases where we both did nothing because we thought the other person was
working on it; we were always pinging each other and dividing work on the
fly.

I don't think Chromium team members are so irresponsible that they would not
work out some system in such cases.  And part of the point is that it would
be nice to be able to get a _little_ bit of work done on the days you're
sheriffing, or go to lunch, or whatever.

PK

-- 
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] More sheriffs?

2009-11-13 Thread Peter Kasting
On Fri, Nov 13, 2009 at 1:15 PM, Finnur Thorarinsson fin...@google.comwrote:

 If the sheriff load is too much for two people to devote 100% of their time
 to, then there is something wrong with the process.


It's clearly too much, given that I hardly see any other sheriffs even
attempt to maintain the rule of every bot green all the time, which is
what you're supposed to do as sheriff.  And when I maintain it, I need to
keep the tree closed for long periods while I deal with the myriad of issues
that come up.

Solving the problem by having the tree open if things aren't too bad is
not good enough.  Right now I just checked and the purify and valgrind bots
were red.  As usual.  No sign of anyone looking into them.

Sheriffs are in theory supposed to watch all the perf bots too.  Do you?  I
don't.  I doubt very many people do.  There is tons of information available
to sheriffs and too few people to cover it.  Someone watching perf, someone
watching purify/valgrind, someone watching layout tests, and someone
watching everything else would be really helpful.  Especially if one of
those people was experienced enough to help somebody else doing it for the
first time.  The team is growing fast enough that we have a _lot_ of
first-time sheriffs.

PK

-- 
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] More sheriffs?

2009-11-13 Thread Peter Kasting
On Fri, Nov 13, 2009 at 1:33 PM, Stuart Morgan stuartmor...@google.comwrote:

 On Fri, Nov 13, 2009 at 1:25 PM, Peter Kasting pkast...@google.com
 wrote:
  Sheriffs are in theory supposed to watch all the perf bots too.  Do you?
  I
  don't.  I doubt very many people do.

 That's probably mostly a function of the fact that there's essentially
 no mention of monitoring perf (the fact that they should, how to do
 it, how to handle regressions, etc.) on the page about what sheriffs
 should do, not a manpower issue.


Given that our project lead didn't even know there _was_ such a page, I'm
not convinced.  I don't think most sheriffs exhaustively read and understand
that page, and the tasks and best practices as sheriff change rapidly (I
hadn't ever heard of drover last time I sheriffed), which is part of the
motivation for speeding up the cycle.

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: More sheriffs?

2009-11-13 Thread Peter Kasting
It sounds like so far there is more support for the idea of three sheriffs
than four.  What if I modify the proposal to be:

* Change from two sheriffs to three
* Try to ensure that one of those three is non-PST if this is possible
without overloading teams outside MTV (this will probably get more and more
feasible as we continue to build staff in Tokyo, London, etc.)
* Try to ensure that at least one of those three has been a sheriff before
* Link to the sheriff wiki page from the buildbot
* Make that wiki page exhaustive, and order it so that it's less a reference
for particular tasks and more an instruction list for everything you should
do as sheriff

PK

-- 
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] More sheriffs?

2009-11-13 Thread Peter Kasting
On Fri, Nov 13, 2009 at 2:56 PM, Dirk Pranke dpra...@chromium.org wrote:

 I think two sheriffs in US/Pacific during US/Pacific work hours is
 plenty.


I was told at lunch that we already try to some degree to schedule PST with
non-PST people (although obvioulsy there are far more of the former), which
gives me the impression that there is a large percentage of time where we
have one, rather than two, sheriffs.  That is perhaps the most important
thing I'm trying to rectify in this proposal.

On Fri, Nov 13, 2009 at 2:58 PM, Nicolas Sylvain nsylv...@google.com
 wrote:

 As for http://dev.chromium.org/developers/tree-sheriffs, every sheriff
 receives it in the reminder email the day before they start their sheriff
 duty.


I see calendar reminder mails and think of them as conveying a reminder of
an event, so I'd never noticed that these mails also mention a web page I'm
supposed to be reading.  I know that is my own fault, but maybe there are
others in the same boat.  In any case, I still think Ben's suggestions would
be useful.

Overall I am surprised at how many people are skeptical of this proposal
given how unilaterally positive the smaller lunchtime discussion was.  I
guess I perceive us as not having a very effective sheriff system right
now--it's certainly been difficult for me--and am looking for ways to remedy
that.  It seems like those who aren't in favor of this generally wouldn't
agree with that assessment, and thus perceive this as adding overhead and
reducing effectiveness rather than combating a notable lack.  If that is
accurate, I'm not sure how to square the two worldviews.  I guess I will
leave this idea in the hands of the green tree task force to decide whether
it would be helpful.

PK

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

Re: sheriff's keep the tree *open* WAS: [chromium-dev] More sheriffs?

2009-11-13 Thread Peter Kasting
On Fri, Nov 13, 2009 at 2:28 PM, Ojan Vafai o...@google.com wrote:

 The goal of the sheriff is to keep the tree open as long as possible
 without carpeting over regressions. The sheriff should suffer through minor
 flakiness without closing the tree (e.g. a couple flaky webkit tests should
 not close the tree).


When I am sheriffing I keep the tree open until the point at which there is
redness that has no owner.  Normally, I take ownership of redness when I see
it, so this only occurs when multiple different things are red.  At that
point I close the tree until all redness has owners, at which point I
reopen.  I don't know how well that squares with your description.

that goal is achieved by reducing flakiness, not by keeping the tree closed
 until all the flakiness has been properly documented (e.g. listed in
 test_expectations.txt).


Are you suggesting not documenting the flakiness?  If not, then I suspect
that we are in fairly close agreement given my paragraph above.

It's also a team goal to keep the tree open for 7 hours in every eight hour
 period. The latter is primarily the responsibility of the sheriffs.


I see this as saying that the sheriff should prioritize tree openness over
tree greenness, which I disagree with.  Perhaps, though, you are not trying
to say that so strongly, and you're again saying something more akin to my
first paragraph above.

Solving the problem by having the tree open if things aren't too bad is
 not good enough.  Right now I just checked and the purify and valgrind bots
 were red.  As usual.  No sign of anyone looking into them.


 This is not a solution, but closing the tree doesn't really solve it
 either.


I wasn't saying that closing the tree solved this problem.  I was saying
that the sheriff was not looking into these things, and that it was an
example of a general pattern where many sheriffs seem not to look into them,
and that not being busy dealing with these is one reason why other people
might perceive the current sheriff system as sufficient and effective more
than I do.

The entire reason I want more sheriffs is _precisely_ to hold the tree open
longer, because it means that when purify, valgrind, and layout tests all
fail, they can all get owners immediately and the tree can stay open.  Right
now it seems to me that either the tree is not open enough, or we sheriffs
are letting things slide.

PK

-- 
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] Need help from IME experts

2009-11-13 Thread Peter Kasting
On Fri, Nov 13, 2009 at 6:01 PM, Nico Weber tha...@chromium.org wrote:

 I would appreciate if folks with IME experience could comment on
 https://bugs.webkit.org/show_bug.cgi?id=31502 .


+CC jshin

PK

-- 
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] scrolling a text area with shift-pgdn

2009-11-12 Thread Peter Kasting
On Thu, Nov 12, 2009 at 9:41 AM, Ojan Vafai o...@google.com wrote:

 This is a long-standing WebKit bug. The current behavior is correct for
 Mac. Linux/Win should behave as you expect. Patches welcome. :)


Isn't this one of the things you had a patch for that you just haven't
committed due to the testing burden?  If so, can I beg you again to commit
this?

PK

-- 
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] scrolling a text area with shift-pgdn

2009-11-12 Thread Peter Kasting
On Thu, Nov 12, 2009 at 9:52 AM, Ojan Vafai o...@google.com wrote:

 On Thu, Nov 12, 2009 at 9:46 AM, Peter Kasting pkast...@google.comwrote:

 Isn't this one of the things you had a patch for that you just haven't
 committed due to the testing burden?  If so, can I beg you again to commit
 this?


 No. The patch I have fixes cases where we extend the wrong end of the
 selection, not cases where we don't extend it.


Ah.  OK, but my begging still stands :)

PK

-- 
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] Access keys are broken in 4.0

2009-11-12 Thread Peter Kasting
On Thu, Nov 12, 2009 at 9:14 AM, Jeff Mikels jeffmik...@gmail.com wrote:

 I don't know if people consider this a problem or not, but 4.0
 introduced new behavior for access keys.


What OS?  I'm guessing Linux?  (Keys are different on all OSes)

I have no idea what guarantees browsers try to make for alt+key.  I'm not
sure that on Windows pages can even get these events, and I'm not sure what
the typical shortcut is for accessing named menus on Linux.

It might be better to file a bug rather than emailing chromium-dev.

PK

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

  1   2   3   4   5   >