New issue
Advanced search Search tips

Issue 613707 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner:
Closed: Aug 21
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

Mash keeps user wallpapers (unnecessarily?) cached in chrome.

Project Member Reported by msw@chromium.org, May 20 2016

Issue description

Mash keeps user wallpapers (unnecessarily?) cached in chrome.

See my change to support wallpapers in Mash:
https://codereview.chromium.org/1984433002/

The preexisting |WallpaperManagerBase::wallpaper_cache_| now keeps a potentially unncessary copy of the wallpaper bitmap in Chrome, since the bitmap is now sent to ash_sysui for rendering in Mash. Previously, the same bitmap data would presumably be used to back these two ImageSkia objects, with Chrome and Ash within the same process.

I'm not sure how easy it'll be to remove the cached image data; nor how that interplays with the login screen's fast switching of wallpapers, or the multi-user simultaneous login cases.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jun 3 2016

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

commit 4d780247a697f62d0e27a6eb5dfb309807f40881
Author: msw <msw@chromium.org>
Date: Fri Jun 03 17:19:37 2016

Hook up Chrome's wallpaper picker for mash.

Add wallpaper.mojom for ash_sysui<->chrome interaction.
Implement WallpaperController in ash_sysui UserWallpaperDelegateMus.
Implement minimal new ChromeWallpaperHelper in chrome.
(lets chrome set mash wallpaper, mash trigger chrome wallpaper picker)

Add SetWallpaper helper for WallpaperManager to work in mash too.
Remove sysui_application.cc debug wallpaper initialization.
Bail early on WindowStateManager::[Minimize|Restore]InactiveWindows.
Workaround DesktopBackgroundController shell usage.

TODO: Fix picker regression from codereview.chromium.org/2009853002
TODO: Fix wallpaper_manager.cc's other Shell::GetInstance uses.
TODO: Fix DesktopBackgroundController display size checks in Mash.
TODO: Implement window hide/restore for wallpaper picker.
TODO: Implement missing UserWallpaperDelegateMus functionality.

BUG= 557405 , 613657 , 613707 
TEST=Chrome OS wallpaper works with or without --mash flag; right click mash desktop -> "Set wallpaper..." works.
R=jamescook@chromium.org,sky@chromium.org,dcheng@chromium.org

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

[modify] https://crrev.com/4d780247a697f62d0e27a6eb5dfb309807f40881/ash/desktop_background/desktop_background_controller.cc
[modify] https://crrev.com/4d780247a697f62d0e27a6eb5dfb309807f40881/ash/sysui/BUILD.gn
[modify] https://crrev.com/4d780247a697f62d0e27a6eb5dfb309807f40881/ash/sysui/DEPS
[modify] https://crrev.com/4d780247a697f62d0e27a6eb5dfb309807f40881/ash/sysui/manifest.json
[add] https://crrev.com/4d780247a697f62d0e27a6eb5dfb309807f40881/ash/sysui/public/interfaces/BUILD.gn
[add] https://crrev.com/4d780247a697f62d0e27a6eb5dfb309807f40881/ash/sysui/public/interfaces/OWNERS
[add] https://crrev.com/4d780247a697f62d0e27a6eb5dfb309807f40881/ash/sysui/public/interfaces/wallpaper.mojom
[modify] https://crrev.com/4d780247a697f62d0e27a6eb5dfb309807f40881/ash/sysui/shelf_delegate_mus.cc
[modify] https://crrev.com/4d780247a697f62d0e27a6eb5dfb309807f40881/ash/sysui/shelf_delegate_mus.h
[modify] https://crrev.com/4d780247a697f62d0e27a6eb5dfb309807f40881/ash/sysui/shell_delegate_mus.cc
[modify] https://crrev.com/4d780247a697f62d0e27a6eb5dfb309807f40881/ash/sysui/sysui_application.cc
[modify] https://crrev.com/4d780247a697f62d0e27a6eb5dfb309807f40881/ash/sysui/sysui_application.h
[add] https://crrev.com/4d780247a697f62d0e27a6eb5dfb309807f40881/ash/sysui/user_wallpaper_delegate_mus.cc
[add] https://crrev.com/4d780247a697f62d0e27a6eb5dfb309807f40881/ash/sysui/user_wallpaper_delegate_mus.h
[modify] https://crrev.com/4d780247a697f62d0e27a6eb5dfb309807f40881/chrome/app/mojo/chrome_manifest.json
[modify] https://crrev.com/4d780247a697f62d0e27a6eb5dfb309807f40881/chrome/browser/chromeos/BUILD.gn
[modify] https://crrev.com/4d780247a697f62d0e27a6eb5dfb309807f40881/chrome/browser/chromeos/chrome_interface_factory.cc
[modify] https://crrev.com/4d780247a697f62d0e27a6eb5dfb309807f40881/chrome/browser/chromeos/chrome_interface_factory.h
[modify] https://crrev.com/4d780247a697f62d0e27a6eb5dfb309807f40881/chrome/browser/chromeos/extensions/wallpaper_private_api.cc
[modify] https://crrev.com/4d780247a697f62d0e27a6eb5dfb309807f40881/chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.cc
[modify] https://crrev.com/4d780247a697f62d0e27a6eb5dfb309807f40881/chrome/browser/ui/BUILD.gn
[modify] https://crrev.com/4d780247a697f62d0e27a6eb5dfb309807f40881/chrome/browser/ui/ash/DEPS
[add] https://crrev.com/4d780247a697f62d0e27a6eb5dfb309807f40881/chrome/browser/ui/ash/chrome_wallpaper_manager.cc
[add] https://crrev.com/4d780247a697f62d0e27a6eb5dfb309807f40881/chrome/browser/ui/ash/chrome_wallpaper_manager.h

Cc: x...@chromium.org
Owner: msw@chromium.org
Status: Assigned (was: Untriaged)
Labels: -mustash -mash Proj-Mash
Status: WontFix (was: Assigned)
I think this is obsolete with the WallpaperController[Client] Mojo work. 

Sign in to add a comment