New issue
Advanced search Search tips

Issue 671433 link

Starred by 10 users

Issue metadata

Status: WontFix
Owner: ----
Closed: Aug 10
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature


Sign in to add a comment

Paint directly to display list instead of with SkPictures

Project Member Reported by danakj@chromium.org, Dec 6 2016

Issue description

Status: Available (was: Untriaged)
Blockedon: 671435
Cc: chrishtr@chromium.org
Components: Internals>Compositing Blink>Compositing Blink>Paint
Blockedon: 671438
Blockedon: 671439
Blockedon: 671440
Blockedon: 671441
Project Member

Comment 8 by bugdroid1@chromium.org, Feb 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/34f6084cd35016a633942588724e6dd7dae428a3

commit 34f6084cd35016a633942588724e6dd7dae428a3
Author: enne <enne@chromium.org>
Date: Thu Feb 02 22:39:08 2017

Rename paint data structures

This patch typedefs a number of skia data structures used in painting in
Blink and ui.

 SkCanvas -> PaintCanvas
 SkSurface -> PaintSurface
 SkPicture -> PaintRecord
 SkPictureRecorder -> PaintRecorder
 SkPaint -> PaintFlags
 SkShader -> PaintShader

These are all typedef'd to Skia types in cc/paint headers.  They are
forwarded to the Blink namespace via platform/graphics/paint headers.
This first step in this patch is to rename uses of these classes
everywhere and then further patches will replace their implementation.

This adds a cc:paint gn component that only depends on Skia that can
then be depended on by ui and Blink platform without depending on the
rest of cc.  This allows ui and Blink platform to continue to
encapsulate its use of cc while still being able to use paint data
structures throughout the entire pipeline.

This patch will be followed up with another patch to change all of
the identifiers that refer to old names.

See: https://docs.google.com/document/d/135-2dYsilJCPucW7edvuh-eGOmmGvazX4QuF7vIboBY/edit?disco=AAAAA5r88Q0

