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

Issue 118420: Adds kind-of-live thumbnail generation for a potential tab switcher. This... (Closed)

Created:
11 years, 6 months ago by brettw
Modified:
9 years, 7 months ago
Reviewers:
DaveMoore, sky
CC:
chromium-reviews_googlegroups.com
Visibility:
Public.

Description

Adds kind-of-live thumbnail generation for a potential tab switcher. This listens to tab events and tries to keep thumbnails ready to go. See thumbnail_generator.cc for a more detailed design. This adds a painting observer to the RenderWidgetHost to enable this new behavior, as well as a notification to allow the thumbnail generator to hook its observer in. There is also a new notification that a backing store has been disabled, which required making the backing stores know about their owning widget hosts. This component is currently disabled. We just need to uncomment the member in Profile and it will start to work.

Patch Set 1 #

Patch Set 2 : '' #

Total comments: 12

Patch Set 3 : '' #

Patch Set 4 : '' #

Patch Set 5 : '' #

Patch Set 6 : '' #

Patch Set 7 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+3698 lines, -2968 lines) Patch
M chrome/browser/browser.vcproj View 1 2 3 4 5 1 chunk +2842 lines, -2834 lines 0 comments Download
M chrome/browser/browser_process_impl.h View 2 3 4 5 2 chunks +11 lines, -0 lines 0 comments Download
M chrome/browser/profile.cc View 1 2 3 4 5 2 chunks +1 line, -1 line 0 comments Download
M chrome/browser/renderer_host/backing_store.h View 1 2 3 4 5 6 3 chunks +17 lines, -13 lines 0 comments Download
M chrome/browser/renderer_host/backing_store_manager.h View 1 2 3 4 5 1 chunk +5 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/backing_store_manager.cc View 1 2 3 4 5 4 chunks +42 lines, -9 lines 0 comments Download
M chrome/browser/renderer_host/backing_store_win.cc View 1 2 3 4 5 1 chunk +3 lines, -2 lines 0 comments Download
M chrome/browser/renderer_host/backing_store_x.cc View 1 2 3 4 5 6 1 chunk +18 lines, -20 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host.h View 1 2 3 4 5 5 chunks +30 lines, -3 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host.cc View 1 2 3 4 5 9 chunks +31 lines, -4 lines 0 comments Download
A chrome/browser/renderer_host/render_widget_host_painting_observer.h View 1 chunk +24 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host_unittest.cc View 1 2 3 4 5 7 chunks +6 lines, -10 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host_view_gtk.h View 1 2 3 4 5 2 chunks +33 lines, -31 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host_view_gtk.cc View 1 2 3 4 5 6 1 chunk +8 lines, -14 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host_view_mac.mm View 1 2 3 4 5 4 chunks +4 lines, -4 lines 0 comments Download
M chrome/browser/renderer_host/render_widget_host_view_win.cc View 1 2 3 4 5 2 chunks +2 lines, -2 lines 0 comments Download
M chrome/browser/renderer_host/test_render_view_host.h View 1 2 3 4 5 2 chunks +2 lines, -1 line 0 comments Download
M chrome/browser/renderer_host/test_render_view_host.cc View 1 2 3 4 5 2 chunks +7 lines, -2 lines 0 comments Download
M chrome/browser/tab_contents/render_view_host_manager.cc View 1 2 3 4 5 2 chunks +8 lines, -0 lines 0 comments Download
A chrome/browser/tab_contents/thumbnail_generator.h View 2 1 chunk +75 lines, -0 lines 0 comments Download
A chrome/browser/tab_contents/thumbnail_generator.cc View 2 1 chunk +318 lines, -0 lines 0 comments Download
A chrome/browser/tab_contents/thumbnail_generator_unittest.cc View 2 3 4 5 6 1 chunk +168 lines, -0 lines 0 comments Download
M chrome/chrome.gyp View 2 3 4 5 6 5 chunks +6 lines, -0 lines 0 comments Download
M chrome/common/notification_type.h View 1 2 3 4 5 2 chunks +10 lines, -0 lines 0 comments Download
M chrome/common/property_bag.h View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M chrome/common/transport_dib.h View 1 2 3 4 5 2 chunks +6 lines, -0 lines 0 comments Download
M chrome/common/transport_dib_linux.cc View 1 2 3 4 5 1 chunk +5 lines, -0 lines 0 comments Download
M chrome/common/transport_dib_mac.cc View 1 2 3 4 5 1 chunk +5 lines, -0 lines 0 comments Download
M chrome/common/transport_dib_win.cc View 1 2 3 4 5 1 chunk +4 lines, -0 lines 0 comments Download
M chrome/renderer/render_process.cc View 1 2 3 4 5 2 chunks +1 line, -16 lines 0 comments Download
M chrome/test/unit/unittests.vcproj View 1 2 3 4 5 1 chunk +4 lines, -0 lines 0 comments Download
M skia/ext/platform_device_win.h View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 2 (0 generated)
brettw
Scott & Dave: whoever is lucky enough to be working on the switcher is unlucky ...
11 years, 6 months ago (2009-06-09 04:49:47 UTC) #1
sky
11 years, 6 months ago (2009-06-09 16:51:53 UTC) #2
LGTM with the following minor changes.

