Re: [chromium-dev] WebKit roll status

2009-12-08 Thread Markus Gutschke
http://codereview.chromium.org/400027/diff2/27001:30003/30013

On Tue, Dec 8, 2009 at 13:30, Adam Langley  wrote:

> On Tue, Dec 8, 2009 at 1:27 PM, Dimitri Glazkov 
> wrote:
> > Let's go with this. You'll have a chance all about the great
> > rebaselining tool in the process. :)
> >
> > Michael will roll and add all the failures to expectations, creating a
> > bug for you to rebaseline.
>
> Ok. Markus is going to do a quick WK patch, before we roll, to set the
> defaults to something like the current values.
>
>
> AGL
>

-- 
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] WebKit roll status

2009-12-08 Thread Markus Gutschke
Oh, yes, that wouldn't be surprising :-/ There now is a new WebKit API for
setting the scrollbar colors in Linux, and theWebKit change doesn't set the
colors. That's waiting for the second half of the changelist which is
pending in http://codereview.chromium.org/400027

Even after that pending changelist is going to be submitted, the pixel tests
will probably fail, as the new code has slightly different pixel values than
the old code. We could change that, but it would make the code much uglier.

So, at this time, there are a couple of choices. Let me know, what you
prefer:

 - fix the problem with the black scrollbars in testshell. This is easy.
The WebKit change currently sets all colors to zero, unless somebody
explicitly sets them to something else. We can pick different default values
that will at least make the scrollbars visible. This would still require
rebasing the pixel tests. And we have to make a decision on whether to apply
this as an incremental change or whether to rollback the current WebKit change.
It's gonna be a rely simple low-risk change.

 - add ugly backwards compatibility code that realizes the situation when
colors for the scrollbars have never been set and that then falls back on
using the exact same old pixel values. I am not in favor of this, but if the
consensus is that that's what we should do, I'll change the code
accordingly.


Markus

-- 
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: Quick question about struct initialization

2009-03-22 Thread Markus Gutschke
The only time where this does not quite work is if the very first field in
the struct/class is not a POD that can be initialized to zero.

A common example would be "struct sigaction" on Linux. The first field is an
anonymous union holding both sa_handler and sa_sigaction. So, this code
wouldn't compile:

  struct sigaction sa = { 0 };

You could write

  struct sigaction sa = { { 0 } };

instead. But this code might not compile on anything other than Linux. As
the union is clearly an implementation-specific detail. A better option
would be to explicitly specify one well-known field:

  struct sigaction sa = { .sa_handler = 0 };

Of course, in this particular case, you would rarely want to completely zero
out the structure anyway. Instead, you would want to set at least some
fields. So, the natural way to write this code would be:

  struct sigaction sa = {
.sa_handler = MySignalHandler,
.sa_flags = SA_RESTART
  };

This code is guaranteed to do the right thing, and to zero out all the other
fields in the structure.


Markus

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



[chromium-dev] Debugging symbols for system libraries

2009-03-11 Thread Markus Gutschke

Yesterday, I updated the install script at
http://src.chromium.org/svn/trunk/src/build/install-build-deps.sh
Please let me know, if you encounter any problems and I'll fix them.

It now installs not only the libraries necessary to build Chromium, it
also installs the debugging symbols for these libraries. This will
give you correct line number information when tracing through system
libraries (e.g. GTK or SSL). In some cases, this will also give you
correct stack traces where you weren't able to get these earlier.

You can even see the source code for the system libraries in GDB. Just
use "apt-get source" to download the sources to anywhere on your
system, and then point GDB to it using the "dir" command. You can put
this command into your "~/.gdbinit" file. So, you don't have to do
that each time you start GDB.

As before, the script only works on Ubuntu. It probably works on any
Debian based system, but that is untested.

Please note that Ubuntu does not by default ship 32bit versions of all
the system libraries, if you are running a 64bit operating system. The
script knows about this and downloads the Debian packages for the
32bit distribution and then repackages the library files on the fly.
This temporarily requires downloading a lot of data. You might not
want to do this, if you are on a slow Internet connection. The script
prompts you and you can opt out.


Markus

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