Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(172)

Issue 6783023: Eliminate skia::PlatformCanvas - Step 1 (Closed)

Created:
9 years, 8 months ago by alokp
Modified:
9 years, 6 months ago
CC:
chromium-reviews, hclam+watch_chromium.org, sjl, ddorwin+watch_chromium.org, fischman+watch_chromium.org, jam, acolwell GONE FROM CHROMIUM, annacc, darin-cc_chromium.org, ajwong+watch_chromium.org, vrk (LEFT CHROMIUM), scherkus (not reviewing)
Visibility:
Public.

Description

Eliminate skia::PlatformCanvas, a subclass of SkCanvas. Skia provides multiple types of SkCanvas classes that we would like to use. Unfortunately these classes are implemented as subclasses of SkCanvas. Subclassing SkCanvas in both Skia and Chromium makes it impossible to dynamically use any SkCanvas. There is also no reason for chromium to subclass SkCanvas. Most of the extra functionalities can be implemented by hanging meta-data from SkCanvas. We cannot eliminate skia::PlatformCanvas in one step due to WebKit's dependency on skia::PlatformCanvas. WebKit::WebCanvas is typedef as skia::PlatformDevice. It should be SkCanvas. So we need to do it in multiple steps: 1. Prepare Chromium tree for the change in WebKit::WebCanvas tyepdef. This basically means adding a couple of static_cast<skia::PlatformCanvas>(WebCanvas). 2. Change WebKit::WebCanvas typedef from skia::PlatformCanvas to SkCanvas 3. Eliminate skia::PlatformCanvas in chromium This CL accomplishes the first step on windows. WebKit BUG=https://bugs.webkit.org/show_bug.cgi?id=57563 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=80955

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Patch Set 4 : '' #

Patch Set 5 : '' #

Total comments: 4

Patch Set 6 : '' #

Total comments: 2

Patch Set 7 : '' #

Total comments: 4

Patch Set 8 : '' #

Patch Set 9 : '' #

Patch Set 10 : '' #

Total comments: 8

Patch Set 11 : '' #

Patch Set 12 : '' #

Patch Set 13 : '' #

Patch Set 14 : '' #

Patch Set 15 : '' #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+91 lines, -61 lines) Patch
M content/renderer/webplugin_delegate_proxy.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +2 lines, -2 lines 0 comments Download
M skia/ext/platform_canvas.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +17 lines, -0 lines 2 comments Download
M skia/ext/platform_canvas.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +16 lines, -0 lines 0 comments Download
M ui/gfx/native_theme_win.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 chunks +4 lines, -6 lines 0 comments Download
M ui/gfx/native_theme_win.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 chunks +4 lines, -4 lines 0 comments Download
M webkit/glue/media/video_renderer_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +5 lines, -5 lines 0 comments Download
M webkit/glue/media/video_renderer_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 5 chunks +5 lines, -5 lines 0 comments Download
M webkit/glue/media/web_video_renderer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +2 lines, -2 lines 0 comments Download
M webkit/glue/webmediaplayer_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -1 line 0 comments Download
M webkit/glue/webmediaplayer_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +1 line, -2 lines 0 comments Download
M webkit/glue/webthemeengine_impl_win.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 chunks +21 lines, -19 lines 0 comments Download
M webkit/plugins/npapi/webplugin_delegate_impl_win.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +3 lines, -3 lines 0 comments Download
M webkit/plugins/npapi/webview_plugin.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +4 lines, -6 lines 0 comments Download
M webkit/plugins/ppapi/ppapi_plugin_instance.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 chunks +4 lines, -4 lines 0 comments Download
M webkit/plugins/sad_plugin.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +2 lines, -2 lines 0 comments Download

Messages