http://codereview.chromium.org/118420/diff/41/1066
File chrome/browser/browser_process_impl.h (right):

http://codereview.chromium.org/118420/diff/41/1066#newcode274
Line 274: #if 0
#if defined(LINUX2)

http://codereview.chromium.org/118420/diff/41/1042
File chrome/browser/profile.cc (right):

http://codereview.chromium.org/118420/diff/41/1042#newcode32
Line 32: #include "chrome/browser/tab_contents/thumbnail_generator.h"
Is this include needed here?

http://codereview.chromium.org/118420/diff/41/1050
File chrome/browser/renderer_host/backing_store.h (right):

http://codereview.chromium.org/118420/diff/41/1050#newcode33
Line 33: explicit BackingStore(RenderWidgetHost* widget, const gfx::Size& size);
nit: nuke explicit

http://codereview.chromium.org/118420/diff/41/1050#newcode41
Line 41: explicit BackingStore(RenderWidgetHost* widget, const gfx::Size& size);
nit: nuke explicit

http://codereview.chromium.org/118420/diff/41/1054
File chrome/browser/renderer_host/test_render_view_host.h (right):

http://codereview.chromium.org/118420/diff/41/1054#newcode41
Line 41: TestRenderWidgetHostView(RenderWidgetHost* rwh);
nit: explicit

http://codereview.chromium.org/118420/diff/41/1068
File chrome/browser/tab_contents/thumbnail_generator.cc (right):

http://codereview.chromium.org/118420/diff/41/1068#newcode25
Line 25: // A complication happens because we don't always have lice backing
stores for
lice -> nice

http://codereview.chromium.org/118420/diff/41/1068#newcode36
Line 36: // if the backing store is still valid. THis means we'll have to do a
maximum
TH -> Th

http://codereview.chromium.org/118420/diff/41/1068#newcode54
Line 54: // of backing stores created and destroyed. WE don't want to interfere
with
WE -> We

http://codereview.chromium.org/118420/diff/41/1068#newcode126
Line 126: #endif
NOTIMPLEMENTED for #else?

http://codereview.chromium.org/118420/diff/41/1068#newcode154
Line 154: // valid when the used to be a backing store, but there isn't now.
the -> there?

http://codereview.chromium.org/118420/diff/41/1069
File chrome/browser/tab_contents/thumbnail_generator.h (right):

http://codereview.chromium.org/118420/diff/41/1069#newcode17
Line 17: class ThumbnailGenerator : public RenderWidgetHostPaintingObserver,
I think it's worth adding a comment here that this class MUST be destroyed after
all RWHs.

http://codereview.chromium.org/118420/diff/41/1069#newcode62
Line 62: // A lot of all RWHs that have been shown and need to have their
thumbnail
lot -> list

Powered by Google App Engine
This is Rietveld 408576698