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

Issue 2014013002: Add SkBitmap StructTraits for skia::mojo::Bitmap. (Closed)

Created:
4 years, 6 months ago by msw
Modified:
4 years, 6 months ago
CC:
chromium-reviews, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org, abarth-chromium, Aaron Boodman, darin (slow to review), ben+mojo_chromium.org, dcheng, Ken Rockot(use gerrit already), Anand Mistry (off Chromium)
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Add SkBitmap StructTraits for skia::mojo::Bitmap. Prerequisite (as per dcheng's request) for new mojo Bitmap use in: https://codereview.chromium.org/2014013002 Add StructTraits to convert between SkBitmap and skia::mojo::Bitmap. (add profile enum conversion functions, BitmapBuffer utility struct) Update skia::mojo::BitmapPtr users throughout codebase. Remove the now unused TypeConverter for these types. Add public_deps as needed for skia header usage/mapping. Propagate public_deps necessitated by typemap implementations. BUG=557405 TEST=No regressions for existing mojo bitmap users. R=yzshen@chromium.org,tsepez@chromium.org,reed@chromium.org,sky@chromium.org,avi@chromium.org TBR=ben@chromium.org Committed: https://crrev.com/b0123d15a8c1b957a5edd5baed30bfeeb8c10dd5 Cr-Commit-Position: refs/heads/master@{#397263}

Patch Set 1 #

Patch Set 2 : Build failures... #

Patch Set 3 : Attempt to add public_deps support for typemaps. #

Patch Set 4 : Trying to fix errors; add missing public_deps. #

Patch Set 5 : Get mash/wm compiling... #

Patch Set 6 : Get mash:all building. #

Patch Set 7 : Get chrome and content building. #

Patch Set 8 : Update tests. #

Patch Set 9 : Remove SkBitmap and skia::mojo::Bitmap type converters. #

Patch Set 10 : Cleanup most remaining TODOs. #

Patch Set 11 : Add BitmapBuffer and ArrayTraits to avoid extra pixel copy. #

Patch Set 12 : Add mojo/public/cpp/bindings typemap deps. #

Total comments: 22

Patch Set 13 : Sync and rebase. #

Patch Set 14 : Address comments. #

Patch Set 15 : Fix gyp build. #

Patch Set 16 : Spray and pray skia deps to fix gyp build... #

Patch Set 17 : Reduce deps, try export_dependent_settings to fix gyp... #

Patch Set 18 : Fix return build errors. #

Total comments: 4

Patch Set 19 : Lock pixels; fix null check and GetAt types; make pixel_data nullable. #

Patch Set 20 : Sync and rebase. #

Patch Set 21 : Fix empty image handling; avoid resetting info. #

Total comments: 4

Patch Set 22 : Add bitmap struct traits nullability; remove pixel_data array traits nullability. #

Patch Set 23 : Sync and rebase. #

Patch Set 24 : Sync and rebase. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+383 lines, -262 lines) Patch
M ash/sysui/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 chunks +4 lines, -2 lines 0 comments Download
M ash/sysui/DEPS View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +0 lines, -1 line 0 comments Download
M ash/sysui/shelf_delegate_mus.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +1 line, -2 lines 0 comments Download
M ash/sysui/shelf_delegate_mus.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 3 chunks +3 lines, -4 lines 0 comments Download
M chrome/browser/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +0 lines, -1 line 0 comments Download
M chrome/browser/DEPS View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -1 line 0 comments Download
M chrome/browser/image_decoder.cc View 1 2 3 4 5 6 2 chunks +6 lines, -10 lines 0 comments Download
M chrome/browser/ui/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +0 lines, -1 line 0 comments Download
M chrome/browser/ui/ash/DEPS View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -1 line 0 comments Download
M chrome/browser/ui/ash/launcher/chrome_mash_shelf_controller.cc View 1 2 3 4 5 6 3 chunks +2 lines, -4 lines 0 comments Download
M chrome/chrome_common.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +23 lines, -8 lines 0 comments Download
M chrome/utility/BUILD.gn View 1 2 3 4 5 6 1 chunk +0 lines, -1 line 0 comments Download
M chrome/utility/DEPS View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -1 line 0 comments Download
M chrome/utility/image_decoder_impl.h View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M chrome/utility/image_decoder_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +3 lines, -7 lines 0 comments Download
M chrome/utility/image_decoder_impl_unittest.cc View 1 2 3 4 5 6 7 4 chunks +9 lines, -13 lines 0 comments Download
M content/browser/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +0 lines, -1 line 0 comments Download
M content/browser/web_contents/web_contents_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +1 line, -1 line 0 comments Download
M content/browser/web_contents/web_contents_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +1 line, -2 lines 0 comments Download
M content/content_common_mojo_bindings.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +3 lines, -0 lines 0 comments Download
M content/renderer/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +0 lines, -1 line 0 comments Download
M content/renderer/image_downloader/image_downloader_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +1 line, -3 lines 0 comments Download
M mash/shelf/public/interfaces/BUILD.gn View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M mojo/public/tools/bindings/chromium_bindings_configuration.gni View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +1 line, -0 lines 0 comments Download
D skia/public/BUILD.gn View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -20 lines 0 comments Download
A skia/public/interfaces/bitmap_skbitmap_struct_traits.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +50 lines, -0 lines 0 comments Download
A skia/public/interfaces/bitmap_skbitmap_struct_traits.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +242 lines, -0 lines 0 comments Download
A skia/public/interfaces/skbitmap.typemap View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +11 lines, -0 lines 0 comments Download
A + skia/public/interfaces/typemaps.gni View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +1 line, -1 line 0 comments Download
M skia/public/type_converters.h View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -26 lines 0 comments Download
M skia/public/type_converters.cc View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -141 lines 0 comments Download
M skia/skia.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +19 lines, -7 lines 0 comments Download

