diff -up chromium-66.0.3359.117/cc/raster/playback_image_provider.cc.copycon chromium-66.0.3359.117/cc/raster/playback_image_provider.cc --- chromium-66.0.3359.117/cc/raster/playback_image_provider.cc.copycon 2018-04-23 13:22:43.109126071 -0400 +++ chromium-66.0.3359.117/cc/raster/playback_image_provider.cc 2018-04-23 13:23:55.761704938 -0400 @@ -20,7 +20,7 @@ void UnrefImageFromCache(DrawImage draw_ PlaybackImageProvider::PlaybackImageProvider( ImageDecodeCache* cache, const gfx::ColorSpace& target_color_space, - base::Optional settings) + base::Optional&& settings) : cache_(cache), target_color_space_(target_color_space), settings_(std::move(settings)) { @@ -70,7 +70,10 @@ PlaybackImageProvider::GetDecodedDrawIma } PlaybackImageProvider::Settings::Settings() = default; -PlaybackImageProvider::Settings::Settings(const Settings& other) = default; +PlaybackImageProvider::Settings::Settings(PlaybackImageProvider::Settings&&) = + default; PlaybackImageProvider::Settings::~Settings() = default; +PlaybackImageProvider::Settings& PlaybackImageProvider::Settings::operator=( + PlaybackImageProvider::Settings&&) = default; } // namespace cc diff -up chromium-66.0.3359.117/cc/raster/playback_image_provider.h.copycon chromium-66.0.3359.117/cc/raster/playback_image_provider.h --- chromium-66.0.3359.117/cc/raster/playback_image_provider.h.copycon 2018-04-23 13:24:07.699471148 -0400 +++ chromium-66.0.3359.117/cc/raster/playback_image_provider.h 2018-04-23 13:24:57.080506348 -0400 @@ -20,8 +20,10 @@ class CC_EXPORT PlaybackImageProvider : public: struct CC_EXPORT Settings { Settings(); - Settings(const Settings& other); + Settings(const Settings&) = delete; + Settings(Settings&&); ~Settings(); + Settings& operator=(Settings&&); // The set of image ids to skip during raster. PaintImageIdFlatSet images_to_skip; @@ -34,7 +36,7 @@ class CC_EXPORT PlaybackImageProvider : // If no settings are provided, all images are skipped during rasterization. PlaybackImageProvider(ImageDecodeCache* cache, const gfx::ColorSpace& target_color_space, - base::Optional settings); + base::Optional&& settings); ~PlaybackImageProvider() override; PlaybackImageProvider(PlaybackImageProvider&& other); diff -up chromium-66.0.3359.117/cc/raster/playback_image_provider_unittest.cc.copycon chromium-66.0.3359.117/cc/raster/playback_image_provider_unittest.cc