Total messages: 19 (0 generated)
alokp
9 years, 8 months ago (2011-03-31 18:52:26 UTC) #1
reed1
http://codereview.chromium.org/6783023/diff/10004/webkit/glue/webthemeengine_impl_win.cc File webkit/glue/webthemeengine_impl_win.cc (right): http://codereview.chromium.org/6783023/diff/10004/webkit/glue/webthemeengine_impl_win.cc#newcode30 webkit/glue/webthemeengine_impl_win.cc:30: In preparation for the future, is it clear to ...
9 years, 8 months ago (2011-04-01 17:44:41 UTC) #2
alokp
PTAL http://codereview.chromium.org/6783023/diff/10004/webkit/glue/webthemeengine_impl_win.cc File webkit/glue/webthemeengine_impl_win.cc (right): http://codereview.chromium.org/6783023/diff/10004/webkit/glue/webthemeengine_impl_win.cc#newcode30 webkit/glue/webthemeengine_impl_win.cc:30: On 2011/04/01 17:44:42, reed1 wrote: > In preparation ...
9 years, 8 months ago (2011-04-01 19:57:38 UTC) #3
reed1
LGTM
9 years, 8 months ago (2011-04-01 19:59:13 UTC) #4
alokp
On 2011/04/01 19:59:13, reed1 wrote: > LGTM Thanks Mike! Vangelis: Any issues? I will send ...
9 years, 8 months ago (2011-04-01 20:03:52 UTC) #5
alokp
Explained the steps in which skia::PlatformCanvas will be ultimately deprecated.
9 years, 8 months ago (2011-04-01 22:20:14 UTC) #6
vangelis
Looks mostly good. Just a couple of comments. http://codereview.chromium.org/6783023/diff/9017/skia/ext/platform_canvas.h File skia/ext/platform_canvas.h (right): http://codereview.chromium.org/6783023/diff/9017/skia/ext/platform_canvas.h#newcode118 skia/ext/platform_canvas.h:118: // ...
9 years, 8 months ago (2011-04-01 23:35:53 UTC) #7
alokp
Will upload updated patch sometime today. http://codereview.chromium.org/6783023/diff/9017/skia/ext/platform_canvas.h File skia/ext/platform_canvas.h (right): http://codereview.chromium.org/6783023/diff/9017/skia/ext/platform_canvas.h#newcode118 skia/ext/platform_canvas.h:118: // surface returned ...
9 years, 8 months ago (2011-04-04 17:00:13 UTC) #8
alokp
Vangelis: Using the meta-data turned out to be more involved than I originally thought. Doing ...
9 years, 8 months ago (2011-04-04 21:33:22 UTC) #9
vangelis
http://codereview.chromium.org/6783023/diff/23005/skia/ext/platform_device_linux.h File skia/ext/platform_device_linux.h (right): http://codereview.chromium.org/6783023/diff/23005/skia/ext/platform_device_linux.h#newcode26 skia/ext/platform_device_linux.h:26: virtual PlatformSurface beginPlatformPaint() = 0; PlatformDevice appears to be ...
9 years, 8 months ago (2011-04-05 06:23:10 UTC) #10
alokp
http://codereview.chromium.org/6783023/diff/23005/skia/ext/platform_device_linux.h File skia/ext/platform_device_linux.h (right): http://codereview.chromium.org/6783023/diff/23005/skia/ext/platform_device_linux.h#newcode26 skia/ext/platform_device_linux.h:26: virtual PlatformSurface beginPlatformPaint() = 0; On 2011/04/05 06:23:10, vangelis ...
9 years, 8 months ago (2011-04-05 15:37:56 UTC) #11
alokp
Adding OWNERS.
9 years, 8 months ago (2011-04-05 16:22:18 UTC) #12
alokp
Rebase to r80707. Darin: Could you please take a look.
9 years, 8 months ago (2011-04-07 05:05:11 UTC) #13
reed1
LGTM
9 years, 8 months ago (2011-04-07 13:10:26 UTC) #14
gwright
http://codereview.chromium.org/6783023/diff/24001/skia/ext/platform_canvas.h File skia/ext/platform_canvas.h (right): http://codereview.chromium.org/6783023/diff/24001/skia/ext/platform_canvas.h#newcode120 skia/ext/platform_canvas.h:120: SK_API SkCanvas* CreateBitmapCanvas(int width, int height, bool is_opaque); Do ...
9 years, 8 months ago (2011-04-07 15:28:11 UTC) #15
alokp
http://codereview.chromium.org/6783023/diff/24001/skia/ext/platform_canvas.h File skia/ext/platform_canvas.h (right): http://codereview.chromium.org/6783023/diff/24001/skia/ext/platform_canvas.h#newcode120 skia/ext/platform_canvas.h:120: SK_API SkCanvas* CreateBitmapCanvas(int width, int height, bool is_opaque); On ...
9 years, 8 months ago (2011-04-07 15:57:36 UTC) #16
darin (slow to review)
LGTM
9 years, 8 months ago (2011-04-08 04:45:20 UTC) #17
alokp
Adding OWNERS for ui. Please review.
9 years, 8 months ago (2011-04-08 04:45:27 UTC) #18
sky
9 years, 8 months ago (2011-04-08 16:12:03 UTC) #19
LGTM

Powered by Google App Engine
This is Rietveld 408576698