Messages

Total messages: 87 (45 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2014013002/220001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2014013002/220001
4 years, 6 months ago (2016-05-26 21:52:46 UTC) #5
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: android_clang_dbg_recipe on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_clang_dbg_recipe/builds/72805) android_compile_dbg on ...
4 years, 6 months ago (2016-05-26 21:58:04 UTC) #7
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2014013002/240001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2014013002/240001
4 years, 6 months ago (2016-05-26 22:03:14 UTC) #9
msw
Hey Yuzhu and Scott, please take a look; thanks! Yuzhu: skia/public/interfaces. Scott: everything :) Please ...
4 years, 6 months ago (2016-05-26 22:07:54 UTC) #12
sky
I have little value to add here other than: +tsepez for security +reed for skia
4 years, 6 months ago (2016-05-26 22:41:37 UTC) #14
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_chromeos_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/219246)
4 years, 6 months ago (2016-05-26 22:43:54 UTC) #16
yzshen1
Happy to see this change! https://codereview.chromium.org/2014013002/diff/240001/chrome/utility/image_decoder_impl.cc File chrome/utility/image_decoder_impl.cc (right): https://codereview.chromium.org/2014013002/diff/240001/chrome/utility/image_decoder_impl.cc#newcode101 chrome/utility/image_decoder_impl.cc:101: callback.Run(decoded_image.isNull() ? SkBitmap() : ...
4 years, 6 months ago (2016-05-26 22:44:13 UTC) #17
Tom Sepez
https://codereview.chromium.org/2014013002/diff/240001/skia/public/interfaces/bitmap_skbitmap_struct_traits.h File skia/public/interfaces/bitmap_skbitmap_struct_traits.h (right): https://codereview.chromium.org/2014013002/diff/240001/skia/public/interfaces/bitmap_skbitmap_struct_traits.h#newcode16 skia/public/interfaces/bitmap_skbitmap_struct_traits.h:16: SkColorType MojoColorTypeToSk(skia::mojom::ColorType type) { So this is a header ...
4 years, 6 months ago (2016-05-26 22:57:34 UTC) #18
msw
Please take another look; thanks! https://codereview.chromium.org/2014013002/diff/240001/chrome/utility/image_decoder_impl.cc File chrome/utility/image_decoder_impl.cc (right): https://codereview.chromium.org/2014013002/diff/240001/chrome/utility/image_decoder_impl.cc#newcode101 chrome/utility/image_decoder_impl.cc:101: callback.Run(decoded_image.isNull() ? SkBitmap() : ...
4 years, 6 months ago (2016-05-27 19:34:11 UTC) #19
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2014013002/300001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2014013002/300001
4 years, 6 months ago (2016-05-27 20:20:28 UTC) #21
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: android_compile_dbg on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_compile_dbg/builds/73312) chromeos_daisy_chromium_compile_only_ng on ...
4 years, 6 months ago (2016-05-27 20:33:29 UTC) #23
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2014013002/340001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2014013002/340001
4 years, 6 months ago (2016-05-27 20:52:13 UTC) #26
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: chromeos_amd64-generic_chromium_compile_only_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_amd64-generic_chromium_compile_only_ng/builds/144675) chromeos_x86-generic_chromium_compile_only_ng on ...
4 years, 6 months ago (2016-05-27 21:05:29 UTC) #28
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2014013002/360001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2014013002/360001
4 years, 6 months ago (2016-05-27 21:30:04 UTC) #30
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: chromeos_daisy_chromium_compile_only_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_daisy_chromium_compile_only_ng/builds/144693)
4 years, 6 months ago (2016-05-27 21:42:42 UTC) #32
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2014013002/380001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2014013002/380001
4 years, 6 months ago (2016-05-27 21:52:58 UTC) #34
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_chromeos_ozone_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_ozone_rel_ng/builds/177535)
4 years, 6 months ago (2016-05-27 22:38:21 UTC) #36
Fady Samuel
https://codereview.chromium.org/2014013002/diff/380001/skia/public/interfaces/bitmap_skbitmap_struct_traits.cc File skia/public/interfaces/bitmap_skbitmap_struct_traits.cc (right): https://codereview.chromium.org/2014013002/diff/380001/skia/public/interfaces/bitmap_skbitmap_struct_traits.cc#newcode116 skia/public/interfaces/bitmap_skbitmap_struct_traits.cc:116: return b.data != nullptr; drive-by: b.data == nullptr;
4 years, 6 months ago (2016-05-30 22:23:03 UTC) #38
Tom Sepez
lgtm https://codereview.chromium.org/2014013002/diff/380001/skia/public/interfaces/bitmap_skbitmap_struct_traits.cc File skia/public/interfaces/bitmap_skbitmap_struct_traits.cc (right): https://codereview.chromium.org/2014013002/diff/380001/skia/public/interfaces/bitmap_skbitmap_struct_traits.cc#newcode116 skia/public/interfaces/bitmap_skbitmap_struct_traits.cc:116: return b.data != nullptr; or just return !b.data;
4 years, 6 months ago (2016-05-31 17:20:33 UTC) #39
Tom Sepez
On 2016/05/31 17:20:33, Tom Sepez wrote: > lgtm > > https://codereview.chromium.org/2014013002/diff/380001/skia/public/interfaces/bitmap_skbitmap_struct_traits.cc > File skia/public/interfaces/bitmap_skbitmap_struct_traits.cc (right): ...
4 years, 6 months ago (2016-05-31 17:21:36 UTC) #40
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2014013002/440001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2014013002/440001
4 years, 6 months ago (2016-05-31 19:29:38 UTC) #44
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: ios-device on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds/13683) ios-device-gn on ...
4 years, 6 months ago (2016-05-31 19:33:39 UTC) #46
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2014013002/460001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2014013002/460001
4 years, 6 months ago (2016-05-31 19:58:38 UTC) #48
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_chromium_gn_rel on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_gn_rel/builds/119650)
4 years, 6 months ago (2016-05-31 20:44:26 UTC) #50
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2014013002/480001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2014013002/480001
4 years, 6 months ago (2016-05-31 23:00:32 UTC) #52
msw
Hey Yuzhu, please take another look; thanks! https://codereview.chromium.org/2014013002/diff/240001/skia/public/interfaces/bitmap_skbitmap_struct_traits.h File skia/public/interfaces/bitmap_skbitmap_struct_traits.h (right): https://codereview.chromium.org/2014013002/diff/240001/skia/public/interfaces/bitmap_skbitmap_struct_traits.h#newcode34 skia/public/interfaces/bitmap_skbitmap_struct_traits.h:34: default: On ...
4 years, 6 months ago (2016-05-31 23:02:48 UTC) #54
yzshen1
https://codereview.chromium.org/2014013002/diff/240001/skia/public/interfaces/skbitmap.typemap File skia/public/interfaces/skbitmap.typemap (right): https://codereview.chromium.org/2014013002/diff/240001/skia/public/interfaces/skbitmap.typemap#newcode8 skia/public/interfaces/skbitmap.typemap:8: deps = [ "//mojo/public/cpp/bindings" ] On 2016/05/27 19:34:11, msw ...
4 years, 6 months ago (2016-05-31 23:17:36 UTC) #55
msw
https://codereview.chromium.org/2014013002/diff/480001/skia/public/interfaces/bitmap_skbitmap_struct_traits.cc File skia/public/interfaces/bitmap_skbitmap_struct_traits.cc (right): https://codereview.chromium.org/2014013002/diff/480001/skia/public/interfaces/bitmap_skbitmap_struct_traits.cc#newcode121 skia/public/interfaces/bitmap_skbitmap_struct_traits.cc:121: b->data = nullptr; On 2016/05/31 23:17:36, yzshen1 wrote: > ...
4 years, 6 months ago (2016-05-31 23:53:41 UTC) #56
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2014013002/500001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2014013002/500001
4 years, 6 months ago (2016-05-31 23:54:35 UTC) #58
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 6 months ago (2016-06-01 01:44:38 UTC) #60
yzshen1
lgtm
4 years, 6 months ago (2016-06-01 17:53:21 UTC) #61
msw
Hey Mike and Ben, please take a look for OWNERS; thanks! Mike: skia/* Ben: everything ...
4 years, 6 months ago (2016-06-01 18:21:55 UTC) #66
reed1
skia lgtm
4 years, 6 months ago (2016-06-01 19:33:58 UTC) #68
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2014013002/520001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2014013002/520001
4 years, 6 months ago (2016-06-01 19:41:36 UTC) #70
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: cast_shell_linux on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/cast_shell_linux/builds/169433) chromeos_amd64-generic_chromium_compile_only_ng on ...
4 years, 6 months ago (2016-06-01 19:46:51 UTC) #72
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2014013002/540001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2014013002/540001
4 years, 6 months ago (2016-06-01 19:52:45 UTC) #74
sky
chrome LGTM
4 years, 6 months ago (2016-06-01 20:03:35 UTC) #75
Avi (use Gerrit)
lgtm content stamp
4 years, 6 months ago (2016-06-01 20:24:19 UTC) #77
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 6 months ago (2016-06-01 21:45:04 UTC) #80
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/2014013002/540001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/2014013002/540001
4 years, 6 months ago (2016-06-01 21:51:41 UTC) #83
commit-bot: I haz the power
Committed patchset #24 (id:540001)
4 years, 6 months ago (2016-06-01 22:00:14 UTC) #85
commit-bot: I haz the power
4 years, 6 months ago (2016-06-01 22:08:08 UTC) #87
Message was sent while issue was closed.
Patchset 24 (id:??) landed as
https://crrev.com/b0123d15a8c1b957a5edd5baed30bfeeb8c10dd5
Cr-Commit-Position: refs/heads/master@{#397263}

Powered by Google App Engine
This is Rietveld 408576698