BUG=671433
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2640983002
Cr-Commit-Position: refs/heads/master@{#447861}

[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/apps/DEPS
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/apps/ui/views/app_window_frame_view.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/ash/accelerators/accelerator_controller_delegate_aura.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/ash/autoclick/common/autoclick_ring_handler.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/ash/common/accelerators/debug_commands.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/ash/common/accelerators/exit_warning_handler.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/ash/common/frame/caption_buttons/frame_caption_button.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/ash/common/frame/default_header_painter.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/ash/common/shelf/app_list_button.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/ash/common/shelf/overflow_button.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/ash/common/shelf/shelf_button.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/ash/common/shelf/shelf_widget.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/ash/common/system/chromeos/network/network_icon.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/ash/common/system/toast/toast_overlay.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/ash/common/system/tray/tray_background_view.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/ash/common/system/tray/tray_details_view.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/ash/common/system/user/rounded_image_view.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/ash/common/wm/dock/docked_window_layout_manager.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/ash/common/wm/overview/window_grid.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/ash/common/wm/overview/window_selector.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/ash/common/wm/overview/window_selector_item.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/ash/common/wm/panels/panel_layout_manager.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/ash/common/wm/window_cycle_list.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/ash/laser/laser_pointer_view.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/ash/magnifier/partial_magnification_controller.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/ash/sticky_keys/sticky_keys_overlay.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/ash/touch/touch_hud_debug.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/ash/touch_hud/touch_hud_renderer.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/ash/utility/screenshot_controller.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/BUILD.gn
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/blink/BUILD.gn
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/blink/scrollbar_impl.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/blink/scrollbar_impl.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/blink/web_display_item_list_impl.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/blink/web_display_item_list_impl.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/debug/rasterize_and_record_benchmark_impl.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/input/scrollbar.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/layers/layer.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/layers/layer.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/layers/picture_image_layer.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/layers/picture_layer.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/layers/picture_layer.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/layers/picture_layer_impl_unittest.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/layers/picture_layer_unittest.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/output/renderer_pixeltest.cc
[add] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/paint/BUILD.gn
[add] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/paint/README.md
[add] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/paint/paint_canvas.cc
[add] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/paint/paint_canvas.h
[add] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/paint/paint_export.h
[add] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/paint/paint_flags.h
[add] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/paint/paint_record.h
[add] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/paint/paint_recorder.h
[add] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/paint/paint_shader.h
[add] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/paint/paint_surface.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/playback/drawing_display_item.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/playback/drawing_display_item.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/test/fake_content_layer_client.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/test/fake_content_layer_client.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/test/fake_raster_source.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/test/fake_raster_source.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/test/fake_recording_source.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/test/fake_scrollbar.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/test/fake_scrollbar.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/test/skia_common.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/test/solid_color_content_layer_client.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/tiles/tile_manager_unittest.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/trees/layer_tree_host_pixeltest_masks.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/trees/layer_tree_host_pixeltest_scrollbars.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/trees/layer_tree_host_pixeltest_synchronous.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/trees/layer_tree_host_pixeltest_tiles.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/cc/trees/layer_tree_host_unittest_context.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/chrome/browser/DEPS
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/chrome/browser/download/download_shelf.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/chrome/browser/extensions/bookmark_app_helper.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/chrome/browser/profiles/profile_avatar_icon_util.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/chrome/browser/thumbnails/content_analysis_unittest.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/chrome/browser/thumbnails/content_based_thumbnailing_algorithm_unittest.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/chrome/browser/ui/BUILD.gn
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/chrome/browser/ui/extensions/icon_with_badge_image_source.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/chrome/browser/ui/libgtkui/native_theme_gtk2.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/chrome/browser/ui/libgtkui/native_theme_gtk2.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/chrome/browser/ui/libgtkui/native_theme_gtk3.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/chrome/browser/ui/libgtkui/native_theme_gtk3.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/chrome/browser/ui/views/create_application_shortcut_view.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/chrome/browser/ui/views/download/download_item_view.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/chrome/browser/ui/views/frame/browser_view.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/chrome/browser/ui/views/infobars/infobar_background.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/chrome/browser/ui/views/infobars/infobar_container_view.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/chrome/browser/ui/views/location_bar/background_with_1_px_border.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/chrome/browser/ui/views/location_bar/location_bar_view.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/chrome/browser/ui/views/profiles/profile_chooser_view.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/chrome/browser/ui/views/status_bubble_views.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/chrome/browser/ui/views/tabs/tab.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/chrome/browser/ui/views/tabs/tab_strip.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/components/favicon/core/fallback_icon_service.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/components/supervised_user_error_page/BUILD.gn
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/components/test_runner/BUILD.gn
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/components/test_runner/mock_web_theme_engine.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/components/test_runner/pixel_dump.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/content/browser/BUILD.gn
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/content/browser/web_contents/aura/gesture_nav_simple.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/content/browser/web_contents/aura/shadow_layer_delegate.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/content/renderer/BUILD.gn
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/content/renderer/gpu/gpu_benchmarking_extension.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/content/renderer/media/android/webmediaplayer_android.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/content/renderer/media/android/webmediaplayer_android.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/content/renderer/media/html_video_element_capturer_source.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/content/renderer/media/html_video_element_capturer_source.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/content/renderer/media/webmediaplayer_ms.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/content/renderer/media/webmediaplayer_ms.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/content/renderer/pepper/plugin_instance_throttler_impl_unittest.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/content/renderer/render_view_impl.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/content/renderer/sad_plugin.cc
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/frame/LocalFrame.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/html/HTMLCanvasElement.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/html/HTMLVideoElement.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/html/HTMLVideoElement.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/html/HTMLVideoElementTest.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/html/shadow/MediaControlsTest.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/inspector/InspectorLayerTreeAgent.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/layout/ImageQualityControllerTest.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/layout/shapes/Shape.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/layout/svg/LayoutSVGImage.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceClipper.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceClipper.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceMasker.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourceMasker.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourcePaintServer.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourcePaintServer.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourcePattern.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourcePattern.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/page/PrintContextTest.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/paint/BoxBorderPainter.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/paint/BoxReflectionUtils.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/paint/FilterEffectBuilder.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/paint/FilterEffectBuilder.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/paint/MediaControlsPainter.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/paint/ObjectPainter.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/paint/SVGClipPainter.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/paint/SVGImagePainter.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/paint/SVGInlineTextBoxPainter.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/paint/SVGInlineTextBoxPainter.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/paint/SVGMaskPainter.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/paint/SVGPaintContext.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/paint/SVGPaintContext.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/paint/SVGShapePainter.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/paint/SVGShapePainter.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/paint/ThemePainter.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/paint/ThemePainterDefault.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/paint/ThemePainterMac.mm
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/paint/VideoPainter.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/paint/VideoPainterTest.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/svg/graphics/SVGImage.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/svg/graphics/SVGImageForContainer.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/svg/graphics/SVGImageForContainer.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/svg/graphics/SVGImageTest.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/svg/graphics/filters/SVGFEImage.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/svg/graphics/filters/SVGFilterBuilder.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/core/svg/graphics/filters/SVGFilterBuilder.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/modules/canvas2d/BaseRenderingContext2D.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/modules/canvas2d/BaseRenderingContext2D.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/modules/canvas2d/CanvasStyle.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/modules/canvas2d/CanvasStyle.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/modules/canvas2d/ClipList.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/modules/canvas2d/ClipList.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/modules/csspaint/PaintRenderingContext2D.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/modules/csspaint/PaintRenderingContext2D.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/modules/csspaint/README.md
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/platform/BUILD.gn
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/platform/DragImage.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/platform/DragImageTest.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/platform/exported/WebScrollbarThemePainter.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/platform/fonts/Font.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/platform/fonts/Font.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/platform/fonts/FontTest.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/platform/graphics/AcceleratedStaticBitmapImage.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/platform/graphics/AcceleratedStaticBitmapImage.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/platform/graphics/BitmapImage.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/platform/graphics/BoxReflection.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/platform/graphics/Canvas2DImageBufferSurface.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.h
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridgeTest.cpp
[modify] https://crrev.com/34f6084cd35016a633942588724e6dd7dae428a3/third_party/WebKit/Source/platform/graphics/ContentLayerDelegate.cpp
[modify] https://crrev.com/34f6084cd350
Project Member

Comment 9 by bugdroid1@chromium.org, Feb 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a

commit bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a
Author: enne <enne@chromium.org>
Date: Tue Feb 07 17:59:49 2017

cc: Clean up naming of paint-related identifiers

Also fix a few things that should stay SkPicture and not PaintRecord.

This is a followup to https://codereview.chromium.org/2640983002 that
only changed types.

BUG=671433
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2678903003
Cr-Commit-Position: refs/heads/master@{#448668}

[modify] https://crrev.com/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a/cc/blink/web_display_item_list_impl.cc
[modify] https://crrev.com/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a/cc/blink/web_display_item_list_impl.h
[modify] https://crrev.com/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a/cc/debug/rasterize_and_record_benchmark_impl.cc
[modify] https://crrev.com/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a/cc/layers/layer.cc
[modify] https://crrev.com/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a/cc/layers/layer.h
[modify] https://crrev.com/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a/cc/layers/picture_layer.cc
[modify] https://crrev.com/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a/cc/layers/picture_layer.h
[modify] https://crrev.com/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a/cc/output/renderer_pixeltest.cc
[modify] https://crrev.com/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a/cc/paint/paint_flags.h
[modify] https://crrev.com/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a/cc/playback/drawing_display_item.cc
[modify] https://crrev.com/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a/cc/playback/drawing_display_item.h
[modify] https://crrev.com/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a/cc/playback/raster_source.cc
[modify] https://crrev.com/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a/cc/playback/raster_source.h
[modify] https://crrev.com/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a/cc/playback/raster_source_unittest.cc
[modify] https://crrev.com/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a/cc/playback/recording_source_unittest.cc
[modify] https://crrev.com/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a/cc/test/fake_content_layer_client.cc
[modify] https://crrev.com/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a/cc/test/fake_content_layer_client.h
[modify] https://crrev.com/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a/cc/test/fake_raster_source.cc
[modify] https://crrev.com/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a/cc/test/fake_recording_source.h
[modify] https://crrev.com/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a/cc/test/solid_color_content_layer_client.cc
[modify] https://crrev.com/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a/cc/tiles/tile_manager_unittest.cc
[modify] https://crrev.com/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a/cc/trees/layer_tree_host_pixeltest_masks.cc
[modify] https://crrev.com/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a/cc/trees/layer_tree_host_pixeltest_scrollbars.cc
[modify] https://crrev.com/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a/cc/trees/layer_tree_host_pixeltest_synchronous.cc
[modify] https://crrev.com/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a/cc/trees/layer_tree_host_pixeltest_tiles.cc
[modify] https://crrev.com/bb7c4bcf9afabcbcb4ae2eef8b878466355cb62a/cc/trees/layer_tree_host_unittest_context.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Feb 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9873ffbc1356eb8bea6a85792fcbb0372cba95aa

commit 9873ffbc1356eb8bea6a85792fcbb0372cba95aa
Author: enne <enne@chromium.org>
Date: Tue Feb 07 23:20:17 2017

ui: Clean up naming of paint-related identifiers

This is a followup to https://codereview.chromium.org/2640983002 that
only changed types.

BUG=671433

Review-Url: https://codereview.chromium.org/2680943002
Cr-Commit-Position: refs/heads/master@{#448778}

[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/gfx/canvas.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/gfx/canvas.h
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/gfx/harfbuzz_font_skia.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/gfx/image/image_skia_operations.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/gfx/nine_image_painter.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/gfx/paint_throbber.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/gfx/paint_vector_icon.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/gfx/render_text.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/gfx/render_text.h
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/gfx/render_text_unittest.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/native_theme/common_theme.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/native_theme/native_theme_aura.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/native_theme/native_theme_base.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/native_theme/native_theme_base.h
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/native_theme/native_theme_mac.mm
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/native_theme/native_theme_win.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/animation/ink_drop_mask.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/animation/ink_drop_painted_layer_delegates.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/border.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/bubble/bubble_border.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/bubble/tray_bubble_view.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/color_chooser/color_chooser_view.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/controls/button/checkbox.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/controls/button/checkbox.h
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/controls/button/label_button_border.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/controls/button/radio_button.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/controls/button/radio_button.h
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/controls/button/toggle_button.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/controls/combobox/combobox.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/controls/focus_ring.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/controls/focusable_border.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/controls/focusable_rounded_border_mac.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/controls/image_view.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/controls/md_slider.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/controls/menu/menu_scroll_view_container.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/controls/progress_bar.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/controls/scrollbar/cocoa_scroll_bar.mm
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/controls/scrollbar/overlay_scroll_bar.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/controls/tabbed_pane/tabbed_pane.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/controls/table/table_header.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/controls/table/table_view.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/painter.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/round_rect_painter.cc
[modify] https://crrev.com/9873ffbc1356eb8bea6a85792fcbb0372cba95aa/ui/views/shadow_border.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Feb 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/00bd4b7b6dca660359709fcf49cc00fc10e4ff35

commit 00bd4b7b6dca660359709fcf49cc00fc10e4ff35
Author: enne <enne@chromium.org>
Date: Wed Feb 08 01:38:14 2017

ash: Clean up naming of paint-related identifiers

This is a followup to https://codereview.chromium.org/2640983002 that
only changed types.

BUG=671433

Review-Url: https://codereview.chromium.org/2679423002
Cr-Commit-Position: refs/heads/master@{#448840}

[modify] https://crrev.com/00bd4b7b6dca660359709fcf49cc00fc10e4ff35/ash/autoclick/common/autoclick_ring_handler.cc
[modify] https://crrev.com/00bd4b7b6dca660359709fcf49cc00fc10e4ff35/ash/common/accelerators/debug_commands.cc
[modify] https://crrev.com/00bd4b7b6dca660359709fcf49cc00fc10e4ff35/ash/common/accelerators/exit_warning_handler.cc
[modify] https://crrev.com/00bd4b7b6dca660359709fcf49cc00fc10e4ff35/ash/common/frame/caption_buttons/frame_caption_button.cc
[modify] https://crrev.com/00bd4b7b6dca660359709fcf49cc00fc10e4ff35/ash/common/frame/default_header_painter.cc
[modify] https://crrev.com/00bd4b7b6dca660359709fcf49cc00fc10e4ff35/ash/common/shelf/app_list_button.cc
[modify] https://crrev.com/00bd4b7b6dca660359709fcf49cc00fc10e4ff35/ash/common/shelf/overflow_button.cc
[modify] https://crrev.com/00bd4b7b6dca660359709fcf49cc00fc10e4ff35/ash/common/shelf/shelf_button.cc
[modify] https://crrev.com/00bd4b7b6dca660359709fcf49cc00fc10e4ff35/ash/common/shelf/shelf_widget.cc
[modify] https://crrev.com/00bd4b7b6dca660359709fcf49cc00fc10e4ff35/ash/common/system/chromeos/network/network_icon.cc
[modify] https://crrev.com/00bd4b7b6dca660359709fcf49cc00fc10e4ff35/ash/common/system/toast/toast_overlay.cc
[modify] https://crrev.com/00bd4b7b6dca660359709fcf49cc00fc10e4ff35/ash/common/system/tray/tray_background_view.cc
[modify] https://crrev.com/00bd4b7b6dca660359709fcf49cc00fc10e4ff35/ash/common/system/tray/tray_details_view.cc
[modify] https://crrev.com/00bd4b7b6dca660359709fcf49cc00fc10e4ff35/ash/common/system/user/rounded_image_view.cc
[modify] https://crrev.com/00bd4b7b6dca660359709fcf49cc00fc10e4ff35/ash/common/wm/dock/docked_window_layout_manager.cc
[modify] https://crrev.com/00bd4b7b6dca660359709fcf49cc00fc10e4ff35/ash/common/wm/overview/window_grid.cc
[modify] https://crrev.com/00bd4b7b6dca660359709fcf49cc00fc10e4ff35/ash/common/wm/overview/window_selector.cc
[modify] https://crrev.com/00bd4b7b6dca660359709fcf49cc00fc10e4ff35/ash/common/wm/overview/window_selector_item.cc
[modify] https://crrev.com/00bd4b7b6dca660359709fcf49cc00fc10e4ff35/ash/common/wm/panels/panel_layout_manager.cc
[modify] https://crrev.com/00bd4b7b6dca660359709fcf49cc00fc10e4ff35/ash/common/wm/window_cycle_list.cc
[modify] https://crrev.com/00bd4b7b6dca660359709fcf49cc00fc10e4ff35/ash/laser/laser_pointer_view.cc
[modify] https://crrev.com/00bd4b7b6dca660359709fcf49cc00fc10e4ff35/ash/magnifier/partial_magnification_controller.cc
[modify] https://crrev.com/00bd4b7b6dca660359709fcf49cc00fc10e4ff35/ash/sticky_keys/sticky_keys_overlay.cc
[modify] https://crrev.com/00bd4b7b6dca660359709fcf49cc00fc10e4ff35/ash/touch/touch_hud_debug.cc
[modify] https://crrev.com/00bd4b7b6dca660359709fcf49cc00fc10e4ff35/ash/touch_hud/touch_hud_renderer.cc
[modify] https://crrev.com/00bd4b7b6dca660359709fcf49cc00fc10e4ff35/ash/utility/screenshot_controller.cc

Project Member

Comment 13 by bugdroid1@chromium.org, Feb 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/82f31c2e73e855f3f8b4aacc29d00bfe4c7973ba

commit 82f31c2e73e855f3f8b4aacc29d00bfe4c7973ba
Author: enne <enne@chromium.org>
Date: Fri Feb 10 19:54:43 2017

Remove uses of skia::ReadPixels(PaintCanvas)

PlatformCanvas's readpixels wants to operate on SkCanvas and not on
PaintCanvas and won't compile once these types are different.

Route gfx::Canvas users through a new gfx::Canvas API instead.

BUG=671433

Review-Url: https://codereview.chromium.org/2682123003
Cr-Commit-Position: refs/heads/master@{#449706}

[modify] https://crrev.com/82f31c2e73e855f3f8b4aacc29d00bfe4c7973ba/chrome/browser/thumbnails/content_analysis_unittest.cc
[modify] https://crrev.com/82f31c2e73e855f3f8b4aacc29d00bfe4c7973ba/chrome/browser/thumbnails/content_based_thumbnailing_algorithm_unittest.cc
[modify] https://crrev.com/82f31c2e73e855f3f8b4aacc29d00bfe4c7973ba/chrome/browser/thumbnails/simple_thumbnail_crop_unittest.cc
[modify] https://crrev.com/82f31c2e73e855f3f8b4aacc29d00bfe4c7973ba/content/renderer/media/capturefromelement/html_video_element_capturer_source.cc
[modify] https://crrev.com/82f31c2e73e855f3f8b4aacc29d00bfe4c7973ba/content/renderer/pepper/plugin_instance_throttler_impl_unittest.cc
[modify] https://crrev.com/82f31c2e73e855f3f8b4aacc29d00bfe4c7973ba/ui/gfx/canvas.cc
[modify] https://crrev.com/82f31c2e73e855f3f8b4aacc29d00bfe4c7973ba/ui/gfx/canvas.h
[modify] https://crrev.com/82f31c2e73e855f3f8b4aacc29d00bfe4c7973ba/ui/gfx/color_analysis_unittest.cc
[modify] https://crrev.com/82f31c2e73e855f3f8b4aacc29d00bfe4c7973ba/ui/gfx/color_utils_unittest.cc
[modify] https://crrev.com/82f31c2e73e855f3f8b4aacc29d00bfe4c7973ba/ui/gfx/nine_image_painter_unittest.cc

Project Member

Comment 14 by bugdroid1@chromium.org, Feb 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f08671daf99407814b72eb5cbfd3d1af7069ef13

commit f08671daf99407814b72eb5cbfd3d1af7069ef13
Author: enne <enne@chromium.org>
Date: Fri Feb 10 22:10:24 2017

Remove uses of skia::GetWritablePixels(PaintCanvas)

The platform_canvas function is not usable when PaintCanvas is a
different type than SkCanvas.  Route callers through a new function
instead.

There a number of callers that still want to use SkCanvas, so
have left the original function.

Since all of these GetWritablePixels callers are using
SkCanvasVideoRenderer, take the opportunity to properly convert
that to PaintCanvas as well.

BUG=671433
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2686173003
Cr-Commit-Position: refs/heads/master@{#449752}

[modify] https://crrev.com/f08671daf99407814b72eb5cbfd3d1af7069ef13/cc/paint/paint_canvas.cc
[modify] https://crrev.com/f08671daf99407814b72eb5cbfd3d1af7069ef13/cc/paint/paint_canvas.h
[modify] https://crrev.com/f08671daf99407814b72eb5cbfd3d1af7069ef13/cc/resources/video_resource_updater.cc
[modify] https://crrev.com/f08671daf99407814b72eb5cbfd3d1af7069ef13/content/browser/renderer_host/render_widget_host_view_browsertest.cc
[modify] https://crrev.com/f08671daf99407814b72eb5cbfd3d1af7069ef13/content/renderer/media/image_capture_frame_grabber.cc
[modify] https://crrev.com/f08671daf99407814b72eb5cbfd3d1af7069ef13/content/renderer/media/recorder/video_track_recorder.cc
[modify] https://crrev.com/f08671daf99407814b72eb5cbfd3d1af7069ef13/content/renderer/media/webmediaplayer_ms_compositor.cc
[modify] https://crrev.com/f08671daf99407814b72eb5cbfd3d1af7069ef13/content/renderer/media/webrtc/webrtc_video_capturer_adapter.cc
[modify] https://crrev.com/f08671daf99407814b72eb5cbfd3d1af7069ef13/media/BUILD.gn
[modify] https://crrev.com/f08671daf99407814b72eb5cbfd3d1af7069ef13/media/DEPS
[modify] https://crrev.com/f08671daf99407814b72eb5cbfd3d1af7069ef13/media/renderers/skcanvas_video_renderer.cc
[modify] https://crrev.com/f08671daf99407814b72eb5cbfd3d1af7069ef13/media/renderers/skcanvas_video_renderer.h
[modify] https://crrev.com/f08671daf99407814b72eb5cbfd3d1af7069ef13/media/renderers/skcanvas_video_renderer_unittest.cc

Project Member

Comment 15 by bugdroid1@chromium.org, Feb 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/328308245c390dd1d79844ae2386d38a286eae7d

commit 328308245c390dd1d79844ae2386d38a286eae7d
Author: enne <enne@chromium.org>
Date: Tue Feb 14 21:12:18 2017

Clean up naming of paint-related identifiers

This is a followup to https://codereview.chromium.org/2640983002 that
only changed types.  This should be purely mechanical.

This is the last set of renames.

BUG=671433

Review-Url: https://codereview.chromium.org/2697663002
Cr-Commit-Position: refs/heads/master@{#450474}

[modify] https://crrev.com/328308245c390dd1d79844ae2386d38a286eae7d/apps/ui/views/app_window_frame_view.cc
[modify] https://crrev.com/328308245c390dd1d79844ae2386d38a286eae7d/chrome/browser/download/download_shelf.cc
[modify] https://crrev.com/328308245c390dd1d79844ae2386d38a286eae7d/chrome/browser/extensions/bookmark_app_helper.cc
[modify] https://crrev.com/328308245c390dd1d79844ae2386d38a286eae7d/chrome/browser/profiles/profile_avatar_icon_util.cc
[modify] https://crrev.com/328308245c390dd1d79844ae2386d38a286eae7d/chrome/browser/ui/extensions/icon_with_badge_image_source.cc
[modify] https://crrev.com/328308245c390dd1d79844ae2386d38a286eae7d/chrome/browser/ui/libgtkui/native_theme_gtk2.cc
[modify] https://crrev.com/328308245c390dd1d79844ae2386d38a286eae7d/chrome/browser/ui/views/create_application_shortcut_view.cc
[modify] https://crrev.com/328308245c390dd1d79844ae2386d38a286eae7d/chrome/browser/ui/views/download/download_item_view.cc
[modify] https://crrev.com/328308245c390dd1d79844ae2386d38a286eae7d/chrome/browser/ui/views/frame/browser_view.cc
[modify] https://crrev.com/328308245c390dd1d79844ae2386d38a286eae7d/chrome/browser/ui/views/infobars/infobar_container_view.cc
[modify] https://crrev.com/328308245c390dd1d79844ae2386d38a286eae7d/chrome/browser/ui/views/location_bar/background_with_1_px_border.cc
[modify] https://crrev.com/328308245c390dd1d79844ae2386d38a286eae7d/chrome/browser/ui/views/location_bar/location_bar_view.cc
[modify] https://crrev.com/328308245c390dd1d79844ae2386d38a286eae7d/chrome/browser/ui/views/profiles/profile_chooser_view.cc
[modify] https://crrev.com/328308245c390dd1d79844ae2386d38a286eae7d/chrome/browser/ui/views/status_bubble_views.cc
[modify] https://crrev.com/328308245c390dd1d79844ae2386d38a286eae7d/chrome/browser/ui/views/tabs/tab.cc
[modify] https://crrev.com/328308245c390dd1d79844ae2386d38a286eae7d/chrome/browser/ui/views/tabs/tab_strip.cc
[modify] https://crrev.com/328308245c390dd1d79844ae2386d38a286eae7d/content/browser/web_contents/aura/gesture_nav_simple.cc
[modify] https://crrev.com/328308245c390dd1d79844ae2386d38a286eae7d/content/browser/web_contents/aura/shadow_layer_delegate.cc
[modify] https://crrev.com/328308245c390dd1d79844ae2386d38a286eae7d/content/renderer/gpu/gpu_benchmarking_extension.cc
[modify] https://crrev.com/328308245c390dd1d79844ae2386d38a286eae7d/content/renderer/media/capturefromelement/html_video_element_capturer_source.cc
[modify] https://crrev.com/328308245c390dd1d79844ae2386d38a286eae7d/content/renderer/media/webmediaplayer_ms.cc
[modify] https://crrev.com/328308245c390dd1d79844ae2386d38a286eae7d/content/renderer/media/webmediaplayer_ms.h
[modify] https://crrev.com/328308245c390dd1d79844ae2386d38a286eae7d/content/renderer/sad_plugin.cc
[modify] https://crrev.com/328308245c390dd1d79844ae2386d38a286eae7d/media/renderers/skcanvas_video_renderer.cc
[modify] https://crrev.com/328308245c390dd1d79844ae2386d38a286eae7d/media/renderers/skcanvas_video_renderer.h

Project Member

Comment 16 by bugdroid1@chromium.org, Feb 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ed75029a4736960aef2fe37cefb1f7ccc8417d83

commit ed75029a4736960aef2fe37cefb1f7ccc8417d83
Author: enne <enne@chromium.org>
Date: Wed Feb 15 06:29:38 2017

Make CanvasPainter raster directly to an SkBitmap

This refactoring is removing a dependency where code wants to raster
a DisplayItemList into a gfx::Canvas / cc::PaintCanvas.

Currently, gfx::Canvas is backed by a cc::PaintCanvas instead of an
SkCanvas.  DisplayItemList can only raster into an SkCanvas and not into
a cc::PaintCanvas interface.  This works currently because PaintCanvas
is-a SkCanvas (via a typedef), but will break once they become
different concrete types.

It doesn't seem desirable to make DisplayItemList and cc::PaintRecord to
have duplicate Raster functions for both SkCanvas and PaintCanvas.

Therefore, instead make ui::CanvasPainter raster directly from
DisplayItemList into an SkBitmap without a gfx::Canvas or PaintCanvas
intermediary.  This means that CanvasPainter needs to grow a tiny bit of
logic from both gfx::Canvas, but this is smaller than the alternative.

BUG=671433

Review-Url: https://codereview.chromium.org/2694023003
Cr-Commit-Position: refs/heads/master@{#450594}

[modify] https://crrev.com/ed75029a4736960aef2fe37cefb1f7ccc8417d83/ui/compositor/canvas_painter.cc
[modify] https://crrev.com/ed75029a4736960aef2fe37cefb1f7ccc8417d83/ui/compositor/canvas_painter.h
[modify] https://crrev.com/ed75029a4736960aef2fe37cefb1f7ccc8417d83/ui/views/button_drag_utils.cc
[modify] https://crrev.com/ed75029a4736960aef2fe37cefb1f7ccc8417d83/ui/views/cocoa/bridged_content_view.mm
[modify] https://crrev.com/ed75029a4736960aef2fe37cefb1f7ccc8417d83/ui/views/controls/label_unittest.cc
[modify] https://crrev.com/ed75029a4736960aef2fe37cefb1f7ccc8417d83/ui/views/controls/textfield/textfield.cc
[modify] https://crrev.com/ed75029a4736960aef2fe37cefb1f7ccc8417d83/ui/views/drag_utils.cc
[modify] https://crrev.com/ed75029a4736960aef2fe37cefb1f7ccc8417d83/ui/views/drag_utils.h

Project Member

Comment 17 by bugdroid1@chromium.org, Feb 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7b64edf3a16518889d4bce514bd4bc0818e5ead2

commit 7b64edf3a16518889d4bce514bd4bc0818e5ead2
Author: enne <enne@chromium.org>
Date: Thu Feb 16 20:10:02 2017

Move metafile printing code from platform canvas to PaintCanvas

These functions operate on PaintCanvas and so move them to cc so that
they can continue to work when PaintCanvas is not an SkCanvas.

Additionally, remove skia::GetMetaData which only served to const cast a
pointer that was never const in the first place.  As the underlying
SkCanvas::getMetaData isn't const, this unconstifies the call chains.

BUG=671433
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2686033005
Cr-Commit-Position: refs/heads/master@{#451073}

[modify] https://crrev.com/7b64edf3a16518889d4bce514bd4bc0818e5ead2/cc/paint/paint_canvas.cc
[modify] https://crrev.com/7b64edf3a16518889d4bce514bd4bc0818e5ead2/cc/paint/paint_canvas.h
[modify] https://crrev.com/7b64edf3a16518889d4bce514bd4bc0818e5ead2/components/printing/renderer/print_web_view_helper.cc
[modify] https://crrev.com/7b64edf3a16518889d4bce514bd4bc0818e5ead2/components/printing/renderer/print_web_view_helper_mac.mm
[modify] https://crrev.com/7b64edf3a16518889d4bce514bd4bc0818e5ead2/content/renderer/pepper/pepper_plugin_instance_impl.cc
[modify] https://crrev.com/7b64edf3a16518889d4bce514bd4bc0818e5ead2/content/shell/BUILD.gn
[modify] https://crrev.com/7b64edf3a16518889d4bce514bd4bc0818e5ead2/printing/BUILD.gn
[modify] https://crrev.com/7b64edf3a16518889d4bce514bd4bc0818e5ead2/printing/DEPS
[modify] https://crrev.com/7b64edf3a16518889d4bce514bd4bc0818e5ead2/printing/metafile_skia_wrapper.cc
[modify] https://crrev.com/7b64edf3a16518889d4bce514bd4bc0818e5ead2/printing/metafile_skia_wrapper.h
[modify] https://crrev.com/7b64edf3a16518889d4bce514bd4bc0818e5ead2/printing/pdf_metafile_skia.cc
[modify] https://crrev.com/7b64edf3a16518889d4bce514bd4bc0818e5ead2/printing/pdf_metafile_skia.h
[modify] https://crrev.com/7b64edf3a16518889d4bce514bd4bc0818e5ead2/skia/ext/platform_canvas.cc
[modify] https://crrev.com/7b64edf3a16518889d4bce514bd4bc0818e5ead2/skia/ext/platform_canvas.h
[modify] https://crrev.com/7b64edf3a16518889d4bce514bd4bc0818e5ead2/third_party/WebKit/Source/platform/graphics/GraphicsContext.cpp
[modify] https://crrev.com/7b64edf3a16518889d4bce514bd4bc0818e5ead2/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp

Project Member

Comment 18 by bugdroid1@chromium.org, Feb 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7e40b4199bd624399e821ac4dc7d0bcf2980d7b1

commit 7e40b4199bd624399e821ac4dc7d0bcf2980d7b1
Author: enne <enne@chromium.org>
Date: Fri Feb 24 21:50:15 2017

Convert SkiaBitLocker to use PaintCanvas

SkiaBitLocker currently operates on SkCanvas, but is only used as a
helper for recording mac scrollbars.  As a part of changing out the
backend of how recordings are stored, this SkCanvas will be changed to
cc::PaintCanvas.

As this class is no longer dealing with Skia objects, rename it to
GraphicsContextCanvas and move it and its tests to platform/mac as there
is only one class that uses it.

This will allow this code to continue working when cc::PaintCanvas
is not a typedef to SkCanvas and is a separate concrete class.

BUG=671433
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2705723002
Cr-Commit-Position: refs/heads/master@{#452938}

[modify] https://crrev.com/7e40b4199bd624399e821ac4dc7d0bcf2980d7b1/skia/ext/skia_utils_mac.h
[modify] https://crrev.com/7e40b4199bd624399e821ac4dc7d0bcf2980d7b1/skia/ext/skia_utils_mac.mm
[modify] https://crrev.com/7e40b4199bd624399e821ac4dc7d0bcf2980d7b1/skia/ext/skia_utils_mac_unittest.mm
[modify] https://crrev.com/7e40b4199bd624399e821ac4dc7d0bcf2980d7b1/third_party/WebKit/Source/platform/BUILD.gn
[modify] https://crrev.com/7e40b4199bd624399e821ac4dc7d0bcf2980d7b1/third_party/WebKit/Source/platform/graphics/paint/PaintCanvas.h
[add] https://crrev.com/7e40b4199bd624399e821ac4dc7d0bcf2980d7b1/third_party/WebKit/Source/platform/mac/GraphicsContextCanvas.h
[add] https://crrev.com/7e40b4199bd624399e821ac4dc7d0bcf2980d7b1/third_party/WebKit/Source/platform/mac/GraphicsContextCanvas.mm
[add] https://crrev.com/7e40b4199bd624399e821ac4dc7d0bcf2980d7b1/third_party/WebKit/Source/platform/mac/GraphicsContextCanvasTest.mm
[modify] https://crrev.com/7e40b4199bd624399e821ac4dc7d0bcf2980d7b1/third_party/WebKit/Source/platform/mac/LocalCurrentGraphicsContext.h
[modify] https://crrev.com/7e40b4199bd624399e821ac4dc7d0bcf2980d7b1/third_party/WebKit/Source/platform/mac/LocalCurrentGraphicsContext.mm

Project Member

Comment 19 by bugdroid1@chromium.org, Feb 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5a963036e01f36fef69a05accdf2725e631d0ed0

commit 5a963036e01f36fef69a05accdf2725e631d0ed0
Author: enne <enne@chromium.org>
Date: Fri Feb 24 23:41:03 2017

cc: Fix up code to work with concrete cc paint types

This is split off from my wip https://codereview.chromium.org/2690583002
patch and includes all the places where I ended up changing cc to compile
properly when using real types.

BUG=671433
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2710153004
Cr-Commit-Position: refs/heads/master@{#453000}

[modify] https://crrev.com/5a963036e01f36fef69a05accdf2725e631d0ed0/cc/debug/rasterize_and_record_benchmark_impl.cc
[modify] https://crrev.com/5a963036e01f36fef69a05accdf2725e631d0ed0/cc/layers/painted_scrollbar_layer.cc
[modify] https://crrev.com/5a963036e01f36fef69a05accdf2725e631d0ed0/cc/layers/painted_scrollbar_layer_unittest.cc
[modify] https://crrev.com/5a963036e01f36fef69a05accdf2725e631d0ed0/cc/output/renderer_pixeltest.cc
[modify] https://crrev.com/5a963036e01f36fef69a05accdf2725e631d0ed0/cc/playback/discardable_image_map_unittest.cc
[modify] https://crrev.com/5a963036e01f36fef69a05accdf2725e631d0ed0/cc/playback/display_item_list_unittest.cc
[modify] https://crrev.com/5a963036e01f36fef69a05accdf2725e631d0ed0/cc/playback/drawing_display_item.cc
[modify] https://crrev.com/5a963036e01f36fef69a05accdf2725e631d0ed0/cc/playback/recording_source_unittest.cc
[modify] https://crrev.com/5a963036e01f36fef69a05accdf2725e631d0ed0/cc/raster/gpu_raster_buffer_provider.cc
[modify] https://crrev.com/5a963036e01f36fef69a05accdf2725e631d0ed0/cc/test/fake_raster_source.cc
[modify] https://crrev.com/5a963036e01f36fef69a05accdf2725e631d0ed0/cc/test/fake_raster_source.h
[modify] https://crrev.com/5a963036e01f36fef69a05accdf2725e631d0ed0/cc/test/fake_scrollbar.cc
[modify] https://crrev.com/5a963036e01f36fef69a05accdf2725e631d0ed0/cc/test/skia_common.cc
[modify] https://crrev.com/5a963036e01f36fef69a05accdf2725e631d0ed0/cc/trees/layer_tree_host_pixeltest_filters.cc
[modify] https://crrev.com/5a963036e01f36fef69a05accdf2725e631d0ed0/cc/trees/layer_tree_host_pixeltest_masks.cc

Project Member

Comment 20 by bugdroid1@chromium.org, Feb 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8205fefc8bff94c075029d00eaeeeb61fbfda67b

commit 8205fefc8bff94c075029d00eaeeeb61fbfda67b
Author: enne <enne@chromium.org>
Date: Sat Feb 25 02:00:07 2017

Remove unused branch in native theme win painting

Once impl-side painting was turned on for the browser compositor, all
paint code turned into recording instead of direct rasterizaton.
This branch is not used in practice anymore (verified by adding
a CHECK and running a win rel try job), so it can be removed.

This simplifies the cc::PaintCanvas interface and will allow for it
to be possible to make PaintCanvas and SkCanvas be different types.

In the future, it could be possible to make PaintRecord save different
ops in the recording (like drawScrollbar or some such) and then move
this direct rasterization into the compositor to regain this lost
optimization from the past.

BUG=671433

Review-Url: https://codereview.chromium.org/2716073002
Cr-Commit-Position: refs/heads/master@{#453042}

[modify] https://crrev.com/8205fefc8bff94c075029d00eaeeeb61fbfda67b/ui/native_theme/native_theme_win.cc

Project Member

Comment 21 by bugdroid1@chromium.org, Feb 25 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/26abaa05f21dc00bd9f089e3aea037891c6d903a

commit 26abaa05f21dc00bd9f089e3aea037891c6d903a
Author: enne <enne@chromium.org>
Date: Sat Feb 25 03:50:16 2017

Change mock canvases to paint into SkCanvas

To simplify interfaces, cc::PaintCanvas doesn't want to support onDrawX
style overrides while painting.  To avoid this, change test code that
paints into mock canvases and tries to detect what has been drawn to
paint into a PaintCanvas originally and play that recorded result
back into an SkCanvas afterwards.

In the future, when PaintRecord is more introspectable by test code
and isn't just providing an SkPicture, then test code could just look
at the PaintRecord directly.

This code all works right now because cc::PaintCanvas is a typedef to
SkCanvas, but as soon as they become separate types then this code
will no longer work.

BUG=671433

Review-Url: https://codereview.chromium.org/2715793002
Cr-Commit-Position: refs/heads/master@{#453060}

[modify] https://crrev.com/26abaa05f21dc00bd9f089e3aea037891c6d903a/third_party/WebKit/Source/core/page/PrintContextTest.cpp
[modify] https://crrev.com/26abaa05f21dc00bd9f089e3aea037891c6d903a/third_party/WebKit/Source/web/PageOverlayTest.cpp
[modify] https://crrev.com/26abaa05f21dc00bd9f089e3aea037891c6d903a/ui/views/BUILD.gn
[modify] https://crrev.com/26abaa05f21dc00bd9f089e3aea037891c6d903a/ui/views/border_unittest.cc

Project Member

Comment 22 by bugdroid1@chromium.org, Feb 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/aae3c56f6fc41fbbbb244da56fe52ce7b03c1ec6

commit aae3c56f6fc41fbbbb244da56fe52ce7b03c1ec6
Author: enne <enne@chromium.org>
Date: Tue Feb 28 04:26:45 2017

ui: Fix cc/paint skia type mismatches

This patch is part of this larger change here that will make
SkCanvas/PaintCanvas, SkPaint/PaintFlags, and SkPicture/PaintRecord
fully different types: https://codereview.chromium.org/2690583002

This patch fixes up spots where the wrong type is being used, and
removes uses of setFlags(antialias).  The only flag that's ever
used in Chrome is the antialias flag, so this is trying to clean
up the future PaintFlags API to not have to support setFlags.

BUG=671433

Review-Url: https://codereview.chromium.org/2716213002
Cr-Commit-Position: refs/heads/master@{#453493}

[modify] https://crrev.com/aae3c56f6fc41fbbbb244da56fe52ce7b03c1ec6/ui/app_list/folder_image.cc
[modify] https://crrev.com/aae3c56f6fc41fbbbb244da56fe52ce7b03c1ec6/ui/app_list/views/app_list_item_view.cc
[modify] https://crrev.com/aae3c56f6fc41fbbbb244da56fe52ce7b03c1ec6/ui/app_list/views/app_list_view.cc
[modify] https://crrev.com/aae3c56f6fc41fbbbb244da56fe52ce7b03c1ec6/ui/app_list/views/folder_background_view.cc
[modify] https://crrev.com/aae3c56f6fc41fbbbb244da56fe52ce7b03c1ec6/ui/app_list/views/page_switcher.cc
[modify] https://crrev.com/aae3c56f6fc41fbbbb244da56fe52ce7b03c1ec6/ui/app_list/views/search_box_view.cc
[modify] https://crrev.com/aae3c56f6fc41fbbbb244da56fe52ce7b03c1ec6/ui/app_list/views/speech_view.cc
[modify] https://crrev.com/aae3c56f6fc41fbbbb244da56fe52ce7b03c1ec6/ui/gfx/BUILD.gn
[modify] https://crrev.com/aae3c56f6fc41fbbbb244da56fe52ce7b03c1ec6/ui/gfx/canvas.cc
[modify] https://crrev.com/aae3c56f6fc41fbbbb244da56fe52ce7b03c1ec6/ui/gfx/canvas.h
[modify] https://crrev.com/aae3c56f6fc41fbbbb244da56fe52ce7b03c1ec6/ui/gfx/color_analysis_unittest.cc
[modify] https://crrev.com/aae3c56f6fc41fbbbb244da56fe52ce7b03c1ec6/ui/gfx/harfbuzz_font_skia.cc
[modify] https://crrev.com/aae3c56f6fc41fbbbb244da56fe52ce7b03c1ec6/ui/gfx/render_text_unittest.cc
[modify] https://crrev.com/aae3c56f6fc41fbbbb244da56fe52ce7b03c1ec6/ui/gfx/shadow_util.cc
[modify] https://crrev.com/aae3c56f6fc41fbbbb244da56fe52ce7b03c1ec6/ui/native_theme/native_theme_base.cc
[modify] https://crrev.com/aae3c56f6fc41fbbbb244da56fe52ce7b03c1ec6/ui/native_theme/native_theme_base.h
[modify] https://crrev.com/aae3c56f6fc41fbbbb244da56fe52ce7b03c1ec6/ui/native_theme/native_theme_win.cc
[modify] https://crrev.com/aae3c56f6fc41fbbbb244da56fe52ce7b03c1ec6/ui/native_theme/native_theme_win.h
[modify] https://crrev.com/aae3c56f6fc41fbbbb244da56fe52ce7b03c1ec6/ui/views/controls/slider.cc

Project Member

Comment 23 by bugdroid1@chromium.org, Feb 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6b6094a419b2d7e45a7ec9dccda1cd5398090c91

commit 6b6094a419b2d7e45a7ec9dccda1cd5398090c91
Author: enne <enne@chromium.org>
Date: Tue Feb 28 06:22:21 2017

blink: Fix cc/paint skia type mismatches

This patch is part of this larger change here that will make
SkCanvas/PaintCanvas, SkPaint/PaintFlags, and SkPicture/PaintRecord
fully different types: https://codereview.chromium.org/2690583002

This patch fixes up spots where the wrong type is being used, and
removes some unnecessary pass through canvases.

This is a mostly trivial change.

BUG=671433
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2716203002
Cr-Commit-Position: refs/heads/master@{#453521}

[modify] https://crrev.com/6b6094a419b2d7e45a7ec9dccda1cd5398090c91/third_party/WebKit/Source/core/frame/ImageBitmap.cpp
[modify] https://crrev.com/6b6094a419b2d7e45a7ec9dccda1cd5398090c91/third_party/WebKit/Source/core/frame/LocalFrame.cpp
[modify] https://crrev.com/6b6094a419b2d7e45a7ec9dccda1cd5398090c91/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
[modify] https://crrev.com/6b6094a419b2d7e45a7ec9dccda1cd5398090c91/third_party/WebKit/Source/core/html/shadow/MediaControlsOrientationLockDelegateTest.cpp
[modify] https://crrev.com/6b6094a419b2d7e45a7ec9dccda1cd5398090c91/third_party/WebKit/Source/core/inspector/InspectorLayerTreeAgent.cpp
[modify] https://crrev.com/6b6094a419b2d7e45a7ec9dccda1cd5398090c91/third_party/WebKit/Source/core/paint/FilterEffectBuilder.cpp
[modify] https://crrev.com/6b6094a419b2d7e45a7ec9dccda1cd5398090c91/third_party/WebKit/Source/core/paint/FilterEffectBuilder.h
[modify] https://crrev.com/6b6094a419b2d7e45a7ec9dccda1cd5398090c91/third_party/WebKit/Source/core/svg/graphics/SVGImage.h
[modify] https://crrev.com/6b6094a419b2d7e45a7ec9dccda1cd5398090c91/third_party/WebKit/Source/core/svg/graphics/filters/SVGFilterBuilder.cpp
[modify] https://crrev.com/6b6094a419b2d7e45a7ec9dccda1cd5398090c91/third_party/WebKit/Source/core/svg/graphics/filters/SVGFilterBuilder.h
[modify] https://crrev.com/6b6094a419b2d7e45a7ec9dccda1cd5398090c91/third_party/WebKit/Source/modules/canvas2d/BaseRenderingContext2D.cpp
[modify] https://crrev.com/6b6094a419b2d7e45a7ec9dccda1cd5398090c91/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp
[modify] https://crrev.com/6b6094a419b2d7e45a7ec9dccda1cd5398090c91/third_party/WebKit/Source/platform/fonts/Font.cpp
[modify] https://crrev.com/6b6094a419b2d7e45a7ec9dccda1cd5398090c91/third_party/WebKit/Source/platform/graphics/DeferredImageDecoderTest.cpp
[modify] https://crrev.com/6b6094a419b2d7e45a7ec9dccda1cd5398090c91/third_party/WebKit/Source/platform/graphics/GradientGeneratedImage.h
[modify] https://crrev.com/6b6094a419b2d7e45a7ec9dccda1cd5398090c91/third_party/WebKit/Source/platform/graphics/GraphicsContextTest.cpp
[modify] https://crrev.com/6b6094a419b2d7e45a7ec9dccda1cd5398090c91/third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp
[modify] https://crrev.com/6b6094a419b2d7e45a7ec9dccda1cd5398090c91/third_party/WebKit/Source/platform/graphics/Image.cpp
[modify] https://crrev.com/6b6094a419b2d7e45a7ec9dccda1cd5398090c91/third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurfaceTest.cpp
[modify] https://crrev.com/6b6094a419b2d7e45a7ec9dccda1cd5398090c91/third_party/WebKit/Source/platform/graphics/filters/SkiaImageFilterBuilder.cpp
[modify] https://crrev.com/6b6094a419b2d7e45a7ec9dccda1cd5398090c91/third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItem.cpp
[modify] https://crrev.com/6b6094a419b2d7e45a7ec9dccda1cd5398090c91/third_party/WebKit/Source/platform/graphics/paint/DrawingRecorder.cpp
[modify] https://crrev.com/6b6094a419b2d7e45a7ec9dccda1cd5398090c91/third_party/WebKit/Source/platform/graphics/skia/SkiaUtils.h
[modify] https://crrev.com/6b6094a419b2d7e45a7ec9dccda1cd5398090c91/third_party/WebKit/Source/web/tests/WebViewTest.cpp

Project Member

Comment 24 by bugdroid1@chromium.org, Mar 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68

commit 11266b8b9ebefbfc5ddb4156c194318ed2eb3a68
Author: enne <enne@chromium.org>
Date: Thu Mar 02 01:43:47 2017

Fix cc/paint skia type mismatches

This patch is part of this larger change here that will make
SkCanvas/PaintCanvas, SkPaint/PaintFlags, and SkPicture/PaintRecord
fully different types: https://codereview.chromium.org/2690583002

This patch fixes up spots where the wrong type is being used.

BUG=671433

Review-Url: https://codereview.chromium.org/2717943002
Cr-Commit-Position: refs/heads/master@{#454141}

[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/ash/common/shelf/app_list_button.cc
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/ash/common/shelf/shelf_button.cc
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/ash/common/system/chromeos/network/network_icon.cc
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/ash/common/system/tray/tray_background_view.cc
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/ash/common/wm/overview/window_grid.cc
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/chrome/browser/chromeos/display/overscan_calibrator.cc
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/chrome/browser/chromeos/display/touch_calibrator/touch_calibrator_view.cc
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/chrome/browser/chromeos/display/touch_calibrator/touch_calibrator_view.h
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/chrome/browser/chromeos/ui/accessibility_cursor_ring_layer.cc
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/chrome/browser/chromeos/ui/accessibility_focus_ring_layer.cc
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/chrome/browser/chromeos/ui/focus_ring_layer.cc
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/chrome/browser/chromeos/ui/idle_app_name_notification_view.cc
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/chrome/browser/chromeos/ui/kiosk_external_update_notification.cc
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/chrome/browser/ui/app_list/extension_app_item.cc
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/chrome/browser/ui/libgtkui/BUILD.gn
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/chrome/browser/ui/libgtkui/native_theme_gtk2.cc
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/chrome/browser/ui/libgtkui/native_theme_gtk3.cc
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/chrome/browser/ui/libgtkui/native_theme_gtk3.h
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/chrome/browser/ui/views/apps/app_info_dialog/app_info_dialog_container.cc
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/chrome/browser/ui/views/frame/browser_header_painter_ash.cc
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/chrome/browser/ui/views/frame/glass_browser_frame_view.cc
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/chrome/browser/ui/views/frame/windows_10_caption_button.cc
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/components/printing/renderer/print_web_view_helper.cc
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/components/wallpaper/wallpaper_color_calculator_unittest.cc
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/content/child/BUILD.gn
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/content/child/browser_font_resource_trusted.h
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/content/renderer/media/capturefromelement/html_video_element_capturer_source_unittest.cc
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/content/renderer/media/image_capture_frame_grabber.cc
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/content/renderer/pepper/pepper_graphics_2d_host.cc
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/content/renderer/render_view_impl.cc
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/media/blink/webmediaplayer_impl.cc
[modify] https://crrev.com/11266b8b9ebefbfc5ddb4156c194318ed2eb3a68/media/blink/webmediaplayer_impl.h

Project Member

Comment 25 by bugdroid1@chromium.org, Mar 6 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/762276ecdfbff938d3b7431ad0ed00c3ab6a4136

commit 762276ecdfbff938d3b7431ad0ed00c3ab6a4136
Author: enne <enne@chromium.org>
Date: Mon Mar 06 21:30:26 2017

Make cc/paint have concrete types

This changes PaintCanvas, PaintFlags, PaintSurface, and PaintRecorder
to all be real types (that forward to Skia types internally).  PaintShader
is left as-is for now.  This will force callers to use the correct
types in the rest of Chromium as the internals of these classes are
rewritten in future patches.

This code also changes a number of callers elsewhere in the codebase
that want to wrap an SkCanvas in a PaintCanvas.  As SkCanvas has no
constructor that takes an SkCanvas*, this change had to wait for this
final conversion patch.

In general, if code wants to raster directly into a bitmap with local
code, it should use Skia directly.  If code wants to raster into a bitmap
with paint callers, it can wrap that bitmap in a PaintCanvas.  Similarly,
if code wants to go into an accelerated SkSurface, it should wrap that
surface's canvas in a PaintCanvas (as blink html canvas code does).

BUG=671433

CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2690583002
Cr-Commit-Position: refs/heads/master@{#454962}

[modify] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/ash/common/shelf/overflow_button.cc
[modify] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/ash/common/shelf/shelf_button.cc
[modify] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/cc/layers/painted_overlay_scrollbar_layer.cc
[modify] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/cc/paint/BUILD.gn
[modify] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/cc/paint/paint_canvas.cc
[modify] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/cc/paint/paint_canvas.h
[modify] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/cc/paint/paint_flags.h
[add] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/cc/paint/paint_record.cc
[modify] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/cc/paint/paint_record.h
[add] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/cc/paint/paint_recorder.cc
[modify] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/cc/paint/paint_recorder.h
[modify] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/cc/paint/paint_shader.h
[add] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/cc/paint/paint_surface.cc
[modify] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/cc/paint/paint_surface.h
[modify] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/content/child/browser_font_resource_trusted.cc
[modify] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/content/renderer/gpu/gpu_benchmarking_extension.cc
[modify] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/media/renderers/skcanvas_video_renderer_unittest.cc
[modify] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/printing/pdf_metafile_skia.cc
[modify] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/third_party/WebKit/Source/core/svg/graphics/SVGImageTest.cpp
[modify] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.cpp
[modify] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.h
[modify] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/third_party/WebKit/Source/platform/graphics/DeferredImageDecoderTest.cpp
[modify] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/third_party/WebKit/Source/platform/graphics/GraphicsContext.cpp
[modify] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/third_party/WebKit/Source/platform/graphics/UnacceleratedImageBufferSurface.cpp
[modify] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/third_party/WebKit/Source/platform/graphics/UnacceleratedImageBufferSurface.h
[modify] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/third_party/WebKit/Source/platform/graphics/gpu/AcceleratedImageBufferSurface.cpp
[modify] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/third_party/WebKit/Source/platform/graphics/gpu/AcceleratedImageBufferSurface.h
[modify] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/third_party/WebKit/Source/platform/graphics/paint/PaintCanvas.h
[modify] https://crrev.com/762276ecdfbff938d3b7431ad0ed00c3ab6a4136/ui/gfx/paint_vector_icon_unittest.cc

Project Member

Comment 26 by bugdroid1@chromium.org, Mar 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6667be4ffb8c4e01654f2dc2471371e83dfecacd

commit 6667be4ffb8c4e01654f2dc2471371e83dfecacd
Author: enne <enne@chromium.org>
Date: Tue Mar 07 18:58:47 2017

Revert of Make cc/paint have concrete types (patchset #36 id:700001 of https://codereview.chromium.org/2690583002/ )

Reason for revert:
Invalid casts from SkMiniPicture to PaintRecord

BUG=699105

Original issue's description:
> Make cc/paint have concrete types
>
> This changes PaintCanvas, PaintFlags, PaintSurface, and PaintRecorder
> to all be real types (that forward to Skia types internally).  PaintShader
> is left as-is for now.  This will force callers to use the correct
> types in the rest of Chromium as the internals of these classes are
> rewritten in future patches.
>
> This code also changes a number of callers elsewhere in the codebase
> that want to wrap an SkCanvas in a PaintCanvas.  As SkCanvas has no
> constructor that takes an SkCanvas*, this change had to wait for this
> final conversion patch.
>
> In general, if code wants to raster directly into a bitmap with local
> code, it should use Skia directly.  If code wants to raster into a bitmap
> with paint callers, it can wrap that bitmap in a PaintCanvas.  Similarly,
> if code wants to go into an accelerated SkSurface, it should wrap that
> surface's canvas in a PaintCanvas (as blink html canvas code does).
>
> BUG=671433
>
> CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
>
> Review-Url: https://codereview.chromium.org/2690583002
> Cr-Commit-Position: refs/heads/master@{#454962}
> Committed: https://chromium.googlesource.com/chromium/src/+/762276ecdfbff938d3b7431ad0ed00c3ab6a4136

TBR=danakj@chromium.org,ddorwin@chromium.org,derat@chromium.org,junov@chromium.org,nick@chromium.org,vitalybuka@chromium.rg,vmpstr@chromium.org,thestig@chromium.org,vitalybuka@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=671433

Review-Url: https://codereview.chromium.org/2739533003
Cr-Commit-Position: refs/heads/master@{#455164}

[modify] https://crrev.com/6667be4ffb8c4e01654f2dc2471371e83dfecacd/ash/common/shelf/overflow_button.cc
[modify] https://crrev.com/6667be4ffb8c4e01654f2dc2471371e83dfecacd/ash/common/shelf/shelf_button.cc
[modify] https://crrev.com/6667be4ffb8c4e01654f2dc2471371e83dfecacd/cc/layers/painted_overlay_scrollbar_layer.cc
[modify] https://crrev.com/6667be4ffb8c4e01654f2dc2471371e83dfecacd/cc/paint/BUILD.gn
[modify] https://crrev.com/6667be4ffb8c4e01654f2dc2471371e83dfecacd/cc/paint/paint_canvas.cc
[modify] https://crrev.com/6667be4ffb8c4e01654f2dc2471371e83dfecacd/cc/paint/paint_canvas.h
[modify] https://crrev.com/6667be4ffb8c4e01654f2dc2471371e83dfecacd/cc/paint/paint_flags.h
[delete] https://crrev.com/b1d2e017aef891e5d9bbd4d58b22fe9b08c46db3/cc/paint/paint_record.cc
[modify] https://crrev.com/6667be4ffb8c4e01654f2dc2471371e83dfecacd/cc/paint/paint_record.h
[delete] https://crrev.com/b1d2e017aef891e5d9bbd4d58b22fe9b08c46db3/cc/paint/paint_recorder.cc
[modify] https://crrev.com/6667be4ffb8c4e01654f2dc2471371e83dfecacd/cc/paint/paint_recorder.h
[modify] https://crrev.com/6667be4ffb8c4e01654f2dc2471371e83dfecacd/cc/paint/paint_shader.h
[delete] https://crrev.com/b1d2e017aef891e5d9bbd4d58b22fe9b08c46db3/cc/paint/paint_surface.cc
[modify] https://crrev.com/6667be4ffb8c4e01654f2dc2471371e83dfecacd/cc/paint/paint_surface.h
[modify] https://crrev.com/6667be4ffb8c4e01654f2dc2471371e83dfecacd/content/child/browser_font_resource_trusted.cc
[modify] https://crrev.com/6667be4ffb8c4e01654f2dc2471371e83dfecacd/content/renderer/gpu/gpu_benchmarking_extension.cc
[modify] https://crrev.com/6667be4ffb8c4e01654f2dc2471371e83dfecacd/media/renderers/skcanvas_video_renderer_unittest.cc
[modify] https://crrev.com/6667be4ffb8c4e01654f2dc2471371e83dfecacd/printing/pdf_metafile_skia.cc
[modify] https://crrev.com/6667be4ffb8c4e01654f2dc2471371e83dfecacd/third_party/WebKit/Source/core/svg/graphics/SVGImageTest.cpp
[modify] https://crrev.com/6667be4ffb8c4e01654f2dc2471371e83dfecacd/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.cpp
[modify] https://crrev.com/6667be4ffb8c4e01654f2dc2471371e83dfecacd/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.h
[modify] https://crrev.com/6667be4ffb8c4e01654f2dc2471371e83dfecacd/third_party/WebKit/Source/platform/graphics/DeferredImageDecoderTest.cpp
[modify] https://crrev.com/6667be4ffb8c4e01654f2dc2471371e83dfecacd/third_party/WebKit/Source/platform/graphics/GraphicsContext.cpp
[modify] https://crrev.com/6667be4ffb8c4e01654f2dc2471371e83dfecacd/third_party/WebKit/Source/platform/graphics/UnacceleratedImageBufferSurface.cpp
[modify] https://crrev.com/6667be4ffb8c4e01654f2dc2471371e83dfecacd/third_party/WebKit/Source/platform/graphics/UnacceleratedImageBufferSurface.h
[modify] https://crrev.com/6667be4ffb8c4e01654f2dc2471371e83dfecacd/third_party/WebKit/Source/platform/graphics/gpu/AcceleratedImageBufferSurface.cpp
[modify] https://crrev.com/6667be4ffb8c4e01654f2dc2471371e83dfecacd/third_party/WebKit/Source/platform/graphics/gpu/AcceleratedImageBufferSurface.h
[modify] https://crrev.com/6667be4ffb8c4e01654f2dc2471371e83dfecacd/third_party/WebKit/Source/platform/graphics/paint/PaintCanvas.h
[modify] https://crrev.com/6667be4ffb8c4e01654f2dc2471371e83dfecacd/ui/gfx/paint_vector_icon_unittest.cc

Project Member

Comment 27 by bugdroid1@chromium.org, Mar 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d2501577f2df0764eda66614ddf429e230062562

commit d2501577f2df0764eda66614ddf429e230062562
Author: enne <enne@chromium.org>
Date: Thu Mar 09 19:59:17 2017

Make cc/paint have concrete types

This changes PaintCanvas, PaintFlags, PaintSurface, and PaintRecorder
to all be real types (that forward to Skia types internally).  PaintShader
is left as-is for now.  This will force callers to use the correct
types in the rest of Chromium as the internals of these classes are
rewritten in future patches.

This code also changes a number of callers elsewhere in the codebase
that want to wrap an SkCanvas in a PaintCanvas.  As SkCanvas has no
constructor that takes an SkCanvas*, this change had to wait for this
final conversion patch.

In general, if code wants to raster directly into a bitmap with local
code, it should use Skia directly.  If code wants to raster into a bitmap
with paint callers, it can wrap that bitmap in a PaintCanvas.  Similarly,
if code wants to go into an accelerated SkSurface, it should wrap that
surface's canvas in a PaintCanvas (as blink html canvas code does).

BUG=671433

CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2690583002
Cr-Commit-Position: refs/heads/master@{#455840}

[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/ash/common/shelf/overflow_button.cc
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/ash/common/shelf/shelf_button.cc
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/cc/layers/painted_overlay_scrollbar_layer.cc
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/cc/paint/BUILD.gn
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/cc/paint/paint_canvas.cc
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/cc/paint/paint_canvas.h
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/cc/paint/paint_flags.h
[add] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/cc/paint/paint_recorder.cc
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/cc/paint/paint_recorder.h
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/cc/paint/paint_shader.h
[add] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/cc/paint/paint_surface.cc
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/cc/paint/paint_surface.h
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/content/child/browser_font_resource_trusted.cc
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/content/renderer/gpu/gpu_benchmarking_extension.cc
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/media/renderers/skcanvas_video_renderer_unittest.cc
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/printing/pdf_metafile_skia.cc
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/third_party/WebKit/Source/core/paint/SVGShapePainter.cpp
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/third_party/WebKit/Source/core/svg/graphics/SVGImageTest.cpp
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/third_party/WebKit/Source/platform/exported/WebFont.cpp
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/third_party/WebKit/Source/platform/exported/WebScrollbarThemePainter.cpp
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.cpp
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.h
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/third_party/WebKit/Source/platform/graphics/DeferredImageDecoderTest.cpp
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/third_party/WebKit/Source/platform/graphics/GraphicsContext.cpp
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurface.cpp
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/third_party/WebKit/Source/platform/graphics/UnacceleratedImageBufferSurface.cpp
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/third_party/WebKit/Source/platform/graphics/UnacceleratedImageBufferSurface.h
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/third_party/WebKit/Source/platform/graphics/gpu/AcceleratedImageBufferSurface.cpp
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/third_party/WebKit/Source/platform/graphics/gpu/AcceleratedImageBufferSurface.h
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/third_party/WebKit/Source/platform/graphics/paint/PaintCanvas.h
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/third_party/WebKit/Source/web/PageWidgetDelegate.cpp
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp
[modify] https://crrev.com/d2501577f2df0764eda66614ddf429e230062562/ui/gfx/paint_vector_icon_unittest.cc

Project Member

Comment 28 by bugdroid1@chromium.org, Mar 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/98c9f805b64f60e6dc4a0b305d09a176b4eb105d

commit 98c9f805b64f60e6dc4a0b305d09a176b4eb105d
Author: enne <enne@chromium.org>
Date: Wed Mar 15 19:38:22 2017

cc: Make PaintCanvas abstract

This is for the goal of having a separate implementation for recording
vs pass through to Skia.  Right now, there's only a single
implementation of PaintCanvas (SkiaPaintCanvas), but a newer
RecordPaintCanvas will be added after this patch that PaintRecorder
will use.

Virtualization here adds a little bit of overhead (0.5% record time on
linux 10k), but should be able to be recovered in future patches.
There's not much option here in terms of how to stage this patch, so
this regression will just need to be eaten in the short term.

BUG=671433

CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2752593002
Cr-Commit-Position: refs/heads/master@{#457169}

[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/cc/layers/painted_overlay_scrollbar_layer.cc
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/cc/layers/painted_scrollbar_layer.cc
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/cc/output/renderer_pixeltest.cc
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/cc/paint/BUILD.gn
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/cc/paint/paint_canvas.cc
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/cc/paint/paint_canvas.h
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/cc/paint/paint_recorder.h
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/cc/paint/paint_surface.h
[add] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/cc/paint/skia_paint_canvas.cc
[add] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/cc/paint/skia_paint_canvas.h
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/cc/playback/display_item_list_unittest.cc
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/cc/resources/video_resource_updater.cc
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/content/browser/renderer_host/render_widget_host_view_browsertest.cc
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/content/child/browser_font_resource_trusted.cc
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/content/renderer/gpu/gpu_benchmarking_extension.cc
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/content/renderer/pepper/pepper_graphics_2d_host_unittest.cc
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/content/renderer/render_view_impl.cc
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/content/shell/test_runner/pixel_dump.cc
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/media/renderers/skcanvas_video_renderer_unittest.cc
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/printing/pdf_metafile_skia.cc
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/third_party/WebKit/Source/core/svg/graphics/SVGImageTest.cpp
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.cpp
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/third_party/WebKit/Source/platform/graphics/GraphicsContext.cpp
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/third_party/WebKit/Source/platform/graphics/GraphicsContextTest.cpp
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/third_party/WebKit/Source/platform/graphics/UnacceleratedImageBufferSurface.cpp
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/third_party/WebKit/Source/platform/graphics/filters/SkiaImageFilterBuilder.cpp
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/third_party/WebKit/Source/platform/graphics/gpu/AcceleratedImageBufferSurface.cpp
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItem.cpp
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/third_party/WebKit/Source/platform/graphics/paint/PaintCanvas.h
[modify] https://crrev.com/98c9f805b64f60e6dc4a0b305d09a176b4eb105d/third_party/WebKit/Source/platform/mac/GraphicsContextCanvasTest.mm

Project Member

Comment 29 by bugdroid1@chromium.org, Mar 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4c5cfacb5d7d63b4b264c2783dfb1cbf32aacda5

commit 4c5cfacb5d7d63b4b264c2783dfb1cbf32aacda5
Author: danakj <danakj@chromium.org>
Date: Tue Mar 21 17:10:20 2017

ui: Remove a bunch of uses of gfx::Canvas::ExtractImageRep()

This method calls PaintCanvas::getBaseLayerSize() which should not
exist. Since these callers are just trying to generate a bitmap, close
the loop and have them make a bitmap, then draw/raster into it.

I have manually tested each ui case to verify that I see it in the
browser and that it is the same after (this was not easy).

BUG=671433

Review-Url: https://codereview.chromium.org/2760133002
Cr-Commit-Position: refs/heads/master@{#458447}

[modify] https://crrev.com/4c5cfacb5d7d63b4b264c2783dfb1cbf32aacda5/ash/common/accelerators/debug_commands.cc
[modify] https://crrev.com/4c5cfacb5d7d63b4b264c2783dfb1cbf32aacda5/ash/common/frame/caption_buttons/frame_caption_button.cc
[modify] https://crrev.com/4c5cfacb5d7d63b4b264c2783dfb1cbf32aacda5/ash/common/frame/caption_buttons/frame_caption_button.h
[modify] https://crrev.com/4c5cfacb5d7d63b4b264c2783dfb1cbf32aacda5/chrome/browser/ui/app_list/extension_app_item.cc
[modify] https://crrev.com/4c5cfacb5d7d63b4b264c2783dfb1cbf32aacda5/chrome/browser/ui/webui/app_launcher_login_handler.cc
[modify] https://crrev.com/4c5cfacb5d7d63b4b264c2783dfb1cbf32aacda5/components/favicon/core/BUILD.gn
[modify] https://crrev.com/4c5cfacb5d7d63b4b264c2783dfb1cbf32aacda5/components/favicon/core/DEPS
[modify] https://crrev.com/4c5cfacb5d7d63b4b264c2783dfb1cbf32aacda5/components/favicon/core/fallback_icon_service.cc
[modify] https://crrev.com/4c5cfacb5d7d63b4b264c2783dfb1cbf32aacda5/ui/message_center/message_center_impl_unittest.cc
[modify] https://crrev.com/4c5cfacb5d7d63b4b264c2783dfb1cbf32aacda5/ui/views/controls/button/blue_button_unittest.cc

Project Member

Comment 30 by bugdroid1@chromium.org, Mar 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ba607278f124cd99822dda9cde8dfdaecef830a0

commit ba607278f124cd99822dda9cde8dfdaecef830a0
Author: danakj <danakj@chromium.org>
Date: Wed Mar 22 14:56:07 2017

Use SkCanvas::SkCanvas(SkBitmap) instead of going thru SkSurface

I learnt that you can just wrap an SkBitmap with an SkCanvas for cases
like these. SkSurface is a more general thing when your backing may
not be in cpu memory or when you have more complicated SkImageInfo.
For us, it is coming from the SkBitmap which is cpu memory-backed. So
this is simpler code.

R=oshima@chromium.org, pkasting@chromium.org, sadrul@chromium.org
BUG=671433

Review-Url: https://codereview.chromium.org/2764163002
Cr-Commit-Position: refs/heads/master@{#458749}

[modify] https://crrev.com/ba607278f124cd99822dda9cde8dfdaecef830a0/ash/common/accelerators/debug_commands.cc
[modify] https://crrev.com/ba607278f124cd99822dda9cde8dfdaecef830a0/chrome/browser/ui/app_list/extension_app_item.cc
[modify] https://crrev.com/ba607278f124cd99822dda9cde8dfdaecef830a0/chrome/browser/ui/webui/app_launcher_login_handler.cc
[modify] https://crrev.com/ba607278f124cd99822dda9cde8dfdaecef830a0/ui/message_center/message_center_impl_unittest.cc

Project Member

Comment 31 by bugdroid1@chromium.org, Mar 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d0d5714663b6a19befac1ec77ebdb1b4585ae953

commit d0d5714663b6a19befac1ec77ebdb1b4585ae953
Author: danakj <danakj@chromium.org>
Date: Wed Mar 22 21:49:55 2017

Replace Canvas::ExtractImageRep in render_view_context_menu.cc

Instead of using ExtractImageRep to raster a bitmap that is passed
to an ImageSkiaSource for later scaling, we just tell that
ImageSkiaSource to do the circle mask also, avoiding the first
bitmap altogether.

R=pkasting@chromium.org
BUG=671433

Review-Url: https://codereview.chromium.org/2767803003
Cr-Commit-Position: refs/heads/master@{#458885}

[modify] https://crrev.com/d0d5714663b6a19befac1ec77ebdb1b4585ae953/chrome/browser/renderer_context_menu/render_view_context_menu.cc

Project Member

Comment 32 by bugdroid1@chromium.org, Mar 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d0d5714663b6a19befac1ec77ebdb1b4585ae953

commit d0d5714663b6a19befac1ec77ebdb1b4585ae953
Author: danakj <danakj@chromium.org>
Date: Wed Mar 22 21:49:55 2017

Replace Canvas::ExtractImageRep in render_view_context_menu.cc

Instead of using ExtractImageRep to raster a bitmap that is passed
to an ImageSkiaSource for later scaling, we just tell that
ImageSkiaSource to do the circle mask also, avoiding the first
bitmap altogether.

R=pkasting@chromium.org
BUG=671433

Review-Url: https://codereview.chromium.org/2767803003
Cr-Commit-Position: refs/heads/master@{#458885}

[modify] https://crrev.com/d0d5714663b6a19befac1ec77ebdb1b4585ae953/chrome/browser/renderer_context_menu/render_view_context_menu.cc

Project Member

Comment 33 by bugdroid1@chromium.org, Mar 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/226e88f271fb6fc8a47110d440c9e12662edec95

commit 226e88f271fb6fc8a47110d440c9e12662edec95
Author: danakj <danakj@chromium.org>
Date: Wed Mar 22 23:27:38 2017

Remove ExtractImageRep from the browser frame header painting code.

PaintFrameImagesInRoundRect() would use an intermediate bitmap to
images into, then draw that bitmap with a clip and blendmode back
into the original canvas. We can do this instead with SaveLayer.

This adds a SaveLayer variant that takes an arbitrary PaintFlags, to
allow this use case, and uses that instead of generating an extra
bitmap on the CPU.

While here, we improve the readability of this code some by removing
an always-false if condition (isSrcOver) and moving code closer so
that we prove it is always false and stays that way.

R=bsep@chromium.org, pkasting@chromium.org
BUG=671433

Review-Url: https://codereview.chromium.org/2770943002
Cr-Commit-Position: refs/heads/master@{#458929}

[modify] https://crrev.com/226e88f271fb6fc8a47110d440c9e12662edec95/chrome/browser/ui/views/frame/browser_header_painter_ash.cc
[modify] https://crrev.com/226e88f271fb6fc8a47110d440c9e12662edec95/ui/gfx/canvas.cc
[modify] https://crrev.com/226e88f271fb6fc8a47110d440c9e12662edec95/ui/gfx/canvas.h

Project Member

Comment 34 by bugdroid1@chromium.org, Mar 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dffda5006efcf5d473530268ff2da14f43e41cc3

commit dffda5006efcf5d473530268ff2da14f43e41cc3
Author: enne <enne@chromium.org>
Date: Thu Mar 23 20:46:43 2017

Clean up calls to ToSkPicture

In the future, PaintRecord is going to become a real class, and so a
function that takes in a raw PaintRecord* and returns an SkPicture*
doesn't make much sense, as it'll really be an ownership transfer.
Therefore, remove the callers that use the raw pointer version.

ToSkPicture in the future is going to be a playback instead of just
a cast and will not be free.  So, this also cleans up two callsites
that do not have to use drawPicture(ToSkPicture) and could instead use
PaintRecord::playback(SkCanvas*).

However, drawPicture has some optional parameters, but there's only
one callsite that uses it (!!!) so just hoist a single saveLayer call
up and make the PaintCavnas API more clean.  This is baking what
SkAutoCanvasMatrixPaint does in SkCanvas.cpp into that callsite
in PaintGeneratedImage.

BUG=671433
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2769533002
Cr-Commit-Position: refs/heads/master@{#459208}

[modify] https://crrev.com/dffda5006efcf5d473530268ff2da14f43e41cc3/cc/paint/display_item_list.cc
[modify] https://crrev.com/dffda5006efcf5d473530268ff2da14f43e41cc3/cc/paint/paint_canvas.h
[modify] https://crrev.com/dffda5006efcf5d473530268ff2da14f43e41cc3/cc/paint/paint_record.h
[modify] https://crrev.com/dffda5006efcf5d473530268ff2da14f43e41cc3/cc/paint/skia_paint_canvas.cc
[modify] https://crrev.com/dffda5006efcf5d473530268ff2da14f43e41cc3/cc/paint/skia_paint_canvas.h
[modify] https://crrev.com/dffda5006efcf5d473530268ff2da14f43e41cc3/third_party/WebKit/Source/platform/graphics/PaintGeneratedImage.cpp
[modify] https://crrev.com/dffda5006efcf5d473530268ff2da14f43e41cc3/third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItem.cpp

Project Member

Comment 35 by bugdroid1@chromium.org, Mar 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dffda5006efcf5d473530268ff2da14f43e41cc3

commit dffda5006efcf5d473530268ff2da14f43e41cc3
Author: enne <enne@chromium.org>
Date: Thu Mar 23 20:46:43 2017

Clean up calls to ToSkPicture

In the future, PaintRecord is going to become a real class, and so a
function that takes in a raw PaintRecord* and returns an SkPicture*
doesn't make much sense, as it'll really be an ownership transfer.
Therefore, remove the callers that use the raw pointer version.

ToSkPicture in the future is going to be a playback instead of just
a cast and will not be free.  So, this also cleans up two callsites
that do not have to use drawPicture(ToSkPicture) and could instead use
PaintRecord::playback(SkCanvas*).

However, drawPicture has some optional parameters, but there's only
one callsite that uses it (!!!) so just hoist a single saveLayer call
up and make the PaintCavnas API more clean.  This is baking what
SkAutoCanvasMatrixPaint does in SkCanvas.cpp into that callsite
in PaintGeneratedImage.

BUG=671433
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2769533002
Cr-Commit-Position: refs/heads/master@{#459208}

[modify] https://crrev.com/dffda5006efcf5d473530268ff2da14f43e41cc3/cc/paint/display_item_list.cc
[modify] https://crrev.com/dffda5006efcf5d473530268ff2da14f43e41cc3/cc/paint/paint_canvas.h
[modify] https://crrev.com/dffda5006efcf5d473530268ff2da14f43e41cc3/cc/paint/paint_record.h
[modify] https://crrev.com/dffda5006efcf5d473530268ff2da14f43e41cc3/cc/paint/skia_paint_canvas.cc
[modify] https://crrev.com/dffda5006efcf5d473530268ff2da14f43e41cc3/cc/paint/skia_paint_canvas.h
[modify] https://crrev.com/dffda5006efcf5d473530268ff2da14f43e41cc3/third_party/WebKit/Source/platform/graphics/PaintGeneratedImage.cpp
[modify] https://crrev.com/dffda5006efcf5d473530268ff2da14f43e41cc3/third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItem.cpp

Project Member

Comment 36 by bugdroid1@chromium.org, Mar 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dffda5006efcf5d473530268ff2da14f43e41cc3

commit dffda5006efcf5d473530268ff2da14f43e41cc3
Author: enne <enne@chromium.org>
Date: Thu Mar 23 20:46:43 2017

Clean up calls to ToSkPicture

In the future, PaintRecord is going to become a real class, and so a
function that takes in a raw PaintRecord* and returns an SkPicture*
doesn't make much sense, as it'll really be an ownership transfer.
Therefore, remove the callers that use the raw pointer version.

ToSkPicture in the future is going to be a playback instead of just
a cast and will not be free.  So, this also cleans up two callsites
that do not have to use drawPicture(ToSkPicture) and could instead use
PaintRecord::playback(SkCanvas*).

However, drawPicture has some optional parameters, but there's only
one callsite that uses it (!!!) so just hoist a single saveLayer call
up and make the PaintCavnas API more clean.  This is baking what
SkAutoCanvasMatrixPaint does in SkCanvas.cpp into that callsite
in PaintGeneratedImage.

BUG=671433
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2769533002
Cr-Commit-Position: refs/heads/master@{#459208}

[modify] https://crrev.com/dffda5006efcf5d473530268ff2da14f43e41cc3/cc/paint/display_item_list.cc
[modify] https://crrev.com/dffda5006efcf5d473530268ff2da14f43e41cc3/cc/paint/paint_canvas.h
[modify] https://crrev.com/dffda5006efcf5d473530268ff2da14f43e41cc3/cc/paint/paint_record.h
[modify] https://crrev.com/dffda5006efcf5d473530268ff2da14f43e41cc3/cc/paint/skia_paint_canvas.cc
[modify] https://crrev.com/dffda5006efcf5d473530268ff2da14f43e41cc3/cc/paint/skia_paint_canvas.h
[modify] https://crrev.com/dffda5006efcf5d473530268ff2da14f43e41cc3/third_party/WebKit/Source/platform/graphics/PaintGeneratedImage.cpp
[modify] https://crrev.com/dffda5006efcf5d473530268ff2da14f43e41cc3/third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItem.cpp

Project Member

Comment 37 by bugdroid1@chromium.org, Mar 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/23a49518b36200b125fb3e14f450e304668a4fc8

commit 23a49518b36200b125fb3e14f450e304668a4fc8
Author: danakj <danakj@chromium.org>
Date: Thu Mar 23 22:29:46 2017

Use SaveLayerWithFlags to avoid cpu bitmaps in RoundedCornersImageSource

The extention app items want a rounded corner and they do this by
drawing into an intermediate target. We can use gfx::Canvas to
achieve this effect without requiring us to make any bitmaps on
the cpu during paint time.

R=pkasting@chromium.org
BUG=671433

Review-Url: https://codereview.chromium.org/2769203002
Cr-Commit-Position: refs/heads/master@{#459258}

[modify] https://crrev.com/23a49518b36200b125fb3e14f450e304668a4fc8/chrome/browser/ui/app_list/extension_app_item.cc

Project Member

Comment 38 by bugdroid1@chromium.org, Apr 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/df0952b6d946aeddee245b2085acba1a0e7ba654

commit df0952b6d946aeddee245b2085acba1a0e7ba654
Author: danakj <danakj@chromium.org>
Date: Mon Apr 03 18:38:39 2017

Change PowerStatus::GetBatteryImage to not use ExtractImageRep and scale

This changes PowerStatus::GetBatteryImage to take a scale parameter, and
to use GetBitmap() instead of ExtractImageRep() which copies pixels out
of the gfx::Canvas, since it uses a constructor that builds a bitmap.

In order to raster the correct scale, this changes TrayPower to make an
ImageSkiaSource instead of generating a bitmap off a fixed device
scale factor.

In the process, the return type had to change from ImageSkia to
ImageSkiaRep, so rather than updating the dead non-material design
path, I've removed that code.

R=estade@chromium.org, pkasting@chromium.org
BUG=671433, 614453

Review-Url: https://codereview.chromium.org/2774093002
Cr-Commit-Position: refs/heads/master@{#461484}

[modify] https://crrev.com/df0952b6d946aeddee245b2085acba1a0e7ba654/ash/common/system/chromeos/power/power_status.cc
[modify] https://crrev.com/df0952b6d946aeddee245b2085acba1a0e7ba654/ash/common/system/chromeos/power/power_status.h
[modify] https://crrev.com/df0952b6d946aeddee245b2085acba1a0e7ba654/ash/common/system/chromeos/power/power_status_unittest.cc
[modify] https://crrev.com/df0952b6d946aeddee245b2085acba1a0e7ba654/ash/common/system/chromeos/power/power_status_view.cc
[modify] https://crrev.com/df0952b6d946aeddee245b2085acba1a0e7ba654/ash/common/system/chromeos/power/power_status_view.h
[modify] https://crrev.com/df0952b6d946aeddee245b2085acba1a0e7ba654/ash/common/system/chromeos/power/power_status_view_unittest.cc
[modify] https://crrev.com/df0952b6d946aeddee245b2085acba1a0e7ba654/ash/common/system/chromeos/power/tray_power.cc

Project Member

Comment 39 by bugdroid1@chromium.org, Apr 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/06dd2aba57ad74e18fd72861062b3712443045a6

commit 06dd2aba57ad74e18fd72861062b3712443045a6
Author: danakj <danakj@chromium.org>
Date: Tue Apr 04 14:51:55 2017

Remove ExtractImageRep usage in CanvasImageSource.

The CanvasImageSource already makes a gfx::Canvas with a bitmap backing
so it can use GetBitmap to get access to the bitmap and insert that
into a ImageSkiaRep. This also avoids copying the pixels.

R=sadrul@chromium.org
BUG=671433

Review-Url: https://codereview.chromium.org/2796683002
Cr-Commit-Position: refs/heads/master@{#461714}

[modify] https://crrev.com/06dd2aba57ad74e18fd72861062b3712443045a6/ui/gfx/image/canvas_image_source.cc

Project Member

Comment 40 by bugdroid1@chromium.org, Apr 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c374eccb2b3eaafa9a0cd601e66add1556ed99a8

commit c374eccb2b3eaafa9a0cd601e66add1556ed99a8
Author: danakj <danakj@chromium.org>
Date: Tue Apr 04 15:48:39 2017

ui: Remove SkCanvas methods from drag utils.

This changes MenuController to make a gfx::Canvas backed by a bitmap
without needing to malloc() the gfx::Canvas, then makes a
gfx::ImageSkia to give to the drag utils, avoiding the need for
canvas-specific methods.

Because MenuController makes a bitmap-backed gfx::Canvas it knows that
it can call GetBitmap() to pull the bitmap out, and we remove a call
to gfx::Canvas::ExtractImageRep().

R=pkasting@chromium.org,sadrul@chromium.org
BUG=671433

Review-Url: https://codereview.chromium.org/2793133002
Cr-Commit-Position: refs/heads/master@{#461732}

[modify] https://crrev.com/c374eccb2b3eaafa9a0cd601e66add1556ed99a8/ui/base/dragdrop/drag_utils.cc
[modify] https://crrev.com/c374eccb2b3eaafa9a0cd601e66add1556ed99a8/ui/base/dragdrop/drag_utils.h
[modify] https://crrev.com/c374eccb2b3eaafa9a0cd601e66add1556ed99a8/ui/views/controls/menu/menu_controller.cc
[modify] https://crrev.com/c374eccb2b3eaafa9a0cd601e66add1556ed99a8/ui/views/drag_utils.cc
[modify] https://crrev.com/c374eccb2b3eaafa9a0cd601e66add1556ed99a8/ui/views/drag_utils.h

Project Member

Comment 41 by bugdroid1@chromium.org, Apr 5 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/073e4d7067e7af90e5faa0ef4adb19f3e8e4ded4

commit 073e4d7067e7af90e5faa0ef4adb19f3e8e4ded4
Author: danakj <danakj@chromium.org>
Date: Wed Apr 05 16:24:04 2017

ui: Replace a use of ExtractImageRep with a canvas SaveLayer

This changes the code for drawing the tab changed indicator to use
save layer in order to achieve its effect instead of making a CPU
bitmap and drawing from that into the recording canvas. This defers
the work until raster time, so it can be executed more efficiently
(and on the GPU), and removes a use of ExtractImageRep so that it
can go away soon.

BUG=671433

Review-Url: https://codereview.chromium.org/2796153002
Cr-Commit-Position: refs/heads/master@{#462102}

[modify] https://crrev.com/073e4d7067e7af90e5faa0ef4adb19f3e8e4ded4/chrome/browser/ui/views/tabs/tab.cc

Project Member

Comment 42 by bugdroid1@chromium.org, Apr 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/87648f2cf83870acac8d73ea6bb61a5dcf11b921

commit 87648f2cf83870acac8d73ea6bb61a5dcf11b921
Author: danakj <danakj@chromium.org>
Date: Tue Apr 18 16:41:24 2017

ui: Remove use of bitmaps when painting tab backgrounds.

This removes the use of gfx::Canvas::ExtractImageRep() which was being
used for inactive tab backgrounds, to generate two bitmaps and draw
them into the recording canvas when a clip on the second one. Instead,
we just record the commands all directly to the recording canvas, and
insert a save+clip+restore around the commands that were going into
the second bitmap previously.

Because we're no longer using bitmaps, this alleviates the need for
caching and we remove the global tab background-bitmap cache. Also we
collapse all cases in Tab::PaintInactiveTabBackground down to a single
code path with some variables to control the output.

The only change in behaviour due to collapsing code is that when
TabController::MaySetClip() is true we always apply the clip for
inactive tabs, whereas before the clip ould be ignored when a hover
effect or custom fill image was present. This is more correct as
described by pkasting in the CL review comments.

R=pkasting@chromium.org
BUG=671433

Review-Url: https://codereview.chromium.org/2803583003
Cr-Commit-Position: refs/heads/master@{#465266}

[modify] https://crrev.com/87648f2cf83870acac8d73ea6bb61a5dcf11b921/chrome/browser/ui/views/tabs/tab.cc
[modify] https://crrev.com/87648f2cf83870acac8d73ea6bb61a5dcf11b921/chrome/browser/ui/views/tabs/tab.h

Project Member

Comment 43 by bugdroid1@chromium.org, Apr 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/87648f2cf83870acac8d73ea6bb61a5dcf11b921

commit 87648f2cf83870acac8d73ea6bb61a5dcf11b921
Author: danakj <danakj@chromium.org>
Date: Tue Apr 18 16:41:24 2017

ui: Remove use of bitmaps when painting tab backgrounds.

This removes the use of gfx::Canvas::ExtractImageRep() which was being
used for inactive tab backgrounds, to generate two bitmaps and draw
them into the recording canvas when a clip on the second one. Instead,
we just record the commands all directly to the recording canvas, and
insert a save+clip+restore around the commands that were going into
the second bitmap previously.

Because we're no longer using bitmaps, this alleviates the need for
caching and we remove the global tab background-bitmap cache. Also we
collapse all cases in Tab::PaintInactiveTabBackground down to a single
code path with some variables to control the output.

The only change in behaviour due to collapsing code is that when
TabController::MaySetClip() is true we always apply the clip for
inactive tabs, whereas before the clip ould be ignored when a hover
effect or custom fill image was present. This is more correct as
described by pkasting in the CL review comments.

R=pkasting@chromium.org
BUG=671433

Review-Url: https://codereview.chromium.org/2803583003
Cr-Commit-Position: refs/heads/master@{#465266}

[modify] https://crrev.com/87648f2cf83870acac8d73ea6bb61a5dcf11b921/chrome/browser/ui/views/tabs/tab.cc
[modify] https://crrev.com/87648f2cf83870acac8d73ea6bb61a5dcf11b921/chrome/browser/ui/views/tabs/tab.h

Project Member

Comment 44 by bugdroid1@chromium.org, Apr 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/166e5eede3378cc08466dae28da82845393ee2a6

commit 166e5eede3378cc08466dae28da82845393ee2a6
Author: danakj <danakj@chromium.org>
Date: Tue Apr 18 19:18:49 2017

gfx: Remove Canvas::ExtractImageRep.

This method does a pixel copy which is expensive and unnesseary for
recording. There are no callers of this method left so we can remove
it.

R=pkasting@chromium.org
BUG=671433

Review-Url: https://codereview.chromium.org/2822233003
Cr-Commit-Position: refs/heads/master@{#465321}

[modify] https://crrev.com/166e5eede3378cc08466dae28da82845393ee2a6/ui/gfx/canvas.cc
[modify] https://crrev.com/166e5eede3378cc08466dae28da82845393ee2a6/ui/gfx/canvas.h

Project Member

Comment 45 by bugdroid1@chromium.org, Apr 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/952bde5d7daf1e3627e116ce6f2ed770ef0a4913

commit 952bde5d7daf1e3627e116ce6f2ed770ef0a4913
Author: danakj <danakj@chromium.org>
Date: Tue Apr 18 19:21:10 2017

views: Remove the canvas bounds from View traces.

These traces include getBaseLayerSize for the recording canvas which
would have made more sense when they were added as that represented
the area being rastered. As we are now recording instead, these bounds
do not really exist except for the purpose of tracing here, so just
remove them from the trace events.

They were added in https://codereview.chromium.org/8440008/ which is
sparse in its explanations, but I can only assume was tracking down
some bad performance. We keep the traces so that they show time
distribution still, but the bounds are no longer very interesting
and have no relation to the time spent anyhow.

R=sky@chromium.org
BUG=671433

Review-Url: https://codereview.chromium.org/2825783002
Cr-Commit-Position: refs/heads/master@{#465323}

[modify] https://crrev.com/952bde5d7daf1e3627e116ce6f2ed770ef0a4913/ui/views/view.cc

Project Member

Comment 46 by bugdroid1@chromium.org, Apr 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/eb2c3bd20976ffebd0b1610bb53e7cf78252796f

commit eb2c3bd20976ffebd0b1610bb53e7cf78252796f
Author: danakj <danakj@chromium.org>
Date: Tue Apr 18 21:19:24 2017

Replace getBaseLayerSize() with the size passed to DrawingRecorder.

The size passed to DrawingRecorder goes to SkPictureRecorder which
goes to SkRecorder::reset() which goes to the canvas' device to set
width and height that are returned from getBaseLayerSize(). Instead
of this incredible journey, just use the size directly.

R=pdr@chromium.org
BUG=671433

Review-Url: https://codereview.chromium.org/2824263002
Cr-Commit-Position: refs/heads/master@{#465376}

[modify] https://crrev.com/eb2c3bd20976ffebd0b1610bb53e7cf78252796f/third_party/WebKit/Source/platform/scroll/ScrollbarThemeOverlay.cpp

Project Member

Comment 47 by bugdroid1@chromium.org, Apr 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/efa3999f76e822cc9580cace498f3f778206a9dc

commit efa3999f76e822cc9580cace498f3f778206a9dc
Author: danakj <danakj@chromium.org>
Date: Tue Apr 18 23:36:02 2017

Remove PaintCanvas::getBaseLayerSize.

The method is now unused.

R=enne@chromium.org
BUG=671433
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2823253004
Cr-Commit-Position: refs/heads/master@{#465423}

[modify] https://crrev.com/efa3999f76e822cc9580cace498f3f778206a9dc/cc/paint/paint_canvas.h
[modify] https://crrev.com/efa3999f76e822cc9580cace498f3f778206a9dc/cc/paint/skia_paint_canvas.cc
[modify] https://crrev.com/efa3999f76e822cc9580cace498f3f778206a9dc/cc/paint/skia_paint_canvas.h

Project Member

Comment 48 by bugdroid1@chromium.org, Apr 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/45438484dd3e094951bfbdad9ebd6687933c7840

commit 45438484dd3e094951bfbdad9ebd6687933c7840
Author: findit-for-me <findit-for-me@appspot.gserviceaccount.com>
Date: Tue Apr 18 23:58:08 2017

Revert of Remove PaintCanvas::getBaseLayerSize. (patchset #1 id:1 of https://codereview.chromium.org/2823253004/ )

Reason for revert:

Findit(https://goo.gl/kROfz5) identified CL at revision 465423 as the
culprit for failures in the build cycles as shown on:
https://findit-for-me.appspot.com/waterfall/culprit?key=ag9zfmZpbmRpdC1mb3ItbWVyRAsSDVdmU3VzcGVjdGVkQ0wiMWNocm9taXVtL2VmYTM5OTlmNzZlODIyY2M5NTgwY2FjZTQ5OGYzZjc3ODIwNmE5ZGMM

Original issue's description:
> Remove PaintCanvas::getBaseLayerSize.
>
> The method is now unused.
>
> R=enne@chromium.org
> BUG=671433
> CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel
>
> Review-Url: https://codereview.chromium.org/2823253004
> Cr-Commit-Position: refs/heads/master@{#465423}
> Committed: https://chromium.googlesource.com/chromium/src/+/efa3999f76e822cc9580cace498f3f778206a9dc

TBR=enne@chromium.org,danakj@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=671433

Review-Url: https://codereview.chromium.org/2820273004
Cr-Commit-Position: refs/heads/master@{#465427}

[modify] https://crrev.com/45438484dd3e094951bfbdad9ebd6687933c7840/cc/paint/paint_canvas.h
[modify] https://crrev.com/45438484dd3e094951bfbdad9ebd6687933c7840/cc/paint/skia_paint_canvas.cc
[modify] https://crrev.com/45438484dd3e094951bfbdad9ebd6687933c7840/cc/paint/skia_paint_canvas.h

Project Member

Comment 50 by bugdroid1@chromium.org, Apr 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/78d3417426eb692c7c73765fdb7e507a18a37a55

commit 78d3417426eb692c7c73765fdb7e507a18a37a55
Author: Adrienne Walker <enne@chromium.org>
Date: Wed Apr 19 22:41:00 2017

Remove unused direct raster GraphicsContextCanvas mode

This class is only used with recording canvases.  The only users of
the class are ScrollbarThemePainterMac, ThemeMac, and ThemePaintMac.
The ScrollbarThemePainter does eventually raster into a bitmap
but goes through WebScrollbarThemePainter which indirects into
a recording which then plays back into the original raster canvas.
The other two theme painters are only used in recording and never
for direct raster.

This patch cleans up GraphicsContextCanvas to always assume that
it is recording, and removes unused paths.

This removes the only user of PaintCanvas::ToPixmap during
recording.

CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Bug: 671433
Change-Id: Iab05519b04de544b87e6f006e3f463bbfe3fef91
Reviewed-on: https://chromium-review.googlesource.com/468348
Reviewed-by: Philip Rogers <pdr@chromium.org>
Commit-Queue: enne <enne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#465789}
[modify] https://crrev.com/78d3417426eb692c7c73765fdb7e507a18a37a55/third_party/WebKit/LayoutTests/platform/mac/fast/dom/HTMLProgressElement/progress-element-expected.png
[modify] https://crrev.com/78d3417426eb692c7c73765fdb7e507a18a37a55/third_party/WebKit/Source/core/paint/ThemePainterMac.mm
[modify] https://crrev.com/78d3417426eb692c7c73765fdb7e507a18a37a55/third_party/WebKit/Source/platform/mac/GraphicsContextCanvas.h
[modify] https://crrev.com/78d3417426eb692c7c73765fdb7e507a18a37a55/third_party/WebKit/Source/platform/mac/GraphicsContextCanvas.mm

Project Member

Comment 51 by bugdroid1@chromium.org, Apr 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/78d3417426eb692c7c73765fdb7e507a18a37a55

commit 78d3417426eb692c7c73765fdb7e507a18a37a55
Author: Adrienne Walker <enne@chromium.org>
Date: Wed Apr 19 22:41:00 2017

Remove unused direct raster GraphicsContextCanvas mode

This class is only used with recording canvases.  The only users of
the class are ScrollbarThemePainterMac, ThemeMac, and ThemePaintMac.
The ScrollbarThemePainter does eventually raster into a bitmap
but goes through WebScrollbarThemePainter which indirects into
a recording which then plays back into the original raster canvas.
The other two theme painters are only used in recording and never
for direct raster.

This patch cleans up GraphicsContextCanvas to always assume that
it is recording, and removes unused paths.

This removes the only user of PaintCanvas::ToPixmap during
recording.

CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Bug: 671433
Change-Id: Iab05519b04de544b87e6f006e3f463bbfe3fef91
Reviewed-on: https://chromium-review.googlesource.com/468348
Reviewed-by: Philip Rogers <pdr@chromium.org>
Commit-Queue: enne <enne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#465789}
[modify] https://crrev.com/78d3417426eb692c7c73765fdb7e507a18a37a55/third_party/WebKit/LayoutTests/platform/mac/fast/dom/HTMLProgressElement/progress-element-expected.png
[modify] https://crrev.com/78d3417426eb692c7c73765fdb7e507a18a37a55/third_party/WebKit/Source/core/paint/ThemePainterMac.mm
[modify] https://crrev.com/78d3417426eb692c7c73765fdb7e507a18a37a55/third_party/WebKit/Source/platform/mac/GraphicsContextCanvas.h
[modify] https://crrev.com/78d3417426eb692c7c73765fdb7e507a18a37a55/third_party/WebKit/Source/platform/mac/GraphicsContextCanvas.mm

Project Member

Comment 52 by bugdroid1@chromium.org, Apr 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6527e1ef5c38b22789f94f5ae4c763031f5932f7

commit 6527e1ef5c38b22789f94f5ae4c763031f5932f7
Author: danakj <danakj@chromium.org>
Date: Wed Apr 19 23:23:36 2017

Remove PaintCanvas::writePixels

This method doesn't make a lot of sense when building a recording, and
it is not used for recordings for that reason. This changes callers of
it to call it on the SkSurface's SkCanvas directly instead by moving the
calls into Un/AcceleratedImageBufferSurface.

BUG=671433
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2822263004
Cr-Commit-Position: refs/heads/master@{#465805}

[modify] https://crrev.com/6527e1ef5c38b22789f94f5ae4c763031f5932f7/cc/paint/paint_canvas.h
[modify] https://crrev.com/6527e1ef5c38b22789f94f5ae4c763031f5932f7/cc/paint/skia_paint_canvas.cc
[modify] https://crrev.com/6527e1ef5c38b22789f94f5ae4c763031f5932f7/cc/paint/skia_paint_canvas.h
[modify] https://crrev.com/6527e1ef5c38b22789f94f5ae4c763031f5932f7/third_party/WebKit/Source/platform/graphics/ImageBufferSurface.cpp
[modify] https://crrev.com/6527e1ef5c38b22789f94f5ae4c763031f5932f7/third_party/WebKit/Source/platform/graphics/ImageBufferSurface.h
[modify] https://crrev.com/6527e1ef5c38b22789f94f5ae4c763031f5932f7/third_party/WebKit/Source/platform/graphics/UnacceleratedImageBufferSurface.cpp
[modify] https://crrev.com/6527e1ef5c38b22789f94f5ae4c763031f5932f7/third_party/WebKit/Source/platform/graphics/UnacceleratedImageBufferSurface.h
[modify] https://crrev.com/6527e1ef5c38b22789f94f5ae4c763031f5932f7/third_party/WebKit/Source/platform/graphics/gpu/AcceleratedImageBufferSurface.cpp
[modify] https://crrev.com/6527e1ef5c38b22789f94f5ae4c763031f5932f7/third_party/WebKit/Source/platform/graphics/gpu/AcceleratedImageBufferSurface.h

Project Member

Comment 53 by bugdroid1@chromium.org, Apr 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a1e76149af1dd90ce83961339f8b7a225c27f454

commit a1e76149af1dd90ce83961339f8b7a225c27f454
Author: Adrienne Walker <enne@chromium.org>
Date: Thu Apr 20 03:00:13 2017

Remove unused PaintCanvas::ToPixmap

Bug: 671433
Change-Id: I084264d1a586d4e67a05762286576d5900fe19f3

CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Change-Id: I084264d1a586d4e67a05762286576d5900fe19f3
Reviewed-on: https://chromium-review.googlesource.com/482444
Reviewed-by: Philip Rogers <pdr@chromium.org>
Commit-Queue: enne <enne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#465875}
[modify] https://crrev.com/a1e76149af1dd90ce83961339f8b7a225c27f454/cc/paint/paint_canvas.cc
[modify] https://crrev.com/a1e76149af1dd90ce83961339f8b7a225c27f454/cc/paint/paint_canvas.h
[modify] https://crrev.com/a1e76149af1dd90ce83961339f8b7a225c27f454/cc/paint/skia_paint_canvas.cc
[modify] https://crrev.com/a1e76149af1dd90ce83961339f8b7a225c27f454/cc/paint/skia_paint_canvas.h
[modify] https://crrev.com/a1e76149af1dd90ce83961339f8b7a225c27f454/third_party/WebKit/Source/platform/graphics/paint/PaintCanvas.h

Project Member

Comment 54 by bugdroid1@chromium.org, Apr 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a07bd8034e0ebf854efb8cd80eb7d543d7b8b228

commit a07bd8034e0ebf854efb8cd80eb7d543d7b8b228
Author: danakj <danakj@chromium.org>
Date: Fri Apr 21 18:36:04 2017

Remove unneeded abstractions and simplify RecordingImageBufferSurface

This is a set of misc cleanups I found while rearranging code around
RecordingImageBufferSurface in order to remove
PaintCanvas::writePixels.

- Replaces WrapUnique with MakeUnique.
- Removes the unneeded factory abstraction, since all instances of it
make an UnacceleratedImageBufferSurface.
- Removes unneeded friend relationship from RecordingImageBufferSurface
to its unit tests.
- Change tests to check IsRecording() instead of peeking internals or
checking if the factory was used. IsRecording() is true if we did not
fall back to UnacceleratedImageBufferSurface and false otherwise,
which is what the tests want to know.
- Use IntRect::Contains instead of writing that with comparisons.
- Remove "ForTesting" from a class name defined in tests, its also
redundant with the Fake prefix that is already present.
- Some capitalization/punctuation for comments.

R=pdr@chromium.org, xlai@chromium.org
BUG=671433

Review-Url: https://codereview.chromium.org/2833593002
Cr-Commit-Position: refs/heads/master@{#466397}

[modify] https://crrev.com/a07bd8034e0ebf854efb8cd80eb7d543d7b8b228/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
[modify] https://crrev.com/a07bd8034e0ebf854efb8cd80eb7d543d7b8b228/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DTest.cpp
[modify] https://crrev.com/a07bd8034e0ebf854efb8cd80eb7d543d7b8b228/third_party/WebKit/Source/modules/csspaint/CSSPaintDefinition.cpp
[modify] https://crrev.com/a07bd8034e0ebf854efb8cd80eb7d543d7b8b228/third_party/WebKit/Source/platform/graphics/ImageBuffer.cpp
[modify] https://crrev.com/a07bd8034e0ebf854efb8cd80eb7d543d7b8b228/third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurface.cpp
[modify] https://crrev.com/a07bd8034e0ebf854efb8cd80eb7d543d7b8b228/third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurface.h
[modify] https://crrev.com/a07bd8034e0ebf854efb8cd80eb7d543d7b8b228/third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurfaceTest.cpp

Project Member

Comment 55 by bugdroid1@chromium.org, Apr 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a07bd8034e0ebf854efb8cd80eb7d543d7b8b228

commit a07bd8034e0ebf854efb8cd80eb7d543d7b8b228
Author: danakj <danakj@chromium.org>
Date: Fri Apr 21 18:36:04 2017

Remove unneeded abstractions and simplify RecordingImageBufferSurface

This is a set of misc cleanups I found while rearranging code around
RecordingImageBufferSurface in order to remove
PaintCanvas::writePixels.

- Replaces WrapUnique with MakeUnique.
- Removes the unneeded factory abstraction, since all instances of it
make an UnacceleratedImageBufferSurface.
- Removes unneeded friend relationship from RecordingImageBufferSurface
to its unit tests.
- Change tests to check IsRecording() instead of peeking internals or
checking if the factory was used. IsRecording() is true if we did not
fall back to UnacceleratedImageBufferSurface and false otherwise,
which is what the tests want to know.
- Use IntRect::Contains instead of writing that with comparisons.
- Remove "ForTesting" from a class name defined in tests, its also
redundant with the Fake prefix that is already present.
- Some capitalization/punctuation for comments.

R=pdr@chromium.org, xlai@chromium.org
BUG=671433

Review-Url: https://codereview.chromium.org/2833593002
Cr-Commit-Position: refs/heads/master@{#466397}

[modify] https://crrev.com/a07bd8034e0ebf854efb8cd80eb7d543d7b8b228/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
[modify] https://crrev.com/a07bd8034e0ebf854efb8cd80eb7d543d7b8b228/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DTest.cpp
[modify] https://crrev.com/a07bd8034e0ebf854efb8cd80eb7d543d7b8b228/third_party/WebKit/Source/modules/csspaint/CSSPaintDefinition.cpp
[modify] https://crrev.com/a07bd8034e0ebf854efb8cd80eb7d543d7b8b228/third_party/WebKit/Source/platform/graphics/ImageBuffer.cpp
[modify] https://crrev.com/a07bd8034e0ebf854efb8cd80eb7d543d7b8b228/third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurface.cpp
[modify] https://crrev.com/a07bd8034e0ebf854efb8cd80eb7d543d7b8b228/third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurface.h
[modify] https://crrev.com/a07bd8034e0ebf854efb8cd80eb7d543d7b8b228/third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurfaceTest.cpp

Project Member

Comment 56 by bugdroid1@chromium.org, Apr 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/37e6e9d2d2685dc9a6382349bd06a21837663ed2

commit 37e6e9d2d2685dc9a6382349bd06a21837663ed2
Author: danakj <danakj@chromium.org>
Date: Fri Apr 28 02:17:00 2017

Allow RecordingImageBufferSurface to prevent fallback.

When it will only be used for a single frame, there is no need to
fallback for complex frames. This restores behaviour for CSSPaint
module to before https://codereview.chromium.org/2833593002/.

R=ikilpatrick@chromium.org, pdr@chromium.org
TBR=senorblanco
BUG=671433

Review-Url: https://codereview.chromium.org/2840093002
Cr-Commit-Position: refs/heads/master@{#467845}

[modify] https://crrev.com/37e6e9d2d2685dc9a6382349bd06a21837663ed2/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
[modify] https://crrev.com/37e6e9d2d2685dc9a6382349bd06a21837663ed2/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DTest.cpp
[modify] https://crrev.com/37e6e9d2d2685dc9a6382349bd06a21837663ed2/third_party/WebKit/Source/modules/csspaint/CSSPaintDefinition.cpp
[modify] https://crrev.com/37e6e9d2d2685dc9a6382349bd06a21837663ed2/third_party/WebKit/Source/platform/graphics/ImageBuffer.cpp
[modify] https://crrev.com/37e6e9d2d2685dc9a6382349bd06a21837663ed2/third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurface.cpp
[modify] https://crrev.com/37e6e9d2d2685dc9a6382349bd06a21837663ed2/third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurface.h
[modify] https://crrev.com/37e6e9d2d2685dc9a6382349bd06a21837663ed2/third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurfaceTest.cpp

Project Member

Comment 57 by bugdroid1@chromium.org, May 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/954ca39066bbc77ca7c653c76a02467644c601d2

commit 954ca39066bbc77ca7c653c76a02467644c601d2
Author: danakj <danakj@chromium.org>
Date: Wed May 03 21:08:40 2017

cc: Reduce the size of PaintOpBuffer.

Step 1:
Moves the non-type-dependent code out of push_internal to a helper
method.

Step 2:
Moves PaintFlags up to a base PaintOpWithFlags class.
Makes FooPaintOp::Raster static.
Moves the non-type-dependant code out of PaintWithAlpha templates (with
a function pointer to FooPaintOp::Raster)
Removes the Rasterizer::Raster template methods, and the RasterFunction
lambdas, replacing them with function pointers to FooPaintOp::Raster
directly.

These changes reduce MonochromePublic.apk from 82,050,524 bytes to
82,042,332 bytes. Before PaintOpBuffer the apk was at 82,034,124 bytes,
so this reduces the binary by 50% of the original growth.

R=enne@chromium.org
BUG=716393, 671433
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2849563005
Cr-Commit-Position: refs/heads/master@{#469121}

[modify] https://crrev.com/954ca39066bbc77ca7c653c76a02467644c601d2/cc/paint/paint_op_buffer.cc
[modify] https://crrev.com/954ca39066bbc77ca7c653c76a02467644c601d2/cc/paint/paint_op_buffer.h

Project Member

Comment 58 by bugdroid1@chromium.org, May 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b23e560b60dd28c2f6dae3093c47d665e5551d3e

commit b23e560b60dd28c2f6dae3093c47d665e5551d3e
Author: danakj <danakj@chromium.org>
Date: Sat May 13 00:58:23 2017

Clip the RecordPaintCanvas initially to the floating-point bounds.

Instead of clipping to a rounded out integer-bounds, keep the floating-
point bounds initially given to the canvas and clip based on those.

R=enne@chromium.org

Bug: 671433
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I77b10d928acbf41e4ffc27094b177c71f60f1264
Reviewed-on: https://chromium-review.googlesource.com/505247
Commit-Queue: danakj <danakj@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#471515}
[modify] https://crrev.com/b23e560b60dd28c2f6dae3093c47d665e5551d3e/cc/paint/record_paint_canvas.cc

Project Member

Comment 59 by bugdroid1@chromium.org, May 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c5f1b6126a7657234b9abc0c4359cbab45850b69

commit c5f1b6126a7657234b9abc0c4359cbab45850b69
Author: danakj <danakj@chromium.org>
Date: Thu May 18 20:38:30 2017

Remove cullRect() from PaintOpBuffer.

Pass it directly to RecordPaintCanvas and ToSkPicture, and other skia
methods which is where it is used.

This allows us to more easily get rid of cc::DisplayItem and its
subclasses, replacing them with a PaintOpBuffer in DisplayItemList
directly instead. The difficulty I faced with that was that if
DisplayItemList has a single PaintOpBuffer, then it has a single
cull rect. However when painting, each "batch" of PaintOps can
have a different cull rect (corresponding to the PaintOps that
would have been in a single DisplayItem before). So, instead the
cull rect should be a property of recording at the
RecordPaintCanvas level, which is a temporary object. As such,
creators of cc::RecordPaintCanvas (mostly thru cc::PaintRecorder)
need to manage the cull rect themselves to pass to things that
want to use it with the cc::PaintOpBuffer (aka cc::PaintRecord at
this time).

Original code review was done on gerrit:
https://chromium-review.googlesource.com/c/503472

R=chrishtr@chromium.org, enne@chromium.org, pdr@chromium.org
BUG=671433, 646010
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2889653002 .
Cr-Commit-Position: refs/heads/master@{#472917}

[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/cc/blink/web_display_item_list_impl.cc
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/cc/blink/web_display_item_list_impl.h
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/cc/layers/picture_image_layer.cc
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/cc/paint/discardable_image_map_unittest.cc
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/cc/paint/display_item_list.cc
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/cc/paint/display_item_list_unittest.cc
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/cc/paint/drawing_display_item.cc
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/cc/paint/drawing_display_item.h
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/cc/paint/paint_op_buffer.cc
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/cc/paint/paint_op_buffer.h
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/cc/paint/paint_op_buffer_unittest.cc
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/cc/paint/paint_record.cc
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/cc/paint/paint_record.h
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/cc/paint/paint_recorder.cc
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/cc/paint/paint_shader.h
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/cc/paint/record_paint_canvas.cc
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/cc/paint/record_paint_canvas.h
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/cc/test/fake_content_layer_client.cc
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/cc/test/solid_color_content_layer_client.cc
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/cc/trees/layer_tree_host_pixeltest_masks.cc
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/cc/trees/layer_tree_host_pixeltest_tiles.cc
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/core/inspector/InspectorLayerTreeAgent.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourcePattern.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourcePattern.h
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/core/paint/BoxReflectionUtils.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/core/paint/ClipPathClipper.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/core/paint/InlineTextBoxPainter.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/core/paint/LayoutObjectDrawingRecorderTest.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/core/paint/SVGFilterPainter.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/core/paint/SVGInlineTextBoxPainterTest.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/core/svg/graphics/SVGImage.h
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/core/svg/graphics/filters/SVGFEImage.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/platform/graphics/BoxReflection.h
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/platform/graphics/GeneratedImage.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/platform/graphics/GraphicsContext.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/platform/graphics/Image.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/platform/graphics/LoggingCanvas.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/platform/graphics/LoggingCanvas.h
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/platform/graphics/PaintGeneratedImage.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/platform/graphics/PaintRecordPattern.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/platform/graphics/PaintRecordPattern.h
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/platform/graphics/Pattern.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/platform/graphics/Pattern.h
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/platform/graphics/PlaceholderImage.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/platform/graphics/compositing/PaintChunksToCcLayer.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/platform/graphics/filters/SkiaImageFilterBuilder.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/platform/graphics/filters/SkiaImageFilterBuilder.h
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/platform/graphics/paint/DisplayItemList.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/platform/graphics/paint/DisplayItemListTest.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItem.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItem.h
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/platform/graphics/paint/DrawingRecorder.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/platform/graphics/paint/DrawingRecorder.h
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/platform/graphics/paint/PaintArtifact.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/platform/graphics/paint/PaintController.h
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/platform/testing/TestPaintArtifact.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/web/LinkHighlightImpl.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/web/tests/FrameThrottlingTest.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/web/tests/sim/SimDisplayItemList.cpp
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/Source/web/tests/sim/SimDisplayItemList.h
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/third_party/WebKit/public/platform/WebDisplayItemList.h
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/ui/compositor/paint_recorder.cc
[modify] https://crrev.com/c5f1b6126a7657234b9abc0c4359cbab45850b69/ui/compositor/paint_recorder.h

Project Member

Comment 60 by bugdroid1@chromium.org, May 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9

commit ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9
Author: treib <treib@chromium.org>
Date: Fri May 19 12:05:55 2017

Revert of Remove cullRect() from PaintOpBuffer. (patchset #6 id:100001 of https://codereview.chromium.org/2889653002/ )

Reason for revert:
Seems to have introduced a use-of-uninitialized-value, making lots of tests
fail on MSan bots:
https://uberchromegw.corp.google.com/i/chromium.memory/builders/Linux%20MSan%20Tests
https://uberchromegw.corp.google.com/i/chromium.memory/builders/Linux%20ChromiumOS%20MSan%20Tests

Original issue's description:
> Remove cullRect() from PaintOpBuffer.
>
> Pass it directly to RecordPaintCanvas and ToSkPicture, and other skia
> methods which is where it is used.
>
> This allows us to more easily get rid of cc::DisplayItem and its
> subclasses, replacing them with a PaintOpBuffer in DisplayItemList
> directly instead. The difficulty I faced with that was that if
> DisplayItemList has a single PaintOpBuffer, then it has a single
> cull rect. However when painting, each "batch" of PaintOps can
> have a different cull rect (corresponding to the PaintOps that
> would have been in a single DisplayItem before). So, instead the
> cull rect should be a property of recording at the
> RecordPaintCanvas level, which is a temporary object. As such,
> creators of cc::RecordPaintCanvas (mostly thru cc::PaintRecorder)
> need to manage the cull rect themselves to pass to things that
> want to use it with the cc::PaintOpBuffer (aka cc::PaintRecord at
> this time).
>
> Original code review was done on gerrit:
> https://chromium-review.googlesource.com/c/503472
>
> R=chrishtr@chromium.org, enne@chromium.org, pdr@chromium.org
> BUG=671433, 646010
> CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
>
> Review-Url: https://codereview.chromium.org/2889653002 .
> Cr-Commit-Position: refs/heads/master@{#472917}
> Committed: https://chromium.googlesource.com/chromium/src/+/c5f1b6126a7657234b9abc0c4359cbab45850b69

TBR=chrishtr@chromium.org,enne@chromium.org,pdr@chromium.org,danakj@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=671433, 646010
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2894843002
Cr-Commit-Position: refs/heads/master@{#473164}

[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/cc/blink/web_display_item_list_impl.cc
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/cc/blink/web_display_item_list_impl.h
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/cc/layers/picture_image_layer.cc
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/cc/paint/discardable_image_map_unittest.cc
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/cc/paint/display_item_list.cc
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/cc/paint/display_item_list_unittest.cc
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/cc/paint/drawing_display_item.cc
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/cc/paint/drawing_display_item.h
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/cc/paint/paint_op_buffer.cc
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/cc/paint/paint_op_buffer.h
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/cc/paint/paint_op_buffer_unittest.cc
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/cc/paint/paint_record.cc
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/cc/paint/paint_record.h
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/cc/paint/paint_recorder.cc
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/cc/paint/paint_shader.h
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/cc/paint/record_paint_canvas.cc
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/cc/paint/record_paint_canvas.h
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/cc/test/fake_content_layer_client.cc
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/cc/test/solid_color_content_layer_client.cc
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/cc/trees/layer_tree_host_pixeltest_masks.cc
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/cc/trees/layer_tree_host_pixeltest_tiles.cc
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/core/inspector/InspectorLayerTreeAgent.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourcePattern.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourcePattern.h
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/core/paint/BoxReflectionUtils.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/core/paint/ClipPathClipper.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/core/paint/InlineTextBoxPainter.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/core/paint/LayoutObjectDrawingRecorderTest.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/core/paint/SVGFilterPainter.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/core/paint/SVGInlineTextBoxPainterTest.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/core/svg/graphics/SVGImage.h
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/core/svg/graphics/filters/SVGFEImage.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/platform/graphics/BoxReflection.h
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/platform/graphics/GeneratedImage.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/platform/graphics/GraphicsContext.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/platform/graphics/Image.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/platform/graphics/LoggingCanvas.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/platform/graphics/LoggingCanvas.h
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/platform/graphics/PaintGeneratedImage.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/platform/graphics/PaintRecordPattern.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/platform/graphics/PaintRecordPattern.h
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/platform/graphics/Pattern.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/platform/graphics/Pattern.h
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/platform/graphics/PlaceholderImage.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/platform/graphics/compositing/PaintChunksToCcLayer.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/platform/graphics/filters/SkiaImageFilterBuilder.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/platform/graphics/filters/SkiaImageFilterBuilder.h
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/platform/graphics/paint/DisplayItemList.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/platform/graphics/paint/DisplayItemListTest.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItem.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItem.h
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/platform/graphics/paint/DrawingRecorder.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/platform/graphics/paint/DrawingRecorder.h
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/platform/graphics/paint/PaintArtifact.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/platform/graphics/paint/PaintController.h
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/platform/testing/TestPaintArtifact.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/web/LinkHighlightImpl.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/web/tests/FrameThrottlingTest.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/web/tests/sim/SimDisplayItemList.cpp
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/Source/web/tests/sim/SimDisplayItemList.h
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/third_party/WebKit/public/platform/WebDisplayItemList.h
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/ui/compositor/paint_recorder.cc
[modify] https://crrev.com/ba67e74fd455e9f581c1cffc503a2ad10e4e5fa9/ui/compositor/paint_recorder.h

Project Member

Comment 61 by bugdroid1@chromium.org, May 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/29ef12086e6ac7eb83677e7730df00fda5c6af9b

commit 29ef12086e6ac7eb83677e7730df00fda5c6af9b
Author: danakj <danakj@chromium.org>
Date: Tue May 23 18:06:31 2017

Remove cullRect() from PaintOpBuffer.

Pass it directly to RecordPaintCanvas and ToSkPicture, and other skia
methods which is where it is used.

This allows us to more easily get rid of cc::DisplayItem and its
subclasses, replacing them with a PaintOpBuffer in DisplayItemList
directly instead. The difficulty I faced with that was that if
DisplayItemList has a single PaintOpBuffer, then it has a single
cull rect. However when painting, each "batch" of PaintOps can
have a different cull rect (corresponding to the PaintOps that
would have been in a single DisplayItem before). So, instead the
cull rect should be a property of recording at the
RecordPaintCanvas level, which is a temporary object. As such,
creators of cc::RecordPaintCanvas (mostly thru cc::PaintRecorder)
need to manage the cull rect themselves to pass to things that
want to use it with the cc::PaintOpBuffer (aka cc::PaintRecord at
this time).

Original code review was done on gerrit:
https://chromium-review.googlesource.com/c/503472

R=chrishtr@chromium.org, enne@chromium.org, pdr@chromium.org
BUG=671433, 646010, 724367
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2889653002 .
Cr-Original-Commit-Position: refs/heads/master@{#472917}
Committed: https://chromium.googlesource.com/chromium/src/+/c5f1b6126a7657234b9abc0c4359cbab45850b69
Review-Url: https://codereview.chromium.org/2889653002
Cr-Commit-Position: refs/heads/master@{#473975}

[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/cc/blink/web_display_item_list_impl.cc
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/cc/blink/web_display_item_list_impl.h
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/cc/layers/picture_image_layer.cc
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/cc/paint/discardable_image_map_unittest.cc
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/cc/paint/display_item_list.cc
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/cc/paint/display_item_list_unittest.cc
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/cc/paint/drawing_display_item.cc
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/cc/paint/drawing_display_item.h
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/cc/paint/paint_op_buffer.cc
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/cc/paint/paint_op_buffer.h
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/cc/paint/paint_op_buffer_unittest.cc
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/cc/paint/paint_record.cc
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/cc/paint/paint_record.h
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/cc/paint/paint_recorder.cc
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/cc/paint/paint_shader.h
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/cc/paint/record_paint_canvas.cc
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/cc/paint/record_paint_canvas.h
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/cc/test/fake_content_layer_client.cc
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/cc/test/solid_color_content_layer_client.cc
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/cc/trees/layer_tree_host_pixeltest_masks.cc
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/cc/trees/layer_tree_host_pixeltest_tiles.cc
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/core/inspector/InspectorLayerTreeAgent.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourcePattern.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/core/layout/svg/LayoutSVGResourcePattern.h
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/core/paint/BoxReflectionUtils.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/core/paint/ClipPathClipper.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/core/paint/InlineTextBoxPainter.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/core/paint/LayoutObjectDrawingRecorderTest.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/core/paint/SVGFilterPainter.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/core/paint/SVGInlineTextBoxPainterTest.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/core/svg/graphics/SVGImage.h
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/core/svg/graphics/filters/SVGFEImage.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/platform/graphics/BoxReflection.h
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/platform/graphics/GeneratedImage.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/platform/graphics/GraphicsContext.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/platform/graphics/GraphicsLayer.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/platform/graphics/Image.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/platform/graphics/LoggingCanvas.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/platform/graphics/LoggingCanvas.h
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/platform/graphics/PaintGeneratedImage.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/platform/graphics/PaintRecordPattern.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/platform/graphics/PaintRecordPattern.h
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/platform/graphics/Pattern.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/platform/graphics/Pattern.h
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/platform/graphics/PlaceholderImage.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/platform/graphics/compositing/PaintChunksToCcLayer.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/platform/graphics/filters/SkiaImageFilterBuilder.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/platform/graphics/filters/SkiaImageFilterBuilder.h
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/platform/graphics/paint/DisplayItemList.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/platform/graphics/paint/DisplayItemListTest.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItem.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItem.h
[add] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItemTest.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/platform/graphics/paint/DrawingRecorder.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/platform/graphics/paint/DrawingRecorder.h
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/platform/graphics/paint/PaintArtifact.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/platform/graphics/paint/PaintController.h
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/platform/testing/TestPaintArtifact.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/web/LinkHighlightImpl.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/web/tests/scheduler/FrameThrottlingTest.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/web/tests/sim/SimDisplayItemList.cpp
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/Source/web/tests/sim/SimDisplayItemList.h
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/third_party/WebKit/public/platform/WebDisplayItemList.h
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/ui/compositor/paint_recorder.cc
[modify] https://crrev.com/29ef12086e6ac7eb83677e7730df00fda5c6af9b/ui/compositor/paint_recorder.h

Project Member

Comment 62 by bugdroid1@chromium.org, May 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4188df86ebb468a6723b1c5855c75be8e4ae91a3

commit 4188df86ebb468a6723b1c5855c75be8e4ae91a3
Author: danakj <danakj@chromium.org>
Date: Tue May 23 20:05:29 2017

Avoid quickReject() when rastering a cc::DrawingDisplayItem.

The Rtree should already have avoided any items which don't intersect
with what we want to raster.

There may be scenarios where rejecting from the cull rect produces
slightly better results because of rounding while constructing the
visual rect, but these are extreme corner cases along tile boundaries
and should be rare, and not worth the extra overhead for the common
case, as demonstrated by the perf results.

R=wkorman@chromium.org

Bug: 671433
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I1556d618fa2d276525787fb903bdfa2d5aba653d
Reviewed-on: https://chromium-review.googlesource.com/506519
Commit-Queue: danakj <danakj@chromium.org>
Reviewed-by: Khushal <khushalsagar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#474014}
[modify] https://crrev.com/4188df86ebb468a6723b1c5855c75be8e4ae91a3/cc/paint/display_item_list.cc

Project Member

Comment 63 by bugdroid1@chromium.org, May 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cfc477b43f1c91e84e17180ee937728d6f496aa6

commit cfc477b43f1c91e84e17180ee937728d6f496aa6
Author: danakj <danakj@chromium.org>
Date: Wed May 24 00:53:52 2017

Add PaintOpBuffer::PlaybackRanges() to play a set of ranges of ops.

Instead of painting the whole buffer, we want to specify ranges within
the buffer to be played back. This modifies the playback path to
support ranges, with the default playback to treat the whole buffer as
a single range, which gives the same behaviour as before.

R=enne@chromium.org
TBR=enne@chromium.org

Bug: 671433
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I7ec67e796a3072074a5d910fd800c84df83e6d4c
Reviewed-on: https://chromium-review.googlesource.com/507047
Reviewed-by: danakj <danakj@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Commit-Queue: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#474124}
[modify] https://crrev.com/cfc477b43f1c91e84e17180ee937728d6f496aa6/cc/paint/paint_op_buffer.cc
[modify] https://crrev.com/cfc477b43f1c91e84e17180ee937728d6f496aa6/cc/paint/paint_op_buffer.h
[modify] https://crrev.com/cfc477b43f1c91e84e17180ee937728d6f496aa6/cc/paint/paint_op_buffer_unittest.cc
[modify] https://crrev.com/cfc477b43f1c91e84e17180ee937728d6f496aa6/cc/test/test_skcanvas.cc
[modify] https://crrev.com/cfc477b43f1c91e84e17180ee937728d6f496aa6/cc/test/test_skcanvas.h

Project Member

Comment 64 by bugdroid1@chromium.org, Jun 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b8da9c95f075fcaf5cbe8e646d22a711f1ccac30

commit b8da9c95f075fcaf5cbe8e646d22a711f1ccac30
Author: danakj <danakj@chromium.org>
Date: Thu Jun 01 15:52:03 2017

cc: Use SaveLayerAlpha bounds when doing Save-Draw-Restore optimization

When a recording does SaveLayerAlpha followed by a single drawing op
and a Restore, we can optimize that as drawing the single op with a
modified alpha. When we can't do this optimization, we were sometimes
throwing away the bounds of the SaveLayerAlpha. This would make a
different set of calls for SaveLayerAlpha-Draw-Draw-Restore vs
SaveLayerAlpha-Draw-Restore, where the latter would not use the
bounds but the former would.

Because we were dropping bounds, we've accrued code that gave
incorrect bounds and relied on them being dropped. I've fixed that
in PaintGeneratedImage in this CL to give correct LayoutTest results.
This change is verified by layout tests such as
http/tests/csspaint/background-image-alpha.html
which would fail with this CL if we didn't make the change, as this
CL would cause us to clip things outside the incorrect bounds.

BUG=671433
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2914863003
Cr-Commit-Position: refs/heads/master@{#476303}

[modify] https://crrev.com/b8da9c95f075fcaf5cbe8e646d22a711f1ccac30/cc/paint/display_item_list.cc
[modify] https://crrev.com/b8da9c95f075fcaf5cbe8e646d22a711f1ccac30/cc/paint/paint_op_buffer.cc
[modify] https://crrev.com/b8da9c95f075fcaf5cbe8e646d22a711f1ccac30/cc/paint/paint_op_buffer.h
[modify] https://crrev.com/b8da9c95f075fcaf5cbe8e646d22a711f1ccac30/third_party/WebKit/Source/platform/graphics/PaintGeneratedImage.cpp

Project Member

Comment 65 by bugdroid1@chromium.org, Jun 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f4730d5033656a932a06a3d6465fd3be9591b9c3

commit f4730d5033656a932a06a3d6465fd3be9591b9c3
Author: danakj <danakj@chromium.org>
Date: Wed Jun 07 15:30:30 2017

cc: Make DisplayItemList hold a single PaintOpBuffer directly.

Instead of having a list of DisplayItems, some with PaintOpBuffers in
them, make a single PaintOpBuffer and all recording goes into that
directly, eliminating one level of abstractions.

The following optimizations had to move:
- TransformRecorder early outs if the transform is identity to avoid a
needless save/restore.

Notes:
- DisplayItem::DRAWING raster would save/restore for each DrawingDisplayItem
which is equivalent to doing so around each block of PaintOps now. However
the UI code is very good about doing save/restore as needed and it appears
these did not need to be moved anywhere to maintain correctness, so they will
just disappear from the UI raster path.
- However, DrawRecordOp was not doing save()/restore() which it should be
to avoid a nested PaintOpBuffer from polluting the state of the outer one.

R=vmpstr@chromium.org

Bug: 671433
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: Ie474ca2c548c7474fa10d4c8b02ed77e8fd9eaad
Reviewed-on: https://chromium-review.googlesource.com/506430
Reviewed-by: Philip Rogers <pdr@chromium.org>
Reviewed-by: Chris harrelson <chrishtr@chromium.org>
Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Commit-Queue: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#477658}
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/cc/base/math_util.h
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/cc/benchmarks/rasterize_and_record_benchmark.cc
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/cc/blink/web_display_item_list_impl.cc
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/cc/blink/web_display_item_list_impl.h
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/cc/layers/picture_image_layer.cc
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/cc/layers/picture_image_layer_unittest.cc
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/cc/layers/recording_source.cc
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/cc/paint/BUILD.gn
[delete] https://crrev.com/5ed7c435cc94143989628c73e04643d7caf20ea8/cc/paint/clip_display_item.cc
[delete] https://crrev.com/5ed7c435cc94143989628c73e04643d7caf20ea8/cc/paint/clip_display_item.h
[delete] https://crrev.com/5ed7c435cc94143989628c73e04643d7caf20ea8/cc/paint/clip_path_display_item.cc
[delete] https://crrev.com/5ed7c435cc94143989628c73e04643d7caf20ea8/cc/paint/clip_path_display_item.h
[delete] https://crrev.com/5ed7c435cc94143989628c73e04643d7caf20ea8/cc/paint/compositing_display_item.cc
[delete] https://crrev.com/5ed7c435cc94143989628c73e04643d7caf20ea8/cc/paint/compositing_display_item.h
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/cc/paint/discardable_image_map_unittest.cc
[delete] https://crrev.com/5ed7c435cc94143989628c73e04643d7caf20ea8/cc/paint/display_item.h
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/cc/paint/display_item_list.cc
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/cc/paint/display_item_list.h
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/cc/paint/display_item_list_unittest.cc
[delete] https://crrev.com/5ed7c435cc94143989628c73e04643d7caf20ea8/cc/paint/drawing_display_item.cc
[delete] https://crrev.com/5ed7c435cc94143989628c73e04643d7caf20ea8/cc/paint/drawing_display_item.h
[delete] https://crrev.com/5ed7c435cc94143989628c73e04643d7caf20ea8/cc/paint/filter_display_item.cc
[delete] https://crrev.com/5ed7c435cc94143989628c73e04643d7caf20ea8/cc/paint/filter_display_item.h
[delete] https://crrev.com/5ed7c435cc94143989628c73e04643d7caf20ea8/cc/paint/float_clip_display_item.cc
[delete] https://crrev.com/5ed7c435cc94143989628c73e04643d7caf20ea8/cc/paint/float_clip_display_item.h
[delete] https://crrev.com/5ed7c435cc94143989628c73e04643d7caf20ea8/cc/paint/largest_display_item.cc
[delete] https://crrev.com/5ed7c435cc94143989628c73e04643d7caf20ea8/cc/paint/largest_display_item.h
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/cc/paint/paint_canvas.h
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/cc/paint/paint_op_buffer.cc
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/cc/paint/paint_op_buffer.h
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/cc/paint/paint_op_buffer_unittest.cc
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/cc/paint/record_paint_canvas.cc
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/cc/paint/record_paint_canvas.h
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/cc/paint/skia_paint_canvas.cc
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/cc/paint/skia_paint_canvas.h
[delete] https://crrev.com/5ed7c435cc94143989628c73e04643d7caf20ea8/cc/paint/transform_display_item.cc
[delete] https://crrev.com/5ed7c435cc94143989628c73e04643d7caf20ea8/cc/paint/transform_display_item.h
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/cc/raster/raster_source.cc
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/cc/test/fake_content_layer_client.cc
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/cc/test/solid_color_content_layer_client.cc
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/cc/trees/layer_tree_host_pixeltest_masks.cc
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/cc/trees/layer_tree_host_pixeltest_tiles.cc
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/third_party/WebKit/Source/platform/graphics/compositing/PaintChunksToCcLayer.cpp
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/third_party/WebKit/Source/platform/graphics/paint/ClipPathDisplayItem.cpp
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/third_party/WebKit/Source/platform/graphics/paint/ClipPathDisplayItem.h
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/third_party/WebKit/Source/platform/graphics/paint/DisplayItem.h
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItem.cpp
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/third_party/WebKit/Source/platform/graphics/paint/DrawingDisplayItem.h
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/third_party/WebKit/Source/platform/graphics/paint/PaintArtifact.cpp
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/third_party/WebKit/Source/platform/graphics/paint/PaintArtifact.h
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/third_party/WebKit/Source/platform/testing/TestPaintArtifact.cpp
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/third_party/WebKit/public/platform/WebDisplayItemList.h
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/ui/compositor/clip_recorder.cc
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/ui/compositor/clip_recorder.h
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/ui/compositor/compositing_recorder.cc
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/ui/compositor/paint_cache.cc
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/ui/compositor/paint_cache.h
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/ui/compositor/paint_context.cc
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/ui/compositor/paint_context.h
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/ui/compositor/paint_recorder.cc
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/ui/compositor/paint_recorder.h
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/ui/compositor/transform_recorder.cc
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/ui/gfx/canvas.cc
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/ui/views/controls/button/label_button_border.cc
[modify] https://crrev.com/f4730d5033656a932a06a3d6465fd3be9591b9c3/ui/views/view_unittest.cc

Project Member

Comment 66 by bugdroid1@chromium.org, Jun 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/06b8d29e3ae50a72de17b67955de7a31aea73027

commit 06b8d29e3ae50a72de17b67955de7a31aea73027
Author: danakj <danakj@chromium.org>
Date: Mon Jun 12 22:07:40 2017

cc: Remove cc::ContiguousContainer.

Now that we have no DisplayItems and DisplayItemList is holding a
PaintOpBuffer, there are no consumers of cc::ContiguousContainer. The
PaintOpBuffer does a similar job for PaintOps. So we can remove this
class from the codebase.

R=weiliangc@chromium.org

Bug: 671433
Change-Id: Id11741b42bb0a75ab4a6c6db11779773741df2fd
Reviewed-on: https://chromium-review.googlesource.com/531669
Reviewed-by: Weiliang Chen <weiliangc@chromium.org>
Commit-Queue: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#478784}
[modify] https://crrev.com/06b8d29e3ae50a72de17b67955de7a31aea73027/cc/BUILD.gn
[modify] https://crrev.com/06b8d29e3ae50a72de17b67955de7a31aea73027/cc/base/BUILD.gn
[delete] https://crrev.com/7978ea6ffb6953be4dee38cc07f393b0c772497d/cc/base/contiguous_container.cc
[delete] https://crrev.com/7978ea6ffb6953be4dee38cc07f393b0c772497d/cc/base/contiguous_container.h
[delete] https://crrev.com/7978ea6ffb6953be4dee38cc07f393b0c772497d/cc/base/contiguous_container_unittest.cc

Project Member

Comment 67 by bugdroid1@chromium.org, Aug 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d4ecf8ef880f5210b565ec6b32201a4245d7fbf6

commit d4ecf8ef880f5210b565ec6b32201a4245d7fbf6
Author: Adrienne Walker <enne@chromium.org>
Date: Wed Aug 02 01:54:28 2017

cc: Hoist RasterSource's discard logic up a level

In order to more easily refactor RasterSource's preamble generation
(see https://chromium-review.googlesource.com/c/592237/) this moves
out code that isn't supported by PaintCanvas up to where there's
an SkCanvas.

The SkCanvas::discard logic only applies to gpu raster and so is
only replicated in the gpu raster buffer provider and not elsewhere.

Bug: 671433
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I0e006b78bb619b56e5db0a1d30c74e8de63547e1
Reviewed-on: https://chromium-review.googlesource.com/594661
Commit-Queue: enne <enne@chromium.org>
Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491202}
[modify] https://crrev.com/d4ecf8ef880f5210b565ec6b32201a4245d7fbf6/cc/raster/gpu_raster_buffer_provider.cc
[modify] https://crrev.com/d4ecf8ef880f5210b565ec6b32201a4245d7fbf6/cc/raster/raster_source.cc

Project Member

Comment 68 by bugdroid1@chromium.org, Aug 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3b15b1dff08fcf3c72dfa21c0b5addae99a22769

commit 3b15b1dff08fcf3c72dfa21c0b5addae99a22769
Author: Adrienne Walker <enne@chromium.org>
Date: Wed Aug 02 20:42:12 2017

Expose RasterSource preamble generation

This refactors RasterSource to make it possibly to reuse the preamble
of transform/clip/clearing that it does when moving raster to the
gpu process.  The followup to this patch will be to use this
preamble and send it as its own PaintOpBuffer ahead of the
PaintOpBuffer that gets rastered.

Bug: 671433
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ia2139f82ad0186df22afeb120fa8944625971ef9
Reviewed-on: https://chromium-review.googlesource.com/592237
Commit-Queue: enne <enne@chromium.org>
Reviewed-by: Khushal <khushalsagar@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491487}
[modify] https://crrev.com/3b15b1dff08fcf3c72dfa21c0b5addae99a22769/cc/raster/raster_source.cc
[modify] https://crrev.com/3b15b1dff08fcf3c72dfa21c0b5addae99a22769/cc/raster/raster_source.h

Project Member

Comment 69 by bugdroid1@chromium.org, Aug 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1ebac5b6ee0620c17f24b282b94e38057b66ce80

commit 1ebac5b6ee0620c17f24b282b94e38057b66ce80
Author: Adrienne Walker <enne@chromium.org>
Date: Fri Aug 04 22:32:55 2017

Add PaintOpBuffer::FlatteningIterator

This iterator takes a PaintOpBuffer and "flattens" any DrawRecordOps
inside of it, producing a stream of non-DrawRecordOps for another
consumer to use.

This isn't used anywhere yet, but will be used eventually for
serializing a PaintOpBuffer and sending it to the gpu process for
rasterization.  This patch just adds the iterator and tests it.

For ease of testing, POB iterators are all public with some
sternly worded comments about using offsets correctly with them.

Bug: 671433
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Idbecca42a0af27a4a9277e35ab8e5df605293591
Reviewed-on: https://chromium-review.googlesource.com/600822
Commit-Queue: enne <enne@chromium.org>
Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#492150}
[modify] https://crrev.com/1ebac5b6ee0620c17f24b282b94e38057b66ce80/cc/paint/paint_op_buffer.cc
[modify] https://crrev.com/1ebac5b6ee0620c17f24b282b94e38057b66ce80/cc/paint/paint_op_buffer.h
[modify] https://crrev.com/1ebac5b6ee0620c17f24b282b94e38057b66ce80/cc/paint/paint_op_buffer_unittest.cc

Project Member

Comment 70 by bugdroid1@chromium.org, Aug 8 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e2c118d19fbf7ce3c966f5330d0f12a19f6be501

commit e2c118d19fbf7ce3c966f5330d0f12a19f6be501
Author: Adrienne Walker <enne@chromium.org>
Date: Tue Aug 08 02:34:45 2017

Add ability to shrink TransferBuffer allocations

This patch adds functionality to RingBuffer and TransferBuffer to shrink
the last allocated block.

As a part of serializing PaintOpBuffers and doing raster in the gpu
process, it's not known ahead of time how big the resulting
serialization is going to be in memory.  It's more convenient to be able
to ask for whatever's free, serialize what it can, and shrink it if it
didn't need to use all of it.

Bug: 671433
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: Iae1f36fb93fea1a29126123a16ca95e768b61d6d
Reviewed-on: https://chromium-review.googlesource.com/602592
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: John Bauman <jbauman@chromium.org>
Commit-Queue: enne <enne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#492510}
[modify] https://crrev.com/e2c118d19fbf7ce3c966f5330d0f12a19f6be501/gpu/command_buffer/client/gles2_implementation_unittest.cc
[modify] https://crrev.com/e2c118d19fbf7ce3c966f5330d0f12a19f6be501/gpu/command_buffer/client/ring_buffer.cc
[modify] https://crrev.com/e2c118d19fbf7ce3c966f5330d0f12a19f6be501/gpu/command_buffer/client/ring_buffer.h
[modify] https://crrev.com/e2c118d19fbf7ce3c966f5330d0f12a19f6be501/gpu/command_buffer/client/transfer_buffer.cc
[modify] https://crrev.com/e2c118d19fbf7ce3c966f5330d0f12a19f6be501/gpu/command_buffer/client/transfer_buffer.h
[modify] https://crrev.com/e2c118d19fbf7ce3c966f5330d0f12a19f6be501/gpu/command_buffer/client/transfer_buffer_unittest.cc

Project Member

Comment 71 by bugdroid1@chromium.org, Aug 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6f98d628c0d86ba56724335f9e3a5120e3493257

commit 6f98d628c0d86ba56724335f9e3a5120e3493257
Author: Adrienne Walker <enne@chromium.org>
Date: Tue Aug 15 22:57:05 2017

Make PaintOpBuffer deserialize volatile buffers

Because the memory this is deserializing from is going to be shared
memory, make the pointers volatile so that the compiler doesn't
optimize incorrectly.

Bug: 671433
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ia41fc32d2eb34d1f4c359d97eaeb75cb2346c01b
Reviewed-on: https://chromium-review.googlesource.com/611146
Commit-Queue: enne <enne@chromium.org>
Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494587}
[modify] https://crrev.com/6f98d628c0d86ba56724335f9e3a5120e3493257/cc/paint/paint_op_buffer.cc
[modify] https://crrev.com/6f98d628c0d86ba56724335f9e3a5120e3493257/cc/paint/paint_op_buffer.h
[modify] https://crrev.com/6f98d628c0d86ba56724335f9e3a5120e3493257/cc/paint/paint_op_reader.cc
[modify] https://crrev.com/6f98d628c0d86ba56724335f9e3a5120e3493257/cc/paint/paint_op_reader.h

Project Member

Comment 72 by bugdroid1@chromium.org, Aug 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/eadcd54508d72b97d9b3a6fd2d1beb4e0dd8ae5e

commit eadcd54508d72b97d9b3a6fd2d1beb4e0dd8ae5e
Author: Adrienne Walker <enne@chromium.org>
Date: Wed Aug 16 00:26:33 2017

Fix PaintOp TOCTOU issues by returning read bytes

Most deserializing code reads the skip and then the PaintOp::Deserialize
code then reads the skip and the type.  This is reading the same bits
of memory twice.  To fix this, have PaintOp::Deserialize return the
skip after it has read it.

Bug: 671433
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Id50da0bdeb62a15cbdd76b27169149fd611c66a6
Reviewed-on: https://chromium-review.googlesource.com/612497
Commit-Queue: enne <enne@chromium.org>
Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494629}
[modify] https://crrev.com/eadcd54508d72b97d9b3a6fd2d1beb4e0dd8ae5e/cc/paint/paint_op_buffer.cc
[modify] https://crrev.com/eadcd54508d72b97d9b3a6fd2d1beb4e0dd8ae5e/cc/paint/paint_op_buffer.h
[modify] https://crrev.com/eadcd54508d72b97d9b3a6fd2d1beb4e0dd8ae5e/cc/paint/paint_op_buffer_fuzzer.cc
[modify] https://crrev.com/eadcd54508d72b97d9b3a6fd2d1beb4e0dd8ae5e/cc/paint/paint_op_buffer_unittest.cc

Project Member

Comment 73 by bugdroid1@chromium.org, Aug 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/db2eaf9b44bb2bee78cde58358ff9edcd14c34dd

commit db2eaf9b44bb2bee78cde58358ff9edcd14c34dd
Author: Adrienne Walker <enne@chromium.org>
Date: Thu Aug 24 00:03:03 2017

Revert "Expose RasterSource preamble generation"

This partially reverts commit 3b15b1dff08fcf3c72dfa21c0b5addae99a22769.
See: https://chromium-review.googlesource.com/c/chromium/src/+/592237

It keeps some of the function name cleanup and some of the logic changes
(like not using the complicated clear function for flattening), but
removes the use of PaintCanvas inside of RasterSource.

I believed this was needed previously to replicate the same clearing
logic for oop raster, but oop raster needs its own heavy-handed clearing
logic so it's not worth exposing a function and wrapping a canvas just
to share a clip/translate/scale with oop raster.

This will be followed up by removing clipDeviceRect as well.

Bug: 671433
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: If2ea7bb812ccd5a229b32cb57ce495e87222ddd3
Reviewed-on: https://chromium-review.googlesource.com/629976
Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
Commit-Queue: enne <enne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#496877}
[modify] https://crrev.com/db2eaf9b44bb2bee78cde58358ff9edcd14c34dd/cc/raster/raster_source.cc
[modify] https://crrev.com/db2eaf9b44bb2bee78cde58358ff9edcd14c34dd/cc/raster/raster_source.h

Project Member

Comment 74 by bugdroid1@chromium.org, Aug 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3fe8d221c84574b2ca34541384795356093da485

commit 3fe8d221c84574b2ca34541384795356093da485
Author: Adrienne Walker <enne@chromium.org>
Date: Thu Aug 24 03:24:48 2017

Revert "cc: Add PaintCanvas::clipDeviceRect"

This is a follow up to the cleanup from:
https://chromium-review.googlesource.com/c/chromium/src/+/629976

It was thought that this was needed for oop rasterization, but it turns
out not to be true.

Bug: 671433
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ic5cb4dc905d82fa513cdd33dcc1ca40585c34e40
Reviewed-on: https://chromium-review.googlesource.com/629965
Reviewed-by: Philip Rogers <pdr@chromium.org>
Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
Commit-Queue: enne <enne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#496938}
[modify] https://crrev.com/3fe8d221c84574b2ca34541384795356093da485/cc/paint/paint_canvas.h
[modify] https://crrev.com/3fe8d221c84574b2ca34541384795356093da485/cc/paint/paint_op_buffer.cc
[modify] https://crrev.com/3fe8d221c84574b2ca34541384795356093da485/cc/paint/paint_op_buffer.h
[modify] https://crrev.com/3fe8d221c84574b2ca34541384795356093da485/cc/paint/paint_op_buffer_unittest.cc
[modify] https://crrev.com/3fe8d221c84574b2ca34541384795356093da485/cc/paint/record_paint_canvas.cc
[modify] https://crrev.com/3fe8d221c84574b2ca34541384795356093da485/cc/paint/record_paint_canvas.h
[modify] https://crrev.com/3fe8d221c84574b2ca34541384795356093da485/cc/paint/skia_paint_canvas.cc
[modify] https://crrev.com/3fe8d221c84574b2ca34541384795356093da485/cc/paint/skia_paint_canvas.h
[modify] https://crrev.com/3fe8d221c84574b2ca34541384795356093da485/cc/paint/solid_color_analyzer.cc
[modify] https://crrev.com/3fe8d221c84574b2ca34541384795356093da485/cc/paint/solid_color_analyzer_unittest.cc
[modify] https://crrev.com/3fe8d221c84574b2ca34541384795356093da485/third_party/WebKit/Source/platform/graphics/test/MockPaintCanvas.h

Status: WontFix (was: Available)
Obsolete.

Sign in to add a comment