I've made changes to remove almost all of the base dependencies in the
graphics layer. With a few exceptions, the only parts left are the
uses of platform_canvas*, platform_device*, native_theme, and
image_operations. There are tricky because they are extensively used
in both webkit/port and chrome.

The solution I'm leaning toward now is to make a new directory like
webkit/port/platform/graphics/skia/public (or something, any better
naming suggestions?) and move these files to there. This directory
would have the requirement that it depend on nothing outside of Skia,
and we allow files inside the browser to include from here (normally
you're not allowed to include things in the browser from webkit/ other
than glue).

We include the above-mentioned very seldom in Chrome since we use
PlatformCanvas' derived class ChromeCanvas in almost all places, so
this would not have a big impact on browser code. ChromeCanvas would
stay the same, but it's base class would get moved.

Native_theme is a little more tricky since there is some desire to
eventually unify theme drawing with the rest of WebKit. If we did
that, it would probably be undesirable from WebKit's perspective to
have this file in our directory with our funny rules. We can choose to
duplicate the code in this case (I think only a fraction of it is
actually needed by the app layer, since it uses actual native controls
for most thing), so this wouldn't be as bad as it may sound.

There are other options:

(1) Move the files in question to Skia. I don't like this too much
because image_operations seems out-of-place, and native_theme seems
really out of place. If we pull Skia from an external repository
someday, we wouldn't be able to have that stuff live in the Skia
repository.

(2) Duplicate the files in both places.

(3) Move the files to port but include headers in base/gfx that
include those files, so chrome code doesn't have to directly include
files from webkit, which looks a little odd.

Comments or suggestions?

Brett
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Chromium-dev" group.
To post to this group, send email to chromium-dev@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/chromium-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to